Network Traffic Anomaly Detection Using Recurrent Neural Networks

来源:arxiv2018,论文链接

利用RNN来进行网络流量的异常检测

核心思想:

将网络流量标记并压缩成形成表示计算机之间对话的“句子”的“单词”序列。然后使用这些句子来训练生成一个模型,该模型可以学习新生成的语言的语义和句法语法。本文通过使用LSTM单元来发现这些序列的关系以及其细微差别。然后使用语言模型来预测两个IP之间的通信,并且所预测出误差的被用来进行测量出特殊(atyptical)的通信与一般(typtical)的通信。通过学习针对每个网络的特定模型,并将其推广到网络内外的典型计算机到计算机通信,语言模型能够识别与模型相关的异常的网络活动序列。

总的来说就是结合NLP的方法来进行网络流量的异常检测。无需通过训练数据的标记,并且不需要了解每台机器的内部状态或流程即可进行恶意流量的检测。此外还可以用一个无监督型的模型,即从一个毫无代表性的流量中训练出的模型(自我理解,可以解决数据不充分的问题)来检测出恶意流量。
使用RNN的原因:网络流量类似序列型数据,则可以采用RNN解决

数据来源

ISCX IDS dataset。包含七天的网络活动,有正常流量以及四种不同的攻击流量

Introduction

近几年网络活动越来越多,造成恶意网络流量也越多。由于现在的IDS是通过匹配来辨别正常流量与恶意流量的方法效率不高。本文则采用LSTM单元来学习代表计算机网络的有序网络流量序列,然后评估此模型检测该网络上恶意活动的能力。

数据预处理方法

网络流量数据由网络上所连接的设备之间的通信日志组成(是否是pcap包)。网络流量通过IP地址聚合形成单条记录,记录包括通信的开始时间以及持续时间。每条记录包含两个网络通信设备的IP地址。此外网络流量还包含传输字节数、数据包、通信的端口号以及协议等。

存在一个问题:由于给设备分配的为动态IP,所以当前的IP不能一直表示此设备,即无法保证设备以及IP的一致性。
可能解决的方法:捕获设备的MAC地址,网络流量通过MAC地址聚合形成单条记录

NLP的处理方法

网络流量的元数据(metadata)也有自然语言的一些特征,网络设备之间的通信是按照顺序捕获的,期望这些通信遵循一组规则,类似于语法,由它们使用的服务和协议确定。

难点:由于一些语法规则无法让分析师理解,所以明确地对其进行建模是不可能的。因此,无监督语言模型是推断网络元数据生成过程的自然选择。

数据处理

从一堆网路流量中根据每个IP对(源IP-目的IP)生成一条条有序序列,以此构成数据集,并且每个IP对IPaIPb等价于IPbIPa。在每个序列中,单个流记录对应于单个标记(token),即NLP类比中的一个词。介绍两种不同的构造序列的方法:

1、按照协议来构造(Proto-byte):floor(log2(bytes)),IPaIPb:TCP:10|TCP:12|UDP:04
2、按照端口号来构造(Service port):IPaIPb:80|80|443|80。对于每个端口对,保留最低的端口值并删除较高的端口值。对于不常见的端口号,用一个粗略的值近似表示。

思考:两种不同的构造序列的方法共同构成一个序列用来训练,或者这两种序列形式分开训练,最后做融合。本文采用分开预测并相互对比其效果。

每个序列是由滑窗构成的,即一小时内两个IP地址之间的所有流量记录。这些IP对可能在某个时段出现恶意行为,而在其他时段不会出现恶意行为,并且恶意行为与正常行为相比要少的多,则定义如果原数据只要包含某时段的恶意行为,则将此时段内构成的所有序列标记为‘攻击行为’。仅将这些标签用于验证,而不是用于模型训练。

构造模型

使用RNN进行训练。网络结构如图所示:

InputLayer ---> embedding(100-dimensional) ---> Bidirectional(LSTM)[包含50个隐藏单元] ---> Dropout(0.2) ---> Bidirectional(LSTM)[包含50个隐藏单元] --->  Dropout(0.2) ---> Dense(relu) --->  Dropout(0.2) ---> Dense(softmax)

实验部分

分为三部分:clean baseline,dirty baseline,NoDoS

  • clean baseline: 在ISCX dataset提取中第一天的数据以及一半的无攻击行为的数据,从而进行训练。预测得到异常流量。
  • dirty baseline: 在完整的ISCX数据集上训练网络,使得模型可以学习攻击流量和非攻击流量。一旦学习了网络流量模型,然后使用该模型来预测数据集中每个流量的值。
  • NoDoS: 在训练或评估过程中除去DoS攻击和DDoS攻击。由于DoS和DDoS攻击的流量可能导致模型过度适应这些类型的攻击,即产生过拟合(可能DoS或DDoS的流量有很多),因此无法将它们标记为异常。

结果:本文中所训练出的模型能够在clean baseline和dirty baseline辨别出异常流量。
评测指标:AUC。(无确定的阈值来判断是否是异常流量,即预测的是概率,所以采用AUC评测模型的好坏。二分类问题)[也可采用logloss]

AUC曲线图:

  • dirty baseline: (Proto-byte features)AUC=0.84, (Service port features)AUC=0.74


    dirty baseline
  • clean baseline: (Proto-byte features)AUC=0.78, (Service port features)AUC=0.53


    clean baseline
  • NoDoS: (Proto-byte features)AUC=0.82, (Service port features)AUC=0.39


    NoDoS

综上可得,dirty baseline这种方法取得的效果最好,原因之一有dirty baseline中的数据集要大,能够充分的进行训练。

结论

采用RNN方法来进行网络流量的异常检测,其中的一个优势是只需训练相对便宜且容易存储的流量,即使此流量与本实验不相关,也能进行学习训练。

展望(创新点)

建议将来在这一领域的研究人员考虑一个流式或小批量框架,其中模型是在网络数据的时间子集上学习的,并用于在生成新数据时对其进行评分。这样会尽量减少计算的需求,因为训练LSTM可以定期完成,而且是在计算资源便宜或者可用的时候。无监督模型与用户在回路反馈机制和监督学习相结合的方法可以提供有价值的性能改进,减少误报警并提高识别常见攻击媒介的可信度。

标签:minibatch、streaming、有监督与无监督相结合

思考点

采用Google的Wide&Deep方法,Wide部分是人工找特征,流量特征方面。Deep部分则采用本论文的方式,构造有序序列,采用RNN网络结构。其两者结合的方式探讨是否有效果。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容