slogan 专业知识问答平台!
佰学网 >教育 > 立知教育 > 安全测试的方法有哪些?

安全测试的方法有哪些?

原创 2023-04-10 14:36:13

安全性测试(Security Testing)是指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程,其主要目的是查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法侵入的防范能力,安全指标不同,测试策略也不同。

安全测试的常用方法有以下几种:

(1)静态代码检查

静态代码检查主要是通过代码走读的方式对源代码的安全性进行测试,常用的代码检查方法有数据流、控制流、信息流等,通过这些测试方法与安全规则库进行匹配,进而发现潜在的安全漏洞。静态代码检查方法主要是在编码阶段进行测试,尽可能早地发现安全性问题。

(2)动态渗透测试

动态渗透测试法主要是借助工具或手工来模拟黑客的输入,对应用程序进行安全性测试,进而发现系统中的安全性问题。动态渗透测试一般在系统测试阶段进行,但覆盖率较低,因为在测试过程中很难覆盖到所有的可能性,只能是尽量提供更多的测试数据来达到较高的覆盖率。

(3)扫描程序中的数据

系统的安全性强调,在程序运行过程中数据必须是安全的,不能遭到破坏,否则会导致缓冲区溢出的攻击。数据扫描主要是对内存进行测试,尽量发现诸如缓冲区溢出之类的漏洞,这也是静态代码检查和动态渗透测试很难测试到的。

从用户认证、网络、数据库和Web 四个角度进行安全性测试,需要注意以下几个方面:

(1)用户认证安全性测试

1) 系统中不同用户权限设置;

2) 系统中用户是否出现冲突;

3) 系统不应该因用户权限改变而造成混乱;

4) 系统用户密码是否加密、是否可复制;

5) 是否可以通过绝对途径登录系统;

6) 用户退出后是否删除其登录时的相关信息;

7) 是否可以使用退出键而不通过输入口令进入系统。

(2)网络安全性测试

1) 防护措施是否正确装配完成,系统补丁是否正确;

2) 非授权攻击,检查防护策略的正确性;

3) 采用网络漏洞工具检查系统相关漏洞(常用的两款工具为NBSI 和IPhackerIP);

4) 采集木马工具,检查木马情况;

5) 采用各种防外挂工具检查程序外挂漏洞。

(3)数据库安全性测试

1) 数据库是否具备备份和恢复的功能;

2) 是否对数据进行加密;

3) 是否有安全日志文件;

4) 无关IP 禁止访问;

5) 用户密码使用强口令;

6) 不同用户赋予不同权限;

7) 是否使用视图和存储过程;

(4)Web 安全性测试

1) 部署与基础结构;

2) 输入验证;

3) 身份验证;

4) 授权;

5) 配置管理;

6) 敏感数据;

7) 会话管理;

8) 加密;

9) 参数操作;

10) 异常管理;

11) 审核和日志记录;

©本文版权归作者所有,任何形式转载请联系我们:xiehuiyue@offercoming.com。

来自佰学网

刘老师

刘老师

中国人大教育学硕士

关注