陳宏偉360高級手機樣本分析師惡意程序開發者,這個定義來源于360移動平台中的惡意開發者數據。從圖1可以看出,2013年,惡意程序的開發者數量,個人開發者的數量(2442個)明顯要比“企業級”開發者(1496個)多。2014年,個人開發者的量(1579個)有所下降,“企業級”開發者的數量(1292個)下降反而不是那麼明顯。2015年,個人惡意開發者的數量出現銳減,僅為1114個,反而企業開發者的人數更多一些。
我們得出一個結論,基于移動開放平台的惡意個人開發者的數量,是在減少,而“企業級”開發者,它的數量相對穩定,而且還有一個增長的趨勢。那麼,為什麼開發者會演變成為惡意開發者?
惡意開發者有幾類:第一,使用惡意廣告;第二,發布山寨應用,發布低俗色情應用,強制下載第三方應用,無提示扣費。當然這也是其賺錢的方式。第三,窺探用戶隐私;第四,提交虛假的身份信息。為什麼虛假信息也是惡意開發者的一項?因為在360移動平台提交應用或者上傳App,需要做一個開發者信息校驗的,而某一些人為了躲避校驗就要上傳虛假信息,當然他一旦上傳虛假信息就被拉黑了。但由此統計出來企業級惡意開發者的數量越來越多。
流行的惡意程序類别
那麼,這些惡意開發者到底做了什麼?
(1)流量僵屍木馬
2015年7月,我們發現有90餘款遊戲被植入了一段惡意代碼,這段代碼會在用戶不知情的情況下聯網下載一個模塊,這個模塊的目的是為給某收費引擎和導航刷流量,于是便會下載另外一個列表,裡面含有搜索關鍵字。其在後台模拟一個完整用戶點擊的情況下去做一個搜索,而且每次解鎖之後都會做一次搜索,從而給用戶造成極大的流量損失。該行為是受雲端所控制的,如同一個僵屍一樣,所以我們命名為流量僵屍。
流量僵屍木馬第一個模塊就是下載惡意模塊,其自身不能自動實現,需要動态地從雲端獲取代碼。我們截獲了它下載代碼的截圖,随後拿到了模塊,發現其最重要的目标是給搜索引擎帶點擊量,搜索内容比較豐富,還有分類,包括娛樂、時政、新聞等。其關鍵詞非常精确,之所以這麼做的原因就是在模拟一個真實的用戶,從而不會被搜索引擎的機制所發現。最後一步是模拟用戶做一個搜索的操作。針對流量僵屍這一批樣本,我們做了一個完整分析,發現有26%的應用是這樣做的。
(2)暗扣木馬
2015年8月,某品牌的用戶擴展更新,發現了截圖的情況,手機上憑空多了一個應用,關了以後還會打開,删了以後還會出現。有些用戶的手機還顯示了ROOT。那麼到底發生了什麼呢?
這個木馬經過詳細的分析以後,發現大概是這樣一個執行流程。首先它僞裝成某一款正常的軟件進入到用戶的手機中,自帶ROOT模塊,進入用戶手機就會把這個模塊釋放出來,在靜默的情況下ROOT用戶的手機,如果用戶ROOT不了,它還會從雲端繼續ROOT用戶的手機。如果ROOT不成功,它就不工作了,如果ROOT成功,它就會ROOT其他模塊。手機感染該木馬之後還會篡改系統文件,這就是為什麼有用戶手機出現中了毒删不掉的問題。它有強大的自我保護。
随後我們進行了徹底的大排查。我們在一個僞裝成遊戲的軟件,dailyracing的變種,在其運行的衍生物中發現了名為ngsteamprf.xml的配置文件。這是fastmotay的文件,也是我們之前所說的最主要的核心病毒程序。在另一個變種的方式中,也發現了。當然不僅是我們發現了,又過幾個月,國外FireEye在其博客中也發布了該惡意程序,指出這個惡意程序的作者來自一家中國公司。
fastmopay、ngsteam、xinyinhe,它們同隸屬于深圳一家公司。通過注冊信息,我們知道這家公司是深圳的,實際公司的總部在北京,在北京、上海設有站點,它的核心研發在北京。這家公司員工人數100人左右,技術研發10人左右。這10個人都不是一般人,他們大多數來自互聯網跳槽的公司,都是技術高手。這家公司最鼎盛的時候,技術人員有50人左右。其他的人員都是以銷售和運營為主。那麼,其業務是什麼?線上廣告推廣、應用計費;線下渠道,應用、預裝和刷機。他們做的到底是什麼?暗扣和流氓廣告。流氓廣告可能很多人都遇到過,使用安卓系統的手機上都會彈出幾個廣告,一碰就下載,一碰就扣錢。暗扣與流氓廣告的區别是錢從哪裡來。流氓廣告賺的是廣告主的錢,暗扣賺的就是用戶的手機話費。
暗扣的産業鍊如圖2所示。首先出現的是電信運營商。接下來是軟件公司,代理商,渠道商,以及内容提供商。電信運營商作為一個服務,它是一個服務提供者。軟件公司,是用正規的應用申請計費代碼。我們所說的計費代碼都是短信的計費代碼,發信息都是付費的,比如發教育類的信息是多少錢,需要付費,就需要向運營商申請一套計費代碼。如果軟件公司的信息額度用不完,剩下的信息條數就可以賣給代理商,而這個計費代碼是嵌在應用程序裡面,那麼,代理商需要找人把計費代碼摳出來,賣給渠道商。知道的人越多越不好,它就會把這個代碼封裝成SDK,既方便它花錢,也方便它賺錢。渠道商把SDK又賣出去,給了内容提供商,到這裡錢就出來了。最終應用會獲利,通過扣費。這個錢一步一步往下返。按照行業内部規則,誰有話語權誰就拿得多,大家都很高興,都拿到了錢。
那麼應用怎麼才能扣費實現兌現呢?首先用戶是使用者。應用是怎麼來的?應用無非三種渠道:第一種從應用市場直接安裝;第二種從CP購買一些低成本的應用;第三種是收購擁有穩定用戶量的團隊。當然,收購這樣的公司不是看好其App做得多麼好,它真正在乎的隻是你的應用上有多少的用戶量。在拿到這個應用後就會插入惡意代碼和計費代碼,于是這個應用就通過各種渠道下載并安裝到用戶手機上。當然,他們會避開正規的應用商店和網絡聯盟,他們有自己的地下渠道。以某公司為例,每周活躍的應用在35款,所有的激活量在50萬,因為他們壓根兒不考慮這個能不能被用戶留存,隻要一點就達到目的,用戶愛卸就卸。
安裝之後需要人工觸發,用戶很高興,下載了一個新應用,點擊了一下。開始玩遊戲,玩到高興的時候,有大紅包、獎勵,要不要領取一下。有一個領取全部,下面的小字用戶沒有看見,點擊領取全部獎勵,收費人民币10元。點擊之後,于是來了一條消息。而且可能短信也會被攔截,就這樣,神不知鬼不覺的,用戶的錢就去了其他人的口袋,如圖3所示。惡意程序産生的原由
為什麼會出現流量僵屍這麼一個産物?其實剛開始是一個公司的新業務,幫搜索引擎導流量,通過導流量賺錢。開發者隻有一個人,他用三天的時間完成了核心代碼,然後再有一個人負責上線,不到一周,這個應用上線了,各個渠道轉發。但他們忘了一件事情,當時那家搜索引擎買的量是十萬,一不小心,它一天導了五百萬的流量,沒過兩天搜索引擎的銷售過來說你這個流量是不是假的,我說十萬,你導了五百萬。沒過幾天這個應用就下線了。但這種木馬卻流傳開來,截止到2015年,流量僵屍一共毀掉了48萬部手機。
那麼“幽靈疑雲”是怎麼回事兒?幽靈疑雲并不是針對國内的,是海外的一個旗艦産品,功能很全,主要針對海外。它導緻某品牌手機在兩天之内爆發了十萬的感染量。那個ROOT模塊是該公司收購了一個ROOT團隊,該品牌手機有自己的應用商店,于是,在一個錯誤的時間,從一個錯誤的地點發到了錯誤的應用,很不巧的是它又在一個正确的時間把這個錯誤的應用更新上去了。
這就是為什麼此前許多用戶提到手機更新後中毒,而該品牌手機廠商又發現壓根沒法殺,因為它有ROOT權限。有了ROOT權限,就可以将殺毒軟件的ROOT權限殺掉了。
惡意開發者之間的較量
先說說個人和小規模團隊。企業開發者,與之相對的就是個人和小規模的團隊,它的特點就是技術門檻低,沒有什麼難度,功能比較單一,要麼拿你的隐私,要麼扣你的錢,要麼删你的數據,簡單粗暴。
個人和小規模團隊,它的渠道比較單一,一般通過社交軟件、論壇、貼吧等,發個帖,發個二維碼,基本上是點到點的傳播。它能影響的人也就是社交群裡、論壇裡的某些人,不是所有人都會去關注。
我們再看看企業開發團隊,它有什麼樣的優勢。
首先,企業有人,有錢,有關系,有渠道,要什麼有什麼。在技術上,當然要有技術門路,沒技術那跟小作坊沒什麼區别。一般功能都比較複雜,代碼都會用大量的混淆、反射、加密,有些甚至有自己的私有盒來對抗。當然它們的代碼也不是簡單的,基本上采取加載的模式。傳播方式,它的渠道很多,比如做SDK(SoftwareDevelopmentKit,軟件開發工具包),某公司做SDK往下發,讓大家去下載。剛才說到刷機,用戶的手機從廠家出來以後還沒到用戶手裡,已經被刷了一點東西,甚至存在地下的一些渠道。它具有很強大的傳播能力。設想一下,它能控制整個華北地區的某品牌手機的銷售,所有的手機都由它經手,這種傳播能力無疑是強大的。
應對之道
應對主要是這幾個渠道,開發者、手機用戶、手機廠商、應用市場、政府機關和運營商。
開發者首先要謹慎選擇SDK,以免成為某些互聯網廠商的幫兇。客戶要從正規的市場下載應用。正規的廣告都知道是什麼規則。
安裝手機軟件,時刻保持手機在安全的情況。增強隐私保護無論硬件還是軟件都應該加強。在移動市場,加強開發者的審查,最關鍵要從正規的渠道獲取應用。
政府應建立健全相關的法律法規,加大打擊力度,提高作惡的成本。成本很重要,因為現在大部分惡意程序都是鑽空子。
運營商加強對提供商的服務,加強計費渠道的審查。
如果做到這些,我們的手機可能會更安全。
(本文整理自360高級手機樣本分析師陳宏偉在ISC2016“移動安全發展論壇”上的演講)
手機暗扣
暗扣軟件指未經用戶主觀意願同意就發生扣費的軟件。一般具有如下特征:1.安裝後或啟動軟件後無任何資費提示即開始扣費;2.部分客戶端安裝後不會立即扣費,而是延時或不定時扣費,讓用戶很難察覺;3.資費提示模糊不清,誤導用戶點擊收費按鈕;4.資費提示彈出時,軟件左右菜單設計中無返回/退出按鈕,誤導性地強制用戶點擊收費按鈕。