首页 > 其他分享 >安全测试与评估(一)

安全测试与评估(一)

时间:2023-09-22 12:33:34浏览次数:27  
标签:软件系统 用户 认证 防护 安全 测试 安全性 评估

1、概述

  软件系统的安全性是信息安全的一个重要组成部分,而软件是由程序、数据和文档组成的。

  软件安全性是与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性。

  所有,针对程序和数据的安全性测试是软件安全性测试的重要内容。

 

  在软件的质量特性中,安全性与性能、易用性由较大的关联,安全性是通过某些功能的实现来体现的,易用性与安全性紧密联系,同时也存在矛盾。

  通常易用性强的软件系统安全性相对较差,安全性较高的软件系统易用性也比较弱。

  

  在进行安全性测试时应当考虑软件系统应用领域,以及软件系统本身对安全性的要求,并且安全性需求与功能、易用性等需求相协调,取得软件系统整体性能的平衡点。

 

2、测试与评估内容

  2.1用户认证机制

  用户认证就是指软件系统用户在使用软件或系统时,必须提供用户身份证明,然后软件系统根据用户数据库的资料,开放特定的权限给登录用户。

  最普通的用户认证就是口令,口令具有共享秘密的属性。例如,要使服务器操作系统识别要登录系统的用户,最简单的口令认证是用户将他的用户名和口令传输给服务器。

  服务器就将该用户名和口令与数据库里的用户名和口令进行比较,如果相符,就通过了认证,可以访问系统资源。

 

  目前主要的用户认证机制由如下几种。

  * 数字证书。这是一种检验用户身份的电子文件,提供较强的访问控制,并具有较高的安全性和可靠性。这种证书可以授权购买。

  * 智能卡。这种解决办法可以持续较长时间,并且更加灵活,存储信息更多,并具有可供选择的管理方式。

  * 双重认证。系统不是采用一种认证方式,而是采用两种或多种认证方式,这些认证方式包括令牌、智能卡和仿生装置,如视网膜或指纹扫描器等,例如同时使用ATM卡和PIN卡进行双重认证。

  * 安全电子交易(SET)协议。它是电子上午中安全电子交易的一个国际标准。其主要目的是解决信用卡电子付款的安全保障性问题:保证信息的机密性,保证信息安全传输,不能被窃听,只有收件人才能得到和解密信息。保证支付信息的完整性,保证传输数据完整地被接收,在中途不被篡改。认证商家和客户,验证公共网络上进行交易活动地商家、持卡人及交易活动地合法性。广泛地互操作性,保证采用地通信协议、信息格式和标准具有公共适用性。从而可在公共互联网络上集成不同厂商的产品。

用户认证机制是保证数据安全的基础。因此有必要对用户认证机制进行全面的测试,评价认证机制的合理性。

 

  2.2 加密机制

  加密机制是保护数据安全的重要手,加密的基础过程就是对原来为明文的文件或数据,按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出明文内容,通过这样的途径来达到保护数据不被非法窃取、阅读的目的。该过程的逆过程称为解密,即将该编码信息还原为其原来数据的过程。

  密码函数可用来作为加密、解密、保证数据完整性、鉴别交换、口令存储与检验等的一部分,借以达到保密和鉴别的目的当用于机密性的加密时,密码技术被用于把敏感性较强的数据(即受保护的数据)变换成敏感性较弱的形式。当用于保证数据完整性或鉴别交换时,密码技术被用来计算不可伪造的函数。加密开始时,在明文上实施以产生密文,解密的结果或是明文,或是在某种掩护下的密文。使用明文作通用的处理在计算上是可行的,它的语义内容是可以理解的。除了以特定的方式,密文是不能用来计算的。因为它的语义内容已隐藏起来。有时故意让加密是不可逆的(例如截短或数据丢失),这样作的目的是不希望导出原来的明文,例如口令。

  密码技术能够提供或有助于提供相关保护,以防止消息流的观察和篡改、通信业务流分析、抵赖、伪造、非授权连接、篡改消息等行为的出现。主要用于密码的保护、数据的传输过程中的安全防护、数据存储过程的安全防护等。

  不同加密机制或密码函数的用途、强度是不相同的,一个软件或系统中加密机制使用得是否合理,强度是否满足当前需求,是需要通过测试来完成得,通常模拟解密是测试得一个重要手段。

 

  2.3 安全防护策略

  安全防护策略是软件系统对抗攻击得主要手段,安全防护策略主要是由安全日志、入侵检测、隔离防护、漏洞扫描等。

  安全日志是记录非法用户得登录名称、操作时间及内容等信息,以便于发现问题并提出解决措施。安全日志仅记录相关信息,不对非法行为作出主动反应,因此属于被动防护得策略。

  入侵检测系统是一种主动的网络安全防护措施,它从系统内容和各种网络资源中主动采集信息,从中分析可能的网络入侵或攻击。一般来说,入侵检测系统还应对入侵行为作出紧急响应。入侵检测被认为是防护墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行检测,从而提供对内部攻击、外部攻击和误操作的实时保护。

  漏洞扫描就是对软件系统及网络系统进行与安全相关的检测,以找出安全隐患和可被黑客利用的漏洞,同时漏洞扫描技术也是安全性测试一项必要手段。

  隔离防护是将系统中的安全部分与非安全部分进行隔离的措施,目前采用的技术主要由两种,即隔离网闸和防火墙,隔离网闸属于近两年新兴的网络安全技术,主要目的在于实现内网和外网的物理隔离,防火墙是相对成熟的防护技术,主要用于内网和外网的逻辑隔离。

  以上四种安全防护策略通常会结合应用,但是任何防护措施都存在局限性。软件系统的安全性和软硬件设备的安全特性、人为制定的安全防护规则等息息相关。所以安全防护策略、软硬件设备的安全特性,以及人为制定的安全防护规则都在测试的范围内。

 

  

标签:软件系统,用户,认证,防护,安全,测试,安全性,评估
From: https://www.cnblogs.com/R-bear/p/17722045.html

相关文章

  • jenkins+测试平台+jacoco实现代码覆盖
    Jenkins配置 构架后执行shellif[${jacoco}=='true'];then cd/home/apps/xxxxx/xxxx sh./test_run.shelse echo"不生成jacoco报告"fi jenkins添加html插件 jacoco报告 shell脚本内容#!/bin/sh#定义要检查的主机和端口host="localhost"port=18098s......
  • 如何使用Jest生成中文测试报告
    前言Jest是一个非常流行的JavaScript测试框架,它提供了丰富的功能和易于理解的测试报告。然而,默认情况下,Jest生成的测试报告是以英文展示的。如果需要生成中文测试报告,我们需要对Jest进行一些配置。以下是一种方法,可以在Jest中生成中文测试报告:安装相关依赖首先,确保已经安装了No......
  • python 打印功能测试程序 2
    #python打印功能测试程序fromCDHTMLTableimportHTMLTablefromPySide2.QtCoreimportQRect,QPoint,QSize,QtfromPySide2.QtGuiimportQImage,QIcon,QPixmap,QPainter,QTextDocumentfromPySide2.QtWidgetsimportQApplication,QMainWindow,QLabel,QSizeP......
  • Typescript 测试驱动开发 TDD (10)
    测试设置和拆卸(Testsetupandteardown)在运行特定的测试之前,我们可能希望先执行一些代码。这可能是为了初始化一个特定的变量,或者确保对象的依赖关系已经设置好。同样地,我们可能希望在特定的测试运行后执行一些代码,甚至在整个测试套件运行完毕后执行。为了说明这一点,请考虑......
  • CIIS 2023 丨聚焦文档图像处理前沿领域,合合信息 AI 助力图像处理与内容安全保障
    近日,2023第十二届中国智能产业高峰论坛(CIIS2023)在江西南昌顺利举行。大会由中国人工智能学会、江西省科学技术厅、南昌市人民政府主办,南昌市科学技术局、中国工程科技发展战略江西研究院承办。本次大会重点关注AI大模型、生成式AI、无人系统、智能制造、数字安全等领域,汇集了来自......
  • HTTP安全响应头配置之Access-Control-Allow-Origin
    目的Access-Control-Allow-Origin是从CrossOriginResourceSharing(CORS)中分离出来的。这个header是决定哪些网站可以访问资源,通过定义一个通配符来决定是单一的网站还是所有网站可以访问我们的资源。需要注意的是,如果定义了通配符,那么Access-Control-Allow-Credentials选项就......
  • 自动化测试:fixture学得好,Pytest测试框架用到老
    From: https://mp.weixin.qq.com/s/agoipUlkQj3jaZ6cZc_80Q------------------------------------------------------------------------------------在pytest中,fixture是一种非常有用的特性,它允许我们在测试函数中注入数据或状态,以便进行测试。而参数化则是fixture的一个特性,......
  • week1 渗透测试工具的安装使用
    一、虚拟机的安装使用文档步骤安装,过程中未出现问题使用虚拟机打开镜像问题:无网络解决:打开虚拟机设置网络适配器:网络连接选择“NAT模式”二、工具的安装Python,Java镜像中已安装,验证环境配置成功pythonjavaSQLmap按文档安装,并验证安装成功......
  • API网关是如何提升API接口安全管控能力的
    API安全的重要性近几年,越来越多的企业开始数字化转型之路。数字化转型的核心是将企业的服务、资产和能力打包成服务(服务的形式通常为API,API又称接口,下文中提到的API和接口意思相同),从而让资源之间形成更强的连接和互动关系,释放原有资产的价值,提升企业的服务能力。企业数字化转型使得......
  • 线程安全和通信
    1.线程安全问题概述2.模拟卖票代码//创建一个Runnable接口的实现类publicclassRunnableImplimplementsRunnable{//在实现类中重写Runnable接口的run方法,设置线程任务。//定义一个多线程共享的资源privateintticket=100;//创建一个锁对象Object......