chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

移動(dòng)應(yīng)用安全常用組件Soot、Flowdroid簡(jiǎn)介和基本使用

科技怪授 ? 來(lái)源:科技怪授 ? 作者:科技怪授 ? 2022-10-13 09:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Soot

簡(jiǎn)介

soot是java優(yōu)化框架,提供4種中間代碼來(lái)分析和轉(zhuǎn)換字節(jié)碼。

l Baf:精簡(jiǎn)的字節(jié)碼表示,操作簡(jiǎn)單

l Jimple:適用于優(yōu)化的3-address中間表示

l Shimple:Jimple的SSA變體

l Grimple:適用于反編譯和代碼檢查的Jimple匯總版本。

soot提供的輸入格式有:java、android、class等

輸出格式有:Java字節(jié)碼、android字節(jié)碼、Jimple、Jasmin、shimple、baf等,這些實(shí)際業(yè)務(wù)中常使用的,當(dāng)然還有其它的格式,這里不再一一列舉。

借助soot對(duì)android的分析能力,我們可以進(jìn)一步分析安卓應(yīng)用的安全漏洞,比如組件暴露、加密算法等存在的安全問(wèn)題。

基本使用

可以GIT下載最新的soot jar包,我下載的是4.1.0版本中的sootclasses-trunk-jar-with-dependencies.jar 包,這個(gè)包應(yīng)該自帶了soot所需要的所有依賴(lài)。下載完成后使用powershell進(jìn)入jar文件所在的文件夾,可以輸入以下命令:

java -cp sootclasses-trunk-jar-with-dependencies.jar soot.Main查看soot相關(guān)的信息![]image.png

首先我們來(lái)看soot怎么分析java代碼(這里以class文件分析為例):

第一步,配置soot環(huán)境信息

StringBuffer** cp = new **StringBuffer();

cp .append(".");

cp .append(File. pathSeparator + apiPath );

cp .append(File.**pathSeparator + "C:Program FilesJavajre1.8.0_171lib
t.jar"
+ **File.**pathSeparator **

** + "C:Program FilesJavajre1.8.0_171libjce.jar");System.setProperty("soot.class.path", cp**.toString());

第二步,設(shè)置soot的配置屬性(各屬性說(shuō)明可以參考GIT上官方文檔信息)

image.png

第三步,拿到代碼信息

image.png

現(xiàn)在,我們?cè)诳纯磗oot怎么分析android apk

image.png

同樣,我們可以得到apk的代碼信息,包括class、method、attribute等,基于這些進(jìn)行進(jìn)一步分析并應(yīng)用到實(shí)際檢測(cè)業(yè)務(wù)中。

使用場(chǎng)景

使用Soot對(duì)Android應(yīng)用進(jìn)行靜態(tài)分析,目前包括主要的檢測(cè)場(chǎng)景:

l 檢測(cè)應(yīng)用中敏感字符串url和email、IP等

l 檢測(cè)應(yīng)用中風(fēng)險(xiǎn)代碼片段

l 檢測(cè)應(yīng)用可能存在的漏洞,如組件暴露、過(guò)度申請(qǐng)權(quán)限、不安全加密算法等

FlowDroid

簡(jiǎn)介

FlowDroid(github鏈接)是目前對(duì)Android app進(jìn)行污點(diǎn)分析效果最好的工具之一。 污點(diǎn)分析的目的其實(shí)很簡(jiǎn)單,就是為了檢查是否應(yīng)用中是否存在從污點(diǎn)源到泄漏點(diǎn)的數(shù)據(jù)流。 但是它的優(yōu)點(diǎn)在于它構(gòu)建的數(shù)據(jù)流精度很高,可以對(duì)上下文,流,對(duì)象和字段敏感,從而使得分析結(jié)果非常精確。

![]image.png

image.png

它實(shí)現(xiàn)精準(zhǔn)分析的原因有幾點(diǎn):

l 1. 它對(duì)Android聲明周期進(jìn)行了比較完整的構(gòu)建,例如Activity中的OnCreate,OnResume等。通過(guò)抽象一個(gè)dummyMain作為分析的入口來(lái)支持Android應(yīng)用的分析;

l 2. 它實(shí)現(xiàn)了精準(zhǔn)的數(shù)據(jù)流分析,其中包含前向污點(diǎn)分析和后向別名分析。他們的實(shí)現(xiàn)其實(shí)都是基于heros的數(shù)據(jù)流分析框架來(lái)實(shí)現(xiàn)的。這里面的算法比較復(fù)雜,我的理解是這兩種分析都是滿(mǎn)足上下文敏感和流敏感的,后向分析的算法提供了對(duì)象敏感和字段敏感的支持;

l 3. 它支持簡(jiǎn)單的native code的污點(diǎn)分析

l 當(dāng)然,它也存在一些不足之處,包括:

l 1. 不能對(duì)組件間(Intent)的污點(diǎn)傳播進(jìn)行分析

l 2. 隱式流問(wèn)題

l 3. native code不能完美支持

盡管存在一些不足之處,在各大會(huì)議上也已經(jīng)提出了數(shù)十種新的靜態(tài)污點(diǎn)分析算法,相比FlowDroid在一些數(shù)據(jù)集或是DroidBench上有著更快的運(yùn)行速度以及更優(yōu)的精準(zhǔn)度。但FlowDroid仍然是公共資源中可獲取的靜態(tài)污點(diǎn)分析工具的唯一選擇,因?yàn)楹芏鄍aper提供的源代碼幾乎沒(méi)有注釋與文檔,導(dǎo)致使用極其困難;另外科研人員往往僅在有限的測(cè)試集上進(jìn)行了運(yùn)行,所以去使用這樣的程序不可避免的會(huì)遇到Bug。相比之下,F(xiàn)lowDroid作為被持續(xù)維護(hù)的一款框架,其穩(wěn)定性上具備了一定的保證,同時(shí)其底層的Soot框架強(qiáng)大的功能與較為完善的文檔,使得FlowDroid上手難度相對(duì)較低。

基本使用

環(huán)境配置

FlowDroid的配置方法有兩種,可以直接下載相關(guān)jar包,也可以使用maven配置依賴(lài)。jar包可以去FlowDroid的GitHub上進(jìn)行下載,僅需soot-infoflow-android-classes.jar和soot-infoflow-classes.jar兩個(gè)文件即可,另外去Soot的倉(cāng)庫(kù) 下載包含了heros與jasmin的sootclasses-trunk-jar-with-dependencies.jar,將上述三個(gè)包加入項(xiàng)目依賴(lài)便完成了FlowDroid的配置

運(yùn)行

整個(gè)FlowDroid最頂層的類(lèi)便是soot.jimple.infoflow.android.SetupApplication,大部分的設(shè)置與運(yùn)行都可以通過(guò)操作這個(gè)類(lèi)的實(shí)例進(jìn)行。SetupApplication既可以在調(diào)用runInfoflow()時(shí)傳入配置參數(shù),也可以在初始化SetupApplication時(shí)或初始化后傳入配置參數(shù)。SetupApplication的初始化函數(shù)以及runInfoflow函數(shù)有多種不同參數(shù)類(lèi)型的實(shí)現(xiàn),可以查閱源碼后根據(jù)情況選擇,這里僅提供我自己使用的一種方式:

關(guān)于Source、Sink

污點(diǎn)分析中的source點(diǎn)表示污點(diǎn)分析的起始點(diǎn),而sink點(diǎn)表示污點(diǎn)分析的結(jié)束點(diǎn)。換言之,F(xiàn)lowDroid在“掃描”這個(gè)apk后,會(huì)從source點(diǎn)開(kāi)始分析數(shù)據(jù)流,當(dāng)數(shù)據(jù)流“流到”sink點(diǎn)時(shí)將其標(biāo)注。FlowDroid中的source與sink均為類(lèi)方法,在soot-infoflow-android下有提供一份SourcesAndSinks.txt的文件,是FlowDroid當(dāng)時(shí)使用的一些可能涉及到訪問(wèn)隱私數(shù)據(jù)的api,從里面很容易看出聲明文件的格式:

每一行作為獨(dú)立的聲明,%開(kāi)頭的表示注釋?zhuān)梢愿鶕?jù)應(yīng)用需求自行添加刪減Source與Sink的聲明。

使用場(chǎng)景

Flowdroid本身輸出結(jié)果只是數(shù)據(jù)流信息,需要結(jié)合我們定制source、sink信息產(chǎn)生業(yè)務(wù)價(jià)值,一般有以下使用場(chǎng)景:

l 隱私數(shù)據(jù)泄露檢測(cè)

l 污點(diǎn)傳播類(lèi)問(wèn)題檢測(cè)

l Android組件間數(shù)據(jù)傳遞風(fēng)險(xiǎn)檢測(cè)

審核編輯:湯梓紅

聲明:本文內(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)投訴
  • 移動(dòng)應(yīng)用

    關(guān)注

    0

    文章

    67

    瀏覽量

    15967
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    3002

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    線纜組件設(shè)計(jì)關(guān)鍵:從Ease Electronics產(chǎn)品看工程應(yīng)用要點(diǎn)

    在現(xiàn)代工業(yè)設(shè)備、自動(dòng)化生產(chǎn)系統(tǒng)以及通信和監(jiān)控應(yīng)用中,電纜組件和線束作為關(guān)鍵的基礎(chǔ)連接件,其性能與可靠性直接影響整個(gè)系統(tǒng)的穩(wěn)定性與長(zhǎng)期運(yùn)行安全。作為一家具備多年連接器與電纜組件設(shè)計(jì)制造經(jīng)驗(yàn)的品牌,Ease Electronics
    的頭像 發(fā)表于 03-06 17:13 ?1085次閱讀

    示波器無(wú)源探頭附件包:組件清單與專(zhuān)業(yè)使用指南

    無(wú)源探頭是電子測(cè)量中最常用的測(cè)試工具,而它的附件包,就是保障測(cè)量精度、拓展應(yīng)用場(chǎng)景的關(guān)鍵配套。不同品牌(如普科科技 / PRBTEK、泰克、是德科技等)的無(wú)源探頭附件包組件略有差異,但核心
    的頭像 發(fā)表于 02-24 09:54 ?169次閱讀
    示波器無(wú)源探頭附件包:<b class='flag-5'>組件</b>清單與專(zhuān)業(yè)使用指南

    移動(dòng)電源的工作原理與組成

    安全可靠等特點(diǎn),成為家庭和戶(hù)外場(chǎng)景的常用裝備。移動(dòng)電源通常具備過(guò)充、過(guò)放、短路等多重保護(hù)功能,能適配手機(jī)、智能手表、藍(lán)牙音箱等多種設(shè)備,而不同容量的產(chǎn)品,續(xù)航能力也各不相同。 ? ? ? ?要實(shí)現(xiàn)穩(wěn)定的充放電和全面的電路保
    的頭像 發(fā)表于 01-21 12:01 ?394次閱讀
    <b class='flag-5'>移動(dòng)</b>電源的工作原理與組成

    Amphenol柔性印刷電路組件:設(shè)計(jì)新選擇

    了解一下。 文件下載: Amphenol FCI BergStak? FPC跳線.pdf 一、Amphenol FPC組件簡(jiǎn)介 Amphenol的BergStak?、MezzoStak?、Conan
    的頭像 發(fā)表于 12-12 10:10 ?529次閱讀

    碎片化網(wǎng)絡(luò)安全監(jiān)管正增加移動(dòng)運(yùn)營(yíng)商成本與風(fēng)險(xiǎn)

    GSMA今日發(fā)布重大獨(dú)立研究報(bào)告《網(wǎng)絡(luò)安全監(jiān)管對(duì)移動(dòng)運(yùn)營(yíng)商的影響》,顯示移動(dòng)運(yùn)營(yíng)商每年在核心網(wǎng)絡(luò)安全活動(dòng)上的支出已達(dá)150至190億美元,預(yù)計(jì)到2030年這一數(shù)字將升至400至420億
    的頭像 發(fā)表于 12-05 15:49 ?670次閱讀

    便攜式EL檢測(cè)儀:光伏組件的“移動(dòng)探傷師”

    便攜式EL檢測(cè)儀:光伏組件的“移動(dòng)探傷師”柏峰【BF-EL】光伏組件的“健康隱患”往往藏于表面之下——隱裂的硅片、虛焊的焊帶、失效的電池片,這些肉眼難辨的缺陷會(huì)悄悄加速組件衰減,直接影
    的頭像 發(fā)表于 11-24 17:18 ?718次閱讀
    便攜式EL檢測(cè)儀:光伏<b class='flag-5'>組件</b>的“<b class='flag-5'>移動(dòng)</b>探傷師”

    移動(dòng)電源FCC認(rèn)證辦理

    移動(dòng)電源(PowerBank)辦理FCC認(rèn)證是出口美國(guó)市場(chǎng)前的必要步驟之一。下面為你詳細(xì)介紹FCC認(rèn)證的類(lèi)型、流程、資料、周期和費(fèi)用:一、FCC認(rèn)證簡(jiǎn)介FCC
    的頭像 發(fā)表于 10-29 16:45 ?1637次閱讀
    <b class='flag-5'>移動(dòng)</b>電源FCC認(rèn)證辦理

    便攜式EL檢測(cè)儀:光伏組件缺陷檢測(cè)的移動(dòng)“透視眼”

    便攜式EL檢測(cè)儀:光伏組件缺陷檢測(cè)的移動(dòng)“透視眼”柏峰【BF-EL】在光伏電站運(yùn)維與組件質(zhì)量管控中,組件內(nèi)部缺陷(如隱裂、斷柵、虛焊、黑心片等)是影響發(fā)電效率與使用壽命的關(guān)鍵隱患。
    的頭像 發(fā)表于 10-15 10:20 ?781次閱讀
    便攜式EL檢測(cè)儀:光伏<b class='flag-5'>組件</b>缺陷檢測(cè)的<b class='flag-5'>移動(dòng)</b>“透視眼”

    移動(dòng)電源 PCBA 開(kāi)發(fā)方案全解析

    移動(dòng)設(shè)備普及的當(dāng)下,移動(dòng)電源已成為人們?nèi)粘I詈凸ぷ髦胁豢苫蛉钡呐浼?。?b class='flag-5'>移動(dòng)電源的性能與可靠性,很大程度上取決于其內(nèi)部的 PCBA(印刷電路板組件)。本文將全面解析
    的頭像 發(fā)表于 07-28 11:02 ?884次閱讀

    TP4337芯片重新定義移動(dòng)電源安全范式

    2025年夏季的消費(fèi)電子行業(yè)危機(jī),將電芯材料隱患與供應(yīng)鏈透明度問(wèn)題暴露于聚光燈下。這場(chǎng)風(fēng)波揭示了一個(gè)核心命題:移動(dòng)電源的安全防護(hù)必須從芯片層級(jí)構(gòu)建基礎(chǔ)防線。天源中芯的TP4337單芯片解決方案為移動(dòng)電源提供了
    的頭像 發(fā)表于 07-26 14:22 ?843次閱讀
    TP4337芯片重新定義<b class='flag-5'>移動(dòng)</b>電源<b class='flag-5'>安全</b>范式

    貝爾金移動(dòng)電源全線通過(guò)中國(guó) CCC 認(rèn)證,產(chǎn)品安全與服務(wù)雙重升級(jí)

    上海?2025年7月16日?/美通社/ -- 近日,隨著部分品牌移動(dòng)電源產(chǎn)品因電芯問(wèn)題在全球范圍內(nèi)發(fā)起召回,消費(fèi)者對(duì)充電產(chǎn)品安全性的關(guān)注持續(xù)升溫。貝爾金 貝爾金再次強(qiáng)調(diào)其對(duì)產(chǎn)品安全與質(zhì)量一貫的高標(biāo)準(zhǔn)
    的頭像 發(fā)表于 07-17 10:22 ?1107次閱讀
    貝爾金<b class='flag-5'>移動(dòng)</b>電源全線通過(guò)中國(guó) CCC 認(rèn)證,產(chǎn)品<b class='flag-5'>安全</b>與服務(wù)雙重升級(jí)

    如何監(jiān)聽(tīng)組件再次顯示的事件?

    ? ##HarmonyOS 應(yīng)用開(kāi)發(fā)## 我們知道,對(duì)于組件的生命周期,有aboutToAppear和aboutToDisAppear,即監(jiān)聽(tīng)這個(gè)組件被掛載和卸載的事件,和被@Entry修飾的頁(yè)面
    發(fā)表于 06-30 18:02

    如何實(shí)現(xiàn)組件截圖 -- componentSnapshot

    等,文字和圖片都是根據(jù)用戶(hù)信息動(dòng)態(tài)生成的,整個(gè)證書(shū)在顯示的時(shí)候是通過(guò)Stack組件去完成的,如果只是在程序里顯示那么當(dāng)然很簡(jiǎn)單,但是還需要將其作為一張圖片保存到相冊(cè)里。 按照我以前的做法,就是直接
    發(fā)表于 06-30 17:45

    淺談OCP SAFE服務(wù)器組件安全注意事項(xiàng)

    保護(hù)超大規(guī)模數(shù)據(jù)中心組件(包括 CPU、存儲(chǔ)控制器和硬件安全模塊)免受網(wǎng)絡(luò)威脅對(duì)于維護(hù)超大規(guī)模數(shù)據(jù)中心的安全至關(guān)重要,以防范可能危及整個(gè)網(wǎng)絡(luò)的漏洞?,F(xiàn)代供應(yīng)鏈涉及多家供應(yīng)商和復(fù)雜的集成點(diǎn),在
    的頭像 發(fā)表于 06-23 10:16 ?988次閱讀

    KaihongOS操作系統(tǒng):Button按鈕組件介紹

    Button 按鈕組件,可快速創(chuàng)建不同樣式的按鈕。 常用接口 Button Button(options: ButtonOptions) 創(chuàng)建可以包含單個(gè)子組件的按鈕。 參數(shù): 參數(shù)名類(lèi)型必填
    發(fā)表于 04-25 07:09