为了账号安全,请及时绑定邮箱和手机立即绑定

每个程序员应该对安全性了解什么?

/ 猿问

每个程序员应该对安全性了解什么?

元芳怎么了 2020-02-03 13:44:28

我是一名IT专业学生,现在已经大学三年级了。到目前为止,我们一直在研究很多与计算机相关的主题(编程,算法,计算机体系结构,数学等)。

我非常确定没有人可以学习有关安全性的所有知识,但可以确保每个程序员或IT学生都应该了解“最小”知识,而我的问题是,这是最低知识?

您能否建议一些电子书或课程,或者有什么可以帮助您开始这条路的?


查看完整描述

3 回答

?
慕雪9262066

如果您希望自己的应用程序安全,请记住以下原则:


永远不要相信任何输入!

验证 来自所有不受信任来源的输入 -使用白名单而非黑名单

从一开始就计划安全性-最终您无济于事

保持简单-复杂性增加了安全漏洞的可能性

保持你的攻击面降至最低

确保您安全失败

深入使用防御

坚持最小特权原则

使用威胁建模

分区化 -因此您的系统不是全部还是没有

隐藏秘密很困难-隐藏在代码中的秘密不会长期保持秘密

不要写自己的加密货币

使用加密并不意味着您安全(攻击者会寻找较弱的链接)

注意缓冲区溢出以及如何防止它们溢出

在线上有一些关于使您的应用程序安全的优秀书籍和文章:


编写安全代码第二版 -我认为每个程序员都应阅读此书

构建安全软件:如何正确避免安全问题

安全编程手册

开发软件

安全工程 -优秀读物

Linux和Unix的安全编程HOWTO


查看完整回答
反对 回复 2020-02-03
?
慕桂英4014372

程序员安全性的第一条规则:不要自己动手

除非您自己是安全专家和/或密码专家,否则请始终使用设计良好,经过测试和成熟的安全平台,框架或库来为您完成工作。这些事情已经花费了数年的时间由专家和黑客进行思考,修补,更新和检查。您想获得这些优势,而不是通过重新发明轮子来消除它们。

现在,这并不是说您不需要学习任何有关安全性的知识。您当然需要了解足够的知识,以了解自己在做什么,并确保正确使用工具。但是,如果您发现自己即将开始编写自己的加密算法,身份验证系统,输入清理程序等,请停止操作,退后一步,并记住规则1。


查看完整回答
反对 回复 2020-02-03
?
慕莱坞5435954

每个程序员都应该知道如何编写漏洞利用代码。

在不知道如何利用系统的情况下,您不小心停止了漏洞。除非您知道如何测试修补程序,否则知道如何修补代码绝对是没有意义的。安全不仅仅是一堆思想实验,您必须科学并测试您的实验。


查看完整回答
反对 回复 2020-02-03
  • 3 回答
  • 0 关注
  • 190 浏览
我要回答
慕课专栏
更多

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信