专栏首页用户6517667的专栏软件安全性测试(连载1)

软件安全性测试(连载1)

1 软件安全知识概要

下面简单地介绍一下软件安全知识。

1.1软件安全分类

软件安全性包括软件功能安全性和软件信息安全性。软件功能安全性是指当软件发生故障的时候,会自动切换到安全模式。比如高铁在运行过程中遇到雷电袭击后,系统软件就应该将其离开正常模式,然后切入到安全模式下进行运行。软件信息安全性是保证软件信息不被泄露,不被篡改。由于软件功能安全性仅在嵌入式高安全软件下比较常见,所以本章经介绍软件信息安全,且基本局限在WEB软件安全。

1.2 软件安全性与便捷性

如1小区如果进出的门比较多,比如有三个,对于小区住户来说,肯定很方便,但是小区的安全就有一定的威胁,三个进出的门必须配置响应的保安人员;反之如果仅有一个进出的门,方便性肯定降低,但是安全性肯定比前者高更多。软件也一样,在某种程度上安全性与便捷性存在一定的矛盾性。比如一个系统管理软件,允许系统管理员通过这个软件系统执行各种系统命令,肯定是一个便捷的举动,但是也给黑客输入一些关键命令,获取服务器信息带来了一段威胁。又如前几年为了让网页方便挂条幅,出现带P3P的cookie,但是这个技术给黑客钓鱼带来了便利,后来这个技术不得不被业界淘汰。但是既考虑到安全性又考虑到便捷性的技术不是不存在的,而是比较少。

1 小区平面图

1.3白帽子黑客、黑帽子黑客

黑客分为两类,一类是白帽子黑客,另一类是黑帽子黑客。黑帽子黑客就是常说的搞破坏活动的黑客白帽子黑客即从事安全活动的工作人员,一般指的是软件安全工程师。显而易见,白帽子的工作难度要比黑帽子黑客强大得许多,因为作为一名黑帽子黑客可能只需要掌握一两门攻击手段就可以对软件系统进行威胁;而作为一名白帽子黑客,为了防止所有黑帽子黑客的攻击,掌握所某个领域内(比如WEB)有关所有安全知识是必须的工作。在下面的文中,“黑客”仅指黑帽子黑客,白帽子黑客用软件安全工程师来取代。

1.4白帽子兵法

下面来介绍几个白帽子兵法。

1. 默认规则

1)黑名单,白名单

黑名单与白名单是软件安全中经常使用到的列表清单。黑名单是指不被允许的清单列表,比如在上传文件中不得上传以下面格式结尾的文件:“exe”“php”“asp”“jsp”“bat”“java”“class”“jar”“py”。反之,白名单是指被允许的清单列表,还是上传文件,以下面格式结尾的文件是被允许的“bmp”“jpg”“gif”“png”。

2)最小权限原则

最小原则是指为了安全考虑,只有特定的对象仅可以访问某一个或一类特定的元素。比如只允许SQL Server的admin用户访问sec数据库;只允许Linux的root用户访问deafult文件。只允许Tom和Jerry用户访问“添加/修改/删除”其他用户的权限。

2. 纵深防御原则(Defense in Depth)

纵深防御原则是指为了达到一定的安全级别,必须采用一级一级的各种不同的措施对数据、文件、系统加以保护。它来源于核设施和核活动。2是核安全纵深防御措施图。3是XXE漏洞防护方法图。

2 核安全纵深防御措施

3 XXE漏洞纵深防护方法

3. 数据与代码分离原则

数据与代码分离,一方面从安全角度来考虑、另一方面从可维护性角度考虑。如果一个加密算法,数据和代码都在程序文件中,一旦黑客窃取到了这份程序文件,后果是可想而知的。如果仅仅获取到代码或者数据,那威胁就大大地降低了。

4. 不可预测性原则

“未来唯一可以预测的是不可预测”,软件安全也是这样,由于软件威胁是不可预测的,所以努力做好日常的安全工作是必须也是必要的工作。

星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net

顾翔凡言:

图是软件项目三角形。

图 软件项目三角形

下面做如下假设。

l 假设质量(Q)与范围(S)不变,时间(T)减少的情形下,必须雇佣高水平的人员或者先进的技术,即增大产品的成本(C)。同理,质量(Q)与范围不变,时间(T)增加的情形下,可以减少成本(C)。

l 假设质量(Q)与时间(T)不变,范围(S)增加的情形下,也必须增大成本(C)。同理,质量(Q)与时间(T)不变,范围(S)减少的情形下,可以减少成本(C)。

l 假设质量(Q)与成本(C)不变,时间(T)减少的情形下,范围(S)必须减少。同理,质量(Q)与成本(C)不变,时间(T)增加的情形下,可以加大范围(S)。

于是可以得到如下公式:

Q = TC/S

也就是说质量消耗单位模块的时间和金钱的乘积。从这里可以看出,完成一个功能,需要达到一定的质量,必须消耗有效的时间或者增加产品的成本投入,由此可以看出为了赶进度,盲目加班赶工是不可取的。

本文分享自微信公众号 - 软件测试培训(iTestTrain),作者:顾翔

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 软件自动化测试工具之元素智能定位

    江湖一直有着这么一句名言“天下武功,唯快不破"。那么在软件测试领域,自然而然我们会想到软件自动化测试。软件自动化测试的实现自然离不开软件自动化测试工具。软...

    小老鼠
  • 大话测试数据(一)

    测试数据在整个测试过程中扮演着极为重要的角色,但是它却像个没有星象的演员,明明至少是男二号,但总是被观众忽略。在测试过程中,我们往往在测试计划阶段就忽略了测试数...

    小老鼠
  • Cucumber入门 - 啥是BDD?

    作为一个自动化测试工具,这些已经足够了。然而,Cucumber的首页清楚地写着“making BDD fun”,即让行为驱动开发充满欢乐。行为驱动开发(BDD)...

    小老鼠
  • 汇医慧影产品被黑客倒卖?官方回应:不涉及源码和客户数据

    内容提要:自新冠疫情在全球肆虐以来,黑客成了最活跃的群体,可谓嚣张至极。WHO、CDC 等权威机构都先后遭到入侵,辅助新冠肺炎诊断的医疗公司也未能幸免。

    HyperAI超神经
  • 黑客一定要长得黑

    或许在如今的网络的影响下,许许多多的人开始了解了黑客,觉得黑客十分炫酷,尝尝暗想自己有朝一日能想成为一名黑客,黑客,这个称号在人们的心中是如此的热衷,而我开始接...

    程序员互动联盟
  • 顶级黑客能在完全没信号的地方上网吗?

    现实世界中黑客还是非常神秘般的存在,大家对黑客的认知主要停留在影视剧中或者每年一些黑客大赛上,真正意义上的黑客在现实中不会在衣服上标记着我是黑客的字眼,所以讲黑...

    程序员互动联盟
  • 黑客一般用什么操作系统,KaliLinux吗?

    黑客不像程序员那般按照规则做事情,至于使用什么操作系统会根据的自己的爱好选择操作系统,毕竟黑客遵循的情怀大于规则,黑客最大特点是不受约束,追求自由。所以不能简单...

    程序员互动联盟
  • 谈一谈|你不知道的黑客

    现代人的生活离不开互联网,提到互联网人们总会想到一个词,那就是黑客。对于黑客大家对他们的了解却只局限于电影、电视中他们“无处不在”的可怕和他们“翻手为云覆手为雨...

    算法与编程之美
  • 黑客与画家——重塑你对黑客的认识

    为什么大家会对黑客有这种认识呢?首先可能是好多人不懂编程知识,也没有见过真正的黑客,也正是有了这种缺陷,才给那些错误的观念有了可趁之机。我们总是可以在电影,新闻...

    用户7054460
  • 从零开始成为一名黑客,必须学习C语言

    几十年前第一台分时小型电脑诞生, ARPAnet 实验也刚展开的 年代,那时有一个由程序设计专家和网络名人所组成的, 具有分享特点的文化社群。 这种文化的成员创...

    诸葛青云

扫码关注云+社区

领取腾讯云代金券