物联网设备漏洞挖掘技术

目前物联网设备的使用越来越普遍,而对应的漏洞攻击现象也越来越频繁,究其原因主要有两点:
① 物联网设备开发过程中, 在设计上忽略了安全性的考虑;
② 由于设备硬件资源受限, 难以在设备上部署安全防护策略。
因此本篇文章想要探讨一下目前通用的漏洞挖掘技术以及物联网设备漏洞挖掘技术的整体情况,并记录当前主流的技术使用,同广大CSDN技术人员一起交流。


目录

  • 物联网设备漏洞挖掘技术
  • 一、现有的通用漏洞挖掘技术手段
    • 1、基于源代码的漏洞挖掘
    • 2、基于二进制的漏洞挖掘
  • 二、物联网设备漏洞挖掘
    • 1、挑战
    • 2、机遇
  • 三、挖掘技术(通用+物联网设备)三大技术
    • 1、同源性分析技术
    • 2、静态分析技术
      • 1.目标程序提取与信息恢复
      • 2.基于程序分析的漏洞发现
    • 3、模糊测试技术
      • 1.系统总体框架
  • 四、总结
  • 参考文献

一、现有的通用漏洞挖掘技术手段

现有手段大多针对通用系统(Windows、Linux、Mac、Android)及其软件。主要分为基于源代码基于二进制两类。

1、基于源代码的漏洞挖掘

是一种静态分析方法:针对特定漏洞建立检测规则;采用数据流分析、污点分析、符号执行等技术完成相应规则进行漏洞挖掘。

2、基于二进制的漏洞挖掘

根据实现方式分为静态分析、动态分析以及动静结合方式;
1.静态分析:
将二进制转为汇编代码或中间语言;
通过基于模式的漏洞分析或二进制代码比对技术实现静态的漏洞挖掘。
2.动态分析:
采用模糊测试技术;
根据输入制导的方式可分为白盒、灰盒以及黑盒测试。(制导——发现目标的位置、速度等信息,并根据自己的位置、速度以及内部性能和外部环境的约束条件,获得抵达目标所需的位置或速度等指令)
3.动静结合:
将静态分析的结果用于辅助动态测试。


二、物联网设备漏洞挖掘

由于不同厂商硬软件差异大、部分源代码文档不公开;导致通用平台的漏洞挖掘技术和工具不能完全适用于物联网设备,;
但大部分程序分析技术、安全测试思路和方案仍可用于物联网设备。

1、挑战

1.硬件资源受限:
无法部署相关的分析模块,导致动态分析技术无法适用。同时硬件 CPU 的计算能力有限,会造成动态分析性能下降。
2.硬件的复杂异构:
通用软件的指令架构通常是 X86 或X86_64。而物联网程序通常采用 ARM、MIPS、PowerPC 等嵌入式架构。使直接基于通用 CPU 指令汇编的静态分析方案不再适用。
3.代码文档不公开:
大多数物联网设备程序为定制的商业化程序, 通常只能将设备固件作为分析对象。因此,大量源代码分析技术不再适用于物联网设备漏洞挖掘,基于二进制的静态分析技术也不能直接使用。(固件——是物联网设备中的软件系统, 实现对设备特定硬件底层的控制,可能本身就是个可执行文件)

2、机遇

1.硬软交互:
对于动态二进制分析方案,可以充分利用 外部交互系统 信息,对新的攻击面的进行测试分析。
2.组件复用:
物联网设备程序在开发时会大量使用开源的第三方库, 使出现第三方组件的漏洞。所以可以用基于二进制比对的静态分析技术通过不同层次信息的相似性(原先通过差异性)来挖掘同源漏洞。
3.类型趋同:
对于含有操作系统的物联网设备固件来说, 同样存在存破坏类、输入验证类、配置错误类等类型的漏洞。因此,无论是静态二进制还是动态二进制分析技术、通用的漏洞检测规则仍然适用于物联网设备固件和程序。


三、挖掘技术(通用+物联网设备)三大技术

将现有的通用软件挖掘技术方案与思路与物联网设备进行结合,目前的研究内容主要包括同源性分析技术、静态分析技术、动态模糊测试这三大技术。

1、同源性分析技术

同源性简单来讲就是将物联网设备固件取出后,通过代码、文件等方式和现有存在漏洞的代码、文件等进行比较,挖掘相关漏洞。
现有的同源性分析手段主要有如下几个:
① 粗粒度文件相似性比对
② 细粒度的代码块(函数)相似性比对
③代码块语义特征(输入输出对)提取比对
④ 轻量级语法、结构特征提取比对
⑤ 基于控制流图结构的匹配
⑥ 基于控制流图嵌入特征的匹配

2、静态分析技术

静态分析技术从物联网设备固件开始,通过逆向设备固件,建立漏洞模型,并利用程序分析技术完成漏洞挖掘。主要包括了目标程序提取与信息恢复、基于程序分析的漏洞发现两个阶段。

1.目标程序提取与信息恢复

程序主要是通过搜寻特定文件名提取,将代码以中间语言或汇编的形式表示,最后进行恢复

不足之处:目前, 目标程序提取与信息恢复技术能够有效解决包含操作系统的物联网设备固件的分析。
对于无操作系统的设备固件分析, 整个固件就是特殊的可执行程序, 对该类固件的分析仍处于起步阶段

2.基于程序分析的漏洞发现

通过建立漏洞分析规则, 并结合静态程序分析技术, 实现漏洞的挖掘。此外,物联网设备漏洞挖掘更关注特定漏洞类型和模块, 如:
① 硬编码漏洞类型——提出基于静态数据分析的漏洞挖掘方法;
② 认证绕过漏洞类型——提出基于程序分析的物联网设备认证绕过漏洞的挖掘方法;
③ 通用污点类漏洞类型——提出物联网设备固件污点类漏洞的检测方法;
④ 协议解析模块——提出基于协议解析模块识别的物联网设备漏洞挖掘方法。

不足之处:研究工作的分析对象仍是用户程序。在针对物联网设备特定实时操作系统方面,仍缺少相应的漏洞挖掘工作。

3、模糊测试技术

通过向被测试对象发送随机输入,并观察其行为(通常是程序崩溃) ,发现潜在漏洞。目前主要包括白盒测试、黑盒测试、灰盒测试三种方法。

  1. 白盒测试:
    ① 深度获取程序执行信息来生成测试样例;
    ② 通常会对程序源代码进行动态污点分析以获取精确的程序执行和状态信息;
  2. 黑盒测试:
    ① 将测试对象当作黑盒子,不获取任何程序执行信息生成测试样例;
    ② 仅按照指定的规约随机生成输入样例;
  3. 灰盒测试:
    ① 通过轻量级的监控技术,以获得程序的特定执行信息来制导输入的生成。
    ② 轻量级的程序监控方法使吞吐率更高。

1.系统总体框架


系统总体框架包括了必要组件与可选组件,上图红框内的三个部分为必要组件。
可选组件包括了新型攻击面测试、设备仿真技术、 外围系统分析这三个部分,用来进一步提高模糊测试性能。

  1. 新型攻击面测试:
    ① 针对物联网设备系统内核特有机制以及内核与外围的新型交互方式;
    ② 实时监控目标程序的执行状态,将信息反馈给测试样例生成器,制导其输入的生成。
  2. 设备仿真技术:
    ① 为物联网设备提供监控的支持;
    ② 由于物联网设备程序对系统和硬件资源都有较强的依赖性, 多种设备仿真技术被提出。
  3. 外围系统分析:
    ① 通过分析外部交互系统,提取协议交互的语法信息,制导测试样例生成器产生针对目标程序语法结构的合法输入;
    ② 防止测试样例生成器在程序解析初期随机产生的输入丢弃,以实现目标程序的深度测试。

四、总结

① 当前,物联网设备的漏洞挖掘技术虽然在同源性分析技术、静态分析技术、动态模糊测试上都有一定的进展,但对于无操作系统和包含特定嵌入式操作系统的固件, 仍然缺少系统性的分析和研究。
② 总体来说,物联网设备漏洞挖掘技术仍然处于起步阶段,未来仍将从这三大类技术入手,一方面提出通用性的方法和技术,另一方面也将针对特定类型的设备、漏洞,研究相应的挖掘技术。


参考文献

郑尧文,文辉,程凯,等. 物联网设备漏洞挖掘技术研究综述[J]. 信息安全学报,2019,4(5):61-75.

对目前物联网设备的漏洞挖掘技术的学习记录相关推荐

  1. 天融信安全接入客户端_天融信提示您警惕物联网设备Ripple20漏洞风险

    近日,天融信阿尔法实验室在JSOF实验室发布的由Treck公司开发的TCP/IP软件库中获取到一系列0day漏洞.JSOF实验室发布的这批漏洞共计19个,被JSOF研究人员称为"Ripple ...

  2. 揭秘家用路由器0day漏洞挖掘技术原始环境搭建

    对于未知的复杂事物,应该先去跟谁它,观察它,然后挖掘其规律.<揭秘家用路由器0day漏洞挖掘技术>出版于2015年,使用的系统环境为ubuntu-12.04.4-desktop-i386( ...

  3. 深度解析物联网设备的区块链技术

    物联网(IoT)和区块链是最新的流行语之一,自其诞生之日起就一直在稳步增长.毫不夸张地说,物联网很快将成为我们日常活动的一部分,以使生活更轻松.更方便. 然而,这种便利可能是有代价的.具体来说,使用物 ...

  4. 试读《揭秘家用路由器0day漏洞挖掘技术》

    引子 当前,随着时代的发展,网络技术的不断进步,不论企业还是个人都越来越离不开网络,网络安全也逐渐引起了人们的关注.然而,在由无数个节点和链路构建起来的纷繁复杂的网络系统中,看似简单的路由器却是网络系 ...

  5. 移动设备感染率及物联网设备安全漏洞数量创下历史新高

    诺基亚近日发布最新<威胁情报报告>.报告显示,移动设备恶意软件感染率创下历史新高,受攻击智能手机及主要物联网设备安全漏洞的数量出现大幅增长. <诺基亚威胁情报报告>每年发布两次 ...

  6. 读《揭秘家用路由器0day漏洞挖掘技术》 后有感:第一道防线的重要性

    读<揭秘家用路由器0day漏洞挖掘技术> 后有感:第一道防线的重要性 一.路由器漏洞的分类 笼统的回答一下这个漏洞问题:厄运饼干漏洞 .UPnP协议漏洞.NAT-PMP协议漏洞.32764 ...

  7. 《0day安全:软件漏洞分析技术》学习笔记·1(需要补充节部分)

    文章目录 基础知识 漏洞概述 漏洞挖掘 漏洞分析 漏洞利用 漏洞在安全中的应用 二进制文件概述 PE文件格式 虚拟内存 PE文件与虚拟内存之间的映射 基础知识 漏洞概述   通常把这类能够引起软件做一 ...

  8. 企业网站制作网站安全评估技术与漏洞挖掘技术

    近些年在信息技术的作用下, 人们的生活方式.生活质量发生了翻天覆地的变化, 而这一切都得益于对网络技术的应用与使用.当然与之对应的是在网络技术的不断应用过程中, 网络安全问题渐渐成为了人们必须重视的问 ...

  9. 某设备产品漏洞挖掘-从JS文件挖掘RCE

    前言 某次渗透过程中碰到了个设备产品,通过一些黑盒测试小技巧获取目标权限 信息收集 [点击获取网络安全学习资料·攻略] 2000多本网络安全系列电子书 网络安全标准题库资料 项目源码 网络安全基础入门 ...

最新文章

  1. 构建dubbo分布式平台-maven构建根项目
  2. 文本转化工具dos2unix
  3. 压缩感知 的自我理解
  4. 汇编语言PTR运算符:重写操作数的大小类型
  5. pual_bot 天气插件编写
  6. 诺基亚S40手机联系人导入安卓手机
  7. centos 7 安装kvm 虚拟机
  8. django添加字典格式的数据
  9. oracle 转换为double,Oracle - 将Varchar转换为Float并指定精度
  10. 吴裕雄 15-MySQL LIKE 子句
  11. 转:初学 Java Web 开发,请远离各种框架,从 Servlet 开发
  12. CSS按钮动画(五)
  13. 每天一道剑指offer-连续子数组的最大和
  14. Java的GUI学习
  15. 继承体系下的对象构造
  16. 第二阶段 站立会议 10
  17. 禁掉win2003/2008服务 提高系统运行速度
  18. ae去闪插件deflicker使用_Ae/Pr视频去闪烁插件REVisionFX DEFlicker v1.7.1 Win大众脸已注册...
  19. QT全局钩子监控鼠标和键盘
  20. 数据可视化之热力图相关系数图(原理+Python代码)

热门文章

  1. 2021-2025年中国反勒索软件行业市场供需与战略研究报告
  2. 阳江计算机考试时间,2016年9月阳江计算机三级四级准考证打印入口,计算机等级考试时间查询...
  3. 编程语言小传之 零.第一个研究写程序的女人
  4. 快速学习COSMIC方法之十一:如何识别输入?
  5. 二叉树的前、中、后序遍历的代码实现(递归方式)
  6. 关于场景烘培以及灯光使用的基础文章
  7. ECLIPSE 安装及与CDT 的使用
  8. 系统学习redis之五——redis数据类型之list类型及操作
  9. c 盘空间又满了?微信清理神器帮你释放空间
  10. favicon自动获取_给你代码:网站图标favicon自动抓取