反病毒軟件捕捉不到Rowhammer及類似邊信道攻擊,于是,一組美國科學家著手研究該怎樣捕獲這些攻擊的特征。
一旦考慮到實驗室環境和間諜工具之類的東西,邊信道攻擊就是很具體的事兒了。舉個例子,Rowhammer攻擊。這是一個通過快速重寫RAM行,以純軟件方式翻轉RAM上鄰近存儲單元的攻擊方法。最終,Rowhammer能使攻擊者搞崩內核進程,獲取到root權限。
美國馬薩諸塞州伍斯特理工學院(WPI)的3名研究員,在國際密碼研究學會(IACR)發表了一篇論文,展示了類似病毒掃描的邊信道攻擊檢測技術。
他們在文章中指出,標準反病毒軟件檢測不了Rowhammer之類的漏洞利用,因為此類攻擊“明顯基于無辜的指令集”。
雖然防御此類“微架構”攻擊是可能的,但這3名研究人員提出的方法,是在邊信道惡意代碼部署之前(比如投送到應用商店),就掃描軟件以確保二進制代碼干凈。
他們的工具名為MASScan(微架構靜態掃描),基于對惡意邊信道攻擊方式的分析:
緩存攻擊——通過制造緩存爭用起效。此類攻擊的共同特征,是對高分辨率計時器的需求;它們使用內存屏蔽來連續針對性讀取操作;利用共享的內存刷新指令等實現緩存驅逐。DRAM訪問攻擊——造成系統內存沖突。此類攻擊與緩存攻擊類似,共享計時器、內存屏蔽和緩存驅逐特征。Rowhammer攻擊——僅有緩存驅逐一個明顯特征。通過阻斷內存總線制造隱秘信道——高分辨率計時器和鎖定指令的組合,目的是拖住內存總線以在兩個共存進程間建立隱秘信道。MASScan的重點在于分析二進制文件以發現這些特征——當今病毒掃描器發現不了的特征。MASScan是一組 IDA Pro 反匯編調試器腳本集,可被轉譯成適用于其他二進制分析器的代碼。
比如說,cflush指令本身不是惡意的,那么MASScan尋找的就是cflush指令的循環執行——也就是緩存攻擊、DRAM訪問攻擊和Rowhammer攻擊全都利用的操作。
比較遺憾的是:除了資本化,MASScan同時也是 Errata Security 出品的一款聲名狼藉的端口掃描器的名字,那款掃描器名為Masscan,僅僅是大小寫不同而已。希望WPI三人組發布代碼的時候能改個名字,免得撞名。