18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

Android安全機(jī)制介紹及實(shí)踐

哆啦安全 ? 來源:虎哥Lovedroid ? 2023-11-14 09:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Android安全機(jī)制介紹及實(shí)踐

Android框架基礎(chǔ)

289ccc16-828b-11ee-939d-92fbcf53809c.png

上圖是我們熟知的Android系統(tǒng)架構(gòu)圖,分層的結(jié)構(gòu)有利于權(quán)限的分級管理,對系統(tǒng)安全提供了一定的保障。Android系統(tǒng)采用分層的架構(gòu),由底層到上層依次為Linux內(nèi)核層、HAL層、Native Lib及Runtime lib層、JNI層、framework層和應(yīng)用程序?qū)咏M成。Android應(yīng)用程序組件是Android應(yīng)用程序的基本組成單元,組件類型有Activity、Service、Broadcast Receiver、Content Provider等。Android內(nèi)核本質(zhì)上是增強(qiáng)版的LInux內(nèi)核,低內(nèi)存管理LMK(Low Memory Killer)、匿名共享內(nèi)存(Ashmem),Binder通信機(jī)制等。這些內(nèi)核增強(qiáng)使得Android在繼承LInux內(nèi)核安全機(jī)制的同時(shí),進(jìn)一步提升了內(nèi)存管理、進(jìn)程通信等方面的安全性。

28bb93e4-828b-11ee-939d-92fbcf53809c.png

上圖是Android系統(tǒng)啟動(dòng)流程圖,具體說明如下:Android系統(tǒng)運(yùn)行于Linux內(nèi)核之上,init進(jìn)程是用戶空間啟動(dòng)的第一個(gè)進(jìn)程,職責(zé)主要為fork出系統(tǒng)關(guān)鍵進(jìn)(Daemons)、servicemanager、zygote等;提供屬性服務(wù)管理系統(tǒng)屬性等。Zygote由init進(jìn)程根據(jù)init.rc文件配置項(xiàng)創(chuàng)建,Zygote是一個(gè)虛擬機(jī)進(jìn)程,同時(shí)也是一個(gè)虛擬機(jī)孵化器。負(fù)責(zé)虛擬機(jī)初始化、預(yù)置庫的加載及初始化等。每當(dāng)系統(tǒng)要求執(zhí)行一個(gè)Android應(yīng)用程序時(shí),Zygote就會(huì)創(chuàng)建一個(gè)進(jìn)程來執(zhí)行該應(yīng)用程序。SystemSever是Zygote第一個(gè)子進(jìn)程,由Zygote進(jìn)程孵化出來,作為Android框架的核心,主要負(fù)責(zé)Android系統(tǒng)初始化并啟動(dòng)其他服務(wù)運(yùn)行于該進(jìn)程空間。

Android 安全機(jī)制

28da61a2-828b-11ee-939d-92fbcf53809c.png

目前Android系統(tǒng)智能終端設(shè)備占據(jù)了全球智能終端設(shè)備的大部分份額,隨之而來安全問題也越來越多,安全問題是Android開發(fā)中一個(gè)重要的課題。從技術(shù)架構(gòu)角度來看,Android安全模型基于強(qiáng)健的Linux操作系統(tǒng)內(nèi)核安全性,通過進(jìn)程沙箱機(jī)制、獨(dú)特的內(nèi)存管理與安全高效的進(jìn)程通信機(jī)制、應(yīng)用程序簽名機(jī)制、應(yīng)用權(quán)限管理機(jī)制等進(jìn)一步提升系統(tǒng)安全性。

Android系統(tǒng)安全機(jī)制主要包括以下幾方面:

1. 代碼安全機(jī)制。

2. 進(jìn)程沙箱機(jī)制。

3. 應(yīng)用權(quán)限機(jī)制。

4. 應(yīng)用簽名機(jī)制。

5. 文件訪問控制機(jī)制。

6. 其他安全機(jī)制。

代碼安全機(jī)制

java不同于C/C++,java是解釋性語言,存在代碼被反編譯的隱患;Android引入了代碼混淆技術(shù)默認(rèn)混淆器為proguard, proguard還可用來壓縮、優(yōu)化java字節(jié)碼,刪除無用的類、字段、方法、屬性、注釋等。配置方法 在Android.mk中設(shè)置 LOCAL_PROGUARD_FLAG_FILES := proguard.flags include $(BUILD_PACKAGE) 原則 SDK API相關(guān)的不要混淆、native方法不要混淆、model不要混淆其他不需要混淆的類及方法?;煜Z法

-keepclasscom.android.launcher3.CellLayout{
publicfloatgetBackgroundAlpha();
publicvoidsetBackgroundAlpha(float);
}
-keepclasscom.android.launcher3.DragLayer$LayoutParams{
publicvoidsetWidth(int);
publicintgetWidth();
publicvoidsetHeight(int);
publicintgetHeight();
publicvoidsetX(int);
publicintgetX();
publicvoidsetY(int);
publicintgetY();
}

混淆之后代碼反編譯后得到的class文件

28f19340-828b-11ee-939d-92fbcf53809c.png

進(jìn)程沙箱隔離機(jī)制

Android將linux多用戶隔離機(jī)制應(yīng)用到應(yīng)用程序隔離,一個(gè)用戶標(biāo)識(shí)(UID)識(shí)別一個(gè)給定用戶,應(yīng)用程序權(quán)限不同允許或者限制了應(yīng)用程序?qū)υO(shè)備資源的訪問。應(yīng)用權(quán)限的設(shè)置共享用戶ID即共用一個(gè)進(jìn)程 Android源代碼樹攜帶的系統(tǒng)證書括“media”、“platform”、“shared”、 “testkey”等,其中“media”證書用于多媒體、下載場景中;“platform”證書用于系統(tǒng)場景中;“shared”證書用于啟動(dòng)器、電話簿場景中;“testkey”證書用于開發(fā)場景中,這些證書位于build/target/product/security目錄下;目前支持的“sharedUserId”屬性包括“android.uid.system”、 “com.android.uid.test”、“android.uid.calendar” 、“android.media”、“com.android.framework.externalsharedpermstestapp”、“android.uid.shared”、“android.uid.phone”等。常用的包括“android.uid.system”、“android.media”、“android.uid.shared”等。

應(yīng)用權(quán)限機(jī)制

權(quán)限主要用來對應(yīng)用的操作增加限制,防止惡意應(yīng)用進(jìn)行非法操作給用戶造成敏感數(shù)據(jù)泄漏和設(shè)備被非法控制,防止惡意收費(fèi)等。權(quán)限級別如下:Normal權(quán)限、 Dangerous權(quán)限 、signatureOrSystem權(quán)限 、Signature權(quán)限 。框架層權(quán)限定義位置

frameworks/base/core/res/ AndroidManifest.xml



android:permissionGroup="android.permission-group.STORAGE"

android:label="@string/permlab_mediaStorageWrite"
android:description="@string/permdesc_mediaStorageWrite"
android:protectionLevel="signature|system"/>

設(shè)置應(yīng)用權(quán)限


權(quán)限驗(yàn)證Android提供了多個(gè)方法可用于驗(yàn)證調(diào)用方是否具有相應(yīng)的權(quán)限。如果調(diào)用方擁有相應(yīng)的權(quán)限,則權(quán)限驗(yàn)證的返回值為PackageManager. PERMISSION_GRANTED否則返回PackageManager.PERMISSION_DENIED。

示例代碼

if(permission!=null){
if(mContext.checkCallingOrSelfPermission(permission)
!=PackageManager.PERMISSION_GRANTED){
returnWindowManagerGlobal.ADD_PERMISSION_DENIED;
}
}

數(shù)據(jù)庫安全

Android采用的SQLite目前采用明文存儲(chǔ)數(shù)據(jù);安全涉及加密、讀寫、搜索等。權(quán)限設(shè)置android:permission android:readPermission android:writePermission

android:authorities="contacts;com.android.contacts"
android:label="@string/provider_label"
android:multiprocess="false"
android:exported="true"
android:readPermission="android.permission.READ_CONTACTS"
android:writePermission="android.permission.WRITE_CONTACTS">




應(yīng)用簽名機(jī)制

Android簽名機(jī)制其實(shí)是對APK包完整性和發(fā)布機(jī)構(gòu)唯一性的一種校驗(yàn)機(jī)制。只有同一包名且采用同一數(shù)字證書的應(yīng)用才被認(rèn)為是同一個(gè)應(yīng)用;數(shù)字證書的最大用途是應(yīng)用升級和設(shè)置應(yīng)用間通信的權(quán)限;

文件訪問控制機(jī)制

Android在權(quán)限管理上應(yīng)用了Linux的ACL(Access Control List)權(quán)限機(jī)制。

分區(qū)層面

在系統(tǒng)運(yùn)行時(shí),最外層安全保護(hù)是由Linux系統(tǒng)提供的,其中system.img所在的分區(qū)是只讀的,不允許用戶寫入,而data.img所在的分區(qū)是可讀寫的,用于存放用戶數(shù)據(jù)。分區(qū)的用戶權(quán)限在init.rc中定義。

單獨(dú)文件

單獨(dú)文件訪問權(quán)限控制分群組、用戶、權(quán)限。權(quán)限分可讀、可寫、可執(zhí)行。命令:chownchgrpchmod。

其他安全機(jī)制

網(wǎng)絡(luò)安全 加密算法(敏感數(shù)據(jù)) DES(對稱)、3DES(對稱)、RSA(非對稱)、MD5、RC2/RC4(對稱)、IDEA、AES、BLOWFISH等 Web服務(wù)(HTTP層) 三種手段WS-Security、SSL、數(shù)字簽名。目前ksoap不支持WS-Security TCP層 SSL、TSL 數(shù)據(jù)鏈路層 WAPI

SEAndroid

SE Android(Security-Enhanced Android)是Android與SE Linux的結(jié)合,由美國NSA在2012年推出的Android os的安全強(qiáng)化套件,以支持在Android平臺(tái)上使用的SE Linux。DAC和MACDAC(Discretionary Access Control)自主訪問控制 進(jìn)程理論上所擁有的權(quán)限與執(zhí)行它的用戶的權(quán)限相同。比如,以root用戶啟動(dòng)Browser,那么Browser就有root用戶的權(quán)限,在Linux系統(tǒng)上能干任何事情。

MAC(Mandatory Access Control)強(qiáng)制訪問控制 即任何進(jìn)程想在SELinux系統(tǒng)中干任何事情,都必須先在安全策略配置文件中賦予權(quán)限。凡是沒有出現(xiàn)在安全策略配置文件中的權(quán)限,進(jìn)程就沒有該權(quán)限。

說明:在MAC訪問控制下,有root權(quán)限并不能讀寫訪問任何文件;任何進(jìn)程訪問特定的資源都需要遵循一定的控制策略。

29011edc-828b-11ee-939d-92fbcf53809c.png

開啟selinux后的文件上下文

290bfdfc-828b-11ee-939d-92fbcf53809c.png

開啟selinx后的進(jìn)程上下文

分析工具

調(diào)試工具logcat 、adb 、 dumpsyslogcat

logcat[options][filterspecs]#打印log

選項(xiàng)介紹

-b查看日志類型,比如radio,main,events等,默認(rèn)為main
-c清空日志
-s#設(shè)置過濾器
logcat-scallMode:V#tag為callMode,級別為V的log
-f#輸出到文件
-v#設(shè)置log的打印格式,是下面的一種:brief process tag thread raw time threadtime long
logformat形式如下:
-vprocess#D(4816)volumestatechangedfor/mnt/usbhost3(unmounted->removed)(MountService)
-vbrief#I/SystemServer(4816):EnteredtheAndroidsystemserver!....
-g#得到環(huán)形緩沖區(qū)的大小并退出
130|root@mars-200:/#logcat-g
/dev/log/main:ringbufferis256Kb(255Kbconsumed),maxentryis5120b,maxpayloadis4076b
/dev/log/system:ringbufferis256Kb(111Kbconsumed),maxentryis5120b,maxpayloadis4076b

adb常用命令

adb devices adb shell adb install / uninstall adb pull/push adb shell service list

dumpsys介紹

dumpsys工具用于顯示Android系統(tǒng)詳細(xì)信息,dumpsys是強(qiáng)大的系統(tǒng)分析工具,可以查看設(shè)備信息、進(jìn)程內(nèi)存使用信息、應(yīng)用程序包信息、服務(wù)信息、權(quán)限設(shè)置信息、電源管理狀態(tài)信息及activity信息。工具格式:dumpsys [option]

dumpsys|grepDUMP獲取dump支持的命令;
dumpsysactivity:顯示activity的相關(guān)信息,包括任務(wù)棧等;
dumpsyswindow:顯示鍵盤,窗口和它們的關(guān)系;
dumpsysdiskstats:磁盤相關(guān)信息

安全問題相關(guān)實(shí)踐

Android逆向工程

在學(xué)習(xí)Android開發(fā)的過程你,你往往會(huì)去借鑒別人的應(yīng)用是怎么開發(fā)的,那些漂亮的動(dòng)畫和精致的布局可能會(huì)讓你愛不釋手,作為一個(gè)開發(fā)者,你可能會(huì)很想知道這些效果界面是怎么去實(shí)現(xiàn)的,這時(shí),你便可以對改應(yīng)用的APK進(jìn)行反編譯查看。

反編譯的目的不是去搞破壞,主要目的是為了促進(jìn)開發(fā)者學(xué)習(xí),借鑒好的代碼,提升自我開發(fā)水平。

反編譯工具dex2jar apktool jd-gui

步驟如下:

1.將apk文件重命名為.zip文件后解壓縮提取classes.dex

2.通過dex2jar工具將classes.dex文件轉(zhuǎn)成jar包./d2j-dex2jar.sh classes.dex

3.apktool還原apk資源文件./apktool.sh -d test.apk

su權(quán)限管控

可將相關(guān)權(quán)限加入Android運(yùn)行時(shí)權(quán)限管控,根據(jù)簽名、配置文件等控制使用

編輯:黃飛

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

    關(guān)注

    12

    文章

    3980

    瀏覽量

    132613
  • 電源管理
    +關(guān)注

    關(guān)注

    117

    文章

    6518

    瀏覽量

    147231
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11577

    瀏覽量

    217001
  • 網(wǎng)絡(luò)安全
    +關(guān)注

    關(guān)注

    11

    文章

    3420

    瀏覽量

    62563
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    966

    瀏覽量

    30021

原文標(biāo)題:Android安全機(jī)制介紹及實(shí)踐

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    詳解Android Handler機(jī)制和原理

    Android開發(fā)中,Handler機(jī)制是一個(gè)很重要的知識(shí)點(diǎn),主要用于消息通信。
    的頭像 發(fā)表于 03-26 14:32 ?2916次閱讀

    安全管家 Android 1.8.58

    Android安全管家是一款集防騷擾和程序管理、木馬查殺、上網(wǎng)管家、IP撥號(hào)、隱私中心、防盜衛(wèi)士、系統(tǒng)優(yōu)化、定時(shí)任務(wù)等多功能于一身的手機(jī)安全軟件,給您生活帶來貼心的呵護(hù)!軟件完全免費(fèi),使用過程中
    發(fā)表于 07-23 09:43

    Android介紹

    Android介紹:HTC G1操作界面Android 是Google開發(fā)的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)。它包括操作系統(tǒng)、用戶界面和應(yīng)用程序 —— 移動(dòng)電話工作所需的全部軟件,而且
    發(fā)表于 08-15 14:10

    [資料分享]+《Android軟件安全與逆向分析》

    安全隱患 322  11.2.3  Android手機(jī)ROOT原理 322  11.3  Android權(quán)限攻擊 329  11.3.1  Android權(quán)限檢查
    發(fā)表于 09-26 10:53

    關(guān)于無線接入安全機(jī)制的匯總

    介紹移動(dòng)通信中的無線接入安全機(jī)制
    發(fā)表于 05-28 06:17

    你的應(yīng)用程序如何保持安全性?

    引言擁有特權(quán)的惡意軟件或者可以實(shí)際訪問安卓設(shè)備的攻擊者是一個(gè)難以防范的攻擊向量。 在這種情況下,你的應(yīng)用程序如何保持安全性?本文將討論 Android keystore 機(jī)制以及在嘗試實(shí)現(xiàn)安全
    發(fā)表于 07-28 08:40

    ARM Cortex-M堆棧機(jī)制介紹

      大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是ARM Cortex-M堆棧機(jī)制?! 〗裉旖o大家分享的這篇依舊是2016年之前痞子衡寫的技術(shù)文檔,花了點(diǎn)時(shí)間重新編排了一下
    發(fā)表于 12-16 06:26

    介紹AUTOSAR支持的四種功能安全機(jī)制

    1、AUTOSAR的四種功能安全機(jī)制雖然AUTOSAR不是一個(gè)完整的安全解決方案,但它提供了一些安全機(jī)制用于支持
    發(fā)表于 06-10 17:33

    深入剖析Android消息機(jī)制

    深入剖析Android消息機(jī)制
    發(fā)表于 01-22 21:11 ?11次下載

    用戶友好的Android隱私監(jiān)管機(jī)制

    針對安卓( Android)應(yīng)用過度授權(quán)導(dǎo)致的隱私泄露問題,提出了一種用戶友好的Android隱私監(jiān)管機(jī)制UFMDroid。該機(jī)制使用服務(wù)代理重定向技術(shù)在
    發(fā)表于 01-14 13:27 ?0次下載
    用戶友好的<b class='flag-5'>Android</b>隱私監(jiān)管<b class='flag-5'>機(jī)制</b>

    基于Android安全總結(jié)與分析

    ,Android智能手機(jī)的日益流行也吸引了黑客,導(dǎo)致Android惡意軟件應(yīng)用的大量增加,從Android體系結(jié)構(gòu)、設(shè)計(jì)原則、安全機(jī)制、主要
    發(fā)表于 01-18 16:58 ?3次下載

    谷歌推出Android P版本,改進(jìn)現(xiàn)有的生物識(shí)別身份驗(yàn)證機(jī)制

    隨著指紋掃描和面部解鎖等生物解鎖等身份驗(yàn)證機(jī)制Android 用戶群體中變得越來越受歡迎,Google 必須作出提升安全性的改進(jìn),以便為用戶提供更好的隱私保護(hù)。該公司剛剛宣布,其計(jì)劃在即將推出
    發(fā)表于 08-06 16:05 ?1813次閱讀

    詳細(xì)解答Android消息機(jī)制

    Android程序運(yùn)行中,線程之間或者線程內(nèi)部進(jìn)行信息交互時(shí)經(jīng)常會(huì)使用到消息,如果我們熟悉這些基礎(chǔ)的東西及其內(nèi)部的原理,將會(huì)使我們的Android開發(fā)變的容易、可以更好地架構(gòu)系統(tǒng)。在學(xué)習(xí)Android消息
    發(fā)表于 04-24 15:30 ?641次閱讀
    詳細(xì)解答<b class='flag-5'>Android</b>消息<b class='flag-5'>機(jī)制</b>

    Android系統(tǒng)電源的管理和省電機(jī)制的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Android系統(tǒng)電源的管理和省電機(jī)制的詳細(xì)資料說明
    發(fā)表于 07-23 17:37 ?6次下載
    <b class='flag-5'>Android</b>系統(tǒng)電源的管理和省電<b class='flag-5'>機(jī)制</b>的詳細(xì)資料說明

    Linux內(nèi)核的安全性對Android的影響

    在操作系統(tǒng)級別,Android平臺(tái)不僅提供Linux內(nèi)核的安全功能,而且還提供安全的進(jìn)程間通信 (IPC)機(jī)制,以便在不同進(jìn)程中運(yùn)行的應(yīng)用之間安全
    的頭像 發(fā)表于 09-13 09:09 ?1791次閱讀