国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

補(bǔ)丁對比漏洞挖掘技術(shù)在APT攻擊中的應(yīng)用

2015-03-24 11:58:30鄧韻東
電子測試 2015年23期
關(guān)鍵詞:二進(jìn)制補(bǔ)丁漏洞

郭 威,江 瀚,鄧韻東

(云南電網(wǎng)信息中心, 650217)

補(bǔ)丁對比漏洞挖掘技術(shù)在APT攻擊中的應(yīng)用

郭 威,江 瀚,鄧韻東

(云南電網(wǎng)信息中心, 650217)

針對特定用戶和系統(tǒng)的高級持續(xù)性威脅(簡稱APT攻擊)愈演愈烈,給廣大用戶造成了極大的安全威脅。APT攻擊所使用的攻擊手法多種多樣,其中危害最大的技術(shù)手段是攻擊者對各種漏洞的利用。本次研究針對攻擊者對各種漏洞利用的問題,提出了漏洞挖掘技術(shù)在APT攻擊中的應(yīng)用。本文詳細(xì)描述了補(bǔ)丁對比漏洞挖掘技術(shù)的原理、案例以及在APT攻擊中的應(yīng)用和危害并提出了相應(yīng)的加固建議。

APT攻擊;0day漏洞;補(bǔ)丁對比;漏洞挖掘;社會工程學(xué)

0 概述

高級持續(xù)性威脅即APT(Adavanced Persistent Threat),是指針對明確目標(biāo)的持續(xù)的、復(fù)雜的網(wǎng)絡(luò)攻擊,是指高級的持續(xù)性的滲透攻擊,是針對特定組織的多方位的攻擊。

APT不是一種新的攻擊手法,其可以說是結(jié)合了新舊的各種攻擊技術(shù)和其他非技術(shù)手段的綜合攻擊行為。近年來針對特定企業(yè)的APT攻擊事件屢有發(fā)生,給受害企業(yè)造成了極大的損害。研究和分析APT攻擊行為則是做好APT攻擊防護(hù)的第一步。

1 傳統(tǒng)APT攻擊技術(shù)分析

APT攻擊是很難防御的一種攻擊模式,是一類特定的攻擊,為了獲取某個組織甚至是國家的重要信息,有針對性的進(jìn)行的一系列攻擊行為的整個過程。主要就針對企業(yè)的商業(yè)機(jī)密信息和國家重要的基礎(chǔ)設(shè)施進(jìn)行,包括能源、電力、金融、國防等關(guān)系到國計(jì)民生,或者是國家核心利益的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。

對于這些單位而言,盡管已經(jīng)部署了相對完備的縱深安全防御體系,可能既包括針對某個安全威脅的安全設(shè)備,也包括了將各種單一安全設(shè)備串聯(lián)起來的管理平臺,而防御體系也可能已經(jīng)涵蓋了事前、事中和事后等各個階段。但是,這樣的防御體系仍然難以有效防止來自互聯(lián)網(wǎng)的入侵和攻擊,以及信息竊取,尤其是新型APT攻擊。APT攻擊為復(fù)合型攻擊,以下手段為APT攻擊常用的手段。

1.1 社會工程學(xué)

社會工程學(xué)(Social Engineering),一種通過對受害者心理弱點(diǎn)、本能反應(yīng)、好奇心、信任、貪婪等心理陷阱進(jìn)行諸如欺騙、傷害等危害手段,取得自身利益的手法。近年來已呈迅速上升甚至濫用的趨勢。社會工程學(xué)陷阱通常以交談、欺騙、假冒或口語等方式,從合法用戶那里套取用戶系統(tǒng)的秘密,例如:用戶名單、用戶密碼及網(wǎng)絡(luò)結(jié)構(gòu)。

1.2 基于WEB的滲透攻擊

基于Web方式的滲透攻擊即攻擊者通過在正常的網(wǎng)站頁面中(通常是網(wǎng)站的主頁)插入一段代碼。瀏覽者在打開該頁面的時(shí)候,這段代碼被執(zhí)行,然后下載并運(yùn)行某滲透攻擊的服務(wù)器端程序,進(jìn)而攻擊和控制瀏覽者的主機(jī)。

1.3 基于病毒木馬攻擊

通過病毒木馬目標(biāo)實(shí)施攻擊,可能是很復(fù)雜的網(wǎng)絡(luò),如Stuxnet病毒、Flame病毒。

1.4 基于文件0day的攻擊

利用收集的郵件進(jìn)行定向攻擊。發(fā)送帶惡意代碼的文本格式文件 如:office, pdf等。如Stuxnet病毒就利用了3個0day漏洞。

1.5 基于異常流量攻擊

1)網(wǎng)絡(luò)掃描嗅探的異常流量;

2)遠(yuǎn)程溢出數(shù)據(jù);

3)內(nèi)網(wǎng)病毒木馬爆發(fā)的異常流量;4)數(shù)據(jù)回傳時(shí)的異常流量。

2 漏洞挖掘技術(shù)介紹

2.1 漏洞的定義

漏洞(Vulnerability)是指系統(tǒng)中存在的一些功能性或安全性的邏輯缺陷,包括一切導(dǎo)致威脅、損壞計(jì)算機(jī)系統(tǒng)安全性的所有因素,是計(jì)算機(jī)系統(tǒng)在硬件、軟件、協(xié)議的具體實(shí)現(xiàn)或系統(tǒng)安全策略上存在的缺陷和不足。信息系統(tǒng)中存在漏洞是無法避免的問題,一旦某些較為嚴(yán)重的漏洞被攻擊者發(fā)現(xiàn),就有可能被其利用,在未授權(quán)的情況下訪問或破壞信息系統(tǒng)。

2.2 漏洞發(fā)掘技術(shù)

目前對于漏洞挖掘技術(shù)的分類,根據(jù)分析對象的不同,主要分為基于源代碼的漏洞挖掘技術(shù)和基于目標(biāo)代碼的漏洞挖掘技術(shù)兩大類?;谠创a的漏洞挖掘既通過分析其公布的源代碼,就可能找到存在的漏洞。如對Linux系統(tǒng)的漏洞挖掘就可采用這種方法。

基于目標(biāo)代碼的漏洞挖掘首先將要分析的二進(jìn)制目標(biāo)代碼反匯編,得到匯編代碼;然后對匯編代碼進(jìn)行切片,即對某些上下文關(guān)聯(lián)密切、有意義的代碼進(jìn)行匯聚,降低其復(fù)雜性;最后通過分析功能模塊,來判斷是否存在漏洞。

漏洞挖掘技術(shù)從逆向分析的軟件測試角度,一般又可分為白箱分析、黑箱分析和灰箱分析三類。

具體的漏洞挖掘技術(shù)分析手段,又主要分為手工測試、Fuzzing技術(shù)、二進(jìn)制對比技術(shù)、靜態(tài)分析技術(shù)、動態(tài)分析技術(shù)等。

2.2.1 手工測試

手工測試是通過客戶端或服務(wù)器訪問目標(biāo)服務(wù),手工向目標(biāo)程序發(fā)送特殊的數(shù)據(jù),包括有效的和無效的輸入,觀察目標(biāo)的狀態(tài)、對各種輸入的反應(yīng),根據(jù)結(jié)果來發(fā)現(xiàn)問題的漏洞檢測技術(shù)。手工測試不需要額外的輔助工具,可由測試者獨(dú)立完成,實(shí)現(xiàn)起來比較簡單。但這種方法高度依賴于測試者,需要測試者對目標(biāo)比較了解。手工測試可用于Web應(yīng)用程序、瀏覽器及其他需要用戶交互的程序。

2.2.2 Fuzzing技術(shù)

Fuzzing是一種基于缺陷注入的自動軟件測試技術(shù),它利用黑盒測試的思想,使用大量半有效的數(shù)據(jù)作為應(yīng)用程序的輸入,以程序是否出現(xiàn)異常為標(biāo)志,來發(fā)現(xiàn)應(yīng)用程序中可能存在的安全漏洞。所謂半有效的數(shù)據(jù)是指對應(yīng)用程序來說,文件的必要標(biāo)識部分和大部分?jǐn)?shù)據(jù)是有效的,這樣應(yīng)用程序就會認(rèn)為這是一個有效的數(shù)據(jù),但同時(shí)該數(shù)據(jù)的其他部分是無效的,這樣應(yīng)用程序在處理該數(shù)據(jù)時(shí)就有可能發(fā)生錯誤,這種錯誤能夠?qū)е聭?yīng)用程序的崩潰或者觸發(fā)相應(yīng)的安全漏洞。Fuzzing技術(shù)是利用Fuzzer工具通過完全隨機(jī)的或精心構(gòu)造一定的輸入來實(shí)現(xiàn)的。

2.2.3 二進(jìn)制對比技術(shù)

二進(jìn)制比對技術(shù)又可稱為補(bǔ)丁比對技術(shù),它主要是被用以挖掘“已知”的漏洞,因此在一定意義上也可被認(rèn)為是一種漏洞分析技術(shù)。由于安全公告中一般都不指明漏洞的確切位置和成因,使得漏洞的有效利用比較困難。但漏洞一般都有相應(yīng)的補(bǔ)丁,所以可以通過比較補(bǔ)丁前后的二進(jìn)制文件,確定漏洞的位置和成因。

2.2.4 靜態(tài)分析

靜態(tài)分析是通過詞法、語法、語義分析檢測程序中潛在的安全問題,發(fā)現(xiàn)安全漏洞的,其基本思想方法也是對程序源程序的靜態(tài)掃描分析,故也歸類為靜態(tài)檢測分析。靜態(tài)分析重點(diǎn)檢查函數(shù)調(diào)用及返回狀態(tài),特別是未進(jìn)行邊界檢查或邊界檢查不正確的函數(shù)調(diào)用(如strcpy,strcat等可能造成緩沖區(qū)溢出的函數(shù))、由用戶提供輸入的函數(shù)、在用戶緩沖區(qū)進(jìn)行指針運(yùn)算的程序等。

3 補(bǔ)丁對比漏洞挖掘技術(shù)

3.1 補(bǔ)丁對比技術(shù)介紹

如前文所述,補(bǔ)丁對比技術(shù)又稱二進(jìn)制比對技術(shù)。補(bǔ)丁比對技術(shù)對于安全人員及黑客都是非常有用的技術(shù),通過補(bǔ)丁比對分析,定位漏洞代碼,再加以數(shù)據(jù)流分析,最后可以得到漏洞利用的攻擊代碼。有經(jīng)驗(yàn)的安全專家或黑客甚至能在很短的時(shí)間內(nèi)就完成這個漏洞挖掘與利用的過程。

補(bǔ)丁比對技術(shù)有很多,簡單的比較方法有二進(jìn)制字節(jié)比較和二進(jìn)制文件反匯編后的文本比較,前者只適用于若干字節(jié)變化的比較;而后者缺乏對程序邏輯的理解,沒有語義分析,適用于小文件和少量的變化。這兩種方法都不適合文件修改較多的情況。較復(fù)雜的方法還有Tobb Sabin提出的基于指令相似性的圖形化比較和Halvar Flake提出的結(jié)構(gòu)化二進(jìn)制比較,前者可以發(fā)現(xiàn)文件中一些非結(jié)構(gòu)化的變化,如緩沖區(qū)大小的改變等,并且圖形化顯示比較直觀。其不足是受編譯器優(yōu)化的影響較大,且不能在兩個文件中自動發(fā)現(xiàn)大量比較的起始點(diǎn)。后者注重二進(jìn)制可執(zhí)行文件在結(jié)構(gòu)上的變化,從而在一定程度上消除了編譯器優(yōu)化對分析二進(jìn)制文件所帶來的影響,但這種方法不能發(fā)現(xiàn)非結(jié)構(gòu)的變化。

常用的補(bǔ)丁比對工具有IDefense公司發(fā)布的IDACompare、The eEye Digital Security發(fā)布的Binary Diffing Suite(EBDS)以及Sabre Security的BinDiff。它們都是基于結(jié)構(gòu)化二進(jìn)制比較技術(shù)的補(bǔ)丁比對工具。此外,NCNIPC還于2007年12月發(fā)布了NIPC Binary Differ(NBD)補(bǔ)丁比對工具,大大的擴(kuò)充了經(jīng)典算法中簡易簽名。

3.2 補(bǔ)丁對比漏洞挖掘?qū)嵗斀?/p>

2012年3月13日 ,微軟發(fā)布安全公告MS12-020,同時(shí)發(fā)布安全補(bǔ)丁。此補(bǔ)丁修復(fù)了兩個漏洞,CVE標(biāo)識分別為CVE-2012-0002(KB2621440)和CVE-2012-0152(KB2667402)。

其中,較為重要的是CVE-2012-0002:遠(yuǎn)程桌面協(xié)議漏洞。該漏洞影響Microsoft Windows XP SP2 and SP3, Windows Server 2003 SP2, Windows Vista SP2, Windows Server 2008 SP2, R2, and R2 SP1, and Windows 7 Gold and SP1等多個版本,遠(yuǎn)程桌面協(xié)議訪問內(nèi)存中未正確初始化或已被刪除的對象的方式中存在一個遠(yuǎn)程執(zhí)行代碼漏洞。

對于此漏洞,微軟未批露相關(guān)技術(shù)細(xì)節(jié),本文將以KB2621440補(bǔ)丁更新前后比較的方式,對該漏洞原理進(jìn)行探究,并嘗試構(gòu)造漏洞觸發(fā)樣本。

微軟的更新中提到該安全更新通過修改遠(yuǎn)程桌面協(xié)議處理內(nèi)存中數(shù)據(jù)包的方式以及 RDP 服務(wù)處理數(shù)據(jù)包的方式來解決漏洞。也就是說漏洞是由于系統(tǒng)自帶服務(wù)RDP服務(wù)處理數(shù)據(jù)包時(shí)出現(xiàn)了問題。通過下載補(bǔ)丁前后的rdpwd.sys

可以看到其中的HandleAttachUserReq函數(shù)在補(bǔ)丁前后變化較大,相似率僅為82%。

我們可以查看詳細(xì)的函數(shù)流程,補(bǔ)丁后的文件多了一部分比較,補(bǔ)丁前,在通過調(diào)用ListRemove函數(shù)來斷開內(nèi)存鏈的時(shí)候忽視了某些問題,補(bǔ)丁后在斷鏈之后還進(jìn)行了一個比較,并在一定條件下會調(diào)用ExFreePoolWithTag,這個函數(shù)的作用為取消標(biāo)簽指定的分配的內(nèi)存資源,原型為:

NTKERNELAPI VOID ExFreePoolWithTag(

IN PVOID P, //分配內(nèi)存的起始地址

IN ULONG Tag //內(nèi)存標(biāo)簽

);

也就是說在補(bǔ)丁后,多增加了一個if判斷,如果此時(shí)的P不為空,且*((_BYTE *)P + 5)為空,則調(diào)用ExFreePoolWithTag來釋放起始地址為P,標(biāo)簽為0的一塊內(nèi)存。

通過分析系統(tǒng)補(bǔ)丁我們發(fā)現(xiàn)了漏洞原理后,我們便搭建一個模擬環(huán)境進(jìn)行漏洞驗(yàn)證,環(huán)境的系統(tǒng)為Windows XP Professional SP3,開啟了3389端口處于Listening狀態(tài)。由于出問題的地方位于RDP服務(wù),我們編寫一個基本的腳本去發(fā)起RDP連接,抓包并結(jié)合WinDBG調(diào)試,中斷在SListRemove,調(diào)用了DetachUser,發(fā)現(xiàn)只有多次調(diào)用SListRemove及 DettachUser時(shí)會使用到SListRemove斷鏈附近的內(nèi)存空間。我們嘗試達(dá)成在HandleAttachUserReq函數(shù)里,*((_BYTE *) P + 5)為空,P不為空。最終,構(gòu)造出的POC(漏洞驗(yàn)證代碼)。

主要流程是正常的RDP連接,并發(fā)送有多個請求,并包含一部分user data數(shù)據(jù)。

調(diào)試過程中,在第三次DetachUser時(shí),eip指針指向了未釋放的內(nèi)存,然后從b2350434直接跳到了80528bec。

這個時(shí)候系統(tǒng)自身的保護(hù)機(jī)制已經(jīng)檢測到運(yùn)行到無效指針了。系統(tǒng)的自保護(hù)函數(shù)開始運(yùn)行。目標(biāo)機(jī)也已經(jīng)進(jìn)入黑屏,繼續(xù)藍(lán)屏。

由于釋放后重用的指針不可控,所以該漏洞常用于造成DoS攻擊,對于開啟了3389端口的相應(yīng)windowsXP、2003、2008、7等操作系統(tǒng),均可造成直接藍(lán)屏,對于這個漏洞的相關(guān)安全補(bǔ)丁也已經(jīng)及早由微軟安全中心、各大殺毒廠商推送。并且由于需要相應(yīng)ip及3389端口 ,所以一般常用于內(nèi)網(wǎng)攻擊,對于與外網(wǎng)相連只要關(guān)閉3389端口即可,當(dāng)然最重要的還是及早更新。

4 結(jié)束語

本文首先對APT攻擊進(jìn)行了詳細(xì)的介紹,接著分析了幾種常見的APT攻擊方法,提出了補(bǔ)丁對比技術(shù)在APT攻擊中的應(yīng)用。然后從系統(tǒng)及WEB漏洞補(bǔ)丁對比兩個案例為例展示了如何利用補(bǔ)丁對比來進(jìn)行漏洞挖掘和利用從而進(jìn)行APT攻擊。最后提醒應(yīng)用軟件開發(fā)商在進(jìn)行補(bǔ)丁修補(bǔ)時(shí)要從安全的角度對補(bǔ)丁修補(bǔ)采用一定的混淆技術(shù)。

[1] Greg Day. 文章名[Advanced persistent threats-time to run for cover].

[2] Ali Lslam.文章名[2013:Attack Trends For The Year Ahead]

[3] Alex Lanstein.文章名[APTs By The Dozen:Dissecting Advanced Attacks]

[4] Eddie Schwartz.文章名[SPO-208-Getting Ahead of Targeted and Zero-Day Malware Using Multiple Concurrent Detection Methodoloies].

[5] Aaron Turner.文章名[MobileAPT:How Rogue Base Stations Can Root Your Devices]

Patch Contrast Vulnerability Mining Technology Used in APT Attack

Guo Wei,Jiang Han,Deng Yundong
(Yunnan State Grid Network Information Center, 650217)

It is the seriousness of APT attack that poses a great threat to the network security of mass use rs.The ways that APT attacks are various,while the most dangerous one is the technology of taking advantag e of bugs.This research brings forward how vulnerability detection is applied in dealing with APT Attacks. It elaborates vulnerability mining technology principle of comparative patch and examples and the harm and proposes suggestion accordingly.

Advanced Persistent Threat;Zero day Vulnerability;Patches Comparison;Vulnerability detection;Social Engineering

云南電網(wǎng)年度科技基金資助項(xiàng)目“高級持續(xù)性威脅檢測研究”(K-YN2013-148)

江瀚,男,工程師,通信工程專業(yè),主要從事信息安全工作;

郭威,男,助理工程師,信息技術(shù)專業(yè),主要從事信息安全工作;鄧韻東,男,助理工程師,主要從事軟件開發(fā)和信息系統(tǒng)測評工作

猜你喜歡
二進(jìn)制補(bǔ)丁漏洞
漏洞
用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
有趣的進(jìn)度
二進(jìn)制在競賽題中的應(yīng)用
健胃補(bǔ)丁
學(xué)與玩(2018年5期)2019-01-21 02:13:06
繡朵花兒當(dāng)補(bǔ)丁
文苑(2018年18期)2018-11-08 11:12:30
補(bǔ)丁奶奶
幼兒畫刊(2018年7期)2018-07-24 08:25:56
三明:“兩票制”堵住加價(jià)漏洞
漏洞在哪兒
高鐵急救應(yīng)補(bǔ)齊三漏洞
田阳县| 天峨县| 伊宁市| 子洲县| 文成县| 油尖旺区| 额尔古纳市| 视频| 荣成市| 高台县| 武清区| 闵行区| 九龙坡区| 曲阳县| 海宁市| 博兴县| 化州市| 堆龙德庆县| 北川| 乐都县| 礼泉县| 德阳市| 泸定县| 永春县| 木里| 伊川县| 凉城县| 凌云县| 盘锦市| 昌都县| 蛟河市| 洛宁县| 佛坪县| 屯留县| 阳高县| 蚌埠市| 铜梁县| 石棉县| 万宁市| 浦北县| 即墨市|