精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

從“竊聽門”事件解讀手機Rootkit攻擊

責任編輯:Score

2011-09-26 10:41:09

摘自:IT168

最近《世界新聞報》因深陷“竊聽門”而被迫關閉,一幕幕竊聽丑聞被公之于眾,并引一系列不良連鎖反應,各國政界名流、影視明星等紛紛自危。現在公眾們質疑手機安全的呼聲越來越大...

最近《世界新聞報》因深陷“竊聽門”而被迫關閉,一幕幕竊聽丑聞被公之于眾,并引一系列不良連鎖反應,各國政界名流、影視明星等紛紛自危。所謂“竊聽門”就是雇傭私人偵探、用竊聽電話的非法手段獲取內幕新聞。現在公眾們質疑手機安全的呼聲越來越大。無獨有偶的是蘋果手機利用后臺隱蔽程序后臺收集數據 用戶行蹤輕易易被泄露, Alasdair Allan和Pete Warden兩名程序員發現,其操作系統里有個Consolidated.db是一個緩存文件,其中保存了用戶行蹤的信息,而且在處理這些數據時,蘋果也并未采用任何加密措施,也就是說能輕易被其他人截獲。

實際上這種潛伏在手機中的臥底軟件我們叫它Rootkit,它是最早來源于計算機系統。在1994年2月的一篇安全咨詢報告中首先使用了Rootkit這個名詞。這種程序的出現立刻引起計算機安全人員的注意,無論是做惡意行為的攻擊者,還是進行安全監視的維護人員,這種能夠“隱身”運行的程序都是一個非常好的解決辦法。由于Rootkit使用了多種復合技術,使其不被傳統安全軟件檢測出,相比于桌面操作系統平臺,移動手機平臺上的安全軟件嚴重匱乏,加上垃圾短信和瀏覽有安全隱患的網站致使手機會頻繁“中招”, 對監聽者而言現在的智能手機是極佳的目標。它既能打電話又能訪問互聯網絡。這樣惡意軟件編寫者就更加注視對智能手機的攻擊,也正是由于Rootkit程序可以成功地將自己隱藏于系統之中,為此,它必須與運行的操作系統緊密相連,利用一些十分底層的核心技術來實現“隱身”。利用這些技術的時候,往往需要程序運行時具有系統最高權限,這樣Rootkit程序就具有了最高權限。

一、Rootkit的危害

對于任何的手機病毒程序來說,它首先需要成功地將自己存儲在被感染的手機存儲器上,也就是手機自帶的內存或者存儲卡。如果被感染的目標手機系統上安裝有殺毒軟件或者安全軟件,這些軟件往往會帶有對手機文件系統監視的功能。當手機上的存儲器中的文件數目發生變化的時候,這些軟件就會馬上發現這種變化,進和VJ自己到被感染手機的存儲器上時,殺毒軟件或者安全軟件發現此時的手機文件系統正在創建一個新的文件,它們就會馬上啟動掃描程序,掃描程序開始檢查這個新的文件是不是一個病毒程序,如果是,那么病毒剛剛復制完畢自己到手機上時,它就會被殺毒軟件或者安全軟件刪除了,根本不可能得到運行的機會。

然而,殺毒軟件以及安全軟件的這種文件系統監視功能,在一般情況下,會存在一個時間差。手機系統公布出來的一些系統函數或者方法由于一定的經濟利益以及安全限制,并沒有將系統底層的核心技術公布出來,當殺毒軟件以及安全軟件的開發者采用這些“不完整”的系統函數或者方法開發軟件的時候,這些被開發出來的功能很可能就不夠反應迅速,存在一定的弊端。例如對于Symbian系統使用的一些文件系統監視方法,它就會有一定的延遲。

并且對于殺毒軟件以及安全軟件來說,病毒的種類千差萬別,不可能對每一種新出現的病毒程序都有特征記錄,于是病毒程序還是能夠成功創建自己到目標手機的存儲器上。到了這一步,一般的病毒程序就開始運行自己,然后進行工作。但是,對Rootkit程序來說,它的情況就與眾不同了。Rootkit程序最核心的目的就是在于能夠利用手機系統的底層技術,來達到一些“高級”的目的。這其中,隱藏自己的存在就是一個高級目的。

很多時候,手機的使用者會檢查自己的手機狀態,例如他會看看自己的手機究競存放了哪些文件,如果沒用或者沒見過,他就會刪除這些他認為是“垃圾”的文件。而對于殺毒軟件以及安全軟件來說,它們很可能會進行定期掃描,例如在每天的12點對手機內存上的所有文件進行一次掃描,目的是發現可能存在的病毒程序。這些情況往往會導致一些病毒程序會被發現,不能夠繼續工作。那么,如果一個病毒程序采用了某種技術,將自己從手機上的文件系統上“隱藏”起來,讓手機使用者以及手機殺毒軟件乎全軟件都無法發現自己,那么病毒程序就可以為所欲為的進行破壞與感染了。Rootkit就是這樣一種可怕的病毒程序。

在設計手機系統時,很可能也采用了一些未公開的方法來實現一些特殊目的,通常這些方法都是極其保密的。但是,對于手機病毒的制造者來說,他們會深入分析手機系統的內部實現原理,從而找出這些未公開的方法。這些未公開的方法中很可能就涉及到文件系統的一些底層技術。Rootkit將這些文件系統的底層技術利用起來,讓自己從系統中“消失”,甚至會迷惑了手機系統本身。

二、現代智能手機攻擊案例分析

攻擊1:通過GSM監視通話信息

本次攻擊的目標是讓遠程攻擊者隱蔽地監聽或記錄用感染Rootkit的智能手機進行通話的隱私數據。無論何時只要發生Rootkit感興趣的事件,Rootkit就會激活。例如,當受害者智能手機的日歷程序顯示備注時(如會議),Rootkit可能就會激發惡意操作。當Rootkit激活時,它會悄悄地撥打攻擊者的電話(這個可預先在Rootkit程序中設置,或者通過攻擊者發送的短信發送給Rootkit程序),這樣攻擊者就可以遠程監聽或記錄當前通話信息。另外,當受害者撥打電話時,Rootkit也會激活,從而記錄通話信息。Freerunner手機配有通過串行總線連接的GSM收音機,因此其可作為串行設備用于應用程序。在正常的手機操作中,用戶空間應用程序將請求訪問GSM設備的系統調用發送給系統內核。內核響應該請求,反過來應用程序也能夠訪問該設備提供的通訊功能。GSM設備使用一系列AT (attention)命令.其使得內核和用戶空間應用程序調用特定的GSM 功能。例如,GSM設備通常支持AT命令撥打電話、獲取SMS消息等功能。為了惡意操作GSM設備(例如,給遠程攻擊者打電話).Rootkit程序必須從內核執行AT命令。Rootkit程序原型是通過攔截用戶設置的警報來運行。如圖1顯示,警報可與用戶空間日歷程序中的關鍵字“會議相關聯。一旦檢測到會議 關鍵字.則警報激活,Rootkit就會攔截此警報并進行惡意攻擊。攻擊程序則悄悄地撥打遠程攻擊者電話,這樣攻擊者就能窺探或記錄受害者的秘密通信信息。Rootkit撥打的電話號碼可能通過程序寫入Rootkit代碼,也可能通過短信發送,Rootkit截取該短信并獲取攻擊者號碼(在攻擊2描述了基于短信的Rootkit控制)。

現代智能手機攻擊案例分析

圖2 GSM Rootkit攔截報警信號,如會議通知,并向攻擊者發送信息以監聽通話隱私Rootkit觸發。Rootkit必須有能力攔截報警信號(如來自日歷程序的警報)才能觸Rootkit。Rootkit程序通過hook系統調用表和用Rootkit惡意寫操作地址替換真實寫操作系統調用地址來達到此目的。當報警信號發出時,屏幕上將顯示具體的消息。Rootkit程序中惡意寫操作攔截顯示在屏幕上的消息,并檢查三個子字符串。首先檢查消息中的“window Prop子字符串,該字符串顯示當前消息為通知類型。然后,檢查是否存在 Clock“子字符串該字符串用來驗證消息是否來自時鐘程序(更多字符串用于檢查其它用戶空間程序的警報)。最后,必須出現NETWM TYPE子字符串,此字符串出現代表產生了報警信號。通過研究未感染內核中的警報發送給方式,研究人員了解到這些字符串的重要意義。

撥打電話,當Rootkit激活時.其會模擬用戶空間通信應用程序撥打電話。特別是像Qtopia軟件這樣的用戶空間,應用程序會向內核發送一系列系統調用,該軟件棧與Freerunner手機的OpenMoko Linux分發版一起發送。這些系統調用啟動GSM設備,并指示其撥打指定號碼。具體來說,像Qtopia這樣的應用程序利用寫操作系統調用給GSM設備發送AT命令(這些命令為參數),所要撥打的電話也可作為系統調用參數。Rootkit程序通過發送與內核AT命令相同的序列來達到同樣的目的。

通過研究Qtopia軟件棧.我們獲得了必須用來撥打電話的AT調用序列。當撥打電話時 我們使用strace方法跟蹤Qtopia發送的寫操作系統調用的參數。然后,我們設計了一個激活后,能發送與內核空間AT命令相同序列的Rootkit程序。為了發出與AT調用相同的序列,Rootkit首先使用下代碼所示的get fs/set fs調用序列,并修改數據段邊界來指向內核尋址空間而不是指向用戶尋址空間。get fs/set fs序列允許內核從內核模式中發出系統調用(如代碼所示的sysopen sys write and sys close調用)。當發出系統調用后,Linux內核首先要確保調用的參數在用戶空間應用程序的虛擬地址空間范圍之內。

盡管當用戶空間應用程序發出系統調用命令后(如,為確保應用程序不能惡意地涉及系統調用參數中的內核數據),這項檢查工作相當重要,但它卻會導致內核系統調用的失敗。Get fs/set fs調用序列修改了數據段以便于檢測系統能夠成功調用參數,這就允許內核空間發出系統調用指令。Rootkit則會簡單地打開GSM設備,并用適當的參數來定位寫操作系統指令序列(例如AT命令),然后關閉該設備。在代碼發出的AT命令激活了電話子系統.并成功建立起同攻擊者電話之間的連接。然而,AT命令并沒有啟動智能手機中由聲音子系統控制的麥克風。為了激活麥克風,我們使用usermodehelper函數并控制Rootkit發出如下的內核模式命令:

alsactl -f /usr/share/OpenMoko/scenarios/GSMhandset.staterestore

該命令允許內核運行用戶模式命令。

以下是GSM Rootkit的部分Pseudocode代碼:

1. char *atcommand1 = "AT command1";

2. char *atcommand2 = "AT command2";

3. ...

4. mm segment t saved fs = get fs();

5. set fs(KERNEL DS);

6. fd = sys open("/dev/ttySAC0", O RDWR | O NONBLOCK, 0);

7. sys write(fd, atcommand1, sizeof(atcommand1));

8. sys write(fd, atcommand2, sizeof(atcommand2));

9. ...

10. sys close(fd);

11. set fs(saved fs);

攻擊2:全球定位系統(GPS)弱點之個人方位隱私泄露

本次攻擊的目的是泄露受害者的位置隱私。受Rootkit感染的智能手機接收來到白攻擊者的短信(SMS).并查詢受害人的當前位置。Rootkit攔截該消息并將用戶當前位置通過GPS發送給遠程攻擊者。與GSM設備一樣,GPS設備也是串行設備。內核運行ttY-driver結構體鏈表來維護安裝在系統上的一系列串行設備。Rootkit利用該結構體的成員變量name可以很容易地定位到GPS設備。每個tty_driver結構體還包含一個緩沖區(讀緩沖區),在該緩;中區中存儲未被用戶空間應用程序讀取的數據。在用戶訪問該數據之前是,Rootkit程序從此緩沖區中讀取數據。泄露位置隱私的Rootkit技術必須實現如下三個機制。

首先,必須攔截入侵短信,并確定是否是遠程攻擊者查詢受害者位置的短信;

第二,必須能夠從GPS接收器獲得位置信息;

最后,必須生成受害人當前位置的短信,并將其發送給攻擊者。該攻擊概述如圖3所示。

現代智能手機攻擊案例分析二

▲圖3 位置隱私攻擊步驟

值得一提的是第一個機制對攻擊1也相當有效,而不對Rootkit必須撥打的號碼進行硬編碼,攻擊者可發送受感染手機必須通過短信撥打的號碼。攻擊者還可以通過短信啟用/禁用Rootkit的惡意功能,這樣就使得攻擊者可以遠程控制Root kit。通過修改系統調用的相應表項,并指向Rootkit代碼,這樣Rootkit程序就可以通過hook內核讀寫系統調用來攔截短信。因此,Rootkit攔截必須要去每個用戶空間應用程序的讀/寫操作,GSM設備接收和處理短信。用戶空間sMs應用程序不斷查看GSM設備是否有新郵件。當SMS應用程序試圖讀取GSM設備時,Rootkit代碼截獲該操作,并從GSM設備的讀緩沖區中讀取數據。

存儲在緩沖區的短信通知中包含字符串+CMTI= Simindex , 其中 Simindex 代表短信序列號。當查找到該子字符串后,Rootkit則解析該短信,并判斷是否包含攻擊指令(以某種預定義的格式)。每個消息對應一個狀態位,其決定郵件是否已經被讀取過。Rootkit程序確保將非攻擊者發送的短信標記為未讀,并能夠被用戶空間sMs應用程序處理從而使Rootkit隱蔽地進行操作。如果Rootkit攔截到來自遠程攻擊者的信息 那么它會試圖從GPS設備獲取位置信息。

Rootkit可以很容易地從與GPS設備相關的ttY-driver結構體的讀緩;中區中獲得位置信息。需要注意的是,即使用戶已禁用GPS,Rootkit仍然可以獲取位置信息。這是因為Rootkit在內核模式下運行.其可以啟動GPS設備并獲取位置信息,而且在取得信息后立即禁用該設備。在獲得位置信息后,Rootkit會生成一條短信,同時通過將GSM調制解調器配置為文本模式來發送該短信,并發出AT+ CMGS命令(發送郵件)。保護位置隱私很重要,最近已經引起了研究界相當的注意。

Rootkit破壞內核并通過GPS獲得用戶位置信息,擊敗了現有的大多數用來保護位置隱私的防御措施。此外,攻擊是悄悄進行的,接收到的攻擊消息并不立即顯示給受害者。該攻擊唯一可見的痕跡是由服務提供商記錄的消息發送記錄。只有當用戶收到月結單時才會發現發送給未知號碼的短信。才可能會檢測到攻擊。然而,許多用戶很少注意到這些細小的變化,從而長時間未發現這些攻擊。

三、Rootkit未來發展趨勢分析

隨著智能手機的大量普及使用,手機Rootkit開始逐步進入手機安全人員的視野。由于Rootkit技術的隱蔽性、運行效率要遠遠高于一般的手機病毒技術,而且Rootkit對手機殺毒軟件的防刪除、防關閉技術更要比病毒程序底層,這些與生俱來的優越性使得手機攻擊者的視線逐步轉移到手機Rootkit的開發上。

在未來,手機Rootkit將具有以下一些高技術含量的特點:

(1)手機硬件Rootkit將大量出現;

(2)文件隱藏技術將日漸成熟,如鉤子技術;

(3)任務/線程隱藏技術將同時開始成熟;

(4)擁有底層的對抗殺毒軟件技術;

(5)結合手機系統更加緊密;

(6)著重利用手機系統的安全漏洞;

(7)手機硬件驅動層面的Rootkit將成為主流。

四、總結

惡意軟件的發展史是攻擊者和防御者之間的競爭史.當防御者改進惡意操作檢測工具時,攻擊者也會用新技術來逃避偵查。Rootkit通過破壞操作系統來逃避檢測。從而能夠避開用戶空間檢測工具并長期隱蔽運行。內核級Rootkit利用智能機操作系統,帶來了嚴重的社會影響。移動手機平臺的流行吸引著攻擊者開始越來越多地開發和部署正對這些平臺的病毒、蠕蟲。筆者建議,竊聽事件頻出,用戶不必恐慌,首先不要將手機輕易交給陌生人使用,以防手機被植入竊聽木馬;其次要購買正規渠道的手機,還有就是不要點擊、下載匿名郵件、中獎短信等信息中的鏈接。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 金堂县| 买车| 新竹县| 门源| 德保县| 安西县| 徐水县| 大竹县| 曲沃县| 开原市| 洮南市| 夏邑县| 驻马店市| 水城县| 石阡县| 淮阳县| 土默特右旗| 洪江市| 诏安县| 互助| 高邮市| 安西县| 古田县| 泸水县| 贵溪市| 万源市| 武山县| 奈曼旗| 阿尔山市| 绥化市| 宝山区| 阿城市| 丽水市| 贵溪市| 河北省| 贡嘎县| 诸暨市| 陆良县| 南投市| 赫章县| 榆林市|