【分享嘉宾】OneASP高级安全顾问孙政豪
曾就职于华为技术有限公司,参与企业全线产品的测试和售前工作,熟悉华为防火墙,IPS,Anti-DDOS,UTM,APT 沙箱等产品。此后加入绿盟科技,参与绿盟科技的WAF、ADS等产品的售后技术支持工作,对绿盟科技的WAF和ADS有深入的研究,现就职于 OneASP,负责RASP安全技术相关的研究和分析工作。
【关于OneASP】OneASP是中国安全领域的新兴企业,专注于提供新一代应用安全管理和防护服务,国内首家提供代码级应用安全解决方案,结合安全大数据和威胁情报分析技术多维度联动快速定位风险,从而帮助企业避免由于黑客攻击带来的各类损失。经过2年的技术积累与沉淀,OneASP(代码级应用安全解决方案)能够提供本地化部署和SaaS部署模式。自2015年12月,OneRASP(代码级应用安全解决方案)正式对外发布,截至目前,已获得超过100家企业级与SaaS客户。
网际安全的挑战和现状
今天分享的主题是《新形势下如何做好网际安全防范》,首先来看一下现阶段网络安全正面临着哪些挑战:
除此之外2016年,我们身边也发生了两起比较严重的信息泄漏事件:
某电商公司的数据泄露事件导致其股票下跌8.6%。
山东济南市的徐玉玉事件,因为电信诈骗,学费损失,造成徐玉玉不幸离世。
Gartner的调研报告显示,研发商在周界安全和应用安全投入比例为 23:1,但超过80%的攻击却都发生在应用层,现在多样化的攻击也越来越难以防御。另外,研发商为了快速产品迭代,往往会快速开发应用程序,对安全方面的考虑较少;我们关注的一些漏洞响应平台,可以看到很多企业会有不同的漏洞被暴露出来。这些企业并不是没有做安全防护,他们往往使用了很多防护手段,比如:防火墙、IDS/IPS等等,但是“白帽子”们还是可以轻易绕过这些安全产品,到达企业的应用程序,针对漏洞进而发起渗透测试。
通常避免黑客攻击的防护方法是修复漏洞,当系统中仅有一个漏洞时可以非常轻松的解决,可是当程序中有成百上千的漏洞要如何解决?
下面介绍几种安全防护方法:
安全软件开发生命周期(Security Software Development Life Cycle)是由微软提出的针对应用程序安全开发的一种模型,SSDLC发布后,得到了许多企业的认可,但在国内推行时,却遇到了三方面的阻碍:
①安全领域的指导人才少见
据研究统计,国内每年对安全人才的需求量大概在100万,但实际人才输出只有2万,有高达98%的缺口。
②缺乏安全且有效的流程指导文档
③研发团队往往很少考虑安全因素
此外,严格按照SSDLC开发流程执行,会大大增加应用发布周期,由于以上原因致使SSDLC很难在国内推行下去。
除开发阶段的SSDLC外,我们通常将安全防护分为两部分来做,分别是开发阶段和和运营阶段。
①开发阶段(寻找漏洞)
在开发阶段,寻找漏洞,做一些安全编程规范等,然后通过SAST和DAST来找到开发阶段的安全漏洞,对它进行补救。
②运营阶段(攻击监控防御)
WAF(Web应用防火墙)和IDS/IPS(入侵检测/防御系统),是现阶段主流的应用层安全防护方案。但是在SAST、DAST、WAF、IDS/IPS等防护方案出现以后,还是时常发生信息泄露事件,也就是黑客已经熟知了这些手段,他们可以轻松地绕过这些防护设备来对应用层进行攻击。
开发阶段的SAST和DAST也不是完全奏效,SAST是静态代码安全测试,也就是对应用代码的静态扫描、分析源代码,发现其中是否存在安全隐患。SAST只能静态审核代码,它并不知道在整个代码运行的过程中是否存在漏洞;DAST是动态应用安全测试,即针对代码的渗透测试,DAST是在运行时进行测试,它只能知道使用http或者是其他协议的请求来模拟攻击,去发现应用程序是否存在安全漏洞。但是,DAST并不知道应用程序的漏洞的具体位置。在代码开发阶段有一个新型的检测技术叫IAST,SAST和DAST的弊端可以通过现阶段的IAST(交互式应用安全测试)来解决,它可以将SAST和DAST进行交互,这样既可以看到代码的运行,又可以看到http请求来判断它是不是攻击行为。
再看一下运营阶段,WAF和IDS/IPS这些边界的网关技术真的可以对我们的应用层进行防护吗?WAF和IDS/IPS都是针对数据流进行防护,而数据流是可以被伪装的。
2014年9月25日,Gartner提出了运行时应用自我保护技术,即RASP(Run-time Application Self-Protection)。现阶段,RASP技术可以针对代码进行防护,因为所有应用层的攻击最终都是针对代码发起攻击。如果我们可以在代码中对应用层的攻击进行防护,那么效果就会好很多,RASP就可以在代码运行的过程中对攻击进行检测,它会比WAF和IDS/IPS更加精准。
IAST和RASP
针对上面提到的问题,现阶段我们提出了IAST+RASP探针技术。IAST+RASP探针将探测点和防护逻辑注入到应用程序里,能对漏洞和实时攻击进行有效检测和防护。IAST能够在整个测试过程中看到源代码,还可以看到整个模拟攻击过程,这样就可以结合SAST和DAST来判断应用程序存在哪些安全漏洞。对于系统中未知的漏洞应该如何在运营过程中防护呢?它也是以探针方式代码一起在线上运行,检测每一个请求的运行代码是否是正常的代码。如果是非法代码的执行,RASP探针就可以成功阻断,并且协助定位运代码漏洞。
那么,IAST+RASP技术是如何做到检测和拦截攻击的呢?我们拿SQL注入来给大家举例。IAST+RASP是通过六个步骤来对代码做检测的,下面是探测点织入到运行的应用程序各节点的流程:
通过以上六步判断逐层检测,就可以杜绝85%以上的应用层攻击。
我们为什么需要RASP技术呢?目前的市场现状是:
超过80%的漏洞攻击发生在应用层
通过更改代码来修复漏洞周期长
在此期间,通过补偿控制来保护应用程序
另外,还会存在更多的问题:
程序完成的太久远,找不到源代码
发现的应用漏洞数量太多,修复周期很长
缺少安全专家去推动SSDLC
开发团队缺乏安全经验
第三方供应商的漏洞修复周期长
系统中存在未知的漏洞
因此,通过使用OneRASP产品打虚拟补丁,就能够保护应用程序。什么是虚拟补丁呢?简单来说,如果皮肤被擦伤,我们都会贴上一块创可贴,创可贴并不能支持伤口快速愈合,但是它可以有效阻止外来细菌进入伤口。其实RASP技术对于应用程序来说,就相当于创可贴的功能,它虽然没有修复漏洞,但是能够有效阻止黑客利用漏洞对应用进行攻击。
从上面这张图我们可以看到,IPS/WAF设在应用程序最外围,它采用边界网关技术。而数据流是可以被伪装的,如果它穿过了传统的安全产品WAF到达应用程序,应用程序便完全裸露在黑客面前,黑客就可以对应用程序进行攻击。RASP技术在应用程序内部检测每一个请求是不是正常的,它如果超过传统安全产品到应用程序,那么应用程序就可以多一层防护,对攻击做阻断。
RASP技术与传统的WAF产品具有的优势如下:
1.具有更高的性价比,可帮助企业节省至少50%的项目开支。
2.支持公有云私有云两种部署方式,安装简单,不会影响用户网络环境。
3.管理更简单,即便是普通的开发运维人员也可以对其进行很好的管理。
4.检测更精准,可以抵御很多WAF无法检测到的威胁。
QA环节
1、RASP技术主要的应用场景有哪些?有没有比较典型的客户案例可以分享?
RASP技术可以适应不同的应用场景,典型的是混合云的场景。我们使用混合云的时候,没办法使用一套管理平台来管理所有的应用层安全,RASP是部署在服务器上面,可以使用一套管理平台来管理,比较典型的案例有互联网金融的银客网、融贝网、电商平台的本来生活以及政府机构的人才网等等。
2、RASP开启实时监控/阻断模式时,对网站的并发访问性能有多大影响?需要的运维人力投入如何?
RASP因为是部署在服务器上,会对服务器有一定的影响,大概会使用2%-5%的CPU,会占用200M左右的内存,由于我们的日志都是堆栈信息,运维人员的投入比较少。
3、RASP具备对零日漏洞的实时发现/阻断能力吗?
零日漏洞分为两种,第一种是对于我们企业来说未发现的应用程序漏洞,RASP技术可以针对这部分的零日漏洞进行发现和阻断。我们都知道,防护永远是在攻击发生之后,那么针对整个网络空间的零日漏洞,我们会快速更新迭代来对它进行发现和阻断。
4、RASP具备对低频的、或基于社会工程学的自动化机器人恶意访问的实时发现/阻断能力吗?例如薅羊毛等攻击行为?
RASP技术可以针对一部分社会工程学的自动化机器人发起的恶意访问来做发现和阻断。像薅羊毛的行为,我们会集成第三方的数据来做一些防护,通过恶意的手机号或者IP来对它进行阻断。因为这属于安全大数据或者威胁情报的一部分,后续我们也会做相关的产品来对薅羊毛的行为做一些防护。
5、如何看待国内外安全市场的发展现状?尤其是RASP在国内应用的情况如何?
现阶段黑客已经不仅仅通过流量攻击来获取利益,他们都通过应用层的攻击来获取大量的利益,现阶段安全的重点个人觉得还是在应用层防护。RASP技术在国内已经在互联网金融、电商、政府机构、运营商等平台或者企业里面使用。
本文为拓扑社原创,未经同意不得转载或引用
寻求报道合作请联系:tobshe@itjuzi.com
关注拓扑社微信:tobshe,获取更多内容哦~