作者:安德魯柏拉圖(Andrew Plato) 在第1部分我們探討了黑客的思維,他們所具備的技能以及他們用來破解系統(tǒng)的很多線索和相關(guān) ![]() 積極的進(jìn)行測試 集成到開發(fā)過程中一個更重要的步驟就是進(jìn)行安全性測試,對每個階段都進(jìn)行測試: 設(shè)計階段:對你的架構(gòu)設(shè)計和第三方組件進(jìn)行進(jìn)行安全審查 開發(fā)階段:代碼檢查和漏洞掃描 測試階段:現(xiàn)場部署系統(tǒng)進(jìn)行滲透測試 生產(chǎn):在實(shí)際環(huán)境中嘗試破解系統(tǒng) 選擇敏捷性而不僅僅是強(qiáng)硬的 你永遠(yuǎn)不可能建立起足夠高的墻來阻止所有的黑客,所以不如讓你的系統(tǒng)變得更加的敏捷不僅僅是強(qiáng)硬的,如果你的系統(tǒng)遭受了攻擊,你能做出哪些反應(yīng): 多快能進(jìn)行系統(tǒng)更新? 你怎么知道系統(tǒng)被攻擊了? 攻擊引發(fā)的后果是怎樣的? 誰有可能發(fā)動了這次攻擊? 如果你的加密系統(tǒng)(如果有采用)被攻擊了會怎樣? 其他技術(shù)比如防火墻能夠減輕攻擊嗎? 保持整潔 將一些潛在的弱點(diǎn)轉(zhuǎn)變?yōu)閮?yōu)勢,我們可以采取如下措施: 在接收和發(fā)送數(shù)據(jù)之前都進(jìn)行驗證 禁止不必要的訪問,嚴(yán)格限制所有的訪問請求除非是絕對必須的 阻止不受信任的應(yīng)用程序 嚴(yán)格限制所有的遠(yuǎn)程訪問 對所有數(shù)據(jù)進(jìn)行加密:不管是在數(shù)據(jù)保存還是發(fā)送過程中 在系統(tǒng)啟動前執(zhí)行完整性檢查 避免系統(tǒng)的復(fù)雜,對系統(tǒng)進(jìn)行模塊化細(xì)分 移除調(diào)試功能(如果可能的話) 產(chǎn)品為什么要這樣設(shè)計?如果沒有更好的理由開發(fā)某個功能那么不如去掉它 使用云服務(wù) 97%的公司將一些基礎(chǔ)設(shè)施或者全部放到云服務(wù)器上,這是由一定原因的,云服務(wù)具有敏捷性、靈活性和更高的安全性,使用云服務(wù)還可以收集日志、推送更新或發(fā)布API。 然而云服務(wù)最大的好處其實(shí)是自動化,你可以搭建整個代碼環(huán)境,并隨時銷毀然后重新創(chuàng)建它們。這可以稱為一次性基礎(chǔ)設(shè)施,系統(tǒng)可以被銷毀并從已知的系統(tǒng)鏡像將其恢復(fù)。自動化銷毀和重新創(chuàng)建具有很大的安全優(yōu)勢,如果我們的系統(tǒng)每周定期的消失一次,那么黑客的攻擊不可能持續(xù)的存在,一次性基礎(chǔ)設(shè)施是任何復(fù)雜系統(tǒng)最終的理想狀態(tài)。 總結(jié) 像黑客一樣思考需要你以不同的方式來看待你設(shè)計的系統(tǒng),包括觀察明顯的情況、理解人所犯的錯誤,了解黑客會去尋找并使用哪些線索(參見第1部分)。設(shè)計工程師應(yīng)該并且能夠采取措施來改進(jìn)系統(tǒng)開發(fā)流程從而將系統(tǒng)的風(fēng)險降至最低。執(zhí)行風(fēng)險評估、將安全集成到整個開發(fā)流程中、測試、開發(fā)自動化一次性的基礎(chǔ)設(shè)施以及使用云服務(wù)都是非常關(guān)鍵的措施,這些措施應(yīng)該會提升你的整個開發(fā)過程并且最小化系統(tǒng)風(fēng)險。 貿(mào)澤電子致力于幫助工程師開發(fā)更安全的系統(tǒng),參加“像黑客一樣思考”網(wǎng)絡(luò)研討會(與Anitian公司聯(lián)合舉辦)并且訂閱我們出版的數(shù)據(jù)安全電子雜志。 更多精彩內(nèi)容請點(diǎn)擊原文鏈接: https://www.mouser.cn/blog/mqtt- ... hine-communications ![]() |