這段時間,經常看到媒體有報道手機病毒,甚至收到很多朋友給我的提醒郵件:“當來電顯示有‘ACE‘這一字段時(對于大多數有來電顯示的數字手機),不要接聽,立即掛斷,如果接通,你的手機會感染一種病毒。該病毒會抹去你的手機和SIM卡里的所有IMS和IMIE信息,從而導致你的手機無法和電話網接通。你不得不另買臺手機“,覺得有必要澄清一些錯誤的說法。上面所說的ACE病毒其實只是一個假病毒消息(可以見http://vil.mcafee.com/dispVirus.asp?virus_k=99320 、http://www.snopes.com/computer/virus/mobile.htm和http://www.f-secure.com/hoaxes/cf_virus.shtml),但是不少國內媒體都把它作為真的手機病毒報道(包括國內的幾大防病毒產商),并到處引用和渲染。
一、病毒特點
我在手機“病毒“上加了引號,是因為我到目前為止沒有見過真正的手機病毒,我們知道,病毒應該具有以下特點:
傳染性
病毒通過自身復制來感染正常文件,達到破壞目標正常運行的目的,但是它的感染是有條件的,也就是病毒程序必須被執行之后它才具有傳染性,才能感染其他文件。
破壞性
任何病毒侵入目標后,都會或大或小地對系統的正常使用造成一定的影響,輕者降低系統的性能,占用系統資源,重者破壞數據導致系統崩潰,甚至損壞硬件隱藏性。
潛伏性
一般病毒在感染文件后并不是立即發作,而是隱藏在系統中,在滿足條件時才激活。
可觸發性
病毒如果沒有被激活,它就像其他沒執行的程序一樣,安靜地呆在系統中,沒傳染性也不具有殺傷力,但是一旦遇到某個特定的條件,它就會被觸發,具有傳染性和破壞力,對系統產生破壞作用。
寄生性
病毒嵌入到載體中,依靠載體而生存,當載體被執行時,病毒程序也就被激活,然后進行復制和傳播。
目前雖然出現了不少針對手機的攻擊,主要可以分為以下幾類:
攻擊者占領短信網關或者利用網關漏洞向手機發送大量短信,向手機發送大量短信,進行短信拒絕服務攻擊。典型的就是利用各大門戶網站的手機服務漏洞,寫個程序,不停的用某個手機號碼訂閱某項服務或者退定某個服務,而去年出現的SMS.Flood就是這樣一個程序;
攻擊者利用手機程序的漏洞,發送精心構造的短信(SMS)或者彩信(MMS),造成手機內部程序出錯,從而導致手機不能正常工作,就像我們經常在計算機上看到的“程序出錯”情況一樣。典型的例子就是前年出現的針對西門子手機的Mobile.SMSDOS程序。
從以上分析我們可以看出,前段時間針對手機的攻擊程序都沒有寄生性和傳染性的特點,因此我們還不能把它們稱之為“病毒”,只能把他們稱為手機漏洞的攻擊程序。以下我們詳細分析這些程序,以及他們利用的手機漏洞。
二、手機漏洞分析
根據漏洞發現時間上的先后順序,我把已經公布的手機漏洞進行了整理,到目前為止,主要有以下一些手機漏洞:
1、Nokia 某些產品PDU格式漏洞:荷蘭安全公司ITSX的研究人員發現,諾基亞的一些流行型號的手機的操作系統由于沒有對短信的PDU格式做例外處理,存在一個Bug,黑客可以利用這個安全漏洞向手機發送一條160個字符以下長度的畸形電子文本短信息來使操作系統崩潰。該漏洞主要影響諾基亞3310、3330和6210型手機。
2、Siemens 35系列特殊字符漏洞:由于手機使用范圍逐漸擴大,中國安全人士對手機、無線網絡的安全也產生了興趣,2001年底,中國安全組織Xfocus的研究人員也發現西門子 35系列手機在處理一些特殊字符時也存在漏洞,將直接導致手機關機。
3、Panasonic 的GD87彩信手機存在漏洞:2002年12月,T-Mobile International AG 公司確認了在新款松下彩信手機軟件中出現了漏洞,這個漏洞可以讓手機不經過使用者的同意而訪問付費服務,其中的原因是GD87支持WAP PUSH中的service loading方式。 “WAP PUSH”分為service loading與service indication兩種,其中service loading工作如下圖所示:
a)Push發起者向wap網關發送文本方式的SL(service loading)
b)PUSH網關收到該信息后轉化為二進制方式,然后向用戶終端推送這個SL(service loading);
c)如果用戶終端接受到此信息,這時用戶是不會知道這個信息的;
d)如果手機端沒有附加的判斷,那么手機會自動啟動wap瀏覽器通過PUSH網關發送請求;
e)服務器返回結果,這時終端就已經登陸到相應的網址了。如果此網站需要付費,則手機用戶就會在不知不覺中付大量的費用。
4、Orange的SPV 存在允許運行非認證軟件漏洞
英國電信商Orange的SPV是市面上第一款采用微軟Smartphone 2002操作系統的手機,基于安全考慮,Orange只允許經過該公司認證的軟件才能 在SPV手機上執行。但2003年初已有黑客破解SPV上的安全機制,并公開此一破解方法,這樣,程序無須通過Orange認證,就可直接流入網絡, 用在SPV手機上,從而對用戶的手機產生破壞。
5、Nokia的Vcard存在漏洞
VCard格式是一種全球性的MIME標準,最早由Lotus和Netscape提出。該格式實現了通過電子郵件或者手機來交換名片。Nokia的6610、6210、6310、8310等系列手機都支持Vcard,但是其6210手機被證實在處理Vcard上存在格式化字符串漏洞。攻擊者如果發送包含格式字符串的vCard惡意信息給手機設備,可導致SMS服務崩潰,使手機被鎖或重啟動。
6、Siemens的"%String"漏洞
2003年3月,西門子*35和*45系列手機在處理短信時遇到問題。當接受到"%String"形式的短信時,如”%English”西門子手機系統以為是要更操作改系統語言為英文,從而導致在查看該類短信時死機,利用這一點很容易使西門子這類手機遭受拒絕服務攻擊。
三、手機病毒趨勢
雖然已經在不少手機上發現了安全問題,但是到目前為止,還沒有看到真正意義上的手機病毒,這并不是因為沒有人愿意寫,而是存在著不少困難:
1.手機操作系統是專有操作系統,不對普通用戶開放,不像電腦操作系統,容易學習、調試和程序編寫,而且它所使用的芯片等硬件也都是專用的,平時很難接觸到;
2.手機系統中可以“寫”的地方太少,在以前的手機中,用戶是不可以往手機里面寫數據的,唯一可以保存數據的只有SIM卡,下圖是SIM卡的說明,其中只有Telecom Dirextory是可以由我們保存數據的,而這么一點容量要想保存一個可以執行的程序非常困難,況且保存的數據還要繞過SIM卡的格式。
3.以前手機接收的數據基本上都是文本格式數據,我們知道文本格式也是計算機系統中最難附帶病毒的文件格式,同樣在手機系統中,病毒也很難附加在文本內容上。
但是隨著手機行業的快速發展和基于手機的應用不斷增多,這種局面已經開始發生變化,特別是
(1).K-JAVA大量運用于手機,使得編寫用于手機的程序越來越容易,一個普通的Java程序員甚至都可以編寫出能傳播的病毒程序;
(2).基于Symbian、Pocket PC和SmartPhone的操作系統的手機不斷擴大,同時手機使用的芯片(如Intel 的Strong ARM)等硬件也不斷固定下來,使手機有了比較標準的操作系統,而且這些手機操作系統廠商甚至芯片都是對用戶開放API并且鼓勵在他們之上做開發的,這樣在方便用戶的同時,也方便了病毒編寫者,他們只需查閱芯片廠商或者手機操作系統廠商提供的手冊就可以編寫出基于手機的病毒,甚至這樣的可以破壞硬件。
(3).手機的容量不斷擴大既增加了手機的功能,同時也使得病毒有了藏身之地?,F在的很多手機都有比較大的容量,甚至能外接CF卡,這樣病毒就不再也不用發出“天下雖大,卻沒有我容身之地”的感嘆了;
(4).手機直接傳輸的內容也復雜了很多,有以前只有文本的SMS發展到現在支持2進制格式文件的EMS和MMS,因此病毒就可以附加在這些文件中進行傳播。
從以上分析可以看出,現在的手機發展為手機病毒的產生、保存、傳播都創造了條件,因此手機病毒的出現和發展也僅僅只是時間問題而已。
四、防范手機病毒
如果我們可以放棄豐富的娛樂、便捷的工作、美好的生活,那手機病毒或許就可以遠離我們,但我們都有愿望和權力選擇更美好、更豐富的生活,所以我們要做打一場防范手機病毒戰爭的準備也就在所難免了。從手機病毒的特點來分析,我們可以采取以下措施:
1、堅守手機堡壘:手機是手機病毒寄生和發作的溫床,因此要防范手機病毒,就要在手機上做好安全,手機廠商要防止出現手機的安全漏洞,用戶要注意不能隨便下載不確定來源的文件(包括手機鈴聲和圖片),殺毒軟件廠商也要開發出手機殺毒軟件(目前Trend micro、Mcafee、f-secure等公司已經有了PDA版本的殺毒軟件);
2、堵死手機病毒傳播通道:手機病毒的通道主要是移動運營商提供的網關,因此在網關上進行殺毒是防止手機病毒擴散的最好辦法,國內的安全組織Xfocus在這方面做了比較深入的研究,分析了SMS、EMS和MMS的協議分析,并在這基礎上對其中包含的內容進行掃描,確保傳送的內容是安全可靠的。
隨著手機的不斷發展和基于手機業務的不斷擴大,手機病毒的危險也是越來越大,但是只要我們提高安全意識,注意安全,手機病毒也是可以防范的.


