99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Android14應(yīng)用安全措施

哆啦安全 ? 來(lái)源:哆啦安全 ? 2023-09-09 14:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、前臺(tái)服務(wù)類型

targetSdkVersion 34 的情況下,必須為應(yīng)用內(nèi)的每個(gè)前臺(tái)服務(wù)(foreground-services) 指定至少一種前臺(tái)服務(wù)類型。

前臺(tái)服務(wù)類型是在Android10引入的,通過(guò)android:foregroundServiceType 可以指定 的服務(wù)類型,可供選擇的前臺(tái)服務(wù)類型有:

camera
connectedDevice
dataSync
health
location
mediaPlayback
mediaProjection
microphone
phoneCall
remoteMessaging
shortService
specialUse
systemExempted

  
二、Android14應(yīng)用安全

1.對(duì)pending/implicit intent的限制

對(duì)于面向Android14的應(yīng)用,Android通過(guò)以下方式限制應(yīng)用向內(nèi)部應(yīng)用組件發(fā)送隱式intent:

(1).隱式intent僅傳遞給導(dǎo)出的組件,應(yīng)用必須使用明確的intent來(lái)交付給未導(dǎo)出的組件,或者將組件標(biāo)記為已導(dǎo)出(exported)。

(2).如果應(yīng)用創(chuàng)建一個(gè)mutable pending intent,但intent未指定組件或包,系統(tǒng)現(xiàn)在會(huì)拋出異常。

這些更改可防止惡意應(yīng)用攔截只供給用內(nèi)部組件使用的隱式intent,例如:


如果應(yīng)用嘗試使用隱式intent啟動(dòng)該 activity,則會(huì)拋出異常:

//Throws an exception when targeting Android 14.
context.startActivity(Intent("com.example.action.APP_ACTION"))

要啟動(dòng)未導(dǎo)出的Activity,應(yīng)用應(yīng)改用顯式Intent:

//This makes the intent explicit.
val explicitIntent =
       Intent("com.example.action.APP_ACTION")
explicitIntent.apply {
   package = context.packageName
}
context.startActivity(explicitIntent)

2.運(yùn)行時(shí)注冊(cè)的廣播接收器必須指定導(dǎo)出行為

以Android14為目標(biāo),并使用context-registered

receivers(ContextCompat.registerReceiver)應(yīng)用和服務(wù)的需要指定一個(gè)標(biāo)志,以指示接收器是否應(yīng)導(dǎo)出到設(shè)備上的所有其他應(yīng)用:分別為RECEIVER_EXPORTED或RECEIVER_NOT_EXPORTED。

val filter = IntentFilter(APP_SPECIFIC_BROADCAST)
val listenToBroadcastsFromOtherApps = false
val receiverFlags = if (listenToBroadcastsFromOtherApps) {
   ContextCompat.RECEIVER_EXPORTED
} else {
   ContextCompat.RECEIVER_NOT_EXPORTED
}
ContextCompat.registerReceiver(context, br, filter, receiverFlags)

3.僅接收系統(tǒng)廣播的接收器例外

如果應(yīng)用僅通過(guò)Context#registerReceiver方法為系統(tǒng)廣播注冊(cè)接收器時(shí),那么它可以不在注冊(cè)接收器時(shí)指定標(biāo)志,例如 android.intent.action.AIRPLANE_MODE。

4.更安全的動(dòng)態(tài)代碼加載

如果應(yīng)用以Android14為目標(biāo)平臺(tái)并使用動(dòng)態(tài)代碼加載(DCL),則所有動(dòng)態(tài)加載的文件都必須標(biāo)記為只讀,否則,系統(tǒng)會(huì)拋出異常。

建議應(yīng)用盡可能避免動(dòng)態(tài)加載代碼,因?yàn)檫@樣做會(huì)大大增加應(yīng)用因代碼注入或代碼篡改而受到危害的風(fēng)險(xiǎn)。

如果必須動(dòng)態(tài)加載代碼,請(qǐng)使用以下方法將動(dòng)態(tài)加載的文件(例如:DEX、JAR或APK文件)在文件打開(kāi)后和寫(xiě)入任何內(nèi)容之前立即設(shè)置為只讀:

val jar = File("DYNAMICALLY_LOADED_FILE.jar")
val os = FileOutputStream(jar)
os.use {
   // Set the file to read-only first to prevent race conditions
   jar.setReadOnly()
   // Then write the actual file content
}
val cl = PathClassLoader(jar, parentClassLoader)

5.處理已存在的動(dòng)態(tài)加載文件

為防止現(xiàn)有動(dòng)態(tài)加載文件拋出異常,我們建議可以嘗試在應(yīng)用中再次動(dòng)態(tài)加載文件之前,刪除并重新創(chuàng)建這些文件。

重新創(chuàng)建文件時(shí),請(qǐng)按照前面的指導(dǎo)在寫(xiě)入時(shí)將文件標(biāo)記為只讀,或者將現(xiàn)有文件重新標(biāo)記為只讀,但在這種情況下,強(qiáng)烈建議首先驗(yàn)證文件的完整性(例如,通過(guò)根據(jù)可信值檢查文件的簽名),以幫助保護(hù)應(yīng)用免受惡意操作。

6.Zip path traversal

對(duì)于針對(duì)Android14的應(yīng)用,Android通過(guò)以下方式防止Zip路徑遍歷漏洞

如果zip文件條目名稱包含".."或以"/"開(kāi)頭,則ZipFile(String)和ZipInputStream.getNextEntry()會(huì)拋出一個(gè)ZipException。

應(yīng)用可以通過(guò)調(diào)用dalvik.system.ZipPathValidator.clearCallback()選擇退出驗(yàn)證。

7.從后臺(tái)啟動(dòng)活動(dòng)的附加限制

針對(duì)Android14的應(yīng)用,系統(tǒng)進(jìn)一步限制了應(yīng)用在后臺(tái)啟動(dòng)Activity的時(shí)間

(1).當(dāng)應(yīng)用使用PendingIntent#send()發(fā)送PendingIntent以及類似行為時(shí),如果應(yīng)用想要授予其自己的后臺(tái)service啟動(dòng)權(quán)限以啟動(dòng)pending intent,則該應(yīng)用現(xiàn)在必須選擇加入一個(gè) ActivityOptions,具體為帶有

setPendingIntentBackgroundActivityStartMode(MODE_BACKGROUND_ACTIVITY_START_ALLOWED)
(2).當(dāng)一個(gè)可見(jiàn)應(yīng)用使用bindService()綁定另一個(gè)在后臺(tái)運(yùn)行的應(yīng)用的服務(wù)時(shí),如果該可見(jiàn)應(yīng)用想要將其自己的后臺(tái)activity啟動(dòng)權(quán)限授予綁定服務(wù),則它現(xiàn)在必須選擇加入 BIND_ALLOW_ACTIVITY_STARTS 標(biāo)志。

這些更改擴(kuò)展了現(xiàn)有的一組限制 ,通過(guò)防止惡意應(yīng)用濫用 API 從后臺(tái)啟動(dòng)破壞性活動(dòng)來(lái)保護(hù)用戶。

8.Android14將禁止修改系統(tǒng)內(nèi)置根證書(shū)

Android14不再允許開(kāi)發(fā)者修改系統(tǒng)內(nèi)置根證書(shū)進(jìn)行調(diào)試,這意味著開(kāi)發(fā)者無(wú)法通過(guò)諸如替換證書(shū)或中間人劫持的方式來(lái)檢測(cè)某些流量。

Android系統(tǒng)的證書(shū)存儲(chǔ)庫(kù)位于/system/etc/security/cacerts/,盡管從Android7.0開(kāi)始開(kāi)發(fā)者無(wú)法直接修改證書(shū)庫(kù),但如果root了那么還可以修改證書(shū)庫(kù)路徑,直接注入自己需要的證書(shū),比如自簽名的泛證書(shū)。

而在Android14中,谷歌做了一項(xiàng)可以快速反應(yīng)的安全措施:通過(guò)Google Play更新安卓系統(tǒng)的證書(shū)庫(kù)。

這樣做也不是沒(méi)有原因,以前證書(shū)綁定在系統(tǒng)里,谷歌無(wú)法直接更新,這導(dǎo)致有些證書(shū)被吊銷后谷歌也無(wú)法及時(shí)操作,這也導(dǎo)致注入Let's Encrypt 因?yàn)樾枰嫒菖f版安卓系統(tǒng),不得不推遲證書(shū)更新,因?yàn)樾伦C書(shū)不受舊版安卓系統(tǒng)的信任。

后續(xù)谷歌可以隨時(shí)通過(guò)Google Play更新證書(shū)庫(kù),包括加載新的ROOT CA和吊銷某些ROOT CA,這讓谷歌可以快速應(yīng)對(duì)CA行業(yè)的某些問(wèn)題。

然而問(wèn)題在于這種新的更新方法不再?gòu)?system/etc/security/cacerts/讀取證書(shū),而是從另一個(gè)路徑/apex/com.android.conscrypt/cacerts/讀取證書(shū)。

而APEX容器背后確切的機(jī)制很難完全理解,因?yàn)榇嬖诤芏嗉?xì)節(jié)沒(méi)有公布出來(lái),而在測(cè)試的時(shí)候開(kāi)發(fā)者也發(fā)現(xiàn)嘗試修改這個(gè)目錄是沒(méi)用的,系統(tǒng)會(huì)直接忽略修改。

因此即便注入自簽名的證書(shū)也無(wú)法被系統(tǒng)讀取,所以也沒(méi)法再使用中間人之類的手段進(jìn)行劫持,來(lái)達(dá)到調(diào)試某些TLS流量的目的。

好消息是Android14的這項(xiàng)變化有助于大幅度提高Android對(duì)CA行業(yè)的響應(yīng)速度,例如快速吊銷或信任證書(shū),這將有助于提高Android設(shè)備的安全性。 ?
?
壞消息就是對(duì)開(kāi)發(fā)者和安全研究人員來(lái)說(shuō)這就很難受了,因?yàn)闊o(wú)法讓系統(tǒng)信任自簽名證書(shū),這將對(duì)調(diào)試和安全分析工作產(chǎn)生嚴(yán)重影響。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3973

    瀏覽量

    130219
  • 接收器
    +關(guān)注

    關(guān)注

    15

    文章

    2571

    瀏覽量

    73912
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6231

    瀏覽量

    108114
  • 廣播
    +關(guān)注

    關(guān)注

    1

    文章

    311

    瀏覽量

    23529

原文標(biāo)題:Android14或更高版本(安全措施)

文章出處:【微信號(hào):哆啦安全,微信公眾號(hào):哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何在IMX8MP Android14上啟用雙屏異步顯示?

    我想在 IMX8MP Android14 上啟用雙屏異步顯示。 LVDS 作為主顯示器,MIPI DSI 作為輔助顯示器。 我得到了兩個(gè)顯示器: 但我得到 displays.lengh 為 0
    發(fā)表于 03-28 07:52

    電子發(fā)燒友網(wǎng)站新上線賬號(hào)安全措施:異地登陸檢測(cè)提醒

    論壇在被各種攻擊折磨,最近新上線一項(xiàng)賬號(hào)安全措施:1.異地登陸檢測(cè)提醒,根據(jù)大家登錄是否跨省做異地登錄提示,需要驗(yàn)證后才可以登錄成功。2.驗(yàn)證頁(yè)面,用戶只需要將自己綁定的郵箱或手機(jī)號(hào)完整填寫(xiě)即可完成
    發(fā)表于 06-15 18:24

    嵌入式系統(tǒng)的安全性問(wèn)題是什么?有什么安全措施嗎?

    嵌入式系統(tǒng)的安全性問(wèn)題是什么?有什么安全措施嗎?
    發(fā)表于 04-28 06:54

    NTAG 424 DNA復(fù)制更改后的值本身并將其放在不同的標(biāo)簽中不會(huì)損害安全措施嗎?

    我正在考慮為我的產(chǎn)品使用身份驗(yàn)證標(biāo)簽,例如 NTAG 424 DNA 芯片,我對(duì)其防止復(fù)制的能力有疑問(wèn),我想創(chuàng)建一個(gè)安全的解決方案,但我擔(dān)心NTAG 424 DNA 芯片生成的 URL。我聽(tīng)說(shuō)由于安全措施,每次執(zhí)行讀取操作時(shí)值都會(huì)改變。但是,復(fù)制更改后的值本身并將其放在不
    發(fā)表于 03-30 09:00

    不停電作業(yè),安全措施要保證

    不停電作業(yè),安全措施要保證    變電所低壓帶電作業(yè),一要求開(kāi)工作票,完成保證安全的組織措施;二要求穿戴好防護(hù)用品,使用絕彖工具,站在絕彖
    發(fā)表于 04-17 12:25 ?1881次閱讀

    如何采取安全措施防止物聯(lián)網(wǎng)攻擊影響您的數(shù)據(jù)

    這些年來(lái),隨著越來(lái)越多的用戶選擇聯(lián)網(wǎng)的小工具和電器,物聯(lián)網(wǎng)設(shè)備在市場(chǎng)上迅速激增。為了滿足用戶日益增長(zhǎng)的需求,制造商們正在將他們的設(shè)備送出倉(cāng)庫(kù),而沒(méi)有采取適當(dāng)?shù)?b class='flag-5'>安全措施。 缺乏安全措施是物聯(lián)網(wǎng)
    發(fā)表于 06-03 16:19 ?1106次閱讀

    物聯(lián)網(wǎng)數(shù)量增加 安全措施需得加強(qiáng)

    如今,全球各地應(yīng)用的物聯(lián)網(wǎng)設(shè)備已經(jīng)達(dá)到數(shù)十億臺(tái),并且數(shù)量每年都在大量增加。不幸的是,正在開(kāi)發(fā)和部署的許多物聯(lián)網(wǎng)設(shè)備卻缺乏關(guān)鍵的安全功能,這使得它們很容易成為黑客和僵尸網(wǎng)絡(luò)的目標(biāo)。如果沒(méi)有適當(dāng)?shù)?b class='flag-5'>安全措施,這些物聯(lián)網(wǎng)設(shè)備可能會(huì)導(dǎo)致災(zāi)難性事件。
    發(fā)表于 03-20 15:48 ?618次閱讀

    3D打印機(jī)助力生物特征識(shí)別安全措施

    指紋識(shí)別曾被認(rèn)為是保護(hù)電腦、筆記本電腦和移動(dòng)設(shè)備的終極安全措施
    的頭像 發(fā)表于 04-13 15:36 ?3632次閱讀

    電池的安全性問(wèn)題有哪些安全措施?

    ,還可能造成火災(zāi)、爆炸等安全事故。因此,電池的安全性問(wèn)題必須得到重視。 ? 針對(duì)電池的安全性問(wèn)題,研究人員提出了很多安全措施。其中,最常用的安全措施
    的頭像 發(fā)表于 02-24 16:54 ?3264次閱讀

    低壓配電柜的檢修安全措施和注意事項(xiàng)

      低壓配電柜的檢修安全措施需要從多個(gè)方面做好,避免因疏忽大意而引起安全事故。工作人員需要提高安全意識(shí),執(zhí)行詳盡的檢修操作規(guī)程,關(guān)注低壓配電柜檢修期間的安全情況和操作過(guò)程中的細(xì)節(jié),從而
    發(fā)表于 04-13 14:58 ?7663次閱讀

    手持回路電阻測(cè)試儀接線方法與安全措施

    木森電氣手持回路電阻測(cè)試儀推出以來(lái),受到廣大電力用戶的歡迎,一年多的廣泛應(yīng)用獲得好評(píng),電站B超在此分享手持回路電阻測(cè)試儀接線圖與安全措施,尤其是手持回路電阻測(cè)試儀安全措施,簡(jiǎn)單易操作。
    的頭像 發(fā)表于 11-18 15:21 ?1829次閱讀
    手持回路電阻測(cè)試儀接線方法與<b class='flag-5'>安全措施</b>

    電容放電前安全措施

    電容放電前安全措施? 電容放電前的安全措施是十分必要的,因?yàn)殡娙菽軌虼鎯?chǔ)大量的電荷,電容內(nèi)的電荷釋放可能會(huì)引起電擊、火災(zāi)等安全隱患。因此在進(jìn)行電容放電之前,需要采取一系列安全措施來(lái)確保
    的頭像 發(fā)表于 09-08 11:35 ?3668次閱讀

    smt加工焊接時(shí)需要注意幾點(diǎn)安全措施

    一般在smt加工中,手工焊接是最常見(jiàn)的,但是焊接過(guò)程中要注意一些安全措施,才能更有效率的工作。
    的頭像 發(fā)表于 09-15 09:14 ?1344次閱讀

    谷歌發(fā)布Android14 將源代碼推送到AOSP(Android開(kāi)源項(xiàng)目)

    2023 年 2 月發(fā)布的第一個(gè) Android 14 開(kāi)發(fā)者預(yù)覽版 中引入的,其中包括性能改進(jìn)、更好的隱私和安全性以及其他用戶端自定義選項(xiàng)。 自首屆 Android
    的頭像 發(fā)表于 10-12 15:56 ?1537次閱讀

    DC電源模塊的保護(hù)與安全措施

    BOSHIDA ? DC電源模塊的保護(hù)與安全措施 BOSHIDA ? DC電源模塊的保護(hù)與安全措施包括以下幾個(gè)方面: ?DC電源模塊的保護(hù)與安全措施 1. 過(guò)流保護(hù):在電源輸出端加入過(guò)流保護(hù)電路,當(dāng)
    的頭像 發(fā)表于 02-19 13:27 ?1143次閱讀
    DC電源模塊的保護(hù)與<b class='flag-5'>安全措施</b>