安全测试:概述和用例设计

参考内容:《质量全面监控:从项目管理到容灾测试》

一、安全测试概述

定义:安全测试是在软件产品开发基本完成时,验证产品是否符合安全需求定义和产品质量标准的过程。

概念:安全测试是检查系统对非法侵入渗透的防范能力。

准则:理论上来讲,只要有足够的时间和资源,没有无法进入的系统。因此,系统安全设计的准则是使非法侵入的代价超过被保护信息的价值。

目标:通过对系统进行精心、全面的脆弱性安全测试,发现系统未知的安全隐患并提出相关建议,确保系统的安全性。安全性一般分为应用程序级别和系统级别,区别如下:

应用程序级别:包括对应数据或业务功能的访问,核实应用程序的用户权限只能操作被授权访问的那些功能或数据。

系统级别:包括对操作系统的目录或远程访问,主要核实具备系统和应用程序访问权限的操作者才能访问系统和应用程序。

二、基本过程

1、安全开发生命周期

2、安全测试流程图

三、安全测试工具

序号 名称 简介
1 IBM AppScan 一个领先的web应用安全工具,可自动进行安全漏洞评估、扫描和检测所有常见的web应用安全漏洞,如:SQL注入、跨站点脚本攻击(CSS)、缓冲区溢出等
2 Burp Suite 一个用于攻击web应用程序的集成平台,包含大量的安全测试工具,并为这些工具设计了对外访问接口,以加快攻击应用程序的过程
3 Metasploit 一款开源的安全漏洞检测工具,可以帮助安全人员和IT专业人士识别安全性问题,挖掘漏洞,攻击漏洞,并评估漏洞风险级别
4 Wireshark 适用于Windows和Linux的网络协议分析工具,也是一个很出名的数据包分析工具,可以检查网络流量,是观察TCP/IP异常流量的很好的工具
5 Kail Linux 目前比较流行的安全渗透测试平台,包含了最新的安全测试工具,允许用户从CD或者U盘启动,通过U盘来实施安全渗透测试

四、常见的安全测试用例

根据不同的安全测试类型,需要采用不同的测试方法来对测试项进行验证。下面列出了常见的一些安全测试用例。仅供参考:

以上内容仅供参考,具体还需要多实践,考虑具体的业务场景来进行测试。。。

原文地址:https://www.cnblogs.com/imyalost/p/8243128.html

时间: 2024-11-08 13:33:07

安全测试:概述和用例设计的相关文章

结对测试算法性能优化(用例设计层面)

在<结对测试算法性能优化(代码层面)>一文中, 对原来算法代码进行了一些优化, 对于笛卡尔积后千条数据,是能满足使用需要的. 但在实际业务中,会碰到百万数据. 比如某接口共18个参数,每个参数均可为空,其中8个只需要单个值,10个为多选项,需要多个值. 对于多选项,我的设计是,全选+随机n个多选(1<=n<=len-1)+空. 按照这个策略,笛卡尔积的结果就是3^8*2^10=6718464. 671万数据! parewise根本处理不动. 该怎么处理? 调整用例设计. 1.为空的

Java设计模式中的单例设计

/** * 单例设计模式 * 应用场合:只需要一个对象的 * 作用:保证整个应用程序中某个实例有且只有一个 * 类型有:饿汉模式.懒汉模式 * 下面的例子是一个饿汉模式的例子 */ class SingleDemo { // 1.将构造方法私有化,不允许外部直接创建使用 private SingleDemo() {} // 2.创建类的唯一实例,使用private static修饰 private static SingleDemo instance = new SingleDemo(); //

Android UI自动化用例设计技巧

一.封装方法 1.编程如何越来越快: 首先,需要经验丰富,知识面广. 其次,每一个熟练编程的人员,都会有自己的一个库,解决各种问题.各种通用的方法函数. 同理,自动化脚本也是编程,测试用例则为需求,UI自动化编写虽然容易,但是界面变化快.维护庞大.所以封装通用方法,是最快最容易的途径. 2.哪些方法需要封装: 公共的操作方法 经常使用的步骤:超过两次以上 经常使用的组件:输入框.文本框.列表 经常操作的布局:多个组件组成通用的布局 经常操作的页面:ui页面由一个一个单独Activity组成,就可

客户端GUI测试技术和自动化测试架构设计简谈

客户端自动化特点 客户端的自动化,通常做过的人都不是很愿意深入讨论.因为除了功能和逻辑之外,不得不面对各种界面变化,各种和环境交互,各种兼容问题以及想不到灰色地带,就算这样,也找不到太多有效的bug.然而即便如此,客户端的自动化必须去做,尤其是GUI的.它的自动化特点是: 复杂 成本高 不容易发现问题 技术要求高 架构很难通用 下面,从一些基本的东西开始一点点的讨论客户端GUI测试的一些问题和处理办法,以及自动化架构设计的一些思路.事实上就像上面说的,GUI的测试并不是为了发现bug,而是回归的

不得不说--自动化测试元素定位与用例设计

关于自动化测试,经常被问到元素的定位 与 如何设计用例. 很多时间我也帮不了你解决实际的问题,只能从个人脚本谈谈如何看待这些问题. 不得不说之元素定位 虽然,本章写了十几篇文章来讲元素的定位与操作,对于碰到的一些常见功能,如何通过技巧来定位它们,但是在实际的自动化脚本开发中,不管是新手还是具有一定经验的老手,我们面临最多的问题仍然是元素的定位问题. 有时间元素定位非常简单,例如,我们只要知道这个元素有的id和name 就可以轻松的来定位到它:有时间元素的定位却非常的令人非常头疼,尽管我们用尽了所

web测试常用的用例及知识

  1.      Web测试中关于登录的测试... 1 2.      搜索功能测试用例设计... 2 3.      翻页功能测试用例... 3 4.      输入框的测试... 5 5.      Web测试的常用的检查点... 6 6.      用户及权限管理功能常规测试方法... 8 7.      Web测试之兼容性测试... 9 8.      Web测试-sql注入... 10 9.      Web测试中书写用例时要考虑的检查点... 11 10.        手机电子邮

接口用例设计

1.通过性测试(正向用例) 保证这个接口功能是好的,正常传入,是否可以返回正确结果 2.参数组合 多个参数的时候 3.接口安全 1.绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加? 2.绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功 3.参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如

接口测试原理、流程及用例设计

接口测试的原理是模拟客户端向服务器发送报文请求,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的一个过程. 接口测试流程: 模拟客户端连接服务器(服务器提供的端口是否可访问) ↓ 客户端发送报文请求 ↓ 服务器端接收请求并做处理 ↓ 检查返回的预期结果并与实际结果对比 ↓ 结束 接口测试用例设计: 接口测试的主要测试对象是接口,但随着系统复杂度越来越高,接口越来越多,完全覆盖所有接口是很难的一件事情,且实际过程中任意内部接口的变动都可能导致我们测试用例的不可用. 所以通

软件测试 —— 用例设计3(其他)

错误推测方法: 一.    方法简介 1.         定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 2.         错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 1)        例如, 输入数据和输出数据为0的情况:输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况.可选择这些情况下的例子作为测试用例. 2)        例如,前面例子中成绩报告的程序,采用错误推