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