几维资讯> 行业资讯

物联网安全威胁及其应对措施

几维安全 2020-04-14 18:00:51  516
分享到:

物联网经过多年的发展,引领信息产业革命的新一轮浪潮。随着物联网的深入应用,其对人们的日常生活以及社会经济发展已产生了极大的影响,如何提高网络安全,是物联网行业目前面临的关键问题。本文通过对物联网安全威胁分析,提出了提升物联网安全的应对措施。

物联网安全威胁

(1)隐私威胁。物联网中的通信方式主要采用无线通信,以及大量使用电子标签和无人值守设备进行通信,但受制于成本、性能方面的限制,物联网大部分所使用的终端属于弱终端,很容易被非法入侵,甚至破坏,这就意味着使用者在使用过程中隐私信息很有可能被攻击者获取,例如,攻击者通过获得使用者的身份信息、兴趣爱好,甚至是商业机密等信息,将给使用者带来安全隐患。

(2)身份冒充。有些物联网的管理密码设置过于简单,有些还是出厂默认密码,这些设备因其无人值守特性,被劫持后短时间内是难于发现,此时就可以伪装成客户端或者服务器进行数据发送、执行某些恶意操作。例如,对某些门禁系统进行设置,可以轻易的进出房间。

(3)信令拥塞。物联网中的终端与服务器的认证方式采用的是一对一进行,这就导致如果在物联网中的终端数量巨大,当这些终端就在进行业务数据交换时,就会向服务器进行大规模的认证请求,此时这些信息就会导致服务器过载,从而使网络中的信令通道发生拥塞,间接引发 DDOS 攻击。

(4)恶意程序。恶意程序通过许多方式进入到无线网络环境和传感网络环境中。一旦入侵成功,它的传播性、隐蔽性、破坏性等相比 TCP /IP 网络而言更加难以防范,如类似于蠕虫这样的恶意代码,本身又不需要寄生文件,要检测和清除这样的恶意代码将很困难。

(5)僵尸网络。僵尸网络( botnet) 由一系列被恶意软件感染的主机组成。攻击者通过各种途径传播僵尸程序感染互联网上的大量主机,组成一个僵尸网络,进而可以被攻击者用于执行一系列恶意活动,例如分布式拒绝服务攻击、发送垃圾邮件、窃取个人信息、执行分布式计算任务等。这种网络攻击可以导致整个物联网的基础网络或者重要应用系统瘫痪,也可以导致大量机密或个人隐私泄漏,还可以用来从事网络欺诈等其他违法犯罪活动。

物联网安全应对措施

(1)强化身份认证。身份认证有效地对抗冒充、非法访问、重演等威胁。对物联网应用而言,因设计人员考虑便利性大多会采用一次认证即可通行整个网络系统,因此,在统一的系统的接入口就需要可靠的身份认证。同时,为了防备攻击者将一些不受信任的设备接入物联网,如被攻击者控制的路由器,还需要对所用的设备进行身份认证。为解决身份认证问题,可根据业务的安全敏感程度在如密码强度、动静态密码、验证输入、不公开凭证、电子证书及生物识别技术等方面进行强化设计,在一些关键节点还需要多重身份认证。 

(2)完善加密机制。由于物联网中网络连接和业务使用紧密结合,对有必要受保护的链接进行加密。对一些安全要求不是很高的业务,实现安全机制对业务的透明,可以采用逐跳加密方式在统一的物联网业务平台上实施安全管理不同的业务。但因为逐跳加密需要在各传送节点上对数据进行解密,所以各节点都有可能解读被加密消息的明文,因此对于高安全需求的业务,可通过端到端进行加密保密措施。

(3)净化网络环境。网络环境是整个物联网正常运行的基础,从厂商到使用者都应对其安全引起重视。通信协议往往成为攻击者的一个很好的突破口,因此,厂商在应用发布前应做好充分测试,并对已有的固件进行查缺补漏,及时更新漏洞补丁。同时,作为使用者应提升系统的安全检查频率来加固系统,或者更换一些容易出问题的设备,特别是对僵尸网络,应及时清理,以此应对不断变化的网络攻击。

(4)实现多层次防御。通过多层次的防御措施,加强访问控制,来更好的保障物联网的安全。防火墙作为专用网络与公共网络连接的第一道防线,实现过滤数据、用户的访问行为,则可在前端部署使用安全网关防火墙或是端点防护,但若攻击者以特征码侦测而进阶的攻击,就必须在下阶段使用用户行为分析( USA) 或是安全信息与事件管理( SIEM) 做防御,通过大数据对于用户与设备之间行为分析,再进阶以机械学习( Machine Learning) 做防御,除了分析及监控现有数据,还要预测未来的威胁。

几维安全IoT固件虚拟化系统

几维安全IoT固件虚拟化系统是一款面向智能汽车、移动游戏、移动金融、反欺诈、IoT物联网等行业的核心程序加密产品。支持对C/C++代码进行虚拟化保护,在项目工程编译时直接对指定的函数【代码】实施虚拟化编译,生成受保护的固件程序。凭借自定义CPU指令的特性,代码一旦加密,永不解密,攻击者无法逆向还原代码,分析其核心业务逻辑。可帮助中大型企业在通信、支付、算法、核心技术等模块进行深度加密,避免因逆向破解问题对公司造成经济或者名誉上的损失。

(1)几维安全IoT固件虚拟化技术原理

代码虚拟化基于 LLVM 编译器中间层 LLVM IR 实现,通过设计独有加密的虚拟 CPU 解释器以及完备虚拟指令,将原始 CPU 指令进行加密转换处理为只能由 KiwiVM 虚拟解释器解释执行的虚拟指令,能够完全隐藏函数代码逻辑,以及函数、变量之间的依赖关系,让代码无法被逆向工程。

物联网安全-1.png


代码虚拟化将函数的最终入口替换成JUMPOUT,对外仅公开的标准化的虚拟化加载指令,攻击者无法逆向还原虚拟机的私有指令集,从而避免攻击者分析原始函数的代码逻辑。

(2)虚拟化加密效果

未经过虚拟化保护的固件,攻击者通过反汇编器或反编译器,能够将程序的原始机器码,翻译成较便于阅读理解的汇编代码或高级代码。硬件中的IoT固件,本质上还是二进制文件,通过IDA Pro等工具可以轻松反编译,生成近似源代码的C代码,如下图。

反编译未虚拟化后的代码截图:

物联网安全-2.png

反编译虚拟化后的代码截图:

物联网安全-3.png

虚拟化后的核心代码已无法再被逆向分析,从而避免潜在的漏洞被挖掘、核心技术被窃取、密钥泄漏等问题。

物联网作为一种新型信息产业,与人们的日常生活和社会发展产生越发紧密的联系,加强物联网安全也就越发重要。目前我国物联网发展是重应用而轻安全,因此,安全技术的提升还很有必要。针对目前的主要安全问题,制定好相应的解决对策,只有物联网的安全得到保障,才能对社会进步和发展起到更好的推动作用。

分享到:



《安卓应用加密》 《Unity3D手游加密》 《源代码加密》 《移动端的KiwiVM虚拟机》