从20世纪60年代中叶开始到现在,共50多年的时间里,白帽子们负责维护计算机系统的安全,阻止黑客攻击和破坏信息网络。当计算机具备了通过通信线路共享信息的能力,随之而来的就是,通信线路有可能被窃听,承载的数据有可能被窃取或破坏,于是产生了维护信息安全的需求。现在,全球每分钟大约有640兆兆字节的数据在线路上传送。有很多信息会被窃取,也有太多的信息需要保护。
早在1965年的时候,电脑安全专家就提醒政府和企业,电脑在交换数据方面的能力越强大,窃取数据的情况就会越多。在1967年的计算机联合会议上,汇集了15,000多名计算机安全专家、政府和企业分析人员,他们认为当前计算机通信领域的主要挑战是,计算机通信线路可能被窃听、提出术语、弄清变化趋势。
RAND 公司首先提出通过系统测试的办法保证网络安全的思路。RAND公司与美国的高级研究计划局ARPA合作,做了一个重要的报告,该报告被称作 The Willis Report 。这个报告讨论了安全问题,并提出了策略和技术上的对策,即便到现在,它也是安全解决方案的基础。
从这篇报告开始,政府和企业就开始联合起来,寻找计算机系统和网络里的漏洞,保护计算机系统不被恶意攻击和渗透。组成了一个被称作tiger teams的团队,测试计算机网络抵抗攻击的能力。许多系统被很快攻破。由RAND公司和政府实施的渗透测试说明了 两个问题:第一,系统可以被渗透;第二,使用渗透测试的技术发现系统、网络、硬件和软件中的漏洞是很有意义的实践,需要进一步研究和发展 。
James P. Anderson 是渗透测试发展早期的先驱之一。他在1972年的报告中提出了一系列测试系统被渗透和攻击的可能性的具体步骤。Anderson的方法包括,首先寻找脆弱点,设计出攻击方法,然后寻找到攻击过程的弱点,找到对抗威胁的方法。这个基本方法至今仍在使用。
在上世纪七八十年代,研究如何创建一个安全的系统还是一件新奇的事情。Anderson在1980年发表的一篇文章中说到,设计一个能监控计算机系统使用情况的程序,通过识别非正常的使用来发现黑客活动。这个原理简单易懂,现在的计算机用户也可以很容易理解其工作方式,围绕它提出许多具体办法。在当时,这项工作是突破性的,其中的许多方法是当前标准系统防护的一部分。
另外一个被广泛用于政府、军事和企业的系统是 Multics (Multiplexed Information and Computing Service)。它或许是计算机系统的祖父,从1965年到2000年以不同的形式活跃着,或许现在也在使用。 Honeywell最终购买了它,并将之服务于教育、政府和工业。Multics带来的主要影响是,它通过远程的方式提供安全计算服务,这在当时是很大的一个发展。Multics的基础架构仍然在当今操作系统中使用,比如UNIX。
Multics安全系统是第一个获得美国政府的B2奖的操作系统。在1974年,美国空军组织了一次对Multics系统的攻击测试,一位知名白帽子参与了攻击,发现并公布了许多漏洞。尽管如此, Multics仍然被认为是世界上最安全的系统之一 ,它的所有安全特性是标准产品的一部分,而不是附属物。应用程序开发人员要想让他们的产品在Multics系统上工作,必须保证他们的产品满足访问设计安全。现在,安全成为了一个可选项,应用软件也无法满足这样的安全条件,这导致计算机用户可能被攻击。
在上世纪九十年代,出现了一款用于分析网络安全的管理工具 SATAN 。开发人员还增加了一项可以配置SANTA的功能。管理员可以用这个工具测试他们的网络,寻找可能的漏洞,并生成一个包含可能会引发的问题的报告。SATAN已经被nmap和Nessus之类的工具取代,不再更新了。
当前,渗透测试可用的工具越来越多。出现了包含许多安全测试工具的系统。其中之一便是Kali Linux,它被用于数字取证和渗透测试工作中。它包含8个标准的安全工具,分别是Nmap, Aircrack-ng, Kismet, Wireshark, Metasploit Framework, Burp Suite和John the Ripper。一个系统包含了这么多渗透测试工具,这说明现在的技术已经变得多么复杂,聪明的黑客们探索出了各种方法来攻击网络。另外,Pentoo也是一个用于渗透测试的系统。
最近的一个RAND报告中讲到,美国一年中,约有六千五百万个人的私人数据遭到泄露,网络犯罪每年会产生数十亿美元的收益。
现在 ,按需渗透测试成为了一种最新的测试网络安全的方法 。这种方法将安全人员实施的人工测试和自动化工具实施的安全检查结合起来,共同测试网络安全。这种方法可以提供宽泛而严密的安全测试。它已经发展成为一种订阅式(subscription-based)服务。对于无法大量开发渗透测试工具和聘请安全专家的小公司来说,可以通过这种方式根据需要雇佣专家来检查他们的系统。由于系统测试大约是半年一次,对于小机构来说,这种方法可以节约很多成本。
目前,每年有大约64亿美元用于安全工具和安全检查。渗透测试执行规范在2009年正式确定,时间也不是很长。对于缺乏经验的人来说,编写可用的安全工具以及维护一个安全系统会令他们望而却步。对于正在寻找自己事业的人来说,渗透测试是一个快速发展的领域,在这个领域有很多道路可以作为自己的事业来追逐。