資訊保安相關知識(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
利用網站進行挖礦
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的思想取與掃描軟體智慧互動