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

这篇具有很好参考价值的文章主要介绍了软件安全测试-软件安全测试概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. 写在前面

2. 什么是安全测试?

3. 安全测试和渗透测试的区别?

4. 何为安全漏洞?

4.1. 常见的漏洞类型

4.2. 漏洞等级

5. 安全漏洞的危害?

6. 如何发现或预防安全漏洞?

6.1 安全测试方法 

6.2 安全测试内容

6.3 安全测试过程

7. 写在最后


1. 写在前面

关于安全的重要性以及安全意识到底有多重要,咱们从2021年互联网历史上破坏力最惊人漏洞之一Log4j漏洞讲起,漏洞波及面和危害程度堪比2017年的“永恒之蓝”漏洞。从爆发至今,Log4j漏洞影响的严重性、广泛性已经在各领域开始显现,并不断加大。简单点说,黑客可以恶意构造特殊数据请求包payload触发漏洞,从而可以在目标服务器上执行任意代码,导致服务器被黑客控制。

Apache Log4j 是一个基于Java的日志记录工具。它是由Ceki Gülcü首创的,现在已经发展为Apache软件基金会的项目之一。

本次漏洞是因为Log4j2组件中 lookup功能的实现类 JndiLookup 的设计缺陷导致,这个类存在于log4j-core-xxx.jar

log4j的Lookups功能可以快速打印包括运行应用容器的docker属性,环境变量,日志事件,Java应用程序环境信息等内容。比如我们打印Java运行时版本。

因为这里没有任何的白名单,那么我们就可以构造任何的字符串,只有符合${就可以,那么就很容易构造漏洞

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

咱们中国的阿里第一时间发现了改漏洞,但是第一时间报给了apache的软件基金会,并没有报给中国的软件工信部,这导致中国滞后于美国去处理这件事情,所以我们每个人都要有安全意识,更要明白出现安全问题如何处理和防范。

2. 什么是安全测试?

安全测试是指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程

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

导致软件出现安全问题的主要原因或根源事软件的安全漏洞。

3. 安全测试和渗透测试的区别?

安全测试是从内到外的一种测试,是一种安全预防性测试,代码审查,架构分析,而渗透测试是从外到内的测试,它是一种试探的方法。

出发点差异:渗透测试是以成功入侵系统,证明系统存在安全问题为出发点;而安全测试则是以发现系统所有可能的安全隐患为出发点。

视角差异:渗透测试是以攻击者的角度来看待和思考问题,安全测试则是站在防护者角度思考问题,尽量发现所有可能被攻击者利用的安全隐患,并指导其进行修复。

覆盖性差异:渗透测试只选取几个点作为测试的目标,而安全测试是在分析系统架构并找出系统所有可能的攻击界面后进行的具有完备性的测试。

成本差异:安全测试需要对系统的功能、系统所采用的技术以及系统的架构等进行分析,所以较渗透测试需要投入更多的时间和人力。

解决方案差异:渗透测试无法提供有针对性的解决方案;而安全测试会站在开发者的角度分析问题的成因,提供更有效的解决方案。

4. 何为安全漏洞?

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

安全漏洞特指在硬件、软件、协议的在逻辑设计上或具体实现或系统安全策略上存在的缺陷或错误。

4.1. 常见的漏洞类型

1,客户端漏洞:
XSS(跨站脚本攻击)
CSRF(跨站请求伪造)
XXE(XML外部实体注入)


2,服务端漏洞:
SQL注入
文件上传漏洞
服务器请求伪造(SSRF)
反序列化
命令执行漏洞
文件包含漏洞
逻辑漏洞
越权漏洞
敏感信息泄露

4.2. 漏洞等级

  • 紧急: 可以直接被利用的漏洞,且利用难度较低。被攻击之后可能对网站或服务器的正常运行造成严重影响,或对用户财产及个人信息造成重大损失
  • 高危: 被利用之后,造成的影响较大,但直接利用难度较高的漏洞。或本身无法直接攻击,但能为进一步攻击造成极大便利的漏洞。
  • 中危: 利用难度极高,或满足严格条件才能实现攻击的漏洞。或漏洞本身无法被直接攻击,但能为进一步攻击起较大帮助作用的漏洞。
  • 低危: 无法直接实现攻击,但提供的信息可能让攻击者更容易找到其他安全漏洞。
  • 信息: 本身对网站安全没有直接影响,提供的信息可能为攻击者提供少量帮助,或可用于其他手段的攻击,如社工等。

5. 安全漏洞的危害?

  

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

6. 如何发现或预防安全漏洞?

6.1 安全测试方法 

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

6.2 安全测试内容

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

6.3 安全测试过程

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

7. 写在最后

安全隐患就像软件的其他缺陷一样是不可能杜绝的,只能尽可能防御,减少,下面是一下软件安全测试设计的基本原则

  • 最小授权

只授予每个用户/程序在执行操作时所必须的最小特权。这样可以限制事故、错误、攻击带来的危害,减小特权程序之间潜在的相互影响。

  • 发生故障优先保证安全

当系统发生故障时,对任何请求默认应加以拒绝。

  • 深入防御原则

采用多层安全机制,这个概念范围比较大。比如在表单中的字段校验不光要在页面校验,还要在后台有相应的校验机制;比如在信任区、非信任区之间二次部署防火墙。

  • 权限分离

比如禁止root用户远程登录、多重身份校验登陆等。文章来源地址https://www.toymoban.com/news/detail-409561.html

  •  系统架构设计和代码尽可能简洁,越复杂的系统,bug越多...
  • 共享事务的数量和使用尽可能少,毕竟单独控制一个操作比并行控制两个过程更容易一些。
  •  安全保护机制不能依赖于攻击者对系统实现过程的无知、而只依赖于像口令/密钥这样较容易改变的东西。
  • 不信任原则,要严格限制用户、外部部件的信任度,要假设他们都是不安全的。
  • 对受保护的对象的每一个访问都要经过检查。
  • 心理接受程度,不能通过限制、甚至组织用户访问系统资源来阻止攻击,但可以考虑引入少量可接受的使用障碍。
  • 不要等开发人员编码完成才开始进行安全测试,可以负责任的讲65%以上的安全漏洞都是发生在架构设计阶段,因此要积极参与到架构设计评审活动中,将一些低中级别的隐患扼杀在摇篮中。

到了这里,关于软件安全测试-软件安全测试概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python中字符串前面b什么意思?

    python中字符串前面b什么意思? 在Python中,前缀 b 表示一个字节字符串(bytes string)。字节字符串是一种特殊类型的字符串,它由原始的字节序列组成,而不是Unicode字符序列。 在Python 3中,字符串默认是Unicode字符串,使用UTF-8编码。而字节字符串是以字节的形式表示文本数据,

    2024年04月10日
    浏览(16)
  • 【软件测试】浅了解什么是软件测试及开发测试模型

    目录 1.什么是软件测试? 2.什么是需求? 3.什么是测试用例 4.什么是软件错误(bug)? 5.开发模型和测试模型 5.1软件的生命周期 5.2瀑布模型 5.3螺旋模型 5.4软件测试V模型 5.5软件测试w模型 6.软件测试的生命周期 7.bug的生命周期 最常见的理解是:软件测试就是找 BUG ,发现缺陷

    2023年04月19日
    浏览(33)
  • 软件测试Pytest实现接口自动化应该如何在用例执行后打印日志到日志目录生成日志文件?

    Pytest可以使用内置的logging模块来实现接口自动化测试用例执行后打印日志到日志目录以生成日志文件。以下是实现步骤: 1、在pytest配置文件(conftest.py)中,定义一个日志输出路径,并设置logging模块。 2、在测试用例中调用logging模块,输入需要生成的日志信息。 3、运行p

    2024年02月10日
    浏览(25)
  • 什么是软件压力测试?软件压力测试工具和流程有哪些?

    软件压力测试 一、含义: 软件压力测试是一种测试应用程序性能的方法,通过模拟大量用户并发访问,测试应用程序在压力情况下的表现和响应能力。软件压力测试的目的是发现系统潜在的问题,如内存泄漏、线程锁、资源泄漏等,以及在高峰期或高负载情况下系统的响应

    2024年02月11日
    浏览(19)
  • 网络安全需要学什么软件?网络安全软件有哪些?

    在我们学习网络安全的过程中,前期的学习对于工具软件的掌握显得尤为重要。网络安全绝大多数均需要结合电脑完成,今天来跟大家分享一下网络安全需要学什么软件?网络安全软件有哪些。 在学习网络安全的时候必须要学会使用相关的软件,要了解每个软件的优点和缺点

    2024年02月07日
    浏览(18)
  • 分享 | 软件测试的基本流程是什么?软件测试流程详细介绍

    软件测试和软件开发一样,是一个比较复杂的工作过程,如果无章法可循,随意进行测试势必会造成测试工作的混乱。为了使测试工作标准化、规范化,并且快速、高效、高质量地完成测试工作,需要制订完整且具体的测试流程。 不同类型的软件产品测试的方式和重点不一样

    2024年02月05日
    浏览(16)
  • 【软件测试】单元测试、集成测试、系统测试有什么区别?

    1、粒度不同 集成测试bai粒度居中,单元测试粒度最小,系统du测试粒度最大。 2、测试方式不同 集成测试一般由开发zhi小组采用白盒加黑盒的方式来测试,单元测试一般由开发小组采用白盒方式来测试,系统测试一般由独立测试小组采用黑盒方式来测试。 3、测试内容不同

    2024年02月09日
    浏览(17)
  • 【安全测试】什么是安全测试

    一、软件安全软件安全属于软件领域里一个重要的子领域。         在以前的单机时代,安全问题主要是操作系统容易感染病毒,单机应用程序软件安全问题并不突出。但是自从互联网普及后,软件安全问题愈加显加突显,使得软件安全性测试的重要性上升到一个前所未有的

    2024年02月08日
    浏览(8)
  • 软件压力测试对软件产品起到什么作用?

    一、软件压力测试是什么? 软件压力测试是一种通过模拟正常使用环境中可能出现的大量用户和大数据量的情况,来评估软件系统在压力下的稳定性和性能表现的测试方法。在软件开发过程中,经常会遇到一些性能瓶颈和稳定性问题,而软件压力测试的作用就在于发现这些问

    2024年02月12日
    浏览(17)
  • 软件测试中的压力测试是什么?

    压力测试 压力测试是一种软件测试,用于验证软件应用程序的稳定性和可靠性。压力测试的目标是在极其沉重的负载条件下测量软件的健壮性和错误处理能力,并确保软件在危急情况下不会崩溃。它甚至可以测试超出正常工作点的测试,并评估软件在极端条件下的工作情况。

    2024年02月06日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包