精华内容
下载资源
问答
  • 代码安全缺陷分析

    千次阅读 2018-01-03 09:28:37
    安全缺陷种类 本次测试涵盖各类常见安全缺陷。根据缺陷形成的原因、被利用的可能性、造成的危害程度和解决的难度等因素进行综合考虑,可以将常见的安全缺陷分为八类: 1、输入验证与表示(Input Validation ...

    安全缺陷种类

    本次测试涵盖各类常见安全缺陷。根据缺陷形成的原因、被利用的可能性、造成的危害程度和解决的难度等因素进行综合考虑,可以将常见的安全缺陷分为八类:

    1、输入验证与表示(Input Validation and Representation)

    输入验证与表示问题通常是由特殊字符、编码和数字表示所引起的,这类问题的发生是由于对输入的信任所造成的。这些问题包括:缓冲区溢出、跨站脚本、SQL注入、命令注入等。

    2、API误用(API Abuse)

    API是调用者与被调用者之间的一个约定,大多数的API误用是由于调用者没有理解约定的目的所造成的。当使用API不当时,也会引发安全问题。

    3、安全特性(Security Features)

    该类别主要包含认证、访问控制、机密性、密码使用和特权管理等方面的缺陷。

    4、时间和状态(Time and State)

    分布式计算与时间和状态有关。线程和进程之间的交互及执行任务的时间顺序往往由共享的状态决定,如信号量、变量、文件系统等。与分布式计算相关的缺陷包括竞态条件、阻塞误用等。

    5、错误和异常处理缺陷(Errors)

    这类缺陷与错误和异常处理有关,最常见的一种缺陷是没有恰当的处理错误(或者没有处理错误)从而导致程序运行意外终止,另一种缺陷是产生的错误给潜在的攻击者提供了过多信息。

    6、代码质量问题(Code Quality)

    低劣的代码质量会导致不可预测的行为。对于攻击者而言,低劣的代码使他们可以以意想不到的方式威胁系统。常见的该类别缺陷包括死代码、空指针解引用、资源泄漏等。

    7、封装和隐藏缺陷(Encapsulation)

    合理的封装意味着区分校验过和未经检验的数据,区分不同用户的数据,或区分用户能看到和不能看到的数据等。常见的缺陷包括隐藏域、信息泄漏、跨站请求伪造等。

    8、代码运行环境的缺陷(Environment)

    该类缺陷是源代码之外的问题,例如运行环境配置问题、敏感信息管理问题等,它们对产品的安全仍然是至关重要的。

    前七类缺陷与源代码中的安全缺陷相关,它们可以成为恶意攻击的目标,一旦被利用会造成信息泄露、权限提升、命令执行等严重后果。最后一类缺陷描述实际代码之外的安全问题,它们容易造成软件的运行异常、数据丢失等严重问题。

    安全缺陷级别

    我们将源代码的安全问题分为三种级别:高危(High)、中等(Medium)和低(Low)。衡量级别的标准包括两个维度,置信程度(confidence)和严重程度(severity)。置信程度是指发现的问题是否准确的可能性,比如将每个strcpy函数调用都标记成缓冲区溢出缺陷的可信程度很低。严重程度是指假设测试技术真实可信的情况下检出问题的严重性,比如缓冲区溢出通常是比变量未初始化更严重的安全问题。将这两个因素综合起来可以准确的为安全问题划分级别,如图1所示。

    图1 缺陷级别与严重程度、置信程度的关系

    展开全文
  • OWASP WebGoat---安全测试学习笔记(十七)---会话管理缺陷

    会话管理缺陷(Session  Management  Flaws)




    主题:

    1.会话劫持

    概念:

            因为HTTP是没有状态的,所以就有了会话管理的概念。服务器通过会话管理,来记忆用户的状态。在用户访问WEB站点的过程中,会话管理对每个用户

    都有一个唯一的标识(SessionID),而每当新用户访问网站时,服务器上也会有一个相应的标号来记录。而且该用户所有后续的页面请求都会包含此标号,

    这样WEB应用程序就能识别此用户,并记录其状态。服务器端的会话标识可能是通过Cookie、URL(URL重写)、隐藏域的方式保存在浏览器中。通常情况,

    会话标识(SessionID)是加密保存在Cookie中的,随着HTTP请求头发送,并在每次加载页面时传递给服务器。

            攻击者的目的是通过窃取并使用合法用户的会话标识(SessionID)伪装成合法用户,即会话劫持



    方法:

            会话劫持最常用的方法就是窃取用户会话标识。会话劫持是在合法用户的会话ID被使用之后对其进行占用。例如:对会话的处理不当会使得攻击者可能猜

    到相邻的会话标识。 跨站脚本攻击(XSS),网络嗅探(Net Sniffer),本地木马等。

            另一种对会话管理进行攻击的方式叫做“会话定位(Session Fixation)”。原理是合法用户使用了攻击者为其准备好的会话ID进行身份认证,如此攻击者就

    可以随意通过此会话ID劫持用户会话。而解决Session Fixation的办法是在登录完成后,重写SessionID。这样,攻击者准备好的会话ID对于已经完成身份认证

    的用户就无效了。因为对于正常用户来说,已经是另一个会话(SessionID不同)了。



    防御:

        对会话标识号的分配(不能让攻击者轻易猜到绘画标识)

        加强对会话标识号的保护

        设置合适的会话标识有效时间






    2.认证Cookie欺骗

           如果验证cookie正确,一些应用程序会允许一个用户自动登录到他们的网站。如果能够获得生成cookie的算法,有时cookie的值是可以猜到的。

    有时候cookie可能是通过跨站攻击截获的。

            课程目标:了解身份验证cookie的方式,并指导您学习突破这种身份验证cookie的方法。







    3.会话定位(Session Fixation)

            服务器通过每个用户唯一的SessionID来确认其合法性。若用户已登录,并且授权他不必重新验证授权时,当他重新登录应用系统时,他的SessionID依然

    是被认为合法的。在一些程序中,可能会在GET请求中传递SessionID,这就是攻击的起点。一个攻击者可以用一个选定的SessionID给受害人发送一个超链接。

            例如有一个准备好的邮件,看起来像是一个从应用程序管理员发来的官方邮件。若受害者点击了这个链接,并且该受害者以攻击者指定的ID登录了系统,

    那么攻击者可以不经授权直接使用与受害者相同的ID访问该页面。









    参考:

            《WEB安全测试》、《白帽子讲Web安全》、《WebGoat v2.2技术文档》、《OWASP Testing Guide v3.0》




    注:





    展开全文
  • 敏捷项目如何进行缺陷管理

    千次阅读 2020-04-23 16:03:38
    目录引言缺陷记录缺陷流转缺陷分析 引言 缺陷记录 缺陷流转 缺陷分析

    1 引言

    敏捷测试原则中有一条是:预防缺陷,而不是关注缺陷的数量。敏捷团队中是整个团队为质量负责,团队追求的是整个产品质量的提升,而非传统的开发人员追求零缺陷,测试人员追求找到更多的缺陷。在敏捷开发中,虽然我们采取各种措施预防缺陷的发生,例如精准的自动化测试、代码检视、故事卡验收等等,但是并不能保证没有缺陷发生,一个零缺陷的产品也不现实。既然无法完全阻止缺陷的出现,那如何管理发生的缺陷,如何利用已有缺陷来指导质量内建过程,是我们需要考虑的。

    本文以博主在实际项目中的经验,讲述缺陷的记录、流转和分析,每个模块的内容会分别讲述迭代内缺陷和生产缺陷的管理。

    2 缺陷记录

    2.1 哪些缺陷该被记录?

    在记录缺陷前,我们要理清楚我们需要记录的缺陷有哪些,是不是每一个缺陷都应该被记录。敏捷项目是以迭代为交付周期,一个迭代周期从两周到一个月甚至2个月不等,每个迭代都会有新功能的上线。一般来讲,缺陷分为两类:一类是迭代内缺陷,即在迭代新功能开发时,故事验收或测试阶段发生的缺陷;另一类则是生产缺陷,我们是允许生产缺陷的存在的,但前提是缺陷影响范围可控,或者可以在用户发现前发现缺陷(测试右移),并且要具备快速修复或者回滚的能力。

    对于迭代内缺陷,一般发现阶段分为故事卡验收阶段,测试阶段,回归测试阶段。对于故事卡验收阶段发现的缺陷,是否需要记录可视情况而定,一般而言,可以不需要记录,因为此时故事卡仍在开发阶段,开发同学仍然工作在这张卡上,其上下文充足,修复缺陷成本较低,可以直接备注在卡片上,等下一次故事卡验收的时候再验证是否修复。对于测试阶段和回归测试阶段的缺陷,建议记录下来,因为此时开发这张卡片功能的开发同学已工作在其他卡片上,没有办法及时修复该缺陷,或者修复该缺陷的或许是其他开发人员,那么就需要将缺陷记录下来便于跟踪。

    2.2 工具

    在选择缺陷记录工具的时候,要考虑以下几点:

    1. 该工具是否支持协同工作?
      缺陷和故事卡一样重要,是各个角色都需要关心的事情,即意味着各个角色都需要能够查看、操作缺陷记录工具,所以缺陷记录工具需要支持协同工作。
    2. 该工具是否容易学习?
      基于第一点,团队成员均需要操作该工具,不管是否有技术背景,所以该工具一定是需要学习成本较低的。
    3. 该工具是否易于跟踪缺陷状态?
      缺陷和故事卡一样,是存在流转状态的,也会有不同的人员工作在该缺陷上(开发人员、测试人员),所以记录工具最好具有状态流转标识,当然你也可以手动记录其状态,但能让工具帮你做的事情为什么不利用工具呢?
    4. 该工具是否清晰记录缺陷?
      下一小节会讲到缺陷记录的要素,选择的工具需要能清晰表达这些要素。
    5. 该工具是否便于统计?
      缺陷管理中很重要的一部分是缺陷分析,缺陷分析当然是基于数据的,这些数据可以手动收集,如果工具能自动帮你做一些统计那是最好的。

    所选择的工具不一定需要具备以上提到的所有特征,但是支持协同工作和清晰记录缺陷是必不可少的,其余特征可根据项目情况而定。

    博主所在的项目选择的工具是jira,jira是一款协同办公软件,在敏捷项目中通常被用来记录故事卡。它支持协同办公,而且我们项目也使用jira记录故事卡,我们在故事卡的泳道下面新建了一个跟踪缺陷卡的泳道,一个缺陷记录一张卡片,这样大家就可以像操作故事卡一样操作缺陷卡。它也支持添加自定义标签的,标注卡片优先级,添加附件,充分满足缺陷关联的内容。它也支持导出卡片数据,对之后的缺陷分析十分有帮助。博主也推荐使用trello,和jira的功能大同小异,当然在线wps的excel也是不错的选择。

    使用jira记录缺陷,主要是为了便于查看缺陷状态,但会随着迭代的完成,缺陷卡片会被归档,每张卡片也是独立的,不利于集中查看和查询。这样的流转方式对迭代内缺陷是没有问题的,因为迭代内缺陷一旦修复,后续基本不会有人再去查看关注。但对生产缺陷却不一样,每一个生产缺陷都应该被认真对待分析,我们可以将其统一记录在某个地方,用于之后回顾。博主项目组的做法是将生产缺陷统一记录在confluence,便于集中查看。

    2.3 模版

    记录缺陷有两个原则:

    1. 描述完整,清晰易读懂
      记录的缺陷卡和故事卡一样,需要给团队成员看,所以缺陷卡需要描述完整清晰。
    2. 规范化,便于缺陷分析
      分析统计总是基于规划的数据结构,所以在记录缺陷的时候就需要考虑之后缺陷分析需要什么,以此去规范户记录缺陷。

    以博主的项目为例,我们记录缺陷的模版主要有以下要素:

    1. 标题
      简述缺陷内容,清晰明了。
    2. 描述
      缺陷发生环境(DEV/ST/UAT/PRD),相关测试数据(用户名/订单号等),复现步骤,期望结果,实际结果,备注(截图、日志等)。
    3. 优先级
      在卡片上(jira/trello)备注缺陷的优先级,可以是高、中、低,可以自定义。
    4. 标签
      便于之后的缺陷分析,可以给缺陷打上标签。以博主项目为例,针对生产缺陷,会标注以下标签:所属功能模块(根据系统自定义)、可识别阶段(需求阶段/开发阶段/测试阶段/难以识别)、缺陷类型(功能/性能/安全)、影响范围(大/中/小)。

    3 缺陷流转

    每个缺陷也应该像故事卡一样,有它完整的生命周期,本节以博主项目组为例详解迭代内缺陷和生产缺陷的流转过程,当然每个组情况不一样,读者可视自身项目组情况而定。

    3.1 迭代内缺陷流转过程

    上文讲到,迭代内缺陷和故事卡记录在同一jira面板的不同泳道,那么缺陷卡的生命周期和故事卡自然是一样的,如下图所示:
    在这里插入图片描述

    针对迭代内的缺陷应该在什么时候修复,我们的处理原则有以下几点:

    1. 如果是阻碍开发/测试进度的缺陷,应该被立即修复;
    2. 如果是本迭代必须交付的功能相关缺陷,且修复成本高或影响范围大的缺陷,应该被立即修复;
    3. 如果是本迭代必须交付的功能相关缺陷,但修复成本或影响范围较小的缺陷,留到迭代后期修复。

    3.2 生产缺陷流转过程

    生产缺陷总是值得被引起重视的,我们对其处理流程如下图所示:
    在这里插入图片描述

    4 缺陷分析

    敏捷测试原则说我们应该预防缺陷而不是关注缺陷的数量,所以对于缺陷分析,我们的出发点是:对已发生的缺陷进行深入分析,从中找到问题所在,以达到预防缺陷的目的。

    4.1 分析周期

    迭代内缺陷的数量比较多,而且一般大多数都是开发逻辑错误造成的,一般而言分析价值不大。如果每个迭代平稳运行,缺陷数量平稳,建议不用特意分析,毕竟分析缺陷是耗时的。如果某个迭代明显感觉缺陷数量增长,可以针对性对本迭代缺陷进行分析。当然,如果你有充分的时间,可以将缺陷分析作为一项日常工作。而对于生产缺陷,每一个都值得被重视。3.2节讲述的流转过程,其中我们就已经对其进行分析了,分析其问题出在哪儿,然后补充相应的测试。如果想要对生产缺陷进行归类、趋势分析,那么就需要有一定的数据才可以,而生产缺陷不常有。所以其分析周期建议是1个月,或者3个月,甚至6个月,视各个项目组的情况而定。

    4.2 分析角度

    我们项目组常用的分析角度有以下几个,不同的项目侧重点会有所不同。
    (1)缺陷根因
    可以将缺陷一一分析后进行归类,根因可以分类为:需求缺失或者不清晰、技术方案设计问题、代码逻辑错误、测试未覆盖、环境相关(硬件、软件、第三方等)。分类后如果某一类问题较突出,则可以针对性产出改进事项。
    (2)缺陷发现阶段
    缺陷发现阶段可以归类为:故事验收阶段、功能测试阶段、回归测试阶段。我们知道缺陷越早发现修复成本越低,如果分析后发现某一阶段出现的缺陷较多,应该去反思是哪个环节错了,我们是否可以更早的暴露缺陷。
    (3)缺陷所属功能模块
    功能所属模块根据系统不同而不同,这一类分析帮助我们思考,某一块存在的缺陷多是因为存在技术债还是测试覆盖不够,可以帮助我们改进质量策略。
    (4)缺陷数量趋势
    如果可以,对于迭代内缺陷可以维护一份数量趋势图,就不需要我们靠直觉去感受哪个迭代缺陷多,而是有真实的数据作为依据,更具说服力。对于生产缺陷,建议可以维护一份数量趋势图,因为生产缺陷数量走势也是反应我们产品质量的一个重要维度。
    (5)缺陷可识别阶段
    这一分类主要针对生产缺陷,缺陷可识别阶段可以归类为:需求分析阶段、开发阶段、测试阶段、发布阶段,难以识别。这样分类的初衷不在于归过于某一角色,某一人,而是为了进一步分析是哪一阶段的实践有缺失,需要进一步改善。
    (6)缺陷类型
    缺陷类型可以归类为:功能缺陷,性能缺陷,安全缺陷。敏捷项目QA需要关注产品各个方面的质量,包括性能、安全等,将缺陷类型划分清楚,可以指导我们补充我们薄弱的地方。

    4.3 分析工具

    数据有了,就需要将数据可视化出来,便于分析,便于展示给团队。博主曾使用过的可视化工具有:

    1. jira
      jira根据卡片自动生成图标,饼图、趋势图都可以,但好像只有企业定制版才可以。
    2. ppt
      将jira数据导出,然后导入ppt画图。只要记录的缺陷卡片规范,也不是很费时,但没办法展示趋势,只能展示导出阶段的数据。
    3. tableau
      可以画各种图,对于展示趋势图也很方便,但是一款商业工具,而且上手成本并不低,它主要的功能是进行数据分析,画图只是它的九牛一毛,用它做缺陷分析有点大材小用的意思了。

    所以呢,其实我也没有特别好的工具推荐,大家如果有更好的,欢迎交流呀。

    展开全文
  • Struts2框架安全缺陷

    千次阅读 2018-07-05 15:32:48
    转自于:https://blog.csdn.net/zzjjiandan/article/details/9382453本文介绍了java开发流行框架struts2以及webwork的一些安全缺陷,并举例说明框架本身以及开发人员使用框架时,所产生的种种安全问题,以及作者挖掘...
    展开全文
  • 软件测试中的缺陷分析与管理

    千次阅读 2019-08-20 17:03:48
    缺陷的编号、缺陷的标题、缺陷的基本信息、测试的软件和硬件环境、测试的软件版本、缺陷的类型、缺陷的严重程度、缺陷的处理优先级、缺陷的复现步骤、缺陷的实际结果描述、期望的正确结果、截取的缺陷图像、注释文字...
  • 软件测试之缺陷管理

    万次阅读 2018-03-21 20:31:13
    软件测试系列---缺陷管理 一、软件缺陷的基本概念 1、软件缺陷的基本概念主要分为:缺陷、故障、失效这三种。 (1)缺陷(defect):存在于软件之中的偏差,可被激活,以静态的形式存在于软件内部,相当于bug; ...
  • 缺陷管理--软件缺陷严重程度分类

    千次阅读 2013-06-14 18:08:39
    不能执行正常工作功能或重要功能,或者危及人身安全 2 严重 严重影响系统要求或基本功能的实现不能执行正常工作或重要功能,使系统崩溃或资源严重不足,且没办法更正 3 较重 1.严重影响系统要求或基本功能的...
  • 测试缺陷管理工具

    千次阅读 2016-11-01 17:46:10
    在功能可能没有JIRA那么专业,界面也没有JIRA漂亮,但在实用性足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用。不过目前的版本还存在一些问题,期待在今后的版本中能够得以完善。 ...
  • 第五章软件缺陷管理

    千次阅读 2015-10-18 23:01:46
    5.1软件缺陷管理 软件缺陷产生原因:大多数软件缺陷并不是由于编码造成的,导致大多数软件缺陷产生的最大的原因是需求分析阶段,其次是在软件设计阶段 符合下面5个规则中的一个,就是软件缺陷 ...
  • (前言:缺陷描述:软件缺陷的描述是软件缺陷报告中测试人员对问题的陈述的一部分并且是软件缺陷报告的基础部分。同时,软件缺陷的描述也是测试人员就一个软件问题与开发小组交流的最初且最好的机会。一个好的描述,...
  • QQ的安全设计缺陷

    千次阅读 2007-04-01 14:08:00
    QQ是腾讯公司的当家产品,是我国... 这些病毒之所以影响越来越大,部分原因却在于QQ这个软件的安全模式存在缺陷。比如下面就是其中两个。 第一,QQ的用户数据存放位置不当。默认情况下,QQ安装在 c:/program files/
  • 学籍管理系统选择学校窗口缺陷报告 标题 学籍管理系统选择学校窗口缺陷 报告人 Xxx 报告日期 2015.9.3 程序名称 学籍管理系统 配置 Window 7操作...
  • 最近看了Steve Loughran先生写的本书《Hadoop and Kerberos: The Madness Beyond the Gate》,幽默的写作风格幽默风趣,但是国内对大数据平台的安全考虑的文章的确较少,本系列文章主要是分析Hadoop安全现状和源码,...
  • 目前流行的缺陷管理工具

    千次阅读 2011-12-21 09:40:47
    转自:... 缺陷管理工具: 1. Bugzilla 2. Bugfree 3. TestDirector (Quality Center) 4. ClearQuest 5. JIRA 6. Mantis 7. Bugzero 8. BugTracker 9. U
  • 搭建Mantis 缺陷管理系统

    万次阅读 2012-03-01 11:47:37
    原文地址: ... 搭建Mantis 缺陷管理系统 By Snooper 错误必有!欢迎指正! 什么是Mantis MantisBT is a free popular web-based bugtracking system (feature list)
  • 目前流行的Bug缺陷管理工具

    千次阅读 2014-05-24 16:24:11
    目前流行的缺陷管理工具(2009-09-2309:31:13)  标签:杂谈 分类:软件测试   缺陷管理工具: 1. Bugzilla 2. Bugfree 3. TestDirector (Quality Center) 4. ClearQuest 5....
  • 缺陷管理工具”禅道—升华Bug处理流程与相关属性 作为一个软件测试工程师,对缺陷管理工具(缺陷:Bug)的认识和准确操作是有所必要的,缺陷管理工具现在行业中有很多:禅道、QC、Clear Quest、TestLink、Bugfree...
  • 今年是区块链技术自诞生以来最火的一年,也是区块链这一技术从诸多的数 字货币,比如其中最著名的比特币背后站出来,并真正走历史舞台,进入 普遍大众视线的关键一年!而随着今年区块链技术的普及以及其在诸多领域...
  • 软件测试之-软件缺陷管理

    千次阅读 2015-05-07 15:54:41
    1、软件测试缺陷基本概念和相关术语  1)缺陷(Defect):是指存在于软件之中偏差,可被激活,以静态形式存在于软件内部,相当于Bug。  2)故障(Fault):当缺陷被激活后,软件运行中出现的状态,可引起意外...
  • BugFree缺陷管理工具新手入门

    千次阅读 2007-06-18 20:46:00
    BugFree是模仿微软内部的Bug管理系统开发的一套开源web缺陷管理系统,非常的好用,对于提高项目的管理水平有很大的帮助作用。下面我来谈一下自己的安装心得:前提:BugFree是PHP开发,除了windows平台,其他的平台也...
  • 有关在代码中查找安全缺陷的专家提示发布日期: 12/20/2004 | 更新日期: 12/20/2004Michael Howard这篇文章假设您熟悉安全性、C# 和 Visual Basic .NET摘要检查代码中的安全缺陷,是软件创建过程中的一个关键...
  • 缺陷管理流程图 三.开发人员修改缺陷填写规范 四.项目经理决定延期修改缺陷 1.缺陷常用字段说明 1.摘要    对缺陷的简单描述。摘要包括该缺陷所属的模块名称-子模块名称,以及简单说明缺陷...
  • 缺陷管理工具bugfree快速安装配置

    千次阅读 2015-06-21 17:44:13
    前期准备: win7系统电脑一台 以下两款软件自己百度下载 xampp-win32-5.6.8-0 bugfree3.0.4 ...查看是否安装成功,打开控制面板——管理工具,如图则表示安装成功       第二步: 安装xa...
  • 终端桌面安全管理定义

    千次阅读 2008-03-22 19:10:00
    终端桌面安全管理技术的兴起是伴随着网络管理事务密集度的增加,作为网络管理技术的边缘产物而衍生的,它同传统安全防御体系的缺陷相关联,是传统网络安全防范体系的补充,也是未来网络安全防范体系重要的组成部分。...
  • TCP/IP协议分析(网络接口层安全缺陷)

    千次阅读 2020-01-11 23:45:47
    (1)TCP/IP概述 一、计算机网络的体系结构 1、计算机网络体系结构定义 ... 国际化标准组织(ISO)在IBM的SAN基础制定了网络体系结构国际标准是OSI/RM。 由DARPA(Defense Advanced Research Projects...
  • 软件测试分类与分级 4.1软件测试分类 ...(2)黑盒测试(黑盒测试基本都是动态测试) 注重于软件的功能,把测试对象当作看不见内部的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程
  • 访问控制缺陷(Access Control Flaws)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,134
精华内容 43,253
关键字:

安全管理上的缺陷