何为DoS攻击
王枭卿首先介绍道,安域的产品其实功能主要是两个部分,一个就是DDoS的防护,另外一块就是对于网站的运维安全。这里介绍的是,DDoS还有外部的一些工作。
王枭卿提到,第一部分是DDoS攻击,从比较早开始,上来第一页的话是一个基于分层的,低于DDoS攻击的一个分类的,现在还是DDoS。DDoS本身是指拒绝服务,可以分成两大类,一类是攻击者用比较少的资源,就可以让服务崩溃或者进入死循环,另外一种就是通过比较大量的攻击资源,发送大量的报文,连接请求,占用目标系统的计算资源,存储资源,带宽资源。王枭卿今天着重提到的是后者,后面这种其实防护起来还是属于至少说是个人觉得比较困难的一种,也会有很多细节问题在里面,主要的都是flood结尾,类似于洪水攻击。
王枭卿讲解道,DDoS分为两类,一个是对系统计算,内存占用一些攻击,比如UDPflood,ICMPflood和分片攻击;另一类是带宽资源的占用,前面计算还有存储资源占用,以及针对与带宽的占用的话有些攻击是两边都有的。
王枭卿还提到了单体DDoS攻击,当把这些单体DDoS攻击分布到多台的服务器上,则称为分布式的DDoS攻击。这种一个表现物理层面,有多台的主机参与,在低于方面有不同的省市国家和区域发起这种攻击。
针对分布式的DDoS攻击,王枭卿认为也有两种,一种是必须常见的,就相当于攻击者用这种已经感染病毒的攻击,导致攻击资源把其组成一个攻击程序,发起攻击指令,然后对目标系统发起攻击。这个用的不是本身资源,而是利用他人计算资源和带宽。
另外一种是反射性攻击,相当于这些本身直接发出流量的机器,它的控制权并不是在攻击者,只不过用同一个请求相应的报文的大小不一样,允许多数的反射工具UDP类的,无法进行有效验证的业务来发起这类的放射性攻击,这个主要是DDoS的两种途径。
王枭卿分析,DDoS发起演进的趋势,最早期攻击者手上的机器不是太多。这个其实也是一个性价比国际的过程,就找一些单台的机器,怎么把目标系统打死,攻击者手上是两台机器,想超过一个网站对外服务带宽是不大可能,所以这个时候用DDoS攻击还是以第一种就是刚才提到消耗计算资源,内存资源为目的的这种攻击方式,就是SYNFlood,早期都是以这个作为攻击的主要目标。
王枭卿认为这个时候其实消耗主要是计算资源和性能,后来随着反射技术或代理技术的发展,慢慢地攻击者掌握的带宽,超过被攻击目标,对外提供服务带宽这种趋势,还随着技术的演进,对于消耗计算性的攻击,逐渐有比较成熟的技术,这个时候攻击者混合去打一些攻击,有的是小包,其中也会夹杂一些大包的攻击,这种攻击会特意把负载加的最大,一个包一千多字节,用来占带宽,另外就是比较小的包,这个时候属于一个混合的阶段,然后同时攻击计算资源和带宽资源的。
之后就到了近几年,并且这个现象是最近两三年才发现的。其很多高贷款的攻击,就是三四百G的大宽带里面,由50%以上的流量攻击包的大小都是一千三四的以上的包,这个时候攻击者就放弃的技术性的攻击原理,直接简单粗暴就攻击带宽,这个跟攻击者掌握带宽资源的原因越来越多,基于这么个原因才出现这样的情况。
DDoS防护之问题
王枭卿还介绍了在DDoS的防护的时候,可能遇到的一些问题。他提到,其攻防一直是属于攻守交错的一个状态。在攻守交错的过程,DDoS出现和攻击的时候,大家对于这个没有完整的理论,第一印象是协议缺陷怎么办,比如说软件缺陷可以打补丁,协议缺陷怎么打补丁?在这种缺乏理论知识的情况下,可能给防护带来一些障碍,但是国家对于这种攻击的研究,慢慢的话也会用一些比较成熟的解决方案,比如说就是伪造IP的情况,可以做一些验证和探测。之后现在等于是防护原理那边有减了,如果攻击量比较小还可以解决,如果攻击量比较大,这个时候的话新的问题就出现了,主要是一个技术架构上面的话,还会有一些技术瓶颈。对于NP来说的话转发层面,IO上面是可以的,但是计算能力不足,去做一些复杂的计算处理以及内存交互的时候,这个问题就可能不行。专用芯片在灵活性和开发和维护成本上都有比较大的限制,这个是在架构上本身成为的制约DDoS防护的重要问题。
同时也是随着技术的发展,比如说有一些EP和X86混合的出现,解决的基础架构的一些问题,随之而来当前遇到攻击形式,很大的攻击带宽会让小防护产生很大的成本问题。
王枭卿提到,360安域作为防守方的话也是会想一些办法来解决这类问题,这里面三类基本上都是基于共享的思路压低成本,一种是IDC会开展一些高防业务,来充分利用下降带宽。二是CDN,CDN基于业务模式日常的话也是有比较充裕的带宽,可以用来做攻击流量的接受还有清晰过滤。三是云计算,很多云计算厂商都对外提供了或多或少的,1G2G的DDoS的防护能力。
王枭卿还提到,360安域也会存在一些新的挑战。对于CDN来说,现在对于这种CDN环境就是会跟遇到的问题进行一个阐述。我们一个CDN上有几千个域名,这个时候被攻击不知道谁被攻击,其实想做一些调度回源这个也很难做到的。
另外一个就是这种攻击发现靠投诉,这种就是介入CDN之后,真实客户端的IP放在的应用层。这个时候在精准性,灵敏性,限制没有那么精确,也会导致这类的问题,就是客户的源站已经死掉了,这个时候还要做这种防护。
这个是写的地主家也没有余粮,就算下沉带宽,也架不住几百G的攻击。王枭卿提到他曾经遇到攻击者就是一个节点一个节点打。这个期间节点是不可用的。
最后一个是是城门失火,王枭卿往往遇到一个人被攻击或者一个业务被攻击,会影响到其他的业务,或者是其他的客户,这个也是比较头疼的一个地方。
闭环式的防护
王枭卿提到,所谓闭环式的防护,最大的宗旨就是万事想到前面。这种防护设立小小的目标,可能是100G,或者200G,一个T的防护容量。他希望有快速防护响应的能力,实时的防护,报警的话30到60秒。
王枭卿讲到,未来达到这个目标需要做工作准备,检测和防护。从检测方面来说第一个是多维度的检测分析。除了对接口带宽或者出口带宽这一类之外,还要细化到IP,应用层乃至域名。另外就是独立的IP组服务域名和客户,这个主要是为了解决我们找不到哪个用户被攻击的情况。另外还有计费的问题,成本还是非常高。有一种解决方式的话那就是以定位为目的的调度。
王枭卿还提到实时的防护机制和架构。这在一定程度可以实施在线防护的能力,比如代理还有技术的话就是比较成熟的,剩下就是一个性能问题。之后是一个应用层防护和三四层防护的联动,这种对于应用层的发现还有攻击源的定位的话还是防护是最好的,对于防护角度来说就是拦截。应用层防护联动三四层的防护,效果还是不错的。还有则是防护过程的自动升级与迁移,这个时候需要准备迁移方案和降级方案。
王枭卿认为360安域还需要规划层面。一个是资源规划,他有意为大IP覆盖提供准备充足的IP和IP资源。比如说大流量攻击,相对来说大的一块单节点也是要在规划里面考虑的。之后就是业务隔离,360安域对所有服务规划是不一样的,且必要保证关键用户的服务质量,这些都需要考虑把用户业务单独隔离出来,那么攻击就对其产生的影响则减少许多。
王枭卿认为,其他服务则依靠运营。其中在整个服务的防护过程中,包括应急响应流程,还有外界风险的识别和管理,显得尤为重要。外界环境,风险是否增加,对风险有何措施,这也会直接影响未来一两个月的防护能力和效果。关于反馈机制,除了系统架构,单节点的反馈处理,从PlanB到PlanA预测到发生概率比较小的事件,需要其准备相互的资源和防护方式。
王枭卿还提到了IP信誉和客户风险级别。他提到有时360安域确实会识别攻击IP以及客户当前被攻击的风险。王枭卿认为其可以把数据作为下次防护的基准,并反馈到现有的防护和运营体系之中。下一个则是预测和预警。这个也是最后一个一个是结合feedback数据的预警,我们至少知道哪些客户更容易被攻击,哪些IP更容易产生攻击,这样就加大监控力度,提高级别,做得更敏感一点。另外是依据蜜罐做的一个检测,早期在七八年前做过一个检测,在蜜罐系统可以收到一些服务器的指令,根据这些指令其可做面向大众的指令,而且360安域也可以提前知道有哪些域名存在潜在攻击目标。
最后王枭卿总结道,剩下如果把刚才所有的事情全都做完了,360安域离目标还差的数,可能是80%,也可能是20%,然而剩下20%他认为是在攻击方可能会有一些新的技术。最后为了弥补剩下的20%,王枭卿呼吁业界专家还有人士应不停探索和研究,把20%逐渐缩小。