动态包括但不限于数据流分析、控制流分析、接口分析、表达式分析等。数据流分析通常是用数据流图来分析数据处理的异常现象,这些异常包括初始化、赋值或引用数据等。对数据流的分析主要包括对过程或函数调用信息的分析以及对数据流的反常分析。主要集中关注定义/引用异常的缺陷(定义的变量没有使用,使用的变量没有定义)。而通过控制流分析可发现以下错误:无条件跳转的使用、不适当的循环嵌套和分支嵌套、死循环、转向不存在的语句标号、调用不存在的子程序、未使用的变量、子程序定义、不可达语句等。
3.4 应用安全技术
应用安全目的是进行应用漏洞分析、应用配置安全评估、确保业务安全等。手段主要是动静态结合的分析方式,通过静态反编译应用软件或者利用虚拟环境动态运行应用文件监听应用行为轨迹,从而分析出应用漏洞及异常,这个过程需要借助应用模拟器、二进制分析工具等。
导致应用程序漏洞的最主要原因是开发阶段导致的错误,因此保证开发中的应用没有任何严重的安全问题至关重要。根据等保的要求,应用在上线前,应由内部安全团队或者外部专业安全公司进行一次全面的应用安全评估。在模拟真实运行环境中对应用进行动态分析或者对应用的二进制包进行逆向静态分析,这是较为通用的做法,这里不重复赘述。
3.5 数据安全技术
数据安全的目的是对C-IoT终端的数据存储和数据传输进行安全保障,其中数据主要指的是固件数据、终端隐私数据(账号密码、日志、剩余信息、业务交互数据)等信息。在等保2.0中,数据可用性、数据完整性等安全要求就可以通过这一部分内容的安全性进行验证。
3.5.1 数据存储安全技术
数据存储安全技术主要涉及硬件层和系统层,通过硬件工具和技术手段将芯片中的固件和文件系统导出,从而提取出设备中的二进制数据,我们重点关注的是这些二进制文件中包含的固件文件系统存储的用户名密码、系统配置文件、日志等数据。
通常来说,我们将测试分为3个部分,包括数据完整性、数据访问控制、数据安全隔离。数据完整性验证是指对C-IoT终端数据进行读取操作时的完整性检测,验证终端是否具备可以发现数据的完整性被破坏,以及防止未授权实体对数据进行篡改、删除和插入等操作的能力;数据访问控制验证是指当非授权实体访问终端数据时,验证终端系统是否具备终止非授权的访问行为并提供告警信息的能力;数据安全隔离验证是指当通过设备外部接口进行设备访问时,终端是否具备将系统配置数据、用户数据等按账户或其他区分原则进行安全隔离的能力。
3.5.2 数据传输安全技术
C-IoT终端传输技术主要基于无线传输,通常无线传输是基于系统层功能实现的。通过以下安全技术可以对Wi-Fi、蓝牙和ZigBee等协议进行通用的安全保护。安全技术包括通信嗅探(Sniffing)技术、重放攻击技术、加密密钥的安全性和获取的容易程度、通过无线电波控制智能硬件设备、协议自身的安全评估等。
在等保2.0中,数据传输安全的测评主要包括保密性、完整性、抗干扰性和抗抵赖性。我们可以通过一系列的嗅探技术来验证终端数据在传输时是否满足等保的安全要求。
4 结语
随着C-IoT终端深入人们的生活,人与C-IoT终端的关系越来越密切,而C-IoT终端上所承载的隐私数据也越来越多,C-IoT终端受到的攻击越来越多,影响也越来越大。C-IoT的发展离不开稳定的C-IoT生态环境,大量针对C-IoT的攻击不仅会打击消费者对产业的信心、兴趣以及从业者的热情,情况恶化之后甚至会影响国计民生。而等保2.0的发布对于C-IoT安全产业来说是一针强心剂,如果企业贯彻落实等保2.0的安全要求,机构认真踏实地做好测评服务,这将为建设绿色C-IoT生态环境起到至关重要的作用。
(原载于《保密科学技术》杂志2021年2月刊)