• 软件安全测试详细总结


    软件安全测试--详细总结

    摘要

    安全性测试从冷门的话题,随着国内各大知名网站频繁被攻击,重要社区用户信息被泄露,逐步被各方所重视。而具体怎么做软件安全性测试,防止骇客有机可乘,国内普遍处于才起步的状态。今天笔者就自己的经验,系统总结了我所了解和掌握的安全测试,希望抛砖引玉,让更多更好的软件安全测试技术、经验被分享出来,供大家交流、学习,让我们的安全测试迈步起到一定的推动作用。

    软件安全测试

    软件安全性测试

    安全性测试(Security test)它是指:在测试软件系统中对程序的危险防止和危险处理进行的测试,以验证其是否有效。

    软件安全具体测试方法

    软件安全性测试包括了应用安全、数据,操作系统等方面。根据不同的安全测试指标,有不同的测试策略。最后,从社会工程学角度总结了出现非软件性安全的原因。下面总结了具体的安全测试项和对应的测试方法。

    一、应用安全

    应用安全的测试有包括了安全的审计、密码支持、标识与鉴别、用户数据保护和安全管理等五个方面。下面具体说每个方面需要做的测试项和具体的测试方法。

    A安全审计

    1、安全审计自动响应

    ①系统用户的安全属性作非常规的添加或修改操作,如:对所有用户赋予管理员角色或所有权限操作。系统中只能存在一个超级管理角色。

    ②查看系统的是否告警提示并记录相关操作信息,即日志中应该有相关记录。

    2、安全审计数据产生

    系统需要提供日志机制,并能够记录与安全相关的事件,可以定义审计的级别(如告警,紧急,提示级别)。

    3、用户身份关联

    查阅相关的日志记录,当审计数据产生时,审计数据是否能将每个可审计事件与引起该事件的用户身份相关联。

    4、审计查阅

    ①在日志相关界面能否查看到审计数据。

    ②系统是否能提供一些功能方便查看,如选择“全部”,按涉及用户的审计记录信息,或按时间查看等等。

    5、限制审计查阅

    ①使用日志管理员帐号登录系统,能查看系统审计信息;

    ②使用非日志管理员帐号依次登录系统,不能查看系统审计模块信息。

    6、可选审计查阅

    ①测试系统是否提供分类查看审计记录的功能;

    ②测试系统是否提供排序功能方便查看审计记录;

    ③测试系统是否提供“与”/“或”的查询功能方便查看审计记录,是否直接模糊查询。

    7、安全审计事件选择

    ①设置集中审计事件排除条件;

    ②模拟发生集中审计事件,观察系统反应。

    8、受保护的审计记录存储

    使用系统划分出的用户身份(不具有审计删除权限)登录系统:尝试删除审计记录,看是否成功。

    9、防止审计数据丢失

    模拟审计数据已满情况,查看系统是否可选择“忽略可审计事件、阻止产生特有特权的授权用户外的所有可审计事件、覆盖所存储的最早的审计记录”中的一种处理方式,以确保审计数据不发生丢失现象。

    B密码支持

    密码运算,检查密码的加密规则是否安全可靠,一般通用md5加密方式。

    C标识与鉴别

    1、用户属性定义

    检查用户授权角色管理机制,验证用户属性定义有效性。即系统能够对每个用户的安全属性分别加以有效定义。

    2、鉴别方式

    检测系统采用的身份鉴别方式。

    3、用户标识

    ①在用户登录界面中,使用匿名用户登录系统,执行需要访问权限才能执行的操作,查看系统响应;

    ②使用各种角色的用户进行登录,然后进行操作;

    ③不进行登录,通过匿名用户执行访问操作。

    4、用户-主体绑定

    检测用户的安全属性是否关联到代表用户活动的主体上。应该关联到活动主体上,即不同用户有不同权限。

    5、口令强度

    ①检测口令复杂度,强度;

    ②使用大小写英文字母、数字和特殊字符等多种组合进行验证。

    6、口令保护

    检测口令是否进行加密传输字符。即不能以明文的方式进行口令传输。

    7、任何动作前的用户鉴别

    检查用户进行操作前,系统是否进行权限鉴别。即要对系统操作,必须使用正确的用户名和密码。

    8、重新鉴别

    检测系统是否提供重新鉴别机制,系统长时间不做任何响应或鉴别失败后,是否要求进行重新登录。

    D用户数据保护

    1、采用加密技术

    检查系统是否对传输的信息采用安全加密技术。

    2、信息存储安全性

    对于重要数据保存是否采用加密方式。

    3、数据传输安全性

    检测系统对重要数据是否进行加密传输。

    4、数据一致性

    ①检测系统是否对数据的有效性,数据项之间的逻辑关系进行校验;

    ②检测系统是否保证数据的完整性和一致性,是否会因删除或反复的更新而被破坏或留下垃圾数据;

    ③对不符合要求的输入数据,系统是否使用中文给出简洁、准确的提示信息。

    5、密码设置

    ①进入系统是否需要密码身份验证;

    ②是否有密码设置策略,是否包括有效期、最小长度、复杂度、非空设置、大小写敏感度等;

    ③所有的密码是否明码显示、存储与传输。

    6、备份和恢复

    检查是否提供数据备份与恢复手段,检测是否提供数据备份与还原手段。

    E安全管理

    1、安全属性管理

    ①查看系统是否具有用户权限分配权限的特定角色;

    ②对用户列表中的任意一个用户进行角色分配;

    ③使用不具有用户管理权限分配的特定角色用户进入系统,查看是否能对用户进行权限划分。

    2、安全的安全属性

    ①进入新建用户界面,新建一个用户;

    ②输入其他必填项,不输入密码;

    ③输入纯数字用户登录密码;

    ④输入纯字符用户登录密码;

    ⑤输入数字和字符混和的用户登录密码。

    3、静态属性初始化

    ①新增一个用户,对其初始状态的权限进行修改;

    ②使用新增加的用户登录平台,查看被编辑的权限,在系统中是否能实现。

    4、数据的管理

    ①最高权限用户进入系统,查看是否具备安全审计功能模块;

    ②最高权限用户进入系统,修改角色。

    5、数据限值的管理

    ①最高权限用户进入系统,添加用户;

    ②填写相关用户信息,并并限制登陆区域;

    ③使用新创建的用户登录系统,但登录的用户IP不在所填写的区域控制范围内。

    6、安全的数据

    ①最高权限用户进入系统,添加用户;

    ②填写相关用户信息,录入无效的用户数据,观察系统反应。

    7、撤销

    ①最高权限用户进入系统,选择一个用户,对所选用户的权限进行查看和撤销;

  • 相关阅读:
    反转链表——临时变量的妙用
    C++指针学习(2)
    统计英文文本中的词频
    灵活的C++
    编程之美 NIM(1)扩展问题
    深度探索C++对象模型读书笔记(1)
    irrlicht1.7.0(2):基础接口
    关于裁剪空间与投影变换矩阵的推导
    irrlicht1.7.0(1):irrTypes.h
    【转】每天拿两个小时来浪费(文/王路)
  • 原文地址:https://www.cnblogs.com/xqh1215/p/7866423.html
Copyright © 2020-2023  润新知