色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Android安全機制介紹及實踐

哆啦安全 ? 來源:虎哥Lovedroid ? 2023-11-14 09:35 ? 次閱讀

Android安全機制介紹及實踐

Android框架基礎

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

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

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

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

Android 安全機制

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

目前Android系統智能終端設備占據了全球智能終端設備的大部分份額,隨之而來安全問題也越來越多,安全問題是Android開發中一個重要的課題。從技術架構角度來看,Android安全模型基于強健的Linux操作系統內核安全性,通過進程沙箱機制、獨特的內存管理與安全高效的進程通信機制、應用程序簽名機制、應用權限管理機制等進一步提升系統安全性。

Android系統安全機制主要包括以下幾方面:

1. 代碼安全機制。

2. 進程沙箱機制。

3. 應用權限機制。

4. 應用簽名機制。

5. 文件訪問控制機制。

6. 其他安全機制。

代碼安全機制

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

-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

進程沙箱隔離機制

Android將linux多用戶隔離機制應用到應用程序隔離,一個用戶標識(UID)識別一個給定用戶,應用程序權限不同允許或者限制了應用程序對設備資源的訪問。應用權限的設置共享用戶ID即共用一個進程 Android源代碼樹攜帶的系統證書括“media”、“platform”、“shared”、 “testkey”等,其中“media”證書用于多媒體、下載場景中;“platform”證書用于系統場景中;“shared”證書用于啟動器、電話簿場景中;“testkey”證書用于開發場景中,這些證書位于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”等。

應用權限機制

權限主要用來對應用的操作增加限制,防止惡意應用進行非法操作給用戶造成敏感數據泄漏和設備被非法控制,防止惡意收費等。權限級別如下:Normal權限、 Dangerous權限 、signatureOrSystem權限 、Signature權限 。框架層權限定義位置

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"/>

設置應用權限


權限驗證Android提供了多個方法可用于驗證調用方是否具有相應的權限。如果調用方擁有相應的權限,則權限驗證的返回值為PackageManager. PERMISSION_GRANTED否則返回PackageManager.PERMISSION_DENIED。

示例代碼

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

數據庫安全

Android采用的SQLite目前采用明文存儲數據;安全涉及加密、讀寫、搜索等。權限設置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">




應用簽名機制

Android簽名機制其實是對APK包完整性和發布機構唯一性的一種校驗機制。只有同一包名且采用同一數字證書的應用才被認為是同一個應用;數字證書的最大用途是應用升級和設置應用間通信的權限;

文件訪問控制機制

Android在權限管理上應用了Linux的ACL(Access Control List)權限機制。

分區層面

在系統運行時,最外層安全保護是由Linux系統提供的,其中system.img所在的分區是只讀的,不允許用戶寫入,而data.img所在的分區是可讀寫的,用于存放用戶數據。分區的用戶權限在init.rc中定義。

單獨文件

單獨文件訪問權限控制分群組、用戶、權限。權限分可讀、可寫、可執行。命令:chownchgrpchmod。

其他安全機制

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

SEAndroid

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

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

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

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

開啟selinux后的文件上下文

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

開啟selinx后的進程上下文

分析工具

調試工具logcat 、adb 、 dumpsyslogcat

logcat[options][filterspecs]#打印log

選項介紹

-b查看日志類型,比如radio,main,events等,默認為main
-c清空日志
-s#設置過濾器
logcat-scallMode:V#tag為callMode,級別為V的log
-f#輸出到文件
-v#設置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#得到環形緩沖區的大小并退出
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系統詳細信息,dumpsys是強大的系統分析工具,可以查看設備信息、進程內存使用信息、應用程序包信息、服務信息、權限設置信息、電源管理狀態信息及activity信息。工具格式:dumpsys [option]

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

安全問題相關實踐

Android逆向工程

在學習Android開發的過程你,你往往會去借鑒別人的應用是怎么開發的,那些漂亮的動畫和精致的布局可能會讓你愛不釋手,作為一個開發者,你可能會很想知道這些效果界面是怎么去實現的,這時,你便可以對改應用的APK進行反編譯查看。

反編譯的目的不是去搞破壞,主要目的是為了促進開發者學習,借鑒好的代碼,提升自我開發水平。

反編譯工具dex2jar apktool jd-gui

步驟如下:

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

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

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

su權限管控

可將相關權限加入Android運行時權限管控,根據簽名、配置文件等控制使用

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    3943

    瀏覽量

    127736
  • 電源管理
    +關注

    關注

    115

    文章

    6193

    瀏覽量

    144785
  • Linux
    +關注

    關注

    87

    文章

    11342

    瀏覽量

    210136
  • 網絡安全
    +關注

    關注

    10

    文章

    3192

    瀏覽量

    60081
  • 虛擬機
    +關注

    關注

    1

    文章

    931

    瀏覽量

    28359

原文標題:Android安全機制介紹及實踐

文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    詳解Android Handler機制和原理

    Android開發中,Handler機制是一個很重要的知識點,主要用于消息通信。
    的頭像 發表于 03-26 14:32 ?2499次閱讀

    安全管家 Android 1.8.58

    Android安全管家是一款集防騷擾和程序管理、木馬查殺、上網管家、IP撥號、隱私中心、防盜衛士、系統優化、定時任務等多功能于一身的手機安全軟件,給您生活帶來貼心的呵護!軟件完全免費,使用過程中
    發表于 07-23 09:43

    Android介紹

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

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

    安全隱患 322  11.2.3  Android手機ROOT原理 322  11.3  Android權限攻擊 329  11.3.1  Android權限檢查
    發表于 09-26 10:53

    關于無線接入安全機制的匯總

    介紹移動通信中的無線接入安全機制
    發表于 05-28 06:17

    你的應用程序如何保持安全性?

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

    ARM Cortex-M堆棧機制介紹

      大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是ARM Cortex-M堆棧機制。  今天給大家分享的這篇依舊是2016年之前痞子衡寫的技術文檔,花了點時間重新編排了一下
    發表于 12-16 06:26

    介紹AUTOSAR支持的四種功能安全機制

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

    深入剖析Android消息機制

    深入剖析Android消息機制
    發表于 01-22 21:11 ?11次下載

    用戶友好的Android隱私監管機制

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

    基于Android安全總結與分析

    Android智能手機的日益流行也吸引了黑客,導致Android惡意軟件應用的大量增加,從Android體系結構、設計原則、安全機制、主要
    發表于 01-18 16:58 ?3次下載

    谷歌推出Android P版本,改進現有的生物識別身份驗證機制

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

    詳細解答Android消息機制

    Android程序運行中,線程之間或者線程內部進行信息交互時經常會使用到消息,如果我們熟悉這些基礎的東西及其內部的原理,將會使我們的Android開發變的容易、可以更好地架構系統。在學習Android消息
    發表于 04-24 15:30 ?501次閱讀
    詳細解答<b class='flag-5'>Android</b>消息<b class='flag-5'>機制</b>

    Android系統電源的管理和省電機制的詳細資料說明

    本文檔的主要內容詳細介紹的是Android系統電源的管理和省電機制的詳細資料說明
    發表于 07-23 17:37 ?6次下載
    <b class='flag-5'>Android</b>系統電源的管理和省電<b class='flag-5'>機制</b>的詳細資料說明

    Linux內核的安全性對Android的影響

    在操作系統級別,Android平臺不僅提供Linux內核的安全功能,而且還提供安全的進程間通信 (IPC)機制,以便在不同進程中運行的應用之間安全
    的頭像 發表于 09-13 09:09 ?1316次閱讀
    主站蜘蛛池模板: 免费看国产精品麻豆 | 久久全国免费久久青青小草 | 18禁三级黄 | 国产色情短视频在线网站 | 男女疯狂一边摸一边做羞羞视频 | 牛牛在线精品视频(正) | 国产乱码伦人偷精品视频 | 伊人久久丁香色婷婷啪啪 | 国产亚洲AV精品无码麻豆 | 成人毛片一区二区三区 | 久 久 亚洲 少 妇 无 码 | 日本wwwxx| 张开腿我尝尝你的草莓 | 亚洲精品国产品国语在线试看 | 亚洲青青青网伊人精品 | 亚洲精品拍拍央视网出文 | 暖暖日本免费播放 | 富婆夜店找黑人猛男BD在线 | 一边亲着一面膜下奶韩剧免费 | 老头xxx | 免费一区二区三区久久 | 一级片mp4 | 亚洲欧美高清在线 | 女教师跟黑人男朋友激情过后 | 强奷表妺好紧2 | 99久久99久久久精品久久 | 很黄很色60分钟在线观看 | 美女打开双腿扒开屁股男生 | 欧美 国产 日产 韩国 在线 | 被吊起玩弄的女性奴 | 男女肉大捧进出全过程免费 | 国产精品亚洲视频在线观看 | 国产精品自产拍在线观看网站 | 又长又大又粗又硬3p免费视频 | 在线国内自拍精品视频 | 扒开她的黑森林让我添动态图 | 99久久国产综合精品 | 国产高清免费视频免费观看 | 高hnp全肉 | 116美女写真成人午夜视频 | 无人区国产片 |