基于蜜罐的嵌入式主动防御系统设计与实现
扫描二维码
随时随地手机看文章
引 言
随着智能设备的快速发展,嵌入式系统在工业制造、交通运输、智能家电、家庭智能管理、POS 网络、环境工程、国防军事等各领域的高速发展,不仅优化了我们的工作方式, 加快了工作节奏,方便了生活学习,还大大降低了生活成本, 时刻发挥着重要作用。但嵌入式设备层出不穷的安全问题也为人们的日常带来了不可估量的损失,比如汽车在行驶过程中被不法分子远程控制;家中的智能门禁设备遭到远程攻击;智能机器人被远程控制对人行凶等,保证嵌入式系统的安全已成为人们关注的焦点。一般的嵌入式系统只有在受到攻击后才去查找相应的攻击源并采取防御措施,但显然这种被动式的防护策略无法有效保证嵌入式系统的正常运行。系统根据网络安全问题防范对策的全局性,依据各类安全系统信息共享与互动的思想,利用蜜罐技术与防御系统联动实现了主动防御,建立了基于蜜罐的嵌入式主动防御系统模型,使得嵌入式系统在遭受网络攻击时能够更加有效的保证各类嵌入式设备的安全运行,提高容灾能力。
1 蜜罐
蜜罐是一种吸引不法分子入侵的 安全资源 ,在不法分子入侵时发挥作用 [1]。蜜罐一般虚拟成与被保护设备环境相同的虚拟设备,并主动暴露虚假的敏感数据,它可以虚拟成一个网络、一台关键设备或一项服务,也可以是数据库中伪装成敏感数据的某些无用数据项以及伪装的用户名及其弱口令,部署在各内部子网或关键设备上,它并不对外提供正常服务,只充当 受害者 的角色,诱骗来自网络内部和外部黑客攻击其 敏感数据或服务 ,并进行交互,消耗对方的时间和资源。与此同时,蜜罐还可实时记录入侵过程,获取攻击信息,对攻击进行深入分析,提取入侵特征并写入日志文件,使网络管理者能够在可能的攻击发生前对真实设备修补安全漏洞,主动进行防御[2],是一种在通过诱惑攻击的同时对入侵行为进行分析的诱骗技术[3]。蜜罐的工作模型如图 1 所示。
2 系统体系结构
蜜罐技术是一种具有主动性的入侵响应技术 [4],它可以虚拟出一台或多台与被保护设备环境相同的虚拟设备,充当黑客的目标,诱骗攻击者攻击,从而有效保护真实设备的安全运行。与此同时,还会实时记录入侵过程、获取攻击信息,对攻击进行深入分析,提取入侵特征,并写入日志文件。系统根据网络安全问题防范对策的全局性,依据各类安全系统信息共享与互动的思想,通过编写联动机制程序提取日志中攻击者的特征信息,实时动态联动netfilter/iptables 设置防火墙规则, 完善防御规则,保护真实设备,对各类攻击行为进行提前防御, 达到主动防御的目的。可将其部署在各内部子网或关键设备上, 以有效防御来自网络系统内部及外部的攻击 [5]。系统体系结构如图 2 所示。
3 系统实现
3.1 Honeyd
系统所应用的蜜罐软件为Honeyd,Honeyd 能够虚拟出一台或多台环境各异的虚拟设备,因此也称虚拟蜜罐。这些虚拟蜜罐能够根据需要被配置以提供相应的服务,系统特征也与所保护设备一致,如同真实的系统在运行。Honeyd 可以根据需要虚拟出多个蜜罐,既可以单个蜜罐工作,也可以多个蜜罐组成一个蜜罐网络体系,形成虚拟的蜜罐网络。
与传统安全软件相比 [6],Honeyd 可以虚拟出任意 TCP/ UDP 网络服务, 如 IIS,Telnet,pop3 等;支持同时模拟多个 IP 地址主机 ;支持 ICMP,对 ping 和 traceroute 可做出响应;通过代理和重定向支持对实际主机、网络服务的整合;提供UI 用户界面;通过部署 Honeyd 诱骗黑客攻击,可以对黑客的攻击行为进行捕获和分析,了解黑客在干什么,捕获黑客的攻击方法、键击记录、攻击工具,监控其会话等。此外, Honeyd 还存在如下优势:
(1) Honeyd具有Linuxopen精神,用户可根据需要进行改进。
(2) 基于程序的模块化设计,Honeyd拥有满足各样功能的插件接口,也可根据用户自身需要进行改进。
(3) 可以模拟的主机系统类型基本覆盖现有的所有系统, 如 Windows、Linux、FreeBSD、CiscoRouter7200、Zyxel Router等。
(4) Honeyd占用的系统资源非常少。
3.2 系统实现
将虚拟机作为被保护的设备,在虚拟机上利用 Honeyd 软件虚拟出一台(或多台)蜜罐作为引诱黑客攻击的设备,将虚拟蜜罐与被保护设备软硬件条件及各项参数环境设置一致, 在Honeyd上建立Honeyd.log 文件,即 Honeyd 日志文件,当有黑客攻击时,Honeyd 日志文件会根据自定义编写的规则实时动态捕获攻击者的信息,并写入日志文件。将 Honeyd 日志文件中捕获的攻击者特征数据与iptables 建立联动关系。系统实现模型如图 3 所示。
编写联动机制程序,建立联动关系。其操作内容包括对蜜罐日志的读取,启动防火墙并将日志中捕获的特征数据添加到防火墙列表中。自动启动防火墙,对入侵行为过频繁的源地址 IP 进行阻拦(更多规则可自定义编写)。程序运行流程图如 图 4 所示。
3.3 Honeyd 移植
Honeyd 移植,编译环境建立在 Linux 操作系统的 PC 上,在 ARM-Linux 实验平台(ARM11)实现 Honeyd 移植。 Honeyd 依赖三个库和一个 Arpd 工具,三个库分别为异步事 件响应库、数据包构造与发送库、数据包捕获库。Honeyd 所 需的库文件成功创建之后,对 Honeyd 进行编译和安装。
4 验证系统功能及实例测试
系统功能测试图如图 5 所示。用一台系统环境为 Win7 的电脑来模拟黑客对开发板进行攻击测试(其 IP 地址为 200.1.1.100),用已经移植了 Honeyd 的嵌入式开发板(ARM11) 充当被保护的对象(其 IP 地址为 200.1.1.101),打开超级终 端,设置好相应的端口号和波特率,给板子加电,板子自动 运行 Honeyd_log.sh 脚本文件,然后虚拟一个具有 Win7 环境 及相应配置的蜜罐(其 IP 地址为 200.1.1.88),建立日志文件 Honeyd.log,输入相应命令配置文件 Honeyd.conf 来创建所需 蜜罐系统环境,执行 ./start-arpd.sh 和 ./start-Honeyd.sh 启动 命令。此时,运行 scanport 端口扫描程序可以查看板子和板子 虚拟出来的端口号及 IP 地址,表示蜜罐虚拟成功。
主动防御系统功能测试:
(1) ICMP攻击测试打开两个 cmd,分别 ping 板子和蜜罐的IP,此时会发现,板子的 IP一段时间后无法 ping通, 因为蜜罐的IP被访问 10次后, 黑客 的IP地址会被防火墙自动屏蔽,访问板子失败。
(2) TCP攻击测试,执行./Honeyd_monitor命令打开监控程序与浏览器,地址栏输入 200.1.1.101/index.html,可正常看到登录页面。地址栏重新输入 200.1.1.88,并多次刷新,即增加访问次数,达到 10次便关掉监控程序,执行 iptables-L 命令查看防火墙列表,同样 黑客 IP 地址被防火墙屏蔽,访问板子失败。
(3) UDP 攻击测试,打开网络调试助手,选择 UDP协议, 本地 IP地址为 200.1.1.100,选择数据流循环发送,目标主机IP地址为 200.1.1.88,若超过 10次, 黑客 IP地址被防火墙屏蔽,访问板子失败。
经多次ICMP/TCP/UDP 攻击测试验证 [7-9],基于蜜罐的嵌入式主动型防御系统能够达到设计要求,建立了蜜罐与防御系统联动机制,实现了主动防御,提高了容灾能力,可有效保证嵌入式设备网络内部及外部的运行安全。实验数据统计结果见表 1 所列。
5 结 语
文章利用蜜罐技术建立了主动防御的嵌入式安全系统, 与传统的嵌入式安全系统相比,具有自主对网络攻击进行防御的特点。经过多次攻击测试,验证了本系统可将Honeyd 日志文件中记录的特征数据与防御系统建立联动关系,完善防御规则,对各类攻击行为进行提前防御,动态实现蜜罐与防御系统的联动,有效防御了来自内部和外部的攻击,实现了主动防御的目的。