Laika BOSS:一款Object扫描仪、入侵检测系统
Laika是一款对象扫描仪和入侵检测系统,开发人员设计这个系统的目的是为了实现以下的目标:
适用范围
可在多种不同的平台上运行。
可接收来自于不同数据源的输入数据。
结构灵活
模块化的系统结构。
高度可配置的调度和处理逻辑。
战术代码注入(无需重启系统)。
冗余性
系统会产生大量可供研究人员分析和处理的元数据
在每一次的扫描过程中,系统都会对每一个扫描对象进行以下三项主要的操作:
搜索子对象
某些扫描对象是文档类型的,有些扫描对象则是经过封装的,还有一些则是经过了模糊处理的。无论你的扫描对象是哪种类型,我们都需要找到它们的子对象,并对这些子对象进行递归扫描。
标志位
标志位可以帮助研究人员分析和处理对象,并为将来进一步的分析和处理做好准备。
添加元数据
尽可能找到更多关于被扫描对象的信息,为将来进一步的分析和处理做好准备。
如果你需要获取更多的信息,请查阅白皮书:
http://lockheedmartin.com/us/what-we-do/information-technology/cybersecurity/laika-boss.html
系统组件
Laika是由下列系统组件组成的:
框架(laika.py)
这是Laika BOSS的核心部分。它包括对象模型以及系统的调度逻辑。
laikad
这一部分包括Laika的运行代码,以及使用ZeroMQ作为网络通讯库的网络服务。
云扫描
这是一个命令行客户端,它可以将一个本地系统文件发送至一个Laika系统中正在运行的服务。
模块
扫描的过程需要系统各个模块的协同运行。每一个模块都是一个单独的程序,而每一个程序都有其各自特殊的用处,它们会分别对一个整体文件的各个部分进行扫描和分析。
开始使用
研究人员已经在最新版本的CentOS以及Ubuntu LTS系统平台上对Laika BOSS进行了测试。
在Ubuntu上进行安装
安装框架所需的配置环境:
# apt-get install yara python-yara python-progressbar # pip install interruptingcow
安装网络客户端以及服务器:
# apt-get install libzmq3 python-zmq python-gevent python-pexpect
安装系统模块:
# apt-get install python-ipy python-m2crypto python-pefile python-pyclamd liblzma5 libimage-exiftool-perl python-msgpack libfuzzy-dev python-cffi python-dev unrar # pip install fluent-logger olefile ssdeep py-unrar2 pylzma # wget https://github.com/smarnach/pyexiftool/archive/master.zip # unzip master.zip # cd pyexiftool-master # python setup.py build # python setup.py install
我们推荐用户使用jq来解析Laika的输出数据。
独立运行实例
安装目录中包含完整的框架代码,你可以独立运行扫描器(laika.py),并使用它对任意一个文件进行扫描,如果你将这个文件从安装目录中移出并拷贝到了别的地方,那么你就必须要修改配置文件的位置变量了。在系统默认的配置下,系统会使用./etc directory中的配置文件。
$ ./laika.py ~/test_files/testfile.cws.swf | jq '.scan_result[] | { "file type" : .fileType, "flags" : .flags, "md5" : .objectHash }' 100%[############################################] Processed: 1/1 total files (Elapsed Time: 0:00:00) Time: 0:00:00 { "md5": "dffcc2464911077d8ecd352f3d611ecc", "flags": [], "file type": [ "cws", "swf" ] } { "md5": "587c8ac651011bc23ecefecd4c253cd4", "flags": [], "file type": [ "fws", "swf" ] }
网络实例
$ ./laikad.py $ ./cloudscan.py ~/test_files/testfile.cws.swf | jq '.scan_result[] | { "file type" : .fileType, "flags" : .flags, "md5" : .objectHash }' { "md5": "dffcc2464911077d8ecd352f3d611ecc", "flags": [], "file type": [ "cws", "swf" ] } { "md5": "587c8ac651011bc23ecefecd4c253cd4", "flags": [], "file type": [ "fws", "swf" ] }
许可证
Laika开源框架以及相关系统模块的开发与发布,都遵循Apache 2.0网络许可的相关条款。
开源项目地址: https://github.com/lmco/laikaboss
本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。