IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 软件安全测试 -> 正文阅读

[开发测试]软件安全测试

  • 软件测试
    使用人工或者自动化的手段来运行或测试某个系统的过程,其目的在于检验他是否满足规定的需求或是弄清预期结果与实际结果之间的差异(是否满足需求)。
    基本概念
  • 测试用例
  • 测试覆盖率度量指标
    实践经验
    预期测试的结果是预先确定的
    好的测试用例发现错误的概率高
    成功的测试就是发现了错误的测试
    测试独立于编码
    需要具备应用(用户)及软件(编程)两方面的专业知识
    测试人员使用不同于开发人员的工具
    只检查常用的测试用例是不够的
    测试文档要能够再利用
  • 软件测试方法
    单元测试(某一功能)、集成测试(工作流程,模块接口)、系统测试(整个软件彻底的测试)
    黑盒测试(完全不了解)、白盒测试(完全了解)、灰盒测试(有一定了解)
    静态测试(不运行只分析)、动态测试(运行反馈)
    回归测试(发生修改之后的测试)
    验收测试

1.安全测试要点

软件安全测试:

  • 确定软件的安全特性实现是否与与其设计一直的过程
  • 有关验证软件安全等级和识别潜在安全缺陷的过程
  • 查找软件自身程序设计中存在的安隐患,并检查应用程序对非法侵入的防范能力
  • 传统的测试仅考虑软件出错时的处理,没有考虑对软件的故意攻击。而安全测试注重于软件的故意攻击。

2.安全测试方法

在应用投产前,应由独立的安全团队对应用的安全性进行综合评估。

  • 功能性安全测试
  • 对抗性安全测试

2.1.模糊测试

2.1.1.概念

  • 模糊测试也称为Fuzzing测试,一种通过提供非预期的输入并监视异常结果来发现软件故障的方法。
  • 黑盒测试,不关心被测试目标的内部实现,而是利用构造畸形的输入数据引发被测试目标产生异常,从而发现相应的安全漏洞。
  • 模糊测试是一种非常有效的漏洞挖掘技术,已知漏洞大部分都是通过这种技术发现是的。

2.1.2.过程特点

  • 强制软件程序使用恶意/破坏性的数据并进行观察结果的一种测试方法
    不够健壮的程序会崩溃
    编码良好的程序正常运行
  • 特性
    方法学
    随机值
    大量测试用例
    查找漏洞或可靠性的错误
  • 主要步骤
    1.生成大量的畸形数据作为测试用例;
    2.将这些测试用例作为输入应用于被测对象;
    3.监控和记录由输入导致的任何崩溃或异常现象;
    4.查看测试日志,深入分析产生奔溃或异常的原因。
    在这里插入图片描述

2.1.3.影响因素

  • 测试点
数据通道入口(例如SSID)、可信边界点
  • 样本选择
选择覆盖面广、便于测试多个样本
  • 数据关联性
智能模糊测试
  • 自动化框架
  • 异常监控与异常恢复
  • 分析评估

2.2.渗透测试

2.2.1.概念

  • 渗透测试通过模拟恶意攻击者进行攻击,来评估系统安全的一种评估方法,从攻击者的角度测试软件系统是否安全。
  • 使用自动化工具或者人工的方法模拟攻击者的输入,找出运行时刻
    目标系统所存在的安全漏洞。
    优缺点
优点:找出来的问题都是真实的,也是较为严重的
缺点:只能到达有限的测试点,覆盖率较低(人工测试)

2.2.2.过程特点

渗透测试流程
在这里插入图片描述
特点

  • 测试目的
安全性的评估,不是摧毁或破坏
  • 测试人员
 技术、知识和经验很重要、像“坏人一样思考问题”
  • 安全问题
系统备份和恢复措施、风险规避

3.安全测试组合及思路

组合

  • 代码审计+体系结构风险评估
  • 基于风险的安全测试+渗透测试
  • 安全需求分析+滥用案例开发
  • 代码审计+渗透测试
  • 体系结构风险分析+基于风险的测试

    思路
  • 充分了解软件安全漏洞
  • 评估软件安全风险
  • 拥有高效的软件安全测试和工具
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:56:14  更:2021-10-16 19:56:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:38:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码