Laika BOSS:一款Object掃描儀、入侵檢測系統

jopen 9年前發布 | 13K 次閱讀 安全相關 Laika BOSS

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</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 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</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安全播報”,并附上鏈接。

原文鏈接: https://github.com/lmco/laikaboss

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!