网易首页 > 网易号 > 正文 申请入驻

如何保证汽车信息安全?还得从代码静态测试说起

0
分享至

背景介绍
智能化是当代汽车发展的必然趋势,为了增加乘用舒适性,现代汽车将车联网与智能车有机联合,搭载先进的车载传感器,控制器,执行器等,并融合现代通信网络技术,实现车与人、车、路等智能信息的交换共享,V2X从此走进大众视野,开拓智能汽车的网联时代。
但,发展亦为挑战,面对日益增多的ECU,日趋庞大的车载代码,如何保证汽车应用信息安全?怎样才能不给黑客们可乘之机?这是一个严肃的议题,开发人员必须借助相关工具确保嵌入式代码的安全性,否则如下案例便是前车之鉴:
2013年,黑客通过Uconnect软件入侵数十万辆Fiat Chrysler,Fiat Chrysler最终在美国召回了140万辆汽车;
2015年,两名信息安全研究人员成功地在10英里外远程夺取了一辆Jeep Cherokee的控制权;
在刚刚过去的2018年,黑客盗取特斯拉与地图、遥测和车辆服务有关的专有数据,并利用特斯拉公共云入侵计算机系统植入挖矿运算程序。
据Upstream公司统计显示,从2010年到2018年,黑客针对智能汽车的攻击数量激增了6倍,“每一项连接到车上的新服务都为黑客提供了新的入侵途径”。
另据Juniper Research预测,2019年拥有V2V功能的车辆总数逾110万辆,在未来四年内,其年复合增长率高达173%。到2023年,联网汽车数量将达到7.75亿辆,而无钥匙进入、娱乐系统、远程控制单元和连接智能手机等功能将会在更多的车型上配备。

所以,软件信息安全是现在及未来开发过程中的一大焦点。尽管软件工程师会设计诸如数据加密、身份验证协议等来减轻漏洞,但即便如此,软件也有可能存在隐患。为了保证软件安全,您需要从源码级别做起。
据软件工程研究所(Software Engineering Institute ,SEI卡内基梅隆大学研发中心,主要由美国国防部和国土安全部提供资金)估计,高达90%的安全事故都是由于黑客攻击了软件代码或者设计漏洞,黑客利用这些漏洞窃取私人数据,未经授权夺取系统控制权。
为了描述这是如何发生的,让我们举一个例子:C语言缓冲区溢出

C语言缓冲区溢出
什么是缓冲区溢出

当数据超出了既定内存的边界,就会发生溢出错误,比如:
char buff[10];
buff[10] = ‘a’;
这个例子中,声明了一个10字节的数组,但是程序想要索引第11个字节,超出已定义数组一个字节,如果邻近这一数组的内存区要在之后的程序里被占用,那么这种定义会导致不可预知的行为。
分布式网络缓冲区溢出如何吸引黑客
当一个程序运行时,它使用一个叫做“堆栈”的内存区域。当前执行函数作用域内的变量将存储在堆栈中。函数调用的地址也将被存储,以允许return语句返回到正确的位置。当函数返回给调用函数时,程序从它停止的地方继续执行。
因此,如果堆栈上的返回地址被修改为指向其他恶意指令,那么这些指令将在函数返回时执行。如果程序在接收数据(没有进行检查以确保输入缓冲区不会溢出),黑客就有可能设计一个包含恶意代码的输入或“有效负载”。这会使缓冲区溢出,并用恶意代码的地址覆盖堆栈上的返回地址。
所以,黑客可以利用缓冲区错误摧毁一个程序,篡改数据或者盗取信息。
预防安全漏洞至关重要
预防安全漏洞(如缓冲区溢出)至关重要并且是可以实现的,那就是确保代码本身的编写没有可利用的漏洞。英文有句俗’Putting stronger locks on your front door is no use if the windows are left open.’密码访问可以在一定程度上阻止黑客的攻击,但源码的安全才是最根本的保障。
如何保证C代码的网络信息安全
当聊到C的网络信息安全,我们首先会考虑以下3种编码规范:
CERT C
CERT 编码规范由软件工程研究所SEI 的CERT部门发布,它包含了编码和执行错误,还有低级的设计错误,旨在清除代码中可能导致网络安全的编码惯例以及未定义的行为。
CERT C每条规范包含:
• 标题
• 描述
• 不合规代码举例
• 合规代码解决方案举例
• 例外情形
CERT C这样定义漏洞:允许攻击者违反显式或隐式安全政策的一系列情况。缺陷可能很小,甚至可能都不影响软件的性能或者运行结果。然而它会在遭遇攻击的时候暴露问题,导致严重的安全后果。
Common Weakness Enumeration
CWE(Common Weakness Enumeration)是从架构、设计、乃至编码层面描述代码中常见的网络安全问题。由美国MITRE公司发起。CWE可以作为识别、减少、预防漏洞的基线。
CWE按优先级排列漏洞列表。优先级最高的25个条目来自二十多个不同组织的统计数据,他们基于使用频率和重要性评估了每个C代码缺陷,很多CWE列表中的缺陷都和缓冲溢出相关。我们的设计人员、编程者、测试者可以通过遵循CWE来消除典型错误,在编码阶段清除漏洞。
(ps: CERT及最新发布的CWE都包含针对C++的信息安全规范,在此不做详述)
MISRA C
MISRA编码规范由汽车工业软件可靠性协会发布,可以用来防止会导致安全问题和安全漏洞的错误编码,为安全相关系统的开发提供了最好的实践指导,可以说MISRA 是嵌入式系统最为理想的编码规范。目前应用最为广泛的MISRA C:2012 Amendment 1发布于2016年,它新增了C编码的安全指导,包括新的规则和指令,也包含了合规代码和不合规代码的举例说明。
既然以上三种编码规范都可以应用于C代码信息安全测试,那它们之间又有什么关联?还是举个栗子:
MISRA C 2012 Rule 18.1
“A pointer resulting from arithmetic on a pointer operand shall address an element of the same array as that pointer operand”
这条规则与CERT ARR30-C做的是同样的事情
CERT ARR30-C
“Do not form or use out-of-bounds pointers or array subscripts.”
而这两条规则都与CWE C的多个典型安全漏洞相关,比如:
CWE-119
“Improper Restriction of Operations within the Bounds of a Memory Buffer.”
也就是软件对内存缓冲区执行操作,但是它可以从缓冲区的预期边界之外的内存位置进行读写操作。
需要注意的是CERT C 是基于C11设计的,MISRA C 2012是基于C99设计的,MISRA C 2012-Addendum 3专门阐述了两者之间规则的异同点,具体数据如下图:

以上数据汇总了CERT C和MISRA C 2012的规则覆盖情况,并根据规则覆盖强度分为:
• Strong:由CERT C规则处理的代码行为被一个或多个MISRA C2012规则覆盖
• Weak:由CERT C规则处理的代码行为仅被一个或多个MISRA C2012指令/Rule1.3覆盖
• None:独立于MISRA C 2012的CERT C规则

虽然MISRA C 2012对CERT C的覆盖达到了60%以上,但两者依据的C标准不同,且存在19%的差异,所以,各位大咖还要按需遵循。为此,Perforce(PRQA)公司建议了以下测试方案。
代码信息安全静态测试解决方案
结合工程实际,我们需要选择性遵循相关编码规范:
• 如果开发代码为C,并且要求综合全面的信息安全规则覆盖度,那么您需要同时执行MISRA C 2012(incl. Amendment 1)和CERT C
• 如果开发代码为C++且基于AUTOSAR架构,建议您全面执行AUTOSAR Coding Guidelines
• 如果您使用C++开发且要求遵循MISRA C++ 2008,那么建议您同时执行CERT C++,以保证所开发车辆的信息安全
以上静态测试方案的高效执行,还需借助强有力的静态代码分析器,才能避免CWE中的典型安全漏洞。作为代码静态测试领域的领跑者,Perforce(PRQA)公司的Helix QAC无疑是各大厂商的第一选择。它可以自动执行MISRA、CERT、CWE、AUTOSAR Coding Guidelines等编码规范,拥有超过1600条诊断消息,每一条诊断消息都对应着一种违反规定的语言使用,并且提供详细的指标度量,以及可视化报表,量化代码质量,帮助测试人员深入了解数据流和控制流,大大提高静态测试效率,确保代码的信息安全。
北汇信息作为Perforce(PRQA)公司的合作伙伴,将为客户提供专业的静态代码测试工具和服务。
Perforce公司简介
Perforce(PRQA)公司是AUTOSAR组织在代码静态分析领域的唯一会员,负责功能安全软件架构的相关标准制定工作,参与编写了C++14编码指南,制定了AUTOSAR测试方案,并应用其开发的静态测试工具Helix QAC在AUTOSAR Adaptive Platform演示代码上执行代码静态测试。
Helix QAC作为代码静态分析领域的先驱,不仅仅提供针对AUTOSAR C++的诊断,还支持MISRA C/C++、HICPP、JSF AV C++、CERT、CWE编码规范包,其精准的诊断消息和强大的软件生命周期管理平台为全球3000多个整车厂和零部件供应商所信赖。
参考文献
[1] MISRA C:2012 – Addendum 3 Coverage of MISRA C:2012 (including Amendment 1) against CERT C 2016 Edition.
[2]《当黑客盯上智能汽车》-汽车商业评论
[3] How to write Secure C code. -Perforce
————————————————

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
风情女人江珊:四度爱上硬汉,和靳东意难平,现和新丈夫快乐相伴

风情女人江珊:四度爱上硬汉,和靳东意难平,现和新丈夫快乐相伴

飘飘然的娱乐汇
2026-05-18 19:55:03
赶在普京抵京前,李显龙访华5天,罕见不去北京,但意图非常明确

赶在普京抵京前,李显龙访华5天,罕见不去北京,但意图非常明确

古史青云啊
2026-05-19 11:32:55
同事儿子高二时抑郁闹自杀,他说:你要真不想活,你管死,我管埋

同事儿子高二时抑郁闹自杀,他说:你要真不想活,你管死,我管埋

林林总总Z
2026-05-18 04:27:28
消息人士:马雷斯卡赢得世俱杯后未涨薪,蓝军总监们却涨薪了

消息人士:马雷斯卡赢得世俱杯后未涨薪,蓝军总监们却涨薪了

懂球帝
2026-05-19 12:29:05
2026年第一个官宣涨工资的省份来了,退休人员养老金也会涨吗?

2026年第一个官宣涨工资的省份来了,退休人员养老金也会涨吗?

小彬说事
2026-05-19 10:33:17
印度专家:中国人正被洗脑,还以为他们国家很强大,太天真了!

印度专家:中国人正被洗脑,还以为他们国家很强大,太天真了!

把喜欢都给他
2026-05-19 06:00:38
2026年,再次感受到经济下行的冲击

2026年,再次感受到经济下行的冲击

一条要飞跃的咸鱼
2026-05-18 15:54:03
美媒痛批特朗普:最愚蠢的错误,就是将中国定义为“同等级”对手

美媒痛批特朗普:最愚蠢的错误,就是将中国定义为“同等级”对手

坠入二次元的海洋
2026-05-18 23:18:23
就在今天!三个前无古人的NBA纪录,被22岁的文班亚马达成了

就在今天!三个前无古人的NBA纪录,被22岁的文班亚马达成了

宝哥精彩赛事
2026-05-19 14:12:36
5月,遇到这菜别手软,一次囤20斤,随手一泡,从夏吃到冬,好吃

5月,遇到这菜别手软,一次囤20斤,随手一泡,从夏吃到冬,好吃

阿龙美食记
2026-05-16 16:38:28
广东一男子上坟,一时兴起烧死坟头两条交缠的红蛇,隔天报应来了

广东一男子上坟,一时兴起烧死坟头两条交缠的红蛇,隔天报应来了

古怪奇谈录
2025-04-12 12:10:27
三星堆竟不属于任何朝代?考古学家颤抖:中华文明源头要改写!

三星堆竟不属于任何朝代?考古学家颤抖:中华文明源头要改写!

抽象派大师
2026-05-19 00:44:23
男友年薪120万我妈反对,要我嫁给公务员,半年后我:母亲高明

男友年薪120万我妈反对,要我嫁给公务员,半年后我:母亲高明

呆子的故事
2025-07-26 13:00:03
世界首富马斯克带小儿子访华,这事儿不简单

世界首富马斯克带小儿子访华,这事儿不简单

李月亮
2026-05-16 20:43:34
韩媒:韩国年轻人追捧“中国风”

韩媒:韩国年轻人追捧“中国风”

参考消息
2026-05-19 10:16:01
世体:弗里克想要能进球的9号位,但小蜘蛛本赛季西甲才进8球

世体:弗里克想要能进球的9号位,但小蜘蛛本赛季西甲才进8球

懂球帝
2026-05-19 14:48:22
文班:我还有很多东西要学,我希望生涯之中能够多次拿下MVP

文班:我还有很多东西要学,我希望生涯之中能够多次拿下MVP

懂球帝
2026-05-19 12:29:04
文班亚马狂轰41+24!马刺双加时险胜送雷霆季后赛首败

文班亚马狂轰41+24!马刺双加时险胜送雷霆季后赛首败

北青网-北京青年报
2026-05-19 14:38:13
U17国足VS澳大利亚:4231阵型出击 海外新星坐镇万顷领衔 赵松源突前

U17国足VS澳大利亚:4231阵型出击 海外新星坐镇万顷领衔 赵松源突前

等等talk
2026-05-19 09:14:46
马斯克的上海同学任宇翔,他在上海办厂离不开他的帮忙,人生赢家

马斯克的上海同学任宇翔,他在上海办厂离不开他的帮忙,人生赢家

魔都姐姐杂谈
2026-05-18 17:30:25
2026-05-19 15:28:49
北汇信息
北汇信息
专注汽车电子领域
612文章数 31关注度
往期回顾 全部

汽车要闻

德味操控+聪明大脑,与众07不输新势力

头条要闻

男子花15万装修女友房子被扫地出门:她说装修完就领证

头条要闻

男子花15万装修女友房子被扫地出门:她说装修完就领证

体育要闻

58顺位的保罗,最强第三中锋

娱乐要闻

张雪峰42岁冥诞,学生家长自发缅怀

财经要闻

从卖流量到卖Token,运营商算力生意破局

科技要闻

苹果WWDC26定档6月9日凌晨:iOS27将亮相

态度原创

家居
手机
游戏
时尚
教育

家居要闻

观山隐秀 心灵沉淀

手机要闻

亚马逊迎合欧盟要求,有望为Kindle推出官方换电池服务

《深海刮刮乐》于5月28日将正式发售!

休闲阔腿裤怎么穿才美?看看这些穿搭公式,解锁不重样的造型

教育要闻

爸爸1米75,妈妈1米65,儿子12岁长到1米77

无障碍浏览 进入关怀版