當前位置:
首頁 > 新聞 > 勒索軟體「假面」系列——免流軟體(一)

勒索軟體「假面」系列——免流軟體(一)

第一章 勒索中的「免流」

勒索軟體是指啟動後通過置頂自身窗口或重置鎖機密碼強制鎖定用戶桌面、使用戶無法正常使用設備,並以支付解鎖對用戶進行勒索的軟體。近年來,360烽火實驗室始終密切關注勒索軟體發展動向,並持續對勒索軟體新技術新形式、勒索軟體黑產、以及Android新版本系統在對抗勒索軟體方面的新特性進行了深入研究。在對勒索軟體的長期跟進中我們發現,勒索軟體是一類非常擅長偽裝自己的軟體,為了誘導用戶下載安裝運行,勒索軟體通常會偽裝成各種極具誘惑力、通過不正規手段牟利的軟體,例如遊戲外掛、代刷、盜版應用、WIFI密碼破解、搶紅包等等,這些軟體擁有一定的用戶群與傳播途徑,勒索軟體正是利用了其易吸引用戶、傳播快的特點玩起了「假面遊戲」。

一、 勒索軟體擅於偽裝後傳播

截止到2018年2月,360烽火實驗室共捕獲到Android惡意勒索軟體80萬個,而其中幾乎所有的勒索軟體都對自己進行了偽裝,對這些勒索軟體分類統計後發現,勒索軟體的偽裝類別多達十多種,其中以外掛輔助類最為普遍,流氓軟體與色情類軟體次之。

圖1 勒索軟體偽裝類別分布

二、特殊的偽裝——免流軟體

在這些偽裝類別中,我們發現有一類與日常生活中不可或缺的手機流量相關的軟體——免流軟體,這類軟體名稱多為「XX免流」或「XX雲免」,號稱能夠讓用戶免流量費上網,並以此吸引用戶下載安裝,實運行後卻是勒索軟體。

圖2 冒充免流軟體的勒索軟體

在我們捕獲到的勒索軟體中,冒充免流軟體的樣本佔比1.81%,雖然佔比工具類低,但自成派別,數量不在少數,甚至超過了盜版軟體。

大量勒索軟體冒充免流軟體進行傳播的現象從側面反映出了一個問題——免流軟體本身佔據著相當用戶與傳播市場。實際上確實如此,移動互聯的發展推動了智能手機的網路訪問量,特別是隨著手機直播、在線視頻、移動社交等產業的繁榮,智能手機流量的使用量不斷攀升。根據工信部2018年2月發布的《2017年通信業統計公報》,2017年各月戶月均移動互聯網接入流量呈逐月增長的趨勢,到12月已超過2G。

圖3 2017年各月當月戶均移動互聯網接入流量增長情況

然而在國內,移動數據流量並不便宜,數據流量使用量的攀升使得部分人開始尋求廉價甚至免費的流量獲取方法,免流軟體應運而生並快速傳播開來。截止到2018年2月,360烽火實驗室共捕獲到20萬+個免流軟體,其中部分軟體的傳播量已經達到了幾百萬次。巨大的軟體數量與傳播量進一步印證免流軟體擁有著不小的市場,且我們在對免流軟體與免流平台的分析過程中發現,免流軟體已具備一定的產業規模。

第二章 免流軟體

一、定義與分類

免流軟體即安裝後可以讓用戶在移動運營商網路下免流量或減少流量訪問互聯網的軟體。免流軟體根據其核心功能所在的位置可以分為本地免流與雲免流,本地免流軟體的核心功能環節通常位於本地,而雲免流的核心功能環節則主要在VPN中完成。

(一) 本地免流

本地免流是指通過修改本地代理或者使用網路請求捕獲與修改模塊在本地修改用戶網路請求(HTTP與HTTPs請求,本文均以HTTP請求為例)從而達到免流效果的方式。根據實現框架的不同,本地免流分為很多種,比較有名的有Tiny、Samp、Hap、Fmns等等,不同框架實現的免流軟體對手機root許可權與埠的要求不同,同時相應的免流模式語法也不同。但無論哪種框架是否需要root,最終目的都是通過一些手段修改本地的網路請求包,將免流混淆信息插入其中,從而把非免流流量偽裝成免流流量。

本地免流軟體主要由核心代理模塊、免流模式、防跳工具三部分構成,這些模塊通常都存放在軟體的Assets目錄下:

1. 核心代理模塊。核心代理模塊通常使用Tiny、Samp等開源框架在本地搭建網路代理,其主要職責是根據免流模式對設備發起的網路請求進行修改;

2. 免流模式。免流模式是免流成功的關鍵所在,它定義了對網路請求進行修改的規則,被核心代理模塊所用;

3.防跳工具。防跳工具即用來預防跳點的模塊。跳點指的是那些未能成功免流、被計費檢測系統正常進行計費了的流量。產生跳點的主要原因是部分流量不會經過本地代理,從而造成請求頭修改失敗。目前比較流行的防跳方式有單純禁網與使用防跳工具,防跳工具的防跳原理與單純的禁網不同,其還包括了修改防火牆命令,強制部分不走本地代理的流量去走本地代理,而對於部分免流系統不支持的協議(如QQ、微信等),則可以用規則將其放行,使之能正常訪問網路,這種情況叫做半免。防跳工具就是用於減少跳點帶來的額外流量費的工具。目前比較流行的防跳工具有掃地僧防跳與終極防跳。

(二) 雲免流

雲免流是指通過連接特定VPN伺服器實現免流上網的方式。與本地免流不同,雲免流用戶不用自己去進行核心模塊安裝、防跳設置等繁瑣操作,僅需要使用VPN軟體連接特定免流VPN伺服器即可實現免流。雲免流相當於把原來本地免流的一套系統搬到了VPN伺服器上,VPN伺服器作為一個代理伺服器,代理並修改用戶設備發出的所有網路請求,進而達到用戶免流量上網的目的。在雲免流中有服務端與客戶端之分,服務端即VPN伺服器,目前搭建Linux VPN伺服器較常用的是OpenVPN開源框架;客戶端即用戶設備上安裝的VPN連接軟體,很多免流平台(VPN服務端)都為用戶提供了特定的客戶端軟體,用戶只需要安裝客戶端軟體與服務端下發的配置文件,並在免流平台購買VPN卡密,即可通過客戶端軟體連接VPN來實現免流。

以某款免流平台為例:用戶首先需要在免流平台購買免流套餐,包月套餐通常為幾塊錢不等,免流平台支持的支付形式多樣,可購買多張,通常多買會有優惠政策:

圖4 某雲免流平台卡密購買頁面

購買成功後卡密(即激活碼)會返回到訂單詳情中,同時,客戶端軟體的鏈接也會一併提供給用戶:

圖5 雲免流購買卡密後訂單頁面

用戶通過鏈接下載客戶端軟體並通過卡密激活後就可以安裝線路使用了。雲免軟體通常給用戶提供了多條線路,如下圖,用戶可根據自己所在的運營商與地區情況選擇可用的線路,只有在可用線路下才能成功免流。

圖6 雲免流客戶端線路選擇頁面

二、 兩大必備因素

免流軟體的存在依賴於兩個必不可少的因素:免流IP、移動運營商代理伺服器與計費檢測系統的分離。

(一) 免流IP

移動運營商為了方便用戶訪問其提供的各種服務,通常會為用戶提供特定的免流優惠政策,比如,當用戶用數據網路訪問移動運營商掌上營業廳時不會向用戶收取流量費,由此產生了一些免流量計費的IP,即免流IP。運營商計費檢測系統把所有免流IP放入了一份白名單,當用戶流量進入計費檢測系統以後,計費檢測系統會判斷該用戶流量訪問的IP是否在白名單中,若在就不會進行扣費;

(二) 代理-計費分離

對於運營商而言,代理伺服器與計費檢測系統是兩個業務量都很龐大的系統,為了系統管理升級與日常維護,這兩個系統被做成了分離的模塊,並運行著不同的網路請求處理機制。當用戶訪問互聯網時會向運營商代理伺服器發送一條請求信息,這條請求信息的頭部包含了目的IP、源IP、UA、網路協議、文件類型等詳細信息,代理伺服器與計費檢測系統從請求頭獲取目的IP,並分別以此代理用戶網路請求或判斷用戶流量是否需要計費。免流軟體正是不正當利用了代理伺服器與計費檢測系統檢測機制分離這一特點,通過自定義網路請求頭,使二者從請求頭中獲取到的目的IP不一致,從而達到欺騙計費檢測系統、免流上網的目的。同時,由於各運營商、各地區的計費檢測系統檢測機制存在差異,不同模式的免流軟體具有不同的應用場景與地區限制。

三、原理

免流軟體的本質是用戶端的流量欺騙,而實現欺騙的基本原理就是修改設備上發起的網路請求,用偽造的請求頭欺騙運營商計費檢測系統從而實現免流。

圖7 全局免流軟體原理

防跳程序會優先處理設備發起的網路請求,根據防跳策略或禁網或放行或強制網路請求走本地代理。當網路請求經過本地代理時,本地代理會根據免流模式對該網路請求的頭部信息進行修改。修改過後的網路請求經過運營商代理伺服器與計費檢測系統得到不一樣的效果,運營商代理伺服器檢測到的是真實訪問的IP,而計費檢測系統檢測到的是免流IP。

早期出現了很多種「簡單粗暴」的免流模式,傳播較廣的有前後綴免流、埠免流、偽彩免流、雙Host(或是Host—X-Online-Host)免流等,這些免流模式分別利用了運營商提供的免流前後綴、免流埠與免流文件類型、以及運營商不檢查多個重複欄位的策略。隨著運營商系統不斷優化升級,不同地區運營商已根據自身策略情況在其代理伺服器與計費檢測系統中逐漸加入了針對此類攻擊的校驗機制,如校驗獲取的Host與Host欄位內容的一致性、封掉原來的137/138免流埠、一旦檢測到多Host或X-Online-Host欄位就不免流等。

然而,免流模式也在隨著運營商計費檢測系統的升級不斷演變。現今多數免流模式都採用了「欄位偽裝」的方式,即通過某些混淆信息將特定欄位偽裝起來,使代理伺服器能夠識別該欄位而計費檢測系統識別不了該欄位,以此來達到矇騙計費檢測系統的目的。這種混淆信息可能是一個新的請求頭欄位,也可能是對原有欄位的修改,甚至還有可能是一個空格或一個特殊字元等。

通常情況下,運營商代理伺服器只能夠解析三種固定格式的請求頭,對於這三種固定格式的網路請求,代理伺服器從中讀取IP的方式是固定的(HTTPs與HTTP請求頭有差異,這裡以HTTP為例):

圖7.1

圖7.2

3. 請求頭中存在X-Online-Host(移動私有代理協議)欄位:運營商代理伺服器會優先解析X-Online-Host的內容為Host:

圖7.3

目前存活的免流模式絕大多數都是在以上3種固定請求頭格式上做文章,通過免流模式對其進行增刪改。由於運營商系統的不斷升級完善,免流模式十分靈活多變,並且更新換代的速度很快,通常特定的模式只能留存很短的時間,一旦免流模式所針對的缺陷被修補,該模式將不再奏效。同時,由於運營商計費檢測機制不透明,新的有效的免流模式往往要經過很多次試驗才能被發現。

四、免流模式實例

以偽裝雙Host免流模式為例。偽裝雙Host免流模式即偽裝起來的雙Host欄位請求頭——去掉原請求頭中請求方法後跟的Host,並且添加一個新的Host欄位,使修改後的請求頭實際上擁有兩個Host欄位。由於現在絕大多數運營商計費檢測系統屏蔽了(不免流)雙Host流量,所以必須把其中一個Host欄位通過某種方式偽裝起來,使計費檢測系統識別不了它,具體實現方式是通過免流模式向請求頭中加進混淆信息。

以一款名為「離調雙Host」的Tiny免流模式為例,下圖為該免流模式配置,其中http_ip表示代理伺服器IP、http_port表示代理伺服器監聽埠、http_del表示刪除原請求頭中的指定欄位、http_first表示按指定格式修改請求頭首行。

圖8 免流模式文件

設備中各應用程序發起的網路請求(除跳點外)在進入運營商代理伺服器之前,會被核心模塊按照以上文件配置進行修改,如下圖左的請求頭被修改後將會變成如下圖右所示:

圖9 修改前後的網路請求頭對比

以上只給出了一種經典的免流模式案例,現今存活的很多免流模式偽裝方式千奇百怪,但萬變不離其宗,最終的效果都是要欺騙計費檢測系統去獲取免流Host並以此實現免流。

五、定向流量卡

現在市場上有很多的「免流卡」,例如騰訊大王卡/天王卡、微博大V卡、螞蟻寶卡等等,通常是互聯網廠商與運營商合作推出的、促進本廠軟體推廣、增加用戶粘性的手段。這類「免流卡」的主要特色是對特定來源的流量不收取流量費或一定限額內不收取流量費。以騰訊和聯通合作推出的大小王卡為例,運營商計費檢測系統在檢測到流量屬於「騰訊系」(微信、騰訊視頻、王者榮耀等)流量時,流量被自動計入包月的定向流量包,從而實現面向用戶的免流。因此,與之前介紹的免流原理不同,這類「免流卡」實際上是一種定向流量包。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 威客安全 的精彩文章:

DDoS攻擊刷出新紀錄 進入「T比特攻擊時代
比特幣挖得太費電!美國一城市欲出政策制止

TAG:威客安全 |