在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

二進制SCA指紋提取黑科技: go語言逆向技術

IT科技蘇辭 ? 來源:IT科技蘇辭 ? 作者:IT科技蘇辭 ? 2022-10-13 22:20 ? 次閱讀

二進制SCA指紋提取黑科技: go語言逆向技術

華為云DevCloud軟件開發平臺在2022華為伙伴暨開發者大會重磅推出了4大新能力,其中的二進制成分分析安全檢測能力,能夠實現對開源軟件漏洞的全面排查、快速精準定位問題、并迅速響應修復;本文將對什么是二進制SCA檢測服務以及該服務的優勢進行解讀。

什么是二進制SCA檢測

SCA(Software Composition Analysis)軟件成分分析,指通過對軟件源碼、二進制軟件包等的靜態分析,挖掘其所存在的開源合規、已知漏洞等安全合規風險,是一種業界常見的安全測試手段(目前華為云提供二進制SCA檢測服務,源碼SCA檢測服務后續正式發布)。

二進制SCA檢測服務,檢測對象為二進制軟件包/固件,直接從二進制文件中提取常量字符串、部分類名稱、函數名稱等特征信息,再運用匹配算法進行相似度計算,根據相似度門限來檢測出引用的開源軟件名稱和版本號。

二進制SCA檢測對比源碼SCA檢測的優勢

無需依賴源碼,操作方便

用戶只需上傳二進制軟件包/固件,服務會采用靜態檢測技術,不用構建運行環境,不用運行程序即可快速分析二進制軟件包/固件中存在的安全風險問題,并輸出一份專業的分析報告。

poYBAGNIHqaAXlLnAAD_pOIaJ3E452.png

圖:二進制成分分析-檢測處理流程

二進制SCA指紋提取黑科技:Go語言逆向技術之---恢復函數名稱算法

在對程序做安全審計、漏洞檢測時,通常都需要對程序做逆向分析,我們在沒有符號表的情況下,提出了一種恢復函數名稱的算法,方便對Go語言二進制文件進行逆向分析,提升分析效率。

Go語言是最近幾年發展非常火的一種語言,它具備和C/C++一樣的運行速度快的優點,同時又具備開發效率高,支持包管理機制高階語言特點。其編譯出來的二進制文件格式和C/C++一樣運行在Linux平臺下是elf格式,運行在windows平臺下是pe格式,但同時在二進制文件的內部細節上Go語言有自己特有的屬性,二進制逆向人員可以利用Go語言這些特有屬性來實現對二進制文件進行更精準的逆向分析。

特性1:利用go語言中特有的節信息來判斷elf/pe文件的源代碼語言類型,是go語言還是C、c++語言。

通過判斷二進制文件中是否存在“.noptrdata”、“.gopclntab”、“.data.rel.ro.gopclntab”確定源代碼,如果存在上述節名稱,則源代碼為Go語言。

poYBAGNIHqaAIagFAAJbL3-JMcI632.png

特性2:在沒有符號表的情況下如何恢復函數名稱

我們知道在C/C++編譯出來的二進制文件中,如果沒有符號表信息是沒法看到函數名稱的,在IDA工具中只能看到地址信息。

pYYBAGNIHqaADP1_AAHNY017fkQ727.png

Go語言怎么來恢復函數名稱呢,可以通過從.data.rel.ro節來恢復函數名,具體查找定位算法如下:

poYBAGNIHqaARTzDAABmQbGPRGw432.png



方法1:解析頭信息可以獲取magic, quantum, ptr_size, func_tab_count數據,當magic為’xfbxffxffxff’時,entry_size = 2 * ptr_size為entry結構體大小,func_tab_count為entry結構體數量;解析entry結構獲取到名稱信息結構數據位置偏移(需要注意64位和32位Go程序 func_info_offset位置相反),讀取名稱信息結構體數據,再從中獲取到名稱字符串位置偏移(name_offset),根據此偏移定位到函數名稱字符串起始位置偏移,從該位置解析得到函數名稱。

方法2:另外1.16版本Go語言結構有些新變化,magic變為’xfaxffxffxff’,解析頭信息獲取func_tab_cnt, file_cnt, func_name_off, cu_off, filetab_off, pctab_off, func_tab_off數據,其中func_tab_off為entry數據起始位置,解析entry結構獲取code_off, func_info_offset數據,后續解析過程與magic=’xfbxffxffxff’一致。通過上述兩個方法可以恢復函數真實名稱,從而方便對Go語言二進制文件的逆向分析,提升分析效率。

DevCloud軟件開發平臺基于二進制成分分析技術,可以為開發者提供以下能力支持:

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

檢測全面:支持針對開源軟件的許可證、漏洞、信息泄露、安全配置等3大項、25小類的安全問題檢測。

開源軟件覆蓋全面:覆蓋100+漏洞源、百萬級開源組件版本,開源問題全覆蓋。

保障迅速:小時級漏洞更新,提升漏洞發現速度,降低安全風險。

審核編輯 黃昊宇

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

    關注

    2

    文章

    803

    瀏覽量

    42011
  • SCA
    SCA
    +關注

    關注

    1

    文章

    37

    瀏覽量

    12076
  • go語言
    +關注

    關注

    1

    文章

    158

    瀏覽量

    9220
收藏 人收藏

    評論

    相關推薦

    偏移二進制二進制補碼如何和實際數據對應,如何轉換?

    偏移二進制二進制補碼如何和實際數據對應,如何轉換,請哪位高手解惑
    發表于 01-16 06:01

    bcd編碼的應用 bcd與二進制的區別

    BCD(Binary-Coded Decimal)編碼是一種二進制編碼形式,用于表示十進制數字。它將每個十進制數字(0-9)直接編碼為一個四位二進制數。BCD編碼的主要優點是易于閱讀和
    的頭像 發表于 12-20 17:11 ?2332次閱讀

    hex格式和二進制的區別

    HEX格式和二進制在多個方面存在顯著的區別。以下是對這兩者的對比: 一、定義與表示方式 HEX格式 : HEX,全稱為Intel HEX,是一種用于存儲和傳輸數據到嵌入式系統(如單片機)的文件格式
    的頭像 發表于 11-18 15:24 ?1271次閱讀

    在線二進制編碼器:數據轉換的快捷通道

    在數字時代,數據的快速轉換與處理至關重要。二進制編碼,作為計算機內部數據表示的基礎,將信息轉化為0和1的序列,為數字世界構建了溝通的橋梁。然而,對于非專業用戶來說,手動進行二進制編碼既繁瑣又易出錯
    的頭像 發表于 11-15 09:01 ?1424次閱讀

    base64字符串轉換為二進制文件

    一些編程知識。以下是將Base64字符串轉換為二進制文件的一般步驟,以及一個簡單的Python示例代碼。 步驟: 獲取Base64字符串 :首先,你需要有一個Base64編碼的字符串。 解碼Base64字符串 :使用編程語言提供的庫函數將Base64字符串解碼為
    的頭像 發表于 11-10 10:55 ?2448次閱讀

    ASCII碼和二進制的轉換關系

    。ASCII碼使用7位二進制數來表示128個不同的字符,包括大小寫英文字母、數字0-9以及一些控制字符和標點符號。后來,ASCII碼被擴展到了8位,即ASCII-8BIT,可以表示256個不同的字符。 二進制
    的頭像 發表于 11-10 09:50 ?3085次閱讀

    二進制編碼器的精度與分辨率

    在數字電子系統中,二進制編碼器扮演著至關重要的角色。它負責將外部世界的模擬信號轉換為計算機可以理解的數字信號。精度和分辨率是衡量二進制編碼器性能的兩個關鍵指標。 1. 二進制編碼器的基本原理
    的頭像 發表于 11-06 09:56 ?885次閱讀

    二進制編碼器在自動化領域的作用

    二進制編碼器是一種將二進制信號轉換為數字信號的電子設備,廣泛應用于自動化領域。 一、二進制編碼器的工作原理 二進制編碼器是一種將二進制信號轉
    的頭像 發表于 11-06 09:53 ?714次閱讀

    二進制編碼器在機器人中的應用

    隨著科技的不斷進步,機器人技術已經成為現代工業、服務業乃至家庭生活中不可或缺的一部分。機器人的智能化程度不斷提高,這在很大程度上依賴于其傳感器系統。二進制編碼器作為一種傳感器,能夠將物理量轉換
    的頭像 發表于 11-06 09:48 ?790次閱讀

    二進制編碼器的種類及特點

    二進制編碼器是一種電子電路,用于將二進制信號轉換為其他格式,如十進制、格雷碼等。以下是一些常見的二進制編碼器種類及其特點: 優先編碼器(Priority Encoder) : 特點 :
    的頭像 發表于 11-06 09:47 ?1026次閱讀

    二進制編碼器應用場景 二進制編碼器與模擬編碼器比較

    編碼器是將信息從一種形式或格式轉換為另一種形式的設備。在數字和模擬系統中,編碼器扮演著至關重要的角色。二進制編碼器和模擬編碼器是兩種常見的編碼器類型,它們在不同的應用場景中有著各自的優勢和局
    的頭像 發表于 11-06 09:45 ?920次閱讀

    二進制編碼器工作原理 如何選擇二進制編碼器

    二進制編碼器是一種數字電路,它將輸入的二進制代碼轉換為對應的輸出信號。在數字系統中,編碼器用于將數據從一種形式轉換為另一種形式,以便于處理和傳輸。 二進制編碼器工作原理 輸入與輸出關系 :
    的頭像 發表于 11-06 09:44 ?1782次閱讀

    二進制補碼及與原碼的互相轉換方法

    大沙把一些基礎的知識說清楚,本文介紹二進制補碼及與原碼的轉換方法。 先說原碼,原碼?是一種計算機中對數字的二進制定點表示方法。在原碼表示法中,數值前面增加了一位符號位,最高位為符號位,0表示正數,1
    的頭像 發表于 09-19 22:25 ?1012次閱讀

    二進制處理中的一些技巧

    二進制和十進制的處理中,有時候一些小技巧是很有用的。 1、把十進制數轉換成二進制數 (1)在MATLAB中有一個函數dec2bin,可以把正整數轉換為2
    的頭像 發表于 07-05 11:51 ?768次閱讀

    二進制串行計數器工作原理是什么?

    在數字電路設計中,計數器是一種非常關鍵的組件,用于測量時間、計數事件或跟蹤狀態變化等。其中,二進制串行計數器作為一種常用的計數器類型,在多種應用場景中都發揮著重要作用。本文將對二進制串行計數器
    的頭像 發表于 05-28 15:52 ?1187次閱讀
    主站蜘蛛池模板: 在线免费看一级片 | 涩999| 国产三级在线观看免费 | 91黄视频在线观看 | 三级四级特黄在线观看 | 欧美黑人黄色片 | 日本三级最新中文字幕电影 | 欧美区亚洲区 | 亚洲精品午夜久久aaa级久久久 | 四虎影库网址 | 奇米色婷婷| xxxx日本黄色| 色网站免费 | 色在线视频网站 | 一区二区视频网 | 国产色司机在线视频免费观看 | 久久美女精品国产精品亚洲 | 色偷偷97 | 激情文学亚洲色图 | 日日噜噜噜夜夜爽爽狠狠图片 | 美女被免费网站在线视频九色 | 噜噜噜噜私人影院 | 婷婷激情在线 | 多男一女一级淫片免费播放口 | 久久精品国产99精品最新 | 午夜影院色 | 日本经典在线三级视频 | 久久精品久 | 性色在线视频精品 | 国产美女精品在线 | 色综合天天综合网国产成人网 | 四虎永久免费地址在线网站 | 综合色中色 | 免费在线观看污视频 | 国产成人教育视频在线观看 | 国产专区视频 | 国产美女一区 | 亚洲一区在线观看视频 | 日韩毛片免费线上观看 | 天天做天天玩天天爽天天 | 老师我好爽再深一点好大 |