在傳統(tǒng)的概念里,汽車相對是偏硬件的設(shè)備,隨著網(wǎng)聯(lián)化、自動駕駛、智能座艙的發(fā)展,汽車的軟件代碼最近已經(jīng)超過了1億行,未來可能還會更多,現(xiàn)在正處在軟件吞噬汽車的時代。
汽車行業(yè)開源軟件現(xiàn)狀與挑戰(zhàn)
新思科技每年都發(fā)布開源軟件安全風(fēng)險報告。我們可以看到在汽車領(lǐng)域里面,軟件70%左右都是由開源組成。在這樣的前提下面,新思科技還有另外一組數(shù)據(jù)和大家分享一下,大家可能關(guān)注開源軟件安全的風(fēng)險。
在安全領(lǐng)域,像藍(lán)色的部分,開源代碼里面至少包含有一個漏洞的比例也在逐年上升,這些漏洞稱之為已知安全漏洞。這些安全漏洞里面也會分等級,不同等級可能對用戶造成嚴(yán)重的或者中高的風(fēng)險。我們再來看看橙色的部分,高危漏洞的比例也是不低的,超過60%。這個意味著什么?如果今天你的軟件里面包含了高危漏洞,整個系統(tǒng)很容易被穿透,很容易造成數(shù)據(jù)的泄露,或者系統(tǒng)的主機(jī)被遠(yuǎn)程的控制。再回到汽車行業(yè)來看,包含漏洞的比例也不小,有超過60%,希望引起大家的關(guān)注。
我國“十四五”規(guī)劃也提到,國家鼓勵知識產(chǎn)權(quán)和創(chuàng)新,在越來越重視知識產(chǎn)權(quán)的前提下面,舉一個例子像“MySQL”,它其實是雙許可證的,它有一個GPL許可證,還有一個商用的許可證,還有的可能是GPL或者Apache或者M(jìn)IT,我們稱之為的許可證,不同的許可證之間也會有沖突的風(fēng)險。
還有另外的風(fēng)險,包含無許可證的或者自定義的許可證,這塊的比例也不低,也是會給客戶造成比較大的潛在風(fēng)險。相當(dāng)于什么?它的許可證是一張白紙,隨時可以往上寫東西。尤其是在汽車行業(yè)里面,合規(guī)這塊的風(fēng)險遠(yuǎn)遠(yuǎn)大于平均的值,超過80%的比例。
由于安全漏洞和開源相關(guān)的真實法律案件的不斷出現(xiàn),開源對汽車網(wǎng)聯(lián)安全而言顯得十分重要。現(xiàn)在的車都是全球供應(yīng)鏈下的協(xié)同生成的,車也會涉及到出口,涉及到GDPR 和美國的出口法,還涉及到汽車軟件的使用的加密算法。這些都需要引起我們的重視。
汽車行業(yè)與開源相關(guān)的可信會越來越重要
汽車行業(yè)是一個非常注重安全和合規(guī)的行業(yè),像各種法律法規(guī),或者是各種標(biāo)準(zhǔn)。比如ISO21434里面涉及到的和開源相關(guān)的條款:
第一個條款是RQ-09-05,在進(jìn)行威脅分析和風(fēng)險評估的時候,在這樣一個階段的時候,也需要考慮開源的風(fēng)險的,如果用到了一個開源的組件,也要做威脅建模或者風(fēng)險分析,因為軟件最終是由代碼組成的。代碼設(shè)計安不安全,代碼設(shè)計有沒有潛在的風(fēng)險,所以在這個階段進(jìn)行主動的分享分析也是非常重要的。
第二個條款是RQ-06-16,這里明確寫在集成現(xiàn)成的組件開發(fā)流程中,掃描開源組件相關(guān)的漏洞,這個跟OWASP Top 2021里面的A6,脆弱過時組件(Vulnerable and Outdated Component),這個也是明確需要治理的
第三是條款是RQ-07-01,對新發(fā)現(xiàn)的漏洞提供預(yù)警的工具,作為對持續(xù)網(wǎng)絡(luò)安全監(jiān)測活動的投入,我們知道汽車有召回的概念,其實軟件也是一樣的,汽車也是軟硬的結(jié)合體,汽車交付發(fā)布之后,要對它已有的軟件進(jìn)行監(jiān)控,如果發(fā)現(xiàn)0Day漏洞,主機(jī)廠要及時監(jiān)控,評估風(fēng)險,同時告知客戶,如要做OTA升級,IQ-0710也跟開源相關(guān)的,軟件的開源組件也要持續(xù)的監(jiān)控,有持續(xù)告警的能力。
以上是跟大家分享一下ISO-21434跟開源相關(guān)的一些條款。
2020年12月份發(fā)布的ISO-5230,也是一個國際的標(biāo)準(zhǔn),它是基于Linux基金會孵化的OPENCHAIN的開源項目,這個項目的背景就是做開源組件合規(guī)治理的國際標(biāo)準(zhǔn),一標(biāo)準(zhǔn)主要基于三塊,流程、規(guī)范,以及培訓(xùn)。
這個標(biāo)準(zhǔn)背后汽車行業(yè)也是重要的推手之一,包括一些日本的廠商,很早就在推動這樣一件事情,所以這個標(biāo)準(zhǔn)目前從趨勢來看,未來幾年會成為共識,汽車工業(yè)也是一個依賴上下游供應(yīng)鏈的行業(yè),供應(yīng)商在交付軟件給下游的時候需要提供軟件物料清單(SBOM)。可能會有人問這個跟開源有什么相關(guān)的,其實關(guān)系很大,根據(jù)我們之前的報告,之前分享的汽車行業(yè)里面數(shù)據(jù)來看,汽車行業(yè)的阮籍哦按70%的代碼是開源代碼組成的,所以要解決問題的話要抓住主要問題。開源軟件的治理是我們需要關(guān)注的重中之重。
汽車行業(yè)開源軟件安全可信治理方面的實踐
應(yīng)該如何去做,或者有沒有一些可以入手的點,其實還是有的,首先從企業(yè)治理的框架而言,在開始的時候,一般企業(yè)都是沖從使用開發(fā)入手的,使用肯定會涉及到開源組件,比如Linux或者glibc,或者是其他的一些開源工具也好,很多企業(yè)為了快速迭代和創(chuàng)新,很大的情況下會在開源軟件的基礎(chǔ)上集成和二次開發(fā)。
在這個情況下,很多都是研發(fā)同學(xué)自發(fā)的拿過來使用,但是可能沒有意識合規(guī)和安全的風(fēng)險,無意中引入了一些潛在的風(fēng)險,這些需要通過一些技術(shù)手段,通過一些規(guī)則來來對開源軟件進(jìn)行識別,構(gòu)建明細(xì)表,進(jìn)行系統(tǒng)化的治理。
大家可能看到現(xiàn)在的自動駕駛非常熱,有些公司,尤其是國外或者國內(nèi),通過構(gòu)建生態(tài),吸引開發(fā)者一起參與。比如國內(nèi)百度的阿波羅也是一個開源的平臺。
再往上通過構(gòu)建生態(tài)戰(zhàn)略,和生態(tài)鏈的企業(yè)進(jìn)行協(xié)同互動,使開源成為一個企業(yè)的數(shù)字化戰(zhàn)略,有些公司如果做的非常好,它會推動整個公司有一個非常長遠(yuǎn)或者非常好的發(fā)展和未來。
我們發(fā)現(xiàn),開源大部分是自下而上來推動,通過我們接觸的汽車行業(yè)來看,大部分還處于技術(shù)使用和安全可信的階段,我們看看有哪些具體的行動項。
一個是團(tuán)隊,從開源參與的角度來講,涉及到的面還是非常廣的,涉及到法務(wù),也涉及到一些合規(guī)、專利的問題,這是需要法務(wù)參與的,另外一個也會涉及到技術(shù)的選型,也需要架構(gòu)師參與進(jìn)來,考量開源組件的技術(shù)架構(gòu),學(xué)習(xí)的成本,使用的成本,另外也會有安全同事參與進(jìn)來,像開源組件的安全漏洞梳理,它的安全漏洞分布,從安全的視角來講,它的哪些版本比較安全,或者有沒有一些緩解的手段。
第二是可信,我們剛才介紹的OPENCHAIN社區(qū),為什么要加入這樣的社區(qū)?就是為了和社區(qū)或者整個社區(qū)的參與者,建立非常可信的合作生態(tài)。還有比如供應(yīng)鏈也好,合規(guī)也好,推動整個企業(yè)級安全治理合規(guī)框架的發(fā)展。
再往下走,如果探討到規(guī)則或者流程或者技術(shù),這個就更多了,從流程角度來講,或者是漏洞的角度來講,或者是許可證來講,整個開源合規(guī)的培訓(xùn),貫穿到整個體系能力的建設(shè)過程之中。
人工的審核重要性,當(dāng)工具識別出問題的時候,需要有專業(yè)的專家同事介入,然后再做住家的審核的過程。比如發(fā)布的時候,很多開源的漏洞是由配置軟件組成的,在這些項目里面也需要去檢查,在做滲透測試的時候需要關(guān)注和開源漏洞相關(guān)的風(fēng)險。
最后即使這個軟件和車一起交付了,但是我還需要有開源軟件的清單,我們講持續(xù)交付,持續(xù)構(gòu)建,如果有問題,我可以在第一時間知道這個漏洞它影響到我哪個版本,這個版本影響到哪些車型,使我們有能力快速地進(jìn)行追溯和管理。
如果是對應(yīng)著ISO -21434,其實也是有據(jù)可循的,從左到右,在前期階段進(jìn)行威脅建模和風(fēng)險分析,中期進(jìn)行過程中的識別和系統(tǒng)的開源風(fēng)險風(fēng)險,最后即使軟件進(jìn)行發(fā)布了之后,也要持續(xù)對開源的漏洞進(jìn)行監(jiān)控,這些都是和ISO-21434息息相關(guān)的。
網(wǎng)絡(luò)安全I(xiàn)SO-21434的開源相關(guān)的風(fēng)險的接觸點
第一個接觸點,很多公司說我的產(chǎn)品要發(fā)布,第一步他可能想到的是生成一個開源組件分發(fā)說明清單。那么如何做成一個持續(xù)性的方案?他想到能不能在我的軟件集成測試的時候去掃描識別,在這個階段發(fā)現(xiàn)問題,我們發(fā)現(xiàn)預(yù)留整改的也不一定夠,一般情況下識別出來之后我還要去做整改和修正,在這個基礎(chǔ)上,我們可以考慮在編碼的時候識別開源組件,這些都是在編碼和測試的時候進(jìn)行治理,那么有沒有可能更早一些開展呢?比如在需求分析,設(shè)計階段,其實開源軟件是非常豐富和多樣的,比如像開源數(shù)據(jù)庫其實有很多選擇,,那么在需求和設(shè)計的時候,需要架構(gòu)師針對產(chǎn)品的特點和業(yè)務(wù)的特性,選擇合適的開源組件,同事也需要考慮未來有潛在的開源組件的安全合規(guī)風(fēng)險,指定響應(yīng)的應(yīng)對的策略,
在ISO-21434的安全的概念階段,開源安全合規(guī)的培訓(xùn)融入到整個的研發(fā)過程中,并做成一個持續(xù)性的事,針對開發(fā)同事,項目經(jīng)理已經(jīng)管理層,準(zhǔn)備不同的培訓(xùn)課程和目標(biāo),同時可以考慮針對相關(guān)的案例,討論為什么會觸發(fā)這樣的風(fēng)險,違反什么規(guī)范,知道相關(guān)人員如何做避免違犯相關(guān)的法規(guī)和規(guī)范,安全的漏洞分為兩塊,一種是代碼級別的,另外一種是邏輯層面的,但這種邏輯層面的東西,可能不是掃描代碼就能發(fā)現(xiàn),危險建模和風(fēng)險分析也是非常重要的。
最后比如說在做開源組件需求管理的時候,代碼的來源是非常多樣的,有供應(yīng)商、外部社區(qū)的來源,在這樣的前提下面,我們需要做好統(tǒng)一的規(guī)劃,要求我的供應(yīng)商什么樣樣的信息給我,或者我對我的供應(yīng)商有哪些要求,比如交付的軟件不能使用包含高風(fēng)險漏洞的組件或者含有GPL的組件,也是很重要的。
還有兩個是貫穿整個流程體系建設(shè),合規(guī)培訓(xùn)和安全合規(guī)文化的建設(shè)。始終貫徹在我的整個的研發(fā)流程開發(fā)體系中。
新思的Black Duck開源合規(guī)的解決方案,新思科技是提供一站式的自動化解決方案。這個解決方案國內(nèi)很多高科技公司、ICT公司,甚至是銀行都采用了方案。它的特點,很多實現(xiàn)自動化,同時它應(yīng)對的場景比較多,針對開源合規(guī)體系里面已經(jīng)內(nèi)嵌了很多最佳實踐的功能,同時接觸點比較多,企業(yè)里面還有一個特點比如高可用,還需要有一些專業(yè)的專家服務(wù)。整個通過新思科技提供的一系列解決方案和產(chǎn)品,來幫助客戶更好地去達(dá)成開源合規(guī)的目標(biāo)。通過更好地使用開源,來去幫助企業(yè)里促進(jìn)創(chuàng)新、保駕護(hù)航
來源:蓋世汽車
作者:沈逸超
本文地址:http://m.155ck.com/news/qiye/171896
以上內(nèi)容轉(zhuǎn)載自蓋世汽車,目的在于傳播更多信息,如有侵僅請聯(lián)系admin#d1ev.com(#替換成@)刪除,轉(zhuǎn)載內(nèi)容并不代表第一電動網(wǎng)(m.155ck.com)立場。
文中圖片源自互聯(lián)網(wǎng),如有侵權(quán)請聯(lián)系admin#d1ev.com(#替換成@)刪除。