洪 征,田益凡,張洪澤,吳禮發
解放軍陸軍工程大學 指揮控制工程學院,南京 210000
協議規范是對網絡協議語法、語義以及同步等信息的具體描述,在網絡安全領域扮演著重要角色。僵尸網絡中,攻擊者使用C&C(Command and Control)協議來控制存在漏洞的主機實施DDoS(Distributed Denial of Service)攻擊等惡意行為,網絡管理員需要依據C&C協議規范來發現和分析僵尸網絡[1]。入侵檢測系統中,需要基于協議規范從繁雜的網絡流量中辨識出惡意流量。在模糊測試過程中,可以利用協議規范指導測試用例生成以實現更加高效的自動化漏洞挖掘[2-3]。然而出于利益、版權、安全等因素,軟件廠商和個人往往不愿意公開協議細節,如微軟使用的網絡文件共享SMB(Server Message Block)協議,Oracle數據庫訪問的TNS(Transparence Network Substrate)協議以及微信、QQ等即時通信軟件所使用的協議都沒有公開協議細節,這些未知協議在網絡中的廣泛使用,給安全防護帶來了極大的阻礙。
對于未知協議而言,目前主要通過協議逆向分析方法[4]獲取其協議規范。依據分析對象的不同,逆向分析方法可分為兩類:基于網絡流量的分析方法和基于指令執行軌跡的分析方法。基于網絡流量的分析方法對截獲的網絡數據流進行分析,通過生物信息學、統計分析、數據挖掘等方法,對報文樣本進行聚類分析,依據相同格式報文在取值上的相似性,分析獲取協議語法、語義信息。基于指令執行軌跡的分析方法以協議解析過程中的指令執行軌跡為分析對象,將協議輸入數據作為污點數據源,利用動態污點分析(Dynamic Taint Analysis)方法[5]跟蹤數據解析過程,依據協議解析程序如何使用污點數據以及相應的上下文信息獲取協議規范。……