1. 程式人生 > >資訊保安相關知識(ATP攻擊,挖礦網站的挖掘,Botnet)

資訊保安相關知識(ATP攻擊,挖礦網站的挖掘,Botnet)

APT攻擊

特點:

  • 平均發現時長:232天
  • fileless(幾乎不進行檔案操作):24%的情況會涉及檔案操作

病毒查殺的關鍵在於準確度響應時間

傳統的防護措施:

  • 防火牆:基於網路流量分析(對流量進行加密則會失效)
  • 靜態特徵:提取病毒檔案特徵碼(將檔案進行混淆,就可以繞過)
  • 動態特徵:沙盒分析(可能與客戶環境不同)
  • IP/DNS分析:通過分析IP地址(可以繞過)
響應時間\準確率
防火牆;靜態分析 細粒度資料檢測;簡單行為分析
- 沙盒

端點防禦:Endpoint Detection and Response(EDR)

ATP的過程:初步入侵(防火牆等防禦之處)、立足、持續偵察擴散、高價值資訊獲取

基本通過釣魚的方式進行入侵

解決方案(KEY IDEA):底層動態行為分析(細粒度,機器學習)

HOOKING:不穩定,容易藍屏,微軟不支援,windows不開源

ETW收集資料(本身是微軟debug的程式,因此資料不完整):獲取API和syscall。

challenge 1:單純通過syscall和API都難以辨別,完全不同的app可能呼叫的底層syscall一樣;AP的語義很好但是很容易繞過(自己新建一個程式就繞過了)。就需要通過API結合callstack分析行為的語義。用機器學習的方法進行分類。

challenge 2:資訊過載

主要針對的是RAT

樣本不均衡:負樣本:自己跑RAT+混淆;正樣本:企業大規模使用的軟體+和RAT類似的軟體。

通過API+syscall檢測出異常行為,然後再tracking出整個過程(forensic event level)。

現在RAT最後都會銷燬整個入侵時候的檔案,通過日誌分析很難察覺是攻擊行為,所以需要通過API+syscall分析。

challenge 3:需要追蹤是的HUB PROCESS很難找出讀寫對應的關係,所以很難追蹤到源頭。

發現後的response:kill程序,刪除檔案,對於誤報(例如Teamviewer)加白名單。

DNSMon Detect Cryptojacking

Cryptojacking

利用網站進行挖礦

網站站長|黑客|中間人|廣告商等三方資源控制者
訪問網站⇅Miner.js
使用者

Structure

實時DNS-異常分析(新出現的域名/突然活躍的域名/flaot-outlier/DNS ralate和已知有問題的DNS相關)-爬蟲叢集-自動判斷(co-domain主站/var變數名稱(miner)/載入了哪些資源(流量分析))

flaot-outlier

FLOAT=FQDN Popularity Rank
有效性:分數意味著流行程度
穩定性:排名發生劇烈變動意味著絕對的業務變化

motheds & cases

start with “freecontent.bid”
Co-Rdata: 公用同一個ip資源的網站(3/3)
compose-similarity: 名字類似(7/21)
Ts-Relate: 時間序列相似性
Sub-domain: api/ws.xxxxx.xxx
Realtime Outler: 實時監控所有活躍的挖礦主站

Statistics

Miner Pool: 1k
Miner Site in Alexa Top30w: 600+(0.2%+)
Miner Site in All: 4w+(0.06%+)

結語

從資料中來:跟入分析節點,重要程度,緊要程度,…
到資料中去:由點到面,多維關聯,評估標準,…

As Above, So Below, as it is within, so it is without
上行,下效,存乎中,形於外

通過Anglerfish蜜罐發現未知惡意軟體威脅

作者:
葉根深
github:zom3y3
[email protected]
360安全研究院
to be a malware hunter!
#Botnet #Pentest #Honeypot

背景

因為IPv4地址和網路埠都可以遍歷,網路掃描成為對網路裝置資訊蒐集的主要方法。
越來越多的Botnet整合網路掃描和漏洞利用功能,並瞄準IoT和伺服器漏洞,實現分散式掃描和蠕蟲式傳播
分析網際網路掃描資料尤其是IoT和伺服器環境,有助於看清Botnet的演變過程
以攻擊者的思維去防守

對蜜罐的理解和需求

蜜罐協議模擬是基礎,蜜罐資料分析是核心,捕獲惡意樣本是目的
能夠在TCP/UDP全埠捕獲未知的惡意掃描軟體威脅
程式方便協議擴充套件,資料結構方便資料分析
模擬被掃描的反應和Botnet做互動

如何設計開發Anglerfish蜜罐

借鑑前人的經驗(blackhole)
Anglerfish蜜罐程式框架
模擬應用協議/漏洞(docker shell模擬返回結果立即返回)
Fuzz testing(永遠返回Botnet想要的結果)
通過RSS關注最新安全資訊

遇到的問題

如何判斷/提升Fuzz testing的成功率
只能對已知的應用協議進行Fuzz testing
Fuzz testing不成功導致會話停止

Anglerfish蜜罐的資料結構

儲存三個表(session/downloads/payloads)

對抗案例

惡意樣本的下載方式
掃描程式payload資料編碼/壓縮/加密
掃描程式中的漏洞檢測機制
掃描程式中的蜜罐檢測機制

例項分析Muhstik Botnet

Botnet掃描檢測演算法

在一個時間視窗內,計算每個port uniq_scrip和session的線性關係相關係數,線性相關係數越大,越有可能是Botnet(一群Bot掃)
每個session的MD5的線性相關係數,越大越有可能是Botnet(都掃一樣的)

展望

實時結合網際網路漏洞,捕獲更多未知的malware威脅
以Fuzz testing的思想取與掃描軟體智慧互動