加密通信協(xié)議的一種逆向分析方法

0 引言

同類對比

  1. Discoverer
    采用遞歸聚類技術(shù)將具有相似格式的消息組合在一起, 分析速度快龙致, 自動化程度高蛀缝。但其缺乏對協(xié)議中語義信息的解析,存在準確性不高目代、不 能 處 理 加 密 通 信 等 局 限屈梁。
  2. Polyglot
    采 用 了 一 種shadowing方法來監(jiān)視應(yīng)用程序?qū)f(xié)議數(shù)據(jù)的處理過程,并通過分析應(yīng)用程序?qū)f(xié)議數(shù)據(jù)進行處理時的二進制信息來提取協(xié)議格式榛了,準確性更高在讶,也能解析出更多的協(xié)議信息。
    但 Polyglot也無法解析加密通信協(xié)議霜大。
  3. AutoFormat的關(guān)鍵思想是同一條協(xié)議消息中不同協(xié)議字段被處理時的執(zhí)行上下文一般不同构哺。因此通過對每個消息字節(jié)的執(zhí)行上下文信息進行聚類即可推斷出協(xié)議字段組成。
    但 AutoFormat 不能處理經(jīng)過混淆的惡意代碼僧诚,對加密通信數(shù)據(jù)也無法處理遮婶。
  4. Reformat通過統(tǒng)計函數(shù)片段中算術(shù)和邏輯指令所占的比例來定位協(xié)議解密過程,進而定位協(xié)議明文數(shù)據(jù)湖笨。
    但 Reformat 只考慮了簡單軟件的通信實現(xiàn)
    情況旗扑,對于協(xié)議數(shù)據(jù)經(jīng)過分段加密、多重加密等情況未予考慮

1 本文思想簡介

基于動態(tài)污點分析的加密通信協(xié)議逆向分析方法慈省,利用動態(tài)二進制插樁平臺 Pin[6] 將目標程序通信過程中的程序軌跡記錄成二進制文件臀防,并以這些文件作為分析基礎(chǔ),采用數(shù)據(jù)流分析構(gòu)建指令級和函數(shù)級的污點傳播圖边败, 還原程序的函數(shù)調(diào)用和函數(shù)的參數(shù)信息袱衷,再利用提取的解密過程的特征定位協(xié)議數(shù)據(jù)的解密函數(shù), 進而定位解密的明文笑窜, 最后對協(xié)議明文的格式進行解析


插樁:探針致燥,進行信息采集的代碼段
軌跡文件:程序運行時的指令序列
污點分析:通過對帶污點標記的數(shù)據(jù)的傳播實施分析來達到保護數(shù)據(jù)完整性和保密性的目的

2 思路

2.1 動態(tài)執(zhí)行軌跡記錄

定義一 . 協(xié)議逆向分析
對于一條協(xié)議消息 M, 對它進行逆向分析是指將 M 還原成符合協(xié)議規(guī)范的 n 個字段
Fieldi = { rangei排截,valuei嫌蚤,typei}={偏移范圍,取值断傲,類型}
定義二 . 加密協(xié)議逆向分析
對于一條加密協(xié)議消息M* 脱吱,對 它 進 行 逆 向 分 析 是 指 找 到 消 息 明 文 M
M =D( M* )
定義三。執(zhí)行軌跡
執(zhí)行軌跡是指程序運行時的指令序列认罩,記做 Trace〈I箱蝠, N〉
定義四。污點源
指污點分析需要關(guān)注的關(guān)鍵數(shù)據(jù),在協(xié)議分析中污點源指程序收到的數(shù)據(jù)包宦搬, 記為
TS〈Addr牙瓢,Length〉

方法
編寫了基于動態(tài)分析平臺 Pin 的指令軌跡記錄插件,記錄目標程序在網(wǎng)絡(luò)通信過程中的運行軌跡信息床三,每條指令信息包括指令地址一罩、字節(jié)碼杨幼、線程號以及訪問的寄存器和內(nèi)存...

2.2 污點分析

1 中間語言
將復(fù)雜指令簡單統(tǒng)一化
2 污點傳播規(guī)則
當污點內(nèi)容從一個位置傳遞到另一個位置時撇簿,則認為發(fā)生了污點傳播
3 污點傳播結(jié)果表示

a) 標記接收到的數(shù)據(jù)包的所有字節(jié)為初始污點,分析差购,構(gòu)建函數(shù)級污點傳播流圖
b) 函數(shù)級污點傳播流圖用于按時間順序存儲污點數(shù)據(jù)處理相關(guān)的所有函數(shù) TaintedFunc〈Addr四瘫,MemSet〉, 是對程序源碼的一個近似化還原欲逃,從函數(shù)角度反映程序的執(zhí)行軌跡找蜜, 對程序的
抽象理解很有幫助
c)統(tǒng)計每個函數(shù)的訪問內(nèi)存情況,把每個函數(shù)讀取的內(nèi)存地址和第一次讀取的值作為函數(shù)的輸入稳析,把函數(shù)寫入的內(nèi)存地址和最后一次寫入的值作為函數(shù)的輸出洗做,將相鄰的內(nèi)存地址當做一個整體, 作為函數(shù)最終的輸入和輸出參數(shù)彰居。同時記錄各個參數(shù)的污點狀態(tài)诚纸,最終構(gòu)成函數(shù)級的污點傳播流圖

2.3 解密過程識別

軟件的加密通信過程如圖 3 所示, 可以看出陈惰, 以接收到的數(shù)據(jù)包為起點畦徘,沿著程序執(zhí)行軌跡向前跟蹤, 理論上就可以找到數(shù)據(jù)包的解密過程抬闯,進而得到數(shù)據(jù)包在軟件內(nèi)的明文數(shù)據(jù)


image.png

根據(jù)污點傳播圖井辆,逆向退出協(xié)議數(shù)據(jù)在程序中的傳播軌跡,還原出函數(shù)之間的調(diào)用關(guān)系以及函數(shù)參數(shù)信息

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末溶握,一起剝皮案震驚了整個濱河市杯缺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌睡榆,老刑警劉巖萍肆,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異肉微,居然都是意外死亡匾鸥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門碉纳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來勿负,“玉大人,你說我怎么就攤上這事∨洌” “怎么了琅摩?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锭硼。 經(jīng)常有香客問我房资,道長,這世上最難降的妖魔是什么檀头? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任轰异,我火速辦了婚禮,結(jié)果婚禮上暑始,老公的妹妹穿的比我還像新娘搭独。我一直安慰自己,他們只是感情好廊镜,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布牙肝。 她就那樣靜靜地躺著,像睡著了一般嗤朴。 火紅的嫁衣襯著肌膚如雪配椭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天雹姊,我揣著相機與錄音股缸,去河邊找鬼。 笑死容为,一個胖子當著我的面吹牛乓序,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播坎背,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼替劈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了得滤?” 一聲冷哼從身側(cè)響起陨献,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎懂更,沒想到半個月后眨业,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡沮协,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年龄捡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慷暂。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡聘殖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情奸腺,我是刑警寧澤餐禁,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站突照,受9級特大地震影響帮非,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜讹蘑,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一末盔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧衔肢,春花似錦庄岖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽心剥。三九已至邦尊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間优烧,已是汗流浹背蝉揍。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留畦娄,地道東北人又沾。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像熙卡,于是被迫代替她去往敵國和親杖刷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容