簡述污點分析

前言

同符號執(zhí)行一樣导而,污點分析也是我們軟件分析、分析代碼漏洞隔崎、檢測攻擊方式的重要手段今艺,在漏洞自動化掃描或者檢測工具中有著十分廣泛的應用,本文主要是對污點分析進行一些簡單的介紹爵卒。一下資料來于網(wǎng)絡虚缎。

基本原理

定義

污點分析可以抽象成一個三元組<sources,sinks,sanitizers>的形式,其中,source 即污點源,代表直接引入不受信任的數(shù)據(jù)或者機密數(shù)據(jù)到系統(tǒng)中;sink即污點匯聚點,代表直接產(chǎn)生安全敏感操作(違反數(shù)據(jù)完整性)或者泄露隱私數(shù)據(jù)到外界(違反數(shù)據(jù)保密性);sanitizer即無害處理,代表通過數(shù)據(jù)加密或者移除危害操作等手段使數(shù)據(jù)傳播不再對軟件系統(tǒng)的信息安全產(chǎn)生危害.污點分析就是分析程序中由污點源引入的數(shù)據(jù)是否能夠不經(jīng)無害處理,而直接傳播到污點匯聚點.如果不能,說明系統(tǒng)是信息流安全的;否則,說明系統(tǒng)產(chǎn)生了隱私數(shù)據(jù)泄露或危險數(shù)據(jù)操作等安全問題。

識別污點源和匯聚點

現(xiàn)有的識別污點源和匯聚點的方法可以大致分成 3 類:
(1)使用啟發(fā)式的策略進行標記,例如把來自程序外部輸入的數(shù)據(jù)統(tǒng)稱為“污點”數(shù)據(jù),保守地認為這些數(shù)據(jù)有可能包含惡意的攻擊數(shù)據(jù)
(2)根據(jù)具體應用程序調用的 API 或者重要的數(shù)據(jù)類型,手工標記源和匯聚點
(3)使用統(tǒng)計或機器學習技術自動地識別和標記污點源及匯聚點.

污點傳播分析

1:顯示流分析
污點傳播分析中的顯式流分析就是分析污點標記如何隨程序中變量之間的數(shù)據(jù)依賴關系傳播钓株。也就是所謂的數(shù)據(jù)流傳播
2:隱式流分析
污點傳播分析中的隱式流分析是分析污點標記如何隨程序中變量之間的控制依賴關系傳播,也就是分析污點標記如何從條件指令傳播到其所控制的語句.也就是沒有之間的數(shù)據(jù)流傳遞实牡,但是會通過影響控制流而影響到數(shù)據(jù)

無害處理

污點數(shù)據(jù)在傳播的過程中可能會經(jīng)過無害處理模塊,無害處理模塊是指污點數(shù)據(jù)經(jīng)過該模塊的處理后,數(shù)據(jù)本身不再攜帶敏感信息或者針對該數(shù)據(jù)的操作不會再對系統(tǒng)產(chǎn)生危害.換言之,帶污點標記的數(shù)據(jù)在經(jīng)過無害處理模塊后,污點標記可以被移除.正確地使用無害處理可以降低系統(tǒng)中污點標記的數(shù)量,提高污點分析的效率,并且避免由于污點擴散導致的分析結果不精確的問題.例如一個寄存器被標記為污點源,但是有一個立即數(shù)被傳遞到寄存器中轴合,此時這個寄存器就不再是污點源创坞。

關鍵技術

污點傳播分析是當前污點分析領域的研究重點.與程序分析技術相結合,可以獲得更加高效、精確的污點分析結果.根據(jù)分析過程中是否需要運行程序,可以將污點傳播分析分為靜態(tài)污點分析和動態(tài)污點分析.

一受葛、靜態(tài)分析技術

靜態(tài)污點傳播分析(簡稱靜態(tài)污點分析)是指在不運行且不修改代碼的前提下,通過分析程序變量間的數(shù)據(jù)依賴關系來檢測數(shù)據(jù)能否從污點源傳播到污點匯聚點.
靜態(tài)污點分析的對象一般是程序的源碼或中間表示.可以將對污點傳播中顯式流的靜態(tài)分析問題轉化為對程序中靜態(tài)數(shù)據(jù)依賴的分析:
(1)首先,根據(jù)程序中的函數(shù)調用關系構建調用圖(call graph,簡稱CG);
(2)然后,在函數(shù)內或者函數(shù)間根據(jù)不同的程序特性進行具體的數(shù)據(jù)流傳播分析.常見的顯式流污點傳播方式包括直接賦值傳播犯建、通過函數(shù)(過程)調用傳播以及通過別名(指針)傳播.

二糠爬、動態(tài)分析技術

動態(tài)污點傳播分析(簡稱動態(tài)污點分析)是指在程序運行過程中,通過實時監(jiān)控程序的污點數(shù)據(jù)在系統(tǒng)程序中的傳播來檢測數(shù)據(jù)能否從污點源傳播到污點匯聚點.動態(tài)污點傳播分析首先需要為污點數(shù)據(jù)擴展一個污點標記(tainted tag)的標簽并將其存儲在存儲單元(內存、寄存器宾舅、緩存等)中,然后根據(jù)指令類型和指令操作數(shù)設計相應的傳播邏輯傳播污點標記.
動態(tài)污點傳播分析按照實現(xiàn)層次被分為基于硬件茅撞、基于軟件以及混合型的污點傳播分析這3類.
主要參考:https://www.k0rz3n.com/2019/03/01/%E7%AE%80%E5%8D%95%E7%90%86%E8%A7%A3%E6%B1%A1%E7%82%B9%E5%88%86%E6%9E%90%E6%8A%80%E6%9C%AF/

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市向挖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌炕舵,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件溶推,死亡現(xiàn)場離奇詭異,居然都是意外死亡蒜危,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門辐赞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來硝训,“玉大人,你說我怎么就攤上這事窖梁。” “怎么了窄绒?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長彰导。 經(jīng)常有香客問我,道長位谋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任笋轨,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘仅讽。我一直安慰自己,他們只是感情好洁灵,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著徽千,像睡著了一般。 火紅的嫁衣襯著肌膚如雪汤锨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天牍汹,我揣著相機與錄音,去河邊找鬼柑贞。 笑死,一個胖子當著我的面吹牛聂抢,可吹牛的內容都是我干的。 我是一名探鬼主播琳疏,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼书幕!你這毒婦竟也來了?” 一聲冷哼從身側響起台汇,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎篱瞎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體俐筋,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年笆呆,在試婚紗的時候發(fā)現(xiàn)自己被綠了请琳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赠幕。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖榕堰,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情局冰,我是刑警寧澤灌危,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站勇蝙,受9級特大地震影響,放射性物質發(fā)生泄漏味混。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一翁锡、第九天 我趴在偏房一處隱蔽的房頂上張望蔓挖。 院中可真熱鬧,春花似錦馆衔、人聲如沸瘟判。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽减细。三九已至,卻和暖如春未蝌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背树埠。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留怎憋,地道東北人九昧。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓毕匀,卻偏偏與公主長得像铸鹰,于是被迫代替她去往敵國和親皂岔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內容