安全测试——当务之急
雅虎最近确认,2014年末其系统发生大规模数据泄露,至少5亿用户账户信息可能被黑客窃取。雅虎发言人的声明指出,这些账户信息可能包括姓名、电子邮件地址、电话号码、出生日期、哈希密码,以及某些情况下的加密或未加密的安全问题和答案。
来自美国的另一个消息,美国安全机构最近发现黑客正在努力渗透选民登记数据库以获取机密信息,因为选举即将到来。尽管他们尚未能够渗透系统。
您可能听说过许多此类网络安全漏洞事件。对于用户以及构建和维护这些应用程序的公司而言,这些新闻确实令人震惊和担忧。这就是为什么安全测试成为人们关注的焦点,以防止软件应用程序受到恶意攻击。
什么是安全测试?
在进行应用程序测试时,我们通常关注功能和性能测试。假设需要对涉及货币交易的银行和金融应用程序进行安全测试,而不需要对普通应用程序进行安全测试。这是一个误解;事实上,安全测试不仅可以防止财务损失,还可以保护有用的数据不落入黑客手中。
安全测试使我们能够找出系统中的漏洞和弱点,这些漏洞和弱点可能给组织造成巨大的损失。
应识别并修复系统的威胁和弱点,以保护应用程序的宝贵数据。
在执行安全测试时,我们应该记住一些基本事项:
授权 - 只有授权用户才能访问应用程序
身份验证 - 验证输入数据,应限制虚假或恶意数据
机密性 - 数据机密性应保持完整并受到保护
完整性 - 数据完整性在通信过程中不应更改
不可否认性 - 发送方和接收方都不能否认数据已发送和接收
何时执行安全测试?
我们并非只在项目周期测试阶段才考虑安全测试。事实上,我们应该更早地进行规划,从需求分析阶段开始。
在需求阶段进行安全分析,并准备相关的场景、测试数据和测试用例
在测试计划和项目进度中预留安全测试时间,并找到执行安全测试的工具
执行安全测试的基本步骤
无论您是使用一些已建立的工具进行安全测试,还是考虑购买新的工具,您仍然可以执行一些最低限度的检查。一些无需借助任何大型工具即可进行的基本检查,例如:
基本用户凭据验证检查,无效用户不应侵入系统
应用程序间的密码应采用加密格式
在某些应用程序中,不允许“右键单击”和“后退按钮”操作。检查它们
验证会话在用户一段时间不活动时应超时
对于 Web 应用程序,您可以使用浏览器的内置开发者工具来检查应用程序的源代码和样式元素
使用开发者工具,您可以检查发送的请求以及浏览器是否允许操作内联代码
通过使用内置插件和扩展程序,您可以通过操作数据、HTTP 请求和其他方面来测试您的 Web 应用程序,以确保 Web 应用程序的安全。
谁将执行安全测试?
当我们讨论安全测试时,最常见的问题是:**谁来做这件事?**我认为这不像“给猫戴铃铛”那么难;任何测试人员都可以执行此操作,前提是他具备**必要的知识,并了解安全测试的各个方面**。
还有一些合法黑客,也称为道德黑客,公司授权他们通过入侵其网站来找出漏洞。
谷歌最近宣布了“零项目”竞赛,邀请黑客参加 Android 黑客大赛,以找出安全漏洞,一等奖获得者将获得高达 200,000 美元的现金奖励。
流行的开源工具
让我们看看一些流行的开源安全测试工具。
Vega – 它是一个自动化漏洞扫描器和测试工具,用于测试 Web 应用程序。它可以检测 SQL 注入、头注入、跨站点脚本等漏洞。它适用于 Linux、OS X 和 Windows 平台。
Grabber – 它是一个简单的工具,用于检测 Web 应用程序的漏洞,没有图形用户界面。它可以检测跨站点脚本、SQL 注入、Ajax 测试、文件包含、JS 源代码分析器、备份文件检查等漏洞。
ZED Attack Proxy – 也称为 ZAP,此工具适用于 Windows、Unix/Linux 和 Macintosh 平台。这是执行 Web 应用程序渗透测试最有效的工具之一。
Netsparker – 它是一个无误报的安全扫描器工具,用于 Web 应用程序。它还可以检测许多漏洞,例如 SQL 注入、URL 操纵、跨站点脚本、暴力攻击等。它支持基于 Ajax 和 JavaScript 的应用程序。
市场上还有许多其他工具。您可以根据自己的需求选择最佳工具。世界各地都有黑客日夜试图窃取您在互联网上提供的宝贵数据。因此,安全测试是当务之急,以确保您的应用程序免受数据盗窃、未经授权的访问和整体安全漏洞的侵害。
引用本杰明·富兰克林先生的格言:“预防胜于治疗”,因此,最好现在就进行安全测试,而不是在发生任何事件后再采取行动。