
针对恶意内部人员与 AI 生成威胁
发表于:2025 年 1 月 2 日 | Scientific Reports
作者:Hazem M. Kotb、Tarek Gaber、Salem AlJanah、Hossam M. Zawbaa、Mohammed Alkhathami 等
网络安全依然是现代企业面临的最关键挑战之一。尽管组织长久以来在外围安全(如防火墙与入侵检测系统,IDS)上投入巨大,内部威胁的日益增多正将焦点转向对内部异常的检测。内部威胁——无论来自恶意内部人员、疏忽员工还是被攻陷的合法用户——在众多安全事件中占据相当比例。此外,生成式人工智能(AI)的崛起又带来了新的复杂性:自动化系统如今能够生成极其逼真的虚假用户画像,模仿合法行为。
在本文中,我们探讨了一种新型的“基于深度综合的内部入侵检测”(DS-IID)模型,以正面迎接上述挑战。该模型不仅利用深度学习识别恶意内部人员,还能区分真实与 AI 生成(合成)的用户画像。我们将阐述其基本原理、技术细节,给出真实检测场景下的代码示例,并基于 CERT 内部威胁数据集展示模型性能。
内部威胁源自组织内部的实体——员工、合同工或受信任设备——他们拥有对资源的合法访问权。由于这些用户已有较高权限,其异常行为往往能绕过传统安全措施,使标准的异常检测系统难以捕捉。最新研究表明,在许多组织中,内部威胁占网络安全问题的 79% 之多。
生成式 AI 技术的出现更令形势复杂化。这些系统能够创造逼真的合成数据,冒充合法用户行为。通过自动生成虚假用户画像,攻击者可将恶意活动隐藏在“真实”外表之下。传统 IDS 系统常难以区分真实与合成活动,从而导致潜在安全漏洞。
DS-IID 模型融合深度特征综合、生成式建模与二元深度学习,提出了一种全新的内部威胁检测途径。该多维方法实现三大目标:
深度特征综合(DFS)是 DS-IID 模型的核心。与手工特征工程不同,DFS 可从原始事件数据中自动萃取细粒度用户画像。通过对日志、网络活动与用户行为进行综合特征构造,模型可获得用户活动的全面视图,此举有助于:
DS-IID 模型集成生成式模型以模拟真实用户画像。该模拟用于评估可疑画像被 AI 生成的可能性,从而检测伪装为合法行为的威胁。与此同时,基于真实与合成数据训练的二元深度学习分类器用于判断用户画像的合法与否。这种双重方案可实现:
在网络安全领域,良性实例远多于恶意事件,数据不平衡极为常见。为应对这一问题,DS-IID 模型采用“在线加权随机采样”技术。在训练过程中动态调整采样权重,确保稀少的恶意事件对学习过程产生足够影响。
通过加权采样,DS-IID 聚焦少数类(恶意行为),同时不牺牲整体性能,从而降低将正常行为误判为异常的风险。
DS-IID 模型基于多层架构,整合多种数据处理、特征提取与分类方法。以下为各模块技术概览。
模型采用公开数据集(如 CERT 内部威胁数据集)。数据获取涵盖原始事件日志、用户认证记录、网络流量及其他相关日志。预处理步骤包括:
预处理后,应用 DFS 从原始日志中抽取多维特征:
最后阶段为分类:训练二元深度学习模型区分合法与恶意用户画像。关键步骤:
以下为基于 TensorFlow/Keras 的简化 Python 代码片段:
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
# 定义 DS-IID 二元分类模型
def build_ds_iid_model(input_dim):
model = Sequential()
model.add(Dense(128, activation='relu', input_dim=input_dim))
model.add(Dropout(0.3))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.3))
model.add(Dense(32, activation='relu'))
model.add(Dropout(0.3))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
return model
# 示例用法
if __name__ == "__main__":
input_dimensions = 30 # DFS 后的示例特征数
model = build_ds_iid_model(input_dimensions)
model.summary()
以下通过 Bash 与 Python 示例展示 DS-IID 模型的实际应用,包括日志扫描、数据解析及特征综合。
#!/bin/bash
# 日志文件路径(示例:/var/log/auth.log)
LOG_FILE="/var/log/auth.log"
# 定义可疑条目的正则,如多次失败的登录尝试
PATTERN="Failed password|Invalid user"
echo "正在扫描日志中的可疑活动..."
grep -E "$PATTERN" "$LOG_FILE" > suspicious_activity.log
echo "可疑条目汇总:"
wc -l suspicious_activity.log
echo "前 10 行可疑日志:"
head -n 10 suspicious_activity.log
import pandas as pd
import numpy as np
from datetime import datetime
def parse_log_file(log_file_path):
data = []
with open(log_file_path, 'r') as f:
for line in f:
parts = line.split()
timestamp_str = " ".join(parts[0:3])
try:
timestamp = datetime.strptime(timestamp_str, '%b %d %H:%M:%S')
except ValueError:
continue
log_entry = {
'timestamp': timestamp,
'hostname': parts[3],
'service': parts[4].split('[')[0],
'message': " ".join(parts[5:])
}
data.append(log_entry)
return pd.DataFrame(data)
# 模拟深度特征综合
def generate_features(df):
feature_df = df.groupby('hostname').size().reset_index(name='suspicious_count')
df['hour'] = df['timestamp'].dt.hour
hourly_features = df.groupby(['hostname', 'hour']).size().unstack(fill_value=0)
feature_df = feature_df.merge(hourly_features, on='hostname', how='left')
return feature_df
if __name__ == "__main__":
log_df = parse_log_file('suspicious_activity.log')
features = generate_features(log_df)
print("生成的特征:")
print(features.head())
features.to_csv('user_features.csv', index=False)
在 CERT 内部威胁数据集上的关键指标:
利用在线加权随机采样,DS-IID 在极度不平衡的类分布下仍保持高性能。
传统模型依赖手工规则或无监督聚类,准确率通常在 54%–98% 之间。DS-IID 通过自动特征综合及处理 AI 合成数据,在准确性与鲁棒性方面显著领先。
DS-IID 在内部威胁检测领域取得显著突破,尤其在生成式 AI 能够制造迷惑性合成画像的时代。借助深度特征综合与二元深度学习,模型在检测传统与 AI 生成的内部威胁方面兼具高准确率与高效率。
要点总结:
随着内部威胁日趋复杂,将 DS-IID 集成到安全架构中,能够显著提升防御能力。祝各位安全从业者与数据科学家在实践中一切顺利——编码愉快,安全相伴!