1. 程式人生 > >深度解析移動應用安全的四大常見問題及解決方案

深度解析移動應用安全的四大常見問題及解決方案

網路安全

網路安全分為四個部分:資料防洩露、請求防重放、內容防篡改、身份防偽裝。

解決資料防洩露的關鍵在於一定要對資料進行加密處理。請求防重放則可以通過請求時在引數中攜帶時間戳、隨機數、流水號、“時間戳+流水號”這四種方式措施來予以防護。

內容防篡改需要我們對內容加鹽雜湊,再在服務端校驗雜湊值。身份防偽裝有兩種解決方案。方案一是Token身份認證:給Token一個有效期,防止Token洩露之後,攻擊者其可以長期非法呼叫。

方案二是數字簽名:通訊過程中傳送方對通訊內容進行Hash生成摘要,然後用自己的私鑰進行加密生成數字簽名一起傳送給接收方,接收方接收到後用自己的公鑰進行解密來驗證傳送方的真實性,通過比對自己傳送方的摘要資訊與自己計算得出的摘要資訊來驗證內容是否被篡改。

資料安全

針對儲存的安全防護,我們在資料落地的時候一定要進行加密處理,防止他人拿到重要的敏感資料。其次,我們要建立私有型別資料,儘量用private的建立方式,而不是全域性的建立方式。

程式碼安全

常見逆向工程套路主要分為三種:反編譯、脫殼、動態分析。以下方式可以防止程式碼反編譯:程式碼混淆、簽名驗證、利用反編譯工具漏洞進行防護、加固。防動態分析則可以從反除錯、反Xposed、反root三個維度進行入手。

裝置安全

開發者可以通過檢查裝置所處的環境來判斷裝置是否處於異常的狀態。如果裝置狀態異常,則很可能處於黑產工具的控制下。常見的黑產工具包括“手機卡商與接碼平臺”、改機工具、打碼平臺以及群控系統。

黑產的攻擊場景

黑產的攻擊場景主要有以下四種:渠道推廣、登入註冊、營銷活動、社群互動。在渠道推廣環節,我們可能會遇到自動化批量刷量的黑產裝置。它們會偽造虛假啟用,讓我們的錢白白浪費。

在登入註冊之時,黑產方會對我們進行撞庫攻擊,並提供大量的垃圾賬號進行註冊。到了營銷活動環節,攻擊者可以針對APP優惠活動,提供大量的賬號薅羊毛。社群互動過程中,直播刷榜、傳送垃圾廣告都是黑產攻擊的常見形式。

防範黑產的措施

我們首先可以對手機上的裝置資訊進行全方面的檢查。檢查維度包括裝置資訊有無被篡改、手機上root環境是否處於root環境、有無安裝一個Xposed的框架、系統是否被修改過、是否處於虛擬機器的環境、部分地理位置異常是是否頻繁。

檢查後對這些風控資料予以記錄,並把這些資料提交給風控引擎進行多維度的分析,比如可以對它進行IP風險評分、IP畫像以及判斷手機號是否在黑名單。我們通過多維度的模型標識高風險的使用者、風險等級並告知客戶端,以此進行一些防護。

防範黑產的案例

以渠道質量評估為例,渠道刷量分為機器刷量和人工刷量。機器刷量的特點是用群控系統配合一個改機工具,全自動化的下載和啟用。其自動化程度比較高,但是我們可以通過識別裝置資訊、分析機器操作與人操作的差異化特徵,從而標識出機器刷量的情況。

而人工刷量一般通過眾包平臺、IM群等下發任務的方式進行。其特點是人員分散、裝置真實,但技術能力偏弱。人工刷量下裝置會頻繁地解除安裝和安裝,應用的活躍程度跟以往不一樣,處於異常狀態。我們可以結合使用者畫像和這些特點標識這一類人工刷量的行為。

個驗

為幫助開發者智慧識別安全風險,個推在移動安全領域也推出了相應的解決方案-“個驗”。個驗是個推面向開發者推出的“一鍵認證”SDK,可以幫助APP開發者實現使用者一鍵免密登入,簡化APP登入流程,有效減少使用者流失並提升轉化。

作為新一代的驗證解決方案,個推一鍵認證的功能特性更體現在能為APP開發者提供風險識別和風險防護的系列方案。

在風險識別方面,個驗可以通過裝置、網路、行為等多維度識別風險裝置與黑產人群。準確識別出風險後,企業可提前對其加以防範,有效降低運營風險。在風險防護方面,個驗在不影響正常使用者使用的情況下,可以通過動畫驗證碼阻止惡意自動化程式的進一步操作。

結語

如今,黑產攻擊造成資產或聲譽損失的現場此起彼伏,裝置風險控制任重道遠。個推將持續挖掘其豐富的資料資產,不斷打磨自身技術,幫助APP開發者有效識別風險裝置、