英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
识别SSH字典攻击检测连接的用户身份验证方法
佐藤彰 中村裕 池永武
九州工业大学 九州工业大学 九州工业大学
日本北九州 日本北九州 日本北九州
satoh@isc.kyutech.ac.jp yutaka-n@isc.kyutech.ac.jp ike@ecs.kyutech.ac.jp
摘要:针对SSH词典攻击是一种常见的安全威胁。许多已发表的方式依赖于网络流量检测SSH字典攻击。这是因为远程登录,文件传输,和TCP / IP转发的连接是明显不同于普通的攻击。然而,因为攻击的相互相似性,使这些方法不正确地考虑了那些网络连接的自动化任务。在本文中,我们提出了一种新的方法,以确定在SSH连接的用户身份验证方法,并去除采用基于非键盘输入的身份认证连接。这种方法依赖于两个方面:(1)SSH字典攻击的目标,提供基于键盘输入身份认证的主机;(2)通过SSH自动化任务需要支持非键盘输入基础的身份认证。因此,我们的建议有助于在SSH字典攻击的检测精度上得到提高。
关键词:SSH字典攻击;用户认证方法;流量分析;网络操作;
- 引言
安全外壳(SSH)提供了各种功能,如远程登录,网络文件传输,和TCP / IP转发[1]。此外,该协议有助于自动化操作任务。自动化任务的例子是通过互联网远程执行的交互式和批处理作业[2][3],和日志记录的集合[4] [5]。
系统管理员,审计,网络安全协会(SANS)[6]已经警告反对SSH字典攻击。一种攻击手段通过猜测用户名和密码对来获得欺骗访问的登录尝试。即使是一个成功的攻击也会导致严重的问题,所以管理员必须随时准备应付他们。
许多已发表的方法[7] [8] [9]依靠网络流量以检测SSH字典攻击。这是因为远程登录,文件传输,和TCP / IP转发的连接是明显不同的攻击。然而,因为攻击的相互的相似性使得这些方法不正确地考虑了那些连接的自动化任务。
在本文中,我们提出了一种新的方法,以确定在SSH连接的用户身份验证方法,并去除采用基于非键盘输入身份认证的连接。这种方法依赖于两个方面:(1)SSH字典攻击的目标,提供基于键盘输入身份认证的主机;(2)通过SSH自动化任务需要支持非键盘输入基础的身份认证。基于键盘输入身份认证依赖于一个由人输入的字符串;与此相反,非键盘输入基于身份验证依赖于其他一个字符串以避免引发人类信息。然而,SSH协议的保密性和灵活性干扰识别。我们解决这些问题的关键创新:(1)使用流动行为的识别;(2)考虑其行为的参考点。
我们已经通过实验减少对SSH的数据连接来评估了我们方法的有效性,实验结果令这个研究方向得到鼓舞。我们的方法将显著有助于的SSH字典攻击的检测精度的提高。
- 背景
在本节中,我们描述了SSH协议规范的细节。然后,我们讨论了有关SSH字典攻击相关的工作和它的局限性。
- SSH协议规范
SSH的握手包含三个主要子协议[10]:传输层,用户身份验证和连接。
传输层协议协商加密,消息认证码(MAC),以及压缩算法来建立客户端和服务器之间的安全连接。例如,加密算法AES CBC和3descbc;MAC算法HMAC-MD5和HMAC-SHA1。注意,在完成此子协议之后,该加密算法,MAC和压缩算法都被立即应用。然后,SSH握手转移到用户认证协议。这个分协议假定用于通过在第II-B中描述的用户认证方法认证所述客户机到服务器的责任。最后,该连接协议提供的各种服务,例如远程登录,文件传输,TCP / IP转发,等等。
SSH协议有两个显着的特性:机密性和灵活性。保密装置由加密算法,MAC和压缩算法建立安全连接。灵活性意味着根据情况改变这些算法。例如,这些算法独立地协商每个主机,所以每个主机从它所支持的组选择其自己的算法。
- 用户认证方法
用户身份验证方法是确定用户是否应该被允许通过SSH建立连接的一种手段。 OpenSSH [11]和Tectia[12]是SSH的一般实施方式中,与实施方式采用五个用户认证方法:(1)密码,(2)质询响应,(3)公开密钥,(4)基于主机的,(5)Kerberos。在本文中,我们介绍了四种方法,除了最后一个,因为它的复杂性。
用户身份验证方法分为两类:键盘输入和非键盘输入。基于键盘输入身份认证依赖于一个由人输入的字符串。提供远程登录,文件传输,并为用户TCP / IP转发时采用该认证。相反,非键盘输入基于身份验证依赖于其他一个字符串以避免引发人类信息。该身份认证可以让管理员通过SSH进行自动化操作任务。更具体而言,前者包括密码和询问响应;后者包括公钥和基于主机的响应。
- 相关工作及其局限性
许多研究都集中在网络流量检测SSH字典攻击的重要性[7] [8] [9]。 Hellemans[7]等人。表明,这种攻击通常包括三个阶段,作者用隐马尔可夫模型代表在流动层面的行为。Kumagai[8]等人。发现在DNS流量的PTR资源记录的数量显著的高潮,而攻击正在进行中。在我们以前的工作中[9],我们提出了一种新方法,能够检测到攻击与他们的成功或失败。这种做法依赖于两个方面:(1)一个SSH连接,用户名和密码是通过用户手动输入的按键,而SSH字典攻击,对一个字典自动输入;(2)对一个成功的攻击,通过连接协议交换数据包位于一个流程结束,而对于一个不成功的攻击,通过用户认证协议交换数据包位于流结束。
这些研究来自事实,远程登录,文件传输连接和TCP / IP转发明显不同的攻击;然而,他们没有充分考虑通过SSH自动任务。自动化任务的连接有以下的相似性与攻击:(1)大量和简短的连接,在短时间内观察到;(2)在无人参与认证过程的每个连接上运行。由于这些原因,现有的方法错误的认为那些攻击是自动任务的连接。
- 分析
在本文中,我们提出了一种新的方法,以确定在SSH连接的用户身份验证方法,并去除采用基于非键盘输入的身份认证连接。这种方法依赖于两个方面:(1)SSH字典攻击的目标主机提供基于键盘输入的身份认证;(2)通过SSH自动化任务需要支持非键盘输入的身份基础的认证。
然而,SSH协议的保密性和灵活性干扰识别。保密性是通过加密,MAC和压缩算法建立安全的连接,从而制约了直接的数据包检查。我们的第一个关键创新是使用流量行为[13]用于识别用户身份验证方法。流是一个客户端和一个服务器具有相同的五个元组之间的双向数据包交换,其行为是统计模式,例如,数据包大小,分组方向,和数据包的顺序,从一个流在外部观察到的数据包。使用流量行为的理由如下:(1)流动行为的观察没有直接的数据包检查;(2)根据用户身份验证方法的类型不同的流动行为。灵活性是改变密码,MAC和压缩算法根据情况,从而影响流动行为。我们的第二个关键的创新是要考虑的参考点,这可以排除流量行为的这些算法的影响。
在我们的分析中使用的数据集在第III-A中描述。我们验证在第III-B和III-C中的识别流动行为的有效性。
- 分析数据集
表1总结了两种分析数据集。通过用户身份验证方法,加密算法,MAC算法和压缩所有组合生成的数据集在表2中。 D1是在认证成功的情况下的交通痕迹;D2是在认证失败的情况下的流量痕迹。
表1 分析数据集的流数
表2 用户身份验证方法的类型,密码算法,加密算法,压缩算法
用于分析的预处理,我们首先提取SSH流具有相同的五元组的每个数据集。其次,根据他们的用户身份验证方法,流给出了相应的标签。最后,我们删除TCP控制数据包,即SYN,FIN或ACK标志,或无负载都因为这些数据包的交换是独立于应用程序。
- 每一子协议的分组交换分析
作为识别用户身份验证方法的第一步,我们分析了每个子协议中的分组交换。
首先,我们随机选择每种类型的D1和D2流。然后,我们调查的所有数据包在每个流和澄清的数据包的大小,分组方向,和子协议的关系,序列号。为了想象这些流动,我们采用了Wright等人的技术[14]。
结果显示在图1(我们省略由于空间限制等的结果)。每一个数据包都是由一个二维的符号来表示,它的子协议是由符号类型表示的。X坐标对应于序列号中的个体流量和Y坐标对应于分组大小和分组方向。正,负Y值分别为,其中“进入”传输方式从客户端和服务器都在“进入”和“离开”方向,“离开”是指反向传输。在任何情况下,在纵坐标的大小为字节的数据包大小。例如在(10,-500)一个符号意味着一个输出数据包是在长度为500个字节是第10次的流动开始后到达。此外,箭头和其标签表示如下:(A)一个初始的应用数据包加密,MAC和压缩算法,和(B)的认证结果的通知数据包。
图1 每个子协议中的分组交换
图1(a)显示了认证成功的通知的分组转移到下一个子协议之前出现,图1(b)显示了认证失败的最后通知包完成流之前出现。此外,这些结果表明,密码,MAC和压缩算法被立即应用后整理的传输层协议以及用户认证协议的组成是重复请求和响应数据包。
- 每个认证方法的分组特征分析
作为下一步,我们阐明了每个用户认证方法的流动行为的差异。
我们事先分析定义了一个子流和一个数据包的特点。一个子流是在一个流的一些连续的分组,它是由n元组表示:
这里n等于(j - I 1),pi(x)表示在流x的第i个分组。数据包特征是一种流行为,它被写成方程:
si(x)和di(x)表示第i个数据包大小和它在流x方向。delta;型和第(delta; 1)个分组具有两个属性:(1)这些数据包的初始请求和响应的密码,MAC,和压缩算法的应用;(2)这些包只包含关于用户认证方法的信息没有启动用户认证信息。因此,我们认为这些数据包作为参考点,可以消除每个算法对流动行为的影响。
分析程序如下。首先,所有子流的xi-2:i。在D1和D2,其中,变量i是指在流的认证结果的通知的点被选择。例如,我们可以发现两个子流,即,x15:17和x21:23在图1(a)。然后在子流的分组的特征可视化用于通过累积概率分布的用户认证方法的比较。
这些分布分别示于图2,其中X坐标对应于该分组的功能,Y坐标对应于累积概率。在图2(a),fi(x)被认证成功时值为-16;fi(x)作为一个身份验证失败时,用了16和32之间的值。 该第i个分组的特点是只依赖于在流动的认证结果可以从图2(a)明显的。在图2(b),fi-1(x)的密码,并询问响应分别为96和32,而fi-1(x)基于主机的曾在的范围内的重叠,从256到640的公共密钥。在图2(c)中,对公开密钥fi-2(x)范围为112至432,而对于基于主机的fi-2(x)值为16。如在图2(b)和图2(c)中,这些结果表明,(i - 1)个和(i - 2)个数据包用于识别用户认证的方法是有效的。
图2 数据包特征的累积概率分布
- 建议
在第三部分分析结果的基础上,我们提出一个新的方法来识别SSH连接的用户身份验证方法。我们的方法包括三个功能:(1)参考点选择功能;(2)数据包特征计算功能;(3)用户身份验证功能。
- 参考点选择函数
此函数选取参考点以获得分组特征。
此功能检查的每个数据包的有效载荷在一个流中找到一个初始点的加密算法。更具体地说,pdelta; 1(x)和pdelta;(x)作为参考点,当满足条件:(1)cdelta; 1(x)和cdelta;(x)是正确的;(2)cdelta;minus;1(x), cdelta;minus;2(x),hellip;,和c1(x)是错误的。这里的pdelta;(x)是指delta;包在流X中,和cdelta;(x)是pdelta;(x)是否由SSH加密。
- 分组特征计算功能
这个函数有三个步骤:第一个是检测基于在流分组方向子流;第二个是,以确定该子流位于用户认证协议的结束;第三是计算分组特性以确定在流中使用的用户认证方法。
首先,这种功能通过研究从用户认证协议的初始点的每个数据包的方向提取的请求和响应的重复。当di(x) = outgoing,diminus;1(x) = incoming,and diminus;2(x) = outg
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[146265],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。