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-progressbarpip install interruptingcow</pre>
安裝網絡客戶端以及服務器:
# 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 unrarpip 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</pre>
我們推薦用戶使用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安全播報”,并附上鏈接。