像黑客一样思考第2部分:搭建安全系统
发布时间:2018-9-10 10:23
发布者:eechina
作者:安德鲁柏拉图(Andrew Plato) 在第1部分我们探讨了黑客的思维,他们所具备的技能以及他们用来破解系统的很多线索和相关 ![]() 积极的进行测试 集成到开发过程中一个更重要的步骤就是进行安全性测试,对每个阶段都进行测试: 设计阶段:对你的架构设计和第三方组件进行进行安全审查 开发阶段:代码检查和漏洞扫描 测试阶段:现场部署系统进行渗透测试 生产:在实际环境中尝试破解系统 选择敏捷性而不仅仅是强硬的 你永远不可能建立起足够高的墙来阻止所有的黑客,所以不如让你的系统变得更加的敏捷不仅仅是强硬的,如果你的系统遭受了攻击,你能做出哪些反应: 多快能进行系统更新? 你怎么知道系统被攻击了? 攻击引发的后果是怎样的? 谁有可能发动了这次攻击? 如果你的加密系统(如果有采用)被攻击了会怎样? 其他技术比如防火墙能够减轻攻击吗? 保持整洁 将一些潜在的弱点转变为优势,我们可以采取如下措施: 在接收和发送数据之前都进行验证 禁止不必要的访问,严格限制所有的访问请求除非是绝对必须的 阻止不受信任的应用程序 严格限制所有的远程访问 对所有数据进行加密:不管是在数据保存还是发送过程中 在系统启动前执行完整性检查 避免系统的复杂,对系统进行模块化细分 移除调试功能(如果可能的话) 产品为什么要这样设计?如果没有更好的理由开发某个功能那么不如去掉它 使用云服务 97%的公司将一些基础设施或者全部放到云服务器上,这是由一定原因的,云服务具有敏捷性、灵活性和更高的安全性,使用云服务还可以收集日志、推送更新或发布API。 然而云服务最大的好处其实是自动化,你可以搭建整个代码环境,并随时销毁然后重新创建它们。这可以称为一次性基础设施,系统可以被销毁并从已知的系统镜像将其恢复。自动化销毁和重新创建具有很大的安全优势,如果我们的系统每周定期的消失一次,那么黑客的攻击不可能持续的存在,一次性基础设施是任何复杂系统最终的理想状态。 总结 像黑客一样思考需要你以不同的方式来看待你设计的系统,包括观察明显的情况、理解人所犯的错误,了解黑客会去寻找并使用哪些线索(参见第1部分)。设计工程师应该并且能够采取措施来改进系统开发流程从而将系统的风险降至最低。执行风险评估、将安全集成到整个开发流程中、测试、开发自动化一次性的基础设施以及使用云服务都是非常关键的措施,这些措施应该会提升你的整个开发过程并且最小化系统风险。 贸泽电子致力于帮助工程师开发更安全的系统,参加“像黑客一样思考”网络研讨会(与Anitian公司联合举办)并且订阅我们出版的数据安全电子杂志。 更多精彩内容请点击原文链接: https://www.mouser.cn/blog/mqtt- ... hine-communications ![]() |
网友评论