網絡犯罪份子為了逃避偵測想盡千方百計,其中一種近年逐漸興起的方法是騎劫Windows系統的DLL,傳統保安工具通常無法偵測這種技術,為此Kaspersky的專家開發了機器學習模型去提高偵測DLL騎劫的準確度。
DLL騎劫的運作與偵測困難
在Windows環境中突然啟動了未知的檔案,立即吸引了保安工具的注意,又或者直接封鎖,而DLL騎劫其實就是試圖把用惡意檔案取代受信任的檔案,方法有幾種方式,一種是攻擊者把惡意library與合法軟件一同散播,然後軟件執行惡意library,第二種方法是在已安裝的程式上取代模準的DLL,又或者控制系統機制決定library的載入和執行的位置。結果惡意DLL檔案被合法程序在自己的位置空間和權限啟動,普遍endpoint protection系統視之為合法活動,因為Kaspersky的專家決定使用AI技術應對。
使用機器學習偵測DLL騎劫
專家們訓練機器學習模型去偵測DLL騎劫,基於有關library和程序的間接資料,並找到試圖操控library的關鍵指標,執行檔和library是否位於標路徑,檔案有否被否被重新命名,library的大小和結構有否改變,數碼簽章是否無損等。第一個模型的準確性頗低,所以在加入方案之前,專家們經過多次迭代,結果模型現在能高準確地偵測DLL騎劫,詳細資料可以瀏覽Securelist。
在Kaspersky SIEM偵測DLL騎劫
在SIEM系統內,模型分析已讀取的DLL元數據和從telemetry呼叫的程序,標記為可疑的個案,然後與KSN雲端數據交叉檢查結果,不但提升了DLL騎劫的偵測準確度,也減少誤報,模型能夠在關聯子系統和事件收集子系統上運作。在第一個個案,它只檢查已觸發關聯規則的事件,令評估威脅時更加精準,有需要時更快發出警告,由於並非所有事件都被檢查,對雲端的查詢量不會對模型的反應造成明顯影響。
第二種情況是模型會處理符合特定條件的library載入事件,這種方法消耗較多資料,但對追溯性威脅追蹤非常有價值。更重要的是,隨著威脅和合法程序的累積和演算法發展,模型的準確度將持續提升。
資料來源:Kaspersky Blog


