加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 一、嵌入式软件安全
    • 二、软件安全问题
    • 三、移动APP软件安全
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

智能网联汽车信息安全发展报告(2021) 系列十五:智能网联汽车应用安全

2022/08/08
2078
阅读需 36 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

应用安全,即保障应用在运行过程中和输出结果的安全。防止数据在应用运行过程中出现数据错误,被篡改,被泄露等问题。

一、嵌入式软件安全

物联网可以被视为嵌入式系统发展的绝佳机会。智能手机,平板电脑和可穿戴设备等物联网移动设备已经无处不在。随着物联网市场的不断扩大,预计非移动物联网系统将超过我们熟悉的当前支持物联网的移动设备。随着时间的推移,嵌入式系统变得越来越小,越来越智能,使我们能够完成比以前更多的工作。随着越来越多的功能嵌入到更小的设备占地面积中,安全性问题也越来越多。设备供应商更愿意添加经常挤出基本安全系统的新功能,从而启动经过敷衍安全测试的设备。随着复杂嵌入式攻击的数量增加,嵌入式系统需要更高的安全措施。与标准PC不同,嵌入式系统旨在执行一组指定的任务。这些设备通常设计为最小化处理周期并减少存储器使用,因为没有可用的额外处理资源。考虑到这一点,为PC开发的安全解决方案无法解决嵌入式设备的问题。事实上,大多数嵌入式设备都不支持PC的安全解决方案。

这给嵌入式系统安全带来了许多挑战,其中一些是:不规则的安全更新,攻击复制,可靠性,设备生命周期,工业协议,远程部署。

随着市场上联网的智能汽车逐渐增多,现实中对智能汽车的电子攻击也层出不穷。智能汽车的系统漏洞也逐渐成为不法者盗取汽车的重要手段。另一方面,用户个人车辆行驶数据具有较大的商业价值,也成为不法者和各大公司窃取的主要目标。

车载终端系统在汽车的使用过程中提供最为直接的交互功能,比如车辆控制、导航、播放音乐电影等。在车载终端系统中, 嵌入式系统是其中的核心部分。它的操作系统种类包括QNX,嵌入式Linux, Windows CE,VxWorks等。其中QNX在现在的车载系统中处于主流位置,占据了接近75%的车载终端系统市场,大部分车企都在使用QNX。

下图从整体架构的角度,列出车载终端中的嵌入式系统面临的部分安全问题。根据嵌入式系统的分层结构,有必要对不同层级的安全威胁进行分类.本节将从硬件软件两个部分,分别对车载终端系统面临的安全威胁做出细致的阐述与分析。

图 嵌入式系统面临的安全问题

 

(一)硬件安全问题

1.硬件木马

硬件木马是指,攻击者为达到控制、更改或监控集成电路的目的,而蓄意修改集成电路的部分电路。由于使用者缺乏相关信息,硬件木马又位于芯片内部,很难做到有效的检测和防御。

2.侧信道攻击

侧信道攻击是一种利用计算机不经意间释放出的信息信号(如功耗,电磁辐射,电脑硬件运行声)来进行破译的攻击模式,是一种成本相对低廉,实施简单、效率较高的攻击方式。能攻破所有主流的密码算法,对嵌入式系统的安全威胁巨大。

3.错误注入

通过将环境参数(如电压、频率)等改变到异常值,使系统进入一种错误的工作状态,从而得到额外的系统控制权。

4.微探针

利用现代集成电路编辑技术,移除芯片外部的材料保护层,将内部芯片暴露在空气中。将探针直接放置在待攻击点或者点所连接的区域上,进行电接触,从而分析和采集电气特性、信号和数据。

5.硬件逆向工程

通过了解设备的内部结构并学习或模拟其功能。攻击者可以通过扫描设备芯片,了解芯片的设计结构,或者利用激光扫描直接获取相应的数据。

二、软件安全问题

(一)代码完整性攻击

试图修改嵌入式系统相关数据或代码。防御此类攻击可在系统启动时,对系统代码进行完整性检查,对相应的检测码进行核对,确保代码的完整性不被破坏。

(二)应用软件攻击

针对车载终端系统运行软件的攻击,通过软件代理对终端系统结构的薄弱环节发起的攻击。

(三)隐私数据窃取攻击

隐私数据窃取攻击的主要目的就是为了获取嵌入式系统的敏感信息数据,为了防御这类攻击,需要对敏感数据进行加密。这也要求对密钥进行管理,需要足够信任的密钥管理机制,来保障密钥在创建、存储、使用等过程中不被外部攻击。

(四)检测和防护方案

1.硬件安全防护方案

(1)硬件木马防护方案

针对硬件木马的防范主要集中在检测方法上。这些方法可以分为:强化功能测试、侧信道指纹比对和电路强化技术。

强化功能测试

强化功能测试是针对硬件木马的对策。由于硬件木马通常以来罕见事件触发,因此可以将这些罕见事件包含在测试用例中,以识别可能作为触发器的可疑节点。但由于罕见事件没有定义标准,因此实际操作难度较大。

侧信道指纹比对

这是另外一种比较流行的检测硬件木马的方式。虽然罕见事件比较难以触发且没有准确标准,但是因为硬件电路被修改,必然导致电路的参数发生改变,通过对硬件噪声的测量,生成电子指纹,通过对比来判断是否存在硬件木马。

电路强化技术

该技术通过调整电路结构,如增加新的逻辑电路,避免触发可疑事件,使电路变得敏感,防止暴力修改电路。与其他检测技术相结合,会提高准确率并降低检测成本。

(2)侧信道攻击防护方案

噪声掩蔽技术

通过增加“虚拟”电路来迷惑攻击者,在密码变换时,电路随机增耗,从而使得攻击者难以分析。

窗口方法

在公钥密码体制中运用窗口方法防止基于侧信道的功率分析。利用随机化窗口,对数据进行模幂运算。

伪指令插入

伪指令可以用来提供随机的延迟。当攻击者试图通过功率分析关联源运算时,通过伪指令的插入,混淆这种关联性。

平衡技术

平衡技术可以分为代码平衡与模块功率平衡。在关键加解密算法的代码中加入一些平衡代码,用来平衡CPU的计算时间,混淆攻击者对能耗分析的结果数据。

2.软件防护方案

针对车载终端软件系统的安全对策,现有的安全解决方案,从虚拟化、操作系统、应用层和网络传输层几个方面,通过资源隔离、安全审计、应用防护和流量加密方案的角度对其进行安全加固。

(1)基于虚拟化的安全防护方案

通过借鉴传统x86架构的虚拟化技术,对相关资源进行隔离和虚拟化以达到安全增强的目的。研究者通过在操作系统层引入虚拟化机制,并建立可信安全实体,对用户态的进程进行隔离。

(2)操作系统层安全防护方案

针对操作系统层的安全,利用系统挂钩的思想来对系统进行安全增强。利用系统挂钩构建相关监控模块,达到系统安全性增强的目的。但是系统挂钩没有底层的机制对自身进行保护,其安全架构是不完善的。

(3)应用软件层安全防护方案

针对应用软件层的安全,可以采用对已经编译好的Android二进制文件进行结构化的比较,并给出上下文的差异,比较与审查应用软件,找出潜在的恶意应用。也可以利用动态污点跟踪与静态数据流分析,判断应用程序是否存在隐私泄露。缺点就是无法针对应用层之下的安全。

(4)网络传输层安全防护方案

采用轻量级加密方案,既可以解决明文传输问题,同时又照顾到嵌入式系统的硬件消耗和计算力有限问题。而在生产过程中,设备逐一生成设备号,每一个设备号都是独立且唯一的。将设备号存储在设备和数据库中,以此来解决身份仿冒的问题

2.Web软件安全

随着科技的发展,社会已进入大数据时代,指数量级的数据在互联网中传播,其中就包括各类敏感数据。因此Web安全也成为当今社会信息安全的重点。但是Web安全并没有获得足够的重视。设计人员在开发软件的时候并没有意识到保障Web安全,导致应用软件存在较多的缺陷。而这正是目前黑客攻击的主要目标。由于Web安全没有引起足够的重视,开发过程中存在缺陷,暴露给黑客较多的安全漏洞,一旦黑客针对这些安全漏洞进行攻击,势必将造成不可挽回的损失。

据国家信息安全漏洞库CNVVD 2013年至2020年收录的漏洞类别统计显示,其中涉及Web应用的漏洞约有17万个,占比19%。2020年与2019年相比,网络安全形势更显严峻。2020年的新冠疫情,不光影响人们的生命安全,也同时加剧了网络攻击的发生,相比与2019年2020年的网络攻击数量呈倍增之势,对比2019年和2020年每月Web应用漏洞变化趋势如图所示。

图 2020与2019年Web应用新增漏洞趋势

 

同时因为Web应用在车联网TSP中的广泛使用,TSP的安全也跟Web应用的的安全息息相关,随着Web攻击事件的频繁发生,针对TSP发动的攻击也多有发生。

2018年5月,Kromtech SECUrity发布的报告称,本田汽车印度公司把超过50000名用户的个人详细信息暴露在了两个公共Amazon S3服务器中因为本田的管理不当,造成了50000名用户的数据泄露。

2019年10月,梅赛德斯奔驰平台出现漏洞,用来解锁和启动汽车的应用程序(APP)错误地显示了其他车主的账户和车辆信息,包括可以看到姓名、最近的活动、电话号码等,造成了大量用户数据泄露。

Web应用在车联网整个系统中起着重要的作用,为了实现人车互联、车云互联,在目前的解决方案下两者之间必须通过传统IP网络实现通信。TSP即汽车远程服务提供商,在远程信息处理的过程中处于一个承上启下的位置。TSP面临的安全威胁与传统Web面临的安全威胁相差不大,下面将详细介绍传统Web面临的安全威胁。

Web应用安全漏洞通常可分为服务器端漏洞和客户端漏洞两大类。例如SQL注入漏洞是针对Web应用服务器端后台数据库的攻击,属于服务器端漏洞。而XSS漏洞发生在浏览器中,通常JavaScript脚本形式存在,属于客户端漏洞。

下面将对OWASP的Top10项目中的某些漏洞做详细分析,OWASP Top10漏洞如表所示。

表 OWASP TOP10漏洞

编号

漏洞类型

1

注入 Injection

2

失效的身份认证和会话管理

3

敏感信息泄露

4

XML外部实体(XXE

5

失效的访问控制

6

安全配置错误

7

跨站脚本(XSS

8

不安全的反序列化

9

使用含有已知漏洞的组件

10

不足的日志记录和监控

 

图 2020年Web安全漏洞分布

(1)注入 Injection

注入攻击是攻击者通过调用系统,或者调用数据库,利用Web应用来传播恶意代码。这种攻击模式常常针对使用解释执行的Web应用。这种漏洞相对其他漏洞较容易被攻击发现并被攻击。系统往往会因为注入攻击遭到严重破坏,因此需要高度关注Web应用的注入漏洞问题。

(2)失效的身份认证和会话管理

Web应用会自定义其身份认证和会话管理等管理功能,而这正是攻击者的目标。攻击者通过攻击管理漏洞,获取相应用户的身份信息,从而获得Web应用赋予该用户的权限。一旦该用户是超级管理,则会导致系统完全被攻击者掌控,造成不可挽回的后果。

(3)XML外部实体(XXE)

XML(eXtensibleMarkup Language,可扩展标记语言)是一种非常灵活的语言,类似于HTML语言,但是并没有固定的标签,所有的标签都可以自定义,其设计的宗旨是传输数据,而不是像HTML一样显示数据。通常,XML被用于信息的记录和传递(比如,数据库的导出导入会很麻烦,但是XML会很方便),也会被用于充当配置文件。也会被应用于Web 开发的许多方面,常用于简化数据的存储和共享。

XML与HTML一样,也存在注入漏洞。进行XML注入攻击的前提是,用户能够控制数据的输入,程序没有对输入的内容进行过滤且拼接了数据。

XXE注入也是XML注入的一部分,但相较于普通的XML注入,XXE注入的攻击面更广,危害更大。XXE注入全称为XML外部实体注入,从名字就能看出来,所注入的对象就是XML外部实体。当遇见能够解析XML内容的页面时,如果能注入外部实体并且成功解析的话,这就会大大拓宽XML注入的攻击面。XXE的攻击形式主要分为:带内数据实体注入、基于错误的实体注入和带外数据实体注入。XXE注入最后会导致攻击者实现对服务器的任意文件的访问;服务端请求伪造,借助漏洞实现内网探测、DDOS攻击、远程命令执行。

(4)安全配置错误

Web应用程序堆栈的任何层面,包括平台、框架、Web服务器、应用服务器、数据库服务器等,都需要执行正确的安全配置。Web应用的配置常常设置成默认值,存在一定的安全隐患。攻击者利用默认账户获取系统数据或权限等等,导致系统被破坏,相应数据等被篡改或泄露。

(5)跨站脚本(XSS)

XSS攻击,全称跨站脚本攻击。攻击者通过对服务器的攻击,达到服务器返回的HTML代码中含有攻击者编写的恶意代码的效果,从而实现对目标主机的攻击。XSS攻击分为三种分别是反射型、存储型和DOM-Based型。反射型XSS攻击是指攻击者通过构造特定的URL将恶意代码作为输入发送到服务器,而服务器无法解析这段命令再将这段代码返回给用户浏览器执行,从而实现攻击。反射型XSS攻击主要攻击手段就是恶意链接。存储型XSS攻击则相反,攻击者将恶意代码发送到服务器后,服务器把这段代码作为用户合法输入存储到数据库中,每当有其他用户访问相应网页时,就会触发该恶意代码,形成持久的攻击。DOM-Based型XSS攻击属于反射型XSS攻击,不同的是此类型攻击构造的URL不会发送到Web服务器,而是直接经过JavaScript脚本输出到浏览器中。XSS攻击的危害有:盗取用户Cookie、植入木马、钓鱼链接、和劫持用户Web行为等。

(6)检测和防护方案

1)代码审计

Web应用程序包括前端和后端,Web漏洞通常因为后端开发者人为编码错误导致。为了有效的防止Web漏洞产生,除了要求开发者规范编程外,还要对代码进行严格的安全审计。传统的代码审计技术主要分为基于静态分析和动态分析两种模式。

2)应用防火墙

a)应用防火墙简介

WEB应用防火墙是集WEB防护、网页保护、负载均衡、应用交付于一体的WEB整体安全防护设备的一款产品,主要用于防御针对网络应用层的攻击,像SQL注入、跨站脚本攻击、参数篡改、应用平台漏洞攻击、拒绝服务攻击等。。它集成全新的安全理念与先进的创新架构,保障用户核心应用与业务持续稳定的运行。通过检查HTTP或者HTTPS流量,可以防止源自Web应用程序的安全漏洞(如SQL注入,跨站脚本攻击,文件包含和安全配置错误)的攻击。同时Web防火墙还具有审计设备,访问控制设备,网络设计工具,应用加固工具等功能。

b)基于规则的检测技术

针对目前常见的,特征也明显的Web攻击,基于规则的检测技术可以提供相对准确的识别能力。但是,随着信息技术的发展,安全威胁数量也逐渐增加,攻击种类也逐渐变得复杂繁多,而基于规则的检测技术并没很好的针对这些变形攻击的类型,因此误报率也随之增多。攻击种类的增多导致特征库的维护也变得艰难,特征数量的增多对性能也产生了一定的影响。

c)基于算法的检测技术

既然基于规则的检测技术已经不足以应对各类攻击的变形,因此结合WAF的特点,对攻击的种类进行归类,对相同的攻击特征进行模式化,开发应对Web攻击的独特算法。算法基于对语义的理解,分析攻击的行为和特征,而不是像基于规则的检测技术单纯的特征匹配,提高了准确率。

d)基于自学习的检测技术

国内部分WAF产品支持自学习模式,根据真实的流量,Web服务等进行识别和学习,一旦出现非常规数据,这类WAF产品会将该数据标记为潜在攻击,并对Web安全进行防护。该检查技术因为具有自学习能力,可以识别较多的入侵检测,但是正是因为这种特性,WAF产品需要长时间的学习,不然识别的准确率有所降低。

3)蜜罐技术

蜜罐技术是一种主动防御技术,通过设置虚假系统,该系统与真实系统一致,但不包含真实系统的信息和数据,引诱攻击者攻击该虚假系统,从而记录并学习攻击模式,以此来提升真实系统的安全能力。

根据交互程度从低到高将蜜罐技术分为低交互蜜罐,高交互蜜罐和纯蜜罐。而根据蜜罐作用点的不同,又可以分为应用层蜜罐、网络蜜罐、主机蜜罐、设备蜜罐等。

在Web应用开发领域有一种著名的架构模式MVC,它将Web应用系统分为模型层(Model)、控制器层(Controller)和视图层(View)。在分析研究当前主流的Web蜜罐后发现,应用于Web安全领域的蜜罐技术也可按照这三层为界限进行划分。

三、移动APP软件安全

随着移动互联网的高速发展普及,越来越多的车型具备了通过手机等移动设备进行远程控制的功能,而针对手机App进行远程攻击已经成为黑客入侵汽车的重要手段之一。

在此背景下,中国领先的汽车互联网服务平台汽车之家近期联合清华大学苏州汽车研究院和江苏省智能网联汽车创新中心联合建立的JIVIC汽车信息安全实验室(以下简称JIVIC实验室),针对15款市面上主流的汽车远程控制App进行了信息安全测试。通过对手机App进行科学严谨的代码分析,找到其中隐藏的漏洞和隐患。

测试通过官方渠道下载了15款汽车远程控制App,这其中有7款来自中国品牌车企,7款来自海外品牌车企,还有一款为第三方提供的汽车远程控制App。JIVIC实验室通过专业技术手段对这15款汽车远程App进行安全性测试,包括广播测试、证书测试、文件测试、描述文件测试、通用测试、WebView测试等项目,较为全面地验证了App的安全性。

与此同时JIVIC实验室强调,测试中出现的问题主要集中在本地和信息文件测试当中,这部分漏洞可能导致包括账号密码在内的信息泄漏等问题,进而有可能产生车辆被盗等风险,但由于行驶机构控制权限极少开放给手机App,基本不存在严重影响驾驶安全的风险。

随着信息及移动互联网技术不断普及发展,汽车行业正在发生着颠覆性变化,而车企之间的竞争也由单纯的硬件技术发展过度到“软硬一体”全方位的竞争,不少海外品牌车企更是加大投入,将赌注压在了打造出行服务的软件平台上,这对于车企来说无疑开辟了一个全新的战场。

(一)信息安全需求

移动App及远程控制已经成为众多车企的选择,具备远程开启空调、门锁,远程启动车辆等功能,目前通用、比亚迪等汽车厂商均已有相关产品。车联网App因其广泛应用及易于获取等特点成为黑客攻击的热点。因此,如何保障移动APP的安全成为了目前相当关键的重大课题。

移动APP为用户带来方便的同时,也为黑客攻击埋下安全隐患。移动APP目前已经成为车载系统的一部分,移动APP开发代价较低,Android又是开源系统,攻击者通过逆向工程或动态调试等手段,对移动应用的代码进行反汇编工作,破译其中重要的数据信息,例如安全密钥,通信协议等等,从而利用这些信息篡改车联网数据,达到恶意控制车辆的目的。

由于车联网APP大多数都是基于Android平台开发,下面将依托Android APP面临的风险威胁介绍车联网APP面临的安全威胁。

(二)恶意代码

攻击者为获取利益或盗取用户隐私机密,会采取在APP中插入恶意代码实现自己的目的。除开车载系统自带的应用软件,用户获取APP的渠道大多数都是第三方市场。这些第三方市场虽然提供了恶意软件检测,但是实时性不够,恶意软件在被检测出来之前就已经被用户大量下载。造成用户的隐私数据的丢失和经济上的重大损失。可以将现有的恶意代码功能总结为如表所示8种类型。

恶意扣费

在用户不知情或未授权的情况下,通过隐蔽执行、欺骗用户点击等手段,导致用户经济损失。

隐私窃取

在用户不知情或未授权的情况下,获取用户个人信息。

远程控制

在用户不知情或未授权的情况下,对App进行远程控制和操作。

恶意传播

通过注入,下载等方式,将恶意代码传播出去。

资费消耗

在用户不知情或者未授权的情况下,订阅某些服务,导致用户资费损失。

系统破坏

攻击使得终端,非恶意应用,文件等部分或全部内容无法正常运行或读取,造成相关业务无法进行。

诱骗欺诈

诱骗用户进入钓鱼网站等,欺诈用户并窃取用户信息,造成财产损失。

流氓行为

对用户进行恶意攻击但不窃取用户身份信息,财产也不遭受损失。

表 Android 系统恶意功能类型表

(三)二次打包

Android应用开发完成后编译打包成apk文件,而正式发布的Android应用打包时都会进行签名。而apk的二次打包就是指对已经使用签名文件进行打包的apk进行自己的修改之后,再次签名打包发布的过程。攻击者就可以利用二次打包的操作对正式发布的apk添加恶意代码并合法在网上发布,造成使用者的经济损失和隐私泄露。

Android应用发布到应用市场供用户下载的是一个.apk形式的文件,apk文件是一种特殊的文件格式,是资源文件,布局文件,主配置文件,dex文件以及签名验证文件等的文件集合。把.apk文件的后缀名修改为.zip,然后进行解压缩进行查看,就能看到上述文件目录及文件的罗列。二次打包能实现对原来的apk文件中源码的修改,然后重新编译,进行二次打包,重新发布测试,从而达到修改apk文件的目的。

二次打包主要用到3个工具,apktool、dex2jar、jd-gui。dex2jar工具主要作用是将dex文件转变成jar文件,jd-gui工具是用于查看通过dex2jar转变生成的jar文件。apktool用于对apk进行打包。

(四)信息泄露

Android应用隐私泄露的具体问题很多,但总体上可以分为以下三个方面:开发者获取用户隐私信息的问题,恶意应用窃取用户隐私信息的问题,Android应用漏洞导致的隐私泄露问题。

开发者获取用户隐私信息的问题:Android针对敏感数据的调要申请相应的权限,但开发者出于了解用户及app使用情况,会调用一些不必要的权限,查询一些与app无关的敏感数据,而这也会导致用户隐私的泄露。

恶意应用窃取用户隐私信息的问题:恶意应用窃取隐私,是目前隐私泄露的主要问题。恶意应用常常会调用大量无关权限,而这些权限直指用户隐私数据,使得这些敏感数据暴露出来,造成数据泄露。

Android应用漏洞导致的隐私泄露问题:Android应用漏洞为攻击者提供了窃取隐私的途径,其中Android应用组件暴露漏洞便是Android应用比较常见的安全漏洞类型之一,该漏洞由Android应用中的暴露型组件对外界调用的合法性验证不严导致,组件暴露可能造成多种安全威胁,主要包括能力泄露、数据泄露、权限提升、混淆代理、组件劫持、意图欺骗等,而这将导致更多的用户敏感数据遭到暴露。

(五)检测和防护方案

1.应用监控

目前针对安卓恶意软件的监测方法主要包括静态检测和动态监测两种方式。静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。静态方法通过程序静态特性的分析,找出欠缺和可疑之处。但是静态检测极度依赖特征数据库,但特征数据库中存储的是已知的恶意软件的攻击的特征码,因此对于未知 的攻击的检测能力较弱。动态方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。两相比较,动态检测方案在针对安卓应用软件的检测效率更高。

静态检测技术前提是不实际执行待测应用程序,采用阅览源程序的代码对应用程序的一些行为进行分析,分析的结果是判断文件中是否存在特征码。这种方式只针对已知的恶意代码,不能检测未知的木马和病毒,因此需要对特征数据库进行实时更新,以确保数据库中的特征码足够大以应对庞大的攻击种类。而对于应用程序的源代码进行分析,常常采用反汇编的方式,将代码与恶意行为的API调用序列进行对比。由于恶意程序调用的API较为固定,因此采用静态检测技术会提高准确率,且不用更新特征数据库。

动态检测技术的应用必须以运行待测应用程序为前提,这样检测工具才能对程序的运行情况和行为特征进行监测,判断是否存在信息泄露。相对静态检测技术,动态检测技术可以检测出未知的信息安全攻击,但由于无法拦截正在运行的恶意程序,导致无法及时止损。

2.应用检测

a)恶意代码分析

Android的恶意代码检测方法现在已经发展到一个相对成熟的程度,研究人员提出了很多优秀的分析方法和检测技术,但就其本质上来说,按照检测方法的不同,主要分为静态分析和动态检测两种。

b)相似性检测

目前Android应用相似性检测方法包括基于代码及文件属性的相似性检测,基于结构的相似性检测以及基于行为的相似性检测。

3.应用沙盒

Android 平台利用基于用户的 Linux 保护机制来识别和隔离应用资源,独立不同的应用,并保护应用和系统免受恶意应用的攻击。为每个应用分配专属身份信息,独立运行每个程序。

每一个程序都在Android的内核运行,实现应用和系统的安全。没有外界干扰的情况下,各个应用之间互不打扰,系统也会限制应用访问操作系统。正是因为程序运行在内核中,系统保障了源代码和操作系统的安全性。

4.加固技术

a)代码混淆

代码混淆是一种利用模糊化处理,将软件的源代码部分或全部变成功能等价但却难以理解分析的代码的一种形式。

主要目的是为了防止攻击者破解或逆向分析代码,代码经过模糊化处理后,依旧能执行出修改之前的结果,但如果对其反编译,逆向分析,却不知其意。这样处理会对代码进行相应的保护,增加被破坏的门槛。

b)软件加壳

加壳的全称应该是可执行程序资源压缩,压缩后的程序可以直接运行。加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,之后再把控制权交还给原始代码,这样做的目的是隐藏程序真正的OEP(入口点,防止被破解)。大多数病毒就是基于此原理。加壳的程序需要阻止外部程序或软件对加壳程序本身的反汇编分析或者动态分析,以达到保护壳内原始程序以及软件不被外部程序破坏,保证原始程序正常运行。

c)防篡改技术

因为如果应用被非法篡改,插入恶意代码,秘密地进行如上传数据、发送短信、弹出广告、下载和安装其他应用等操作,会严重威胁用户的隐私和财产安全。所以防篡改是应用安全的重要组成部分。目前常见的防篡改技术有以下三种:外挂轮询技术,核心内嵌技术、事件触发技术。

对抗应用被篡改的基本思想可以从对抗篡改前和篡改后两方面入手。对抗篡改前主要是通过加大源码的反编译难度来增加应用的被篡改的难度。对抗篡改后的主要思想是一旦检测到应用被非法修改,可立即停止应用的运行。目前,对抗应用被篡改分为两类:基于软件型和基于硬件型。其中,基于硬件防篡改的主要有软件狗、软盘硬加密等。基于软件的防篡改主要方法包括完整性校验、软件哨兵、断言检查和密码技术等。

d)反调试技术

攻击者利用反调试技术,检测调试器运行情况,改变运行路径或者让自设代码崩溃,增加代码分析难度,以此来达成拖延调试器分析代码的时间的目的。恶意代码会使用多种技术探测调试器调试它的痕迹,查询调试器遗留在系统中的痕迹等。调试器探测是恶意代码最常用的反调试技术。

欢迎相关企业和专家交流咨询!

联系人:朱云尧(zhuyunyao@caeri.com.cn)

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
ADUM1201ARZ-RL7 1 Analog Devices Inc Dual-Channel Digital Isolator (1/1 Channel Directionality)

ECAD模型

下载ECAD模型
$1.91 查看
FSBB30CH60C 1 Fairchild Semiconductor Corporation AC Motor Controller, 60A
$22.55 查看
VNH7070BASTR 1 STMicroelectronics Automotive fully integrated H-bridge motor driver

ECAD模型

下载ECAD模型
$3.23 查看

相关推荐

电子产业图谱

通用技术中国汽研政研中心,围绕汽车电动化、智能化、网联化和新服务,组织开展汽车政策法规、前沿技术、产业地图、企业战略、商业模式等跟踪、解读和研究工作。