999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ActiveX控件中不安全方法漏洞的檢測技術

2010-09-29 11:27:38李永成黃曙光唐和平
網絡安全與數據管理 2010年6期
關鍵詞:方法

李永成 ,黃曙光 ,唐和平

(1.解放軍電子工程學院 研1隊,安徽 合肥230037;2.解放軍電子工程學院 網絡系,安徽 合肥230037;3.解放軍電子工程學院 博士生隊,安徽 合肥230037)

當今軟件開發中,面向組件的編程技術應用越來越廣泛。但是,組件的使用使編程人員在軟件開發過程中提高效率的同時,一并出現的安全性問題也不可忽視。根據 NVD(National Vulnerability Database)發布的信息,在2008年1月1日至2009年8月20日之間,共發布了227條描述為在ActiveX控件中引發的漏洞[1]。伴隨著網絡的普及與基于網絡的應用的快速發展,ActiveX控件在應用的數量上非常巨大,而被收入到NVD數據庫的只是現存的眾多數量的ActiveX漏洞中的極少數部分,還有大量的ActiveX控件的漏洞由于其軟件或控件流行范圍的局限而不被NVD所關注。

另一方面,伴隨著Windows 2003和SP2在操作系統安全機制上的提升,很多漏洞的利用方式被成功遏制。如今要想在Windows系統中找到能夠利用的漏洞已經是一件很困難的事情,因此更多的黑客與安全人員把目光轉向了第三方軟件。近幾年,一些知名的軟件公司都曾被發現其注冊的ActiveX控件中存在嚴重的漏洞,鑒于控件的特點,可以說這些漏洞跟IE自身的漏洞沒有多大的區別。所以在漏洞挖掘中盡早發現這類漏洞并及時地通知相關廠商,以便做出及時的應對措施顯得尤為重要。

1 ActiveX控件

1.1 什么是ActiveX

ActiveX是微軟公司在1996年引進的,它是在組件對象模型(COM)、對象鏈接和嵌入(OLE)技術的基礎上發展而來[2]。COM規范是ActiveX技術的基礎,而COM的目的是創建對象和提供接口來實現代碼片段的簡單復用,而這些接口又能被其他的COM對象或者程序調用,ActiveX就是這項規范與IE的結合。這種結合提供了IE瀏覽器與第三方軟件的接口,使用ActiveX控件可以對IE瀏覽器進行功能擴展,可建立應用程序與網站之間的聯系,而這種聯系通過瀏覽器來實現。比如登錄一個在線視頻網站的時候,網站正是通過瀏覽器調用ActiveX控件打開本地的視頻資源。

每一個ActiveX控件通常使用CLSID(Class Identifier)來區別于其他的控件。CLSID是標識一個COM類對象的全球唯一的標識符,它是一個128位的隨機數。可以從注冊表中的HKEY_CLASSES_ROOTCLSID來讀出本機已經注冊的CLSID。

ActiveX控件并不能直接使用,它首先需要在目標機器中進行注冊,有很多種方法可以注冊控件,除了所有的屬于IE和操作系統的控件以外,新安裝控件可以通過應用程序的安裝注冊一些控件;還可以通過網頁中標簽中的CODEBASE屬性,從指定位置下載并注冊控件;另外通過DOS命令regsvr32也能手動注冊一個控件。

1.2 腳本安全

一個ActiveX控件可以被標注為腳本安全SFS(Safe For Scripting),這意味著IE可以通過腳本語言如JavaScript或VBScript調用控件,并設置或獲得它的屬性。

有兩種方法可以描述一個控件是腳本安全的,第一種方法是使用組件目錄管理(Component Categories Manager)來在系統注冊表中創建合適的項目。可以通過在這冊表編輯器中查看“HKEY_CLASSES_ROOTCLSIDImplemented Categories”是否擁有子鍵 7DD95801-9882-11CF-9FA9-00AA06C42C4。第二種方法是通過實現IObjectSafety 接口 ,通 過 調用 IObjectSafety::SetInterfaceSafetyOptions方法來確定控件是否為腳本安全[3]。

1.3 KillBit

KillBit是注冊表中的一項,用來標識控件使得在IE瀏覽器或者腳本環境運行時不加載控件。當發現有漏洞的控件時,可以先通過設置KillBit來使IE在使用默認設置時永不調用ActiveX控件。KillBit是ActiveX控件的兼容性標志DWORD值在注冊表中的特定值0x00000400。針對 IE與操作系統的不同,KillBit在注冊表中的位置略有不同[4],可分別表示為:

1.4 控件函數枚舉

由于ActiveX遵循COM規范,因此它也像其他的COM控件一樣使用相同的方式實現了COM接口,COM接口中很好地定義了一個COM組件中所實現的方法和屬性。如果控件實現了IDispatch或者IDispatchEx接口,那么可以通過獲得IDispatch接口來枚舉出控件的方法、參數以及屬性等信息。

2 不安全方法漏洞及檢測

2.1 不安全方法漏洞

通過分析NVD以及US-CERT(US-Computer Emergency Readiness Team)中關于ActiveX漏洞的描述信息,ActiveX漏洞與其他的漏洞在類型上大致相同,占據漏洞比例絕大部份的是由于缺乏必要輸入驗證而帶來的緩沖區溢出漏洞。另外還包括由于IE加載惡意網頁而引發的在控件實例化過程中造成的崩潰[5]。本文要提到的不安全方法漏洞,也是在ActiveX控件中頻頻出現的一種漏洞。

如果一個方法被設計是由IE調用,那么它應該就被標記為腳本安全,微軟在MSDN中提供了編寫一個安全的控件時對于哪些應該被標為安全提供了指導。但是由于編程人員在安全性上的疏忽,或者根本就不熟悉ActiveX的調用機制,一些標記為腳本安全的方法能夠輕易地被遠程調用者不加任何限制地調用,或者一些本不應該被IE所使用的方法錯誤地被標注上了腳本安全,這些方法給系統帶來很大的安全隱患。這類漏洞往往表現為任意的注冊表讀寫、本地文件系統的讀寫、網絡端口的開放,執行文件、敏感信息的泄漏等。由于這類漏洞的利用一般非常簡單,因此這類漏洞利用門檻很低,危害性極大。

2.2 ActiveX控件的檢測

2.2.1 威脅建模

威脅建模(Threat modeling)是一個過程,軟件開發人員可以使用它來評估,從而減少控件所面臨的潛在的威脅[6]。威脅建模來自于軟件測試領域,威脅建模的一般步驟是先分解應用程序,建立數據流圖,然后識別所面臨的威脅,根據威脅識別潛在的漏洞。對于識別潛在的威脅,可以利用Howard和Leblanc提到的STRIDE威脅目錄[7]。

但是由于威脅建模一般是建立在擁有軟件設計細節的基礎上。作為漏洞挖掘工作,常常面臨的只是軟件的二進制文件形式,很難得到軟件設計的源代碼,構建完整的數據流圖。因此,基于威脅建模的漏洞挖掘工作,很難建立起準確的威脅模型。

2.2.2 基于STRIDE指導的滲透測試

滲透測試是指測試人員圍繞網絡或者系統的安全性展開探測,以發現系統最脆弱的環節[6]。在不安全方法的測試中,函數的參數成為滲透測試的主要入口,分析大量的已公布不安全方法漏洞,發現從暴露的方法名字中,一般就能推斷出該方法執行的操作。因為在代碼編寫時,常常使用有意義的單詞來表示方法和參數的名字,如下面的一些例子:

這些函數及參數明顯地暗示了函數的功能以及所需參數的意義,應當首先嘗試使用合適的值來測試這些方法。而利用威脅建模中的STRIDE威脅目錄可以保證測試的全面性。結合ActiveX控件中常常被用來作為功能擴展的方面,應該從表1所列的幾個方面來測試確定該控件是否包含了不安全方法。

表1 控件威脅列表

2.3 測試的一般步驟

結合ActiveX控件的特點及其安全方法機制,圖1所示的基本流程圖提出了不安全方法漏洞挖掘的一般步驟。

圖1 挖掘流程圖

其中,檢查是否標注為腳本安全一般先看該控件是否實現了IObjectSafety接口,如果沒實現則再檢查注冊表中是否標注腳本安全。在枚舉方法中一般可以使用IDispatch接口,但是如果控件沒有類型庫信息,就要借助一些二進制掃描工具如Strings[8]來搜查ActiveX控件的方法和屬性。測試網頁中,一般使用標簽根據提供的 CLSID來裝載控件,然后可以在腳本語言中對枚舉出的函數進行調用。函數調用中要根據測試者之前預測的潛在威脅輸入合適的參數,如果測試結果符合預期假設的威脅,則漏洞分析成功,如果測試結果沒有實現預期的威脅,則返回查看是否還有其他的潛在威脅可能存在,循環進行測試,直到被測函數被認定不會包含表1中所具有的威脅為止。

3 實驗及結果分析

本文選取了三款國產軟件,分別是UUsee2008、暴風影音、迅雷看看。將三款軟件安裝到機器后,分別枚舉控件并且檢查每個控件的信息,三款軟件共在機器上安裝新COM控件 60個,其中有 2個設置KillBit,10個被標注為腳本安全。詳細信息如表2所示,表中可以看到暴風影音沒有被標注為腳本安全的控件,在防范不安全方法漏洞方面做得比較好。

表2 實驗結果

(1)UUSee任意文件下載漏洞

軟件:UUSee2008

控件名稱:UUUpgrade Control

函數:VARIANT_BOOL Update(BSTRbstrLocalINIFile-Name,BSTR bstrRemoteINIURL,BSTR bstrDetailURL,short nMode)

根據函數名字推測可能具有使用遠程文件更新本地文件的作用,符合威脅列表中第一條威脅。因此需要編寫測試網頁對該方法進行測試,測試結果發現存在之前預測的威脅。該漏洞為已公布漏洞,已發布于國內綠盟漏洞數據庫上[9]。

(2)系統信息暴露漏洞

軟件:UUSee2008

控件名稱:UUUpgrade Control

函數:BSTR GetMacID()

BSTR GetHDID()通過分析函數的名字可預測這兩個函數可能分別能使遠程攻擊者得到本地機器的MAC地址和硬盤ID,存在一定的信息暴露危害,測試結果顯示符合之前的預測。兩個方法存在泄露系統信息漏洞。

軟件:迅雷看看

控件名稱:DapCtrl Class

函數:long IsFileExist([in]BSTR filePath)

該函數能夠根據攻擊者指定的文件路徑名稱,返回該文件是否存在,返回值為1表示存在,為0表示不存在。這在遠程滲透攻擊中會給遠程攻擊者提供幫助。因此存在信息泄漏的危害。

本文只對ActiveX控件中的不安全方法漏洞的挖掘方法作了介紹,這種漏洞利用難度較易,危害極大。本文介紹的方法,只能對單個的方法分別進行測試,但是還有一些控件的方法需要調用屬性信息或者其他方法的結果,這種方法對造成的漏洞需要先對控件中的方法屬性之間利用數據流分析建立起聯系,這是以后研究中需要進一步完成的工作。

[1]NVD[DB/OL].[2009-10-01].http://nvd.nist.gov.

[2]WARLORD.ActiveX-Active Exploitation[EB/OL].[2009-10-01].http://packetstormsecurity.org/papers/attack/activex.pdf.

[3]Safe Initialization and Scripting for ActiveX Controls[EB/OL].[2009-10-01].http://msdn2.microsoft.com/en-us/library/aa751977.aspx.

[4]DORMANN W.Internet Explorer Kill-Bits[EB/OL].[2009-10-1].http://www.cert.org/blogs/vuls/2009/07/internet_explorer_kill-bits.html.

[5]DORMANN W,PLAKOSH D.Vulnerability detection in ActiveX controls through automated fuzz testing[R].Pittsburgh:CERT,2009.

[6]ActiveX Security:Improvements and Best Practices[EB/OL].[2009-10-1].http://msdn.microsoft.com/en-us/library/bb250471(VS.85).aspx.

[7]HOWARD M,LEBLANC D.編寫安全的代碼(第 2版)[M].程永敬,譯.北京:機械工業出版社,2005:50.

[8]String[CP].[2009-10-01].http://technet.microsoft.com/zhcn/sysinternals/bb897439(en-us).aspx.

[9]UUSee網絡電視2008 UUUpgrade ActiveX控件Update方式任意文件下載漏洞[EB/OL].[2009-10-01].http://www.nsfocus.net/vulndb/12075.

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 天堂va亚洲va欧美va国产 | 国产精品九九视频| 99久久精品国产精品亚洲| 欧美日韩理论| 国产欧美视频在线| 亚洲色大成网站www国产| 久久青草免费91观看| 日韩精品一区二区三区中文无码| 国产成人精品高清在线| 国产成人一二三| 国产一区三区二区中文在线| 国产精品太粉嫩高中在线观看| 亚洲人成网站色7799在线播放| 国产成人三级在线观看视频| 18禁色诱爆乳网站| 婷婷综合亚洲| 台湾AV国片精品女同性| 无码aⅴ精品一区二区三区| 亚洲IV视频免费在线光看| 国产成人8x视频一区二区| 福利国产在线| 国产呦精品一区二区三区网站| 亚洲欧美在线综合一区二区三区| 亚洲AV成人一区国产精品| 国产小视频a在线观看| 成人在线观看不卡| 精品视频第一页| 亚洲区第一页| 欧美激情视频在线观看一区| 精品国产成人三级在线观看| 一区二区三区精品视频在线观看| 国产成人综合亚洲欧美在| 国产a v无码专区亚洲av| 韩日免费小视频| 国产在线97| 午夜国产大片免费观看| 九色视频最新网址 | 色有码无码视频| 国产在线观看第二页| 欧美a在线看| 欧美a网站| 成人在线天堂| 久久中文电影| 91精品国产综合久久香蕉922| 久综合日韩| 国产三级视频网站| 被公侵犯人妻少妇一区二区三区| 国产精品无码影视久久久久久久| 被公侵犯人妻少妇一区二区三区| 丰满人妻被猛烈进入无码| 国产v精品成人免费视频71pao | 国产91精品最新在线播放| 亚洲精品自拍区在线观看| 久久精品亚洲中文字幕乱码| 午夜精品久久久久久久99热下载 | 亚洲天堂成人在线观看| 国产成人亚洲精品无码电影| 欧美狠狠干| 免费A级毛片无码无遮挡| 国产欧美精品午夜在线播放| 色综合天天娱乐综合网| 91啦中文字幕| 亚洲欧美激情另类| 国产亚洲欧美在线中文bt天堂| 欧美一区二区丝袜高跟鞋| 国产菊爆视频在线观看| 国产精品成人久久| 九九九九热精品视频| 扒开粉嫩的小缝隙喷白浆视频| 国产精品一线天| 精品国产污污免费网站| 99热这里只有精品久久免费| 国产三级国产精品国产普男人 | 欧美特黄一级大黄录像| 国产成人资源| 亚洲国产综合精品一区| 91丝袜乱伦| 伊在人亞洲香蕉精品區| 亚洲国产精品无码AV| 天天综合网色中文字幕| 丰满人妻被猛烈进入无码| 国产成人亚洲无吗淙合青草|