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)不再提示

二進(jìn)制SCA指紋提取黑科技:go語(yǔ)言逆向技術(shù)

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

掃碼添加小助手

加入工程師交流群

什么是二進(jìn)制SCA檢測(cè)

SCA(Software Composition Analysis)軟件成分分析,指通過(guò)對(duì)軟件源碼、二進(jìn)制軟件包等的靜態(tài)分析,挖掘其所存在的開(kāi)源合規(guī)、已知漏洞等安全合規(guī)風(fēng)險(xiǎn),是一種業(yè)界常見(jiàn)的安全測(cè)試手段。

二進(jìn)制SCA檢測(cè)技術(shù),檢測(cè)對(duì)象為二進(jìn)制軟件包/固件,直接從二進(jìn)制文件中提取常量字符串、部分類(lèi)名稱(chēng)、函數(shù)名稱(chēng)等特征信息,再運(yùn)用匹配算法進(jìn)行相似度計(jì)算,根據(jù)相似度門(mén)限來(lái)檢測(cè)出引用的開(kāi)源軟件名稱(chēng)和版本號(hào)。

poYBAGNGp7GAAidMAABpNaV0YdI389.png

二進(jìn)制SCA檢測(cè)對(duì)比源碼SCA檢測(cè)的優(yōu)勢(shì)

無(wú)需依賴(lài)源碼,操作方便

用戶(hù)只需上傳二進(jìn)制軟件包/固件,服務(wù)會(huì)采用靜態(tài)檢測(cè)技術(shù),不用構(gòu)建運(yùn)行環(huán)境,不用運(yùn)行程序即可快速分析二進(jìn)制軟件包/固件中存在的安全風(fēng)險(xiǎn)問(wèn)題,并輸出一份專(zhuān)業(yè)的分析報(bào)告

poYBAGNGp7eAbEXPAABfGopaCeI930.png

圖:二進(jìn)制成分分析-檢測(cè)處理流程

二進(jìn)制SCA指紋提取黑科技:go語(yǔ)言逆向技術(shù)之---恢復(fù)函數(shù)名稱(chēng)算法

在對(duì)程序做安全審計(jì)、漏洞檢測(cè)時(shí),通常都需要對(duì)程序做逆向分析,我們?cè)跊](méi)有符號(hào)表的情況下,提出了一種恢復(fù)函數(shù)名稱(chēng)的算法,方便對(duì)go語(yǔ)言二進(jìn)制文件進(jìn)行逆向分析,提升分析效率。

go語(yǔ)言是最近幾年發(fā)展非常火的一種語(yǔ)言,它具備和C/C++一樣的運(yùn)行速度快的優(yōu)點(diǎn),同時(shí)又具備開(kāi)發(fā)效率高,支持包管理機(jī)制高階語(yǔ)言特點(diǎn)。其編譯出來(lái)的二進(jìn)制文件格式和C/C++一樣運(yùn)行在Linux平臺(tái)下是elf格式,運(yùn)行在windows平臺(tái)下是pe格式,但同時(shí)在二進(jìn)制文件的內(nèi)部細(xì)節(jié)上go語(yǔ)言有自己特有的屬性,二進(jìn)制逆向人員可以利用go語(yǔ)言這些特有屬性來(lái)實(shí)現(xiàn)對(duì)二進(jìn)制文件進(jìn)行更精準(zhǔn)的逆向分析。

特性1:利用go語(yǔ)言中特有的節(jié)信息來(lái)判斷elf/pe文件的源代碼語(yǔ)言類(lèi)型,是go語(yǔ)言還是C、c++語(yǔ)言

通過(guò)判斷二進(jìn)制文件中是否存在“.noptrdata”、“.gopclntab”、“.data.rel.ro.gopclntab”確定源代碼,如果存在上述節(jié)名稱(chēng),則源代碼為go語(yǔ)言。

pYYBAGNGp72ABkAxAAH9AIyrFyc565.png

特性2:在沒(méi)有符號(hào)表的情況下如何恢復(fù)函數(shù)名稱(chēng)

我們知道在C/C++編譯出來(lái)的二進(jìn)制文件中,如果沒(méi)有符號(hào)表信息是沒(méi)法看到函數(shù)名稱(chēng)的,在IDA工具中只能看到地址信息。

poYBAGNGp8KAQpo2AABb2CrtXZU135.png

go語(yǔ)言怎么來(lái)恢復(fù)函數(shù)名稱(chēng)呢,可以通過(guò)從.data.rel.ro節(jié)來(lái)恢復(fù)函數(shù)名,具體查找定位算法如下:

poYBAGNGp8iAcxcGAAAjqgNE0-Y597.png

方法1:

解析頭信息可以獲取magic, quantum, ptr_size, func_tab_count數(shù)據(jù),當(dāng)magic為’xfbxffxffxff’時(shí),entry_size = 2 * ptr_size為entry結(jié)構(gòu)體大小,func_tab_count 為entry結(jié)構(gòu)體數(shù)量;解析entry結(jié)構(gòu)獲取到名稱(chēng)信息結(jié)構(gòu)數(shù)據(jù)位置偏移(需要注意64位和32位go程序 func_info_offset位置相反),讀取名稱(chēng)信息結(jié)構(gòu)體數(shù)據(jù),再?gòu)闹蝎@取到名稱(chēng)字符串位置偏移(name_offset),根據(jù)此偏移定位到函數(shù)名稱(chēng)字符串起始位置偏移,從該位置解析得到函數(shù)名稱(chēng)。

方法2:

另外1.16版本go語(yǔ)言結(jié)構(gòu)有些新變化,magic變?yōu)椤痻faxffxffxff’,解析頭信息獲取func_tab_cnt, file_cnt, func_name_off, cu_off, filetab_off, pctab_off, func_tab_off數(shù)據(jù),其中func_tab_off為entry數(shù)據(jù)起始位置,解析entry結(jié)構(gòu)獲取code_off, func_info_offset數(shù)據(jù),后續(xù)解析過(guò)程與magic=’xfbxffxffxff’一致。

通過(guò)上述兩個(gè)方法可以恢復(fù)函數(shù)真實(shí)名稱(chēng),從而方便對(duì)go語(yǔ)言二進(jìn)制文件的逆向分析,提升分析效率。

總結(jié)

華為云DevCloud一直致力于為客戶(hù)提供端到端提效、全鏈路安全的研發(fā)環(huán)境,除無(wú)需依賴(lài)源碼的二進(jìn)制成分分析外,即將陸續(xù)發(fā)布更多的新技術(shù)、新能力,敬請(qǐng)期待。

審核編輯:湯梓紅

聲明:本文內(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)投訴
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    809

    瀏覽量

    42818
  • 華為云
    +關(guān)注

    關(guān)注

    3

    文章

    2805

    瀏覽量

    19110
  • go語(yǔ)言
    +關(guān)注

    關(guān)注

    1

    文章

    159

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    二進(jìn)制查找(Binary Search)介紹

    二進(jìn)制查找(Binary Search)用于在已排序的數(shù)組中執(zhí)行二進(jìn)制查找的函數(shù)。 int binary_search(int arr[], int size, int target
    發(fā)表于 12-12 06:54

    如何將圖像文件轉(zhuǎn)換為二進(jìn)制文件?

    如何將圖像文件轉(zhuǎn)換為二進(jìn)制文件
    發(fā)表于 09-05 08:28

    二進(jìn)制數(shù)據(jù)處理方法分享

    時(shí),我們?nèi)绾稳ソ馕鰯?shù)據(jù)并且應(yīng)用它們。本次的技術(shù)分享文章,我們就從如何傳輸數(shù)據(jù)和解析二進(jìn)制數(shù)據(jù)來(lái)一步一步剝絲抽繭,搞清楚他的運(yùn)作原理和二進(jìn)制數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。
    的頭像 發(fā)表于 07-30 15:41 ?2184次閱讀
    <b class='flag-5'>二進(jìn)制</b>數(shù)據(jù)處理方法分享

    用PaddleNLP為GPT-2模型制作FineWeb二進(jìn)制預(yù)訓(xùn)練數(shù)據(jù)集

    ,使用PaddleNLP將FineWeb數(shù)據(jù)集中文本形式的數(shù)據(jù),經(jīng)過(guò)分詞化(Tokenize),轉(zhuǎn)換為大語(yǔ)言模型能直接使用的二進(jìn)制數(shù)據(jù),以便提升訓(xùn)練效果。 ChatGPT發(fā)布后,當(dāng)代大語(yǔ)言模型(LLM)的訓(xùn)練流程基本遵循Open
    的頭像 發(fā)表于 03-21 18:24 ?3895次閱讀
    用PaddleNLP為GPT-2模型制作FineWeb<b class='flag-5'>二進(jìn)制</b>預(yù)訓(xùn)練數(shù)據(jù)集

    如何使用Keil將二進(jìn)制文件加載到外部SPI Flash中?

    我想知道是否有辦法使用 Keil 將隨機(jī)二進(jìn)制文件加載到外部 SPI 閃存中。二進(jìn)制文件將通過(guò) LPC54102(OM13077 EVK 板)。我知道一些用于 FPGA 的 ISE 允許您執(zhí)行此作
    發(fā)表于 03-17 06:37

    無(wú)法使用密度化參數(shù)構(gòu)建OpenVINO?二進(jìn)制,怎么處理?

    無(wú)法使用密度化參數(shù)構(gòu)建OpenVINO?二進(jìn)制
    發(fā)表于 03-06 06:51

    74LV4060-Q100二進(jìn)制紋波計(jì)數(shù)器規(guī)格書(shū)

    電子發(fā)燒友網(wǎng)站提供《74LV4060-Q100二進(jìn)制紋波計(jì)數(shù)器規(guī)格書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 02-10 14:19 ?0次下載
    74LV4060-Q100<b class='flag-5'>二進(jìn)制</b>紋波計(jì)數(shù)器規(guī)格書(shū)

    74LV4060二進(jìn)制紋波計(jì)數(shù)器規(guī)格書(shū)

    電子發(fā)燒友網(wǎng)站提供《74LV4060二進(jìn)制紋波計(jì)數(shù)器規(guī)格書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 02-10 14:14 ?0次下載
    74LV4060<b class='flag-5'>二進(jìn)制</b>紋波計(jì)數(shù)器規(guī)格書(shū)

    74HC4520;74HCT4520同步二進(jìn)制計(jì)數(shù)器規(guī)格書(shū)

    電子發(fā)燒友網(wǎng)站提供《74HC4520;74HCT4520同步二進(jìn)制計(jì)數(shù)器規(guī)格書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 02-09 11:42 ?0次下載
    74HC4520;74HCT4520同步<b class='flag-5'>二進(jìn)制</b>計(jì)數(shù)器規(guī)格書(shū)

    74LV393雙路4位二進(jìn)制紋波計(jì)數(shù)器規(guī)格書(shū)

    電子發(fā)燒友網(wǎng)站提供《74LV393雙路4位二進(jìn)制紋波計(jì)數(shù)器規(guī)格書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 02-08 15:55 ?0次下載
    74LV393雙路4位<b class='flag-5'>二進(jìn)制</b>紋波計(jì)數(shù)器規(guī)格書(shū)

    74HC193;74HC7193二進(jìn)制加減計(jì)數(shù)器規(guī)格書(shū)

    電子發(fā)燒友網(wǎng)站提供《74HC193;74HC7193二進(jìn)制加減計(jì)數(shù)器規(guī)格書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 02-07 16:28 ?0次下載
    74HC193;74HC7193<b class='flag-5'>二進(jìn)制</b>加減計(jì)數(shù)器規(guī)格書(shū)

    74HC191可預(yù)置同步4位二進(jìn)制加減計(jì)數(shù)器規(guī)格書(shū)

    電子發(fā)燒友網(wǎng)站提供《74HC191可預(yù)置同步4位二進(jìn)制加減計(jì)數(shù)器規(guī)格書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 02-07 15:57 ?1次下載
    74HC191可預(yù)置同步4位<b class='flag-5'>二進(jìn)制</b>加減計(jì)數(shù)器規(guī)格書(shū)

    偏移二進(jìn)制二進(jìn)制補(bǔ)碼如何和實(shí)際數(shù)據(jù)對(duì)應(yīng),如何轉(zhuǎn)換?

    偏移二進(jìn)制二進(jìn)制補(bǔ)碼如何和實(shí)際數(shù)據(jù)對(duì)應(yīng),如何轉(zhuǎn)換,請(qǐng)哪位高手解惑
    發(fā)表于 01-16 06:01

    TLC2543的輸出結(jié)果應(yīng)為帶符號(hào)二進(jìn)制格式的數(shù)據(jù),現(xiàn)在輸出的結(jié)果為不帶符號(hào)的二進(jìn)制數(shù),這是因?yàn)槭裁丛颍?/a>

    DSP采用模擬SPI總線的方式和TLC2543進(jìn)行通信,采用AIN0,AIN1,AIN2,TLC2543的輸出數(shù)據(jù)格式為16位,高位在前,帶符號(hào)二進(jìn)制數(shù)。用萬(wàn)用表測(cè)的AIN0,AIN1,AIN2
    發(fā)表于 12-27 07:46

    bcd編碼的應(yīng)用 bcd與二進(jìn)制的區(qū)別

    BCD(Binary-Coded Decimal)編碼是一種二進(jìn)制編碼形式,用于表示十進(jìn)制數(shù)字。它將每個(gè)十進(jìn)制數(shù)字(0-9)直接編碼為一個(gè)四位二進(jìn)制數(shù)。BCD編碼的主要優(yōu)點(diǎn)是易于閱讀和
    的頭像 發(fā)表于 12-20 17:11 ?4480次閱讀