检测网络通讯行为的监测方法及其系统的制作方法

文档序号:7739888阅读:211来源:国知局
专利名称:检测网络通讯行为的监测方法及其系统的制作方法
技术领域
本发明涉及一种网络监控技术,特别是涉及一种检测异常网络通讯行为的网络监 控技术。
背景技术
因特网已成为社会上另外一种信息传播与交流的媒介工具。由于因特网具有实时 性、便利性、普及性等等,愈来愈多人的生活形态从现实社会中逐渐融入虚拟世界,诸多网 络应用如网络购物、部落格、搜寻引擎等逐渐为社会大众所接受,甚至赖以维生。就现今的因特网架构而言,使用最广泛的网络通讯协议为传输控制协议和因特网 1·办议(Transmission Control Protocol and Internet Protocol, TCP/IP)。此协、议的通 讯协议结构依照开放系统连结模式(Open Systemslnterconnection, 0SI)的七层链接架 构将TCP/IP的通讯结构划分为以下五层物理层、链接层、因特网层、传输层、应用层。其 中,应用层负责提供各种服务给应用程序(Application Processes),使其能够利用应用 层所提供的功能来达到和因特网交换信息的目的。举例而言,与应用层相对应的协议有 HTTP (Hyper Text Transfer Protocol,超文件传输协议)、FTP (File TransferProtocol, 文件传输协议)、SMTP (Simple Mail Transfer Protocol,简单邮件传输协议)以及许多其 它协议。上述常用的通讯协议通常具有固定的通讯连接端口(Port),以作为终端设备中客 户端与服务器端联系与传输信息的依据。但由于应用程序愈来愈多,所使用的通讯协议多 数为程序自定的通讯协议,因此许多通讯协议并无固定的通讯连接端口。由于因特网的蓬勃发展,除了促进全球的信息交流外,亦加速计算机病毒与恶意 软件的流窜与传染。计算机病毒是指破坏计算机功能或者毁坏数据,进而影响计算机使用, 并能自我复制的计算机应用程序。恶意软件则是指未经使用者许可的情况下,在使用者计 算机或其它终端机上执行以侵犯使用者合法权益为目的的软件。上述两种恶意程序有部分以偷窃使用者在计算机中的个人信息(如使用者账号 密码、通讯簿、侧录键盘信息等)为目的,或者藉由远程监控使用者的计算机以作为网络跳 板等恶意用途时,必须与网络上的其它计算机或终端机联络以传输信息。由于计算机病毒 与恶意软件的程序文件通常较小而难以察觉,因此难以使用复杂的通讯协议作为信息传输 的途径,如MSN(Microsoft Network,微软公司网络协议)、SSL Gecure Socket Layer,安全 保密协议)等通讯协议。此外,这些恶意程序经常使用自行设计的通讯协议作为数据传输的方式,这些 通讯协议不符合因特网共通的技术规格(如RFC)或现有的常用的应用层通讯协议(如 Skype、R)Xy、Bitt0rrent、eMule),其主因是防毒软件或防火墙对于未知的通讯协议与联机 仅能将其全部阻挡或者全部开放两种选择。而许多通讯协议的客户端程序常常使用非固定 式通讯连接端口作为通讯依据,导致防毒软件或防火墙若将未知的通讯协议与联机全部阻 挡,会连带地阻挡住许多善意的应用程序。据此,使用者通常会把防毒软件或防火墙设定为 「将未知的通讯协议与联机全部开放」的模式,导致恶意程序便可藉由上述漏洞而将重要的公司或私人信息传输至因特网上,防毒软件与防火墙于此时毫无效用可言。此外,现有的主机型监控软件大部分针对操作系统内的系统日志(Log)作监控, 当系统日志中出现异常时,主机型监控软件会依据情况将异常的恶意软件作防护或者删除 该程序的动作,以维护系统安全。但操作系统的系统日志所记录的事项并不全面,仅针对大 部分修改主机重要设定时才会记录,而例如文件的存取记录、文件权限的修改等更改不会 出现在系统日志上。而且许多恶意程序会将系统日志的记录功能关闭,使得主机型监控软件变成毫无 意义。目前仅有少数软件能够全面地监控终端设备上所有的变更,但也仅能记录其变更以 便于用在日后追查使用,而无法有效地将监控记录作为立即确认恶意程序活动的依据。

发明内容
本发明提供一种检测网络通讯行为的监测方法,藉由分析无法识别应用层通讯协 议的分组信息,以判别产生前述分组信息的终端设备是否发生异常网络通讯行为,藉此排 除恶意程序的侵扰。本发明实施例所称的无法识别,是指「通讯协议不符合因特网共通的 技术规格(如RFC)或已知常用的应用层通讯协议(如Skype、R)Xy、Bitt0rrent、eMule)。」本发明提供另一种检测网络通讯行为的监测方法,藉由分析无法识别应用层通讯 协议的分组信息以及在终端设备中无法识别的程序信息并作交叉比对,来判别前述程序是 否为发生异常网络通讯行为的来源。从另一观点而言,本发明提供一种检测网络通讯行为的监测系统,利用未知应用 层通讯协议的分组信息来判别是否发生异常网络通讯行为。再从另一观点而言,本发明提供另一种检测网络通讯行为的监测系统,利用无法 识别应用层通讯协议的分组信息以及在终端设备中无法识别的程序信息坐标作交叉比对, 以判别前述程序是否为发生异常网络通讯行为的来源。本发明提出一种检测网络通讯行为的监测方法,其包括撷取由终端设备所发出的 分组信息,其中各分组信息包括所采用的应用层通讯协议。此外,检查各分组信息所采用的 应用层通讯协议是否能被识别。据此,若上述分组信息中的第一分组信息所采用的应用层 通讯协议无法被识别时,撷取此第一分组信息作为判别终端设备是否发生异常网络通讯行 为的依据。在本发明的一实施例中,上述的监测方法还包括监控该终端设备所执行的多个程 序。此外,检查各该程序是否能被识别。并且,若前述程序中的第一程序无法被识别时,撷 取此第一程序的信息。藉此,交叉比对第一程序的信息与第一分组信息以判别第一程序是 否为一恶意程序。在本发明的一实施例中,交叉比对第一程序的信息与第一分组信息,以判别第一 分组信息是否由第一程序所发出的步骤当中,包括比对第一程序的执行时间与终端设备发 出前述分组信息的时间是否相同。在本发明的一实施例中,交叉比对第一程序的信息与第一分组信息,以判别第一 分组信息是否由第一程序所发出的步骤当中,包括比对第一程序内的通讯连接端口与第一 分组信息的来源/目的地连接端口是否相同。在本发明的一实施例中,检查各程序是否能被识别的步骤当中,包括检查程序的散列(hash)值是否位于数据库内。藉此,若程序的散列值并未在数据库内,或数据库识别 出程序属于恶意程序时,将前述程序视为无法识别。在本发明的一实施例中,检查各程序是否能被识别的步骤当中,包括检查程序的 文件名称是否位于数据库内。藉此,若程序的文件名称并未在数据库内,或数据库识别出程 序的文件名称属于恶意程序时,将前述程序视为无法识别。在本发明的一实施例中,检查各程序是否能被识别的步骤当中,包括检查程序的 机器码(Machine code)是否位于数据库内。藉此,若程序的机器码并未在数据库内,或数 据库识别出程序的机器码属于恶意程序时,将前述程序视为无法识别。本发明提出另一种检测网络通讯行为的监测方法,其包括撷取由终端设备所发 出的多个分组信息,其中各分组信息包括所采用的应用层通讯协议。此外,检查各分组信 息所采用的应用层通讯协议是否能被识别。并且,若上述分组信息的第一分组信息所采 用的应用层通讯协议无法被识别时,撷取第一分组信息,此处所撷取的第一分组信息例 如来源网络地址/通讯连接端口(Source IP/Port)、目的地网络地址/通讯连接端口 (DestinationlP/Port)、时间标记(Timestamps)等。另外,根据第一分组的信息,交叉比对 监控终端设备所执行的多个程序。接着,检查各程序是否能被识别。若前述程序中的第一 程序无法被识别时,撷取第一程序的信息。藉此,交叉比对第一程序的信息与第一分组信息 以判别第一分组信息是否由第一程序所发出。从另一角度来看,本发明提出一种检测网络通讯行为的监测系统,其包括网络监 控模块与信息比对模块。网络监控模块用以撷取由终端设备所发出的多个分组信息,其中 各分组信息包括所采用的应用层通讯协议,并且检查各分组信息所采用的应用层通讯协议 是否能被识别,若前述分组信息的第一分组信息所采用的应用层通讯协议无法被网络监控 模块识别时,撷取第一分组信息。信息比对模块用以依第一分组信息来判别终端设备是否 发生异常网络通讯行为。在本发明的一实施例中,上述的监测系统还包括一终端监控模块,用以监控终端 设备所执行的多个程序,并检查各该程序是否能被识别。若前述程序中的第一程序无法被 终端监控模块所识别时,则撷取第一程序的信息。信息比对模块交叉比对第一程序的信息 与第一分组信息以判别第一程序是否为一恶意程序。在本发明的一实施例中,上述监测系统还包括一防火墙模块,用以停止第一程序 的网络联机。再从另一观点而言,本发明提出另一种检测网络通讯行为的监测系统,其包括网 络监控模块、终端监控模块与信息比对模块。网络监控模块用以撷取由终端设备所发出的 多个分组信息,其中各个分组信息包括所采用的应用层通讯协议,并且检查各个分组信息 所采用的应用层通讯协议是否能被网络监控模块识别。若上述分组信息的第一分组信息所 采用的应用层通讯协议无法被网络监控模块识别时,则撷取第一分组信息。终端监控模块 用以监控终端设备所执行的多个程序,并检查各程序是否能被终端监控模块识别。若前述 程序中的第一程序无法被终端监控模块识别时,则撷取第一程序的信息。信息比对模块藉 由交叉比对第一程序的信息与第一分组信息来判别第一分组信息是否由第一程序所发出。基于上述,本发明的实施例利用无法识别应用层通讯协议的分组信息以及在终端 设备中无法识别的程序信息作交叉比对,来判别前述程序是否为发生异常网络通讯行为的来源。因此,可藉此判断来针对终端设备以及前述程序作相对应的后续动作,以避免恶意程 序对本身或其它终端设备造成更加严重的伤害,并藉此排除恶意程序的侵扰。举例而言,后 续动作可为利用防火墙模块将前述程序的网络联机关闭,或者停止终端设备内正在执行的 前述程序。为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图详细 说明如下。


图1是依照本发明一实施例说明检测网络通讯行为的监测系统示意图。图2是依照本发明一实施例说明检测网络通讯行为的监测方法的流程图。附图符号说明100 检测网络通讯行为的监测系统110_1 110_N 终端设备120:网络监控模块130 终端监控模块140:信息比对模块150:因特网160:防火墙模块S210、S220、S230、S240、S250、S260、S270、S280 步骤
具体实施例方式请参照图1,图1是依照本发明一实施例说明检测网络通讯行为的监测系统示意 图。检测网络通讯行为的监测系统100包括网络监控模块120、终端监控模块130与信息比 对模块140。于本实施例中,检测网络通讯行为的监测系统100可同时监测多台终端设备 110_1 110_N,在此以终端设备110_N所发出的分组信息以及终端设备110_N内执行的程 序作为范例以清楚说明本实施例的作动方式。其中,终端设备110_1 110_N可为个人计 算机、智能型手机及服务器等可供连接至因特网150的电子装置。网络监控模块120可撷取由终端设备110_1 110_N所发出的多个分组信息,每 个分组信息内各自包括所采用的应用层通讯协议,N为整数且N > 1。其中,网络监控模块 120检查各个分组信息所采用的应用层通讯协议是否能被识别。本发明实施例所称的无法 被识别,是指「通讯协议不符合因特网共通的技术规格(如RFC)或已知常用的应用层通 讯协议(如Skype、Foxy, Bittorrent、eMule等)」。若由终端设备110_N发出的多个分组 信息内包括一第一分组信息,而此第一分组信息所采用的应用层通讯协议无法被网络监控 模块120所识别时,撷取此第一分组信息作为判别该终端设备是否发生异常网络通讯行为 的依据。举例而言,可撷取第一分组信息内的来源网络地址/通讯连接端口(Source IP/ Port)、目的地网络地址/通讯连接端口 (Destination IP/Port)、时间标记(Timestamps) 等作为判别依据。此处的网络监控模块120于本实施例中位于具有终端设备110_1 110_N的局域 网络的网络集线器(Hub)中以拦截分组信息,并且判断所拦截的分组信息所采用的应用层通讯协议是否能被识别。网络监控模块120亦可位于终端设备110_1 110_N至因特网150 中任何一段网络线路上以藉此拦截并且识别前述的分组信息,应用本实施例者可依其设计 需求而作相对应的变更。其中,本实施例于识别分组信息中应用层通讯协议的方式主要利用分组信息内的 通讯连接端口与网络监控模块120内的通讯协议数据库作比对。若无法藉由通讯连接端口 取得所拦截的分组信息的通讯协议,可利用分组信息的标头(Header)格式作为判断依据, 若上述两种方式均无法判断分组信息的通讯协议,则将此分组信息视为无法识别。在此请 注意,本发明可以应用任何可能的方法,来识别分组信息的通讯协议,不应仅以前述方式为 限。终端监控模块130于本实施例中可监控终端设备110_1 执行的多个程 序,并检查各个程序是否能被终端监控模块130识别。若在终端设备110_Ν所执行的多个 程序中的第一程序无法被终端监控模块130识别时,撷取此第一程序的信息。于本实施例中,终端监控模块130包括一个应用程序数据库,其内拥有众多已知 的应用程序信息,用以判断前述多个程序是否为无法识别的程序。当前述第一程序的信息 与应用程序数据库作比对后被判断为无法识别时,表示此第一程序不是已知的应用程序, 可藉此判断此第一程序有很高的机率为恶意程序。而于其它实施例中,应用程序数据库中亦可包括一恶意程序数据库,其将已知的 恶意程序信息整理成为数据库型态,终端监控模块130可藉此恶意程序数据库来识别前述 第一程序是否为恶意程序。当识别出此第一程序为恶意程序时,终端监控模块130可将此 第一程序视为无法识别,以进行本实施例的其它步骤。此外,终端监控模块130于另一实施 例中亦可记录终端设备110_1 110_Ν中的诸多异常行为作为识别的依据,如系统的记录 日志被关闭、创建使用者账号、文件存取记录、具有众多异常网络联机等。此外,若前述第一 程序虽可用程序数据库所识别,但第一程序执行的动作超出前述程序的应用范围,亦可将 其视为无法识别。其中,应用程序数据库可藉由程序的文件名称、散列(hush)值或者机器码 (Machine code)来识别此程序。终端监控模块130检查程序的文件名称、散列值或者机器 码是否位于此应用程序数据库内。若程序的文件名称并未存在于数据库内,或应用程序数 据库识别出程序的文件名称、散列值或者机器码属于恶意程序时,将此程序视为无法识别。此处所述的散列值是由散列算法(Hash Function)计算而得,此散列算法将程序 数据打乱混合,以建立一个独特的散列值,此散列值仅与单一程序信息相对应。也就是说, 每一个程序的散列值均不相同,因此可藉散列值来识别此程序与应用程序数据库中的已知 程序是否相同。信息比对模块140接收从终端设备110_N所发出的第一分组信息以及在终端设备 110_N中执行的第一程序的信息,并依据第一分组信息以及第一程序的信息作交叉比对,以 判别第一分组信息是否由此第一程序所发出,并作为判断是否发生异常网络通讯行为的依 据。此外,防火墙模块160可在信息比对模块140已判断第一程序是发生异常网络行为的 来源后,停止第一程序与因特网150的联机。在此详细说明符合本发明的实施例的监测系统及其实施方法,请同时参照图1与 图2。图2是依照本发明一实施例说明检测网络通讯行为的监测方法的流程图。于步骤S210中,网络监控模块120撷取由终端设备110_1 发出的多个分组信息,其中分组信 息包括所采用的应用层通讯协议。接着,进入步骤S220,检查前述分组信息所采用的应用层通讯协议是否能被网络 监控模块120识别。若终端设备出的第一分组信息所采用的应用层通讯协议无法 被网络监控模块120识别时,进入步骤S230以撷取第一分组信息,作为判别终端设备110_ N是否发生异常网络通讯行为的依据。此外,于步骤S240时,终端监控模块130监控终端设备110_1 110_N所执行的 多个程序。接着,于步骤S250中检查前述各个程序是否能被终端监控模块130识别。若终 端设备110_N的第一程序无法被监控模块130识别时,进入步骤S260以撷取第一程序的信 息。最后,于步骤S270时,交叉比对终端设备执行的第一程序的信息与终端设备 110_N发出的第一分组信息以判别第一分组信息是否由第一程序所发出。其中,步骤S270内交叉比对第一程序的信息与第一分组信息的方式是藉由常见 的恶意程序行为模式以作为交叉比对的依据。举例而言,若于执行中的第一程序为常见的 恶意程序时,其通常会开启一个至多个终端设备110_N的网络联机,以接收或传输由因特 网150传送的恶意指令。与此同时,恶意程序亦会将收集到的信息(例如使用者的账号密 码、键盘侧录信息等)传输至因特网150上。因此,于本实施例中藉由比对第一程序发出分 组的执行时间与终端设备110_N发出第一分组信息的时间是否相同以判别此第一分组信 息是否由第一程序所发出,并藉此判断第一程序是否为恶意程序。另一种常见的恶意程序行为模式则是第一程序开启终端设备110_N的网络联机 后便依据此网络联机的通讯协议发送第一分组信息。此时,第一程序所开启的网络联机中 的来源/目的地连接端口信息便会存在于第一分组信息的通讯连接端口内。因此,于其它 实施例中亦可藉由比对第一程序的通讯连接端口与终端设备110_N发出第一分组信息的 来源/目的地连接端口是否相同,以判别此第一分组信息是否由第一程序所发出,并藉此 判断第一程序是否为恶意程序。若经由交叉比对后发现第一分组信息确实是由第一程序所发出,便可藉此认定此 第一程序为恶意程序的机率相当高。接着进入步骤S^o,防火墙模块160藉此而中断第一 程序与因特网150的联机。于本实施例中,当已经确认此第一程序具有相当高的机率为恶 意程序时,除了可以藉由防火墙模块160来中断联机外,于其它实施例中亦可通知网管人 员将终端设备110_N中正在执行或曾经执行的第一程序作相对应的处理,如删除此第一程 序、修复终端设备110_N受到恶意程序感染的数据,或者其它动作以消除恶意程序所造成 的威胁,应用本实施例者可依其设计需求而作相对应的变动。为更详细说明本实施例的实施精神,在此再举另一实施例以详细描述交叉比对分 组信息以及程序信息的作动方式。本实施例未说明的操作方式与原理已于前述实施例所提 及,其中相同的内容不再赘述。请同时参照图1、表(一)与表(二),在此假设网络监控 模块120中拦截到部分的分组信息,以及藉由通讯协议数据库来识别分组信息的结果于表 (一)中所示。表权利要求
1.一种检测网络通讯行为的监测方法,包括撷取由一终端设备所发出的多个分组信息,其中各该分组信息包括所采用的一应用层 通讯协议;检查各该分组信息所采用的该应用层通讯协议是否能被识别;以及若上述分组信息的一第一分组信息所采用的该应用层通讯协议无法被识别时,撷取该 第一分组信息作为判别该终端设备是否发生异常网络通讯行为的依据。
2.如权利要求1所述的检测网络通讯行为的监测方法,撷取该第一分组信息以作为判 别该终端设备是否发生异常网络通讯行为依据的步骤包括监控该终端设备所执行的多个程序;检查各该程序是否能被识别;若该程序中的一第一程序无法被识别时,撷取该第一程序的信息;以及交叉比对该第一程序的信息与该第一分组信息以判别该第一程序是否为一恶意程序。
3.如权利要求2所述的检测网络通讯行为的监测方法,其中交叉比对该第一程序的信 息与该第一分组信息以判别该第一分组信息是否由该第一程序所发出的步骤包括比对该 第一程序的执行时间与该终端设备发出该分组信息的时间是否相同。
4.如权利要求2所述的检测网络通讯行为的监测方法,其中交叉比对该第一程序的信 息与该第一分组信息以判别该第一分组信息是否由该第一程序所发出的步骤包括比对该 第一程序内的一通讯连接端口与该第一分组信息的一来源/目的地连接端口是否相同。
5.如权利要求2所述的检测网络通讯行为的监测方法,其中检查各该程序是否能被识 别的步骤包括检查该程序的散列值是否存在于一数据库内;以及若该程序的散列值并未在该数据库内,或该数据库识别出该程序属于一恶意程序时, 将该程序视为无法识别。
6.如权利要求2所述的检测网络通讯行为的监测方法,其中检查各该程序是否能被识 别的步骤包括检查该程序的文件名称是否位于一数据库内;以及若该程序的文件名称并未在该数据库内,或该数据库识别出该程序的文件名称属于一 恶意程序时,将该程序视为无法识别。
7.如权利要求2所述的检测网络通讯行为的监测方法,其中检查各该程序是否能被识 别的步骤包括检查该程序的机器码是否位于一数据库内;以及若该程序的机器码并未在该数据库内,或该数据库识别出该程序的机器码属于一恶意 程序时,将该程序视为无法识别。
8.如权利要求2所述的检测网络通讯行为的监测方法,还包括藉由一防火墙模块停止 该第一程序的网络联机。
9.如权利要求2所述的检测网络通讯行为的监测方法,还包括停止正在执行的该第一 程序。
10.一种检测网络通讯行为的监测系统,包括一网络监控模块,用以撷取由一终端设备所发出的多个分组信息,其中各该分组信息包括所采用的一应用层通讯协议,该网络监控模块检查各该分组信息所采用的该应用层通 讯协议是否能被识别,若上述分组信息的一第一分组信息所采用的该应用层通讯协议无法 被识别时,撷取该第一分组信息;以及一信息比对模块,用以依据该第一分组信息来判别该终端设备是否发生异常网络通讯 行为。
11.如权利要求10所述的检测网络通讯行为的监测系统,还包括一终端监控模块,用 以监控该终端设备所执行的多个程序,并检查各该程序是否能被识别,若该程序中的一第 一程序无法被该终端监控模块所识别时,撷取该第一程序的信息,其中,该信息比对模块交 叉比对该第一程序的信息与该第一分组信息以判别该第一程序是否为一恶意程序。
12.如权利要求10所述的检测网络通讯行为的监测系统,还包括一防火墙模块,用以 停止该第一程序的网络联机。
全文摘要
一种检测网络通讯行为的监测方法及其系统。该检测网络通讯行为的监测方法,藉由分析无法识别应用层通讯协议的分组信息,以判别产生前述分组信息的终端设备是否发生异常网络通讯行为。该方法包括下列步骤撷取由终端设备所发出的多个分组信息,其中分组信息包括所采用的应用层通讯协议;检查分组信息所采用的应用层通讯协议是否能被识别;若分组信息所采用的应用层通讯协议无法被识别时,撷取此分组信息作为判别终端设备是否发生异常网络通讯行为的依据。
文档编号H04L12/56GK102136956SQ20101000286
公开日2011年7月27日 申请日期2010年1月21日 优先权日2010年1月21日
发明者蔡东霖, 黄柏智, 黄琼莹 申请人:宏碁股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1