日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

【译】在您的应用中安全使用Android的篡改检测 (Using Android's tamper detection securely in your app)

發(fā)布時間:2025/3/15 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【译】在您的应用中安全使用Android的篡改检测 (Using Android's tamper detection securely in your app) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文地址: https://koz.io/using-safetynet-securely-in-your-android-app/

在上一篇博文中,我從技術(shù)角度描述了Google Play的SafetyNet服務(wù)的結(jié)構(gòu),深入研究了細(xì)節(jié)并對其進(jìn)行了檢查。

回顧:Google Play的SafetyNet服務(wù)允許您的應(yīng)用獲取有關(guān)所運行設(shè)備的“ CTS兼容性”狀態(tài)的信息。您可以將CTS兼容性視為生根檢測,設(shè)備篡改檢測和活動MitM檢測的組合。

許多應(yīng)用程序使用商業(yè)“保護(hù)套件”來執(zhí)行其中的某些任務(wù),或者推出自己的解決方案-這通常很容易被破壞。

Google Play的SafetyNet服務(wù)可以免費為您的應(yīng)用提供類似的信息-盡管檢查是基本的,但比推出自己的解決方案更難繞過。我相信,如果您確實想進(jìn)行篡改檢測,但又不想投資專門的產(chǎn)品或咨詢服務(wù),那么使用此API值得一試。

但是,對于不具備安全意識的開發(fā)人員而言,“正確”使用SafetyNet API并非直截了當(dāng)。

不安全地使用SafetyNet

例如,此示例應(yīng)用程序?(源)和此應(yīng)用程序以僅客戶端方式實現(xiàn)API。這些應(yīng)用程序獲取證明結(jié)果,并使用和字段getBoolean()上的方法在本地檢查簽名和CTS兼容性字段。ctsProfileMatchisValidSignature

這種方法的問題在于,已經(jīng)在設(shè)備上具有root用戶訪問權(quán)限的攻擊者可以掛鉤該getBoolean()方法并使其始終返回true-誘使您的應(yīng)用程序相信該設(shè)備確實與CTS兼容,而真正的SafetyNet響應(yīng)卻說這是不。如果您在本地檢查JWS AttestationResult對象的簽名,則會存在相同的問題。

完全可以執(zhí)行這種掛鉤的Xposed模塊已經(jīng)發(fā)布-可以輕松進(jìn)行旁路。

或者,攻擊者可以重新打包您的應(yīng)用程序并剝離所有這些檢查,從而獲得相同的結(jié)果。

避免客戶端檢查

這幾乎不是新的最佳實踐建議:避免客戶端檢查對您有好處。

我和Cigital的資深顧問Georgi Boiko創(chuàng)建了SafetyNet Playground,這是一個示例性的開源Android應(yīng)用程序,旨在解決這些“瑣碎的繞過”問題。它使用SafetyNet API的方式與Android Pay相同。

設(shè)計該應(yīng)用程序是為了在服務(wù)器端進(jìn)行檢查。這樣的想法是,除非SafetyNet服務(wù)響應(yīng)您的設(shè)備與CTS兼容,否則服務(wù)器將不會返回任何有用的數(shù)據(jù)。

有了這樣的解決方案,攻擊者就可以不再瑣碎地鉤住應(yīng)用程序中的內(nèi)容。他需要投入時間和精力來趕上趕超過程,并了解不斷變化的SafetyNet服務(wù),試圖掛鉤從設(shè)備收集到的所有內(nèi)容,并弄清楚什么將構(gòu)成每張支票的“可接受”狀態(tài)。

當(dāng)然,攻擊者在剝離了Attestation API之后仍然可以重新打包應(yīng)用程序。取決于攻擊者的聰明程度,它也可能會被擊敗,因為JWS對象包括發(fā)出請求的程序包的簽名……攻擊者將不得不偽造該簽名,以便Google Services認(rèn)為另一個應(yīng)用程序發(fā)出了請求。

這篇博客文章詳細(xì)介紹了SafetyNet Playground的設(shè)計。Android應(yīng)用程序和Web服務(wù)是開源的,因此您可以重用部分代碼或?qū)ζ溥M(jìn)行研究。

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的【译】在您的应用中安全使用Android的篡改检测 (Using Android's tamper detection securely in your app)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。