Introduction

我们在社区中看到的大多数深度学习应用程序通常面向营销,销售,财务等领域。我们几乎从未阅读过文章或找到有关深度学习的资源用于保护这些产品和业务, 恶意软件和黑客攻击。

虽然像谷歌,Facebook,微软和Salesforce这样的大型科技公司已经深入学习了他们的产品,但网络安全行业仍在追赶。 这是一个具有挑战性的领域,但需要我们全力关注。
在这里插入图片描述

【一一帮助安全学习,所有资源获取处一一】

①网络安全学习路线

②20份渗透测试电子书

③安全攻防357页笔记

④50份安全攻防面试指南

⑤安全红队渗透工具包

⑥网络安全必备书籍

⑦100个漏洞实战案例

⑧安全大厂内部视频资源

⑨历年CTF夺旗赛题解析
在本文中,我们将简要介绍深度学习(DL)以及它支持的一些现有信息安全(此处称为InfoSec)应用程序。 然后,我们深入研究了匿名交通检测的有趣问题,并提出了一种基于DL的解决方案来检测TOR流量。

本文的目标读者是已经从事机器学习项目的数据科学专业人员。 本文的内容假定您具有机器学习的基础知识,目前要么是初学者,要么是探索,深度学习和它的用例。

强烈建议使用以下预读取以充分利用本文:

Demystifying Information Security using Data Science
Fundamentals of Deep Learning – Activation Functions and When to use them?

目录

InfoSec中深度学习系统的现状
前馈神经网络简述
案例研究:使用深度学习进行Tor流量检测
数据实验 - Tor流量检测

InfoSec中深度学习系统的现状

深度学习不是解决所有InfoSec问题的灵丹妙药,因为它需要广泛的标记数据集。不幸的是,没有这样的标记数据集是容易获得的。但是,有几个InfoSec用例,深度学习网络正在对现有解决方案进行重大改进。恶意软件检测和网络入侵检测是两个这样的领域,深度学习已经显示出比基于规则和经典机器学习的解决方案的显着改进。

网络入侵检测系统通常是基于规则和基于签名的控制,部署在外围以检测已知威胁。攻击者可以更改恶意软件签名,轻松逃避传统的网络入侵检测系统。 Quamar等人。 [1],在他们的IEEE交易文件中,展示了使用自学式学习的深度学习(DL)系统在检测未知网络入侵方面很有前途。传统的安全用例,如恶意软件检测和间谍软件检测,已经被基于神经网络的深层系统所解决[2]。
在这里插入图片描述

与传统的基于ML的方法相比,基于DL的技术的泛化能力更好。 Jung等人[3]基于DL的系统甚至可以检测零日恶意软件。 Daniel Gibert [2],博士。毕业于巴塞罗那大学,从事卷积神经网络(CNN,一种DL架构)和恶意软件检测方面的大量工作。在他的博士学位他说,CNN可以检测甚至多态恶意软件。

基于DL的神经网络现在正在用户和实体行为分析(UEBA)中使用。传统上,UEBA采用异常检测和机器学习算法,这些算法提取安全事件以分析和基线化企业IT环境中的每个用户和网络元素。任何与基线的重大偏差都会被触发为异常,进一步引发安全分析师调查警报。 UEBA增强了对内部威胁的检测,尽管程度有限。

现在,基于深度学习的系统被用于检测许多其他类型的异常。来自波兰华沙大学的PawełKobojek[4]使用击键动力学来验证使用LSTM网络的用户。 Capital One安全数据工程总监Jason Trost发表了几篇博客[5],其中列出了有关在InfoSec中应用深度学习的技术论文和演讲。

前馈神经网络简介

人工神经网络的灵感来自生物神经网络。神经元是生物神经网络的原子单元。每个神经元由树突,细胞核和轴突组成。它通过树突接收信号,并通过轴突进行(图1)。计算在核中进行。整个网络由一系列神经元组成。

人工智能研究人员借用这个想法来开发人工神经网络(ANN)。在此设置中,每个神经元完成三个动作:

  • 它以加权方式累积来自各种其他神经元或输入的输入
  • 它总结了所有输入信号
  • 基于求和值,它调用激活函数

因此,每个神经元可以分类一组输入是属于一个类还是另一个类。当仅使用单个神经元时,该功率受到限制。然而,创造一组神经元使其成为分类和序列标记任务的强大机制。

在这里插入图片描述

图1:我们可以获得的最大灵感来自自然 - 图中描绘了一个生物神经元和一个人工神经元。

一组神经元层可用于创建神经网络。 网络架构根据其需要实现的目标而不同。 常见的网络架构是前馈神经网络(FFN)。 神经元线性排列而没有任何循环以形成FFN。 它被称为前馈,因为信息在网络内部向前传播,首先通过输入神经元层,然后通过隐藏的神经元层,以及输出神经元层(图2)。

在这里插入图片描述

图2:具有两个隐藏层的前馈网络

与任何受监督的机器学习模型一样,FFN需要使用标记数据进行训练。训练的形式是通过减少输出值和真值之间的误差来优化参数。要优化的一个这样的重要参数是每个神经元给予其每个输入信号的权重。对于单个神经元,可以使用误差容易地计算权重。

然而,当在多个层中整理一组神经元时,基于在输出层计算的误差来优化多个层中的神经元权重是具有挑战性的。反向传播算法有助于解决这个问题[6]。反向传播是一种旧技术,属于计算机代数的分支。这里,自动微分用于计算在网络中使用的权重的计算中所需的梯度。

在FFN中,基于每个链接神经元的激活,获得输出。错误是逐层传播的。基于输出与最终结果的正确性,计算误差。然后将该错误反过来传播以修复内部神经元的错误。对于每个数据实例,通过多次迭代来优化参数。

案例研究:使用深度学习进行Tor流量检测

网络攻击的主要目标是窃取企业客户数据,销售数据,知识产权文档,源代码和软件密钥。攻击者将被盗数据与常规流量一起泄露到加密流量中的远程服务器。

大多数情况下,攻击者使用匿名网络,使安全防御者难以追踪流量。此外,渗透的数据通常是加密的,使基于规则的网络入侵工具和防火墙无效。最近,匿名网络也被用于勒索软件/恶意软件的特定变体的C&C。例如,Onion Ransomware [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流量检测

我们从Habibi Lashkari等人那里获得了数据。 [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 _ in range(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分类器将需要针对整个数据集进行再训练。 请记住,重新训练模型可能会占用大型数据集的大量计算资源。

End Notes

匿名流量检测是每个企业面临的细微挑战。 攻击者使用TOR通道以匿名模式泄露数据。 当前流量检测供应商的方法依赖于阻塞TOR网络的已知入口节点。 这不是一种可扩展的方法,可以轻松绕过。 通用方法是使用基于深度学习的技术。

在本文中,我们提出了一个基于深度学习的系统来检测具有高召回率和精确度的TOR流量。 请在下面的评论部分中了解您对当前深度学习状态的看法,或者您是否有其他替代方法。

References

[1]: Quamar Niyaz, Weiqing Sun, Ahmad Y Javaid, and Mansoor Alam, “A Deep Learning Approach for Network Intrusion Detection System,” IEEE Transactions on Emerging Topics in Computational Intelligence, 2018.
[2]: Daniel Gibert, [“Convolutional Neural Networks for Malware Classification,”] (http://www.covert.io/research-papers/deep-learning-security/Convolutional Neural Networks for Malware Classification.pdf)Thesis 2016.
[3]: Wookhyun Jung, Sangwon Kim, Sangyong Choi, “Deep Learning for Zero-day Flash Malware Detection,” IEEE security, 2017.
[4]: Paweł Kobojek and Khalid Saeed, “Application of Recurrent Neural Networks for User
Verification based on Keystroke Dynamics,”
Journal of telecommunications and information technology, 2016.
[5]:Deep Learning Security Papers, http://www.covert.io/the-definitive-security-datascience-and-machinelearning-guide/#deep-learning-and-security-papers, accessed on May 2018.
[6]: “Deep Learning,” Ian Goodfellow, Yoshua Bengio, Aaaron Courville; pp 196, MIT Press, 2016.
[7]: “The Onion Ransomware,” https://www.kaspersky.co.in/resource-center/threats/onion-ransomware-virus-threat, Retrieved on November 29, 2017.
[8]: “5 best alternative to TOR.,” https://fossbytes.com/best-alternatives-to-tor-browser-to-browse-anonymously/, Retrieved on November 29,2017.
[9]: Tor. Wikipedia., https://en.wikipedia.org/wiki/Tor_(anonymity_network), Retrieved on November 24, 2017.
[10]: He, G., Yang, M., Luo, J. and Gu, X., “ Inferring Application Type Information from Tor Encrypted Traffic,” Advanced Cloud and Big Data (CBD), 2014 Second International Conference on (pp. 220-227), Nov. 2014.
[11]: Habibi Lashkari A., Draper Gil G., Mamun M. and Ghorbani A., “Characterization of Tor Traffic using Time based Features,” Proceedings of the 3rd International Conference on Information Systems Security and Privacy – Volume 1, pages 253-262, 2017.
[13]: Juarez, M., Afroz, S., Acar, G., Diaz, C. and Greenstadt, R., “A critical evaluation of website fingerprinting attacks,” Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security (pp. 263-274), November 2014
[14]: Bai, X., Zhang, Y. and Niu, X., “Traffic identification of tor and web-mix,” Intelligent Systems Design and Applications, ISDA’08. Eighth International Conference on (Vol. 1, pp. 548-551). IEEE, November 2008

题外话

网络安全行业特点

1、就业薪资非常高,涨薪快 2022年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

img

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
img

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

关于网络安全学习指南

学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

第三种就是去找培训。

image.png

接下来,我会教你零基础入门快速入门上手网络安全。

网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。

第一阶段:基础准备 4周~6周

这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
image.png

第二阶段:web渗透

学习基础 时间:1周 ~ 2周:

① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
image.png

配置渗透环境 时间:3周 ~ 4周:

① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

渗透实战操作 时间:约6周:

① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
image.png
以上就是入门阶段

第三阶段:进阶

已经入门并且找到工作之后又该怎么进阶?详情看下图
image.png

给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!

如果你对网络安全入门感兴趣,那么你需要的话可以在下方扫码领取!!

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐