当前位置: 首页 > article >正文

网络安全 | 使用人工智能阻止网络攻击

全球范围内分布式拒绝服务 (DDoS) 网络攻击急剧增加,这种数字攻击可以通过大量的互联网流量压垮目标服务器,从而使网站瘫痪。这种攻击每年都会发生数百万起,而且数量和规模都在不断增加。大约三分之一的网站宕机是由于 DDoS 攻击所致。

计算机科学家兼波兰国家网络安全和人工智能研究所 (NASK) 研究总监 Michał Karpowicz 说,“DDoS 网络攻击的目的是制造混乱,扰乱组织,当然还有造成经济损失。这种攻击非常常见,因为它们很容易生成。”

在典型 DDoS 攻击中,罪犯会利用多台感染了专门设计的恶意软件的计算机和在线设备。这些设备可能包括厨房电器、安全摄像头和恒温器等物联网 (IoT) 设备,而且数量在与日俱增。目前,物联网涵盖的设备超过 100 亿台,是一支庞大的可被利用的队伍。DDoS 攻击通常会采用以下两种类型中的一种,或是两种类型的组合。在容量耗尽攻击中,受感染的设备会以极大的流量一次性涌入目标网络,致使其过载而无法为普通用户提供服务。在应用程序攻击中,发出的请求会要求服务器执行大量计算,这同样会导致服务器过载。

Karpowicz 使用了一个大家熟悉的场景来描述这个问题。想象你正开车去银行。沿途车辆稀少,一路畅通,直到你抵达最后一个十字路口。这时道路突然发生拥堵,你只能等待。这就是容量耗尽攻击。现在再想象一下,你终于到了银行,正排队等候柜台员工为你办理业务。你发现排在你前面的客户出现了不同寻常的问题,需要银行所有员工的帮助。同样,你还是只能等待。这就是应用程序攻击。

图片

在容量耗尽攻击中,网络一次涌入大量流量,致使网络过载,就像汽车拥堵会导致城市道路过载一样。

恶意软件可以隐藏请求的来源,使得攻击难以抵挡。有些服务还会提供雇佣攻击服务,使得攻击更加容易使用。这些服务的发起方通常是心怀不满的员工、激进分子、市场竞争对手和国家。Karpowicz 指出,在疫情居家期间,NASK 在网课开始时检测到来自学生网络发起的攻击,其目的是试图让在线测试无法进行。

但最近 Karpowicz 开发了数学方法来检测这种恶意请求,以对其进行阻止或重定向。他说,“当你面临一个来自现实的问题时,它会给你许多的灵感。”

图片

应用程序攻击通过要求进行大量计算而使服务器过载,从而迫使所有其他活动停止。

动态指纹

互联网上的信息,包括来自网站的请求,均由数据包组成。每个数据包都有一个作为唯一标识符的标头,描述了数据包的大小、来源和目的地。典型防御会查看这些标头,看它们是否在禁止列表中。然后,防御将坏数据包重定向到无害的目的地。

问题是他们必须事先就拥有这个列表,并且攻击者经常会更改标头以逃避检测。与此相反,Karpowicz 的解决方案采取的是实时检测网络流量模式。

想象一下城市的十字路口有一系列交通摄像头。如果你观看随机采集的一些视频片段,你发现突然之间有大量的蓝色敞篷车聚集在某个位置。很可疑。接下来,你可以密切观察这些车辆,了解更多信息,并且可以让其中更多的车辆靠边停下。

这种方法可以将网络数据转换为信号数据。于是任务就变成了分离不同的信号源。Karpowicz 认为这跟“鸡尾酒会问题”差不多。“鸡尾酒会问题”说得是你参加了一个派对,周围的人都在交谈,你必须从中辨别出跟你交谈的人所说的那些话。

这里,他采用了线性代数。他用信号,也就是数据包标头,填充矩阵。在矩阵中,每一行代表一段时间内特定类型(由数据包大小、来源或某个其他因素定义)的数据包。

在车辆交通的类比中,你可能有表示蓝色车辆、小型货车和来自加州的车辆的行。在给定矩阵中填充单元格的值表示的是可能与攻击识别相关的内容。在一个矩阵中,每个单元格包含的可能是标志数,而在另一个矩阵中,它可能表示每秒比特数。接下来,Karpowicz 将破译这些指标中哪些属性组合出现频率特别高。不单单是蓝色汽车或敞篷车,而是蓝色敞篷车。

图片

FLDX 系统中检测到的容量耗尽攻击。(图片所有权:Michal Karpowicz)

一旦找到这些特征组合,他便将其转换回网络领域,形成防火墙规则。在车辆交通的类比中,如果他知道了是某个品牌和型号的蓝色汽车造成的问题,他便会创建摄像头滤镜,立即找到这些车辆。他将这种基于线性代数的方法称为元因式分解。一篇关于元因式分解的论文正在审查中。

Karpowicz 在 MATLAB® 中实现了这些计算。他说,“线性代数算法是科学界已知最快的算法,这使得这种方法非常高效。”

交通拦截

检测恶意数据包只是问题的一部分;防御者还必须对其进行控制。Karpowicz 说,他偶然得到了一个解决方案。大约十年前,他做过一个提高网络设备能源效率的项目。该项目的目的之一是预测流量,并将数据包流重定向到能够进行处理的路由。在与从事网络安全工作的一位同事讨论该项目时,这位同事表示可以使用该项目对抗 DDoS 攻击。Karpowicz 说,“我们一直在研究这个想法,经过一点一滴的努力,一项新技术逐渐成形。”

在去年《European Journal of Control》上发表的一篇论文中,Karpowicz 描述了这项称为自适应调节的新技术。典型网络流量控制系统不会收到对其性能的反馈。它们是通过阻止与攻击有某种关系的所有流量来防御攻击。这往往会矫枉过正,因为可能会阻止合法的流量。Karpowicz 建议使用融入了反馈机制的流量控制器,这样它们便会知道是否在重定向正确的数据包。

他说,“网络安全给我带来了巨大的科学研究挑战,尤其是在数学方面”。理论与实际相辅相成。“这就是让我坚持下去的动力。我有种预感,这里面有点东西,而且有个需要解决方案的问题。”这些检测和控制系统共同构成了 NASK 提供的 FLDX 服务的基础,他们现在拥有这项服务的专利。它可以在 5 秒内检测到攻击,并在 10 秒内开始缓解攻击。

图片

实时检测 DDoS 攻击的 FLDX 系统。(图片所有权:Michal Karpowicz)

NASK 在波兰各地部署了 FLDX,使用分布式虚拟机集群保护全国网络。Karpowicz 说,“整个解决方案的独特之处在于,它不仅是一个网络安全系统,而且是一个研究平台。它让你可以在 MATLAB 中编写自己的算法来检测和抑制攻击。它还可以让你访问我们在 MATLAB 中收集的数据,并且你可以利用这项技术的所有好处,基于我们提供的流量样本使用数据处理、信号处理和机器学习人工智能 (AI)。”

检测和自适应调节算法都使用机器学习,具体说是一种被称为半监督学习的方法。它不需要太多手工标记的数据即可进行训练。Karpowicz 说,“我们在学习算法中编码了一些专业知识,然后让它们自己完成工作。它们的工作是发现世界上正在发生的事情。

他们能在大量的数据中发现统计规律,比如发现某一类型汽车的集群。他说,“这是机器学习的最佳使用场景。在系统投入运行之前,我们不需要先行收集大量数据集对系统进行调节。在安装好的那一刻系统就可开始工作。”

检测器使用“投票”系统来识别异常数据流。它还通过求解方程组来优化矩阵。即使网络行为非线性(其中一些因素的影响不成比例),线性方程也可以捕获到大部分的模式。

研究人员和工程师可以使用 MATLAB 来访问 NASK 的数据集,而且因为许多科技大学都已在使用该数据集,这使得“这种访问非常方便”。NASK 的数据集可谓独一无二,因为其中不仅包含了来自全国各地的流量数据,而且数据采样率非常高。

图片

FLDX 显示不同的流量。(图片所有权:Michal Karpowicz)

NASK 的研究着眼于流量动态、目标漏洞及攻击的源、频率和方法。他们使用 FLDX 来保护公共和商业客户,包括学校和疫苗接种登记服务。赢得网络安全部门同事的信任是一个“巨大的惊喜”。Karpowicz 说道,“在网络安全工程部,科学家需要一定的时间才会赢得尊重。你得显示出你理解他们在做什么,而且你也在做有用的事情。”但凭借 FLDX,“你可以直接进入前线战场。这就是 NASK 的特别之处。我们从实验室到技术和部署的路线极其简短。”

 免费分享一些我整理的人工智能学习资料给大家,整理了很久,非常全面。包括一些人工智能基础入门视频+AI常用框架实战视频、图像识别、OpenCV、NLP、YOLO、机器学习、pytorch、计算机视觉、深度学习与神经网络等视频、课件源码、国内外知名精华资源、AI热门论文等。

下面是部分截图,加我免费领取

目录

一、人工智能免费视频课程和项目

二、人工智能必读书籍

三、人工智能论文合集

四、机器学习+计算机视觉基础算法教程

最后,我想说的是,自学人工智能并不是一件难事。只要我们有一个正确的学习方法和学习态度,并且坚持不懈地学习下去,就一定能够掌握这个领域的知识和技术。让我们一起抓住机遇,迎接未来!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以点击链接领取 

二维码详情


http://www.kler.cn/a/149916.html

相关文章:

  • 扫雷游戏代码分享(c基础)
  • XML Schema 字符串数据类型
  • C++开发基础之使用librabbitmq库实现RabbitMQ消息队列通信
  • 障碍检测与避障控制 ROS2机器人
  • 小程序中引入下载到本地的iconfont字体图标加载不出来问题解决
  • SpringBoot单体服务无感更新启动,动态检测端口号并动态更新
  • 微服务实战系列之Redis(cache)
  • 行情分析——加密货币市场大盘走势(11.29)
  • 七、Lua字符串
  • 工艺系统所管理数字化实践
  • spark-submit
  • 靡靡之音 天籁之声 ——Adobe Audition
  • stm32 计数模式
  • Django路由分发
  • 荣耀IPO站上新起点:市场望眼欲穿,发展未来可期
  • Redis-Day1基础篇(初识Redis, Redis常见命令, Redis的Java客户端)
  • Sass基础知识之【变量】
  • 【送书活动二期】Java和MySQL数据库中关于小数的保存问题
  • Fuzz进阶教学——人工智能在模糊测试中的应用
  • Linux使用宝塔面板+Discuz+cpolar内网穿透工具搭建可公网访问论坛
  • nodejs669在线图书借阅管理系统vue前端
  • 第20章 多线程
  • Vue框架学习笔记——Vue实例中el和data的两种写法
  • Redis 基础、字符串、哈希、有序集合、集合、列表以及与 Jedis 操作 Redis 和与 Spring 集成。
  • 【备忘录】快速回忆ElasticSearch的CRUD
  • Linux: Ftrace: function_graph 里面有irq处理的函数