安全测试的策略

安全测试测必要性

系统如果有功能性bug,最多是体验不好,损失点用户,本质上问题不是很大,青山还在,柴还有得砍。但是如果有高危漏洞,被黑客入侵,往小了说,服务可能瘫痪导致用户或资金的损失,或是数据丢失和泄露,或是服务资源被黑客恶意利用,或是公司被勒索,导致公司业务无法正常运作或是损失过大。但是往大了说,如果黑客在入侵后在该司对外网站上挂上任何和黄赌毒反动等相关的任何内容,那么就不是公司自己的问题了,根据严重情况决定解决,小则罚款停业整顿,大则直接关停。

安全测试的策略

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

但安全是相对的,安全性测试并不能最终证明应用程序是安全的,而只能验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。例如,测试应用软件在防止非授权的内部或外部用户的访问或故意破坏等情况时的运作。

软件安全是软件领域中一个重要的子领域,系统安全性测试包括应用程序和操作系统两个方面的安全性。而系统安全性分两类:一是软件漏洞,设计上的缺陷或程序问题;二是数据库的安全性,这也是系统安全性的核心。

安全测试的常用方法

  1. 静态代码检(对比安全规则库校验数据流、控制流、信息流
    • ​​​​​​静态代码检查主要是通过代码走读的方式对源代码的安全性进行测试,常用的代码检查方法有数据流、控制流、信息流等,通过这些测试方法与安全规则库进行匹配,进而发现潜在的安全漏洞。静态代码检查方法主要是在编码阶段进行测试,尽可能早地发现安全性问题。
  2. 动态渗透测试(借助工具模拟黑客的输入
    • 动态渗透测试法主要是借助工具或手工来模拟黑客的输入,对应用程序进行安全性测试,进而发现系统中的安全性问题。动态渗透测试一般在系统测试阶段进行,但覆盖率较低,因为在测试过程中很难覆盖到所有的可能性,只能是尽量提供更多的测试数据来达到较高的覆盖率。
  3. 扫描程序中的数据(内存
    • ​​​​​​​系统的安全性强调,在程序运行过程中数据必须是安全的,不能遭到破坏,否则会导致缓冲区溢出的攻击。数据扫描主要是对内存进行测试,尽量发现诸如缓冲区溢出之类的漏洞,这也是静态代码检查和动态渗透测试很难测试到的。

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

用户认证安全性测试​​​​​​​​​​​​​​​​​​​​​

  • 验证 不同用户权限或角色设置
  • 验证 不同用户是否存在冲突
  • 验证 修改后的用户权限
  • 验证 用户密码是否加密、是否可复制
  • 验证 是否可以通过绝对途径登录系统?
  • 用户退出后是否删除其登录时的相关信息 

网络安全性测试 

  • 防护措施是否正确装配完成,系统补丁是否正确
  • 非授权攻击,检查防护策略的正确性
  • 采用网络漏洞工具检查系统相关漏洞(常用的两款工具为NBSI 和IPhackerIP?)
  • 采集木马工具,检查木马情况
  • 采用各种防外挂工具检查程序外挂漏洞

数据库安全性测试 

  • 数据库是否具备备份和恢复的功能
  • 是否对数据进行加密
  • 是否有安全日志文件
  • 无关IP 禁止访问
  • 用户密码使用强口令
  • 不同用户赋予不同权限
  • 是否使用视图和存储过程

Web 安全性测试 

  • 部署与基础结构
  • 输入验证
  • 身份验证
  • 授权
  • 配置管理
  • 敏感数据
  • 会话管理
  • 加密
  • 参数操作
  • 异常管理
  • 审核和日志记录
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
车载软件测试策略是指在车载软件开发过程中,为了确保软件质量和安全性,制定的一系列测试方法和策略。下面是车载软件测试策略的概述: 1. 需求分析和规划:在测试开始之前,需要对车载软件的需求进行详细分析,并制定测试计划和测试策略。这包括确定测试的范围、目标、资源和时间等。 2. 静态测试:静态测试主要是对车载软件的文档、代码和设计进行检查和审查,以发现潜在的问题和错误。这包括代码审查、文档审查和设计审查等。 3. 单元测试:单元测试是对车载软件中最小的可测试单元进行测试,通常是对函数或模块进行测试。目的是验证每个单元的功能是否正确,并发现潜在的错误。 4. 集成测试:集成测试是将各个单元组合起来进行测试,验证它们之间的接口和交互是否正常。这包括模块间的接口测试、功能集成测试和系统集成测试等。 5. 验收测试:验收测试是在车载软件开发完成后进行的最后一轮测试,目的是验证软件是否满足用户需求和规格要求。这包括功能验收测试、性能验收测试和用户体验测试等。 6. 安全测试安全测试是为了验证车载软件的安全性和防护能力。这包括对软件的漏洞、攻击和数据安全等方面进行测试。 7. 兼容性测试:兼容性测试是为了验证车载软件在不同硬件平台、操作系统和网络环境下的兼容性。这包括硬件兼容性测试、操作系统兼容性测试和网络兼容性测试等。 8. 性能测试:性能测试是为了验证车载软件在各种负载条件下的性能表现。这包括响应时间、吞吐量、并发性和稳定性等方面的测试。 9. 异常处理和回归测试:在测试过程中,如果发现问题或错误,需要进行异常处理和修复,并进行回归测试,确保修复后的软件没有引入新的问题。 10. 测试报告和评估:在测试完成后,需要生成测试报告,总结测试结果和问题,并评估软件的质量和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值