2020-07-13 15:10发布
深度学习可以用于网络安全吗?
Introduction
我们在社区中看到的大多数深度学习应用程序通常面向营销,销售,财务等领域。我们几乎从未阅读过文章或找到有关深度学习的资源用于保护这些产品和业务,恶意软件和黑客攻击。
虽然像谷歌,Facebook,微软和Salesforce这样的大型科技公司已经深入学习了他们的产品,但网络安全行业仍在追赶。这是一个具有挑战性的领域,但需要我们全力关注。
在本文中,我们将简要介绍深度学习(DL)以及它支持的一些现有信息安全(此处称为InfoSec)应用程序。然后,我们深入研究了匿名交通检测的有趣问题,并提出了一种基于DL的解决方案来检测TOR流量。
本文的目标读者是已经从事机器学习项目的数据科学专业人员。本文的内容假定您具有机器学习的基础知识,目前要么是初学者,要么是探索,深度学习和它的用例。
强烈建议使用以下预读取以充分利用本文:
DemystifyingInformationSecurityusingDataScience
FundamentalsofDeepLearning–ActivationFunctionsandWhentousethem?
目录
InfoSec中深度学习系统的现状
前馈神经网络简述
案例研究:使用深度学习进行Tor流量检测
数据实验-Tor流量检测
深度学习不是解决所有InfoSec问题的灵丹妙药,因为它需要广泛的标记数据集。不幸的是,没有这样的标记数据集是容易获得的。但是,有几个InfoSec用例,深度学习网络正在对现有解决方案进行重大改进。恶意软件检测和网络入侵检测是两个这样的领域,深度学习已经显示出比基于规则和经典机器学习的解决方案的显着改进。
网络入侵检测系统通常是基于规则和基于签名的控制,部署在外围以检测已知威胁。攻击者可以更改恶意软件签名,轻松逃避传统的网络入侵检测系统。Quamar等人。[1],在他们的IEEE交易文件中,展示了使用自学式学习的深度学习(DL)系统在检测未知网络入侵方面很有前途。传统的安全用例,如恶意软件检测和间谍软件检测,已经被基于神经网络的深层系统所解决[2]。
与传统的基于ML的方法相比,基于DL的技术的泛化能力更好。Jung等人[3]基于DL的系统甚至可以检测零日恶意软件。DanielGibert[2],博士。毕业于巴塞罗那大学,从事卷积神经网络(CNN,一种DL架构)和恶意软件检测方面的大量工作。在他的博士学位他说,CNN可以检测甚至多态恶意软件。
基于DL的神经网络现在正在用户和实体行为分析(UEBA)中使用。传统上,UEBA采用异常检测和机器学习算法,这些算法提取安全事件以分析和基线化企业IT环境中的每个用户和网络元素。任何与基线的重大偏差都会被触发为异常,进一步引发安全分析师调查警报。UEBA增强了对内部威胁的检测,尽管程度有限。
现在,基于深度学习的系统被用于检测许多其他类型的异常。来自波兰华沙大学的PawełKobojek[4]使用击键动力学来验证使用LSTM网络的用户。CapitalOne安全数据工程总监JasonTrost发表了几篇博客[5],其中列出了有关在InfoSec中应用深度学习的技术论文和演讲。
前馈神经网络简介
人工神经网络的灵感来自生物神经网络。神经元是生物神经网络的原子单元。每个神经元由树突,细胞核和轴突组成。它通过树突接收信号,并通过轴突进行(图1)。计算在核中进行。整个网络由一系列神经元组成。
人工智能研究人员借用这个想法来开发人工神经网络(ANN)。在此设置中,每个神经元完成三个动作:
它以加权方式累积来自各种其他神经元或输入的输入
它总结了所有输入信号
基于求和值,它调用激活函数
因此,每个神经元可以分类一组输入是属于一个类还是另一个类。当仅使用单个神经元时,该功率受到限制。然而,创造一组神经元使其成为分类和序列标记任务的强大机制。
图1:我们可以获得的最大灵感来自自然-图中描绘了一个生物神经元和一个人工神经元。
一组神经元层可用于创建神经网络。网络架构根据其需要实现的目标而不同。常见的网络架构是前馈神经网络(FFN)。神经元线性排列而没有任何循环以形成FFN。它被称为前馈,因为信息在网络内部向前传播,首先通过输入神经元层,然后通过隐藏的神经元层,以及输出神经元层(图2)。
图2:具有两个隐藏层的前馈网络
与任何受监督的机器学习模型一样,FFN需要使用标记数据进行训练。训练的形式是通过减少输出值和真值之间的误差来优化参数。要优化的一个这样的重要参数是每个神经元给予其每个输入信号的权重。对于单个神经元,可以使用误差容易地计算权重。
然而,当在多个层中整理一组神经元时,基于在输出层计算的误差来优化多个层中的神经元权重是具有挑战性的。反向传播算法有助于解决这个问题[6]。反向传播是一种旧技术,属于计算机代数的分支。这里,自动微分用于计算在网络中使用的权重的计算中所需的梯度。
在FFN中,基于每个链接神经元的激活,获得输出。错误是逐层传播的。基于输出与最终结果的正确性,计算误差。然后将该错误反过来传播以修复内部神经元的错误。对于每个数据实例,通过多次迭代来优化参数。
网络攻击的主要目标是窃取企业客户数据,销售数据,知识产权文档,源代码和软件密钥。攻击者将被盗数据与常规流量一起泄露到加密流量中的远程服务器。
大多数情况下,攻击者使用匿名网络,使安全防御者难以追踪流量。此外,渗透的数据通常是加密的,使基于规则的网络入侵工具和防火墙无效。最近,匿名网络也被用于勒索软件/恶意软件的特定变体的C&C。例如,OnionRansomware[7]使用TOR网络与其C&C进行通信。
图3:Alice和目标服务器之间的TOR通信的图示。通信开始于Alice请求到服务器的路径。TOR网络给出了AES加密的路径。路径的随机化发生在TOR网络内部。数据包的加密路径以红色显示。在到达作为TOR网络的外围节点的出口节点时,普通分组被传送到服务器。
匿名网络/流量可以通过各种方式完成。它们大致可分为:
基于网络(TOR,I2P,Freenet)
基于自定义操作系统(子图OS,Freepto)
其中,TOR是最受欢迎的选择之一。TOR是一款免费软件,可通过称为洋葱路由协议的专用路由协议在互联网上进行匿名通信[9]。该协议依赖于重定向全球各种免费托管中继的互联网流量。在中继期间,与洋葱皮的层一样,每个HTTP包使用接收器的公钥加密。
在每个接收点,可以使用私钥解密分组。在解密时,显示下一个目的地中继地址。这继续直到满足TOR网络的退出节点,其中分组的解密结束,并且普通HTTP分组被转发到原始目的地服务器。在上面的图3中描绘了Alice和服务器之间的示例路由方案以用于说明。
启动TOR的最初目的是保护用户的隐私。然而,对手劫持了撒玛利亚人的良好目标,将其用于各种邪恶手段。截至2016年,约有20%的Tor流量涉及非法活动。在企业网络中,通过不允许安装TOR客户端或阻止Guard或Entry节点IP地址来确定TOR流量。
但是,攻击者和恶意软件可以通过多种方式访问TOR网络以传输数据和信息。IP阻止策略不是一个合理的策略。攻击者可以产生不同的IP来进行通信。蒸馏网络[5]报告的糟糕机器人景观报告显示,2015年70%的自动攻击使用多个IP,20%的自动攻击使用了100多个IP。
可以通过分析流量包来检测TOR流量。此分析可以在TOR节点上,也可以在客户端和入口节点之间。分析是在单个数据包流上完成的。每个流构成源地址,源端口,目标地址和目标端口的元组。
提取不同时间间隔的网络流并对其进行分析。G.He等人。在他们的论文“从Tor加密流量中推断应用程序类型信息”提取突发卷和方向以创建HMM模型以检测可能正在生成的TOR应用程序那个交通。该领域的大多数流行作品都利用基于时间的功能以及大小和端口信息等其他功能来检测TOR流量。
我们从Habibi等[使用基于时间的特征的Tor流量特征描述]论文中获取灵感,并对提取的网络流量采用基于时间的方法来检测TOR流量对于这篇文章。但是,我们的架构使用了大量其他元信息,可以获取这些元信息来对流量进行分类。这本质上是由于选择了解决此问题的深度学习架构。
我们从HabibiLashkari等人那里获得了数据。[11]在新不伦瑞克大学进行本文所做的数据实验。他们的数据包括从大学互联网流量分析中提取的功能。从数据中提取的元信息如下表所示:
除了这些参数之外,还包括其他基于流量的参数。数据集中的示例实例如下面的图4所示:
图4:本文使用的数据集实例。
请注意,源IP/端口和目标IP/端口以及协议字段已从实例中删除,因为它们过度匹配模型。我们使用具有N个隐藏层的深度前馈神经网络处理所有其他特征。神经网络的架构如下图5所示。
图5:用于TOR流量检测的深度学习网络表示。
隐藏层在2到10之间变化。我们发现N=5是最佳的。对于激活,Relu用于所有隐藏层。隐藏层的每一层都是密集的,尺寸为100。
model=Sequential()
model.add(Dense(feature_dim,input_dim=feature_dim,kernel_initializer='normal',activation='relu'))
for_inrange(0,hidden_layers-1):
model.add(Dense(neurons_num,kernel_initializer='normal',activation='relu'))
model.add(Dense(1,kernel_initializer='normal',activation='sigmoid'))
model.compile(optimizer='adam',loss='binary_crossentropy',metrics=["accuracy"])
图6:Keras中FFN的Python代码片段。
输出节点由sigmoid函数激活。这被用作输出的二进制分类–Tor或Non-Tor。
我们在后端使用带有Tensorflow的Keras来训练DL模块。二元交叉熵损失用于优化FFN。该模型针对不同的时期进行了训练。下面的图7显示了一个运行的训练模拟,描绘了随着时期数量增加而增加的性能和减少的损失值。
图7:Tensorboard生成的静态描述网络培训过程
深度学习系统的结果与其他各种估算器进行了比较。Recall,Precision和F-Score的标准分类指标用于衡量估计量的效果。我们基于DL的系统能够很好地检测TOR类。但是,我们需要更加重视Non-Tor类。可以看出,基于深度学习的系统可以减少非Tor类别样本的误报情况。结果如下表所示:
在各种分类器中,基于随机森林和深度学习的方法比其他方法表现更好。显示的结果基于55,000个训练实例。本实验中使用的数据集比典型的基于DL的系统要小。随着训练数据的增加,基于DL和随机森林分类器的性能将进一步提高。
但是,对于大型数据集,基于DL的分类器通常优于其他分类器,并且可以针对相似类型的应用程序进行推广。例如,如果需要训练分类器来检测TOR使用的应用程序,那么只有输出层需要重新训练,并且所有其他层可以保持相同。而其他ML分类器将需要针对整个数据集进行再训练。请记住,重新训练模型可能会占用大型数据集的大量计算资源。
EndNotes
匿名流量检测是每个企业面临的细微挑战。攻击者使用TOR通道以匿名模式泄露数据。当前流量检测供应商的方法依赖于阻塞TOR网络的已知入口节点。这不是一种可扩展的方法,可以轻松绕过。通用方法是使用基于深度学习的技术。
在本文中,我们提出了一个基于深度学习的系统来检测具有高召回率和精确度的TOR流量。请在下面的评论部分中了解您对当前深度学习状态的看法,或者您是否有其他替代方法。
References
[1]:QuamarNiyaz,WeiqingSun,AhmadYJavaid,andMansoorAlam,“ADeepLearningApproachforNetworkIntrusionDetectionSystem,”IEEETransactionsonEmergingTopicsinComputationalIntelligence,2018.
[2]:DanielGibert,[“ConvolutionalNeuralNetworksforMalwareClassification,”](http://www.covert.io/research-papers/deep-learning-security/ConvolutionalNeuralNetworksforMalwareClassification.pdf)Thesis2016.
[3]:WookhyunJung,SangwonKim,SangyongChoi,“DeepLearningforZero-dayFlashMalwareDetection,”IEEEsecurity,2017.
[4]:PawełKobojekandKhalidSaeed,“ApplicationofRecurrentNeuralNetworksforUser
VerificationbasedonKeystrokeDynamics,”Journaloftelecommunicationsandinformationtechnology,2016.
[5]:DeepLearningSecurityPapers,http://www.covert.io/the-definitive-security-datascience-and-machinelearning-guide/#deep-learning-and-security-papers,accessedonMay2018.
[6]:“DeepLearning,”IanGoodfellow,YoshuaBengio,AaaronCourville;pp196,MITPress,2016.
[7]:“TheOnionRansomware,”https://www.kaspersky.co.in/resource-center/threats/onion-ransomware-virus-threat,RetrievedonNovember29,2017.
[8]:“5bestalternativetoTOR.,”https://fossbytes.com/best-alternatives-to-tor-browser-to-browse-anonymously/,RetrievedonNovember29,2017.
[9]:Tor.Wikipedia.,https://en.wikipedia.org/wiki/Tor_(anonymity_network),RetrievedonNovember24,2017.
[10]:He,G.,Yang,M.,Luo,J.andGu,X.,“InferringApplicationTypeInformationfromTorEncryptedTraffic,”AdvancedCloudandBigData(CBD),2014SecondInternationalConferenceon(pp.220-227),Nov.2014.
[11]:HabibiLashkariA.,DraperGilG.,MamunM.andGhorbaniA.,“CharacterizationofTorTrafficusingTimebasedFeatures,”Proceedingsofthe3rdInternationalConferenceonInformationSystemsSecurityandPrivacy–Volume1,pages253-262,2017.
[13]:Juarez,M.,Afroz,S.,Acar,G.,Diaz,C.andGreenstadt,R.,“Acriticalevaluationofwebsitefingerprintingattacks,”Proceedingsofthe2014ACMSIGSACConferenceonComputerandCommunicationsSecurity(pp.263-274),November2014
[14]:Bai,X.,Zhang,Y.andNiu,X.,“Trafficidentificationoftorandweb-mix,”IntelligentSystemsDesignandApplications,ISDA’08.EighthInternationalConferenceon(Vol.1,pp.548-551).IEEE,November2008
选对培训机构比较重要,还有就是选择的时候看一下自己适合哪种风格的讲课方式,这个也很重要。因为现在5G时代来临,人工智能绝对是一个发展的大趋势,如果你自己空余时间又比较多的话,其实可以报一个辅导班,学习学习一些基本的东西,毕竟多学点总是没有坏处...
深度学习是近几年人工智能领域的主要研究方向。深度学习的主要任务是通过构建深度卷积神经网络(Deep Neural Network,DNN)和采用大量样本数据作为输入,人们最终会得到一个具有强大分析能力和识别能力的模型,该模型包含了DNN的构成参数以应用于实际工作。...
AI深度学习课程是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术,主要应用于图像识别、语音识别、自然语言处理等领域。学完可以从事深度学习工程师、机器学习工程师、人工智能工程师、高级算法工程师、高级算法工...
算法,数据相关的适合做人工智能
人工智能取代的行业,一定有如下几个特征:1、大量重复型。2、逻辑性比较强。3、数据库依赖型。像司机,咨询,教育,医生,会计,律师助理,工程师,码农等,都是容易被取代的行业。当然,这都是强人工智能以后会发生的事,现在还是弱人工智能的时代,想进入...
如果你是自己学着玩,提升自己的话,高中毕业都可以。如果是冲着AI算法岗或者科研一席之地,至少211硕士。具体可以亲身体验一下今年算法岗秋招。
可以,未来的人工智能发展深度学习必然是现在大型机器生产科研必备的,证书的话某个培训好像有这个中科院的证书,具体你去百度吧
我觉得就是人工智能的课程,现在家具都是智能家居了。这一块发展一定很好
对于sgd算法而言,batch size太大太小都不好,太小的话训练不稳定,计算效率低;太大的话收敛速度慢,需要仔细调节一下。以2的倍数调节,例如32,64,128等
在terminal中输入$wolf@wolf:~/Downloads/gitclonehttps://github.com/Tencent/ncnn cd切换到NCNN目录***这步很重要,这时候需要修改ncnn的root目录下的CMakeLists.txt文件,需要将倒数几行的add_subdirectory(examples),取消注释,这样就是默认编译example...
人工智能的话其实到现在来说已经慢慢趋于成熟,学的话首先是一线城市,学出来好就业,还有就是薪资也高
画个train and test error VS 训练数据量(training set size) 的learningcurve应该会更加直观了。可以找个简单的数据集,比如说handwritten digits或者什么的,分别用神经网络和决策树或者knn做出这个learningcurve。你会看到如果用一个决策树去解决这个问题...
共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征。它是定义一组纹理特征的基础。 一幅图象的灰度共生矩阵能反映出图象灰度关于...
最多设置5个标签!
Introduction
我们在社区中看到的大多数深度学习应用程序通常面向营销,销售,财务等领域。我们几乎从未阅读过文章或找到有关深度学习的资源用于保护这些产品和业务,恶意软件和黑客攻击。
虽然像谷歌,Facebook,微软和Salesforce这样的大型科技公司已经深入学习了他们的产品,但网络安全行业仍在追赶。这是一个具有挑战性的领域,但需要我们全力关注。
在本文中,我们将简要介绍深度学习(DL)以及它支持的一些现有信息安全(此处称为InfoSec)应用程序。然后,我们深入研究了匿名交通检测的有趣问题,并提出了一种基于DL的解决方案来检测TOR流量。
本文的目标读者是已经从事机器学习项目的数据科学专业人员。本文的内容假定您具有机器学习的基础知识,目前要么是初学者,要么是探索,深度学习和它的用例。
强烈建议使用以下预读取以充分利用本文:
DemystifyingInformationSecurityusingDataScience
FundamentalsofDeepLearning–ActivationFunctionsandWhentousethem?
目录
InfoSec中深度学习系统的现状
前馈神经网络简述
案例研究:使用深度学习进行Tor流量检测
数据实验-Tor流量检测
InfoSec中深度学习系统的现状
深度学习不是解决所有InfoSec问题的灵丹妙药,因为它需要广泛的标记数据集。不幸的是,没有这样的标记数据集是容易获得的。但是,有几个InfoSec用例,深度学习网络正在对现有解决方案进行重大改进。恶意软件检测和网络入侵检测是两个这样的领域,深度学习已经显示出比基于规则和经典机器学习的解决方案的显着改进。
网络入侵检测系统通常是基于规则和基于签名的控制,部署在外围以检测已知威胁。攻击者可以更改恶意软件签名,轻松逃避传统的网络入侵检测系统。Quamar等人。[1],在他们的IEEE交易文件中,展示了使用自学式学习的深度学习(DL)系统在检测未知网络入侵方面很有前途。传统的安全用例,如恶意软件检测和间谍软件检测,已经被基于神经网络的深层系统所解决[2]。
与传统的基于ML的方法相比,基于DL的技术的泛化能力更好。Jung等人[3]基于DL的系统甚至可以检测零日恶意软件。DanielGibert[2],博士。毕业于巴塞罗那大学,从事卷积神经网络(CNN,一种DL架构)和恶意软件检测方面的大量工作。在他的博士学位他说,CNN可以检测甚至多态恶意软件。
基于DL的神经网络现在正在用户和实体行为分析(UEBA)中使用。传统上,UEBA采用异常检测和机器学习算法,这些算法提取安全事件以分析和基线化企业IT环境中的每个用户和网络元素。任何与基线的重大偏差都会被触发为异常,进一步引发安全分析师调查警报。UEBA增强了对内部威胁的检测,尽管程度有限。
现在,基于深度学习的系统被用于检测许多其他类型的异常。来自波兰华沙大学的PawełKobojek[4]使用击键动力学来验证使用LSTM网络的用户。CapitalOne安全数据工程总监JasonTrost发表了几篇博客[5],其中列出了有关在InfoSec中应用深度学习的技术论文和演讲。
前馈神经网络简介
人工神经网络的灵感来自生物神经网络。神经元是生物神经网络的原子单元。每个神经元由树突,细胞核和轴突组成。它通过树突接收信号,并通过轴突进行(图1)。计算在核中进行。整个网络由一系列神经元组成。
人工智能研究人员借用这个想法来开发人工神经网络(ANN)。在此设置中,每个神经元完成三个动作:
它以加权方式累积来自各种其他神经元或输入的输入
它总结了所有输入信号
基于求和值,它调用激活函数
因此,每个神经元可以分类一组输入是属于一个类还是另一个类。当仅使用单个神经元时,该功率受到限制。然而,创造一组神经元使其成为分类和序列标记任务的强大机制。
图1:我们可以获得的最大灵感来自自然-图中描绘了一个生物神经元和一个人工神经元。
一组神经元层可用于创建神经网络。网络架构根据其需要实现的目标而不同。常见的网络架构是前馈神经网络(FFN)。神经元线性排列而没有任何循环以形成FFN。它被称为前馈,因为信息在网络内部向前传播,首先通过输入神经元层,然后通过隐藏的神经元层,以及输出神经元层(图2)。
图2:具有两个隐藏层的前馈网络
与任何受监督的机器学习模型一样,FFN需要使用标记数据进行训练。训练的形式是通过减少输出值和真值之间的误差来优化参数。要优化的一个这样的重要参数是每个神经元给予其每个输入信号的权重。对于单个神经元,可以使用误差容易地计算权重。
然而,当在多个层中整理一组神经元时,基于在输出层计算的误差来优化多个层中的神经元权重是具有挑战性的。反向传播算法有助于解决这个问题[6]。反向传播是一种旧技术,属于计算机代数的分支。这里,自动微分用于计算在网络中使用的权重的计算中所需的梯度。
在FFN中,基于每个链接神经元的激活,获得输出。错误是逐层传播的。基于输出与最终结果的正确性,计算误差。然后将该错误反过来传播以修复内部神经元的错误。对于每个数据实例,通过多次迭代来优化参数。
案例研究:使用深度学习进行Tor流量检测
网络攻击的主要目标是窃取企业客户数据,销售数据,知识产权文档,源代码和软件密钥。攻击者将被盗数据与常规流量一起泄露到加密流量中的远程服务器。
大多数情况下,攻击者使用匿名网络,使安全防御者难以追踪流量。此外,渗透的数据通常是加密的,使基于规则的网络入侵工具和防火墙无效。最近,匿名网络也被用于勒索软件/恶意软件的特定变体的C&C。例如,OnionRansomware[7]使用TOR网络与其C&C进行通信。
图3:Alice和目标服务器之间的TOR通信的图示。通信开始于Alice请求到服务器的路径。TOR网络给出了AES加密的路径。路径的随机化发生在TOR网络内部。数据包的加密路径以红色显示。在到达作为TOR网络的外围节点的出口节点时,普通分组被传送到服务器。
匿名网络/流量可以通过各种方式完成。它们大致可分为:
基于网络(TOR,I2P,Freenet)
基于自定义操作系统(子图OS,Freepto)
其中,TOR是最受欢迎的选择之一。TOR是一款免费软件,可通过称为洋葱路由协议的专用路由协议在互联网上进行匿名通信[9]。该协议依赖于重定向全球各种免费托管中继的互联网流量。在中继期间,与洋葱皮的层一样,每个HTTP包使用接收器的公钥加密。
在每个接收点,可以使用私钥解密分组。在解密时,显示下一个目的地中继地址。这继续直到满足TOR网络的退出节点,其中分组的解密结束,并且普通HTTP分组被转发到原始目的地服务器。在上面的图3中描绘了Alice和服务器之间的示例路由方案以用于说明。
启动TOR的最初目的是保护用户的隐私。然而,对手劫持了撒玛利亚人的良好目标,将其用于各种邪恶手段。截至2016年,约有20%的Tor流量涉及非法活动。在企业网络中,通过不允许安装TOR客户端或阻止Guard或Entry节点IP地址来确定TOR流量。
但是,攻击者和恶意软件可以通过多种方式访问TOR网络以传输数据和信息。IP阻止策略不是一个合理的策略。攻击者可以产生不同的IP来进行通信。蒸馏网络[5]报告的糟糕机器人景观报告显示,2015年70%的自动攻击使用多个IP,20%的自动攻击使用了100多个IP。
可以通过分析流量包来检测TOR流量。此分析可以在TOR节点上,也可以在客户端和入口节点之间。分析是在单个数据包流上完成的。每个流构成源地址,源端口,目标地址和目标端口的元组。
提取不同时间间隔的网络流并对其进行分析。G.He等人。在他们的论文“从Tor加密流量中推断应用程序类型信息”提取突发卷和方向以创建HMM模型以检测可能正在生成的TOR应用程序那个交通。该领域的大多数流行作品都利用基于时间的功能以及大小和端口信息等其他功能来检测TOR流量。
我们从Habibi等[使用基于时间的特征的Tor流量特征描述]论文中获取灵感,并对提取的网络流量采用基于时间的方法来检测TOR流量对于这篇文章。但是,我们的架构使用了大量其他元信息,可以获取这些元信息来对流量进行分类。这本质上是由于选择了解决此问题的深度学习架构。
数据实验-Tor流量检测
我们从HabibiLashkari等人那里获得了数据。[11]在新不伦瑞克大学进行本文所做的数据实验。他们的数据包括从大学互联网流量分析中提取的功能。从数据中提取的元信息如下表所示:
除了这些参数之外,还包括其他基于流量的参数。数据集中的示例实例如下面的图4所示:
图4:本文使用的数据集实例。
请注意,源IP/端口和目标IP/端口以及协议字段已从实例中删除,因为它们过度匹配模型。我们使用具有N个隐藏层的深度前馈神经网络处理所有其他特征。神经网络的架构如下图5所示。
图5:用于TOR流量检测的深度学习网络表示。
隐藏层在2到10之间变化。我们发现N=5是最佳的。对于激活,Relu用于所有隐藏层。隐藏层的每一层都是密集的,尺寸为100。
model=Sequential()
model.add(Dense(feature_dim,input_dim=feature_dim,kernel_initializer='normal',activation='relu'))
for_inrange(0,hidden_layers-1):
model.add(Dense(neurons_num,kernel_initializer='normal',activation='relu'))
model.add(Dense(1,kernel_initializer='normal',activation='sigmoid'))
model.compile(optimizer='adam',loss='binary_crossentropy',metrics=["accuracy"])
图6:Keras中FFN的Python代码片段。
输出节点由sigmoid函数激活。这被用作输出的二进制分类–Tor或Non-Tor。
我们在后端使用带有Tensorflow的Keras来训练DL模块。二元交叉熵损失用于优化FFN。该模型针对不同的时期进行了训练。下面的图7显示了一个运行的训练模拟,描绘了随着时期数量增加而增加的性能和减少的损失值。
图7:Tensorboard生成的静态描述网络培训过程
深度学习系统的结果与其他各种估算器进行了比较。Recall,Precision和F-Score的标准分类指标用于衡量估计量的效果。我们基于DL的系统能够很好地检测TOR类。但是,我们需要更加重视Non-Tor类。可以看出,基于深度学习的系统可以减少非Tor类别样本的误报情况。结果如下表所示:
在各种分类器中,基于随机森林和深度学习的方法比其他方法表现更好。显示的结果基于55,000个训练实例。本实验中使用的数据集比典型的基于DL的系统要小。随着训练数据的增加,基于DL和随机森林分类器的性能将进一步提高。
但是,对于大型数据集,基于DL的分类器通常优于其他分类器,并且可以针对相似类型的应用程序进行推广。例如,如果需要训练分类器来检测TOR使用的应用程序,那么只有输出层需要重新训练,并且所有其他层可以保持相同。而其他ML分类器将需要针对整个数据集进行再训练。请记住,重新训练模型可能会占用大型数据集的大量计算资源。
EndNotes
匿名流量检测是每个企业面临的细微挑战。攻击者使用TOR通道以匿名模式泄露数据。当前流量检测供应商的方法依赖于阻塞TOR网络的已知入口节点。这不是一种可扩展的方法,可以轻松绕过。通用方法是使用基于深度学习的技术。
在本文中,我们提出了一个基于深度学习的系统来检测具有高召回率和精确度的TOR流量。请在下面的评论部分中了解您对当前深度学习状态的看法,或者您是否有其他替代方法。
References
[1]:QuamarNiyaz,WeiqingSun,AhmadYJavaid,andMansoorAlam,“ADeepLearningApproachforNetworkIntrusionDetectionSystem,”IEEETransactionsonEmergingTopicsinComputationalIntelligence,2018.
[2]:DanielGibert,[“ConvolutionalNeuralNetworksforMalwareClassification,”](http://www.covert.io/research-papers/deep-learning-security/ConvolutionalNeuralNetworksforMalwareClassification.pdf)Thesis2016.
[3]:WookhyunJung,SangwonKim,SangyongChoi,“DeepLearningforZero-dayFlashMalwareDetection,”IEEEsecurity,2017.
[4]:PawełKobojekandKhalidSaeed,“ApplicationofRecurrentNeuralNetworksforUser
VerificationbasedonKeystrokeDynamics,”Journaloftelecommunicationsandinformationtechnology,2016.
[5]:DeepLearningSecurityPapers,http://www.covert.io/the-definitive-security-datascience-and-machinelearning-guide/#deep-learning-and-security-papers,accessedonMay2018.
[6]:“DeepLearning,”IanGoodfellow,YoshuaBengio,AaaronCourville;pp196,MITPress,2016.
[7]:“TheOnionRansomware,”https://www.kaspersky.co.in/resource-center/threats/onion-ransomware-virus-threat,RetrievedonNovember29,2017.
[8]:“5bestalternativetoTOR.,”https://fossbytes.com/best-alternatives-to-tor-browser-to-browse-anonymously/,RetrievedonNovember29,2017.
[9]:Tor.Wikipedia.,https://en.wikipedia.org/wiki/Tor_(anonymity_network),RetrievedonNovember24,2017.
[10]:He,G.,Yang,M.,Luo,J.andGu,X.,“InferringApplicationTypeInformationfromTorEncryptedTraffic,”AdvancedCloudandBigData(CBD),2014SecondInternationalConferenceon(pp.220-227),Nov.2014.
[11]:HabibiLashkariA.,DraperGilG.,MamunM.andGhorbaniA.,“CharacterizationofTorTrafficusingTimebasedFeatures,”Proceedingsofthe3rdInternationalConferenceonInformationSystemsSecurityandPrivacy–Volume1,pages253-262,2017.
[13]:Juarez,M.,Afroz,S.,Acar,G.,Diaz,C.andGreenstadt,R.,“Acriticalevaluationofwebsitefingerprintingattacks,”Proceedingsofthe2014ACMSIGSACConferenceonComputerandCommunicationsSecurity(pp.263-274),November2014
[14]:Bai,X.,Zhang,Y.andNiu,X.,“Trafficidentificationoftorandweb-mix,”IntelligentSystemsDesignandApplications,ISDA’08.EighthInternationalConferenceon(Vol.1,pp.548-551).IEEE,November2008
相关问题推荐
选对培训机构比较重要,还有就是选择的时候看一下自己适合哪种风格的讲课方式,这个也很重要。因为现在5G时代来临,人工智能绝对是一个发展的大趋势,如果你自己空余时间又比较多的话,其实可以报一个辅导班,学习学习一些基本的东西,毕竟多学点总是没有坏处...
深度学习是近几年人工智能领域的主要研究方向。深度学习的主要任务是通过构建深度卷积神经网络(Deep Neural Network,DNN)和采用大量样本数据作为输入,人们最终会得到一个具有强大分析能力和识别能力的模型,该模型包含了DNN的构成参数以应用于实际工作。...
AI深度学习课程是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术,主要应用于图像识别、语音识别、自然语言处理等领域。学完可以从事深度学习工程师、机器学习工程师、人工智能工程师、高级算法工程师、高级算法工...
算法,数据相关的适合做人工智能
人工智能取代的行业,一定有如下几个特征:1、大量重复型。2、逻辑性比较强。3、数据库依赖型。像司机,咨询,教育,医生,会计,律师助理,工程师,码农等,都是容易被取代的行业。当然,这都是强人工智能以后会发生的事,现在还是弱人工智能的时代,想进入...
如果你是自己学着玩,提升自己的话,高中毕业都可以。如果是冲着AI算法岗或者科研一席之地,至少211硕士。具体可以亲身体验一下今年算法岗秋招。
可以,未来的人工智能发展深度学习必然是现在大型机器生产科研必备的,证书的话某个培训好像有这个中科院的证书,具体你去百度吧
我觉得就是人工智能的课程,现在家具都是智能家居了。这一块发展一定很好
对于sgd算法而言,batch size太大太小都不好,太小的话训练不稳定,计算效率低;太大的话收敛速度慢,需要仔细调节一下。以2的倍数调节,例如32,64,128等
在terminal中输入$wolf@wolf:~/Downloads/gitclonehttps://github.com/Tencent/ncnn cd切换到NCNN目录***这步很重要,这时候需要修改ncnn的root目录下的CMakeLists.txt文件,需要将倒数几行的add_subdirectory(examples),取消注释,这样就是默认编译example...
人工智能的话其实到现在来说已经慢慢趋于成熟,学的话首先是一线城市,学出来好就业,还有就是薪资也高
画个train and test error VS 训练数据量(training set size) 的learningcurve应该会更加直观了。可以找个简单的数据集,比如说handwritten digits或者什么的,分别用神经网络和决策树或者knn做出这个learningcurve。你会看到如果用一个决策树去解决这个问题...
共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征。它是定义一组纹理特征的基础。 一幅图象的灰度共生矩阵能反映出图象灰度关于...