您当前的位置:首页 > 互联网百科 > 物联网

基于Linux沙箱分析物联网(IoT)恶意软件

时间:2022-07-20 09:58:29  来源:  作者:认知计算与云安全

过去几年,物联网设备的弱安全标准利用了linux恶意软件。使用默认密码、过时的固件或系统漏洞暴露的te.NET和ssh服务——所有这些都是让攻击者构建由数千个受感染的嵌入式设备组成的僵尸网络的方法。本文介绍在Linux平台上用于自动化恶意软件分析的多平台沙箱的设计

1、Linux沙箱技术

在计算机安全领域,沙箱(Sandbox)是一种程序的隔离运行机制,其目的是限制不可信进程的权限。沙箱技术经常被用于执行未经测试的或不可信的客户程序。为了避免不可信程序可能破坏其它程序的运行,沙箱技术通过为不可信客户程序提供虚拟化的磁盘、内存以及网络资源,而这种虚拟化手段对客户程序来说是透明的。由于沙箱里的资源被虚拟化(或被间接化),所以沙箱里的不可信程序的恶意行为往往会被限制在沙箱中。

沙箱技术一直是系统安全领域的挑战,不存在说哪一种方案是足够安全的。沙箱技术方案通常是需要结合多种系统安全技术来实现,采用防御纵深(Defencein Depth)的设计原则,筑建多道防御屏障,尽可能地将安全风险将为最低。下面我们主要讨论如何利用Linux kernel所提供的安全功能来建立有效的沙箱技术。

Linux安全模型相关的内容:

  • 每个进程都有自己的地址空间;
  • MMU硬件机制来保证地址空间的隔离;
  • Kernel是系统的TCB(TRusted Computing Base),是安全策略的制定者和执行者;
  • 进程是最小的权限边界;
  • root具有最高权限,它能控制一切;
  • 其它用户受DAC(Discretionary Access Control)限制,如文件系统的UGO权限控制。

进程是最小的权限边界,其根本原因是MMU能保证进程地址空间的隔离。Linux Kernel还提供了与进程降权(drop privilege)相关的一些功能:

  • setuid
  • POSIX.1e capability
  • Chroot jAIl
  • Quota control(eg,cgroup,namespace)
  • Linux Container
  • Linux Security Module(LSM)

2、Linux恶意软件分析的挑战

顶级分析创建管道的开始。它充当整体分析的主管。在这部分管道中,二进制文件被预先分析,以便为其他分析模块(例如文件格式细节或CPU架构)提供必要的元数据。

静态分析使用许多静态分析工具之一搜索相关的静态模式。考虑的工具主要是readelf、objdump、pyelf、radare2和RetDecfileinfo。

动态分析跟踪运行二进制、新创建的进程、文件系统操作和系统调用。管道应该易于扩展,以便用户可以定义自己的分析模块。自定义模块的示例是Virus Total模块,它调用免费的Virus Total API来获取恶意软件扫描结果。各个模块的输出组合成最终的JSON输出。然后可以进一步处理该最终输出。进一步的处理可以在网络图形用户界面中手动进行,也可以通过YARA的自定义模块进行。

3、执行分析

在目标架构上运行和分析示例的第一步是准备仿真环境。物联网恶意软件正在为广泛传播的架构而构建。这导致选择开源项目QEMU作为模拟准备好的系统的唯一可行选项。QEMU支持多种架构,包括MIPS、ARM、SPARC、AArch64、PowerPC。目标系统由自建Linux内核和准备好的文件系统和分析工具组成。为了交叉编译镜像,使用了buildroot项目。Buildroot是一个通用工具,有助于为嵌入式系统开发Linux。

3.1动态分析

实现动态分析的关键是省略用户级工具ptrace syscall并准备内核级跟踪。SystemTap被选为最终解决方案,因为它提供了简单的类C语言来定义探测器,并且恶意软件分析师可以更轻松地更改或添加动态分析功能。当前的实现使用探针来创建进程树、跟踪系统调用并标记打开或删除的文件。

构建过程如下:

  • 将SystemTap(.stp)脚本翻译成C语言。
  • 针对已经准备好的内核,将C代码交叉编译为目标架构的内核模块。
  • 将构建的内核模块插入目标文件系统。

3.2网络分析

网络分析模块加载tcpdumppcap文件并提供逐包分析。在最初的原型中,我使用了Python/ target=_blank class=infotextkey>Python库——Scapy和dpkt。事实证明,这两种方法在分析时都很慢,甚至在加载更大的pcap文件时也遇到了问题。因此,我准备了与Python绑定的C++库来解析pcap数据。

网络分析仪中实现的第一个重要功能是端点检查。Analyzer使用免费的Geolite国家、城市和ASN(自治系统编号)数据库。然后在多个黑名单中搜索IP地址。

其他通用指标包括端口统计信息、每个端点传输的数据量、TCPSYN、TCPFIN数据包。最后,analyzer提供L7分析。目前输出的L7信息包括解析的DNS查询、HTTP请求、IRC消息和telnet数据。

还注意到网络异常。这些异常是例如命中列入黑名单的IP地址、发送格式错误的数据包或明显的IP和端口扫描。

4、分析构建及结果

基于Docker容器化,各个沙箱元素的连接构建。单个沙箱包括:

  • Flask API-WebAPI具有用于创建新任务(完整文件分析或仅pcap分析)、查看任务状态、结果和下载分析相关文件(例如捕获的pcaps)的端点。
  • RabbitMQ-它用作使用AMQP协议的消息代理。它存储和控制着进入沙箱的任务队列。
  • MariaDB-开源MySQL替代方案。它存储分析任务结果。
  • Nginx-在实施的系统架构中,nginx代理将传入请求传递给uwsgi服务器(运行Web API)。
  • Sandbox workers-运行分析管道的工作者节点。

Docker容器使用与主机相同的内核,因此它们的开销最小。配置文件——Dockerfiles——由指令组成。Dockerfile指令描述了构建最终docker镜像的过程。这些docker镜像带有它们的所有依赖项,并且应该在所有安装了docker的系统上正常运行。我准备了最适合运行多容器应用程序的docker-compose文件。可以简单地运行:

docker-compose up –scale worker=10

启动完整的系统并扩展沙箱工作人员的数量以满足所有请求。

在分析的恶意软件中看到的行为包括:

  • IP扫描——我们数据集中最常见的行为。由于当前大多数物联网恶意软件都会创建僵尸网络,因此其目标(机器人)通过在其他设备中发现漏洞来传播。LiSa区分本地网络和Internet扫描,并在发生此类事件时触发异常。通常的目标端口是端口23(SSH)。
  • 端口扫描——恶意软件扫描本地网络中的许多端口以查找打开的端口。
  • HTTP请求–检测到多个异常HTTP请求并将其标记为异常。HTTP请求可能包含垃圾或目标端点以获取数据(例如GET/version)。
  • 格式错误的DNS数据包——这些数据包在标头值中包含大量数字(问题、答案、权限和其他资源记录的数量)。
  • IRC–恶意软件连接到IRC服务器并等待来自CC服务器的命令。
  • 针对特定国家——样本仅与特定国家的数百个主机联系。这些国家是越南、中国、孟加拉国、泰国和印度。
  • 更改了进程名称——使用带有请求PRSETNAME的Syscallprctl来隐藏恶意软件进程。
  • 列入黑名单的端点——在黑名单中发现了几个端点的IP地址。
  • 以指定应用程序为目标——示例以wordPress/ target=_blank class=infotextkey>WordPress应用程序及其端点/wp-login.php为目标。
  • Ptrace–Ptrace系统调用被检测为一种反调试技术。
  • 进程创建——检测到的通常用于守护应用程序的分叉进程。

5、结论

首先,广泛的网络分析、异常检测和使用Python绑定实现C++库,克服了常用的包Scapy和dpkt。其次是SystemTap监控环境及其交叉编译工具链的准备。使用内核级分析可以扩展到完整的系统监控解决方案。



Tags:沙箱   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
小程序安全沙箱方案,助力企业安全防护
近年来,随着软件供应链攻击(SSCattack)安全问题频频发生,各类软件供应链攻击事件给世界各地个人、企业甚至国家带来了巨大的隐私泄露和财产损失.如2017年6月27日勒索软件变种P...【详细内容】
2022-10-26  Search: 沙箱  点击:(259)  评论:(0)  加入收藏
基于Linux沙箱分析物联网(IoT)恶意软件
过去几年,物联网设备的弱安全标准利用了Linux恶意软件。使用默认密码、过时的固件或系统漏洞暴露的telnet和ssh服务——所有这些都是让攻击者构建由数千个受感染的...【详细内容】
2022-07-20  Search: 沙箱  点击:(316)  评论:(0)  加入收藏
知识可视化,几张图告诉你什么是沙箱&如何分析文件
今天就来介绍下文件情报的分析,以及分析文件必用的沙箱为何物?一、什么是沙箱小时候玩沙子,一沙一世界,操盘我的虚拟天地。沙箱,就像我的虚拟世界。 沙箱:是桌面运行环境的虚拟镜...【详细内容】
2021-08-31  Search: 沙箱  点击:(331)  评论:(0)  加入收藏
使用 Node.js 打通支付宝支付(沙箱环境)
沙箱环境 (Beta) 是协助开发者进行接口功能开发及主要功能联调的辅助环境,模拟了开放平台部分产品的主要功能和主要逻辑。可用于在产品上线前了解环境、组合和调试各种接口。...【详细内容】
2020-09-17  Search: 沙箱  点击:(425)  评论:(0)  加入收藏
▌简易百科推荐
2024年五个重要的物联网趋势
今年,我们对物联网每种趋势进行了评级,即其可能的有效性程度。1 到 10 之间的数字是我们对 2024 年这一趋势可能对企业物联网项目产生多大影响的评估。真正重要的事情只有在回...【详细内容】
2024-03-20  计算机程序吧  微信公众号  Tags:物联网   点击:(12)  评论:(0)  加入收藏
简易百科科技之到底什么是物联网?
物联网,英文名为Internet of Things,简称IOT,是指通过信息传感设备,如射频识别、红外感应器、全球定位系统、激光扫描器等,按照约定的协议,对任何物品进行信息交换和通信,以实现智...【详细内容】
2024-01-30    简易百科  Tags:物联网   点击:(46)  评论:(0)  加入收藏
一篇文章告诉你什么是物联网的感知层、网络层与应用层的意思?
物联网的概念在很早以前就已经被提出,20世纪末期在美国召开的移动计算和网络国际会议就已经提出了物联网(Internet of Things)这个概念。最先提出这个概念的是MIT Auto-ID中...【详细内容】
2023-12-28  物联网IoT技术  微信公众号  Tags:物联网   点击:(64)  评论:(0)  加入收藏
物联网之能源预测性管理
通过实施能源预测性管理,企业可以更加高效地利用能源资源,降低成本,并减少对环境的影响。同时,这也有助于提高企业的竞争力和可持续发展能力。能源预测性管理是一种基于数据分析...【详细内容】
2023-12-22  独数易智  微信公众号  Tags:物联网   点击:(43)  评论:(0)  加入收藏
万物互联成大势 物联网发展进入加速期
截至11月末,我国建成承载物联网的5G基站达到328.2万个,物联网连接数超过23亿,同比增幅达27.2%……自2022年8月我国率先迈入“物超人”时代以来,“物联”接棒连接“领...【详细内容】
2023-12-21    人民邮电报  Tags:物联网   点击:(43)  评论:(0)  加入收藏
物联网技术将于2024年成熟
人工智能、机器学习(ML)、5G和其他连接服务在内的物联网技术预计将在2024年趋于成熟,不断满足企业持续的劳动力和供应链需求。2024年的宏观经济形势比过去几年更加稳定,为企业...【详细内容】
2023-12-14    千家网  Tags:物联网   点击:(50)  评论:(0)  加入收藏
物联网小知识:开关量、数字量、模拟量、离散量和脉冲量它们之间有什么区别?
开关量、数字量、模拟量、离散量和脉冲量是电子测量和控制系统中经常遇到的不同类型的数据。它们在定义、特性和应用方面存在差异。在电子测量和控制系统设计中,根据实际需求...【详细内容】
2023-12-13    物联网星球  Tags:物联网   点击:(74)  评论:(0)  加入收藏
LoRA模型的容量与覆盖范围研究与扩展
LoRA(LongRange)是一种低功耗、远距离通信的无线技术,被广泛应用于物联网(IoT)领域。LoRA技术的独特之处在于其长距离通信能力和低功耗特性,使得它成为连接设备和传感器的理想选择...【详细内容】
2023-12-13  办公小能手    Tags:LoRA   点击:(50)  评论:(0)  加入收藏
物联网平台之IOT网关
IOT网关即物联网网关,是一种网络设备,在物联网系统中负责连接和控制各种设备,将它们连接到云端、本地服务器或其他设备上。它既可以实现广域互联,也可以实现局域互联,通过协议转...【详细内容】
2023-12-07  独数易智  微信公众号  Tags:IOT网关   点击:(65)  评论:(0)  加入收藏
物联网的应用与实践
物联网这个话题,说复杂也复杂,说不复杂也不复杂,小场景小应用,大场景大应用,很多人对这个概念既模糊又清晰,基于国内大厂的物联网场景广泛应用。其实以下几个点需要关注。1、网联...【详细内容】
2023-12-06  独数易智  微信公众号  Tags:物联网   点击:(65)  评论:(0)  加入收藏
站内最新
站内热门
站内头条