誰在蠶食你的手機話費-初析WM智能手機木馬與利益鏈

來源:互聯網
上載者:User
誰在蠶食你的手機話費 ——初析WM智能手機木馬與利益鏈 作者:小金 一.智能手機與高額話費商務精英胡先生終於沒能抵擋住身邊同事們都在用智能手機的誘惑,也去品牌店購買了一部“多普達S1精英版”智能手機,開 ...誰在蠶食你的手機話費

——初析WM智能手機木馬與利益鏈

作者:小金

一.智能手機與高額話費
商務精英胡先生終於沒能抵擋住身邊同事們都在用智能手機的誘惑,也去品牌店購買了一部“多普達S1精英版”智能手機,開始了他的商務白領手機生涯。然而緊跟著的一連串問題讓胡先生明白了自己仍然是個門外漢的事實,首先同事的“HTC鑽石”永遠比他的“精英”反應速度快一些,然後又得知他買這個手機的價格比市場價高出了接近50%,也就是說,我們的商務精英在買“精英”的時候被商家狠狠宰了一刀。
但是事情還不算完,月末胡先生去儲值手機費用時被一個他做夢也沒想到的高額話費嚇得差點誘發心臟病,讓營業廳列印話費詳單後,他驚奇的發現自己通過簡訊註冊了不少收費的移動增值業務,甚至還有在深夜時刻撥打聲訊台長達3小時的通話記錄!胡先生完全迷惑了,他不記得自己有訂購過什麼業務,更別提打電話給聲訊台了,與營業廳交涉無果,胡先生只能自認倒黴交了費用並登出了所有莫名其妙開通的增值業務。
事隔一天,胡先生查話費再次驚訝的發現自己昨晚又訂製了多個收費增值業務,這下他坐不住了,趕緊去營業廳說明情況,與營業員爭論半天,最後還是大堂經理見多識廣,建議胡先生給手機殺毒或重裝系統。手機也能重裝系統?一頭霧水的入門級使用者胡先生只好求助於同事,終於把手機“硬啟”了,然後又是折騰大半天重裝各種手機軟體,終於趕在下班前重新讓手機上了股票交易軟體。幾天后,話費裡再次莫名其妙多出的增值業務費用徹底讓他欲哭無淚,這時候同事終於開始懷疑胡先生的手機是否中了病毒了。手機上居然還會有病毒?心力交瘁的胡先生決定不再用智能手機,一咬牙把“精英”低價賣了,隨便買了個非智能平台的手機,繼續過普通白領的日子去了,從此他再也沒遇到話費的困擾。

二.誰在蠶食你的手機話費
隨著魅族推出M8手機的攻勢與蘋果iPhone的宣傳效應,越來越多的國內民眾終於對“智能手機”這個名詞有了些許認識,同時一直被福士視為“山寨”的多普達手機也終於得到了露臉的機會,“商務智能手機”開始走入尋常百姓家,許多人突然知道了手機也可以有作業系統,並且還能根據安裝軟體的不同而衍生出多個不同的特性和功能,一時之間“智能手機”成為了年輕人們聊天的又一個新話題。
和家庭電腦上存在幾個不同作業系統陣營一樣,智能手機也是有陣營區 分的,分別是諾基亞的Symbian系統、蘋果的Mac OS X、微軟的Windows Mobile、RIM的RIM系統以及Google正在研發的Android系統等,這些系統平台之間互不相容,這也是想購買智能手機的使用者面臨的第一個困惑,什麼平台最適合自己呢?這個問題各人都有不同的答案,所以選擇一款適合自己的智能手機是十分必要的,總體而言,由於微軟的Windows案頭系統佔據了國內主流市場,而且Windows Mobile平台的手機內建Office文檔辦公功能,同時由於具備Windows平台開發經驗的開發人員可以很輕鬆的轉移到WM開發層面上來,所以採用微軟WM平台方案的PocketPC手機可以作為商務人士的參考選擇,但是由於軟體眾多,要想讓它發揮所有功能必須經過一番折騰,因此業務繁忙人士不宜選用。
而蘋果iPhone採用基於UNIX類作業系統的Mac OS X平台也提供了更為豐富的系統特性和功能,與WM平台SDK開放下載不同,蘋果雖然也發布了官方SDK軟體開發包讓開發人員得以加入開發陣營,但是這個開發是需要授權收費的;而相比之下走中規中矩路線的諾基亞Symbian平台由於認證授權問題,它的軟體開發和使用相對比前兩者要麻煩些許,但是它的S60作業系統是相當穩定的,適合需求穩定手機功能而不那麼追求軟體使用的商務人士使用。
以下我們將以普通家庭使用者接觸最多的Windows作業系統對應的手機平台Windows Mobile為例,講解一個智能手機與惡意程式的故事。

簡述Windows Mobile智能手機
Windows Mobile手機由於可以和Windows案頭系統緊密聯絡,同時還因為眾多開發人員編寫了方便在電腦端管理手機的工具而成為一部分智能手機人士的不二之選,而且WM系統的核心是Windows CE——被視為可攜式裝置上使用的Windows系統解決方案,因此無論是普通使用者還是開發人員接觸WM系統都能較快的入門,這也與WM手機無論是檔案格式還是目錄結構都類似個人電腦上的Windows系統有關,在業界裡採用Windows Mobile系統的手持功能被稱為PocketPC,即PPC,嚴格說來最初的PPC只是指一種能放進口袋的小型PDA裝置,而增加了電話功能的PPC則應該稱為PPC
Phone,但是通常人們都已習慣用PPC指代智能手機了。
在PPC手機上可以看到許多鮮明的微軟Windows標誌和操作特性,如開始菜單結構、註冊表、檔案路徑格式等,這些與Windows系統操作習慣類似的設定令許多使用者在初期接觸便已覺得十分親切和容易上手,但是兩者也不是100%相似的,在PPC裡,“案頭”的概念變得很細微,取而代之的是用於類比常規手機待機屏的“今日螢幕”,而程式表徵圖是位於開始菜單的“程式” 分支裡的;更重要的是,雖然PPC手機裡啟動並執行程式也是EXE和DLL檔案,然而兩者卻是不互相相容的,用於WM平台的可執行程式屬於ARM體系,而普通個人電腦是x86體系,兩種處理器的結構和底層操作完全不同,所以用於Windows系統的QQ2009是不能在WM系統裡執行的,反之亦然。
當 然,這些底層的差異對於開發人員而言並不是重要的事情,因為微軟已經將Windows Mobile開發項目無縫整合到Visual Studio.Net裡去了,而且它是免費的,這也就意味著為智能手機開發程式變得及其簡單,因此鼓勵了許多開發人員加入智能手機軟體開發的行列,從而讓眾多功能各異的工具軟體在PPC上大放異彩。
相應的,當一個在Windows開發裡習慣了編寫木馬後門的開發人員要為Windows Mobile開發程式的時候,他自然也就會考慮開發木馬後門這方面的程式了,因此,PPC木馬終於出現。

從Windows Mobile應用程式的安裝說起
對於“安裝程式”這種東西,每一個電腦使用者都是最清楚的了,大部分軟體都是通過“安裝”的形式在使用者的電腦上構建一個合適的運行環境的,這個步驟其實從開發人員的角度看來就是將相應檔案複製到目標位置,然後在系統中註冊相應的組件以達到目的,在Windows系統裡這一過程實際上就是複製檔案和註冊表資訊的調整寫入,那麼在Windows Mobile系統裡,軟體的安裝又是如何進行的呢?
在WM平台中,微軟啟用了一種新的軟體安裝形式,這就是每個入門者都難搞清楚的CAB壓縮包格式,在微軟的規範下,基於CE核心的可攜式裝置系統裡每個軟體最終都以單一檔案形式的CAB壓縮檔包發布,使用者只需將其複製到裝置中運行即可被作業系統識別和執行相應的檔案解壓複製和註冊表修改,這樣就能避免安裝程式檔案變得零散,畢竟可攜式裝置並非家用電腦那麼方便操作。
軟體開發人員通過兩種形式發布他們的產品,一種是零散的檔案形式,這種形式適用於對系統運行環境沒有過多需求和設定的小程式,即“綠色軟體”;而另一種必須預設定系統內容和檔案關聯的軟體就必須以CAB壓縮檔的形式發布了,製作一個安裝包並不複雜,微軟的開發環境提供了打包工具,開發人員更可以使用強大的第三方安裝包製作和分析工具WinCE CAB Manager來完成這個過程,符合CE軟體安裝格式的CAB壓縮檔在一般的解壓縮工具查看的情況下是由亂七八糟不知所云的多個檔案組成的,要正確識別這些安裝程式的內容,必須通過第三方分析工具來實現,如WinCE
CAB Manager。
一個符合軟體安裝要求的CAB安裝程式解開後是由多個以數字為尾碼的檔案和至少一個XML檔案組成的,無論裡面的檔案搭配形式如何,它都必須存在一個名為“_setup.xml”的XML檔案,這個檔案就是一切安裝檔案的核心指令碼,它負責記錄每個檔案對應的原檔案名稱以及將要複製的目標位置,並且告訴系統要寫入和修改的註冊表資料和註冊組件等,系統讀取解析這個指令檔然後執行相應的檔案複製、註冊表資料寫入和建立捷徑等工作。
以這個流程來看,安裝包似乎並不適合用於一些需要安裝後立即自動運行以進一步設定系統內容的工具軟體,例如某個軟體安裝後需要自動執行一下設定選項程式將軟體安裝路徑和一些配置資訊寫入資料檔案裡,那麼開發人員將面臨這樣的難題:這些配置資訊和安裝路徑並不是在每個可攜式裝置上都一致的,而CAB安裝包的形式只提供註冊表修改和檔案複製操作,對於進一步寫入資料檔案的操作它無能為力也無權進行,那麼開發人員只能告訴使用者自己手工執行一次設定程式以構造初始運行環境,這樣一來將顯得這個軟體很不專業。
但是,微 軟不愧是微軟,後期的CE系統接受了這個需求並針對其推出了一種被稱為“安裝庫”(Setup Library)的擴充安裝技術規範,這個規範使得之前製作的CAB安裝包不會由于格式變動而作廢,它在保持原有CAB安裝格式的基礎上加入了“安裝庫” 選項,所謂“安裝庫”就是一個DLL檔案,它以微軟約定標準編寫匯出函數,並命名為“SETUP.DLL”,系統在完成傳統的安裝過程前會尋找安裝包裡提供的安裝庫檔案並執行它的匯出函數,將當前安裝資訊傳遞過去,開發人員要做的事情就是在這個匯出函數裡編寫自己的安裝環境擴充代碼,就能輕鬆達到上述的檔案操作目的,不僅如此,開發人員還能讓安裝進程在剛開始時彈出提示訊息框、以及到最後自動重啟裝置等,簡單說來,可以把“安裝庫”視為一個能夠監視和控制整個安裝進程的安裝組件模組,它可以擁有一切普通程式該具備的功能,這就意味著開發人員可以運用安裝庫執行程式、產生特定配置資訊資料、刪除註冊表(安裝包只允許添加和改寫註冊表操作)等。
正是這一特性,方便了開發人員,也方便了後來的木馬製作者。

各個智能手機論壇是每一個智能手機使用者必須光臨的地方,在這些地方每天都能有新的軟體發布,更重要的是論壇提供了一種互動形式,使得大家更深入瞭解某個軟體具體提供什麼功能,而不是從一些智能手機軟體下載網站上看那些簡潔難懂的文字,同時論壇裡發布的軟體通常要比下載網站裡的版本要新,而目前還沒出現能夠“捆綁木馬”的智能手機軟體,於是許多使用者都能放心運行論壇裡下載的軟體,殊不知,一場木馬盛宴已經在悄悄展開……

手機木馬來襲
事情的起因源於一些使用者下載安裝了某個發行者提供的軟體後覺得手機出現異常現象,例如不週期性串連GPRS、莫名其妙撥打到電話等,由於大部分使用者並非很瞭解智能手機,他們只能以通常的眼光認為是手機系統混亂了,然後執行“初始化”操作——在業界裡這一行為稱為“硬重設”(Hard Reset),俗稱“硬啟”,這個操作會導致整個手機系統清理後期使用者安裝和改寫的系統內容,將系統初始化為最初狀態。
硬啟後,這些奇怪的現象自然消失了,然而好景不長,在重新設定系統內容和安裝眾多軟體後,詭異現象再次出現,一部分人的話費賬單開始出現異常記錄,甚至產生高額話費,於是使用者們發帖求助,最終,一場智能手機木馬案浮出水面。

受害使用者們的手機程式進程裡出現了一個名為“msservices.exe”的進程,同時手機根目錄和儲存卡根目錄同時出現了一個隱藏的“2577”檔案夾,裡面同樣有個隱藏的“autorun.exe”,由於國內使用者普遍對智能手機還處於初步摸索階段,當分析者公布“2577”檔案夾中的檔案為木馬執行體之一的時候,許多人還堅信這是正常的檔案夾,依據是因為他們的手機裡都有這個檔案夾,由此可見這一類型的智能手機木馬散播範圍之廣!
木馬是怎麼被安裝到手機上的呢?許多有探究精神的人去重新下載了那個被他們懷疑的發行者提供的安裝包,然而安裝包裡並沒有“autorun.exe”和 “msservices.exe”的存在,直到具備可攜式裝置開發經驗和軟體逆向工程經驗的論壇會員進行了真正的技術分析,“被懷疑”終於變成“被確認”,安裝包裡的確沒有“autorun.exe”和“msservices.exe”,然而卻有安裝庫檔案“setup.dll”!
通過使用反組譯碼工具對SETUP.DLL進行逆向工程,安裝包進行的暗箱操作終於大白於受害使用者眼前,首先,安裝包裡除了正常的程式檔案以外,還混雜有一個被改了名的木馬本體檔案,這個名字當然是由發行者自己決定的,如“file.dat”、“_data.dat”等,就是要讓一部分經驗使用者即使簡單的開啟安裝包也看不出來。當安裝程式執行完正常的檔案複製和釋放工作後,它觸發了安裝庫的擴充安裝功能。
然後安裝庫“setup.dll”被載入執行,這個安裝庫先把解壓出來的木馬本體給重新命名為“msservices.exe”,再通過系統API去將它啟動,執行完這些操作,安裝庫悄無聲息退出執行,最後系統判定安裝過程已經結束,返回結果使用者。
然而木馬已經被觸發執行了,只是使用者不知道。

在系統裡安家後,木馬程式開始一系列初始工作,首先,它擷取系統的“啟動”檔案夾目錄,並將自己的捷徑建立到這個目錄。資深Windows木馬愛好者也許會問了,這方法多老土多暴露啊,寫註冊表或驅動不好嗎?問題就在於,CE裡並不提供相對複雜的註冊表自動運行項。當然,要在CE裡實現非啟動目錄形式的自動運行也是可行的,只是相對複雜,而我們的木馬開發人員目前還處於初步摸索階段,同時大部分智能手機使用者也同樣處於初步摸索階段,所以如今這時期可以用當年“Windows 98的光輝時代”來形容了。
然後,木馬開始擷取使用者手機的IMEI國際移動身份識別碼,即俗稱的“串號”等敏感資訊,並通過串連GPRS網路的形式將資料發送到記錄網站,這一過程就會導致受害使用者的手機頻頻出現“自動連網”現象;同時,木馬還會下載多個作用不明的檔案,甚至意欲構造手機上的木馬群環境!
做完初始工作後,木馬開始監視儲存卡的拔插操作並向其寫入隱藏的“2577”目錄和複製一個自身改名為“autorun.exe”的木馬本體到這個檔案夾中,這又是代表什麼意義呢?原因在於微軟的“可攜式裝置儲存卡插入通知”規範,“2577”目錄配合“autorun.exe”引發的效果就等同於普通電腦上隨身碟病毒依賴啟動並執行“autorun.inf”作用一樣,這樣就確保了被感染的儲存卡在每次插入手機後,其中的木馬程式被自動觸發,同時這張被感染的儲存卡在插入其他 Windows Mobile平台PPC手機時也會導致對方手機被感染木馬程式,受害面積就是這樣擴大的。為了堅定的達到這一目的,木馬會在每次啟動和使用者插入儲存卡時寫入“2577”目錄和木馬本體,這就是為什麼有些使用者認為“2577”目錄是系統檔案的原因了,因為它被刪除後仍然會在手機重啟時出現,對於眾多經驗尚不足的使用者群體,習慣了也就默許這隻木馬存在了。
最後,也是最關鍵的一步出現了,木馬調用系統提供的簡訊服務API,開始不定期傳送簡訊,這一步驟是由木馬編寫者決定的,例如向合作的移動增值服務商發送註冊收費服務簡訊,對SP流程有認識的同學又會問了,現在移動規範了SP商必須返回一個確認簡訊以避免使用者誤操作,當使用者確認後SP商還必須返回一個開通成功的簡訊提醒使用者訂製的業務內容,這些明顯的步驟難道不能阻止木馬惡意開通收費服務嗎?這是個好問題,既然瞭解SP流程的同學們能知道,那麼木馬編寫者自然也能知道,然後就會有針對的措施,而這個措施很不幸又是由系統自身提供的。
系統的簡訊服務提供了眾多API介面,包括編寫和傳送簡訊、接收和刪除簡訊等,但是微軟卻遵循了一個最開放法則來製作簡訊服務:除了以上介面,它還提供一種對簡訊進行預先識別和攔截的功能,通過這一介面,使用者可以編寫相應程式將系統接收到的簡訊提前攔截下來並讀取和篡改內容,而這整個過程裡不會觸發任何系統提醒通知,也就是說,使用者不會看到被攔截了的簡訊,裝置也不會提示有新簡訊到達!正是這一介面讓“簡訊大師”這一類簡訊加強工具誕生,同時也方便了木馬編寫者!
在這個流程裡,木馬首先發送一個要求註冊SP服務的簡訊,然後將返回的簡訊加以識別和攔截,並回複一個“確認”簡訊,然後這條簡訊和隨後SP服務商返回的“開通成功”簡訊一起被刪除了,這樣整個註冊流程下來,使用者都還不知道自己已經被中了套!更惡劣一些的木馬甚至定期發送註冊簡訊確認服務是否已被使用者退訂,這樣一來,使用者一天下來“被發送”的簡訊究竟有多少條,只有開發人員自己才知道了。
同時,通過系統提供的撥打電話服務 API介面,木馬還能根據目前使用者手機時間以及電源管理返回的狀態判斷是否夜深人靜外加使用者已睡覺的完美條件(通常是深夜時刻並且電源管理為待機狀態或累計不操作時間超過設定的小時數,即認為使用者已休息),當這些條件達到的時候,木馬就可以操作手機撥打指定的號碼了,例如預置的高收費聲訊台號碼,甚至騷擾電話和國際長途等,一切處心積慮只為了一個事情:蠶食使用者的手機話費!
目前曾經在國內智能手機論壇鬧得轟轟烈烈的似乎只有“小媒體”一家,然而實際上還有眾多不為人知的非法公司在從事這一行為。
不過有一點可以確認的是,目前手機木馬尚未達成“遠端控制”的目標,這是由於GPRS網路與一般網路存在區別導致的,使用者除了話費和隱私以外不用擔心自己被人“監控操作”,但是連絡人會被上傳到網站倒是有可能的。

幕後的利益分成
與電腦裡木馬編寫者的目的一樣,手機木馬編寫者自然也需要有一個盈利目標,否則吃飽了撐的才會去玩這些討罵的事情,因此,在手機木馬的背後,是隱藏著某些 SP服務商和手機網站甚至聲訊台的合作黑幕的,實際上某些SP商與山寨手機的合作黑幕早已被人公布在國內知名的看雪論壇裡了,而且是在燒錄手機系統晶片的時候固化進去的,如今這個黑手也伸向了智能手機平台,甚至一部分製作智能手機ROM檔案的人自己就捆綁了木馬程式,導致一些新人被先入為主的木馬行為迷惑成了“系統特性”!
然而,如今不止PPC平台,諾基亞的Symbian平台也傳來了木馬嵌入安裝包的訊息,看來某些SP服務商是決定吃下整個智能手機市場了。

智能手機木馬的發展
正 如我前面所說的那樣,目前的智能手機木馬尚處於“Windows 98”時代,它們必然會跟著使用者的經驗提高而進化,目前已經出現了可以不依賴“開機檔案夾”的木馬,它們通過“裝置事件隊列”來觸發,就像同步程式堅持不懈的在後台運行一樣,採用這種形式啟動的木馬將增加技術人員的尋找和刪除難度,對於一般使用者,就只能“硬啟”了。
“裝置事件隊列”是 Windows Mobile平台裡的又一個重要組成部分,由於WM裡電源管理控制在設定系統進入待機時會將一切程式轉入休眠狀態,也無法通過程式自身喚醒,這就需要一個外部的系統事件觸發了,而“裝置事件隊列”就能實現這一目的,通常它被一些鬧鐘軟體使用,而如今,木馬又借用它來完成了進一步升級。
目前的智能手機木馬都能被工作管理員發現它們的進程,這不能不說是一件慶幸的事,然而這隻是意味著木馬製作者還沒研究到一定深度而已,例如WM平台裡實際上是可以實現DLL注入的,只不過調用的API不同罷了,利用這個方法製作的DLL木馬將十分隱蔽和難以清除,為了避免一些不必要的後果,具體方法在此不提。

三.關於智能手機上的殺毒軟體
早幾年,就已經有殺毒廠商針對智能手機平台推出了殺毒軟體,但是與電腦平台不同,目前大部分手機殺毒軟體還只能稱為“雞肋的存在”——木馬樣本少得可憐、使用者少得可憐、佔用系統資源大得殘忍!在我早期的文章裡曾經提到過,在一些低配置電腦上,殺毒軟體的存在甚至比中了木馬群還拖累使用者系統速度,就如今的智能手機綜合效能而言,手機上的即時監控和殺毒軟體比真正的木馬還要木馬!所以目前的手機平台殺毒軟體其實處於一個極其尷尬的地位——智能手機使用者自身都還在摸索階段,他們很難知道自己的手機是否中了病毒,更別說用手機將病毒樣本上傳到殺毒軟體官方網站了,首先是缺少需要的技術,其次,GPRS流量費用是一個很現實的問題。如此一來,殺毒軟體也就成了花瓶般的擺設,當有新的木馬攜安裝程式洶湧而來的時候,它們的病毒碼資料庫裡由於缺少對應的標識而不認為對方是木馬,這樣的殺毒軟體除了駐留手機記憶體消耗使用者電力和系統速度以外,實在是很難達到預見的效果。

四.結語
作為一種國內的“新興事物”,智能手機在大部分人眼裡仍然是一種怪物般的存在,而許多使用者也尚處於茫然的狀態,在這樣的情況下,相對於案頭電腦而言編寫技術相對簡陋的手機木馬也就能平安橫行於智能手機了,這個局面是無法簡單的通過幾句指導來改變的,我們只能期盼著有一天,眾多國人眼裡的“多普達”不再是“山寨機”的存在,但是,相對於普通手機,熟悉操作智能手機所需的常識和操作又成為阻礙眾多國內使用者發展的痛點之一,這個夢,或許還很遙遠……

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.