我是一名IT学生,现在是大学三年级。到目前为止,我们一直在研究许多与计算机相关的学科(编程、算法、计算机体系结构、数学等)。
我非常确定没有人能够学习有关安全的所有知识,但可以肯定每个程序员或 IT 学生都应该了解“最低”知识,我的问题是这个最低知识是什么?
您能推荐一些电子书或类(class)或任何可以帮助您开始这条道路的东西吗?
最佳答案
如果您希望应用程序安全,请记住以下原则:
- 永远不要相信任何输入!
- Validate input来自所有不受信任的来源 - 使用白名单而不是黑名单
- 从一开始就做好安全计划 - 这不是你可以在最后才强加的东西
- 保持简单 - 复杂性会增加出现安全漏洞的可能性
- 保留您的attack surface最小化
- 请确保 fail securely
- 使用defence in depth
- 坚持least privilege原则
- 使用threat modelling
- Compartmentalize - 所以你的系统不是全有或全无
- 隐藏 secret 很困难 - 隐藏在代码中的 secret 不会长期保密
- 不要编写自己的加密货币
- 使用加密货币并不意味着您是安全的(攻击者会寻找较弱的链接)
- 请注意 buffer overflows以及如何防范它们
网上有一些关于确保应用程序安全的优秀书籍和文章:
- Writing Secure Code 2nd Edition - 我认为每个程序员都应该读一下这篇文章
- Building Secure Software: How to Avoid Security Problems the Right Way
- Secure Programming Cookbook
- Exploiting Software
- Security Engineering - 一本精彩的读物
- Secure Programming for Linux and Unix HOWTO
对您的开发人员进行应用程序安全最佳实践培训
Codebashing (付费)
Security Innovation (付费)
Security Compass (付费)
OWASP WebGoat (免费)
关于security - 每个程序员都应该了解哪些安全知识?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2794016/