怎么理解安全测试,安全测试应该怎么做

2020-11-05 19:40发布

5条回答
天天
2楼 · 2020-11-06 09:41

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

安全性测试方法

有许多的测试手段可以进行安全性测试,目前主要安全测试方法有:

①静态的代码安全测试:主要通过对源代码进行安全扫描,根据程序中数据流、控制流、语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安全漏洞。静态的源代码安全测试是非常有用的方法,它可以在编码阶段找出所有可能存在安全风险的代码,这样开发人员可以在早期解决潜在的安全问题。而正因为如此,静态代码测试比较适用于早期的代码开发阶段,而不是测试阶段。

②动态的渗透测试:渗透测试也是常用的安全测试方法。是使用自动化工具或者人工的方法模拟黑客的输入,对应用系统进行攻击性测试,从中找出运行时刻所存在的安全漏洞。这种测试的特点就是真实有效,一般找出来的问题都是正确的,也是较为严重的。但渗透测试一个致命的缺点是模拟的测试数据只能到达有限的测试点,覆盖率很低。

③程序数据扫描。一个有高安全性需求的软件,在运行过程中数据是不能遭到破坏的,否则就会导致缓冲区溢出类型的攻击。数据扫描的手段通常是进行内存测试,内存测试可以发现许多诸如缓冲区溢出之类的漏洞,而这类漏洞使用除此之外的测试手段都难以发现。例如,对软件运行时的内存信息进行扫描,看是否存在一些导致隐患的信息,当然这需要专门的工具来进行验证,手工做是比较困难的。


老测试 - 华为资深测试
3楼 · 2020-11-09 10:03

安全测试是目前比较流行的也是比较前沿的技术,目前缺口比较大,如果有一定的代码基础也愿意深入研究的话,可以投入精力学习一下,前景可观。

赵小刀
4楼 · 2020-11-10 21:02

安全测试涵盖的范围很广,在某种程度上你需要有比性能测试、自动化测试等更为广泛的基础知识。在这里我简单给大家一个自学路线:

1. 掌握更多的软件基本知识。例如http协议、http状态码、数据库操作、中间件、服务器、linux、python等基础知识。

2. 学习了解安全漏洞的原理。各种注入、跨站、绕过等等黑客技术的原理和实现。

3. 学习安全漏洞的测试方法。基于原理,了解学习最简单有效的安全漏洞测试方法,可以结合使用部分半自动化工具等。

4. 了解安全漏洞的防范知识。安全人员要知其然,还要知其所以然,不仅要知道如何去测,还要知道如何去改。教开发码代码,这才是你应该到达的境界。

5. 学会监控。更多时候不管是面对一个系统,还是一个蜜罐,你都要用监控的方式来查看“脚本小子”们到底在用什么方式尝试攻击你的系统,从而采取最合理的方式去避免攻击。

上面的自学路线说的比较宽泛,你可以阅读安全测试自学路线来获取更详细的自学信息。当然除了自学外,也可以加入一些qq群等,与同行更多交流,互相学习。


我知道安全测试是在产品的生命周期中,产品开发基本完成到发布的时候,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程,主要是为了提高产品的安全质量,尽量在发布前找到安全问题并给与修补,以降低开发成本,也避免在上线后带来了缺陷,但我知道的处理办法只能是在实际应用中对系统进行保护,让不受到非法入侵,不受到各种因素的干扰。以上的这些说明是不是就是要保证系统不会被黑客入侵,导用致被攻击者利用安全隐患造成不必要的麻烦呢?这个测试要怎么展开,怎么执行呢、

  在网上看到安全包括三个层次:

  1、安全功能,说是特性,那可以理解为是从系统角度分析安全问题必须从外部、内部权限对象的角度实施威胁防范,对系统的界面,数据流进行测试;

  a.使用 SCW 根据服务器的角色为服务器创建一个包含所有所需安全设置的安全策略。

  b.使用 SCW 和 Scwcmd 命令行工具将此安全策略应用于目标计算机。

  c.使用 Scwcmd 命令行工具查看和分析此安全策略。

  d.使用 Scwcmd 命令行工具将安全策略保存为组策略对象 (GPO) 格式

  通过命令执行,但感觉不是所有的都使用

  3、安全实现,就是对系统做安全测试的结果,达到安全实现的效果

  虽然看了网上资料,是能多少能了解些,但对于没有做过这方面测试的还是很茫然。感觉上比自学LR做性能测试困难多了。


小猪仔
6楼 · 2020-11-18 13:49

包括三个层次:

  1、安全功能,说是特性,那可以理解为是从系统角度分析安全问题必须从外部、内部权限对象的角度实施威胁防范,对系统的界面,数据流进行测试;

  a.使用 SCW 根据服务器的角色为服务器创建一个包含所有所需安全设置的安全策略。

  b.使用 SCW 和 Scwcmd 命令行工具将此安全策略应用于目标计算机。

  c.使用 Scwcmd 命令行工具查看和分析此安全策略。

  d.使用 Scwcmd 命令行工具将安全策略保存为组策略对象 (GPO) 格式

  通过命令执行,但感觉不是所有的都使用

  3、安全实现,就是对系统做安全测试的结果,达到安全实现的效果


相关问题推荐

  • 回答 157

    虽然从事开发行业的女生越来越多,但女生的比例还是远比不上男生。软件测试的男女生比例则基本相当,软件测试要求细心、耐心,大部分女生也是比较适合学的。而且软件测试课程分为手工测试和自动化测试,手工测试分为功能测试、性能测试、接口测试。自动化测试...

  • 回答 121

    需要。很多人当初抱着测试不需要懂代码,才选择了这个行业,这个就要看对自己的职业定位了,是止步于月薪过万就可以了,还是往20k、30k去突破,如果这样的话,是肯定要会接口、会自动化,就必然要涉及到代码。如果真的看不懂代码,实际的测试后期的工作会出现...

  • 回答 91

    在我看来游戏开发挺难的,尤其像手游一类的还有网游,里面有很多的程序代码而且伤神又费力,不过也有女生在这方面做的很好的,如果你感兴趣,非常想学,可以试试

  • 回答 80

    软件测试专业现在很火热,很缺少人才,25岁学软件测试能学会,就业薪资也高,工作也相对轻松

  • 回答 11
    已采纳

    测试类型有:功能测试,性能测试,界面测试。功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用...

  • 回答 15
    已采纳

    这个其实和接口测试的场景密不可分的,比如说:外部接口测试:    必须先接口测试通过了,才能执行功能测试子系统或者各个模块之间的联调测试:    必须各子系统后台代码完成,并提供接口才可以完成测试,一般来说都要求各子系统功能测试通过后再进行...

  • 回答 6
    已采纳

    这个是会因为公司的架构不同而不同的,并不是固定的,但是一般是会有专门的测试部门,或者叫质量保证部,也有可能是叫别的名字。

  • 回答 43
    已采纳

    移动端测试,包括App兼容性测dao试,7*24小时稳定性测试,功耗性能测试,UI测试,交互测试等,课程主要学习的内容有:1、功能测试主要包括计算机基础、软件测试核心理论、Linux、数据库,学习目标是掌握软件测试核心理论,结合Linux、数据库等可实现移动端、w...

  • 回答 1

    标题  1. 首先要做一个标题党(此标题党非彼标题党)。标题一定要清晰简洁易理解,不应该臃长  2. 尽量前缀要规范,例如模板: [Product][Version]_[Feature]_[Title],这样描述会很清晰,也方便查找  3. 缺陷的标题一定要描述在什么情况下发生了什么问...

  • 回答 1

    1、 缺陷报告可以记录缺陷2、可以对缺陷进行跟踪管理3、可以对缺陷报告进行分类 总结 统计

  • 回答 1

    1、缺陷编号(Defect ID),提交BUG的顺序。2、缺陷标题(summary),简明扼要的说明一下这个BUG。3、缺陷的发现者(DetectedBy) ,一般是自己。4、发现缺陷的日期(Detected on date),一般是当天。5、缺陷所属的模块(subject), 在测试哪个模块的时候发现的BUG...

  • 回答 1

    缺陷标题好的缺陷标题需要让相关人员一目了然,一般建议的格式是条件+失败。缺陷类型缺陷类型也是根据具体的项目而定的。但一般情况下分为功能、界面、建议。重现步骤重现步骤的编写规则可以参考测试用例中的操作步骤 ,一定要足够详细、说明清楚问题的操作顺...

  • 回答 1

    工具:NoSQLUnitJsTestDriverQTRunnerVenusFluintBuster.JSSQLUnitECUTQTestlibUnitilsgreatestDbUnitAbbotGoogleTest框架:JUnitMoqJSCaptureMockCUnitPyUnitCppUTestCppUnitzCUTcipra

  • 回答 1

    JunitTestNGGoogleTestpytestunittestJmockitJaCoCogcov、lcov、gcovrCoverage.pyEvoSuiteDiffblue Cover

  • 回答 1

      React Hooks测试库( Testing Library)是一个简单而完整的React Hooks测试工具。  React Hooks测试库让用户可以为React钩子创建简单的测试工具,自定义钩子的输入和检索输出,以处理在功能组件体内运行的情况。  使用React Hooks,用户不必为了测试而去担...

  • 回答 1

    1、单元测试注重代码逻辑,接口测试注重业务逻辑;2、单元测试的粒度最小,是测试最小独立的单元模块(不依赖其他模块);接口测试不是,会覆盖很多;3、单元测试是白盒测试,接口测试是黑盒测试;4、单元测试关注的是代码的实现和逻辑,测试范围较小,保证实...

没有解决我的问题,去提问