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

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

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

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

APP的污點(diǎn)分析簡析

哆啦安全 ? 來源:小道安全 ? 2023-04-06 10:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

背景

APP中存在比較嚴(yán)重的安全風(fēng)險(xiǎn)有:數(shù)據(jù)泄露問題、第三方庫漏洞問題、隱私合規(guī)問題、組件間通信問題。

當(dāng)用戶在不知情或沒有授權(quán)的情況下,APP進(jìn)行收集用戶的隱私數(shù)據(jù)(包括IMEI ID、位置信息、視頻音頻信息、Web瀏覽記錄等), 并將其收集的信息推送或轉(zhuǎn)賣給廣告推薦商,那么該APP就存在隱私合規(guī)的問題。

合規(guī)場景下APP污點(diǎn)分析幾個(gè)高頻關(guān)注點(diǎn):組件內(nèi)污點(diǎn)傳播、組件間污點(diǎn)傳播、組件與庫函數(shù)之間的污點(diǎn)傳播、加密算法是否使用常量密鑰、靜態(tài)初始化的向量、加密模式是否使用ECB模式。

污點(diǎn)分析技術(shù)是APP隱私數(shù)據(jù)安全、病毒分析(基于常用的API分析)和實(shí)現(xiàn)漏洞檢測的重要技術(shù)手段,也是信息安全研究的熱點(diǎn)領(lǐng)域,靜態(tài)污點(diǎn)分析方法是目前APP應(yīng)用中檢測隱私泄露的主流方法之一。

理論基礎(chǔ)

污點(diǎn)分析(taint analysis):是一項(xiàng)跟蹤并分析污點(diǎn)信息在程序中流動(dòng)的技術(shù),該技術(shù)通過對系統(tǒng)中的敏感數(shù)據(jù)進(jìn)行標(biāo)記, 繼而跟蹤標(biāo)記數(shù)據(jù)在程序中的傳播, 檢測系統(tǒng)安全問題。

它可以抽象為一個(gè)三元組形式:

source即為污染源,代表程序的敏感數(shù)據(jù)或引入的不受信任的數(shù)據(jù);

sink為污點(diǎn)匯聚點(diǎn),代表直接產(chǎn)生安全敏感操作,或向外發(fā)送隱私數(shù)據(jù);

sanitizer即無害化處理,表示污染源數(shù)據(jù)通過一些操作解除了其危害性,如對發(fā)送出去的數(shù)據(jù)做了加密處理或?qū)σ氲臄?shù)據(jù)做了安全校驗(yàn)。

污點(diǎn)分析技術(shù)可分為動(dòng)態(tài)分析、靜態(tài)分析和混合分析,但在APP應(yīng)用中污點(diǎn)分析技術(shù)主要應(yīng)用到靜態(tài)污點(diǎn)分析技術(shù)。

APP靜態(tài)污點(diǎn)分析它是在靜態(tài)分析的基礎(chǔ)上加入污點(diǎn)分析原理,使其結(jié)果為該分析方法所期望的可疑數(shù)據(jù)流。靜態(tài)分析是指在不運(yùn)行應(yīng)用的前提下,對APK包中的代碼進(jìn)行掃描從而生成程序的反匯編代碼來掌握程序功能,提取其中的詞法、語法和語義,進(jìn)一步實(shí)現(xiàn)控制流分析和數(shù)據(jù)流分析,以幫助開發(fā)者發(fā)現(xiàn)程序中存在的結(jié)構(gòu)性錯(cuò)誤和安全漏洞等問題。

動(dòng)態(tài)分析是通過在真實(shí)或虛擬處理機(jī)上執(zhí)行程序,監(jiān)控程序執(zhí)行,并在執(zhí)行過程中使用插樁的方式獲取程序的控制流和數(shù)據(jù)流,發(fā)現(xiàn)程序運(yùn)行時(shí)錯(cuò)誤或者潛在漏洞攻擊。

Android中由于動(dòng)態(tài)特性代碼(反射,動(dòng)態(tài)加載、代碼生成,外部代碼執(zhí)行等)只有在運(yùn)行時(shí)才能獲得具體信息,常規(guī)的靜態(tài)污點(diǎn)分析無法精確地分析出APP中可能存在的安全問題,也就導(dǎo)致了漏報(bào)率的上升。

如果對APP用戶隱私泄露監(jiān)測加入靜態(tài)污點(diǎn)分析,那么污點(diǎn)源可以是能夠獲取隱私信息的函數(shù),如讀取最新位置信息的getLastKnownLocation()函數(shù),污點(diǎn)庫可以是具有短信發(fā)送功能的函數(shù)等具有引發(fā)危險(xiǎn)問題的庫函數(shù)。污點(diǎn)源中的函數(shù)在獲取污點(diǎn)數(shù)據(jù)之后,可能會(huì)依次通過不同的變量將污點(diǎn)數(shù)據(jù)傳遞到污點(diǎn)庫函數(shù)中,在此過程中,所有存儲(chǔ)了該污點(diǎn)數(shù)據(jù)的變量都應(yīng)該被標(biāo)記為污點(diǎn)狀態(tài),這樣就可以追蹤過程,即追蹤標(biāo)記為污點(diǎn)狀態(tài)的變量的數(shù)據(jù)流過程。

淺析污點(diǎn)分析

污點(diǎn)分析4個(gè)關(guān)鍵點(diǎn):污點(diǎn)產(chǎn)生位置、目標(biāo)觸發(fā)位置、污點(diǎn)傳遞規(guī)則、程序入口。

0209756e-d3f8-11ed-bfe3-dac502259ad0.png

Android應(yīng)用的入口是各個(gè)組件,它一般從AndrroidManifest.xml文件中進(jìn)行解析,以及registerReceiver 的動(dòng)態(tài)注冊。

由于APP組件的生命周期是由Android系統(tǒng)維護(hù)的,污點(diǎn)追蹤可能因?yàn)樯芷诨卣{(diào)函數(shù)的結(jié)束而中斷。

所以APP之間或內(nèi)部的數(shù)據(jù)傳遞也是基于組件的。組件之間通訊是通過發(fā)送Intent組件傳遞信息來實(shí)現(xiàn)的,追蹤污點(diǎn)的數(shù)據(jù)流就是追蹤各個(gè)組件之間Intent的傳播數(shù)據(jù)流。因?yàn)镮ntent有兩種類型,一種是明確發(fā)送目的地的顯式Intent,一種是沒有明確發(fā)送目的地的隱式Intent。

021f8660-d3f8-11ed-bfe3-dac502259ad0.png

(圖片來源網(wǎng)絡(luò))

APP靜態(tài)污點(diǎn)分析:通過解析dex 文件并根據(jù) APP的生命周期建立函數(shù)調(diào)用的模型,使用靜態(tài)數(shù)據(jù)流分析的方法,靜態(tài)模擬代碼數(shù)據(jù)的傳播,實(shí)現(xiàn)靜態(tài)數(shù)據(jù)的跟蹤,以達(dá)到精準(zhǔn)定位漏洞的目的。

024024f6-d3f8-11ed-bfe3-dac502259ad0.png

(圖片來源網(wǎng)絡(luò))

App靜態(tài)污點(diǎn)分析技術(shù)主要包括如下步驟:

1、解析應(yīng)用AndroidManifest.xml,Layout配置文件和相關(guān)Dex字節(jié)碼,根據(jù)預(yù)先建模的Android LifeCycle Model生成超調(diào)用圖 ,又稱過程間控制流圖(Inter-procedural control flow graph, ICFG);

2、根據(jù)定義的污點(diǎn)源和錨點(diǎn)(Source and Sink),將其轉(zhuǎn)換為基于ICFG的后向或前向數(shù)據(jù)流問題進(jìn)行求解;

3、根據(jù)求解結(jié)果,回答是否存在從某輸入到輸出的數(shù)據(jù)流流動(dòng)路徑,以顯式Intent問題為例,F(xiàn)lowDroid會(huì)檢測到一個(gè)以發(fā)送intent的sink方法到最后接收intent的source的路徑存在。

可參考源碼

1、FlowDroid是一款靜態(tài)污點(diǎn)分析框架,它是基于Soot開發(fā)對Android應(yīng)用進(jìn)行污點(diǎn)分析的框架。

Soot是一款強(qiáng)大的Java代碼優(yōu)化分析框架,通過將Java字節(jié)碼轉(zhuǎn)換為其獨(dú)有的中間表示,進(jìn)行控制流分析、調(diào)用圖分析。主要它目前還有在維護(hù)更新

2、MobSF 是一個(gè)自動(dòng)化的、一體化的移動(dòng)應(yīng)用程序(Android/iOS/Windows)惡意軟件分析和安全評估框架,能夠執(zhí)行靜態(tài)和動(dòng)態(tài)分析。

目前市場上很多合規(guī)掃描檢測都是基于它去做定制開發(fā)的。

3、AppShark它是一款針對Android應(yīng)用程序的安全測試框架

它本質(zhì)上是一個(gè)靜態(tài)污點(diǎn)分析平臺,可以用于掃描Android應(yīng)用程序中的漏洞,也還有在維護(hù)更新。

4、PATDroid是用于分析Android應(yīng)用程序和系統(tǒng)本身的工具和數(shù)據(jù)結(jié)構(gòu)的集合

它通過解析smali語句,分析程序控制流等,也具備APP污點(diǎn)分析的能力,不過它已經(jīng)沒更新了,可以學(xué)習(xí)下它的思路。




審核編輯:劉清

聲明:本文內(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系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    13810
  • Web瀏覽器
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    9436

原文標(biāo)題:淺談APP的污點(diǎn)分析

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    新能源電池產(chǎn)業(yè)鏈及投資機(jī)會(huì)-磷酸亞鐵鋰

    新能源電池產(chǎn)業(yè)鏈及投資機(jī)會(huì)-磷酸亞鐵鋰  一、前言
    發(fā)表于 12-25 09:34 ?1102次閱讀

    【設(shè)計(jì)技巧】rtos的核心原理

    rtos的核心原理rtos全稱real-time operating system(實(shí)時(shí)操作系統(tǒng)),我來簡單分析下:我們都知道,c語句中調(diào)用一個(gè)函數(shù)后,該函數(shù)的返回地址都是放在堆棧中的(準(zhǔn)確
    發(fā)表于 07-23 08:00

    OpenHarmony應(yīng)用核心技術(shù)理念與需求機(jī)遇

    一、核心技術(shù)理念 圖片來源:OpenHarmony官方網(wǎng)站 二、需求機(jī)遇 新的萬物互聯(lián)智能世界代表著新規(guī)則、新賽道、新切入點(diǎn)、新財(cái)富機(jī)會(huì);各WEB網(wǎng)站、客戶端( 蘋果APP、安卓APK)、微信
    發(fā)表于 09-22 16:12

    基于ATM理念的UTRAN傳輸架構(gòu)

    基于ATM理念的UTRAN傳輸架構(gòu):UTRAN(UMTS無線接入網(wǎng))系統(tǒng)傳輸網(wǎng)承載其內(nèi)部業(yè)務(wù)傳送及至CN(核心網(wǎng))側(cè)的業(yè)務(wù)匯聚功能,考慮3G網(wǎng)絡(luò)內(nèi),話音、媒體流及Internet等數(shù)據(jù)業(yè)務(wù)的多樣
    發(fā)表于 10-22 10:49 ?15次下載

    電動(dòng)汽車用鋰離子電池技術(shù)的國內(nèi)外進(jìn)展

    電動(dòng)汽車用鋰離子電池技術(shù)的國內(nèi)外進(jìn)展
    發(fā)表于 11-10 13:53 ?864次閱讀

    PCB線路板電鍍銅工藝

    PCB線路板電鍍銅工藝   一.電鍍工藝的分類:   酸性光亮銅電鍍電鍍鎳/金電鍍錫   二.工藝流程:
    發(fā)表于 11-17 14:01 ?4346次閱讀

    EPON技術(shù)

    EPON技術(shù) EPON是一個(gè)新技術(shù),用于保證提供一個(gè)高品質(zhì)與高帶寬利用率的應(yīng)用。   EPON在日本、韓國、中國大陸、中國臺灣及其它以以太網(wǎng)絡(luò)為基礎(chǔ)的地區(qū)都
    發(fā)表于 01-22 10:43 ?988次閱讀

    BGA封裝技術(shù)與質(zhì)量控制

    BGA封裝技術(shù)與質(zhì)量控制  ?。樱停裕⊿urface Mount Technology)表面安裝技術(shù)順應(yīng)了電子產(chǎn)品小型化、輕型化的潮流趨勢,為實(shí)現(xiàn)電子
    發(fā)表于 03-30 16:49 ?1642次閱讀

    鼠標(biāo)HID例程(中)

    鼠標(biāo) HID 例程 緊接《鼠標(biāo) HID 例程(上)》一文,繼續(xù)向大家介紹鼠 標(biāo) HID 例程的未完的內(nèi)容。
    發(fā)表于 07-26 15:18 ?0次下載

    籠型三相異步電動(dòng)機(jī)噪聲故障

    籠型三相異步電動(dòng)機(jī)噪聲故障_陳金剛
    發(fā)表于 01-01 15:44 ?1次下載

    基于離線索引的污點(diǎn)分析方法

    針對二進(jìn)制代碼的污點(diǎn)分析方法在軟件逆向工程、漏洞分析及惡意代碼檢測等方面具有重大的意義.目前。大多數(shù)污點(diǎn)分析方法不支持浮點(diǎn)指令,執(zhí)行效率較低
    發(fā)表于 12-26 18:11 ?0次下載
    基于離線索引的<b class='flag-5'>污點(diǎn)</b><b class='flag-5'>分析</b>方法

    面向應(yīng)用程序安全問題的污點(diǎn)分析技術(shù)

    信息流分析可以有效保證計(jì)算機(jī)系統(tǒng)中信息的保密性和完整性,污點(diǎn)分析作為其實(shí)踐,被廣泛用于軟件系統(tǒng)的安全保障技術(shù)領(lǐng)域.對近些年來面向解決應(yīng)用程序安全問題的污點(diǎn)
    發(fā)表于 12-30 14:21 ?0次下載
    面向應(yīng)用程序安全問題的<b class='flag-5'>污點(diǎn)</b><b class='flag-5'>分析</b>技術(shù)

    5G AAU 功放控制和監(jiān)測模塊

    5G AAU 功放控制和監(jiān)測模塊
    發(fā)表于 10-28 12:00 ?2次下載
    5G AAU 功放控制和監(jiān)測模塊<b class='flag-5'>簡</b><b class='flag-5'>析</b>

    AFE8092幀同步特性

    AFE8092幀同步特性
    的頭像 發(fā)表于 08-24 13:37 ?954次閱讀
    AFE8092幀同步特性<b class='flag-5'>簡</b><b class='flag-5'>析</b>

    電動(dòng)汽車充電樁檢測技術(shù)應(yīng)用及分析

    電動(dòng)汽車充電樁檢測技術(shù)應(yīng)用及分析 張穎姣 安科瑞電氣股份有限公司?上海嘉定 201801 摘要:直流和交流充電樁是我國當(dāng)前電動(dòng)汽車充電樁中投運(yùn)數(shù)量多的種類,為了維持正常運(yùn)行和使用,更要對檢測
    的頭像 發(fā)表于 02-26 10:52 ?2026次閱讀
    <b class='flag-5'>簡</b><b class='flag-5'>析</b>電動(dòng)汽車充電樁檢測技術(shù)應(yīng)用及<b class='flag-5'>分析</b>