软件安全性测试,就是通过一系列专业的手段和方法,去发现、证实并修复软件中存在的安全漏洞,保证能够抵御恶意攻击。一套完整的安全性测试体系,一般包括漏洞扫描、渗透测试、代码审计等多个方面。
谈及Web应用安全时,有一个词不管怎样都绕不开OWASP TOP 10。它由开放式Web应用程序安全项目(OWASP)发布,是全球公认的关于Web应用最致命十大安全风险的权威指南。
软件安全性测试的内容
专业的第三方软件安全测试,如湖南卓码软件测评有限公司为客户(包括高校、科研机构及高新企业)提供的服务,一般会包含以下测试内容:
漏洞扫描:利用自动化工具对系统进行全面体检,快速发现已知漏洞,如SQL注入、跨站脚本等。这一般包括对源代码的静态扫描(SAST)和对运行中应用的动态扫描(DAST)。
渗透测试:模拟真实黑客的攻击行为,尝试绕过安全防护,入侵系统或窃取数据。这是一种深度测试,为了证实漏洞的可利用性及其带来的实际业务影响。
认证和授权测试:证实系统的登录机制是不是健壮,以及权限控制是不是严密。测试人员会检查是不是存在暴力破解风险、会话固定攻击、以及越权操作漏洞(如普通用户能否访问管理员页面)。
输入证实测试:检查系统对所有用户输入的检查是不是充分。未经证实的输入是导致注入类攻击的根源。测试人员会尝试在输入框提交各种恶意构造的代码或命令,观察系统反应。
安全配置审核:检查应用服务器、数据库、云平台的配置是不是安全。许多攻击正是利用了默认配置、开启的目录列表、过时的软件版本或错误的安全方法。
加密和敏感信息保护测试:保证数据在传输(如HTTPS/TLS)和存储时都采用了足够强度的加密,且加密密钥管理安全。同时检查是不是在日志或前端页面中泄露了密码、身份证号等敏感信息。
软件成分分析(SCA):针对现代软件大量使用开源组件的情况,SCA工具可以盘点所有第三方库和依赖,并筛查其中是不是存在已知的公开漏洞(CVE)。
会话管理测试:检查Cookie、Token等会话令牌的生成是不是随机、传输是不是安全、注销是不是有效,防止攻击者通过会话劫持冒充合法用户。