我刚从一个关于互联网安全的黑客大会上回来,我有兴趣学习网络安全和保护公司免受黑客攻击。但我不知道从哪里开始学习什么语言..
有人能指出我正确的方向吗?
答案 0 :(得分:4)
每个人都有自己的安全哲学。发展自己的哲学至关重要。这就是Bruce Schneier如此受欢迎的原因,我阅读了每篇博文。
在当前的安全状态下,充斥着失败的安全系统。我相信这是因为以下引用。
“我无法创造,我没有 理解“。
- Richard Feynman
学习如何破解软件是学习如何保护软件免受攻击的最重要步骤。您必须在软件中找到漏洞并编写漏洞利用代码。
答案 1 :(得分:2)
这是一个巨大的领域。人们从中获得终生的职业生涯。作为初学者,您需要学习:
这应该是一个好的开始。
答案 2 :(得分:1)
经典文章“Smashing the Stack for Fun and Profit”是必读的。
它处理缓冲区溢出 - 一种非常常见的漏洞。虽然它相对较低,但理解缓冲区溢出绝对是学习安全性的第一步。
答案 3 :(得分:1)
语言并不重要,不是真的,安全性不仅仅是一种实现方式。您可以使用多种语言和框架来编写Internet应用程序,并且应该内置应用程序的安全性,而不是在顶层。如果您想保护现有网站,则需要重写易受攻击的代码,或者在应用程序和互联网之间放置Web应用程序防火墙。
最好先关注这些概念,然后学习如何以您选择的语言应用它们。 Microsoft安全开发生命周期以及他们围绕威胁建模所做的工作是其他应该检查的 - 因为它涵盖了从一开始就构建它并在每次开发迭代时创建反馈循环。
(哦,我确实在ASP.NET security grin 上写了一本书)
答案 4 :(得分:1)
在任何应用程序中实施安全性时,最重要的经验教训之一是不使用自制安全系统 - 您最终会使应用程序的安全性降低。
不要尝试编写新的哈希算法,流加密方法或其他100个部分。
始终使用众所周知且经过良好测试的模块和算法,例如OpenSSL,Blowfish encryption和salted password hashes。
答案 5 :(得分:1)
最好的起点是OWASP(开放式Web应用程序安全项目)。他们拥有大量资源,包括OWASP Top Ten,包括Web应用程序的10个最关键的漏洞/风险及其安全代码开发指南,可以在线阅读(wiki)或以PDF格式下载。
他们还拥有Web Goat,这是一个易受攻击的Web应用程序,人们可以下载和使用它来了解漏洞,它们的工作方式以及纠正它们的最佳方法。它非常有趣,它带有提示和解决方案。
他们还组织会议(查看网站的视频会话,他们通常会发布会谈的视频和幻灯片),不同城市的章节组织会议,人们谈论网络应用安全的有趣方面。您应该考虑加入您所在地区的一个。
您可以访问OWASP网站中的所有信息:http://www.owasp.org