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

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ù)

IT科技蘇辭 ? 來(lái)源:IT科技蘇辭 ? 作者:IT科技蘇辭 ? 2022-10-13 22:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

華為云DevCloud軟件開(kāi)發(fā)平臺(tái)在2022華為伙伴暨開(kāi)發(fā)者大會(huì)重磅推出了4大新能力,其中的二進(jìn)制成分分析安全檢測(cè)能力,能夠?qū)崿F(xiàn)對(duì)開(kāi)源軟件漏洞的全面排查、快速精準(zhǔn)定位問(wèn)題、并迅速響應(yīng)修復(fù);本文將對(duì)什么是二進(jìn)制SCA檢測(cè)服務(wù)以及該服務(wù)的優(yōu)勢(shì)進(jìn)行解讀。

什么是二進(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è)服務(wù),源碼SCA檢測(cè)服務(wù)后續(xù)正式發(fā)布)。

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

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

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

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

poYBAGNIHqaAXlLnAAD_pOIaJ3E452.png

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

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

在對(duì)程序做安全審計(jì)、漏洞檢測(cè)時(shí),通常都需要對(duì)程序做逆向分析,我們?cè)跊](méi)有符號(hào)表的情況下,提出了一種恢復(fù)函數(shù)名稱的算法,方便對(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ǔ)言類型,是go語(yǔ)言還是C、c++語(yǔ)言。

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

poYBAGNIHqaAIagFAAJbL3-JMcI632.png

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

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

pYYBAGNIHqaADP1_AAHNY017fkQ727.png

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

poYBAGNIHqaARTzDAABmQbGPRGw432.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)獲取到名稱信息結(jié)構(gòu)數(shù)據(jù)位置偏移(需要注意64位和32位Go程序 func_info_offset位置相反),讀取名稱信息結(jié)構(gòu)體數(shù)據(jù),再?gòu)闹蝎@取到名稱字符串位置偏移(name_offset),根據(jù)此偏移定位到函數(shù)名稱字符串起始位置偏移,從該位置解析得到函數(shù)名稱。

方法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í)名稱,從而方便對(duì)Go語(yǔ)言二進(jìn)制文件的逆向分析,提升分析效率。

DevCloud軟件開(kāi)發(fā)平臺(tái)基于二進(jìn)制成分分析技術(shù),可以為開(kāi)發(fā)者提供以下能力支持:

支持多種類型安裝包:支持windows、linux、IoT固件包、安卓部署包等常見(jiàn)軟件包的安全檢測(cè)。

檢測(cè)全面:支持針對(duì)開(kāi)源軟件的許可證、漏洞、信息泄露、安全配置等3大項(xiàng)、25小類的安全問(wèn)題檢測(cè)。

開(kāi)源軟件覆蓋全面:覆蓋100+漏洞源、百萬(wàn)級(jí)開(kāi)源組件版本,開(kāi)源問(wèn)題全覆蓋。

保障迅速:小時(shí)級(jí)漏洞更新,提升漏洞發(fā)現(xiàn)速度,降低安全風(fēng)險(xiǎn)。

審核編輯 黃昊宇

聲明:本文內(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

    文章

    808

    瀏覽量

    42731
  • SCA
    SCA
    +關(guān)注

    關(guān)注

    1

    文章

    37

    瀏覽量

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

    關(guān)注

    1

    文章

    159

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    二進(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 ?1956次閱讀
    <b class='flag-5'>二進(jìn)制</b>數(shù)據(jù)處理方法分享

    偏移二進(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

    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 ?3988次閱讀

    hex格式和二進(jìn)制的區(qū)別

    HEX格式和二進(jìn)制在多個(gè)方面存在顯著的區(qū)別。以下是對(duì)這兩者的對(duì)比: 一、定義與表示方式 HEX格式 : HEX,全稱為Intel HEX,是一種用于存儲(chǔ)和傳輸數(shù)據(jù)到嵌入式系統(tǒng)(如單片機(jī))的文件格式
    的頭像 發(fā)表于 11-18 15:24 ?2292次閱讀

    在線二進(jìn)制編碼器:數(shù)據(jù)轉(zhuǎn)換的快捷通道

    在數(shù)字時(shí)代,數(shù)據(jù)的快速轉(zhuǎn)換與處理至關(guān)重要。二進(jìn)制編碼,作為計(jì)算機(jī)內(nèi)部數(shù)據(jù)表示的基礎(chǔ),將信息轉(zhuǎn)化為0和1的序列,為數(shù)字世界構(gòu)建了溝通的橋梁。然而,對(duì)于非專業(yè)用戶來(lái)說(shuō),手動(dòng)進(jìn)行二進(jìn)制編碼既繁瑣又易出錯(cuò)
    的頭像 發(fā)表于 11-15 09:01 ?2440次閱讀

    base64字符串轉(zhuǎn)換為二進(jìn)制文件

    一些編程知識(shí)。以下是將Base64字符串轉(zhuǎn)換為二進(jìn)制文件的一般步驟,以及一個(gè)簡(jiǎn)單的Python示例代碼。 步驟: 獲取Base64字符串 :首先,你需要有一個(gè)Base64編碼的字符串。 解碼Base64字符串 :使用編程語(yǔ)言提供的庫(kù)函數(shù)將Base64字符串解碼為
    的頭像 發(fā)表于 11-10 10:55 ?3436次閱讀

    ASCII碼和二進(jìn)制的轉(zhuǎn)換關(guān)系

    。ASCII碼使用7位二進(jìn)制數(shù)來(lái)表示128個(gè)不同的字符,包括大小寫(xiě)英文字母、數(shù)字0-9以及一些控制字符和標(biāo)點(diǎn)符號(hào)。后來(lái),ASCII碼被擴(kuò)展到了8位,即ASCII-8BIT,可以表示256個(gè)不同的字符。 二進(jìn)制
    的頭像 發(fā)表于 11-10 09:50 ?5048次閱讀

    二進(jìn)制編碼器的精度與分辨率

    在數(shù)字電子系統(tǒng)中,二進(jìn)制編碼器扮演著至關(guān)重要的角色。它負(fù)責(zé)將外部世界的模擬信號(hào)轉(zhuǎn)換為計(jì)算機(jī)可以理解的數(shù)字信號(hào)。精度和分辨率是衡量二進(jìn)制編碼器性能的兩個(gè)關(guān)鍵指標(biāo)。 1. 二進(jìn)制編碼器的基本原理
    的頭像 發(fā)表于 11-06 09:56 ?1544次閱讀

    二進(jìn)制編碼器與絕對(duì)編碼器的區(qū)別

    編碼器是工業(yè)自動(dòng)化和機(jī)器人技術(shù)中不可或缺的組件,用于將機(jī)械位置或運(yùn)動(dòng)轉(zhuǎn)換為電信號(hào)。二進(jìn)制編碼器和絕對(duì)編碼器是兩種常見(jiàn)的編碼器類型,它們各自有著獨(dú)特的特點(diǎn)和應(yīng)用場(chǎng)景。 二進(jìn)制編碼器 二進(jìn)制
    的頭像 發(fā)表于 11-06 09:54 ?1679次閱讀

    二進(jìn)制編碼器在自動(dòng)化領(lǐng)域的作用

    二進(jìn)制編碼器是一種將二進(jìn)制信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)的電子設(shè)備,廣泛應(yīng)用于自動(dòng)化領(lǐng)域。 一、二進(jìn)制編碼器的工作原理 二進(jìn)制編碼器是一種將二進(jìn)制信號(hào)轉(zhuǎn)
    的頭像 發(fā)表于 11-06 09:53 ?1231次閱讀

    二進(jìn)制編碼器的故障排除指南

    二進(jìn)制編碼器是一種將二進(jìn)制信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)的電子設(shè)備,廣泛應(yīng)用于計(jì)算機(jī)、通信和自動(dòng)化控制系統(tǒng)中。當(dāng)二進(jìn)制編碼器出現(xiàn)問(wèn)題時(shí),有效的故障排除是確保系統(tǒng)正常運(yùn)行的關(guān)鍵。 1. 初步檢查 1.1 檢查電源
    的頭像 發(fā)表于 11-06 09:49 ?1389次閱讀

    二進(jìn)制編碼器在機(jī)器人中的應(yīng)用

    隨著科技的不斷進(jìn)步,機(jī)器人技術(shù)已經(jīng)成為現(xiàn)代工業(yè)、服務(wù)業(yè)乃至家庭生活中不可或缺的一部分。機(jī)器人的智能化程度不斷提高,這在很大程度上依賴于其傳感器系統(tǒng)。二進(jìn)制編碼器作為一種傳感器,能夠?qū)⑽锢砹哭D(zhuǎn)換
    的頭像 發(fā)表于 11-06 09:48 ?1461次閱讀

    二進(jìn)制編碼器的種類及特點(diǎn)

    二進(jìn)制編碼器是一種電子電路,用于將二進(jìn)制信號(hào)轉(zhuǎn)換為其他格式,如十進(jìn)制、格雷碼等。以下是一些常見(jiàn)的二進(jìn)制編碼器種類及其特點(diǎn): 優(yōu)先編碼器(Priority Encoder) : 特點(diǎn) :
    的頭像 發(fā)表于 11-06 09:47 ?1866次閱讀

    二進(jìn)制編碼器應(yīng)用場(chǎng)景 二進(jìn)制編碼器與模擬編碼器比較

    編碼器是將信息從一種形式或格式轉(zhuǎn)換為另一種形式的設(shè)備。在數(shù)字和模擬系統(tǒng)中,編碼器扮演著至關(guān)重要的角色。二進(jìn)制編碼器和模擬編碼器是兩種常見(jiàn)的編碼器類型,它們?cè)诓煌膽?yīng)用場(chǎng)景中有著各自的優(yōu)勢(shì)和局
    的頭像 發(fā)表于 11-06 09:45 ?1602次閱讀

    二進(jìn)制編碼器工作原理 如何選擇二進(jìn)制編碼器

    二進(jìn)制編碼器是一種數(shù)字電路,它將輸入的二進(jìn)制代碼轉(zhuǎn)換為對(duì)應(yīng)的輸出信號(hào)。在數(shù)字系統(tǒng)中,編碼器用于將數(shù)據(jù)從一種形式轉(zhuǎn)換為另一種形式,以便于處理和傳輸。 二進(jìn)制編碼器工作原理 輸入與輸出關(guān)系 :
    的頭像 發(fā)表于 11-06 09:44 ?2986次閱讀