日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

利用GCC插件實(shí)現(xiàn)代碼分析和安全審計(jì)

zz愛(ài)尚科技 ? 來(lái)源:zz愛(ài)尚科技 ? 作者:zz愛(ài)尚科技 ? 2022-10-13 14:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

利用GCC插件實(shí)現(xiàn)代碼分析和安全審計(jì)

GCC 4.5.0開(kāi)始引入的一項(xiàng)插件功能,允許用戶(hù)通過(guò)插件來(lái)干預(yù)GCC的編譯過(guò)程,獲取到GCC編譯過(guò)程中的各種數(shù)據(jù),甚至可以修改編譯過(guò)程中生成的中間數(shù)據(jù),從而達(dá)到修改最終生成的二進(jìn)制文件行為的目的(注:特別需要注意的是GCC-Plugin的API是會(huì)隨版本變化的)。此特性從程序員的角度來(lái)看,就相當(dāng)于把原來(lái)GCC的黑盒編譯過(guò)程一下子打開(kāi)了,GCC編譯的過(guò)程數(shù)據(jù)可以“大白于天下”,可以清清楚楚的看個(gè)夠。

下圖為GCC編譯架構(gòu)****

image.png

GCC編譯過(guò)程與插件的交互流程

image.png

注:圖引自DragonEgg 在"Reimplementing llvm-gcc as a gcc plugin"

開(kāi)源GCC插件列表**** (來(lái)自https://gcc.gnu.org/wiki/plugins):

image.png

基于GCC此插件特性,從安全測(cè)試的角度來(lái)看,可以用它來(lái)干什么呢?

A.可以把GCC編譯過(guò)程的內(nèi)部數(shù)據(jù)結(jié)構(gòu)圖形化,方便分析應(yīng)用程序。****

圖形化對(duì)象可以是控制流圖、函數(shù)調(diào)用圖、支配圖、Tree結(jié)構(gòu)、Gimple結(jié)構(gòu)、RTX結(jié)構(gòu)、Pass列表等等。

下圖是Gimple層次圖**** :

image.png

B、 利用可以修改中間數(shù)據(jù)的能力,可以不用修改源代碼就能添加新功能的功能,從而實(shí)現(xiàn)動(dòng)態(tài)安全分析、安全加固的能力。

在安全測(cè)試中為了監(jiān)控程序執(zhí)行路徑情況,需要通過(guò)動(dòng)態(tài)插裝來(lái)實(shí)現(xiàn),常見(jiàn)的插裝工具有Pin、Dynamo,但這些動(dòng)態(tài)插裝會(huì)對(duì)程序的運(yùn)行性能產(chǎn)生影響,降低程序運(yùn)行效率,嚴(yán)重的會(huì)導(dǎo)致程序不能正常運(yùn)行。但如果能預(yù)先在目標(biāo)程序中把插裝代碼編譯進(jìn)去,這樣既兼顧到性能,有兼顧到實(shí)現(xiàn)插裝的目的,一般要實(shí)現(xiàn)這個(gè)目的都是在源代碼層面由開(kāi)發(fā)人員增加插裝代碼,但增加的代碼只是為了測(cè)試的目的,在實(shí)際發(fā)布版本中是不需要的,因此直接在源代碼層面增加插裝代碼就給代碼維護(hù)帶來(lái)的不便,但如果我們應(yīng)用GCC編譯器的插件能力,在編譯構(gòu)建過(guò)程中自動(dòng)添加插裝代碼到最終生成的二進(jìn)制文件中,這樣只需根據(jù)需要重新編譯就能得到不同目的的應(yīng)用程序而不需要修改任何一行源代碼,既增加插裝代碼的動(dòng)作對(duì)上層是透明的。

基于上述在編譯過(guò)程中自動(dòng)增加插裝代碼,可以實(shí)現(xiàn)對(duì)測(cè)試活動(dòng)的度量和提升測(cè)試效率,比如測(cè)試時(shí)代碼覆蓋率的統(tǒng)計(jì)與度量,基于執(zhí)行路徑來(lái)優(yōu)化測(cè)試用例提升fuzz效率等等功能。

總結(jié):

利用GCC的插件功能,可以利用編譯過(guò)程中的內(nèi)部數(shù)據(jù)來(lái)幫助安全分析人員對(duì)程序進(jìn)行安全分析和安全加固等事情,提升程序分析效率和分析精準(zhǔn)度。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • GCC
    GCC
    +關(guān)注

    關(guān)注

    0

    文章

    112

    瀏覽量

    26426
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74420
  • 插件
    +關(guān)注

    關(guān)注

    0

    文章

    346

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    從 802.1X 到 MFA:如何利用 RADIUS 協(xié)議升級(jí)企業(yè)網(wǎng)絡(luò)準(zhǔn)入安全

    本文深度解析 RADIUS 協(xié)議及其核心 AAA 機(jī)制。通過(guò)探討其在企業(yè) Wi-Fi 與接入認(rèn)證中的實(shí)際運(yùn)作流程,幫助您掌握如何利用 RADIUS 構(gòu)建安全、可審計(jì)的網(wǎng)絡(luò)準(zhǔn)入環(huán)境。立即閱讀,了解企業(yè)級(jí)身份驗(yàn)證的基石!
    的頭像 發(fā)表于 03-05 14:39 ?244次閱讀
    從 802.1X 到 MFA:如何<b class='flag-5'>利用</b> RADIUS 協(xié)議升級(jí)企業(yè)網(wǎng)絡(luò)準(zhǔn)入<b class='flag-5'>安全</b>?

    分析嵌入式軟件代碼的漏洞-代碼注入

    安全漏洞時(shí),測(cè)試人員必須采取一個(gè)攻擊者的心態(tài)。 諸如模糊測(cè)試的技術(shù)可能是有用的,但是該技術(shù)通常太隨機(jī),無(wú)法高度可靠。 靜態(tài)分析可以有效地發(fā)現(xiàn)代碼注入漏洞。注意到早期生成的靜態(tài)分析
    發(fā)表于 12-22 12:53

    如何確保電能質(zhì)量在線(xiàn)監(jiān)測(cè)裝置的用戶(hù)操作日志審計(jì)功能的安全性?

    確保電能質(zhì)量在線(xiàn)監(jiān)測(cè)裝置用戶(hù)操作日志審計(jì)功能的安全性,核心是構(gòu)建 “日志全生命周期安全防護(hù)體系” ,覆蓋 “日志生成→存儲(chǔ)→訪(fǎng)問(wèn)→傳輸→備份→銷(xiāo)毀” 全流程,同時(shí)結(jié)合技術(shù)防護(hù)、權(quán)限管控、合規(guī)驗(yàn)證
    的頭像 發(fā)表于 12-11 16:49 ?1454次閱讀
    如何確保電能質(zhì)量在線(xiàn)監(jiān)測(cè)裝置的用戶(hù)操作日志<b class='flag-5'>審計(jì)</b>功能的<b class='flag-5'>安全</b>性?

    電能質(zhì)量在線(xiàn)監(jiān)測(cè)裝支持用戶(hù)操作日志審計(jì)嗎?

    是的,主流電能質(zhì)量在線(xiàn)監(jiān)測(cè)裝置普遍支持用戶(hù)操作日志審計(jì)功能 ,這是電力系統(tǒng)安全防護(hù)與合規(guī)性要求的重要組成部分,符合《電力監(jiān)控系統(tǒng)安全防護(hù)規(guī)定》《網(wǎng)絡(luò)安全法》等法規(guī)標(biāo)準(zhǔn)。 一、日志
    的頭像 發(fā)表于 12-11 16:48 ?1335次閱讀
    電能質(zhì)量在線(xiàn)監(jiān)測(cè)裝支持用戶(hù)操作日志<b class='flag-5'>審計(jì)</b>嗎?

    現(xiàn)代功率分析儀的演進(jìn)

    儀的演進(jìn)不僅反映了技術(shù)進(jìn)步,更深刻影響著新能源、電動(dòng)交通、智能制造等關(guān)鍵領(lǐng)域的發(fā)展。本文將深入探討現(xiàn)代功率分析儀的核心特點(diǎn)及其未來(lái)發(fā)展趨勢(shì),揭示其在推動(dòng)能源高效利用中的
    的頭像 發(fā)表于 11-10 14:40 ?575次閱讀
    <b class='flag-5'>現(xiàn)代</b>功率<b class='flag-5'>分析</b>儀的演進(jìn)

    如何利用 gcc 編譯Ccode?

    最近在玩e203_hbirdv2,利用默認(rèn)的case 可以仿真?,F(xiàn)在想自己寫(xiě)C code 進(jìn)行仿真,請(qǐng)問(wèn)該如何利用 gcc 編譯?有沒(méi)有 詳細(xì)的教程。
    發(fā)表于 11-05 12:37

    中軟國(guó)際審計(jì)大模型創(chuàng)新驅(qū)動(dòng)智領(lǐng)未來(lái)

    智領(lǐng)未來(lái)》的演講,深入剖析了大模型如何為審計(jì)行業(yè)打破傳統(tǒng)局限、重構(gòu)工作模式。她表示,審計(jì)大模型不僅是技術(shù)驅(qū)動(dòng)的必然趨勢(shì),更是推動(dòng)審計(jì)行業(yè)突破傳統(tǒng)瓶頸、實(shí)現(xiàn)智能化躍遷的關(guān)鍵力量。
    的頭像 發(fā)表于 09-28 12:35 ?1281次閱讀

    GCC編譯器,怎么才能實(shí)現(xiàn)c文件中未被調(diào)用的函數(shù),不會(huì)被編譯呢?

    GCC編譯器,怎么才能實(shí)現(xiàn)c文件中未被調(diào)用的函數(shù),不會(huì)被編譯?有什么編譯選項(xiàng)可以設(shè)置嗎? 移植代碼,有些函數(shù)沒(méi)被調(diào)用的函數(shù)想留在代碼里,但不想被編譯,編譯的話(huà)報(bào)錯(cuò)報(bào)警告啥的太多了,而且
    發(fā)表于 09-28 12:25

    【Labview技巧合集】11 實(shí)現(xiàn)腳本化插件編程

    【Labview技巧合集】11 實(shí)現(xiàn)腳本化插件編程
    發(fā)表于 09-02 18:10

    協(xié)議分析儀能監(jiān)測(cè)哪些異常行為?

    協(xié)議分析儀通過(guò)深度解析網(wǎng)絡(luò)通信中的協(xié)議字段、時(shí)序和狀態(tài),能夠精準(zhǔn)識(shí)別多種異常行為,涵蓋從配置錯(cuò)誤到惡意攻擊的廣泛場(chǎng)景。以下是其可監(jiān)測(cè)的核心異常行為類(lèi)型及具體實(shí)例:一、協(xié)議實(shí)現(xiàn)違規(guī):違反標(biāo)準(zhǔn)或規(guī)范
    發(fā)表于 07-22 14:20

    中軟國(guó)際以AI賦能某省構(gòu)建統(tǒng)一智能審計(jì)整改系統(tǒng)

    隨著審計(jì)監(jiān)督從“查問(wèn)題”向“促整改、強(qiáng)治理”延伸,如何推動(dòng)審計(jì)整改從“事后補(bǔ)救”邁向“系統(tǒng)治理”,已成為提升國(guó)家治理體系和治理能力現(xiàn)代化水平的關(guān)鍵。面對(duì)整改周期長(zhǎng)、跟蹤難度大、管理方式分散等挑戰(zhàn),
    的頭像 發(fā)表于 07-10 11:50 ?1163次閱讀

    CW32L010 MCU在VSCode+GCC+EIDE+JLink下的使用示例

    、安裝Embedded IDE、Cortex-Debug等插件。 2、下載安裝gcc-arm-none-eabi工具鏈。 3、運(yùn)行VSCode,打開(kāi)CW32L010 MCU的GCC示例工程
    的頭像 發(fā)表于 07-01 14:52 ?1263次閱讀
    CW32L010 MCU在VSCode+<b class='flag-5'>GCC</b>+EIDE+JLink下的使用示例

    KiCad-Parasitics:KiCad 寄生參數(shù)分析插件

    “ ? 這是一款用于分析 PCB 編輯器中走線(xiàn)(wires)寄生參數(shù)的插件。 ? ” ? ? 要使用該插件,您必須在電路板上標(biāo)記兩個(gè)點(diǎn)。通常情況下,最好是選擇由同一根走線(xiàn)連接的兩個(gè)焊盤(pán)。標(biāo)記后,該
    的頭像 發(fā)表于 06-25 11:14 ?2296次閱讀
    KiCad-Parasitics:KiCad 寄生參數(shù)<b class='flag-5'>分析</b><b class='flag-5'>插件</b>

    用 VSCode 編寫(xiě)自己的 KiCad 插件(下)

    成功,接下來(lái)可以寫(xiě)我們的 python 插件了。按照 kic ad? 官方 開(kāi)發(fā)手冊(cè), 實(shí)現(xiàn)一個(gè)顯示 PCB 對(duì)應(yīng)圖層的插件: https://dev-docs.kicad.org/zh-cn
    的頭像 發(fā)表于 06-19 11:44 ?3239次閱讀
    用 VSCode 編寫(xiě)自己的 KiCad <b class='flag-5'>插件</b>(下)

    中軟國(guó)際持續(xù)服務(wù)地方審計(jì)廳整改智能化

    近日,中軟國(guó)際在某自治區(qū)審計(jì)廳開(kāi)展審計(jì)整改智能管理項(xiàng)目。這標(biāo)志著公司在政府審計(jì)整改領(lǐng)域的又一重要突破,進(jìn)一步鞏固了在政府審計(jì)領(lǐng)域的領(lǐng)先地位。
    的頭像 發(fā)表于 06-06 14:14 ?987次閱讀
    卢氏县| 巩义市| 满洲里市| 平陆县| 昔阳县| 南靖县| 唐海县| 金乡县| 青海省| 会同县| 北川| 新野县| 友谊县| 枣阳市| 屏南县| 奉新县| 桦甸市| 马公市| 聂拉木县| 洛扎县| 万年县| 天全县| 宜丰县| 蓬莱市| 大竹县| 海伦市| 普兰县| 沂水县| 黄龙县| 墨玉县| 池州市| 边坝县| 黑龙江省| 随州市| 定西市| 都兰县| 高青县| 皮山县| 句容市| 黑龙江省| 商南县|