我是一名IT专业的学生,我现在在大学三年级。到目前为止,我们已经学习了很多与计算机相关的学科(编程、算法、计算机体系结构、数学等)。
我很确定没有人能学会所有关于安全的知识,但肯定有一个“最低限度”的知识每个程序员或IT学生都应该知道,我的问题是这个最低限度的知识是什么?
你能建议一些电子书或课程或任何可以帮助我们开始这条路的东西吗?
我是一名IT专业的学生,我现在在大学三年级。到目前为止,我们已经学习了很多与计算机相关的学科(编程、算法、计算机体系结构、数学等)。
我很确定没有人能学会所有关于安全的知识,但肯定有一个“最低限度”的知识每个程序员或IT学生都应该知道,我的问题是这个最低限度的知识是什么?
你能建议一些电子书或课程或任何可以帮助我们开始这条路的东西吗?
当前回答
我愿补充以下几点:
数字签名和数字证书是如何工作的 沙盒是什么
了解不同的攻击载体是如何工作的:
本机代码的缓冲区溢出/下溢/等 社会工程师 DNS欺骗 中间的人 CSRF/XSS等 SQL注入 加密攻击(例如:利用弱加密算法,如DES) 程序/框架错误(例如:github最新的安全漏洞)
你可以很容易地谷歌所有这些。这会给你一个很好的基础。 如果你想了解web应用程序的漏洞,有一个名为谷歌gruyere的项目可以向你展示如何利用一个正在运行的web应用程序。
其他回答
你应该知道三个A。认证、授权、审计。典型的错误是验证用户身份,而不检查用户是否被授权执行某些操作,因此用户可能会查看其他用户的私人照片,Diaspora所犯的错误。很多人忘记了审计,在一个安全的系统中,你需要能够知道谁在什么时候做了什么。
只是想把这个分享给网页开发者:
security-guide-for-developershttps: / / github.com/FallibleInc/security-guide-for-developers
一个好的入门课程可能是麻省理工学院的计算机网络与安全课程。我建议的一件事是不要忘记隐私。从某种意义上说,隐私确实是安全的基础,在有关安全的技术课程中并不经常涉及。你可能会在这门与互联网相关的道德与法律课程中找到一些关于隐私的材料。
Mozilla的Web安全团队制定了一个很好的指南,我们在网站和服务的开发中都遵循这个指南。
当你创建任何企业或任何自己的软件时,你应该像黑客一样思考。正如我们所知,黑客也不是所有事情的专家,但当他们发现任何漏洞时,他们开始通过收集所有事情的信息来挖掘它,最终攻击我们的软件。所以为了防止这种攻击,我们应该遵循一些众所周知的规则,比如:
总是尝试破译你的密码(使用小抄和谷歌之类的东西来获取更多信息)。 更新编程域中的安全漏洞。 如上所述,永远不要相信任何类型的用户或自动输入。 使用开源应用程序(它们的大多数安全缺陷已经被知道并解决了)。
你可在以下连结找到更多保安资源:
owasp安全 CERT安全 无安全 netcraft 太空安全 openwall PHP交会 Thehackernews(不断更新自己)
有关应用程序供应商安全流程的更多信息谷歌。