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