RSA 2018归来说:那些颇有特色的IoT安全产品和技术

2018-05-08|小象 1211

物联网(IoT)设备正逐渐走进人们的数字生活。IDC市场研究公司表示,IoT智能家居设备将成为第四大行业,预计的消费者IoT支出2018年将达到3900亿元人民币。在4月份举办的RSA 2018上,IoT也次成为关注的焦点。不仅微软、顶象技术分别展示了不同的IoT安全解决方案,更多的安全企业也带来了一些全新的IoT安全技术和产品。

undefined

Refirm labs:30分钟完成对IoT固件的安全扫描

Refirm labs是一家美国本土的安全厂商,位于美国的马里兰州富尔顿,专注于IoT智能设备的固件(firmware)的安全研究与产品研发。该公司成立利于2017年8月,当年11月获得DataTribe的150万美元的投资。在RSA 2018的创新沙盒比赛上,Refirm labs参加了最终成功进入ToP 10。

Refirm labs核心研发人员背景来自美国国家安全局(NSA),除了拥有知名开源固件分析工具binwalk外,还推出了一款自动化固件检测平台。该平台能够自动化扫描固件,发现其中的漏洞、加密用的密钥、隐藏的后门密码等,并在30分钟内给出扫描报告。从而帮助减少隐藏在固件中的漏洞,以避免因弱口令、溢出等漏洞引起设备控制权限的泄露,导致mirai等类似的事件再次发生。

小象认为,30分钟应该只是一个自动检测的平均预估值,实际应用场景还要取决于IoT固件大小,以及固件本身是否采取了代码混淆、加壳等保护措施。

Refirm labs的自动化固件检测平台有两个独到之处:

1、无需源码的扫描。以往的安全扫描工具都是针对程序源代码进行扫描,虽然准确度相对比较高,但客户往往出于对于源代码保密的考虑,使用这类产品比较谨慎;而且由于很多程序集成了第三方组件,客户更是无法取得这部分的源代码;再有,一个成熟的商业产品固件源代码往往数量巨大,一次完整扫描是一个费时费力的事情。但使用固件的二进制文件直接进行扫描,则避免了以上所有的问题,而且它使用简单方便,也避免了泄露源代码的风险,自然成为用户体验更好的选择。

2、动态扫描。在没有源码的情况下进行扫描,客户可能会质疑扫描的效果,这就要谈谈Refirm labs的绝技“动态扫描”。传统的扫描基本以静态扫描为主,寻找不安全的函数调用、未加密的字符串等。而Refirm labs的动态扫描技术号称可以针对静态扫描出来的可疑点,进行动态验证。比如,扫描出来一个可能导致缓冲区溢出的函数调用,它会动态构造payload进行实际执行,来验证这是否确实是一个可被利用的漏洞。所以refirm labs宣称他们的扫描是可以发现0-day漏洞的,而不仅仅是对已知漏洞的一个查找。

undefined

Insignary clarity:无需源代码也能做安全识别与防护

Insignary clarity位于韩国,成立于2016年在韩国成立。它使用独特的指纹(fingerprinting)技术,可以在二进制级别上进行识别,无需源代码或逆向工程,让OEM和开发人员在部署产品前就可以采取适当的预防措施。

与Refirm labs完全不同的是,Insignary clarity扫描固件代码无需逆向而是采用“代码指纹”的技术。在RSA 2018上,Insignary clarity就是详细介绍了该项技术。

众所周知,对于一个二进制文件要进行扫描,第一步是逆向分析,由此找出关键的函数调用序列,或是跟踪参数的传递,然后再试图找出其中可能存在的漏洞点。

但是逆向面临如下几个问题:一是逆向技术难度比较高,逆向的准确度直接影响后续的分析,如果逆向出错,那后续基本无法发现任何漏洞;其次,逆向很耗时,很多时候甚至需要经验丰富的逆向分析工程师人工参与;第三,很多国家有明文规定,禁止对软件进行逆向;第四,纵然如授权进行逆向,但是很多固件中引用第三方组件,要全部得到授权也是费时费力的事情。

Insignary clarity推出了一种称为“代码指纹”的技术。该项技术通过定位代码中的字符串、函数、变量名等关键信息,使用特殊的算法为其生成一个唯一的指纹信息,然后与已知的漏洞数据库进行对比就可以确定其中存在的漏洞。

不过,该方案有一个缺陷,那就是只能扫描已知的漏洞,无法扫描出0day。

总体来说,Insignary clarity无需对固件作逆向分析,因此扫描匹配的速度会比较快,非常适合于对合规性有需求的客户。

undefined

Trustonic:为App底层和系统提供防护

Trustonic是一家来自英国TEE硬件解决方案提供商,成立于2012年,由ARM、Giesecke&Devrient和Gemalto联合创办。Trustonic旨在为智能移动设备提供可以独立于操作系统运行的安全产品,隔绝与外部的联系,从而避免遭到软件病毒或者间谍程序的威胁。Trustonic的目标是开发一个安全标准,让银行和商家可以用来保证各种各样的设备和平台上移动支付及网购的安全。

RSA 2018上,展示了面向App保护的Trustonic Application Protection(简称TAP)和保护系统的Trustonic Secured Platforms(TSP)。

TAP能够为App开发者提供统一的一套保护接口,在底层上提供安全性。它利用硬件TEE芯片的功能,将核心待保护的数据和程序置于TEE芯片中运行,提供硬件级别的安全性。而对于一些未内置硬件TEE芯片的设备,TAP使用软件构建一套可信的执行环境起到类似的保护效果。同时,在技术上,TAP的可信执行环境利用诸如白盒加密、代码混淆等组合方案。这样可以让App开发者专注于开发,而不必担心将来App在不同设备上的安全性参差不齐。

小象感觉:TAP的保护思路与顶象技术的虚拟机保护方案异曲同工,而且安全性更优一些。

TSP(Trustonic Secured Platforms)则是针对手机OEM厂商提供的一套软硬件结合的方案。它能够为每台设备生成唯一的可信身份,同时可以保证安装的第三方应用的安全性、保护系统关键代码的执行和关键数据的存储,此外,还能保护用户与设备中某些硬件交互过程的安全性,比如用户对于触屏的操作,对指纹传感器的使用等。

undefined

Guard Square:同时为Android、iOS和C/C++提供防护

Guard Square是一家来自比利时的移动安全厂商,可能感觉比较陌生。但是,提起去年爆出的Android绕过签名检测机制高危漏洞,就想必不陌生了吧?该漏洞就是由Guard Square发现。而且,Guard Square还是大名鼎鼎的ProGuard开发者。该软件是Google官方开发工具包中默认集成的代码优化工具,服务全球的Android开发者。

在RSA 2018上,Guard Square带来了最新版的Android平台代码混淆工具DexGuard,最新推出DexGuard-NDK保护插件和iOS平台代码混淆工具iXGuard。

首先看DexGuard。DexGurard提供的代码混淆、资源文件保护、以及各种运行时保护(反调试、模拟器检测等)功能。DexGuard走的是与App开发工具集成的路线,在编译阶段针对源码进行深度的混淆保护,而不是编译后针对APK包进行加固。一方面,保护强度高很多,另一方面因为不需要修改APK包,可以避免很多兼容性问题。

其次看DexGuard-NDK保护插件。由于Java代码相比C/C++代码要容易逆向,所以现在越来越多的App开发者已经将核心部分的代码(比如加解密代码、核心算法等)迁移到C/C++层来实现。大量攻击者已经转向核心的C/C++代码入手。但是,大部分加固厂商对于APK的保护技术仍停留在以dex文件保护为主的层面。DexGuard-NDK正是通过与NDK开发环境的集成,在编译阶段提供对于C/C++代码的混淆、字符串加密等保护。

最后看iXGuard。iXGuard是针对近年来iOS App攻击一直呈现快速上升趋势而推出。主要提供字符串加密、符号名混淆、控制流混淆、算术混淆。不过,对代码的混淆一般是基于bitcode进行。

Guard Square官方资料显示,客户可以通过Xcode对源代码进行预编译,然后对生成的bitcode进行保护,最后再进行一次编译就可以生成可执行的软件包。这种方式虽然需要引入编译器,但只需要提供bitcode,无需提供源码,所以可结合加固SaaS化服务的便利性和源代码保护的高安全性。小象相信,这将会是iOS平台安全发展的热点方案。

undefined

写在最后

其实,像Guard Square DexGuard、Trustonic Application Protection等技术和功能,在国内公司上已经实现。例如,小象家的Android/iOS双平台虚机源码保护产品,以及针对各种IoT平台的安全编译器产品等,而且小象还独家提供基于虚拟机保护的方案,保护强度比单纯的代码混淆更高。

道高一尺,魔高一丈。随着攻击者目光向Android平台中C/C++代码的转移,以及对iOS平台的持续关注,针对IoT智能设备固件安全的防护也将持续升温。因为,无论从保护知识产权的角度还是防止黑客攻击设备的角度,毕竟保护固件安全是IoT智能设备企业的刚需。

电话咨询
400-8786-123
微信咨询