网络安全中的人工智能:研究人员的观点

A comprehensive repository of Taiwan's data and information.
Post Reply
mostakimvip06
Posts: 324
Joined: Mon Dec 23, 2024 5:03 am

网络安全中的人工智能:研究人员的观点

Post by mostakimvip06 »

LockBit、Hive、Clop、Agent Tesla、Formbook、Raccoon、MoneroMiner 和 CoinHive 只是近期出现的一些复杂恶意软件的例子,它们对传统的人工分析方法提出了挑战。

作为一名对恶意软件分析感兴趣的网络安全研究人员,由于恶意软件的复杂性和数量不断增加,我在揭示其隐藏的功能、恶意意图和潜在攻击媒介方面遇到了很大的限制。

认识到需要一种更高效、更有效的方法,我探索了人工智能 (AI)模型在分析、识别和解释恶意脚本意图方面的潜力。结果令人印象深刻,证明了人工智能能够加速恶意软件分析并增强我们理解这些威胁的能力。

除了恶意软件分析之外,人工智能的应用在解决其他关键的网络安全挑战方面具有巨大潜力,例如威胁情报、事件响应和漏洞管理。

通过我们的白皮书《学习领导者的人工智能素 香港赌博数据 养指南》探索人工智能如何影响您的组织以及如何实施成功的人工智能战略 。

为什么网络安全需要人工智能?
随着网络安全形势的不断发展,有些网络安全任务只能通过示例来定义。例如,准确定义网络流量中的异常情况非常困难。我们可能能够指定正常和异常网络流量的输入和输出对,但无法简明地定义输入(即网络流量)和期望输出(即正常或异常)之间的关系。

另一个重大挑战是,需要不断重新设计网络安全工具以适应网络安全形势的动态性质,以及从大量数据集中提取见解的繁重任务。识别将看似不同的活动与单个威胁行为者联系起来的重叠战术、技术和程序 (TTP),对于有效的威胁情报至关重要。

我们需要一种方法,能够适当地模拟网络安全样本中隐含的输入和输出之间的关系,能够追踪大量相关的网络安全知识,并擅长提取隐藏在海量数据中的关系和相关性。这就是机器学习 (ML)(AI 算法的一个子集)发挥作用的地方。

成为一名机器学习科学家
提升 Python 技能,成为一名机器学习科学家。
AI 和 ML 通常可以互换使用。但如果我必须快速定义它们并展示它们之间的区别,我会说 AI 指的是构建机器来模仿与人类智能相关的认知功能的技术,而 ML 指的是从数据中学习和改进的 AI 算法的子集。

在本文中,我想探讨机器学习技术在网络安全中的适用性,展示一系列用例以及必须解决的可解释性、可解释性和稳健性的挑战才能充分发挥其潜力。

威胁检测与预防
威胁检测与响应是指检测针对网络或系统的网络威胁,然后采取快速有效的缓解策略。此过程包括检测网络和系统内的异常行为、识别未经授权的入侵以及分析恶意软件样本以保护我们的系统。

异常检测
检测异常是指识别数据中不符合明确定义的正常行为概念的模式。

这一基本概念适用于各个领域,网络安全也不例外。我使用异常检测来识别各种恶意活动,例如检测数据泄露、分布式拒绝服务 (DDoS) 攻击、恶意软件感染等。各种机器学习算法,例如局部离群因子 (LOF)、隔离森林、单类支持向量机 (OC-SVM),都已用于检测异常。然而,选择适当的技术来识别异常值是一项复杂的任务,需要仔细考虑几个因素,包括:

数据类型(例如点数据、序列数据、空间数据或图形结构数据)
异常的性质(例如,点异常、情境异常或集体异常)
标记数据的可用性
所需的输出格式(例如二进制标签或异常分数)
我们将探讨如何选择正确的机器学习技术,并解释它们如何检测恶意网络安全活动。我们的重点是网络安全中的两个关键应用:入侵检测和恶意软件分析。

入侵检测系统 (IDS)
入侵检测系统 (IDS) 是计算机网络和系统的眼睛和耳朵,监控和分析网络流量(基于网络的 IDS)和系统调用(基于主机的 IDS)中是否存在恶意活动。

在我的整个实验过程中,我见证了这两种系统的异常检测方法的强大功能,它们可以检测出新的或以前未知的威胁,这些威胁可以逃避基于签名的技术,而这些技术依赖于预定义的攻击模式进行检测。

在深入研究基于主机的 IDS 之前,了解系统调用是什么很重要。它们本质上是程序向操作系统发出的执行特定任务的请求。假设您使用文本编辑器修改 Linux 操作系统上的文件。在后台,您的文本编辑器请求使用系统调用打开文件open(),使用写入更改write(),然后使用关闭文件保存更改close()。

虽然文本编辑器的系统调用简单易懂且可预测,但恶意行为者的系统调用序列往往具有欺骗性。恶意程序可能会使用一系列类似 的调用open()来write()删除隐藏文件,然后使用execve()提升的权限执行该文件。随后是与网络相关的调用,例如socket(),可能建立命令和控制通道攻击。

为了解决这个问题,系统调用序列通常会被转换成适合机器学习算法的静态特征表示。但是,你可能想知道,在这种情况下,哪种学习技术最适合训练机器学习模型?

学习技术的选择高度依赖于标签的可用性。如果可以获得包含正常和异常系统调用序列的平衡数据集,我肯定会选择监督异常检测模型,例如支持向量机 (SVM)。

相反,在没有标记数据的情况下,我可以使用无监督学习模型,例如孤立森林。对于训练数据中仅表示正常行为的场景,我会寻求半监督学习技术,例如单类 SVM 或DBSCAN。
Post Reply