CN102594825B - 一种内网木马的检测方法和装置 - Google Patents
一种内网木马的检测方法和装置 Download PDFInfo
- Publication number
- CN102594825B CN102594825B CN201210043017.6A CN201210043017A CN102594825B CN 102594825 B CN102594825 B CN 102594825B CN 201210043017 A CN201210043017 A CN 201210043017A CN 102594825 B CN102594825 B CN 102594825B
- Authority
- CN
- China
- Prior art keywords
- domain name
- dns
- wooden horse
- request
- identified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种内网木马的检测方法和装置,该方法包括以下步骤:S1、采集网络数据包;S2、利用D1-D3进行恶意域名的识别,其中,D1为对出现异常心跳的DNS请求数据的域名进行识别;D2为判断指向特殊IP的域名是否跳转为指向正常IP的DNS请求;D3为判断DNS访问域名是否出现在浏览器访问域名中;S3、利用D4-D5进行木马的识别,D4为判断是否出现逆向流量,如果出现,则识别为木马;D5为判断流量中的请求包或应答包是否符合RFC规定,如果不符合,则识别为木马。本发明基于木马通信行为特征进行全面检测,能够及时地发现未知木马,更加精准对未知木马进行报警,减少漏报。
Description
【技术领域】
本发明涉及互联网安全技术领域,特别涉及一种内网木马的检测方法和装置。
【背景技术】
目前在互联网行业中,安全问题越来越显著,经常有恶意攻击者采用木马企图攻击互联网网站进行远程控制,窃取信息。木马是一种具有隐藏性的、自发性的可被用来进行恶意行为的程序,攻击者利用潜伏在电脑中的木马程序进行侵入,窃取信息或者控制权。一旦内网中有电脑感染木马程序,将会使内网中的其他电脑受到感染,严重威胁整个局域网的安全。
现有的木马检测技术主要采用特征码匹配技术,先通过从杀毒软件厂商或各个安全公司等收集统计的恶意DNS(Domain Name System,域名解析)访问请求,针对病毒木马写制定的特征码(signature)形成特征库,设置黑名单。而后通过扫描所有文件或程序是否包含黑名单所列的内容来判断是否为木马。这种基于特征码匹配的检测技术,其检测能力依赖于特征库的更新,缺少对病毒木马行为进行发现和检测,只能针对罗列在黑名单上已有的病毒木马进行检测,无法发现新出现的未知木马或潜在木马,容易引起漏报。
【发明内容】
本发明提供了一种内网木马的检测方法和装置,基于木马通信行为特征进行全面检测,能够及时地发现未知木马,更加精准对未知木马进行报警,减少漏报。
具体技术方案如下:
一种内网木马的检测方法,该方法包括以下步骤:
S1、采集网络数据包,执行步骤S2或S3;
S2、获取所述网络数据包中的DNS请求数据,利用D1-D3中至少一种进行恶意域名的识别,形成恶意域名集合,将向所述恶意域名发出请求的IP地址识别为存在木马,其中
所述D1为:记录出现异常心跳的DNS请求数据的域名,查询所记录的域名对应的所有DNS请求的源IP数和域名创建时间,将查询到的源IP数和域名创建时间不符合预设要求的域名识别为恶意域名;
所述D2为:将指向特殊IP且出现跳转为指向正常IP的DNS请求的域名识别为恶意域名,所述特殊IP是指按照国际互联网标准RFC规定的非广域网IP地址,所述正常IP是指常用的内网IP地址;
所述D3为:将DNS访问域名与浏览器访问域名进行对比,将未在浏览器访问域名中出现的DNS访问域名识别为恶意域名;
S3、提取所述网络数据包中的网络流量,利用D4-D5中至少一种进行木马的识别,其中
所述D4为:判断提取的网络流量中是否出现逆向流量,如果出现,则将逆向流量的目的IP识别为存在木马;
所述D5为:判断提取的网络流量中的请求包或应答包是否符合国际互联网标准RFC规定的协议规则,如果不符合,则将所述请求包的源IP或者所述应答包的目的IP识别为存在木马。
根据本发明一优选实施例,所述D1具体包括:
步骤D101、分析获取到的DNS请求数据,记录出现异常心跳的DNS请求数据的域名,形成可疑域名集合;
步骤D102、针对所述可疑域名集合中每一个域名统计对应的所有DNS请求的源IP数,当当前域名的源IP数低于预设访问数时,查询当前域名的创建时间,如果查询到的创建时间小于预设时间要求时,则识别出当前域名为恶意域名。
根据本发明一优选实施例,在步骤D101之后,还包括:将预设的DNS白名单中的域名从步骤D101形成的可疑域名集合中排除,对得到的可疑域名集合执行步骤D102。
根据本发明一优选实施例,所述出现异常心跳的DNS请求数据包括:单位时间内同一源IP发出DNS请求的数量超过预设访问次数阈值且发出DNS请求的时间间隔相等。
根据本发明一优选实施例,所述D3具体包括:
步骤D301、从客户端主机上提取浏览器访问域名;
步骤D302、从服务器的DNS日志中提取该客户端的DNS访问日志,或者从客户端主机上提取记录的DNS访问日志,得到DNS访问域名;
步骤D303、对比浏览器访问域名和DNS访问域名,记录在浏览器访问域名中未出现过的DNS访问域名;
步骤D304、将预设的DNS白名单中的域名从步骤D303记录的域名中排除,将不能与预设的DNS白名单相匹配的域名识别得到恶意域名。
根据本发明一优选实施例,在所述步骤S3之前,还包括所述步骤S2;
所述步骤S3中提取所述网络数据包中的网络流量包括:从网络数据包中提取包含步骤S2识别到的恶意域名的网络流量。
根据本发明一优选实施例,如果所述步骤S2采用D1-D3中多于一种方式的结合进行恶意域名识别时,将至少被其中两种方式识别为恶意域名的IP地址识别为存在木马,对仅被一种方式识别为恶意域名的执行步骤S3。
根据本发明一优选实施例,如果执行所述步骤S3,则该方法进一步包括执行所述步骤S2;
所述步骤S3中将逆向流量中的目的IP识别为存在木马包括:判断逆向流量的目的IP是否在于步骤S2识别到的IP地址中,如果是,则将该逆向流量的目的IP识别为存在木马。
根据本发明一优选实施例,如果执行所述步骤S3,则该方法进一步包括执行所述步骤S2;
所述步骤S3中将所述请求包的源IP或者所述应答包的目的IP识别为存在木马包括:判断所述请求包的源IP或者所述应答包的目的IP是否在于步骤S2识别到的IP地址中,如果是,则将所述请求包的源IP或者所述应答包的目的IP识别为存在木马。
根据本发明一优选实施例,所述逆向流量是指在内网中请求服务时出现从外网向内网访问的进流量;
所述D4具体包括:
步骤D401、提取所有从外网向内网访问的进流量;
步骤D402、基于预设的命令字符串名单对提取的进流量进行检测,如果发现匹配的命令字符串,则将该进流量的目的IP识别为存在木马。
根据本发明一优选实施例,所述D5具体包括:
步骤D501、提取网络流量中同一协议的请求包或应答包;
步骤D502、检查请求包或应答包是否符合国际互联网标准RFC规定的相应的协议规则,如果请求包不符合RFC规定,则将该请求包的源IP识别为存在木马;如果应答包不符合RFC规定,则将该应答包的目的IP识别为存在木马。
一种内网木马的检测装置,该装置包括:
采集模块,用于采集网络数据包;
域名识别模块,用于获取所述网络数据包中的DNS请求数据,利用第一域名识别模块至第三域名识别模块中至少一种进行恶意域名的识别,形成恶意域名集合,将向所述恶意域名发出请求的IP地址识别为存在木马,其中
所述第一域名识别模块,用于记录出现异常心跳的DNS请求数据的域名,查询所记录的域名对应的所有DNS请求的源IP数和域名创建时间,将查询到的源IP数和域名创建时间不符合预设要求的域名识别为恶意域名;
所述第二域名识别模块,用于将指向特殊IP且出现跳转为指向正常IP的DNS请求的域名识别为恶意域名,所述特殊IP是指按照国际互联网标准RFC规定的非广域网IP地址,所述正常IP是指常用的内网IP地址;
所述第三域名识别模块,用于将DNS访问域名与浏览器访问域名进行对比,将未在浏览器访问域名中出现的DNS访问域名识别为恶意域名;
木马识别模块,用于提取网络数据包中的网络流量,利用第一木马识别模块和第二木马识别模块中至少一种进行木马的识别,其中
所述第一木马识别模块,用于判断提取的网络流量中是否出现逆向流量,如果出现,则将逆向流量的目的IP识别为存在木马;
所述第二木马识别模块,用于判断提取的网络流量中的请求包或应答包是否符合国际互联网标准RFC规定的协议规则,如果不符合,则将所述请求包的源IP或者所述应答包的目的IP识别为存在木马。
根据本发明一优选实施例,所述第一域名识别模块具体包括:
触发单元,用于分析获取到的DNS请求数据,记录出现异常心跳的DNS请求数据的域名,形成可疑域名集合,触发检查单元;
检查单元,用于针对所述可疑域名集合中每一个域名统计对应的所有DNS请求的源IP数,当当前域名的源IP数低于预设访问数时,查询当前域名的创建时间,如果查询到的创建时间小于预设时间要求时,则识别出当前域名为恶意域名。
根据本发明一优选实施例,所述第一域名识别模块还包括:筛选单元,用于将预设的DNS白名单中的域名从所述触发单元形成的可疑域名集合中排除,将得到的可疑域名集合用于所述检查单元。
根据本发明一优选实施例,所述出现异常心跳的DNS请求数据包括:单位时间内同一源IP发出DNS请求的数量超过预设访问次数阈值且发出DNS请求的时间间隔相等。
根据本发明一优选实施例,所述第三域名识别模块具体包括:
浏览器域名提取单元,用于从客户端主机上提取浏览器访问域名;
DNS域名提取单元,用于从服务器的DNS日志中提取该客户端的DNS访问日志,或者从客户端主机上提取记录的DNS访问日志,得到DNS访问域名;
域名比对单元,用于对比浏览器访问域名和DNS访问域名,记录在浏览器访问域名中未出现过的DNS访问域名;
过滤单元,用于将预设的DNS白名单中的域名从所述域名比对单元记录的域名中排除,将不能与预设的DNS白名单相匹配的域名识别得到恶意域名。
根据本发明一优选实施例,该装置包括所述域名识别模块和所述木马识别模块;
所述木马识别模块提取所述网络数据包中的网络流量包括:从网络数据包中提取包含所述域名识别模块识别到的恶意域名的网络流量。
根据本发明一优选实施例,如果所述域名识别模块采用所述第一域名识别模块、第二域名识别模块和第三域名识别模块中多于一个模块的结合进行恶意域名识别时,将至少被其中两个模块识别为恶意域名的IP地址识别为存在木马,对仅被一个模块识别为恶意域名的通过所述木马识别模块进行识别。
根据本发明一优选实施例,该装置包括所述域名识别模块和所述木马识别模块;
所述木马识别模块将逆向流量中的目的IP识别为存在木马包括:判断逆向流量的目的IP是否在于所述域名识别模块识别到的IP地址中,如果是,则将该逆向流量的目的IP识别为存在木马。
根据本发明一优选实施例,该装置包括所述域名识别模块和所述木马识别模块;
所述木马识别模块将所述请求包的源IP或者所述应答包的目的IP识别为存在木马包括:判断所述请求包的源IP或者所述应答包的目的IP是否在于所述域名识别模块识别到的IP地址中,如果是,则将所述请求包的源IP或者所述应答包的目的IP识别为存在木马。
根据本发明一优选实施例,所述逆向流量是指在内网中请求服务时出现从外网向内网访问的进流量;所述第一木马识别模块具体包括:
第一流量提取单元,用于提取所有从外网向内网访问的进流量;
第一检测单元,用于基于预设的命令字符串名单对提取的进流量进行检测,如果发现匹配的命令字符串,则将该进流量的目的IP识别为存在木马。
根据本发明一优选实施例,所述第二木马识别模块具体包括:
第二流量提取单元,用于提取网络流量中同一协议的请求包或应答包;
第二检测单元,用于检查请求包或应答包是否符合国际互联网标准RFC规定的相应的协议规则,如果请求包不符合RFC规定,则将该不符合协议规则请求包或应答包的源IP识别为存在木马;如果应答包不符合RFC规定,则将该应答包的目的IP识别为存在木马。
由以上技术方案可以看出,本发明提供的内网木马的检测方法和装置,基于木马通信行为特征对内网对外通信(访问internet)的数据包进行全面检测,有利于及时地发现潜在的、未知的网络窃密行为和威胁。同时,可以采用多种策略结合使用,通过客户端和服务器的配合,大大减少误报率,能够更加精准地实现对未知木马的检测和报警。
【附图说明】
图1为本发明实施例一提供的内网木马的检测方法流程图;
图2为本发明实施例一提供的步骤S102_1具体的流程图;
图3为本发明实施例一提供的步骤S102_2具体的流程图;
图4为本发明实施例一提供的步骤S102_3具体的流程图;
图5为本发明实施例一提供的步骤S103_1具体的流程图;
图6为本发明实施例一提供的步骤S103_2具体的流程图;
图7为本发明实施例二提供的内网木马的检测装置结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
实施例一
图1是本实施例提供的内网木马的检测方法流程图,如图1所示,该方法包括:
步骤S101、采集网络数据包。
木马被成功植入到目标计算机后,木马控制端必须和被控端建立连接关系才能进行通信,从而对被控的主机进行远程控制,以窃取信息。木马被控端按照控制端预设的控制域名向远程域名服务器发送DNS(域名解析)请求,进而根据收到的DNS请求响应解析出控制端的IP地址,并向控制端的IP地址发起连接。
木马从入侵目标系统开始后,使用各种手段欺骗用户、对自身进行隐藏伪装,如加壳、加花、变形等,企图掩盖在目标系统中留下的痕迹,但是无论其如何伪装隐藏,都会出现许多行为特征,比如,会出现DNS心跳异常或者流量异常等情况,异于其他正常程序。
本发明则是利用这些异常的行为特征进行分析,通过实时采集网络数据包,并从采集的数据包中提取符合木马通信行为特征的数据,从而判断是否存在安全隐患。其中采集的网络数据包可以包括但不限于:DNS、TCP或HTTP等协议的数据包。
步骤S102、获取所述网络数据包中的DNS请求数据,利用步骤S102_1至步骤S102_3进行恶意域名的识别,形成恶意域名集合。
由于木马必须通过恶意域名来连接远程攻击者,因而可以先确定恶意域名,再利用这些定位的恶意域名进行木马的检测,将向所述恶意域名发出请求的IP地址识别为存在木马。
步骤S102_1为:分析获取到的DNS请求数据,记录出现异常心跳的DNS请求数据,进行恶意域名识别。
当木马程序上线请求域名,并且连接不上的时候,会不停地发送DNS请求,引起异常心跳的DNS通信数据。通过观察发出异常心跳的域名,进行恶意域名的识别。
图2是本实施例提供的步骤S102_1具体的流程图,如图2所示,具体包括:
步骤S201、分析获取到的DNS请求数据。
在本实施例中,分析从步骤S101采集的网络数据包获取到的DNS请求数据。
步骤S202、判断是否出现异常心跳的DNS请求数据,如果是,进入步骤S203,否则,返回步骤S201。
某个源IP发出N个DNS请求数据包,相应地,也应该收到N个DNS响应数据包。当木马控制端与被控端的网络不连通时,被控端通常会误以为域名解析存在错误,从而反复大量的发出DNS请求,引起DNS心跳异常。
出现异常心跳的DNS请求数据包括:出现频繁且有规律的DNS请求。所述频繁且有规律的DNS请求是指单位时间内同一源IP发出DNS请求的数量超过预设请求次数阈值且发出DNS请求的时间间隔相等的情况。当发现同一个DNS请求频繁且有规律出现时,则判断为异常。
例如,如果预设请求次数阈值为5次,以小时为单位,则当任一IP源发出DNS请求次数大于5次,且发出请求的间隔时间相等,则判断为异常。
步骤S203、记录出现异常心跳的DNS请求数据的域名,形成可疑域名集合,触发筛选机制,执行步骤S204。
将出现异常心跳的DNS请求数据进行域名解析,记录得到的域名。例如,将DNS请求访问的DNS进行域名解析,记录为待检测的域名。
域名解析的基本原理是把域名对应到真实的计算机能够识别的网络地址,比如,将域名地址www.google.com解析成216.239.53.99的IP地址,以便计算机能够进一步通信,传递网址和内容等。在解析域名时,还可以得到对应的源IP、目的IP以及使用端口等信息。
步骤S204、将预设的DNS白名单中的域名从步骤S203形成的可疑域名集合中进行排除,对得到的可疑域名集合执行步骤S205。
预先将常访问网站或可信任站点的域名设置成DNS白名单。例如,可以将搜狐、百度、新浪等常访问的网站,添加到DNS白名单中。白名单的设置方式可以但不限于采用人工的方式进行搜集。
利用预设的DNS白名单对记录的域名进行筛选和排除,得到可疑域名集合,形成可疑域名列表。
值得说明的是,为了提高效率,可以在得到待检测的域名后,利用预设DNS黑名单对记录的域名进行判断,如果能够与预设的DNS黑名单相匹配,则直接识别为恶意域名。
需要说明的是,步骤204所述的基于DNS白名单对域名进行排除的步骤是为了提高效率的可选步骤,也可以不执行步骤204,直接利用出现异常心跳的DNS请求数据的域名形成可疑域名列表。
步骤S205、针对所述可疑域名集合中每一个域名统计对应的所有DNS请求的源IP数。
当木马控制端与被控端的网络不连通时,被控端通常会误以为域名解析存在错误,因而出现同一源IP反复大量的发出DNS请求,此时只能算是一个源IP。正常的域名通常会有较多的访问源,如果检索得到访问的源IP数太少,则很有可能是恶意域名。
步骤S206、针对可疑域名集合中每一个域名分别判断统计到的源IP数是否低于预设访问数,如果是,则进行步骤S207,否则,进入步骤S210,识别为正常域名。
步骤S207、查询域名创建时间。
上述步骤S206中预设访问数可以根据实际使用场合进行设置,比如设置为7时,则当访问的源IP数低于7时,在步骤S207中通过命令whois进行域名创建时间的查询。
步骤S208、判断查询到的创建时间是否小于预设时间要求,如果是,则进入步骤S209,识别为恶意域名,否则,进入步骤S210,识别为正常域名。
例如,所述预设时间要求为2年时,如果查询到的创建时间小于2年,则识别为恶意域名。
也就是说,如果判断到访问的源IP数小于7,且域名创建时间小于两年的域名,将被识别为恶意域名。
继续参见图1,步骤S102 2为:分析获取到的DNS请求数据,将指向特殊IP且跳转为指向正常IP的DNS请求的域名识别为恶意域名。
所述特殊IP是指按照国际互联网标准RFC规定的非广域网IP地址。例如,127.0.0.1或者0.0.0.0等IP地址,127.0.0.1代表本地主机地址,0.0.0.0代表所有未指定的主机和目的地址。
所述正常IP是指常用的内网IP地址,例如:10.x.x.x或192.168.x.x等内网IP。
图3是本实施例提供的步骤S102_2具体的流程图,如图3所示,具体包括:
步骤S301、分析获取到的DNS请求数据,记录指向特殊IP的域名。
从网络数据包中获取DNS请求数据后,进行域名解析,得到与特殊IP相关的域名,记录在特殊域名列表中。例如记录指向IP地址为127.0.0.1或者0.0.0.0的域名。
步骤S302、对步骤S301记录的域名进行监控。
对指向特殊IP的DNS请求数据进行监控,监控是否指向特殊IP的DNS请求数据转向正常IP,即执行以下步骤。
步骤S303、判断记录的域名是否跳转为指向正常IP,如果是,则进入步骤S304,识别为恶意域名,否则,进入步骤S305,识别为正常域名。
继续参见图1,步骤S102_3为:将DNS访问域名与浏览器访问域名进行对比,将未在浏览器访问域名中出现的DNS访问域名识别为恶意域名。
图4是本实施例提供的步骤S102_3具体的流程图,如图4所示,具体包括:
步骤S401、从客户端主机上提取浏览器访问域名。
提取客户端主机上的浏览器中保存的历史记录,得到浏览器访问域名。
例如,微软windows操作系统的IE浏览器将用户访问的域名保存在一个index.dat文件中,它像个数据库的索引,在开启IE时自行启动,收集用户浏览过的每一个网址、文件访问记录等信息。提取IE浏览器的index.dat文件,得到浏览器访问域名。其他浏览器按照相类似的方式提取用户访问的域名。
步骤S402、从服务器的DNS日志中提取该客户端的DNS访问日志,或者从客户端主机上提取记录的DNS访问日志,得到DNS访问域名。
从服务器的DNS日志中,提取该客户端一天DNS访问日志,或者在该客户端的操作系统中开启记录DNS访问日志的功能,从而得到该客户端访问的域名列表。
步骤S403、对比浏览器访问域名和DNS访问域名。
用户在浏览器中输入想要访问的域名是实际的目的域名。如果是正常程序,经过域名解析出来的DNS访问域名应该与输入的域名一致。当遇到木马程序时,DNS访问域名很有可能被指向攻击者设定的恶意域名,与输入的域名不同。
以HTTP请求为例,正常的DNS请求流程为:
(1)在浏览器输入HTTP请求http://www.baidu.com。
(2)计算机将会向DNS服务器发出请求。
(3)DNS服务器进行处理分析得到http://www.baidu.com相应的IP地址为119.***.209.***。
(4)DNS将把此IP地址119.***.209.***返回到发出请求的计算机。
(5)正常登陆到http://www.baidu.com的网站。
指向恶意域名的DNS请求流程为:
(1)在浏览器输入HTTP请求http://www.baidu.com。
(2)计算机将会向DNS服务器发出请求。
(3)攻击者对请求进行处理伪造DNS回复报告,返回给计算机的是攻击者指定恶意域名的IP地址。
(4)登陆的网站实际不是http://www.baidu.com的网站,而是攻击者设计好的恶意域名网站。
通过对比,发现与输入的域名不一致的DNS访问域名。
步骤S404、针对每一个DNS访问域名分别判断DNS访问域名是否出现在浏览器访问域名中,如果是,则进入步骤S408,识别为正常域名,否则,进入步骤S405。
如果DNS访问域名有在浏览器访问域名的列表中出现,则认为该DNS访问域名与输入的域名一致,识别为正常域名。
步骤S405、记录在浏览器访问域名中未出现过的DNS访问域名。
对于未出现在浏览器访问域名中的DNS访问域名,记录在可疑域名列表中。
步骤S406、判断记录的域名是否出现在预设的DNS白名单中,如果是,则进入步骤S408,识别为正常域名,否则,进入步骤S407,识别为恶意域名。
预设的DNS白名单中包括常用软件访问的域名。例如,微博客户端经常访问的域名有weibo.com等,美图秀秀常访问的域名为xiuxiu.meitu.com等,将该些域名添加到预设的DNS白名单中。
本步骤中使用的DNS白名单可以与步骤S102_1中的为同一个预设的DNS白名单。
利用预设的DNS白名单对步骤S405记录的域名进行排除,将不能与预设的DNS白名单相匹配的域名识别为恶意域名。
值得一提的是,上述步骤S102_1至步骤S102_3的顺序可以任意调换,也可以仅采用其中的一种或任意组合进行恶意域名识别。待检测的域名经过其中任意一种被识别为恶意域名,均添加到恶意域名集合中。利用识别到的恶意域名集合设立黑名单,将请求黑名单中恶意域名的IP地址识别为存在木马,该IP对应的计算机有被入侵的可能。
另外,为了进一步地降低误报率和提高效率,可以将步骤S102_1至步骤S102_3识别到的恶意域名进行比对,仅将有重复的恶意域名列入黑名单。所述重复的恶意域名是指在步骤S102_1至步骤S102_3中至少有两个步骤均识别为恶意域名的域名。当出现某一IP请求访问黑名单中的域名时,则将该IP识别为存在木马。对于没有重复的恶意域名进一步执行步骤S103。
继续参见图1,步骤S103、从网络数据包中提取包含步骤S102_1至步骤S102_3中识别到的恶意域名的网络流量,执行步骤S103_1至步骤S103_2进行木马程序的识别。
为了提高效率,在提取时,也可以仅提取在步骤S102_1至步骤S102_3中没有重复的恶意域名的网络流量,进行木马的识别。对于有重复的恶意域名,直接将请求访问该些域名的IP地址识别为存在木马。
步骤S103_1为:判断提取的网络流量中是否出现逆向流量,如果出现,则将逆向流量的目的IP识别为存在木马。
所述逆向流量是指在内网中请求服务时出现不符合协议规则的从外网向内网访问的进流量。如果按照协议规则,则不应该存在从外网向内网访问的进流量。
木马通常以客户端/服务器(C/S)的方式存在,当攻击者企图利用木马对内网其他服务进行请求时,C端把需要请求的指令发送给S端,即把S端作为代理来进行跳板攻击,这样就形成了逆向流量。如果把从内网向外网访问的流量定义为“出流量”,把从外网向内网访问的流量定义为“进流量”。则在内网中请求服务时,流量不应该存在从外向内访问的“进流量”。
以HTTP流量中的GET请求为例,在请求服务时发送GET请求,正常的HTTP流量是从内向外即出流量,而不会出现从外向内的进流量,即不应该出现从外网进入内网的HTTP请求。
再以socket5代理为例,按照协议规则,请求服务时正常流量的第一个包应该是“出流量”而不应该是“进流量”。而在内网相对于代理而言,不应该出现逆向代理流量请求。而其他协议亦如此。
图5为本实施例提供的步骤S103_1具体的流程图,如图5所示,具体包括:
步骤S501、提取所有从外网向内网访问的进流量。
根据请求命令中的源IP来确定从外网向内网访问的流量,从而将该些流量提取出来。
步骤S502、基于预设的命令字符串名单对提取的进流量进行检测。
对于不应该出现进流量的命令字符串,将其添加在预设的命令字符串名单中,如果进流量的请求中,有包含该些命令字符串,则将该进流量的目的IP识别为存在木马,说明该IP对应的计算机有被入侵的可能。
在设置命令字符串名单时,可以按照不同协议规则分别设置对应的命令字符串名单。比如,对于HTTP协议,常用的请求命令包括GET、POST、HEAD等命令,将该些命令,添加到预设的命令字符串名单。
步骤S503、判断是否有匹配的命令字符串,如果是,则进入步骤S504,识别为木马,否则,进入步骤S505,识别为正常程序。
如果在提取到的HTTP进流量发现匹配的命令字符串“GET”,则识别为木马程序。
继续参见图1,步骤S103_2为:判断提取的网络流量中的请求包或应答包是否符合国际互联网标准RFC规定的协议规则,如果不符合,则将不符合RFC规定的协议规则的请求包的源IP或者不符合RFC规定的协议规则的应答包的目的IP识别为存在木马。
RFC规定的传输控制协议(TCP协议)中包括:HTTP协议、HTTPS协议、FTP协议、SMTP协议、SNMP协议、Telnet协议等各类协议。
以HTTP协议为例:
HTTP请求应该符合RFC协议的标准基本要求,HTTP请求/响应通常遵守RFC协议,请求即为GET或POST等,响应则为“200OK”、“404notfound”或“401Unauthorized”。很多木马都通过80端口(即HTTP请求)进行通信,但传输数据为加密的二进制,其请求或响应并不是按照HTTP协议的规定,这样的流量则为可疑流量。
图6是本实施例提供的步骤S103_2具体的流程图,如图6所示,具体包括:
步骤S601、提取网络流量中同一协议的请求包或应答包。
网络流量为TCP流量,按照各种协议提取所需要的流量。比如,以HTTP流量为例,提取所有HTTP流量的请求包或应答包。
步骤S602、检查请求包或应答包是否符合国际互联网标准RFC规定的相应的协议规则,如果是,则进入步骤S604,识别为正常程序,否则,进入步骤S603,识别为木马。如果请求包不符合RFC规定,则将该请求包的源IP识别为存在木马;如果应答包不符合RFC规定,则将该应答包的目的IP识别为存在木马。该IP对应的计算机有被入侵的可能。
在此过程中,预先按照TCP协议中各类协议,分别将包含的所有请求或应答的命令提示符设置对应的命令名单,在检查时,将提取的请求包或应答包与该命令名单进行比对,如果能够匹配,则符合国际互联网标准RFC规定的相应的协议规则,识别为正常程序。如果不能匹配,则不符合RFC规定,识别为木马。
例如,HTTP流量中的请求包,如果不是以GET、POST等命令开头的HTTP协议记录,则认为是不符合RFC规定的请求,则将该请求包的源IP识别为木马。
值得一提的是,上述步骤S103_1至步骤S103_2的顺序可以调换,也可以仅采用其中的一个进行木马识别。
除了图1所示流程的方式之外,也可以不执行步骤S102,在步骤S101之后仅执行步骤S103,对所有网络数据包的网络流量进行分析,执行步骤S103_1和步骤S103_2中任一步骤或者其结合,识别是否出现逆向流量或者是否出现不符合RFC规定的网络流量,进行木马的识别。
通过这种方式识别时,为了更进一步提高检测准确率,也可以结合步骤S102的识别结果再作进一步地判断,用以降低误报率。当出现逆向流量或者出现不符合RFC规定的网络流量时,将该流量访问的域名与步骤S102识别出的恶意域名集合进行比对,如果发现能够匹配的域名,也就是说通过步骤S103识别出的流量所对应的域名同时也存在于通过步骤S102识别出的恶意域名中,则将该流量的源IP或目的IP识别为存在木马。或者,判断逆向流量的目的IP是否在步骤S102识别到的IP地址中,如果是,则将该逆向流量的目的IP识别为存在木马。或者,判断不符合RFC规定的请求包的源IP或者应答包的目的IP是否在步骤S102识别到的IP地址中,如果是,则将该请求包的源IP或者应答包的目的IP识别为存在木马。
以上是对本发明所提供的方法进行的详细描述,下面对本发明提供的内网木马的检测装置进行详细描述。
实施例二
图7为本实施例提供的内网木马的检测装置结构图,如图7所示,该装置包括:采集模块10、域名识别模块20和木马识别模块30。其中
采集模块10,用于采集网络数据包。
采集模块10用于实时采集网络数据包,以供后续模块从采集到的网络数据包中提取符合木马通信行为特征的数据,从而判断是否存在安全隐患。其中采集的网络数据包可以包括但不限于:DNS、TCP或HTTP等协议的数据包。
域名识别模块20,用于获取所述网络数据包中的DNS请求数据,利用第一域名识别模块201至第三域名识别模块203中至少一种进行恶意域名的识别,形成恶意域名集合,将向所述恶意域名发出请求的IP地址识别为存在木马。
由于木马必须通过恶意域名来连接远程攻击者,因而通过先确定恶意域名,再利用这些定位的恶意域名进行木马的检测。
第一域名识别模块201,用于记录出现异常心跳的DNS请求数据的域名,查询所记录的域名对应的所有DNS请求的源IP数和域名创建时间,将查询到的源IP数和域名创建时间不符合预设要求的域名识别为恶意域名。
当木马程序上线请求域名,并且连接不上的时候,会不停的发送DNS请求,引起异常心跳的DNS通信数据。通过观察发出异常心跳的域名,进行恶意域名的识别。
第一域名识别模块201具体包括:触发单元、筛选单元和检查单元。
触发单元,用于分析获取到的DNS请求数据,记录出现异常心跳的DNS请求数据的域名,触发筛选单元。
某个源IP发出N个DNS请求数据包,相应地,也应该收到N个DNS响应数据包。当木马控制端与被控端的网络不连通时,被控端通常会误以为域名解析存在错误,从而反复大量的发出DNS请求,引起DNS心跳异常。
所述出现异常心跳的DNS请求数据包括:出现频繁且有规律的DNS请求。频繁且有规律的DNS请求的域名为:单位时间内同一源IP发出DNS请求的数量超过预设访问次数阈值且发出DNS请求的时间间隔相等的域名。
例如,如果预设请求次数阈值为5次,以小时为单位,则当任一IP源发出DNS请求次数大于5次,且发出请求的间隔时间相等,则判断为异常。
将出现异常心跳的DNS请求数据进行域名解析,记录得到的域名。例如,将DNS请求访问的DNS进行域名解析,记录为待检测的域名。
筛选单元,用于将预设的DNS白名单中的域名从所述触发单元形成的可疑域名集合中进行排除,将得到可疑域名集合用于所述检查单元。
预先将常访问网站或可信任站点的域名设置成DNS白名单。例如,可以将搜狐、百度、新浪等常访问的网站,添加到DNS白名单中。白名单的设置方式可以但不限于采用人工的方式进行搜集。
利用预设的DNS白名单对记录的域名进行筛选和排除,得到可疑域名集合,形成可疑域名列表。
值得说明的是,为了提高效率,筛选单元也可以结合黑名单进行筛选,在得到待检测的域名后,利用预设DNS黑名单对记录的域名进行判断,如果能够与预设的DNS黑名单相匹配,则直接识别为恶意域名。
需要说明的是,筛选单元基于DNS白名单对域名进行排除,是为了提高效率的可选装置,也可以不采用该筛选单元,直接利用触发单元记录的域名形成可疑域名列表,此时,触发单元直接触发检查单元。
检查单元,用于针对所述可疑域名集合中每一个域名统计对应的所有DNS请求的源IP数,当当前域名的源IP数低于预设访问数时,查询当前域名的创建时间,如果查询到的创建时间小于预设时间要求时,则识别出当前域名为恶意域名。
当木马控制端与被控端的网络不连通时,被控端通常会误以为域名解析存在错误,因而出现同一源IP反复大量的发出DNS请求,此时只能算是一个源IP。正常的域名通常会有较多的访问源,如果检索得到访问的源IP数太少,则很有可能是恶意域名。
预设访问数可以根据实际使用场合进行设置,比如设置为7时,则当访问的源IP数低于7时,通过命令whois进行域名创建时间的查询。如果预设时间要求为2年时,当查询到的创建时间小于2年,则识别为恶意域名。
第二域名识别模块202,用于将指向特殊IP且出现跳转为指向正常IP的DNS请求的域名识别为恶意域名。
所述特殊IP是指按照国际互联网标准RFC规定的非广域网IP地址。例如,127.0.0.1或者0.0.0.0等IP地址,127.0.0.1代表本地主机地址,0.0.0.0代表所有未指定的主机和目的地址。
所述正常IP是指常用的内网IP地址,例如:10.x.x.x或192.168.x.x等内网IP。
第二域名识别模块202具体包括:特殊域名单元和监控单元。
特殊域名单元,用于从网络数据包中获取DNS请求数据,记录指向特殊IP的域名。
从网络数据包中提取DNS请求数据后,进行域名解析,得到与特殊IP相关的域名,记录在特殊域名列表中。例如记录指向IP地址为127.0.0.1或者0.0.0.0的域名。
监控单元,用于对所述特殊域名单元记录的域名监控,当发现跳转为其他正常IP时,则识别为恶意域名。
对指向特殊IP的DNS请求数据进行监控,监控是否指向特殊IP的DNS请求数据转向正常IP,如果是,则识别为恶意域名。
第三域名识别模块203,用于将DNS访问域名与浏览器访问域名进行对比,将未在浏览器访问域名中出现的DNS访问域名识别为恶意域名。
第三域名识别模块203具体包括:浏览器域名提取单元、DNS域名提取单元、域名比对单元和过滤单元。
浏览器域名提取单元,用于从客户端主机上提取浏览器访问域名。
提取客户端主机上的浏览器中保存的历史记录,得到浏览器访问域名。
例如,微软windows操作系统的IE浏览器将用户访问的域名保存在一个index.dat文件中,它像个数据库的索引,在开启IE时自行启动,收集用户浏览过的每一个网址、文件访问记录等信息。提取IE浏览器的index.dat文件,得到浏览器访问域名。其他浏览器按照相类似的方式提取用户访问的域名。
DNS域名提取单元,用于从服务器的DNS日志中提取该客户端的DNS访问日志,或者从客户端主机上提取记录的DNS访问日志,得到DNS访问域名。
从服务器的DNS日志中,提取该客户端一天DNS访问日志,或者在该客户端的操作系统中开启记录DNS访问日志的功能,从而得到该客户端访问的域名列表。
域名比对单元,用于对比浏览器访问域名和DNS访问域名,记录在浏览器访问域名中未出现过的DNS访问域名。
用户在浏览器中输入想要访问的域名是实际的目的域名。如果是正常程序,经过域名解析出来的DNS访问域名应该与输入的域名一致。当遇到木马程序时,DNS访问域名很有可能被指向攻击者设定的恶意域名,与输入的域名不同。
通过域名比对单元的对比,发现与输入的域名不一致的DNS访问域名。针对每一个DNS访问域名分别判断DNS访问域名是否出现在浏览器访问域名中。如果DNS访问域名有在浏览器访问域名的列表中出现,则认为该DNS访问域名与输入的域名一致,识别为正常域名。对于未出现在浏览器访问域名中的DNS访问域名,记录在可疑域名列表中。
过滤单元,用于将预设的DNS白名单中的域名从域名比对单元记录的域名中排除,将得到的域名识别为恶意域名。
预设的DNS白名单中包括常用软件访问的域名。例如,微博客户端经常访问的域名有weibo.com等,美图秀秀常访问的域名为xiuxiu.meitu.com等,将该些域名添加到预设的DNS白名单中。
过滤单元利用预设的DNS白名单进一步对可疑域名列表中的域名进行排除。将不能与预设的DNS白名单相匹配的域名识别为恶意域名。
值得一提的是,待检测的域名经过上述第一域名识别模块至第三域名识别模块中任一模块或组合识别为恶意域名的,均添加到恶意域名集合中。利用域名识别模块识别到的恶意域名集合,设立黑名单,将请求黑名单中恶意域名的IP地址识别为存在木马,该IP对应的计算机有被入侵的可能。
为了进一步地降低误报率和提高效率,可以将第一域名识别模块至第三域名识别模块识别到恶意域名进行比对,仅将有重复的恶意域名列入黑名单。所述重复的恶意域名是指在第一域名识别模块至第三域名识别模块中至少有两个模块均识别为恶意域名的域名。当出现某一IP请求访问黑名单中的域名,则将该IP识别为存在木马。对于没有重复的恶意域名利用木马识别模块进行进一步识别。
木马识别模块30,用于提取网络数据包中的网络流量,利用第一木马识别模块301和第二木马识别模块302中至少一种进行木马的识别。
木马识别模块30具体配置可以为:
木马识别模块30从网络数据包中提取包含所述域名识别模块识别到的恶意域名的网络流量,再利用第一木马识别模块301和第二木马识别模块302中至少一种进行木马的识别。
为了提高效率,在提取时,也可以仅提取在第一域名识别模块至第三域名识别模块中没有重复的恶意域名的网络流量,进行木马的识别。对于有重复的恶意域名,直接将请求访问该些域名的IP地址识别为存在木马。
第一木马识别模块301,用于判断提取的网络流量中是否出现逆向流量,如果出现,则将逆向流量中目的IP识别为存在木马。
所述逆向流量是指在内网中请求服务时出现不符合协议规则的从外网向内网访问的进流量。如果按照协议规则,则不应该存在从外网向内网访问的进流量。
木马通常以客户端/服务器(C/S)的方式存在,当攻击者企图利用木马对内网其他服务进行请求时,C端把需要请求的指令发送给S端,即把S端作为代理来进行跳板攻击,这样就形成了逆向流量。如果把从内网向外网访问的流量定义为“出流量”,把从外网向内网访问的流量定义为“进流量”。则在内网中请求服务时,流量不应该存在从外向内访问的“进流量”。
以HTTP流量中的GET请求为例,在请求服务时发送GET请求,正常的HTTP流量是从内向外即出流量,而不会出现从外向内的进流量,即不应该出现从外网进入内网的HTTP请求。
再以socket5代理为例,按照协议规则,请求服务时正常流量的第一个包应该是“出流量”而不应该是“进流量”。而在内网相对于代理而言,不应该出现逆向代理流量请求。而其他协议亦如此。
第一木马识别模块301具体包括:第一流量提取单元和第一检测单元。
第一流量提取单元,用于提取所有从外网向内网访问的进流量。
第一流量提取单元可以根据请求命令中的源IP来确定从外网向内网访问的流量,从而将该些流量提取出来。
第一检测单元,用于基于预设的命令字符串名单对提取的进流量进行检测,如果发现匹配的命令字符串,则识别为木马。
对于不应该出现进流量的命令字符串,将其添加在预设的命令字符串名单中,如果进流量的请求中,有包含该些命令字符串,则将该进流量的目的IP识别为存在木马,说明该IP对应的计算机有被入侵的可能。
在设置命令字符串名单时,可以按照不同协议规则分别设置对应的命令字符串名单。比如,对于HTTP协议,常用的请求命令包括GET、POST、HEAD等命令,将该些命令,添加到预设的命令字符串名单。
如果在提取到的HTTP进流量发现匹配的命令字符串“GET”,则识别为木马程序。
第二木马识别模块302,用于判断提取的网络流量中的请求包或应答包是否符合国际互联网标准RFC规定的协议规则,如果不符合,则将请求包的源IP或者应答包的目的IP识别为存在木马。
RFC规定的传输控制协议(TCP协议)中包括:HTTP协议、HTTPS协议、FTP协议、SMTP协议、SNMP协议、Telnet协议等各类协议。
以HTTP协议为例:
HTTP请求应该符合RFC协议的标准基本要求,HTTP请求/响应通常遵守RFC协议,请求即为GET或POST等,响应则为”200OK”、”404notfound”或“401Unauthorized”。很多木马都通过80端口(即HTTP请求)进行通信,但传输数据为加密的二进制,其请求或响应并不是按照HTTP协议的规定,这样的流量则为可疑流量。
第二木马识别模块302具体包括:第二流量提取单元和第二检测单元。
第二流量提取单元,用于提取网络流量中同一协议的请求包或应答包。
网络流量为TCP流量,按照各种协议提取所需要的流量。比如,以HTTP流量为例,提取所有HTTP流量的请求包或应答包。
第二检测单元,用于检查请求包或应答包是否符合国际互联网标准RFC规定的相应的协议规则,如果不符合,则识别为木马。如果请求包不符合RFC规定,则将该请求包的源IP识别为存在木马;如果应答包不符合RFC规定,则将该应答包的目的IP识别为存在木马。该IP对应的计算机有被入侵的可能。
第二木马识别模块还包括白名单设置单元:预先按照传输控制协议中各类协议,分别将包含的所有请求或应答的命令提示符设置对应的命令名单,所述第二检测单元将提取的请求包或应答包与该命令名单进行比对,如果能够匹配,则符合国际互联网标准RFC规定的相应的协议规则。
在此过程中,预先按照TCP协议中各类协议,分别将包含的所有请求或应答的命令提示符设置对应的命令名单,在检查时,将提取的请求包或应答包与该命令名单进行比对,如果能够匹配,则符合国际互联网标准RFC规定的相应的协议规则,识别为正常程序。如果不能匹配,则不符合RFC规定,识别为木马。
例如,HTTP流量中的请求包,如果不是以GET、POST等命令开头的HTTP协议记录,则认为是不符合RFC规定的请求,识别为木马。
另外,如果不考虑检测效率,除了上述方式之外,木马识别模块30还可以具体配置还可以为:对采集模块10采集的所有网络数据包的网络流量进行分析,识别是否出现逆向流量或者是否出现不符合RFC规定的网络流量,进行木马的识别。这种情况下,本装置可以不包括域名识别模块20,也可以同时包括域名识别模块20。
如果同时包括域名识别模块20,则木马识别模块30可以进一步结合域名识别模块20进行识别,用以降低误报率。具体地,木马识别模块30在判断为出现逆向流量或者出现不符合RFC规定的网络流量后,还包括:将该网络流量中访问的域名与域名识别模块20识别到的恶意域名进行比对,如果能够匹配,也就是说通过木马识别模块30识别出的流量所对应的域名同时也存在于通过域名识别模块20识别出的恶意域名中,则将该网络流量的源IP或目的IP识别为存在木马。或者,木马识别模块30先判断逆向流量的目的IP是否在步骤S102域名识别模块20识别到的IP地址中,如果是,则将该逆向流量的目的IP识别为存在木马。或者,木马识别模块30先判断不符合RFC规定的请求包的源IP或者应答包的目的IP是否在步骤S102域名识别模块20识别到的IP地址中,如果是,则将该请求包的源IP或者应答包的目的IP识别为存在木马。
本发明提供的方法和装置,联合了DNS检测和行为检测的方式来实现木马的检测,根据木马的常见行为进行特征提取和处理,通过客户端和服务端配合,大大减少误报,更加精准的实现对未知木马的报警。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (18)
1.一种内网木马的检测方法,其特征在于,包括以下步骤:
S1、采集网络数据包,执行步骤S2或S3;
S2、获取所述网络数据包中的DNS请求数据,利用D1-D3中至少一种进行恶意域名的识别,形成恶意域名集合,将向所述恶意域名发出请求的IP地址识别为存在木马,其中
所述D1为:记录出现异常心跳的DNS请求数据的域名,查询所记录的域名对应的所有DNS请求的源IP数和域名创建时间,将查询到的源IP数和域名创建时间不符合预设要求的域名识别为恶意域名;
所述D2为:将指向特殊IP且出现跳转为指向正常IP的DNS请求的域名识别为恶意域名,所述特殊IP是指按照国际互联网标准RFC规定的非广域网IP地址,所述正常IP是指常用的内网IP地址;
所述D3为:将DNS访问域名与浏览器访问域名进行对比,将未在浏览器访问域名中出现的DNS访问域名识别为恶意域名;
S3、提取所述网络数据包中的网络流量,利用D4-D5中至少一种进行木马的识别,其中
所述D4为:判断提取的网络流量中是否出现逆向流量,如果出现,则将逆向流量的目的IP识别为存在木马,所述逆向流量是指在内网中请求服务时出现从外网向内网访问的进流量;
所述D4具体包括:
步骤D401、提取所有从外网向内网访问的进流量;
步骤D402、基于预设的命令字符串名单对提取的进流量进行检测,如果发现匹配的命令字符串,则将该进流量的目的IP识别为存在木马;
所述D5为:判断提取的网络流量中的请求包或应答包是否符合国际互联网标准RFC规定的协议规则,如果不符合,则将所述请求包的源IP或者所述应答包的目的IP识别为存在木马;
所述D5具体包括:
步骤D501、提取网络流量中同一协议的请求包或应答包;
步骤D502、检查请求包或应答包是否符合国际互联网标准RFC规定的相应的协议规则,如果请求包不符合RFC规定,则将该请求包的源IP识别为存在木马;如果应答包不符合RFC规定,则将该应答包的目的IP识别为存在木马。
2.根据权利要求1所述的方法,其特征在于,所述D1具体包括:
步骤D101、分析获取到的DNS请求数据,记录出现异常心跳的DNS请求数据的域名,形成可疑域名集合;
步骤D102、针对所述可疑域名集合中每一个域名统计对应的所有DNS请求的源IP数,当当前域名的源IP数低于预设访问数时,查询当前域名的创建时间,如果查询到的创建时间小于预设时间要求时,则识别出当前域名为恶意域名。
3.根据权利要求2所述的方法,其特征在于,在步骤D101之后,还包括:将预设的DNS白名单中的域名从步骤D101形成的可疑域名集合中排除,对得到的可疑域名集合执行步骤D102。
4.根据权利要求1或2所述的方法,其特征在于,所述出现异常心跳的DNS请求数据包括:单位时间内同一源IP发出DNS请求的数量超过预设访问次数阈值且发出DNS请求的时间间隔相等。
5.根据权利要求1所述的方法,其特征在于,所述D3具体包括:
步骤D301、从客户端主机上提取浏览器访问域名;
步骤D302、从服务器的DNS日志中提取该客户端的DNS访问日志,或者从客户端主机上提取记录的DNS访问日志,得到DNS访问域名;
步骤D303、对比浏览器访问域名和DNS访问域名,记录在浏览器访问域名中未出现过的DNS访问域名;
步骤D304、将预设的DNS白名单中的域名从步骤D303记录的域名中排除,将不能与预设的DNS白名单相匹配的域名识别得到恶意域名。
6.根据权利要求1所述的方法,其特征在于,在所述步骤S3之前,还包括所述步骤S2;
所述步骤S3中提取所述网络数据包中的网络流量包括:从网络数据包中提取包含步骤S2识别到的恶意域名的网络流量。
7.根据权利要求6所述的方法,其特征在于,如果所述步骤S2采用D1-D3中多于一种方式的结合进行恶意域名识别时,将至少被其中两种方式识别为恶意域名的IP地址识别为存在木马,对仅被一种方式识别为恶意域名的执行步骤S3。
8.根据权利要求1所述的方法,其特征在于,如果执行所述步骤S3,则该方法进一步包括执行所述步骤S2;
所述步骤S3中将逆向流量中的目的IP识别为存在木马包括:判断逆向流量的目的IP是否在于步骤S2识别到的IP地址中,如果是,则将该逆向流量的目的IP识别为存在木马。
9.根据权利要求1所述的方法,其特征在于,如果执行所述步骤S3,则该方法进一步包括执行所述步骤S2;
所述步骤S3中将所述请求包的源IP或者所述应答包的目的IP识别为存在木马包括:判断所述请求包的源IP或者所述应答包的目的IP是否在于步骤S2识别到的IP地址中,如果是,则将所述请求包的源IP或者所述应答包的目的IP识别为存在木马。
10.一种内网木马的检测装置,其特征在于,包括
采集模块,用于采集网络数据包;
域名识别模块,用于获取所述网络数据包中的DNS请求数据,利用第一域名识别模块至第三域名识别模块中至少一种进行恶意域名的识别,形成恶意域名集合,将向所述恶意域名发出请求的IP地址识别为存在木马,其中
所述第一域名识别模块,用于记录出现异常心跳的DNS请求数据的域名,查询所记录的域名对应的所有DNS请求的源IP数和域名创建时间,将查询到的源IP数和域名创建时间不符合预设要求的域名识别为恶意域名;
所述第二域名识别模块,用于将指向特殊IP且出现跳转为指向正常IP的DNS请求的域名识别为恶意域名,所述特殊IP是指按照国际互联网标准RFC规定的非广域网IP地址,所述正常IP是指常用的内网IP地址;
所述第三域名识别模块,用于将DNS访问域名与浏览器访问域名进行对比,将未在浏览器访问域名中出现的DNS访问域名识别为恶意域名;
木马识别模块,用于提取网络数据包中的网络流量,利用第一木马识别模块和第二木马识别模块中至少一种进行木马的识别,其中
所述第一木马识别模块,用于判断提取的网络流量中是否出现逆向流量,如果出现,则将逆向流量的目的IP识别为存在木马;所述逆向流量是指在内网中请求服务时出现从外网向内网访问的进流量;所述第一木马识别模块具体包括:
第一流量提取单元,用于提取所有从外网向内网访问的进流量;
第一检测单元,用于基于预设的命令字符串名单对提取的进流量进行检测,如果发现匹配的命令字符串,则将该进流量的目的IP识别为存在木马;
所述第二木马识别模块,用于判断提取的网络流量中的请求包或应答包是否符合国际互联网标准RFC规定的协议规则,如果不符合,则将所述请求包的源IP或者所述应答包的目的IP识别为存在木马;
所述第二木马识别模块具体包括:
第二流量提取单元,用于提取网络流量中同一协议的请求包或应答包;
第二检测单元,用于检查请求包或应答包是否符合国际互联网标准RFC规定的相应的协议规则,如果请求包不符合RFC规定,则将该不符合协议规则请求包或应答包的源IP识别为存在木马;如果应答包不符合RFC规定,则将该应答包的目的IP识别为存在木马。
11.根据权利要求10所述的装置,其特征在于,所述第一域名识别模块具体包括:
触发单元,用于分析获取到的DNS请求数据,记录出现异常心跳的DNS请求数据的域名,形成可疑域名集合,触发检查单元;
检查单元,用于针对所述可疑域名集合中每一个域名统计对应的所有DNS请求的源IP数,当当前域名的源IP数低于预设访问数时,查询当前域名的创建时间,如果查询到的创建时间小于预设时间要求时,则识别出当前域名为恶意域名。
12.根据权利要求11所述的装置,其特征在于,所述第一域名识别模块还包括:筛选单元,用于将预设的DNS白名单中的域名从所述触发单元形成的可疑域名集合中排除,将得到的可疑域名集合用于所述检查单元。
13.根据权利要求10或11所述的装置,其特征在于,所述出现异常心跳的DNS请求数据包括:单位时间内同一源IP发出DNS请求的数量超过预设访问次数阈值且发出DNS请求的时间间隔相等。
14.根据权利要求10所述的装置,其特征在于,所述第三域名识别模块具体包括:
浏览器域名提取单元,用于从客户端主机上提取浏览器访问域名;
DNS域名提取单元,用于从服务器的DNS日志中提取该客户端的DNS访问日志,或者从客户端主机上提取记录的DNS访问日志,得到DNS访问域名;
域名比对单元,用于对比浏览器访问域名和DNS访问域名,记录在浏览器访问域名中未出现过的DNS访问域名;
过滤单元,用于将预设的DNS白名单中的域名从所述域名比对单元记录的域名中排除,将不能与预设的DNS白名单相匹配的域名识别得到恶意域名。
15.根据权利要求10所述的装置,其特征在于,该装置包括所述域名识别模块和所述木马识别模块;
所述木马识别模块提取所述网络数据包中的网络流量包括:从网络数据包中提取包含所述域名识别模块识别到的恶意域名的网络流量。
16.根据权利要求15所述的装置,其特征在于,如果所述域名识别模块采用所述第一域名识别模块、第二域名识别模块和第三域名识别模块中多于一个模块的结合进行恶意域名识别时,将至少被其中两个模块识别为恶意域名的IP地址识别为存在木马,对仅被一个模块识别为恶意域名的通过所述木马识别模块进行识别。
17.根据权利要求10所述的装置,其特征在于,该装置包括所述域名识别模块和所述木马识别模块;
所述木马识别模块将逆向流量中的目的IP识别为存在木马包括:判断逆向流量的目的IP是否在于所述域名识别模块识别到的IP地址中,如果是,则将该逆向流量的目的IP识别为存在木马。
18.根据权利要求10所述的装置,其特征在于,该装置包括所述域名识别模块和所述木马识别模块;
所述木马识别模块将所述请求包的源IP或者所述应答包的目的IP识别为存在木马包括:判断所述请求包的源IP或者所述应答包的目的IP是否在于所述域名识别模块识别到的IP地址中,如果是,则将所述请求包的源IP或者所述应答包的目的IP识别为存在木马。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210043017.6A CN102594825B (zh) | 2012-02-22 | 2012-02-22 | 一种内网木马的检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210043017.6A CN102594825B (zh) | 2012-02-22 | 2012-02-22 | 一种内网木马的检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102594825A CN102594825A (zh) | 2012-07-18 |
CN102594825B true CN102594825B (zh) | 2016-08-17 |
Family
ID=46483026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210043017.6A Active CN102594825B (zh) | 2012-02-22 | 2012-02-22 | 一种内网木马的检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102594825B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833258B (zh) * | 2012-08-31 | 2015-09-23 | 北京奇虎科技有限公司 | 网址访问方法及系统 |
CN103778113B (zh) * | 2012-10-17 | 2017-04-19 | 腾讯科技(深圳)有限公司 | 终端、服务器及终端、服务器的网页处理方法 |
CN103152357B (zh) * | 2013-03-22 | 2015-09-30 | 北京网御星云信息技术有限公司 | 一种针对dns服务的防御方法、装置和系统 |
CN103269389B (zh) * | 2013-06-03 | 2016-05-25 | 北京奇虎科技有限公司 | 检查和修复恶意dns设置的方法和装置 |
CN103401710A (zh) * | 2013-07-30 | 2013-11-20 | 浙江中烟工业有限责任公司 | 基于方差的防火墙异常日志检测方法 |
CN103532949B (zh) * | 2013-10-14 | 2017-06-09 | 刘胜利 | 基于动态反馈的自适应木马通信行为检测方法 |
CN104811418B (zh) * | 2014-01-23 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 病毒检测的方法及装置 |
CN104023075A (zh) * | 2014-06-16 | 2014-09-03 | 南威软件股份有限公司 | 一种互联网在线密取系统及方法 |
CN104092792A (zh) * | 2014-07-15 | 2014-10-08 | 北京奇虎科技有限公司 | 基于域名解析请求来实现流量优化的方法及系统、客户端 |
CN104378361A (zh) * | 2014-10-24 | 2015-02-25 | 苏州阔地网络科技有限公司 | 一种网络入侵检测方法及系统 |
CN105141598B (zh) * | 2015-08-14 | 2018-11-20 | 中国传媒大学 | 基于恶意域名检测的apt攻击检测方法及装置 |
CN106534048A (zh) * | 2015-09-11 | 2017-03-22 | 中国电信股份有限公司 | 一种防范sdn拒绝服务攻击的方法、交换机和系统 |
CN105119764B (zh) * | 2015-09-29 | 2019-06-28 | 百度在线网络技术(北京)有限公司 | 用于流量监控的方法和装置 |
CN105376217B (zh) * | 2015-10-15 | 2019-01-04 | 中国互联网络信息中心 | 一种恶意跳转及恶意嵌套类不良网站的自动判定方法 |
CN106899557A (zh) * | 2015-12-21 | 2017-06-27 | 北京奇虎科技有限公司 | 域名系统的防御方法及装置 |
CN105975873B (zh) * | 2016-04-28 | 2019-02-26 | 深圳前海微众银行股份有限公司 | 数据泄露侦测方法和装置 |
CN107517193A (zh) * | 2016-06-17 | 2017-12-26 | 百度在线网络技术(北京)有限公司 | 恶意网站识别方法和装置 |
CN106027548B (zh) * | 2016-06-28 | 2019-05-17 | 武汉斗鱼网络科技有限公司 | 视频直播网站基于页面心跳事件生成白名单的系统及方法 |
CN106357698B (zh) * | 2016-11-18 | 2019-09-06 | 中国电子科技集团公司第二十九研究所 | 一种适用于私有网络的域名上线木马检测方法及装置 |
CN107071866A (zh) * | 2017-01-17 | 2017-08-18 | 广东欧珀移动通信有限公司 | 一种wifi热点的网络检测方法及装置 |
CN107124434B (zh) * | 2017-07-06 | 2019-12-31 | 中国互联网络信息中心 | 一种dns恶意攻击流量的发现方法及系统 |
CN107395637A (zh) * | 2017-08-29 | 2017-11-24 | 厦门安胜网络科技有限公司 | http隧道主动检测方法、终端设备及存储介质 |
CN107360198B (zh) * | 2017-09-12 | 2020-04-10 | 中国联合网络通信集团有限公司 | 可疑域名检测方法及系统 |
CN107733867B (zh) * | 2017-09-12 | 2020-09-22 | 北京神州绿盟信息安全科技股份有限公司 | 一种发现僵尸网络及防护的方法、系统和存储介质 |
CN108390864B (zh) * | 2018-02-01 | 2020-12-11 | 杭州安恒信息技术股份有限公司 | 一种基于攻击链行为分析的木马检测方法及系统 |
CN110198292B (zh) * | 2018-03-30 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 域名识别方法和装置、存储介质及电子装置 |
CN108737385A (zh) * | 2018-04-24 | 2018-11-02 | 杭州安恒信息技术股份有限公司 | 一种基于dns映射ip的恶意域名匹配方法 |
CN108737452B (zh) * | 2018-08-09 | 2021-03-12 | 孙晨 | 基于dns协议的访问控制和病毒防御方法和系统 |
CN110213255B (zh) * | 2019-05-27 | 2022-03-04 | 北京奇艺世纪科技有限公司 | 一种对主机进行木马检测的方法、装置及电子设备 |
CN112640392B (zh) * | 2020-11-20 | 2022-05-13 | 华为技术有限公司 | 一种木马检测方法、装置和设备 |
CN113420941A (zh) * | 2021-07-16 | 2021-09-21 | 湖南快乐阳光互动娱乐传媒有限公司 | 用户行为的风险预测方法及装置 |
CN114244593B (zh) * | 2021-12-08 | 2024-04-19 | 杭州安恒信息技术股份有限公司 | 一种dns安全防御方法及系统、电子设备、介质 |
CN113992442B (zh) * | 2021-12-28 | 2022-03-18 | 北京微步在线科技有限公司 | 一种木马连通成功检测方法及装置 |
CN116260660B (zh) * | 2023-05-15 | 2023-07-25 | 杭州美创科技股份有限公司 | 网页木马后门识别方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370188B2 (en) * | 2004-05-17 | 2008-05-06 | Intel Corporation | Input/output scanning |
CN101562618A (zh) * | 2009-04-08 | 2009-10-21 | 深圳市腾讯计算机系统有限公司 | 一种检测网马的方法及装置 |
CN101567884A (zh) * | 2009-05-26 | 2009-10-28 | 西北工业大学 | 网络窃密木马检测方法 |
CN101686239A (zh) * | 2009-05-26 | 2010-03-31 | 中山大学 | 一种木马发现系统 |
CN102202064A (zh) * | 2011-06-13 | 2011-09-28 | 刘胜利 | 基于网络数据流分析的木马通信行为特征提取方法 |
-
2012
- 2012-02-22 CN CN201210043017.6A patent/CN102594825B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370188B2 (en) * | 2004-05-17 | 2008-05-06 | Intel Corporation | Input/output scanning |
CN101562618A (zh) * | 2009-04-08 | 2009-10-21 | 深圳市腾讯计算机系统有限公司 | 一种检测网马的方法及装置 |
CN101567884A (zh) * | 2009-05-26 | 2009-10-28 | 西北工业大学 | 网络窃密木马检测方法 |
CN101686239A (zh) * | 2009-05-26 | 2010-03-31 | 中山大学 | 一种木马发现系统 |
CN102202064A (zh) * | 2011-06-13 | 2011-09-28 | 刘胜利 | 基于网络数据流分析的木马通信行为特征提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102594825A (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102594825B (zh) | 一种内网木马的检测方法和装置 | |
CN105027510B (zh) | 网络监视装置和网络监视方法 | |
EP1244967B1 (en) | Method for automatic intrusion detection and deflection in a network | |
Pilli et al. | Network forensic frameworks: Survey and research challenges | |
US8181248B2 (en) | System and method of detecting anomaly malicious code by using process behavior prediction technique | |
US8042182B2 (en) | Method and system for network intrusion detection, related network and computer program product | |
CN105187367B (zh) | 基于大数据发现的僵尸木马病毒检测及管控方法 | |
CN113691566B (zh) | 基于空间测绘和网络流量统计的邮件服务器窃密检测方法 | |
CN102945340B (zh) | 信息对象检测方法及系统 | |
CN105933268A (zh) | 一种基于全量访问日志分析的网站后门检测方法及装置 | |
CN102571812B (zh) | 一种网络威胁的跟踪识别方法及装置 | |
CN101854275A (zh) | 一种通过分析网络行为检测木马程序的方法及装置 | |
CN109474568A (zh) | 针对利用域前置技术实现恶意攻击的检测方法及系统 | |
CN105915532A (zh) | 一种失陷主机的识别方法及装置 | |
KR101788410B1 (ko) | 보안 이벤트로그 분석을 통한 보안침해 분석시스템 및 분석방법 | |
CN107733699B (zh) | 互联网资产安全管理方法、系统、设备及可读存储介质 | |
CN107135212A (zh) | 一种基于行为差异的Web环境下的人机识别装置及方法 | |
Tsow et al. | Warkitting: the drive-by subversion of wireless home routers | |
CN106470203B (zh) | 信息获取方法及装置 | |
CN104486320A (zh) | 基于蜜网技术的内网敏感信息泄露取证系统及方法 | |
KR20070072835A (ko) | 실시간 웹로그 수집을 통한 웹해킹 대응 방법 | |
KR101398740B1 (ko) | 악성 도메인 탐지 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 | |
JP4159814B2 (ja) | 双方向型ネットワーク侵入検知システムおよび双方向型侵入検知プログラム | |
US20230379361A1 (en) | System and method for generating cyber threat intelligence | |
Patil et al. | Preprocessing web logs for web intrusion detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |