《永安在線:基于微信小程序生態體系的黑灰產研究報告(27頁).pdf》由會員分享,可在線閱讀,更多相關《永安在線:基于微信小程序生態體系的黑灰產研究報告(27頁).pdf(27頁珍藏版)》請在三個皮匠報告上搜索。
1、隨著小程序的攻擊案例越來越多,小程序安全已經逐漸引起業務方和安全行業的重視。相比于 App 和 Web 應用,小程序帶來了一個新的攻防平面,其難點在于:已有的一些防護方案不能有效的運用到小程序上,導致達不到理想的防護效果,例如以下方案:設備信息是業務安全風控的重要輸入參數。設備指紋能否取得比較好的效果,取決于采集的信息是否可以形成該設備的唯一 ID,以及可以判斷該設備是否存在風險。出于權限和隱私等安全方面的考慮,小程序可以采集到的設備信息并不多,能采集到設備信息,比如品牌型號、屏幕大小、分辨率、電量、網絡類型等,無法形成唯一性強穩定性好的設備ID,也無法借助這些信息來判斷設備是否存在風險。同時
2、,由于目前黑灰產攻擊小程序基本采用的都是協議攻擊,黑灰產可以在發起的業務請求中隨意偽造設備信息,這使得設備指紋在小程序防護上的效果微乎其微。通過人工或自動化的方式對小程序前端和后端進行掃描,檢查是否存在 SQL 注入、XSS跨站腳本、目錄遍歷、信息泄露等應用漏洞。然而當前黑灰產針對小程序的攻擊,幾乎都不是通過應用漏洞進行攻擊。黑灰產偽造業務請求發起的自動化攻擊,其產生的機器流量,沒有攜帶任何漏洞特征或惡意代碼,和正常的請求并無差異。安全掃描可以提早發現小程序中的漏洞,避免遭受漏洞攻擊;但對于非漏洞的攻擊,則起不到任何防護作用。安全加固指的是對小程序的前端代碼進行一系列的混淆和變換,在執行邏輯不
3、變的前提下,降低其可讀性,提高攻擊者分析前端代碼邏輯的難度,從而保護小程序的安全。常見的變換手段有:字符串加密、變量名混淆、插入垃圾代碼、調用等價變換、控制流平坦化等。安全加固確實可以在一定程度上提高攻擊門檻,勸退菜鳥級黑灰產,但仍然難不倒技術實力強的黑灰產。而且小程序主體的代碼邏輯基本上不會發生大的變化,所以破解是一次性的,只要收益足夠大,破解所需要的時間成本對于黑灰產來說是可以接受的。此外,安全加固必然會帶來一定程度上的性能損失和穩定性下降,也不方便調試,因此目前并沒有被廣泛使用。我們隨機選擇了 30 款小程序作為分析目標,對這些小程序進行反編譯后,發現沒有 1 款小程序對代碼做了混淆加固
4、,情況不容樂觀。對于重要業務接口的訪問進行簽名校驗,是抵御機器流量的有效手段之一。最常見的方法是在接口請求參數或者請求頭中攜帶一個簽名 signature(或者叫令牌 token),簽名在小程序前端由具備一定強度的算法生成,小程序后端根據對應的算法校驗簽名的合法性,若校驗失敗則拒絕響應本次請求。對于小程序主要面臨的協議攻擊來說,確實可以提高攻擊門檻。但問題在于攻防的不對等。由于小程序代碼無法實時更新,簽名算法一旦被破解,需要等到小版本發布新的版本才能升級新的簽名算法。發布新版本很多時間需要服從產品計劃,而且需要經過完整的測試,這往往會給黑灰產留下足夠的攻擊時間,防護效果大大折扣。由于已有的這些防護方案,防護效果都比較有限,因此我們需要考慮小程序自身的特性,結合黑灰產攻擊情報和案例的分析,量身打造適用于小程序的安全防護。