ddos 攻防

分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指利用网络技术,用一个客户机来控制多个被控节点(分布式),向目标节点发起网络攻击,使其网络拥堵、cpu占满、内存耗尽、最终导致服务器不可用的攻击行为(拒绝正常的访问请求)。

ddos攻击从原理上有很多种类型:

  • 简单粗暴的,用socket频繁连接目标机,使目标机访问端口被大量非法访问占用,从而使正常的请求延迟或超时。这种攻击出现于早期互联网时器,目标机是单台节点,目标机cpu 内存和带宽都有限,容易被击垮。现在已经不多见这种攻击方式。
  • 使用木马,随着一些软件隐藏在普通用户的电脑上面,并且具备传染性(一般是利用局域网漏洞,来拷贝病毒到局域网其它节点)。有的是通过钓鱼链接来实现跨网络感染。 背后的不良黑客用一台电脑来控制这些节点。当需要的时候,唤醒这些节点上面的攻击程序,由黑客下发攻击目标,被控节点(一般是几千台左右,多的能有上万台)用大流量来压垮目标节点。 这种方式类似于提线木偶。
  • 使用反射,攻击节点修改网络包里面的源地址,向被攻击节点发出非法访问,被攻击节点要返回一个包给源节点(庞大的公共Ip列表),这些源节点就会回复一个包给被攻击节点,此时被攻击节点会被压垮。
  • 利用协议漏洞,例如SYN Flood。
    SYN Flood是互联网上最经典的DDoS攻击方式之一,最早出现于1999年,雅虎当时就中招。SYN Flood攻击利用了TCP三次握手的缺陷,以较小代价使目标服务器无法响应,且难以追查。
  • 攻击互联网基础设施,例如如果一家公司的DNS服务器被攻破,这家公司的所有业务都会受到严重影响。不过目前这种攻击已经被安全团队解决了。

服务器有两种结构:b/s、c/s
正常的网络访问,都是客户端连接上服务器后,持续数据交互。
恶意的客户端访问,是连接成功后,马上断开,再次连接。或者创建很多socket,写入无效的内容。
在github上面有一些攻防的教程。源码通常不超过2000行,其实黑客用的技术都不复杂,只不过用在了一个巧字上面。

那么何谓巧字:巧,指的是把力量集中起来,以一种恰当的组合排列方式,放在该放的地方。也就是俗话说的好钢用在刀刃上。

对于这种类型的攻击来说,启用白名单无用。使用布隆滤波器,可以解决该问题。

节点安全:
计算机安全有两种方法:第一、构建黑白名单,谁是正的谁是邪的,以此判断。国内早期的安全公司普遍才有这种方法。优点是对计算机性能的影响比较小,缺点是病毒会变异(被编译),从而使数据库里面的病毒名单不能刷新到。利用这个空档期,病毒已经把该干的事情干完了。
第二、行为监控。优点是精准,能实时防御病毒。缺点是占用系统资源过高。

目前比较科学的设计方法是(从未搞过安全软件,在下猜测应该这么去设计):
病毒库、行为监控、云端行为检控(把样本上传到云端进行行为监控),还可以更新病毒库

世界本应是均衡的。大部分时候,混合都是最好的方案。

对于现在的互联网安全来说,被动防御是不够的,需要主动出击方能克敌制胜。
因此,网络安全现在的模型应该是:防护盾->粗略识别目标行为->精准判断是否是异常访问(强调精准,需要大量的数据去练习才能更准确的识别正常与异常访问者,python人工智能训练数据(目前的人工智能指的不是模型的智能,而是数据的智能,在下认为未来真正的人工智能一定是模型的智能))->反过来攻击攻击者(目标服务器具备先天优势,大量节点、大流量)->攻击者被打垮不敢再来。
历史经验无数次表明,擒贼先勤王,射人先射马。
冬去春来,花开花落,都可用于编程。
这个世界上,真正的高手就两种:什么都会的、什么都不会的
T a n g s h u n c a i \color{#222514}{-}\color{#222514}{-}\color{#222514}{-}\color{#222514}{-}\color{#4285f4}{T}\color{#ea4335}{a}\color{#fbbc05}{n}\color{#4285f4}{g}\color{#34a853}{s}\color{#ea4335}{h}\color{#4285f4}{u}\color{#fbbc05}{n}\color{#34a853}{c}\color{#ea4335}{a}\color{#fbbc05}{i}

发布了82 篇原创文章 · 获赞 71 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/jacky128256/article/details/104621270