智慧城市即將到來(lái):如何減少智慧城市中的軟件漏洞?
Synopsys 軟件完整性小組高級(jí)安全策略師 Jonathan Knudsen 分享了如何減少智慧城市中的軟件漏洞……
如今,我們生活在激動(dòng)人心快速發(fā)展的時(shí)代。設(shè)備、網(wǎng)絡(luò)和軟件方面的技術(shù)進(jìn)步使幾年前還無(wú)法想象的應(yīng)用和服務(wù)成為了可能。 5G網(wǎng)絡(luò)的出現(xiàn)提高了網(wǎng)絡(luò)的容量和速度,這將迎來(lái)一個(gè)充滿可能性的新時(shí)代。
智慧城市就是其中一種可能性。
智慧城市只是意味著使用傳感器收集信息和軟件來(lái)解釋信息并對(duì)其采取行動(dòng)的城市空間。以下是我們?cè)谥腔鄢鞘兄锌赡軙?huì)發(fā)現(xiàn)的一些功能:
- 如果城市的停車(chē)位有傳感器可以知道它們何時(shí)被使用,司機(jī)就可以使用應(yīng)用程序找到可用的停車(chē)位并支付費(fèi)用。
 - 通過(guò)交通燈上的傳感器和攝像頭來(lái)監(jiān)控交通,智慧城市可以根據(jù)實(shí)時(shí)條件優(yōu)化交通流量。
 - 支持網(wǎng)絡(luò)的垃圾箱可以在需要清理時(shí)通知智慧城市管理部門(mén),從而優(yōu)化資源。
 - 夜晚,當(dāng)附近沒(méi)有車(chē)輛或行人時(shí),智慧城市可以通過(guò)調(diào)暗路燈來(lái)節(jié)省能源。
 
毫無(wú)疑問(wèn),網(wǎng)絡(luò)、物聯(lián)網(wǎng) (IoT) 設(shè)備和軟件的持續(xù)擴(kuò)散將使我們無(wú)法想象的應(yīng)用成為可能。同時(shí),爆炸性的技術(shù)增長(zhǎng)將使犯罪的規(guī)模和影響達(dá)到我們也無(wú)法想象的程度。
該怎么辦?
我們?nèi)绾未_保未來(lái)的智慧城市不會(huì)受到損害?不幸的是,沒(méi)有什么是絕對(duì)安全的。壞事總會(huì)發(fā)生;你能做的最好的事情就是降低壞事發(fā)生的可能性。例如,如果你去騎自行車(chē),你就有跌倒和頭部嚴(yán)重受傷的風(fēng)險(xiǎn)。如果你在騎行期間佩戴頭盔,則嚴(yán)重頭部受傷的風(fēng)險(xiǎn)會(huì)降低。
智慧城市也不例外。其目的不是防止事故的,壞事肯定會(huì)發(fā)生——至少是系統(tǒng)故障或惡意攻擊。但這并不意味著我們不能以最小化這種風(fēng)險(xiǎn)的方式設(shè)計(jì)和建設(shè)智慧城市。
智慧城市帶來(lái)的大部分風(fēng)險(xiǎn)將來(lái)自軟件。軟件運(yùn)行在作為智慧城市的眼睛和耳朵的物聯(lián)網(wǎng)設(shè)備上;軟件在聚合和協(xié)調(diào)這些設(shè)備的系統(tǒng)上運(yùn)行;軟件將根據(jù)數(shù)據(jù)和用戶(hù)行為做出決策并采取行動(dòng);軟件將處理金融交易和記錄保存;軟件將用于未來(lái)智慧城市的每一個(gè)角落。事實(shí)上,軟件已經(jīng)無(wú)處不在,但它只會(huì)在未來(lái)變得更加普遍。
此外,幾乎所有的軟件都是建立在其他軟件之上的。開(kāi)源軟件組件被用作構(gòu)建新軟件的構(gòu)建塊。應(yīng)用程序和系統(tǒng)最終是一個(gè)復(fù)雜的軟件組件堆疊,一個(gè)令人眼花繚亂的復(fù)雜結(jié)構(gòu)。
從近期的新聞報(bào)道可以看出軟件的風(fēng)險(xiǎn)有多大。勒索軟件攻擊、系統(tǒng)故障、妥協(xié)和數(shù)據(jù)泄露已經(jīng)司空見(jiàn)慣。
值得慶幸的是,創(chuàng)建更好、更安全的軟件的過(guò)程已經(jīng)眾所周知:它是一個(gè)安全開(kāi)發(fā)生命周期(SDLC 或 SDLC),其中安全性是開(kāi)發(fā)的每個(gè)階段的一部分。威脅建模等設(shè)計(jì)時(shí)分析有助于將安全性融入系統(tǒng)本身的結(jié)構(gòu)中,而貫穿實(shí)施和測(cè)試階段的各種類(lèi)型的安全測(cè)試有助于識(shí)別可以在軟件發(fā)布之前修復(fù)的弱點(diǎn)。對(duì)軟件供應(yīng)鏈的持續(xù)監(jiān)控有助于確保在出現(xiàn)新的供應(yīng)鏈漏洞時(shí)能夠迅速發(fā)布應(yīng)用程序更新。
同樣重要的是要注意,應(yīng)用程序團(tuán)隊(duì)通常更關(guān)注功能而不是安全性。在各種緊急項(xiàng)目的趕工中,他們可能會(huì)忽略或推遲安全問(wèn)題。許多軟件供應(yīng)商通常對(duì)于系統(tǒng)故障問(wèn)題非常不負(fù)責(zé)任,下游消費(fèi)者錯(cuò)誤地認(rèn)為他們的供應(yīng)商已經(jīng)承擔(dān)了安全責(zé)任。
而且,非常不幸的是,軟件安全性難以量化。理想情況下,我們希望軟件具有安全評(píng)分或等級(jí)。例如,在智慧城市的情況下,我們會(huì)要求所有軟件都具有特定的最低安全系數(shù)。因此,我們需要對(duì)智能道路或緊急服務(wù)等關(guān)鍵系統(tǒng)更高的要求。
雖然相應(yīng)的評(píng)分系統(tǒng)仍然是一個(gè)難以實(shí)現(xiàn)的夢(mèng)想,但我們可以觀察到的是軟件是如何構(gòu)建的。供應(yīng)商是否使用了 SDLC?他們是否進(jìn)行必要的安全流程操作,例如威脅模型和安全測(cè)試結(jié)果?
最近 NCSC 關(guān)于“互聯(lián)場(chǎng)所”(例如智慧城市)的指南是朝著正確方向邁出的一步。認(rèn)識(shí)到安全性必須成為任何軟件系統(tǒng)的一部分很重要,但對(duì)其進(jìn)行量化將很困難。政府可以推薦指導(dǎo)方針;如何執(zhí)行?同樣,應(yīng)用程序和設(shè)備的購(gòu)買(mǎi)者如何知道他們希望使用的產(chǎn)品的風(fēng)險(xiǎn)降低了多少?
提高構(gòu)建者和購(gòu)買(mǎi)者的軟件安全意識(shí)是構(gòu)建更安全、更具彈性的軟件基礎(chǔ)設(shè)施的第一個(gè)重要步驟。構(gòu)建者需要在應(yīng)用程序開(kāi)發(fā)的每個(gè)階段都包含安全性,從設(shè)計(jì)到實(shí)施、測(cè)試和維護(hù)。靜態(tài)代碼分析、軟件組合分析和模糊測(cè)試等自動(dòng)化工具可以幫助在開(kāi)發(fā)周期中清除更多漏洞,從而產(chǎn)生更具彈性、更安全的產(chǎn)品。
買(mǎi)家需要意識(shí)到他們購(gòu)買(mǎi)的產(chǎn)品的安全性至關(guān)重要。他們需要了解軟件是如何創(chuàng)建的,并根據(jù)他們?nèi)绾螛?gòu)建產(chǎn)品以及他們?nèi)绾翁幚戆踩惋L(fēng)險(xiǎn)來(lái)評(píng)估供應(yīng)商和產(chǎn)品。
構(gòu)建未來(lái)基礎(chǔ)設(shè)施(例如智慧城市)的最佳方式是睜大眼睛并充分了解如何將風(fēng)險(xiǎn)降至最低。















 
 
 







 
 
 
 