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