软件安全测试--详细总结

摘要

安全性测试从冷门的话题,随着国内各大知名网站频繁被攻击,重要社区用户信息被泄露,逐步被各方所重视。而具体怎么做软件安全性测试,防止骇客有机可乘,国内普遍处于才起步的状态。今天笔者就自己的经验,系统总结了我所了解和掌握的安全测试,希望抛砖引玉,让更多更好的软件安全测试技术、经验被分享出来,供大家交流、学习,让我们的安全测试迈步起到一定的推动作用。

软件安全性测试

安全性测试(Security test)它是指:在测试软件系统中对程序的危险防止和危险处理进行的测试,以验证其是否有效。

软件安全具体测试方法

软件安全性测试包括了应用安全、数据,操作系统等方面。根据不同的安全测试指标,有不同的测试策略。最后,从社会工程学角度总结了出现非软件性安全的原因。下面总结了具体的安全测试项和对应的测试方法。

一、应用安全

应用安全的测试有包括了安全的审计、密码支持、标识与鉴别、用户数据保护和安全管理等五个方面。下面具体说每个方面需要做的测试项和具体的测试方法。

A安全审计

1、安全审计自动响应

①系统用户的安全属性作非常规的添加或修改操作,如:对所有用户赋予管理员角色或所有权限操作。系统中只能存在一个超级管理角色。

②查看系统的是否告警提示并记录相关操作信息,即日志中应该有相关记录。

2、安全审计数据产生

系统需要提供日志机制,并能够记录与安全相关的事件,可以定义审计的级别(如告警,紧急,提示级别)。

3、用户身份关联

查阅相关的日志记录,当审计数据产生时,审计数据是否能将每个可审计事件与引起该事件的用户身份相关联。

4、审计查阅

①在日志相关界面能否查看到审计数据。

②系统是否能提供一些功能方便查看,如选择“全部”,按涉及用户的审计记录信息,或按时间查看等等。

5、限制审计查阅

①使用日志管理员帐号登录系统,能查看系统审计信息;

②使用非日志管理员帐号依次登录系统,不能查看系统审计模块信息。

6、可选审计查阅

①测试系统是否提供分类查看审计记录的功能;

②测试系统是否提供排序功能方便查看审计记录;

③测试系统是否提供“与”/“或”的查询功能方便查看审计记录,是否直接模糊查询。

7、安全审计事件选择

①设置集中审计事件排除条件;

②模拟发生集中审计事件,观察系统反应。

8、受保护的审计记录存储

使用系统划分出的用户身份(不具有审计删除权限)登录系统:尝试删除审计记录,看是否成功。

9、防止审计数据丢失

模拟审计数据已满情况,查看系统是否可选择“忽略可审计事件、阻止产生特有特权的授权用户外的所有可审计事件、覆盖所存储的最早的审计记录”中的一种处理方式,以确保审计数据不发生丢失现象。

B密码支持

密码运算,检查密码的加密规则是否安全可靠,一般通用md5加密方式。

C标识与鉴别

1、用户属性定义

检查用户授权角色管理机制,验证用户属性定义有效性。即系统能够对每个用户的安全属性分别加以有效定义。

2、鉴别方式

检测系统采用的身份鉴别方式。

3、用户标识

①在用户登录界面中,使用匿名用户登录系统,执行需要访问权限才能执行的操作,查看系统响应;

②使用各种角色的用户进行登录,然后进行操作;

③不进行登录,通过匿名用户执行访问操作。

4、用户-主体绑定

检测用户的安全属性是否关联到代表用户活动的主体上。应该关联到活动主体上,即不同用户有不同权限。

5、口令强度

①检测口令复杂度,强度;

②使用大小写英文字母、数字和特殊字符等多种组合进行验证。

6、口令保护

检测口令是否进行加密传输字符。即不能以明文的方式进行口令传输。

7、任何动作前的用户鉴别

检查用户进行操作前,系统是否进行权限鉴别。即要对系统操作,必须使用正确的用户名和密码。

8、重新鉴别

检测系统是否提供重新鉴别机制,系统长时间不做任何响应或鉴别失败后,是否要求进行重新登录。

D用户数据保护

1、采用加密技术

检查系统是否对传输的信息采用安全加密技术。

2、信息存储安全性

对于重要数据保存是否采用加密方式。

3、数据传输安全性

检测系统对重要数据是否进行加密传输。

4、数据一致性

①检测系统是否对数据的有效性,数据项之间的逻辑关系进行校验;

②检测系统是否保证数据的完整性和一致性,是否会因删除或反复的更新而被破坏或留下垃圾数据;

③对不符合要求的输入数据,系统是否使用中文给出简洁、准确的提示信息。

5、密码设置

①进入系统是否需要密码身份验证;

②是否有密码设置策略,是否包括有效期、最小长度、复杂度、非空设置、大小写敏感度等;

③所有的密码是否明码显示、存储与传输。

6、备份和恢复

检查是否提供数据备份与恢复手段,检测是否提供数据备份与还原手段。

E安全管理

1、安全属性管理

①查看系统是否具有用户权限分配权限的特定角色;

②对用户列表中的任意一个用户进行角色分配;

③使用不具有用户管理权限分配的特定角色用户进入系统,查看是否能对用户进行权限划分。

2、安全的安全属性

①进入新建用户界面,新建一个用户;

②输入其他必填项,不输入密码;

③输入纯数字用户登录密码;

④输入纯字符用户登录密码;

⑤输入数字和字符混和的用户登录密码。

3、静态属性初始化

①新增一个用户,对其初始状态的权限进行修改;

②使用新增加的用户登录平台,查看被编辑的权限,在系统中是否能实现。

4、数据的管理

①最高权限用户进入系统,查看是否具备安全审计功能模块;

②最高权限用户进入系统,修改角色。

5、数据限值的管理

①最高权限用户进入系统,添加用户;

②填写相关用户信息,并并限制登陆区域;

③使用新创建的用户登录系统,但登录的用户IP不在所填写的区域控制范围内。

6、安全的数据

①最高权限用户进入系统,添加用户;

②填写相关用户信息,录入无效的用户数据,观察系统反应。

7、撤销

①最高权限用户进入系统,选择一个用户,对所选用户的权限进行查看和撤销;

转载于:https://www.cnblogs.com/xqh1215/p/7866423.html

软件安全测试--详细总结相关推荐

  1. 「原理」AB测试-详细过程和原理解读

    这篇我们来详细讲讲AB测试的原理和具体的过程. AB测试原理简介 AB测试最核心的原理,就四个字:假设检验.检验我们提出的假设是否正确.对应到AB测试中,就是检验实验组&对照组,指标是否有显著 ...

  2. 软件安全测试:安全左移的痛点与要点

    软件开发安全,是网络安全行业近年想积极探索的技术领域,虽然这个技术领域已经存在了将近20年时间,但是直到2020年2月的RSAC大会,开发安全才真正成为网络安全行业的关注热点.同样,2019年12月1 ...

  3. 软件安全测试的几个原则

    软件安全性是一个广泛而复杂的主题,要避免因安全性缺陷问题受各种可能类型的攻击是不切实际的.本文从软件安全测试需要考虑的问题,来探讨软件安全测试原则,通过遵循这些原 摘要:软件安全性是一个广泛而复杂的主 ...

  4. 软件安全测试-软件安全测试概述

    目录 1. 写在前面 2. 什么是安全测试? 3. 安全测试和渗透测试的区别? 4. 何为安全漏洞? 4.1. 常见的漏洞类型 4.2. 漏洞等级 5. 安全漏洞的危害? 6. 如何发现或预防安全漏洞 ...

  5. 软件安全测试有哪些方法?

    软件安全测试是检验软件安全等级以及检查程序中的漏洞.bug.风险并防止外来的恶意攻击,目的是确定软件系统的所有可能漏洞和弱点,这些漏洞和弱点可能导致信息.收入损失以及用户声誉受损等不良后果.那么软件安 ...

  6. 有了这几个软件安全测试工具,编写安全测试报告再也不愁

    软件的安全是开发人员.测试人员.企业以及用户共同关心的话题,尤其是软件产品的使用者,因为系统中承载着用户的个人信息.人际互动.管理权限等各类隐私海量关键数据.软件安全测试工作不仅是为了用户,更牵扯到许 ...

  7. 软件安全测试-web安全测试基础

    目录 1. Web安全的测试范围 2.Web安全的四要素 3. Web安全的分类 4. Web安全的类别排名​ 5. 零时差攻击 6. Web安全的载体 7. 了解软件安全测试相关的Cooike,Se ...

  8. ProE野火4.0+vs2005 Pro/Toolkit 二次开发测试详细教程

    ProE野火4.0+vs2005 Pro/Toolkit 二次开发测试详细教程 2011-04-09 23:02 536人阅读 评论(0) 收藏 举报 Pro/Toolkit可以帮助我们开发出自己需要 ...

  9. 计算机辅助普通话测试教程,计算机辅助普通话水平测试详细操作步骤

    计算机辅助普通话水平测试详细操作步骤 一.报名 1.登录管理系统 (1)在IE中输入管理系统的网址: (2)输入分配的测试站帐号和密码登录(初始密码:111111)管理系统. 2.新建测试任务 (1) ...

  10. monkey稳定性测试详细介绍

    一.什么是稳定性测试? 通过随机点击屏幕一段时间,看看app会不会奔溃,能不能维持正常运行 二. Money是什么? Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟 ...

最新文章

  1. 大庆东风中学高考成绩查询2021年,2021年大庆中考成绩和分数线什么时候公布(附查询入口)...
  2. html5新增的js,HTML5新增属性data-*和js/jquery之间的交互及注意事项
  3. 调节e18-d80nk的测量距离_地坪研磨机磨盘平整度的调节方法及好处
  4. 容器精华问答 | 虚拟机和容器的区别是什么?
  5. Github——git本地仓库建立与远程连接(最详细清晰版本!附简化步骤与常见错误)
  6. Lua之table(表)
  7. 学Python Web开发框架到什么程度可以找到开发的工作?
  8. 浅谈代码审计入门实战:某博客系统最新版审计之旅
  9. prthon序列、映射
  10. Appium自动化测试(Java版)
  11. 前端UI框架网址大全----后续会有添加
  12. 如何测试webservice接口
  13. NanDigits GOF ECO 9介绍
  14. 视频文件常见格式-MP4
  15. 计算机表格怎么互换,excel怎么把单元格交换位置
  16. 【Python】python转义字符
  17. 一个页面中有两个iframe
  18. Django程序的发布
  19. 2020年最新WorldFirst注册图文教程(0.3%提现费)
  20. Java面向对象高级部分——通过Class类实例化对象(五十二)

热门文章

  1. 让手机成为电脑的摄像头,Droidcam(linux) 的安装及使用
  2. ReportMachine如何导出PDF文档?
  3. 计算机硬件认识与了解,计算机硬件认识实习报告参考
  4. 微型计算机原理与接口技术冯博琴答案,冯博琴微型计算机原理与接口技术第3版课后习题答案解析...
  5. 网络操作系统和分布式操作系统的区别
  6. matlab与计量经济学,matlab与计量经济学
  7. 未来IT技术展现——虚拟化技术大盘点
  8. 雨林木风Ghost XP SP3 装机版 YN9.9 九月修正版 【雪豹】
  9. 微信小程序-2-微信开发者工具介绍
  10. 智能电视的“假聪明”与“真智慧”