本文由雷锋网专栏作者百度安全兜哥撰写。虽然低调,干货却不少。
在刚结束不久的 BlackHat 会议上,Tripwire 的首席安全研究员特拉维斯·史密斯(Travis Smith)发布了一款开源的网络监控软件Sweet Security。这是本次 Blackhat 上发布的第一款专门针对 IOT 设备和工业控制系统(ICS)的安全软件。
物联网 IOT 设备和工业控制系统 ICS 设备在底层硬件上有很多许多相似之处,两者都面临这两大安全难题:一方面,因为计算和内存资源有限,很难运行常见的监控软件,更糟糕的是其操作系统也往往因为过于老旧或者定制开发的导致常见的安全监控软件甚至无法安装。另一方面,IOT和ICS的通讯协议大量使用定制的协议,比如Modbus和DNP3,现有的开源监控软件很少支持。
基于这样的现状,特拉维斯·史密斯开发了一套基于 Bro 和 ELK 的针对 IOT 和 ICS 的安全监控软件——Sweet Security。它通过开源软件Bro支持了常见的DNS、HTTP等协议,同时支持了工控系统常用的Modbus和DNP3协议,并且减少开源软件上不必要的功能以减少资源消耗,让这套软件可以在计算和内存资源相对贫乏的IOT设备上运行。这就很好的解决了上面的两个问题。
举例来说,一个典型的配置为单核700 MHz 的处理器和512MB的内存,这种硬件配置就相当于是常见的树莓派 Raspberry Pi 入门配置,即使这样的简单系统也可以运行 Sweet Security 系统。
Sweet Security 通过监控 IOT 和 ICS 的通讯流量识别攻击行为,包括基于 Modbus 和 DNP3 协议的攻击。监测到的结果会保存在本地存储,并且支持进一步发送给 ELK 或者常见的日志收集系统,比如 SIEM。
Sweet Security支持的操作系统为 Raspbian Jessie、Debian Jessie、Ubuntu 16.04,目前支持的硬件平台为RaspberryPi 、x86、x86_64;推荐的硬件配置为ARM, x86, or x86_64 CPU;2GB RAM;8GB Disk Storage;100 MB NIC 。
总体上看,该软件从架构上使用开源的大数据处理架构 Bro和ELK,具有良好的可扩展性,并且它针对IOT和ICS特有协议的解析,支持检测通过这些协议的攻击行为。它的开源可以很好地促进IOT和ICS开源安全产品的发展。
Sweet Security的下载地址和安装方法具体如下:
Sweet Security的 GitHub 地址为:https://github.com/TravisFSmith/SweetSecurity
安装方法为:git clone https://github.com/travisfsmith/sweetsecurity
sudo python setup.py
安装软件前建议安装 Python 和 Java 环境。
Python 2.7
sudo apt install python
Java 1.8
sudo apt install default-jre
安装模式支持三种:
Full Install: This will install Bro IDS, Critical Stack (optional), Logstash, Elasticsearch, Kibana, Apache, and Sweet Security Client/Server. Choose this option ONLY if you have 2GB of memory or more.
Sensor Only: This will install Bro IDS, Critical Stack (optional), Logstash, and Sweet Security Client
Web Server Only: This will install Elasticsearch, Kibana, Apache, and Sweet Security Server
Sweet Security也支持分布式部署,一个推荐的分布式架构包括分别执行ARP Spoofing、Network Scans和Bro IDS Inspection的三个客户端以及一个基于Web的服务器。
Client: ARP Spoofing
Client: Network Scans
Client: Bro IDS Inspection
Server: Website Hosting