有錢賺的地方就有黑灰產。
近幾年,隨著網際網路技術的發展,黑灰產的規模也日漸龐大。據統計,國內黑灰產從業者規模超過百萬;2021年,黑灰產造成的損失已高達千億級,可預見的是,凡有利可圖、有洞可鑽之處,黑產就不會絕跡。而且隨著社會經濟、生活進一步“網際網路化”,黑產規模註定會持續擴大。
黑灰產的產業鏈也從10年前的小作坊模式發展為現在有明確分工的上、中、下游完整的產業鏈條。上游負責黑灰產的基礎服務,比如代理平臺、軟體工具等的搭建和編寫;中游負責賬號的生產銷售,比如惡意註冊、盜號、洗號等;下游則負責獲利套現。
正所謂,道高一尺,魔高一丈,與黑灰產的攻防戰也在悄悄展開。
今天我們就以移動端攻防對抗中的地理位置模擬對抗為例,講講與黑灰產“鬥智鬥勇”的那些事兒。
地理位置模擬開發初衷
地理位置模擬顧名思義就是基於手機地理位置的模擬工具,可以透過對位置的模擬改變當前位置。
最初,地理位置模擬是用來開發App 時測試用的,其主要目的是幫助開發者模擬某些App 的當前地址來實現測試的定位功能,且裝置無需root許可權,只需透過模擬軟體、第三方工具等就可以改變所在位置的經緯度,可以穿越到任何地方。
這對於黑灰產而言,簡直是天然的“作案工具”。
比如,在某些特定的營銷場景裡,黑灰產可以利用地理位置模擬工具修改地理位置,衝破商家對地理位置的限制,惡意騙取營銷資源。
不久前,頂象曾在第六期業務安全情報《黑灰產盯上政府消費券,最高套現額超千萬》一文中詳細介紹過黑灰產的攻擊手段和攻擊套路——黑產中介為了方便更多的刷手能夠順利參與其中,會提供更改定位的教程,並提供相應的軟體。透過作弊軟體更改IP、GPS等,刷手們能夠立刻模擬成當地的使用者,成功參與領券。
再比如,在一些上班打卡的場景裡,黑灰產可以透過地理位置模擬輕鬆實現異地打卡。頂象曾在上期直播《保險代打卡對抗實戰》中講到代打卡作弊業務。
在網上搜尋“代打卡”,會出現大量搜尋結果,不僅有詳細的圖文介紹,更有手把手教人如何“考勤作弊”的影片。部分電商平臺上也有大量“XX異地考勤打卡助手”、“考勤打卡助手”“考勤打卡更改地址”等產品和服務出售。根據不同的作弊方式推出對應的價格套餐:
方式一使用打卡作弊軟體隨心飛,收費標準是60元/人/月;
方式二使用藍芽打卡器+GPS軟體,收費標準是150元/人/月;
方式三直接黑產代打卡,收費標準是80元/人/月。
黑灰產如何透過地理位置模擬作弊?
在安卓系統中,本身是提供相應的地理位置模擬功能,但其許可權只有開發者才可以使用。
對於開發者來說,可以直接開啟應用根據需求進行位置模擬。
那麼,這是不是說明正常使用者沒有許可權就無法進行地理位置模擬呢?
答案是否定的。
事實上,只要你的手機有Root 許可權,我們就可以透過程式碼注入的方式進行相應的地理位置模擬,所謂程式碼注入就是在App 裡植入我們想要執行的程式碼即可進行相關操作。
那麼,如何檢測呢?
事實上,在非Root 許可權的手機上,我們開啟開發者選項,其系統會提供相應的API,透過呼叫相應的API,我們就可以檢測到當前手機是否開啟了地理位置模擬功能。如果這個選項是被開啟的,那麼當前我們獲得的地理位置資訊,可能並不是真實的,此時就需要業務方或者App 的開發者做相應的處理。
但在有Root 許可權的手機上,我們不一定需要開啟開發者選項。前文中提到,在有Root 許可權的手機上,有可能透過程式碼注入的方式篡改地理位置,這也就意味著篡改這部分的程式碼或者資訊已經注入到了整個程式中,此時就需要透過其他手段來檢測當前的程式碼是否被注入。
通常我們的檢測方法有兩種。
一種是透過檢測檔案系統中是否存在位置模擬的程式碼庫。以下圖為例,可以看到,模擬位置的程式碼庫透過共享程式碼注入到程式碼裡。一般情況下,我們可以透過檢測整體的程式空間,在程式空間裡,如果發現了這部分so 檔案存在,那麼也就說明這部分檔案被注入到了記憶體裡,由此也可以判斷出當前App 所獲得的程式碼資訊及位置資訊。
第二種方法是透過逆向分析App程式碼找那個是否存在載入了位置模擬的程式碼庫。通常情況下,App的程式碼被注入是透過靜態的方法植入到App 裡面去的,App在執行過程中把這部分so 檔案load 起來。透過逆向分析,我們就可以看到App在程式碼裡面是否存在載入這個位置模擬的相應程式碼。
以下圖為例,可以看到該App在程式碼執行的過程中,呼叫了程式碼載入的一個函式,那麼由此可以判斷這個App是被感染過的——在安裝過程發生之前就已經被攻擊者植入了相應的程式碼,來進行相應的so 檔案載入。
整體來看,黑灰產的對抗工作,不是簡單的一環,而是一個完整的鏈條。
但偷襲者魔高一尺,狙擊者道高一丈,與黑灰產之間的攻防註定是一場持久戰,需要攻守雙方不斷磨鍊實力。