特征碼檢測攻防-使用和破解

對於出海的朋友來說,特征碼檢測是繞不過的一道坎,特征碼檢測實際上屬於移動攻防一個很重要的領域,也是最最常規且有效的手段,雖然說,使用特征碼檢測會導致誤傷一部分用戶,但是為瞭平臺的安全著想,通常會用到特征碼檢測。

首先,特征碼檢測究竟是什麼呢?孫子兵法裡面說,知己知彼,百戰不殆。移動領域的攻防就如沒有硝煙的戰場,對於商業價值高的產品來說,構建安全屏障顯得尤為重要,在數位時代,軟件產品需要被用戶使用,就必須暴露給用戶一些接口,有時候為瞭更好地推廣,更好地觸達用戶增加商業效益,就必須舍棄一些規則,這就像《君主論》說的,一個集權的城邦,則很難從外部攻入,但也會影響他的擴張和發展。一個聯邦的城邦,發展很快,卻容易從內部瓦解。而互聯網時代,重要的是快,是增長,是擴張,這就必然給瞭進攻者機會,而隻要企業尋求增長,這場無硝煙的戰爭就會不斷進行下去。

防的那一方必須有識別出友軍敵軍的能力,否則殺敵一千自損八百很容易發生,而特征碼識別就是這裡面最關鍵的一環,也是護城河的第一道屏障。而往後就是行為識別,大數據識別,這些雖然更準確,但是如果過於將精力放在這上面,會導致資源損耗嚴重。大傢可以類比一下,皇帝會把禁衛軍都駐紮在城墻上嗎?顯然不會,最核心的防禦手段必須用在用最有價值的事情上面,比如支付環節,貸款和交易相關。

在移動領域,特征碼的識別主要分為以下幾塊:

  1. 系統指紋和相關參數配置
  2. 硬件參數配置
  3. 網絡配置
  4. 病毒/木馬/插件識別

由於前三項並不能用來區分敵軍還是友軍,所以特征碼識別的工作主要就放在瞭一些破解的特征碼識別上,那安卓手機為例,攻擊方使用的工具主要有:

  1. Root
  2. Hook
  3. adb

這三種是一般用戶不會使用的,所以對於攻擊方發現具有上面三種特征就會加大識別力度,甚至使用大數據等重型工具輔助識別。以達到及不浪費資源又能盡可能的提高防禦的效果。

而市場上這三個領域的衍生產品可不少,就拿Root來說以前是superSu,然後是Magisk,然後是識別su二進制文件,更有甚者會識別system/bin下所有屬於root用戶組的可執行文件。

然後是Hook,以前是Xposed,然後是各種各樣遍地開花的Posed以及一些開源的Hook框架,開源的主要目的是,穩定,越是用的人多的框架,越是更新的頻繁的框架就越穩定。所以隻需要針對一些主流的hook框架進行特征碼檢測,比如內存檢測,靜態代碼檢測,可執行文件檢測等即可解決大部分問題。

然後是ADB,ADB通常用在調試領域,但是由於七系統權限過大,很多地方可以用到,有興趣的彭宇可以移步這篇文章《玩轉ADB命令(ADB命令使用大全)》,你會發現ADB能做的事情還真不少,很多人隻限於用在模擬點擊上,實際上adb配置shell腳本,你會發現能實現很多的應用場景,而這些應用場景有不少會破壞軟件廠商的生態,因此對adb進行封殺也是一個很常規的手段,而檢測,基本就是通過判斷是否開啟調試和adb連接。

既然知道如何防禦,廠商能做的事情就多瞭,基本都針對這些弱點推出瞭特征碼檢測,而攻擊方需要針對防禦方佈置的檢測機制更改策略,比如偽裝,由於偽裝需要使用上面的一些工具,當防禦方檢測這些偽裝工具的時候,攻擊方能起到的效果就很弱瞭,這就是裡面的原理。我之前有篇文章專門介紹為u什麼這些偽裝軟件都失效瞭,就是這麼個事情。

那麼如果從攻擊方來看,如何做到更高強度的偽裝呢?我們知道有一種沉浸式遊戲(比VR更高級),就是讓你參與到其中互動,而讓你分不清是現實還是虛擬,同時屏蔽你的感知系統,這個時候玩傢甚至會把這種場景當成是真的,這個有點像黑客帝國第一部,沒看過的可以去看看。

對應在安卓系統上就是環境,直接把環境改瞭,同時讓你檢測不到我改瞭這種環境,這個時候你就無法識別我朋友沒有使用工具,這是目前較為主流的做法,也是攻擊方的升級版本,至於如何防禦,就要看廠商如何應對瞭。

實際上我們看過來,隨著防禦方手段的提高,攻擊方的成本越來越高,以前一個破解版的軟件就能搞定的事情,現在沒個大幾萬拿不下來,這就是攻防的現狀,也是攻防的趨勢,但不管怎麼樣,最終會達到一種平衡,而這種平衡是商業社會能持續發展的基礎,也是攻防者的價值所在。

需要定制相關系統,歡迎思我。

現如今的攻防變成瞭系統級別的攻防,而不能及時掌握這些技術的企業會慢慢被市場淘汰,未來會怎麼發展呢?讓我們拭目以待。

赞(0)