活动参与方式
在文末留言
“对安全的一些想法或想读此书的理由”
截止至2017年8月14日前
留言被点赞最多的前5名用户
可以获得《白帽子讲Web扫描》一书
Web扫描器首著问世
让你从零开始学习和开发属于自己的Web扫描器
建立自己的Web扫描体系
什么是Web扫描器
Web 扫描器是一种可以对Web 应用程序进行自动化安全测试的工具,它可以帮助我们快速发现目标存在的安全风险,并能够对其进行持续性安全监控。
随着互联网的高速发展,Web应用在其中所扮演的地位也越来越重要,因为很多业务都选择使用 Web的形式来提供服务,但随之而来的 Web安全问题也日渐凸显出来,企业往往会因此遭受巨大的损失,此时很多企业都会在 Web应用上线前或运行中对其进行相应的安全测试来保证安全性,减少由于安全问题造成的损失。
黑盒测试和白盒测试
通常而言, Web应用的安全测试技术主要有:黑盒测试和白盒测试,还有一种灰盒测试,它是介于黑盒和白盒之间的。这里我们主要说一下黑盒测试,它又被称为动态调试,这种方法主要是测试应用的功能点。它不需要分析内部代码,也不需要测试代码实现的逻辑。在黑盒测试过程中,只需要通过网页爬虫模拟正常用户访问 Web应用的全部路径,然后基于探测的路径生成安全测试用例即可。在该过程中,被测站点往往被视为一个黑盒,此时不用关心其内部如何运行,用何种语言编写,只需依赖于 Web应用的可用性。因此,黑盒测试常常是安全人员首选的测试方法,同时它具有实施性强、兼容性好,以及测试效率高等特点,因而得到了广泛的应用。
本书所讲的 Web扫描器,属于黑盒测试的范畴,在 Web应用安全测试中起着至关重要的作用,同时它的价值也是显而易见的。
三个基础的安全认知
1.木桶原理
盛水的木桶是由多块木板箍成的,盛水量也是由这些木板决定的。若其中一块木板很短,则此木桶的盛水量就被限制,该短板就成了这个木桶盛水量的限制因素,若要此木桶盛水量增加,只有换掉短板或将其加长才行,这就是木桶原理。它表达的意思就是,一个水桶无论有多高,它盛水的高度取决于其中最短的那块木板。在信息安全领域中,目标系统就好比盛水的木桶,它的安全性完全取决于系统中最薄弱的那个环节。
举个例子,我们在给企业进行渗透测试服务时,发现弱口令的安全问题仍然是企业的一个重灾区,这些企业虽然在安全方面做了很多工作,而且也部署了一些安全设备,但往往却因为一个简单的弱口令导致整个系统被入侵和攻破,所以我们需要审视系统中的薄弱点,并进行加强。
2.攻防不对称,安全是相对的
攻防不对称其实很好理解,防御方需要保护的是一个整体,而攻击方却可以通过审视这个整体,选择其中一个薄弱的环节进行持续的攻击。在这个对抗的过程中,其实很多内容都是不对称的,如下。
技术不对称:攻击方可以针对目标使用的某个软件或组件进行深入的漏洞挖掘,然后通过新的 0day漏洞完成攻击和入侵,而防御方却无法对系统每个部分的漏洞都有所了解。
成本不对称:攻击方可以选择成本低廉、破坏力强的 DDoS拒绝服务攻击,而防御方却需要消耗巨大的成本进行整体的防御。
信息不对称:攻击方可以选择通过人员、社交、无线等与企业有依赖关系的入口制订攻击路径,而防御方却无法覆盖所有的关联入口。
因此不论是安全产品,还是安全设计,它们的目标从来都不是绝对安全的,而只追求相对安全。但这个认知绝不是用来找借口或是逃避安全责任的,而是用来提醒我们:安全是一个动态的过程,当前的安全工作仍然还有提升的空间;攻防其实只是一种成本的博弈对抗,只需要在允许的成本范围内进行适度、有效的防御即可;在攻防不对称的情况下,我们可以选择用攻击驱动的方式进行防御。
3.纵深防御
我们知道,当今所有的信息安全技术其实都是以“用户是好人”为信任前提,只有当确认他干了坏事之后,才会把他定义为“坏人”,然后开始对其进行响应或防御。只有当某个用户已被证明产生了危害后,才将其定位为黑客或攻击者,开始对他进行应急处置,这种防御方式显然存在天然的滞后性,也势必会导致安全人员处于被动、挨打的局面。
为了能够改变这种被动、滞后的劣势,就需要拉伸防御的纵深。其实一个完整的攻击并不是由单点完成的,它通常会由一系列的环节关联组成,属于一个持续、连贯的过程。因此,我们可以在攻击过程中的每个必要环节点设置防御,从而做到提前感知和防御,利用这种层层设防、联动防御的方式,就可以化被动为主动,在攻击产生危害之前对其进行应急响应和处置。
安全其实是一个动态、整体的概念,正如道哥所说,互联网本来是安全的,自从有了研究安全的人之后,互联网就变得不安全了;而研究安全的人归根结底可以分为攻与防两个大分支,不过这里所说的攻防不是单纯的攻击入侵与技术防御,它们会结合技术、业务、流程、人员、制度和管理,形成一个广义的攻防概念,并一起构成了安全这个整体。因此我们看待安全的时候需要从攻与防两个不同的角度来整体审视和博弈均衡,同时攻击和防御也会在不断碰撞和对抗的过程中得到发展和变化。攻击通常会选择系统相对薄弱的环节来实施,防御则需要从各个角度及不同维度进行整体防御,补齐系统的各个短板,但攻防它又是不对称的,因此我们需要利用纵深防御的理念,将完整的攻击链条进行拆分和细化,在每个环节进行深度分析和防御,从而建立起立体化的安全防御体系。
作者是谁
刘漩,曾任安全宝网络安全经理,公司的第十号员工、第一位安全工程师,参与并经历了安全宝的整个安全建设过程;后加入百度公司,担任安全服务负责人,主要负责百度安全对外的企业安全服务,带领团队为上百家互联网企业提供过安全服务,具有丰富的安全建设和攻防实战经验;同时还是开源手机防火墙imiPhoneWall的作者;现任量化派首席安全官一职。
请点击「阅读原文」直接购买