聊聊安全测试的“各种姿势”

2020 年 1 月 07 日

聊聊安全测试的“各种姿势”


今年以来,红蓝攻防演练在企业安全服务市场变得很火,特别是在演习推动下,很多企业都会在实际演习行动前进行一两轮、甚至三四轮的攻防演练,来提前发现企业安全体系建设中的短板与弱项。


然而,有些企业就有点迷茫了,我们公司一直在购买渗透测试服务,还有必要搞红蓝攻防演练吗?渗透测试与红蓝攻防演练有何不同?


在此,笔者就来聊聊渗透测试的“各种姿势”,以方便大家在购买安全服务时进行比较。


一、渗透测试的基本概念


百度百科定义,渗透测试是为了证明网络防御按照预期计划正常运行而提供的一种机制。


而有网友分享的定义:渗透测试是在取得客户授权的情况下,通过模拟黑客攻击对客户的整个信息系统进行全面的漏洞查找、分析、利用,最后给出完整的渗透报告和问题解决方案。


从这些定义看,渗透测试内涵其实非常宽泛,没有限定具体的表现形式。


因此,在具体实施过程中,甲方公司根据各自的企业情况(如风险容忍程度、CTO/CSO 个人喜好、预算投入、财务制度等)进行灵活协商,形成了适应企业实际情况的渗透测试模式。


可以说,在一千个企业里,就存在着一千种渗透测试模式。


二、渗透测试的各种姿势


不过,从笔者观察看,这些不同的渗透测试模式,大致可分为以下五种:上线前的渗透测试、上线后定期在线安全测试、依托众测平台的安全众测、自组织的安全众测、红蓝攻防演练。


1.上线前渗透测试


这应该是各种企业安全测试的标配了,一般都是信息系统已经完成了联调联试,各项功能指标、技术指标已经达到设计要求后,在企业的测试环境中进行的一次渗透测试。


从某种意义说,上线前的渗透测试就是一个安全的 Checklist,一般关注技术性漏洞,利用各种工具检查系统存不存在 xss、文件上传、越权访问、命令执行等漏洞。


渗透测试结果一般直接转给业务系统开发人员,对企业内其他人员的安全意识传导作用比较薄弱。


  • 目标系统:单个业务系统的测试环境系统

  • 涉及人员:业务系统开发人员、组织测试的安全人员

  • 风险程度:最小,测试环境实施,不会影响业务。

  • 发现问题的影响面:单个系统

  • 乙方厂商组织形式:一般会采用购买人力包或项目包的方式实施,购买一至两家安全厂商的服务,在此推荐至少购买两家,形成竞争格局。

  • 局限性:难以实现测试面全覆盖、不能发现因上线过程中配置失误导致的安全漏洞。


2.上线后定期在线安全测试


因为上线前的渗透测试不能发现因上线过程中配置失误导致的安全漏洞,所以,有些企业就会采用上线后定期在线安全测试的形式,比如,每季度、每个重大活动之前等。


根据实际情况,在线安全测试的目标可以选择专门针对某一系统或几个系统,也可以选择全量的在线业务系统。


安全测试不仅是从技术角度正面进攻检测漏洞,还会通过端口扫描、资产发现、管理后台扫描等手段,发现因配置失误导致的安全漏洞。


  • 目标系统:一个或多个生产环境系统

  • 涉及人员:业务系统开发人员、业务系统运维人员、组织测试的安全人员、安全监控人员

  • 风险程度:存在一定风险,一是有些高危操作可能会给企业生产数据造成脏数据的风险;二是有些渗透测试人员发现漏洞不报告,私自下载企业业务数据。

  • 发现问题的影响面:单个系统

  • 乙方厂商组织形式:一般会采用购买人力包或项目包的方式实施,购买一至两家安全厂商的服务,在此推荐至少购买两家,形成竞争格局。

  • 局限性:难以实现测试面全覆盖。


3.依托众测平台的安全众测


2010 年成立的乌云网,聚集了一批民间渗透测试高手,俗称“白帽子”,后来发展成国内颇具影响力的漏洞平台。


2011 年,刚成立一年的乌云网连续披露京东、支付宝、网易等著名互联网企业存在高危漏洞,此后又接连指出支付宝 2500 万用户资料泄露、如家酒店开房信息泄露、腾讯 7000 万 QQ 群用户数据泄露等一系列安全问题。


据说,那时候企业安全人员每天起床的第一件事就是打开乌云平台,看看有没有自家的安全漏洞。


乌云网的兴起让人们看到了渗透测试领域的“人民战争”、“群众路线”威力。


其后,乌云网因种种原因而停站,但是,其后却兴起了一批以专门提供众测服务的安全厂商,比较典型的有漏洞盒子安全众测平台、360 补天安全众测平台、阿里先知安全众测平台、SOBUG 安全众测平台等。


随着各企业互联网应用不断增多,传统的安全渗透测试也面临着测试人手不足、产品版本更迭太快来不及测试等问题。


甲方厂商发现无论是代码安全测试、上线前渗透测试,还是上线后定期安全测试,都无法完全及时发现企业全量的安全漏洞,各类安全漏洞平台还是会出现自己的安全漏洞。


与其坐以待毙,还不如主动作为,于是乎,有些甲方厂商就开始与众测平台合作,通过协议委托众测平台发布专业测试项目,参与项目的白帽子需通过审核认证后才能报名参与众测项目,依托外部白帽子发现企业的安全漏洞。


  • 目标系统:可以是一个或多个生产环境系统,也可以是待发布的测试环境系统。

  • 涉及人员:业务系统开发人员、业务系统运维人员、组织测试的安全人员、安全监控人员

  • 风险程度:存在较高风险,一是白帽子的管理较为松散,背景调查、身份核验等难度较大。二是有些高危操作可能会给企业生产数据造成脏数据的风险;三是有些渗透测试人员发现漏洞不报告,私自下载企业业务数据。

  • 发现问题的影响面:单个系统

  • 乙方厂商组织形式:选择一家互联网安全众测平台作为安全众测服务商,由其组织白帽子参与项目众测,在白帽子之间形成竞争机制。与众测平台签订项目制,可以在众测平台在线公开发布众测项目,也可以依托众测平台通过线下组织众测项目。

  • 局限性:难以发现高阶安全漏洞。


4.企业自组织的安全众测


随着众测的发展,有些比较大的甲方厂商就开始有不同的思路。


一是有些企业觉得与其到众测平台开众测项目收集企业安全漏洞,还不如我自己直接接收白帽子的安全漏洞,于是,各大互联网公司都开始建立各自的 SRC 安全应急响应中心,在其中提供专门的漏洞收集板块,供白帽子提交漏洞,为白帽子提供积分、礼品、现金等奖励。


二是有些企业觉得众测平台较难管控安全风险,普通的渗透测试缺乏竞争机制,难以发现高阶安全漏洞。于是这些企业就开始组织厂商众测模式,选择四五家安全厂商同时开展安全测试,然后按漏洞效果付费,漏洞等级高,付费就高,等级低,付费就低。


  • 目标系统:一个或多个生产环境系统。

  • 涉及人员:业务系统开发人员、业务系统运维人员、组织测试的安全人员、安全监控人员

  • 风险程度:存在较高风险,一是SRC模式中白帽子的管理较为松散,背景调查、身份核验等难度较大。二是有些高危操作可能会给企业生产数据造成脏数据的风险;三是有些渗透测试人员发现漏洞不报告,私自下载企业业务数据。

  • 发现问题的影响面:厂商众测可能会发现影响面较大的安全漏洞

  • 乙方厂商组织形式:选择多家(一般为2至5家)安全渗透测试公司,分别组织专业渗透人员参与项目众测,按漏洞效果付费,在多家公司之间形成竞争机制,择优淘劣。

  • 局限性:安全漏洞数量不可控,企业投入可能较大,乙方的服务不能持续实施,一般以项目制形式,预算花完就停止服务。


5.红蓝攻防演练


以上说的渗透测试都相当于单项打靶射击考核,一次专项性的能力测验,以发现技术漏洞的目的为主。


而红蓝攻防演练考验的是企业整体防护水平和防护体系,如全体人员安全意识、防护系统检测发现能力、目标系统漏洞情况等,既考验了防护系统的有效性,又全面检查系统各类漏洞情况,还考验人员的安全意识。


因此,红蓝攻防演练一般是针对企业的全部信息系统、分支机构,不设具体目标、不限具体手段,全面检验企业的主动防护、安全检测、应急处置等能力,发现系统技术漏洞反而是附属性的。


在攻防演练过程中,


一,攻击者会利用社工、边边角角系统等进行迂回包抄,直到达到入侵系统的目的为止。任何一点疏漏都可能导致整体防护体系的溃败。攻防演练考验的是企业的总体防护水平。


二,攻防演练不仅能发现技术性漏洞,还能发现企业安全管理上的漏洞、防护体系上的漏洞、防护策略上的漏洞等。


三、攻防演练的对象企业全体资产、人员、数据等,因此,任何一个人、系统都可能成为企业安全防护体系中的短板。


最后在演练总结通报中,加以总结提炼,传达到企业全员,可以达到提升全员安全意识的目的。在集中攻防演练期间,企业安全人员作为防守方,充分参与攻防过程,可以有效提升防护人员的技术水平。


  • 目标系统:企业全体资产、人员、数据、系统。

  • 涉及人员:企业全体人员

  • 风险程度:存在较高风险,一是有些高危操作可能会给企业生产数据造成脏数据的风险;二是有些渗透测试人员发现漏洞不报告,私自下载企业业务数据。

  • 发现问题的影响面:能够全面发现企业安全体系的漏洞

  • 乙方厂商组织形式:选择多家(一般为2至5家)安全渗透测试公司,分别组织专业渗透人员参与红蓝攻防演练,按漏洞效果付费,在多家公司之间形成竞争机制,择优淘劣。

  • 局限性:安全漏洞数量不可控,企业投入可能较大,乙方的服务不能持续实施,一般以项目制形式,预算花完就停止服务。


三、渗透测试服务的选购建议


综上所述,甲方企业在进行年度的安全渗透服务预算时,可以适当考虑多层次的安全渗透测试服务,以达到尽可能多的发现安全漏洞目的。


首先,上线前渗透测试和上线后定期安全测试应该是企业安全渗透测试服务的标准选择。有些企业可能害怕渗透测试影响业务运行,而只选择上线前渗透测试。


但是,殊不知有些系统上线过程中产生漏洞危害也是巨大的,更有甚者,有些系统上线前根本就没有经过安全渗透测试或者阶段变更没有经过安全渗透测试,这些都会导致渗透测试在流程上、机制上存在覆盖盲点。


其次,安全众测可以适当考虑投入预算,毕竟渗透测试领域的“人民战争”、“群众路线”威力还是不可小觑的


预算少的中小企业可以在众测平台上开个众测项目,预算多的大企业可以考虑建设自己的 SRC 服务,或者自己组织进行厂商众测。有些人认为我们是很低调的公司,有没有必要开个众测项目来引起外部白帽子的注意力。


在此,我想说的是,无论你低调不低调,漏洞总在那里,不主动去发现它、修复它,它始终在那里,与其被动挨打,不如主动出击。


最后,大企业在进行安全渗透测试服务预算规划和年度计划时,应尽量能安排一些攻防演练经费,红蓝攻防演练给企业安全建设带来的好处只有亲身经历才能体会其中真味。


一是,每年固定一至俩个时间点(上、下半年各一次),发布攻防演练通告,集中开展攻防演练工作(集中时间点)。

二、一般企业可组织外部安全团队进行攻防演练,防护方由企业内部人员担当,攻击者由外部企业组织。大厂一般都开始建立专门的安全渗透团队,号称企业蓝军,经常性开展攻防演练工作。

三、渗透测试可适当形成夺标奖励机制,要以企业的攻击成果论英雄、给经费,不要让外部企业感觉干多干少一个样,有没有效果一个样。


(本文转自 freebuf.com)


2020 年 1 月 07 日 14:571361

评论

发布
暂无评论
发现更多内容

Week05 作业

极客大学架构师训练营

1. 初识Jackson -- 世界上最好的JSON库

YourBatman

Jackson Fastjson JSON库

第5周 - 学习总结

大海

Jira feat. Confluence助力敏捷项目管理

YY哥-杨勇

分布式缓存总结

朱月俊

一致哈希

王鹏飞

一致性哈希算法实现及案例测试,java版

潜默闻雨

第五周总结-缓存、消息中间件、负载均衡器、分布式数据库

吴建中

极客大学架构师训练营

作业-05-java实现一致性hash算法

梦子说

极客大学架构师训练营

架构师训练营」第 4 周作业

edd

架构师训练营第五周总结

方堃

极客大学架构师训练营

架构师训练营 - 学习笔记 - 第五周

心在飞

极客大学架构师训练营

极客时间架构师训练营 - week5 - 作业 2

jjn0703

极客大学架构师训练营

架构师训练营作业 -- Week 5

吴炳华

极客大学架构师训练营

领域模型为核心的架构设计 初篇

小隐乐乐

领域驱动设计 架构师

架构师训练营 第五周 学习总结

一雄

学习 极客大学架构师训练营 第五周

实现一致性哈希算法

Aldaron

golang实现基于虚拟节点的一致性hash算法

朱月俊

第05周 技术选型-01 学习总结

Jaye

技术选型之缓存、队列、负载均衡

olderwei

极客大学架构师训练营

第 5 周 - 课后作业

大海

公司内部mysql使用规范分享

白白白贺

架构师训练营 Week 05 总结

Wancho

【第九课 + 第十课】技术选型:缓存架构 + 消息队列与异步架构

Aldaron

架构设计篇之面向对象设计

小诚信驿站

架构 架构师 架构分析 刘晓成 架构演进

架构师训练营 - 技术选型

Pontus

极客大学架构师训练营

扯淡 Java 集合

CoderLi

Java 后端 hashmap 后台

Java实现一致性 Hash 算法实现(训练营第五课)

看山是山

极客大学架构师训练营 一致性hash

【架构师训练营 - 周总结 -5】

小动物

总结 极客大学架构师训练营 第五周

「架构师训练营」学习笔记:第 5 周 技术选型

Amy

总结 极客大学架构师训练营 消息队列 分布式缓存 第五周

架构师训练营:第五周作业-一致性 hash实现

zcj

极客大学架构师训练营

聊聊安全测试的“各种姿势”-InfoQ