91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

什么是可重復(fù)構(gòu)建?可重復(fù)構(gòu)建為軟件供應(yīng)鏈安全保駕護(hù)航

openEuler ? 來(lái)源:openEuler ? 2023-03-21 16:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

可重復(fù)構(gòu)建( Reproducible Builds)是證明軟件供應(yīng)鏈安全的必要手段,2022已被納入SupplyChainSecurityCon的topics以及微軟的S2C2F(Secure Supply Chain Consumption Framework)當(dāng)中,并受到了Google開源安全團(tuán)隊(duì)的支持贊助。OpenSSF/SLSA在軟件供應(yīng)鏈完整性與包管理最佳實(shí)踐中也對(duì)可重復(fù)構(gòu)建有所要求。

2022年openEuler已初步建設(shè)可重復(fù)構(gòu)建能力。

什么是可重復(fù)構(gòu)建

對(duì)于可重復(fù)的構(gòu)建,給定相同的源代碼、構(gòu)建環(huán)境和構(gòu)建指令,任何人均可重建出Bit to Bit完全相同的指定制品。

可重復(fù)構(gòu)建的目的與意義

可重復(fù)構(gòu)建可以驗(yàn)證二進(jìn)制是否被植入后門,避免潛在安全風(fēng)險(xiǎn),從而保障二進(jìn)制的質(zhì)量。構(gòu)建環(huán)境和構(gòu)建工程能夠被還原,使依賴變化范圍最小化、測(cè)試最小化,方便問(wèn)題定位、提高開發(fā)效率。

通過(guò)可重復(fù)構(gòu)建可以創(chuàng)建從代碼到制品的可獨(dú)立驗(yàn)證路徑,結(jié)合已有的代碼發(fā)布簽名、軟件倉(cāng)庫(kù)簽名、安全啟動(dòng)等技術(shù),使開源代碼從生產(chǎn)到使用的全過(guò)程可追溯成為可能。

構(gòu)建差異產(chǎn)生的原因

在代碼構(gòu)建期間,從源代碼到產(chǎn)品發(fā)布的二進(jìn)制包,中間每一個(gè)步驟、每一個(gè)構(gòu)建工具都有可能引入二進(jìn)制差異,而這些差異經(jīng)過(guò)逐步放大,導(dǎo)致最終發(fā)布的二進(jìn)制包每次編譯都不相同,而且差異非常巨大。

2983eb48-ba4d-11ed-bfe3-dac502259ad0.png

二進(jìn)制差異案例(差異放大)

導(dǎo)致構(gòu)建差異的因素有很多,包含環(huán)境、時(shí)間戳、隨機(jī)數(shù)、文件亂序等等,這些差異都是在構(gòu)建過(guò)程中生成的。數(shù)字簽名可以證明源碼和二進(jìn)制的唯一性,但是無(wú)法證明源碼與二進(jìn)制之間對(duì)應(yīng)關(guān)系的一致性。證明源碼與二進(jìn)制一致性的工作量非常大、技術(shù)難度高。例如下圖在各編譯過(guò)程中可能會(huì)產(chǎn)生差異的因素:

29970066-ba4d-11ed-bfe3-dac502259ad0.png

openEuler可重復(fù)構(gòu)建方案

openEuler當(dāng)前的可重復(fù)構(gòu)建是將rpm包構(gòu)建兩次,再進(jìn)行對(duì)比。在構(gòu)建過(guò)程中利用開源工具libfaketime進(jìn)行差異消除,構(gòu)建結(jié)束后將兩次構(gòu)建出的rpm包進(jìn)行對(duì)比,若rpm不一致,則進(jìn)行解壓繼續(xù)對(duì)比,將差異粒度精確到文件,并輸出差異報(bào)告。

29d251ca-ba4d-11ed-bfe3-dac502259ad0.png

為了達(dá)到構(gòu)建可重復(fù)的目的,通常要滿足兩個(gè)條件:

1、構(gòu)建系統(tǒng)的完全確定性,保證兩次構(gòu)建的日期、時(shí)間完全相同(或者去除掉時(shí)間信息),文件順序一致;

2、是用的構(gòu)建工具集及構(gòu)建工具需要一致或被記錄。

主要措施有以下三步:

1、 openEuler的可重復(fù)構(gòu)建使用了libfaketime工具消除差異。此工具主要是利用LD_PRELOAD環(huán)境變量進(jìn)行差異消除。LD_PRELOAD 是 Linux 系統(tǒng)的一個(gè)環(huán)境變量,它可以影響程序的運(yùn)行時(shí)的鏈接(Runtime linker),通過(guò)此變量將 Linux 系統(tǒng)自帶的動(dòng)態(tài)庫(kù).so 替換我們自己動(dòng)態(tài)庫(kù)中自定義的函數(shù),例如:time()、gethostname()、random()、rand()等函數(shù),確保編譯過(guò)程中獲取的時(shí)間、主機(jī)名、隨機(jī)數(shù)能夠保持一致。

29dbb06c-ba4d-11ed-bfe3-dac502259ad0.png

差異消除工具原理

通過(guò)使用此工具,產(chǎn)品源代碼不需要修改,從而減少了產(chǎn)品在代碼糾正方面的投資,商業(yè)和開放源代碼工具所產(chǎn)生的差異也將得到消除,也無(wú)需進(jìn)行任何代碼修改,而且時(shí)間戳的語(yǔ)義被最大程度地保存。并且可以通過(guò)“ unset LD_PRELOAD”格式的命令禁用該工具。

除了libfaketime原有的功能以外,我們?cè)诖嘶A(chǔ)上進(jìn)行擴(kuò)展,增加了精準(zhǔn)黑白名單的機(jī)制可以有效解決因使用libfaketime而導(dǎo)致的構(gòu)建失敗問(wèn)題;并完善了消除隨機(jī)數(shù)差異功能,增加了對(duì)random()、rand()、/dev/random、/dev/urandom獲取隨機(jī)數(shù)方法的替換。

2、 openEuler的可重復(fù)構(gòu)建還用到了unpacker自動(dòng)化解包對(duì)比工具,可以精準(zhǔn)分析文件級(jí)差異,輸出可視化差異報(bào)告。對(duì)比兩次構(gòu)建出rpm的校驗(yàn)值,若校驗(yàn)值一致則認(rèn)為構(gòu)建可重復(fù);若校驗(yàn)值不一致,則進(jìn)行解包對(duì)比,若兩個(gè)rpm包解壓后所有文件的校驗(yàn)值均一致,同樣認(rèn)為構(gòu)建可重復(fù),若出現(xiàn)不一致文件則使用diffoscope進(jìn)行對(duì)比并輸出差異報(bào)告。此外,工具會(huì)將RSA、PGP簽名文件從rpm包中拆分出來(lái),不會(huì)將簽名文件差異當(dāng)作是rpm差異。

29e89142-ba4d-11ed-bfe3-dac502259ad0.png

解包對(duì)比工具原理

29f08564-ba4d-11ed-bfe3-dac502259ad0.png

差異報(bào)告樣例

3、將rpm包對(duì)比結(jié)束后,我們會(huì)將對(duì)比結(jié)果以及差異報(bào)告歸檔,并在openEuler的可重復(fù)構(gòu)建網(wǎng)站展示并進(jìn)行治理。

2a0ffdf4-ba4d-11ed-bfe3-dac502259ad0.png

2022年我們已經(jīng)對(duì)openEuler核心1800+個(gè)代碼倉(cāng)分別在arm及x86環(huán)境下進(jìn)行了可重復(fù)構(gòu)建的比對(duì),涉及軟件包6000+,可重復(fù)率達(dá)到了98%。今年我們把可重復(fù)構(gòu)建范圍擴(kuò)大到了openEuler 22.09的Everything版本,構(gòu)建成功了4130個(gè)代碼倉(cāng),涉及軟件包14000+,可重復(fù)率達(dá)到94%左右。經(jīng)過(guò)初步的分析,當(dāng)前大部分不可重復(fù)代碼倉(cāng)是因?yàn)闃?gòu)建出的rpm包存在html文件差異。

openEuler可重復(fù)構(gòu)建規(guī)劃

1、 針對(duì)不可重復(fù)代碼倉(cāng)分析原因、提出解決建議,并回合到上游社區(qū)。

2、 使用EulerMaker替換OBS進(jìn)行構(gòu)建,解決由于libfaketime導(dǎo)致的構(gòu)建失敗問(wèn)題,并實(shí)現(xiàn)通過(guò)“元數(shù)據(jù)”隨時(shí)復(fù)現(xiàn)構(gòu)建過(guò)程的能力。

3、 逐步提高openEuler代碼倉(cāng)可重復(fù)率,達(dá)成Everything版本代碼倉(cāng)可重復(fù)率98%以上,領(lǐng)先業(yè)界水平。

4、 復(fù)制可重復(fù)構(gòu)建能力,幫助合作伙伴達(dá)成可重復(fù)構(gòu)建目標(biāo)。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • freebsd
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    11123
  • GNU
    GNU
    +關(guān)注

    關(guān)注

    0

    文章

    144

    瀏覽量

    18317
  • openEuler
    +關(guān)注

    關(guān)注

    2

    文章

    337

    瀏覽量

    6730
  • Debian
    +關(guān)注

    關(guān)注

    0

    文章

    79

    瀏覽量

    2116

原文標(biāo)題:可重復(fù)構(gòu)建為軟件供應(yīng)鏈安全保駕護(hù)航

文章出處:【微信號(hào):openEulercommunity,微信公眾號(hào):openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    《制造業(yè)企業(yè)智慧供應(yīng)鏈:提升韌性和安全》正式發(fā)布

    聚焦制造業(yè)供應(yīng)鏈現(xiàn)代化建設(shè)的權(quán)威指引,報(bào)告系統(tǒng)解析了供應(yīng)鏈韌性與安全的核心內(nèi)涵、發(fā)展路徑及技術(shù)支撐,凝聚行業(yè)共識(shí),為政府部門、企業(yè)及相關(guān)機(jī)構(gòu)推動(dòng)供應(yīng)鏈轉(zhuǎn)型升級(jí)提供了
    的頭像 發(fā)表于 02-12 10:47 ?525次閱讀

    普華基礎(chǔ)軟件入選2025中國(guó)汽車供應(yīng)鏈創(chuàng)新成果

    創(chuàng)新成果,展現(xiàn)了中國(guó)汽車產(chǎn)業(yè)在關(guān)鍵技術(shù)領(lǐng)域的突破性進(jìn)展與創(chuàng)新能力。普華基礎(chǔ)軟件受邀出席大會(huì),憑借《開源安全車控操作系統(tǒng)小滿EasyXMen》項(xiàng)目成功入選“2025中國(guó)汽車供應(yīng)鏈創(chuàng)新成果”。
    的頭像 發(fā)表于 12-16 17:44 ?689次閱讀

    安波福榮獲沃爾沃汽車亞太區(qū)供應(yīng)鏈持續(xù)杰出貢獻(xiàn)獎(jiǎng)

    近日,在第五屆沃爾沃汽車亞太區(qū)供應(yīng)鏈可持續(xù)發(fā)展技術(shù)展上,安波福中國(guó)憑借其減排創(chuàng)新技術(shù)、綠色供應(yīng)鏈體系等解決方案,重新定義工業(yè)可持續(xù)發(fā)展標(biāo)準(zhǔn),榮膺沃爾沃“持續(xù)杰出貢獻(xiàn)獎(jiǎng)”。
    的頭像 發(fā)表于 12-13 14:25 ?812次閱讀

    2025開放原子開發(fā)者大會(huì)開源安全與AI供應(yīng)鏈治理分論壇成功舉辦

    ”分論壇在北京成功舉辦。多位行業(yè)專家聚焦開源供應(yīng)鏈標(biāo)準(zhǔn)化、AI安全新挑戰(zhàn)、社區(qū)化漏洞運(yùn)營(yíng)、開源鴻蒙生態(tài)實(shí)踐、企業(yè)合規(guī)落地五大核心議題,從戰(zhàn)略研究、技術(shù)創(chuàng)新、行業(yè)實(shí)踐三大維度,開發(fā)者與企業(yè)打造“
    的頭像 發(fā)表于 11-27 14:47 ?654次閱讀

    2025開放原子開發(fā)者大會(huì)開源軟件供應(yīng)鏈與AI安全分論壇即將啟幕

    推動(dòng)開源與數(shù)字產(chǎn)業(yè)的高質(zhì)量發(fā)展,2025開放原子開發(fā)者大會(huì)中,一場(chǎng)聚焦“開源軟件供應(yīng)鏈與AI安全”的專業(yè)論壇即將啟幕!
    的頭像 發(fā)表于 11-20 11:36 ?695次閱讀

    FLIR早期火災(zāi)探測(cè)技術(shù)林業(yè)安全保駕護(hù)航

    設(shè)施更是首當(dāng)其沖。面對(duì)這一挑戰(zhàn),F(xiàn)lir的早期火災(zāi)探測(cè)(EFD)技術(shù)以其精準(zhǔn)、高效的特點(diǎn),林業(yè)安全保駕護(hù)航。
    的頭像 發(fā)表于 11-14 14:09 ?655次閱讀

    解決鋰電池一致性難題!景鋰新能源電池均衡儀儲(chǔ)能安全/電動(dòng)車?yán)m(xù)航保駕護(hù)航

    解決鋰電池一致性難題!景鋰新能源電池均衡儀儲(chǔ)能/電動(dòng)車電池續(xù)航保駕護(hù)航
    的頭像 發(fā)表于 11-06 11:00 ?655次閱讀

    鯤云科技助力中通服供應(yīng)鏈筑牢智能倉(cāng)儲(chǔ)安全防線

    在大安全大應(yīng)急成為經(jīng)濟(jì)社會(huì)發(fā)展重要支撐的當(dāng)下,中國(guó)通服供應(yīng)鏈股份有限公司積極踐行“鍛造可信賴智慧供應(yīng)鏈,助力數(shù)字基建,護(hù)航數(shù)字中國(guó)”的企業(yè)使命,在智能倉(cāng)儲(chǔ)
    的頭像 發(fā)表于 10-27 15:53 ?612次閱讀

    曙光數(shù)創(chuàng)您的數(shù)據(jù)中心建設(shè)保駕護(hù)航

    每一臺(tái)曙光數(shù)創(chuàng)生產(chǎn)的設(shè)備背后,都是一場(chǎng)圍繞著“品質(zhì)”的馬拉松。從原料進(jìn)場(chǎng)到設(shè)備出廠,幾十道流程環(huán)環(huán)相扣,曙光數(shù)創(chuàng)用20年的“較真精神”,把品質(zhì)藏進(jìn)了生產(chǎn)線的每個(gè)細(xì)節(jié)里,您的數(shù)據(jù)中心建設(shè)保駕護(hù)航
    的頭像 發(fā)表于 09-30 16:15 ?1284次閱讀

    海辰儲(chǔ)能攜手17家企業(yè)深化供應(yīng)鏈ESG管理倡議

    近日,于青海格爾木市舉辦的 ESG 沙龍活動(dòng)上,海辰儲(chǔ)能作為“擴(kuò)容升級(jí)”聯(lián)合發(fā)起方,攜手 17 家企業(yè)共同深化“供應(yīng)鏈 ESG 管理倡議”(SCSI),構(gòu)建全球持續(xù)
    的頭像 發(fā)表于 08-04 17:15 ?1139次閱讀

    光伏電站氣象監(jiān)測(cè)系統(tǒng):清潔能源高效發(fā)電保駕護(hù)航

    光伏電站氣象監(jiān)測(cè)系統(tǒng):清潔能源高效發(fā)電保駕護(hù)航 柏峰【BF-GFQX】在全球能源結(jié)構(gòu)向清潔能源轉(zhuǎn)型的浪潮中,光伏發(fā)電憑借其清潔、可再生的優(yōu)勢(shì),得到了前所未有的發(fā)展。然而,光伏電站的發(fā)電效率深受氣象條件影響,
    的頭像 發(fā)表于 07-21 11:47 ?578次閱讀
    光伏電站氣象監(jiān)測(cè)系統(tǒng):<b class='flag-5'>為</b>清潔能源高效發(fā)電<b class='flag-5'>保駕護(hù)航</b>

    萬(wàn)里紅推出供應(yīng)鏈軟件安全解決方案

    上,正式發(fā)布了萬(wàn)里紅供應(yīng)鏈軟件安全解決方案,數(shù)字時(shí)代信息安全提供體系化的軟件
    的頭像 發(fā)表于 05-19 16:13 ?941次閱讀

    eUPS0505斷電續(xù)航模塊,嵌入式系統(tǒng)保駕護(hù)航

    保駕護(hù)航。應(yīng)用場(chǎng)景與作用在嵌入式系統(tǒng)中,有許多關(guān)鍵設(shè)備如主控MCU和存儲(chǔ)器都需要穩(wěn)定的電力供應(yīng),倘若遇到外部供電意外斷電,則極易導(dǎo)致存儲(chǔ)器數(shù)據(jù)丟失甚至系統(tǒng)損壞,因此就有
    的頭像 發(fā)表于 04-15 11:38 ?650次閱讀
    eUPS0505斷電續(xù)航模塊,<b class='flag-5'>為</b>嵌入式系統(tǒng)<b class='flag-5'>保駕護(hù)航</b>

    充電樁安全用電消防系統(tǒng):電動(dòng)自行車保駕護(hù)航

    。今天,我們就來(lái)聊聊充電樁安全用電消防系統(tǒng),看看它是如何為電動(dòng)自行車保駕護(hù)航的。 電動(dòng)自行車充電樁,作為電動(dòng)自行車充電的基礎(chǔ)設(shè)施,其安全性直接關(guān)系到廣大車主的生命財(cái)產(chǎn)安全。近年來(lái),因充
    的頭像 發(fā)表于 04-01 14:11 ?744次閱讀

    Arm汽車技術(shù)的未來(lái)保駕護(hù)航

    隨著汽車日益復(fù)雜、新威脅不斷涌現(xiàn)以及監(jiān)管環(huán)境的變化,汽車供應(yīng)鏈必須確保車輛和零部件在開發(fā)、集成、維護(hù)和報(bào)廢的全過(guò)程都遵循嚴(yán)格的安全規(guī)范。這包括對(duì)單個(gè)產(chǎn)品的網(wǎng)絡(luò)安全進(jìn)行評(píng)估,并建立網(wǎng)絡(luò)安全
    的頭像 發(fā)表于 03-10 09:19 ?984次閱讀