Web开发的安全之旅|青训营笔记

61 阅读4分钟

Web开发的安全之旅|青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第5天

一、什么是分布式拒绝服务(DDoS)攻击

分布式拒绝服务(DDoS)攻击是通过大规模互联网流量淹没目标服务器或其周边基础设施,以破坏目标服务器、服务或网络正常流量的恶意行为。

二、DDoS攻击的工作原理

DDoS 攻击是通过连接互联网的计算机网络进行的。

这些网络由计算和其他设备组成,它们感染了恶意软件),从而被攻击者远程控制。这些个体设备称为机器人(或僵尸),一组机器人则称为僵尸网络。

一旦建立了僵尸网络,攻击者就可通过向每个机器人发送远程指令来发动攻击。

当僵尸网络将受害者的服务器或网络作为目标时,每个机器人会将请求发送到目标的 IP 地址,这可能导致服务器或网络不堪重负,从而造成对正常流量的拒绝服务。

由于每个机器人都是合法的互联网设备,因而可能很难区分攻击流量与正常流量。

三、如何识别DDos攻击

DDoS 攻击最明显的症状是网站或服务突然变慢或不可用。但是,造成类似性能问题的原因有多种(如合法流量激增),因此通常需要进一步调查。流量分析工具可以帮助您发现 DDoS 攻击的一些明显迹象:

  • 来自单个 IP 地址或 IP 范围的可疑流量
  • 来自共享单个行为特征(例如设备类型、地理位置或 Web 浏览器版本)的用户的大量流量
  • 对单个页面或端点的请求数量出现不明原因的激增
  • 奇怪的流量模式,例如一天中非常规时间段的激增或看似不自然的模式(例如,每 10 分钟出现一次激增)

DDoS 攻击还有其他更具体的迹象,具体取决于攻击的类型。

四、如何防护DDoS攻击

若要缓解 DDoS 攻击,关键在于区分攻击流量与正常流量。

例如,如果因发布某款产品导致公司网站涌现大批热情客户,那么全面切断流量是错误之举。如果公司从已知恶意用户处收到的流量突然激增,或许需要努力缓解攻击。

难点在于区分真实客户流量与攻击流量。

在现代互联网中,DDoS 流量以多种形式出现。流量设计可能有所不同,从非欺骗性单源攻击到复杂的自适应多方位攻击无所不有。

多方位 DDoS 攻击采用多种攻击手段,以期通过不同的方式击垮目标,很可能分散各个层级的缓解工作注意力。

同时针对协议堆栈的多个层级(如 DNS 放大(针对第 3/4 层)外加 HTTP 洪水(针对第 7 层))发动攻击就是多方位 DDoS 攻击的一个典型例子。

为防护多方位 DDoS 攻击,需要部署多项不同策略,从而缓解不同层级的攻击。

一般而言,攻击越复杂,越难以区分攻击流量与正常流量 —— 攻击者的目标是尽可能混入正常流量,从而尽量减弱缓解成效。

如果缓解措施不加选择地丢弃或限制流量,很可能将正常流量与攻击流量一起丢弃,同时攻击还可能进行修改调整以规避缓解措施。为克服复杂的破坏手段,采用分层解决方案效果最理想。

五、总结

通过攻击、防御两个视角,介绍了前端范畴内常见的安全问题,包括XSS、CSRF、SQL注入、DOS等。通过参考资料,详细了解DDoS攻击,分布式拒绝服务。前端作为用户的第一扇窗(视口),也是用户直观的可以访问后端的一个界面。在前端的安全领域一直在不断地更新,攻防一直在不断地进化。安全无小事,数据泄漏是大事。