处理控制装置、处理控制方法和记录有处理控制程序的记录介质与流程

文档序号:16990359发布日期:2019-03-02 00:55阅读:164来源:国知局
处理控制装置、处理控制方法和记录有处理控制程序的记录介质与流程

本发明涉及对信息处理装置进行控制的处理控制装置等。



背景技术:

ptl1公开了一种未授权访问检测系统,该系统即使在遭受未授权访问时也能够检测所述未授权访问。未授权访问检测系统包括监视单元、分析单元、判定单元和反未授权访问单元。监视单元在作为监视目标的通信网络系统中监视通过通信网络执行的访问请求。分析单元将监视单元监视的访问请求作为命令串来进行分析。基于分析结果,判定单元判定访问请求是否是未授权的。当判定为访问请求是未授权的时,反未授权访问单元执行针对所述访问请求的处理。

引用列表

专利文献

ptl1:日本未审专利申请公开no.2005-182187



技术实现要素:

技术问题

然而,即使在使用ptl1中公开的未授权访问检测系统时,也难以准确检测未授权访问。原因在于:尽管通常在未授权访问中执行一系列处理操作,但是未授权访问检测系统仅基于在特定访问上执行的命令串是否包括特定命令来判定该特定访问是否是未授权的。因此,即使在使用该未授权访问检测系统时,由于未授权访问的判定可能是不准确的,因此确保通信网络系统中的网络安全性的可能性也较低。

因此,本发明的目的之一是提供一种能够在网络安全领域中更可靠地保持信息处理系统的稳固性的处理控制装置等。

问题的解决方案

根据本发明的一个方面,一种处理控制装置包括:

风险计算单元,用于计算表示与包括在处理信息中的处理有关的风险的值的总和,所述处理信息包括在某个时间段期间在信息处理装置上执行的一个或多个处理;以及

处理控制单元,用于当针对所述处理信息计算的总和值满足预定限制条件时,限制对所述信息处理装置的处理。

此外,作为本发明的另一方面,一种处理控制方法包括:

计算表示与包括在处理信息中的处理有关的风险的值的总和,所述处理信息包括在某个时间段期间在信息处理装置上执行的一个或多个处理;以及

当针对所述处理信息计算的总和值满足预定限制条件时,限制对所述信息处理装置的处理。

此外,作为本发明的另一方面,一种使计算机实现以下功能的处理控制程序:

风险计算功能,用于计算表示与包括在处理信息中的处理有关的风险的值的总和,所述处理信息包括在某个时间段期间在信息处理装置上执行的一个或多个处理;以及

处理控制功能,用于当针对所述处理信息计算的总和值满足预定限制条件时,限制对所述信息处理装置的处理。

此外,也通过记录所述程序的计算机可读记录介质来实现该目的。

本发明的有益效果

根据本发明的处理控制装置等能够在网络安全领域中更可靠地保持信息处理系统的稳固性。

附图说明

图1是示出了根据本发明第一示例实施例的分析系统、分析对象装置等的功能结构的框图。

图2是示出了根据第一示例实施例的能够提供分析对象装置和数据获取单元的结构示例的图。

图3是示出了根据第一示例实施例的能够提供分析对象装置和数据获取单元的结构示例的图。

图4是示出了根据第一示例实施例的密钥数据获取策略的示例的图。

图5是示出了根据第一示例实施例的通信数据记录策略的示例的图。

图6是示出了根据第一示例实施例的通信数据存储单元的示例的图。

图7是示出了根据第一示例实施例的密钥候选判定信息的示例的图。

图8是示出了根据第一示例实施例的密钥候选存储单元的示例的图。

图9是示出了根据第一示例实施例的分析结果判定信息的示例的图。

图10是示出了根据第一示例实施例的分析结果存储单元的示例的图。

图11是例示出根据第一示例实施例的分析系统的操作的概况的流程图。

图12a是例示出在第一示例实施例中用于获取在分析对象装置与通信网络之间的密码通信中使用的加密密钥的操作的流程图。

图12b是例示出在第一示例实施例中用于获取在分析对象装置与通信网络之间的密码通信中使用的加密密钥的操作的流程图。

图13是例示出用于根据ssl协议共享加密密钥的处理的序列图。

图14是例示出根据第一示例实施例的通信处理单元(例如,通信数据记录单元)的操作的流程图。

图15是例示出根据第一示例实施例的密码分析单元(例如,密钥候选提取单元)的操作的流程图。

图16是例示出根据第一示例实施例的密码分析单元(例如,解密单元)的操作的流程图。

图17是示出了根据本发明第二示例实施例的分析系统、分析对象装置等的功能结构的框图。

图18是示出了根据本发明的第三示例性实施例的处理控制装置的结构的框图。

图19是示出了根据第三示例实施例的处理控制装置中的处理流程的流程图。

图20是概念性地示出了存储在命令风险信息存储单元中的命令风险信息的示例的图。

图21是概念性地示出了包括由信息处理装置执行的处理在内的处理信息的示例的图。

图22是示出了根据本发明的第四示例性实施例的处理控制装置的结构的框图。

图23是示出了根据第四示例实施例的处理控制装置中的处理流程的流程图。

图24是概念性地示出了存储在限制信息存储单元中的限制信息的示例的图。

图25是示出了根据本发明的第五示例性实施例的包括处理控制装置在内的信息处理装置的结构的框图。

图26是示出了根据第五示例实施例的信息处理装置中的处理流程的流程图。

图27是示意性地示出了能够实现根据第一示例实施例的分析系统、根据第二示例实施例的分析系统或根据第三示例实施例至第五示例实施例的处理控制装置的计算处理装置的硬件结构的框图。

具体实施方式

在以下描述中,参照附图来描述本发明的示例实施例。

在以下各示例实施例中描述的分析系统可以是包括一个或多个组件的系统,所述系统的一个或多个组件是由多个物理或逻辑上分离的装置(例如,物理信息处理装置和虚拟信息处理装置)实现的。在这种情况下,这样的多个装置可以经由有线通信网络、无线通信网络或两者的任何组合来可通信地连接。此外,当这样的多个装置是虚拟信息处理装置等时,通信网络可以是虚拟通信网络。

在以下各个示例实施例中描述的分析系统也可以是其所有组件由一个装置(例如,物理信息处理装置或虚拟信息处理装置)实现的系统。

第一示例实施例

将描述本发明的第一示例实施例。下文中,将参考图1至图3描述根据本示例实施例的分析系统。图1是示出了根据本示例实施例的分析系统100的功能结构的框图。图2和图3是示出了根据本示例实施例的能够提供分析对象装置101和数据获取单元102的结构示例的图。

首先,将描述分析对象装置101。分析对象装置101是作为要由根据本示例性实施例的分析系统100分析的分析对象的装置。

如图1所示,根据本示例实施例的分析对象装置101是任何信息通信装置,其至少包括计算单元101a和存储器单元101b,并且通过通信信道106可通信地连接到通信网络105的。

例如,分析对象装置101可以是由物理硬件构成的计算机之类的信息通信装置。分析对象装置101还可以是在能够使信息处理装置等的各种类型的硬件虚拟化的预定虚拟化设施中提供的虚拟计算机(虚拟机,vm)。

例如,这种虚拟化设施可以在使用经由通信网络相互连接的多个信息处理装置构建的环境(例如,云计算环境)中提供,或可以在由一个信息处理装置构建的环境中提供。

例如,这样的虚拟化设施可以被提供为在特定主机操作系统(os)上执行的软件程序,或者可以被提供为在信息处理装置的硬件与os之间实现的软件程序。

此外,这种虚拟化设施可以通过使用物理硬件设备的功能来提供,或者可以通过使用硬件设备的功能(例如,中央处理单元(cpu)的各种虚拟化支持功能)与软件程序的组合来提供。

例如,microsoft(注册商标)提供的hyper-v可以用作这样的虚拟化设施;然而,这样的虚拟化设施不限于此。

分析对象装置101不限于各种类型的计算机等,并且可以是可连接到通信网络的任何设备,诸如,移动电话(包括智能电话)、个人数字助理(pda)、游戏机、平板型信息设备、打印机、数字多功能设备和各种类型的网络设备(例如,交换机、路由器和接入点)。

例如,计算单元101a是诸如中央处理单元(cpu)和微处理单元(mpu)之类的计算装置,其读取存储在存储器单元101b中的各种类型的数据和程序(计算机程序),并执行在程序中实现的各种类型的计算处理。计算单元101a可以是由特定硬件(集成电路)构成的物理计算装置。计算单元101a还可以是使硬件虚拟化的虚拟化设施中的虚拟计算装置(虚拟cpu),如图3所例示。

例如,存储器单元101b实现分析对象装置101中的主存储器的功能,并存储在计算单元101a中处理的各种类型的程序、数据等。这样的存储器单元101b可以是由特定硬件(例如,集成电路)组成的物理存储器装置,例如,由双列直插式存储器模块(dimm)组成的动态随机存取存储器(dram)。此外,存储器单元101b可以是在上述预定虚拟化设施中提供的虚拟存储器装置。

关于根据本示例实施例的存储器单元101b,有可能从外部单元获取(转储)存储在存储器单元101b中的数据(以下可能称为“存储器区域数据”)。可以通过已知的适当技术实现具体的存储器转储方法。例如,该方法可以是通过使用操作系统(os)的休眠功能来获取存储在非暂时性存储装置中的存储器区域数据的方法。该方法可以是获取由os实现的虚拟存储中交换出(pageout)的存储器区域数据的方法。

存储器区域数据是存储在存储器中的全部数据,或者是存储在存储器中的数据中的、例如包括存储在参考图7所述的基于密钥候选判定标准等确定的存储器区域中的数据在内的部分数据。

当存储器单元101b由物理硬件构成时,可以从连接在计算单元101a与存储器单元101b之间的总线等上的通信数据中获取存储器区域数据。此外,通过在特定定时输出(存储器转储)存储在存储器单元101b的整个存储器区域中的数据,可以获取存储器区域数据。在这种情况下,例如,可以使用存储器控制器(未示出)的功能来获取存储器区域数据,该存储器控制器控制对存储器单元101b的数据的读取、写入、访问等。

当存储器单元101b是虚拟存储器装置时,可以从由虚拟化设施的功能(例如,专用编程接口(api))提供的数据或由虚拟化设施提供的数据中,获取存储在存储器单元101b中的数据。由虚拟化设施提供的数据可以是例如用于指定虚拟存储器单元中存储的存储器区域的信息。取决于虚拟化设施的具体结构,可以将已知技术用于这种处理的具体实现方式,因此,将省略对具体实现方式的详细描述。

根据本示例实施例的分析对象装置101通过通信信道106与通信网络105执行密码通信。更具体地,分析对象装置101与通过通信网络105可通信地连接的另一信息通信装置107执行密码通信。

在这种情况下,在分析对象装置101上执行的程序可以提供与另一信息通信装置107的密码通信。这样的程序不限于在分析对象装置101上执行的常规程序。这样的程序可以包括上述恶意软件。

诸如ssl、ssh或ipsec之类的密码通信协议可用作对于分析对象装置101与通信网络105(另一信息通信装置107)之间的通信信道进行加密的密码通信协议。将在以下描述的各示例实施例(包括本示例实施例)中描述采用ssl作为这种密码通信协议的情况的具体示例。根据本示例实施例的分析系统100不仅可以应用于ssl,还可以应用于其他密码通信协议。

ssl是“安全套接层(securesocketslayer)”的缩写。ssh是“安全外壳(secureshell)”的缩写。ipsec是“互联网协议安全架构(securityarchitectureforinternetprotocol)”的缩写。

通信网络105是由有线通信网络、无线通信网络或两者的任何组合构成的、并且能够根据任何通信协议建立通信信道的通信网络。这样的通信网络105可以是诸如互联网之类的广域通信网络、诸如局域网(lan)之类的本地通信网络、或两者的组合。

此外,通信网络105中使用的通信协议可以是已知的通信协议,例如,传输控制协议/互联网协议(tcp/ip)。例如,通信网络105能够向分析对象装置101提供根据各密码通信协议加密的通信信道。这样的通信网络105可以通过已知技术或已知技术的组合来构成,因此将省略详细描述。

另一信息通信装置107通过通信网络105可通信地连接到分析对象装置101。例如,另一信息通信装置107可以是由物理硬件组成的计算机等的信息通信装置。此外,另一信息通信装置107可以是在预定虚拟化设施中提供的虚拟计算机等。

另一信息通信装置107不限于各种类型的计算机等。另一信息通信装置107可以是移动电话(包括智能电话)、pda、游戏机、平板型信息设备、打印机、数字多功能设备、各种类型的网络设备以及可连接到通信网络的任何设备。

例如,另一信息通信装置107根据如上所例示的密码通信协议来执行与分析对象装置101的密码通信。这样的另一信息通信装置107可以通过已知技术或已知技术的组合来构成,因此将省略详细描述。

(分析系统100的结构)

接下来,将描述根据本示例实施例的分析系统100的组件。

根据本示例实施例的分析系统100主要包括数据获取单元102、密码分析单元104和通信处理单元103。在下文中,数据获取单元102、密码分析单元104、通信处理单元103和构成这些单元的组件可以简称为“分析系统100的组件”。

根据本示例实施例的分析系统100通过使用上述组件来分析分析对象装置101与通过通信网络105连接的另一信息通信装置107之间的密码通信。然后,根据本示例实施例的分析系统100基于分析结果执行特定处理。

分析系统100的每个组件可以由诸如物理计算机之类的信息处理装置来提供,或者可以由在虚拟化设施中提供的vm来提供。分析系统100的各组件经由无线通信线路、有线通信线路或两者的任何组合来可通信地连接。这种通信线路可以采用已知技术,因此将省略详细描述。下文中将描述分析系统100的每个组件。

以下分别描述的数据获取单元102和通信处理单元103是在将本示例实施例描述为具体示例的情况下的本发明的主要组件之一。

(数据获取单元102的结构)

接下来,将描述根据本示例实施例的数据获取单元102。根据本示例实施例的数据获取单元102可通信地连接到分析对象装置101。数据获取单元102获取存储在分析对象装置101中的存储器单元101b中的存储器区域数据。数据获取单元102包括存储器转储存储单元102a,其存储所获取的存储器区域数据。

例如,当通过使用诸如物理计算机之类的信息通信装置实现分析对象装置101时,数据获取单元102可以被提供为通过各种类型的通信总线等连接到存储器单元101b的扩展硬件装置,如图2所例示。数据获取单元102还可以连接到存储器控制器(未示出),该存储器控制器控制对存储器单元101b的数据的读取、写入、访问等。在这种情况下,例如,数据获取单元102可以利用控制对存储器单元101b的数据的读取和写入的存储器控制器(未示出),来获取存储在存储器单元101b中的数据。以下参考文献1公开了一种技术,该技术利用连接到外围组件互连(pci)总线的扩展硬件,来获取在计算机上实现的存储装置(同步动态随机存取存储器(sdram))的内容。

(参考文献1)

briand.carrier,joegrand“ahardware-basedmemoryacquisitionprocedurefordigitalinvestigations”,数字调查第1卷第1期,2004年2月,第50至60页

假设分析对象装置101通过由虚拟化设施提供的vm等实现。在这种情况下,例如,数据获取单元102可以通过虚拟化设施中提供的虚拟机监视器(vmm)300的功能来实现。虚拟机监视器300是能够控制vm的操作的软件,如图3所例示。更具体地,数据获取单元102可以通过利用vmm300的功能的软件(软件程序)或虚拟设备来实现。

在这种情况下,如上所述,数据获取单元102能够通过分别由vmm提供的功能(例如,特定api)和数据(例如,用于指定存储在虚拟存储器单元101b中的数据的存储器区域的信息),来获取(转储)存储在存储器单元101b中的数据。可以根据存储单元101b的结构适当地采用已知技术作为获取存储器区域数据的具体方法。

此外,不限于上述图2和图3所示,例如数据获取单元102可以是通过将硬件、软件或硬件与软件的组合将存储器转储功能结合到分析对象装置101本身中来提供的。在这种情况下,例如,数据获取单元102可以被提供为在分析对象装置中执行的任何软件。数据获取单元102本身不执行对恶意软件的分析处理或对恶意软件的通信的分析处理。因此,被恶意软件检测到的风险相对较低。

例如,数据获取单元102从稍后将描述的通信处理单元103(具体是密码通信检查单元103b)接收用于获取存储在存储器单元101b中的存储器区域数据的转储命令。数据获取单元102在接收该转储命令的定时,转储存储在存储器单元101b中的存储器区域数据。

数据获取单元102可以转储存储在存储器单元101b中的整个存储器区域数据(例如,存储在存储器单元101b中的整个存储器区域中的数据)。数据获取单元102还可以转储存储在存储器单元101b中的数据中的至少部分存储器区域数据。

数据获取单元102将转储的存储器区域数据存储(登记)到稍后将描述的存储器转储存储单元102a中。

当完成从存储器单元101b转储存储器区域数据的处理时,数据获取单元102可以向稍后将描述的通信处理单元103(具体是密码通信检查单元103b)通知所述处理的完成。

存储器转储存储单元102a保持由数据获取单元102获取的存储器区域数据。存储器转储存储单元102a可以彼此相关联地存储从存储器单元101b获取的存储器区域数据以及指示获取该存储器区域数据的定时的信息。

(通信处理单元103的结构)

接下来,将描述根据本示例实施例的通信处理单元103。首先,将描述根据本示例实施例的通信处理单元103的概况。

通信处理单元103布置在分析对象装置101与通信网络105之间,并且通过通信信道106可通信地连接到它们中的每一个。通信处理单元103根据对在分析对象装置101与通信网络105之间通信的通信数据的分析结果,在分析对象装置101与通信网络105之间中继通信数据。具体地,根据本示例实施例的通信处理单元103能够中继与分析对象装置101与通信网络105之间的、根据预定密码通信协议的密码通信有关的通信数据。

通信处理单元103根据通信数据的分析结果,指示数据获取单元102获取存储在分析对象装置101中的存储器单元101b中的存储器区域数据。在这种情况下,通信处理单元103可以控制分析对象装置101与通信网络105之间的通信的暂时中止和恢复。

通信处理单元103根据通信数据的分析结果存储通信数据。

例如,通信处理单元103可以是诸如路由器、交换机或接入点之类的网络设备,其包括连接到多个通信信道106的通信接口。另外,通信处理单元103可以是能够提供网络设备的功能的诸如计算机之类的信息处理装置。这种通信处理单元103可以实现为物理网络设备或物理信息处理装置。这种通信处理单元103还可以被提供为虚拟设备,诸如特定虚拟化设施中的虚拟网络设备或虚拟信息处理装置。

以下将描述关于通信处理单元103的具体结构。

通信处理单元103包括通信控制单元103a和密码通信检查单元103b,如图1所例示。通信处理单元103可以包括通信数据记录单元103d。通信控制单元103a、密码通信检查单元103b和通信数据记录单元103d彼此可通信地连接。

以下将描述通信处理单元103的每个组件。

如上所述,通信控制单元103a中继分析对象装置101与通信网络105之间的通信。更具体地,通信控制单元103a中继分析对象装置101与通过通信网络105连接的另一信息通信装置107之间的通信。以下假设分析对象装置101与通信网络105之间的通信包括分析对象装置101与通过通信网络105连接的另一信息通信装置107之间的通信。可以根据特定密码通信协议(例如,ssl)来对分析对象装置101与通信网络105之间的通信进行加密。

通信控制单元103a捕获从分析对象装置101发送的通信数据,并分析通信数据的通信内容(例如,目的地信息或关于通信协议的信息)。通信控制单元103a捕获从通信网络105接收的通信数据,并分析其内容(例如,目的地信息或关于通信协议的信息)。通信控制单元103a根据分析结果在通信网络105与分析对象装置101之间传送每条通信数据。

作为示例,假设通信网络105是采用互联网协议(ip)的网络(ip网络),诸如互联网。在这种情况下,通过分析构成通信数据的ip分组,通信控制单元103a能够在通信网络105与分析对象装置101之间传送通信数据。可以通过类似于诸如路由器和交换机之类的已知网络设备的技术来实现这种通信数据的传输控制,因此将省略详细描述。

通信控制单元103a能够暂时中止分析对象装置101与通信网络105之间的通信,并且还能够恢复被中止的通信。更具体地,通信控制单元103a能够控制分析对象装置101与通过通信网络105连接的另一信息通信装置107之间的通信的中止和恢复。

例如,通信控制单元103a控制对与通信信道106连接的未示出的网络接口的通信数据的写入(或读取)的中止或恢复,该通信信道106与通信网络105或分析对象装置101相连接。因此,通信控制单元103a能够控制分析对象装置101与通信网络105之间的通信。关于对网络接口的通信数据的写入(或读取)的控制技术,可以根据网络接口或通信处理单元103的具体结构来适当地采用已知技术,因此将省略详细描述。

通信控制单元103a可以根据来自稍后描述的密码通信检查单元103b的请求,暂时中止分析对象装置101与通信网络105之间的通信。类似地,通信控制单元103a可以根据来自稍后将描述的密码通信检查单元103b的请求,来恢复被中止的通信。

通信控制单元103a向稍后将描述的密码通信检查单元103b提供(传送)所捕获的通信数据。类似地,通信控制单元103a向稍后将描述的通信数据记录单元103d提供(传送)所捕获的通信数据。

接下来,将描述密码通信检查单元103b。

密码通信检查单元103b分析从通信控制单元103a接收的通信数据。密码通信检查单元103b基于分析结果和稍后描述的密钥数据获取策略103c,判定分析对象装置101中的存储器单元101b存储包括用于根据密码通信协议对通信信道进行加密的机密信息在内的数据的定时。

包括机密信息的这种数据通常是包括用于对通信信道进行加密的密钥(以下可以称为“加密密钥”)的数据(以下可以称为“密钥数据”)。这种加密密钥是可以用于对在加密通信信道中传送的通信数据进行加密或解码(解密)的密钥。

换句话说,密码通信检查单元103b分析基于特定密码通信协议的通信数据,并判定包括加密密钥在内的密钥数据是否存储在分析对象装置101中的存储器单元101b中。更具体地,密码通信检查单元103b可以分析通信数据,并判定分析对象装置101中的存储器单元101b存储密钥数据的定时。

例如,在诸如ssl/tls之类的密码通信协议中,可以通过对通信数据进行分析,来检查交换用于对通信信道进行加密的加密密钥的过程进展状态。tls是“传输层安全性(transportlayersecurity)”的缩写。

具体地,在诸如ssl/tls之类的密码通信协议中,通过使用诸如公共密钥设施(pki)之类的技术,来保护(加密)在两个或更多个通信终端之间交换的加密密钥本身(或者可以从中导出加密密钥的信息)。因此,第三方难以通过通信信道获取加密密钥本身(或者可以从中导出加密密钥的信息)。

然而,密码通信检查单元103b分析通信数据中的未加密部分,并且能够检查对密码通信协议中的加密密钥的交换过程的进展状态加以指示的信息。例如,当密码通信协议是ssl时,记录协议中的报头(记录报头)和握手协议中的部分消息在通信数据中不被加密。因此,例如,密码通信检查单元103b分析通信数据中的所述部分,并且能够检查ssl协议中的加密密钥的交换过程的进展状态。

例如,在ssl协议中,当执行预定过程时(具体地,当传送changecipherspec消息时),两个通信终端共享用于通信信道的加密密钥。换句话说,在共享这种加密密钥的定时,通信终端(例如,分析对象装置101)中的存储器单元很可能存储包括这种加密密钥在内的密钥数据。因此,密码通信检查单元103b分析基于特定密码通信协议的通信数据,并且能够判定分析对象装置101中的存储器单元101b存储包括加密密钥在内的密钥数据的定时。

此外,密码通信检查单元103b可以从建立经由通信网络的通信连接的握手处理中的消息中,获取用于该通信中的加密处理的各种类型的信息(下文中可以称为“密码套件”)。例如,这种密码套件包括指示加密算法、加密密钥的密钥长度、密码操作模式(稍后描述)、以及通信数据的消息认证方案的信息。例如,当密码通信协议是ssl协议时,密码通信检查单元103b从握手处理中传送的clienthello消息和serverhello消息中获取用于对对象信息进行加密的加密算法等。

密码通信检查单元103b可以分析通信数据并获取用于根据密码通信协议对通信信道进行加密处理的各种类型的信息(下文中可以称为“密码套件”)。这种密码套件包括指示加密算法、加密密钥的密钥长度、密码操作模式(稍后描述)、以及通信数据的消息认证方案的信息。例如,当密码通信协议是ssl协议时,密码通信检查单元103b分析clienthello消息和serverhello消息,并获取用于对通信信道进行加密的加密算法等。

ssl协议中的已知技术例如是使用的握手协议、各种类型的消息等,因此,将省略对它们的详细描述。

如上所述,密码通信检查单元103b检查分析对象装置101与另一信息通信装置107之间的加密密钥的交换过程的进展状态。因此,密码通信检查单元103b判定分析对象装置101中的存储器单元101b存储包括加密密钥在内的密钥数据的定时。更具体地,密码通信检查单元103b通过使用密钥数据获取策略103c中设置的信息,判定分析对象装置101中的存储器单元101b存储包括加密密钥在内的密钥数据的定时。

如图4所示,密钥数据获取策略103c包括特定密码通信协议(图4中的401)的类型和密钥数据获取标准(图4中的402)。密钥数据获取标准402与密码通信协议401相关联。密钥数据获取标准402是对用于至少判定分析对象装置101中的存储器单元101b存储密钥数据的定时的标准加以指示的信息。

此外,密钥数据获取策略103c可以附加地包括由密码通信检查单元103b执行的处理的内容(图4中的403)。在密钥数据获取策略103c中,处理内容403与密码通信协议401相关联。处理内容403是指示以下项的信息:当根据密钥数据获取标准402判定为密钥数据存储在分析对象装置101中的存储器单元101b内时,由密码通信检查单元103b执行的处理的内容。

例如,密码通信协议401可以针对每个具体的密码通信协议,设置有标识该密码通信协议的标识符(id)。

例如,密钥数据获取标准402可以包括由信息处理装置(计算机)等根据任何机器可解释形式(格式)描述的信息,并且该信息用于判定该特定定时。机器可解释形式可以是任意确定的,并且例如可以是特定符号的组合、结构化语言的表达等。任何机器可解释格式不限于上述示例。

例如,处理内容403可以包括指示由密码通信检查单元103b执行的处理的内容的信息。该信息以任何机器可解释的形式(格式)描述。

例如,当密码通信协议是如图4所例示的“ssl/tls”时,密钥数据获取标准402包括表示定时是“(在从ssl/tls服务器发送changecipherspec之后)”的信息。当分析通信数据并判定满足密钥数据获取标准402时,密码通信检查单元103b执行在处理内容403中登记的处理。

“changecipherspec”是开始根据密码方法(密码通信协议401)的密码通信的消息。“ssh2_msg_newkeys”是例如表示已完成针对密钥数据的通信的消息。当密码通信协议是“ssl/tls”时,上述密钥数据获取标准402可以是从“在从ssl/tls服务器发送changecipherspec之后”到“开始应用数据的通信之前”的时段,并且不限于上述例子。

例如,密钥数据获取标准402可以包括关于满足与密码通信协议中的加密密钥相关的特定条件的定时的信息。更具体地,密钥数据获取标准402可以包括关于在特定密码通信协议401下在分析对象装置101与另一信息通信装置107之间共享加密密钥的定时的信息。密钥数据获取标准402还可以包括关于在特定密码通信协议401下在分析对象装置101与另一信息通信装置107之间执行共享加密密钥相关的特定过程的定时的信息。

可以通过任何技术将上述密钥数据获取策略103c预设给密码通信检查单元103b。

密码通信检查单元103b参考密钥数据获取策略103c(具体是密钥数据获取标准402),并判定包括加密密钥在内的密钥数据是否存储在分析对象装置101中的存储器单元101b内。当判定包括加密密钥在内的密钥数据被存储在存储器单元101b中时,密码通信检查单元103b可以指示数据获取单元102获取存储器区域数据。

也就是说,密码通信检查单元103b分析通信数据,并根据密钥数据获取策略103c,判定分析对象装置101中的存储器单元101b存储包括加密密钥在内的密钥数据的定时。存储器单元101b很可能在该定时存储加密密钥。因此,在该定时,密码通信检查单元103b指示数据获取单元102获取存储器区域数据。在这种情况下,由数据获取单元102获取的存储器区域数据很可能存储有加密密钥。

此外,当判定分析对象装置101中的存储器单元101b存储有密钥数据时,密码通信检查单元103b能够指示通信控制单元103a(至少暂时地)中止分析对象装置101与通信网络105之间的通信。

假设分析对象装置101与通信网络105之间的通信继续而不被中止。在这种情况下,密钥数据可能从分析对象装置101中的存储器单元101b丢失。此外,当通信继续而没有被中止时,根据通信协议不同,有可能改变用于对通信信道进行加密的加密密钥。

因此,密码通信检查单元103b在判定为存储器单元101b存储有密钥的定时,指示通信控制单元103a中止分析对象装置101与通信网络105之间的通信。期望的是存储器单元101b在中止通信时存储加密密钥。因此,期望的是由数据获取单元102在该时段期间获取的存储器区域数据包括密钥数据。

换句话说,密码通信检查单元103b可以中止这种通信,从而延长存储器单元101b存储有加密密钥的时段(时间)。密码通信检查单元103b在存储器单元101b存储有密钥数据的定时中止分析对象装置101与通信网络105之间的通信,获取存储器区域,并且从而能够获取很可能包括密钥数据的存储器区域数据。

当在中止分析对象装置101与通信网络105之间的通信期间数据获取单元102通知完成了存储器区域数据的获取处理时,密码通信检查单元103b可以指示通信控制单元103a恢复所述通信。

密码通信检查单元103b可以适当地选择恢复分析对象装置101与通信网络105之间的通信的定时。具体地,当数据获取单元102通知完成存储器区域数据的获取时,密码通信检查单元103b可以恢复通信。此外,例如,当密码分析单元104(稍后描述)通知完成通信数据的解密时,密码通信检查单元103b可以恢复通信。密码通信检查单元103b如上所述地控制通信的恢复定时,从而能够使通信中止期间的时间(时段)最小化。

例如,当延长通信的中止时段时,在分析对象装置中执行通信处理的程序可能将该延长视为通信错误等,并且由该程序进行的处理可能被异常地终止。当这样的程序是恶意软件并且该恶意软件的处理被终止时,对该程序的行为分析变得特别困难。相反,使中止通信的时间(时段)最小化使得能够例如在允许恶意软件继续处理的同时对恶意软件进行行为分析。

当向上述通信控制单元103a指示中止分析对象装置101与通信网络105之间的通信之后经过特定时间(例如,30秒)时,密码通信检查单元103b可以指示恢复分析对象装置101与通信网络105之间的通信。密码通信检查单元103b可以适当地选择适当的值作为该特定时间。例如,当数据获取单元102预先通过预备实验和模拟来计算出从存储器单元101b获取存储器区域数据所需的时间时,密码通信检查单元103b能够选择最小值作为该特定时间。

另外,当数据获取单元102通知完成存储器区域数据的获取处理时,密码通信检查单元103b可以指示密码分析单元104(稍后描述)对存储在通信数据记录单元103d(稍后描述)中的通信数据进行解密。此外,此时,密码通信检查单元103b可以向密码分析单元104通知关于在上述密码通信协议中使用的加密算法的信息。稍后将描述与通信数据的解密有关的详细处理。

密码通信检查单元103b可以从稍后描述的密码分析单元104(具体是解密单元104d)接收指示通信数据的解密处理完成的通知。此时,当分析对象装置101与通信网络105之间的通信中止时,密码通信检查单元103b可以指示通信控制单元103a恢复被中止的通信。

密码通信检查单元103b检查(分析)由密码分析单元104解密的通信数据,并根据分析结果执行特定处理。密码通信检查单元103b可以适当地选择这种特定处理。

例如,作为这种特定处理,密码通信检查单元103b可以指示通信控制单元103a中止分析对象装置101与通信网络105之间的通信。此外,例如,作为这种特定处理,密码通信检查单元103b可以改变在分析对象装置101与通信网络105之间通信的数据。此外,例如,密码通信检查单元103b可以按原样继续分析对象装置101与通信网络105之间的通信,以便不被恶意软件等感测。可以根据解密后的通信数据来预先确定这种特定处理。

接下来,将描述通信数据记录单元103d。

通信数据记录单元103d根据通信数据记录策略103e将通信控制单元103a捕获的通信数据存储(登记)到通信数据存储单元103f中。

通信数据记录策略103e是用于判定是否需要存储由通信控制单元103a捕获的通信数据的信息。

更具体地,如图5所例示,通信数据记录策略103e包括特定密码通信协议(图5中的501)的类型和通信数据记录标准(图5中的502)。通信数据记录标准502与密码通信协议501相关联。通信数据记录标准502是用于判定是否需要存储(记录)根据密码通信协议501的通信数据的标准(信息)。

此外,通信数据记录策略103e可以附加地包括由通信数据记录单元103d执行的处理的内容(图5中的503)。这样的处理内容503与密码通信协议501相关联。处理内容503是指示当判定为满足通信数据记录标准502时由通信数据记录单元103d执行的处理的内容的信息。

例如,密码通信协议501可以包括针对每个具体的密码通信协议的、用于标识该密码通信协议的标识符(id)。

例如,通信数据记录标准502可以包括根据任何机器可解释形式(格式)描述的并且用于判定是否需要存储(记录)通信数据的登记信息。更具体地,例如,通信数据记录标准502可以包括用于判定是否满足用于存储通信数据的条件的登记信息,或者用于判定存储通信数据的定时的登记信息。

例如,处理内容503可以包括根据任何机器可解释形式(格式)描述的登记信息,并指示由通信数据记录单元103d执行的处理的内容。

例如,当密码通信协议是如图5所例示的“ssl/tls”时,通信数据记录标准502预先包括表示“(在开始发送和接收应用数据之后)”的信息。当根据通信数据的分析结果判定为满足通信数据记录标准502时,通信数据记录单元103d执行在处理内容503中登记的处理。

例如,通信数据记录标准502可以包括指示以下操作的条件:在由密码通信协议501加密的通信信道上传送最初的(加密)通信数据的定时或在该定时之后记录数据。

如上所述,在某个密码通信协议下,用于对通信信道进行加密的加密密钥可以在预定定时改变。换句话说,在加密通信信道内的最初的通信数据与加密通信信道内的第二和后续通信数据之间,可以改变用于对通信信道进行加密的加密密钥。此外,在另一密码通信协议中,在对通信信道进行加密之后,可以在最初的通信数据中传送高度机密信息(重要性高的信息)。因此,当通信信道被加密时,有效的是在传送最初的通信数据时存储通信数据,使得密码分析单元104(稍后描述)能够对所有密码通信数据进行解密。

不限于此,通信数据记录标准502可以包括用于判定任何定时的信息。

可以通过任何技术将上述通信数据记录策略103e预设给通信数据记录单元103d。

通信数据记录单元103d将被判定为满足通信数据记录标准502的通信数据登记到通信数据存储单元103f。

例如,如图6所例示,针对每条通信数据,通信数据存储单元103f彼此相关联地存储关于通信源的信息(图6中的601)、对密码通信协议加以指示的识别信息(图6中的602)以及表示所记录的通信数据的记录数据(图6中的603)。记录数据603可以包括表示通信数据的捕获时间等的定时的信息、以及通信数据的内容。

(密码分析单元104的结构)

接下来,将描述根据本示例实施例的密码分析单元104。首先,将描述根据本示例实施例的密码分析单元104的概况。

密码分析单元104分析由上述数据获取单元102获取的存储器区域数据,并根据指示密钥数据的特征的信息(稍后描述)提取包括在存储器区域数据中的上述加密密钥的候选。

密码分析单元104基于通过使用所提取的加密密钥候选对通信数据记录单元103d存储的加密通信数据进行解码的结果,从加密密钥候选中提取正确的加密密钥。在这种情况下,正确的加密密钥是能够正确对加密通信数据进行解码的密钥。此时,密码分析单元104可以确定在上述密码通信协议中使用的加密方案(加密算法)。

以下将描述关于密码分析单元104的具体结构。

密码分析单元104包括密钥候选提取单元104a和解密单元104d。密码分析单元104中的这些组件可通信地彼此连接。

接下来,将描述根据本示例实施例的密钥候选提取单元104a。密钥候选提取单元104a包括密钥候选判定信息104b和密钥候选存储单元104c。

密钥候选提取单元104a参考在存储器转储存储单元102a中登记的存储器区域数据,并根据密钥候选判定信息104b从存储器区域数据中提取上述加密密钥的候选。具体地,密钥候选提取单元104a根据密钥候选判定信息104b,从存储器区域数据中提取包括加密密钥候选在内的密钥数据的候选,其中在分析对象装置101与通信网络105之间的密码通信中使用所述加密密钥候选。以下将密钥数据的候选称为“密钥数据候选”。当提取密钥数据候选时,密钥候选提取单元104a可以向稍后将描述的解密单元104d通知所述处理的完成。

首先,将描述由密钥候选提取单元104a对上述存储器区域数据中的上述加密密钥的搜索处理。

如上所述,存储器区域数据是在特定定时存储在分析对象装置101中的存储器单元101b中的数据。换句话说,存储器区域数据的内容根据数据获取单元102从存储单元101b获取该存储器区域数据的定时而改变。因此,难以预先在该存储器区域数据中确定包括加密密钥在内的密钥数据。

此外,当分析对象装置101中的存储器单元101b的存储容量(存储空间的大小)较大时,存储器区域数据的大小也较大。也就是说,密钥候选提取单元104a需要在大量数据中搜索加密密钥。假设在1千兆字节(gb)存储器区域数据中完全搜索128位加密密钥,则候选的数量是巨大的,因此要求密钥数据候选的提取处理是高效的。

在存储器区域数据所包括的数据中,包括加密密钥在内的密钥数据通常包括特有特征。例如,密钥数据的这种特征表示密钥数据本身的属性(例如,数据本身的随机性)或这种密钥数据在存储器区域数据中的布置模式(布置位置和被布置数据的顺序)。

密钥数据的特征根据与密码通信的执行相关的各种条件而变化。例如,这样的条件包括在上述密码通信协议中使用的加密方案(加密算法)、在加密方案中使用的加密参数(稍后描述)、以及分析对象装置101中的与加密方案相关的处理的执行环境(稍后描述)。具体示例包括以下情况:当特定加密算法中使用的加密密钥的密钥长度变化时,密钥数据的特征可以变化。此外,例如,由于包括加密密钥的加密处理所需的信息因每个加密算法中使用的密码操作模式而变化,因此密钥数据的特征可以相应地变化。密码操作模式是当使用分组密码作为加密算法时对比分组长度更长的明文进行加密的处理方法。

密钥候选提取单元104a从存储器区域数据中提取与密钥数据的特定特征匹配的数据作为密钥数据候选。因此,密钥候选提取单元104a能够提取上述加密密钥候选。

例如,根据关于加密算法的现有知识、预备实验等,可以针对各种类型的条件的每个组合预先收集指示密钥数据的特征的信息(数据)。然后,对所收集的指示密钥数据的特征的数据的模式生成可以提供能够用于从存储器区域中提取密钥数据候选的判定信息。

可以适当地选择收集表示密钥数据特征的数据的具体方法。例如,分析系统的用户、开发者、管理员等(下文中称为“用户等”)在分析对象装置101上执行能够输出加密密钥的实验性的密码通信程序。然后,例如,用户等通过使用数据获取单元102,在执行该实验性的通信程序的特定定时获取分析对象装置101中的存储器区域数据。用户等在所获取的存储器区域数据中搜索从实验性程序输出的(正确的)加密密钥。通过重复这样的实验,可以提取其中放置加密密钥的区域的共有特征。此外,例如,用户等能够根据关于加密方案的一般知识(例如,加密密钥的密钥长度和加密密钥的随机性)来提取密钥数据的特征特性。

此外,例如,当在分析对象装置101上执行实验性程序时,用户等可以对分析对象装置101中的用于密码通信的api进行挂钩。用户等分析传递给被挂钩的api的自变量,从而获得加密密钥,并分析表示该加密密钥的密钥数据的特征。此外,用户等调查表示该加密密钥的数据被放置在分析对象装置中的存储器单元101b内的哪个位置。用户等收集由此获得的调查结果作为表示该密钥数据的特征的数据。对api进行挂钩的方法是已知技术,因此将省略该方法的详细描述。

收集表示密钥数据的特征的数据的方法不限于上述具体示例,并且可以采用任何方法。

如上所述,通过根据上述各种类型的条件预先收集表示密钥数据的特征的数据并从中提取模式,能够提供用于从存储器区域数据中提取上述密钥数据候选的判定信息。例如,这样的判定信息可以包括在存储器区域数据中搜索(提取)密钥数据候选的位置(地点),以及用于判定特定数据是否是密钥数据的判定标准。

根据本示例实施例的密钥候选提取单元104a根据这样的判定信息从存储器区域数据中提取包括加密密钥在内的密钥数据候选。更具体地,密钥候选提取单元104a基于包括判定信息在内的密钥候选判定信息104b来提取密钥数据候选,通过该判定信息可以提取包括加密密钥在内的密钥数据候选。

如图7所例示,密钥候选判定信息104b包括对加密方案(加密算法)的类型(图7中的701)和密钥候选判定标准(图7中的704)加以指示的信息。密钥候选判定标准704与加密算法701相关联。这种密钥候选判定标准704是可以指示用于判定包括在存储器区域数据中的特定数据是否是包括加密密钥在内的密钥数据的标准的信息。换句话说,密钥候选判定标准704是用于根据表示密钥数据的特征的数据来判定包括在存储器区域数据中的特定数据是否是包括加密密钥在内的密钥数据的标准。

此外,密钥候选判定信息104b可以附加地包括与加密算法有关的加密参数(图7中的702),以及对分析对象装置101中的与加密算法701有关的加密处理的执行环境加以指示的信息(图7中的703),这二者分别与加密算法701相关联。

例如,加密算法701可以包括用于标识具体的加密算法的标识符(id)。

例如,可以在密钥候选判定标准704中登记通过使用任何机器可解释形式(格式)表达的信息。

如图7所例示,加密参数702可以包括关于加密算法701中使用的密钥的长度(密钥长度)、以及密码操作模式的信息。如上所述,密码操作模式是当使用分组密码作为加密算法701时对比分组长度更长的明文进行加密的处理方法。例如,作为这种加密模式,已知密码分组链接(cbc)模式和伽罗瓦/计数器模式(gcm)。

例如,执行环境信息703包括关于在分析对象装置101中实现与加密算法701相关的处理的库的信息,以及关于分析对象装置101的执行环境的信息。更具体地,例如,执行环境信息703可以是能够确定分析对象装置101中的os(例如,windows(注册商标)和linux(注册商标))和加密处理实现方式(例如,cryptographynextgeneration(cgn)api和openssl)的信息。

可以通过任何技术将密钥候选判定信息104b预设给密钥候选提取单元104a。

密钥候选提取单元104a根据密钥候选判定信息104b(具体是密钥候选判定标准704)判定是否将存储器区域数据中的特定数据区域提取为密钥候选。

下面将参考图7所示的具体示例来描述密钥候选提取单元104a中的上述密钥数据候选的提取处理。

例如,如图7所例示,假设加密算法701是“aes”,加密参数702中的密钥长度是“128位”或“256位”,并且加密参数702中的密码操作模式是“cbc”。aes是“高级加密标准(advancedencryptionstandard)”的缩写。

在这种情况下,密钥候选提取单元104a参考与该加密算法701和该加密参数702相关联的密钥候选判定标准704。然后,密钥候选提取单元104a从存储在存储器转储存储单元102a中的存储器区域数据中提取信息熵值大于或等于特定参考值的16或32个连续字节的数据区域。在下文中,为了便于描述,信息熵简单地由熵表示。

通常,随着由数据区域中包括的数据指示的值的熵(下文中可以称为“数据的熵”)变大,由该数据区域中包括的数据指示的值的离散性变大。此外,加密密钥通常是随机数值(其中不能找到规则性),因此假设包括加密密钥在内的密钥数据的值具有较大的离散性。因此,密钥候选提取单元104a能够根据如图7所例示的判定标准将包括具有较大离散值的数据在内的数据区域提取作为密钥数据候选。

可以通过使用各种已知的计算方法来计算这种离散性的大小。作为具体示例,密钥候选提取单元104a可以将密钥数据候选的标准偏差(或方差)计算为离散性的大小。标准偏差(或方差)的计算方法是已知技术,因此将省略对其的详细描述。

例如,如图7所例示,假设加密算法701是“aes”,加密参数702中的密钥长度是“128位”,并且加密参数702中的密码操作模式是“gcm”。在这种情况下,密钥候选提取单元104a参考与该加密算法701和该加密参数702相关联的密钥候选判定标准704,从存储器区域数据中提取被判定为满足“从0x30、0x02、0x00、0x00、0x4b、0x53、0x53、0x4d开始的560个连续字节数据”的数据。例如,在分析对象装置101中的特定执行环境内,包括加密密钥在内的密钥数据可以包括特定的布置模式。如图7所例示,当密钥候选判定标准704包括这样的布置模式时,密钥候选提取单元104a能够提取与这种布置模式匹配的数据作为密钥数据候选。

换句话说,“0x30、0x02、0x00、0x00、0x4b、0x53、0x53、0x4d”是一种标签,作为用于确定存储有密钥候选的存储器区域的线索。在这种情况下,例如,密钥候选提取单元104a基于表示该标签的标签信息,提取由标签信息确定的标签之后的560个字节数据作为密钥数据候选。

例如,密钥候选提取单元104a可以通过从存储器区域数据的特定位置(例如,顶部)连续移位特定大小(例如,1字节)来提取特定大小的数据,并根据密钥候选判定标准704判定该数据是否是密钥候选。

假设密码通信检查单元103b可以从分析与某个密码通信相关的通信数据的结果,获取关于密码套件的信息。在这种情况下,可以将分别与密码通信相关的加密算法701和加密参数702的相关信息处理为通过通信数据确认的已知信息。关于分析对象装置101的执行环境信息703可以通过诸如预设到密码分析单元104之类的方法而处理为已知信息。

当加密算法701和加密参数702未知时,密钥候选提取单元104a可以通过使用在密钥候选判定信息104b中登记的所有密钥候选判定标准704来提取符合各标准的密钥数据候选。在这种情况下,可以根据稍后描述的解密单元104d使用所提取的密钥数据候选对加密通信数据进行解密的结果,来确定包括用于对通信数据进行加密的加密密钥在内的密钥数据、加密算法和加密参数。

此外,密钥候选提取单元104a可以提取密钥数据候选,获取用于在特定密码通信协议下对通信数据进行加密或解码处理的另一条所需信息(下文中,可以称为“加密处理数据”)。

例如,这种加密处理数据可以包括以下数据。具体地,在分组密码被用作加密算法的情况下,这种加密处理数据可以包括初始化矢量(iv)。这种加密处理数据还可以包括在特定密码操作模式中使用的各种类型的参数(例如,计数器模式下的计数器和一次性使用的数字(临时数字,nonce)(即,使用一次的值))。这种加密处理数据还可以包括分配给加密通信数据的认证信息。这种加密处理数据不限于上述数据,可以包括取决于加密算法、加密参数802等所需的任何数据。

例如,密钥候选提取单元104a可以从密码通信检查单元103b或通信控制单元103a获取通信数据,分析所获取的通信数据,并获取这样的加密处理数据。此外,例如,类似于上述密钥数据候选,密钥候选提取单元104a可以根据特定的判定标准,从存储在存储器转储存储单元102a中的存储器区域数据中获取加密处理数据。

密钥候选提取单元104a将从存储器区域数据中提取的密钥数据候选存储(登记)到密钥候选存储单元104c中。此外,密钥候选提取单元104a可以将与密钥数据候选有关的加密处理数据存储(登记)到密钥候选存储单元104c中。

如图8所例示,密钥候选存储单元104c生成其中每个加密算法801与所提取的密钥数据候选803彼此相关联的信息,并存储所生成的信息。密钥候选存储单元104c可以生成其中每个加密算法801与该加密算法中使用的加密参数802彼此相关联的信息,并存储所生成的信息。密钥候选存储单元104c还可以存储包括上述加密处理数据作为其一部分的密钥数据候选803。不限于此,密钥候选存储单元104c可以将加密处理数据存储在与密钥数据候选803不同的未描绘的区域中。

如图8所例示,密钥候选存储单元104c可以存储与特定加密算法(例如,“aes”)相关的多个密钥数据候选。图8中例示的结构是具体示例,并且根据本示例实施例的密钥候选存储单元104c不限于该结构。

接下来,将描述根据本示例实施例的解密单元104d。

如图1所例示,解密单元104d包括分析结果判定信息104e和分析结果存储单元104f。

当在密钥候选提取单元104a中提取了密钥数据候选时,解密单元104d通过使用该密钥数据候选对存储在通信数据存储单元103f中的(加密)通信数据进行解密(解码)。

解密单元104d参考存储在通信数据存储单元103f中的(加密)通信数据,并通过使用存储在密钥候选存储单元104c中的密钥数据候选来对加密通信数据进行解密(解码)。具体地,解密单元104d通过使用存储在密钥候选存储单元104c中的密钥数据候选,对在分析对象装置101与通信网络105之间的密码通信中传送的通信数据进行解密(解码)。解密单元104d可以根据需要通过使用由密钥候选提取单元104a获取的密钥数据候选和加密处理数据来对通信数据进行解密(解码)。被解密(解码)的通信数据在下文中可称为“已解密通信数据”。

解密单元104d根据表示已解密通信数据的特征的数据,来确定已解密通信数据是否被正确地解密(解码)。例如,表示已解密通信数据的特征的这种数据指示已解密通信数据本身的属性(例如,数据本身的随机性)或已解密通信数据的数据格式。

具体地,解密单元104d根据分析结果判定信息104e来判定利用特定密钥数据候选的通信数据的解密结果是否成功。然后,当通信数据的解密成功时,解密单元104d将用于解密的密钥数据存储(登记)到分析结果存储单元104f中。此外,解密单元104d可以将用于解密的加密处理数据与密钥数据一起存储(登记)到分析结果存储单元104f中。

下文中,可以将根据分析结果判定信息104e判定为成功解密了通信数据的密钥数据称为“正确密钥数据”。

如图9所示,分析结果判定信息104e包括分析结果判定标准901和判定结果902。

在分析结果判定标准901中,设置以下信息:该信息指示根据表示已解密通信数据的特征的数据判定是否正确地对该已解密通信数据进行了解密(解码)的标准。在这种情况下,例如,可以以任何机器可解释的形式(格式)描述分析结果判定标准901中设置的信息。

当解密单元104d对特定通信数据进行解密并且解密结果满足分析结果判定标准901时,判定结果(解密是否成功)被登记在判定结果902中。在这种情况下,可以在判定结果902中登记对判定结果加以指示的符号等。

解密单元104d根据分析结果判定标准901判定通信数据是否被成功解码。

将参考图9所示的具体示例描述判定解密单元104d是否成功解密通信数据的处理。

为了便于描述,假设已解密通信数据是例如根据诸如美国信息交换标准码(ascii)之类的代码描述的数值。

在图9所示的具体示例中,例如,当已解密通信数据的熵小于或等于特定参考值时,解密单元104d确定该已解密通信数据被正确解码。

此外,例如,与上述相反,当已解密通信数据的熵大于特定参考值时,解密单元104d确定该通信数据的解密不成功。

通常,如上所述,随着数据的熵变大,由数据区域中的数据指示的值的离散性变大。也就是说,当已解密通信数据的熵小于或等于特定参考值时,由包括在已解密通信数据中的数据指示的值的离散性相对较小,因此很可能解密成功。另一方面,当已解密通信数据的熵大于特定参考值时,由包括在已解密通信数据中的数据指示的值的离散性较大(例如,随机性较高),因此很可能解密不成功。原因在于:加密数据(通信数据)通常采用随机数值(其中不能找到规则性),并且由这样的数据指示的值具有大的离散性。

可以根据关于通信数据本身的一般特性(随机性)的知识、预备实验等,适当地选择用于判定数据的离散性(熵)的大小的特定参考值。

例如,标准差σ可以用作指示这种数据的离散性程度的标准。当数据的离散性遵循正态分布并且数据的平均值由“m”表示时,整个数据的大约68.2%包括在“m±σ”的范围内,并且整个数据的大约95.4%包括在“m±2σ”的范围内。换句话说,当σ的值较大时,已解密通信数据具有极大的离散性(具有较高的随机性)。在这种情况下,解密单元104d可以适当地选择这种σ的值,以便在已解密通信数据的离散性相对较小时判定为解密成功。

此外,例如,如图9所例示,已解密通信数据是否包括特定数据可以用作判定对该已解密通信数据的解密是否成功的标准。原因在于:当已解密通信数据包括已知数据或特定模式时,所述已解密通信数据很可能被正确解密。

此外,例如,可以将指示已解密通信数据是否符合特定数据格式(表示各种类型数据的描述形式)的标准用作判定对该已解密通信数据的解密是否成功的标准。例如,数据格式可以包括描述各种类型的语音、图像、视频和文档的数据格式。此外,例如,数据格式可以包括特定文件系统中的文件格式。图9中所示的具体示例是典型示例,并且本示例实施例不限于此。

可以通过任何技术将分析结果判定信息104e预设给解密单元104d。

例如,解密单元104d通过使用存储在密钥候选存储单元104c中的每个密钥数据候选来对通信数据进行解密,并根据分析结果判定信息104e判定解密结果。因此,解密单元104d能够提取正确的密钥数据。解密单元104d可以将上述解密处理应用于存储在通信数据存储单元103f中的所有通信数据。

解密单元104d基于根据分析结果判定信息104e对通信数据进行解密的结果,将正确密钥数据和用该正确密钥数据解密的已解密通信数据存储(登记)到分析结果存储单元104f中。如上所述,解密单元104d可以向密码通信检查单元103b通知对通信数据的解密处理的完成。

如图10所例示,分析结果存储单元104f彼此相关联地存储能够确定加密算法的信息(图10中的加密算法1001)、正确密钥数据(图10中的密钥数据1002)和已解密通信数据(图10中的解密结果1003)。图10中例示的结构是具体示例,并且根据本示例实施例的分析结果存储单元104f不限于此。例如,分析结果存储单元104f可以仅存储正确密钥数据或仅存储已解密通信数据,或者可以单独存储所述数据。此外,分析结果存储单元104f可以将用于对通信数据进行解密的加密处理数据与上述的正确密钥数据一起存储为密钥数据1002的一部分。分析结果存储单元104f可以将加密处理数据存储在独立于密钥数据1002的未描绘的区域中。

(分析系统100的操作)

接下来,将描述分析系统100的操作。在以下描述中,假设分析对象装置101与通信网络105之间的密码通信协议是ssl的具体示例。

此外,将参考图11来描述分析系统100的操作的概况。

首先,通信处理单元103捕获在分析对象装置101与通信网络105之间通信的通信数据(步骤s1101)。

接下来,通信处理单元103分析捕获的通信数据,并判定分析对象装置101中的存储器单元101b存储密钥数据的定时(步骤s1102)。

当在步骤s1102中判定为该定时已到达时(步骤s1103中的“是”),数据获取单元102获取存储在分析对象装置101中的存储器单元101b内的存储器区域数据(步骤s1104)。当步骤s1103中的判定结果为否时,通信处理单元103返回步骤s1101的处理并继续该处理。

接下来,密码分析单元104根据特定标准分析在步骤s1104中获取的存储器区域数据,并提取密钥数据候选(步骤s1105)。

接下来,密码分析单元104基于利用在步骤s1105提取的密钥数据候选对通信数据的解密结果,获取正确密钥数据和已解密通信数据(步骤s1106)。

接下来,通信处理单元103(具体是密码通信检查单元103b)分析在步骤s1106中获得的已解密通信数据的内容,并执行特定处理(步骤s1107)。如上所述,通信处理单元103(具体是密码通信检查单元103b)可以适当地选择这种特定处理。

在步骤s1101中捕获通信数据之后,通信处理单元103判定是否需要存储所述通信数据,并基于判定结果存储所述通信数据(步骤s1108)。步骤s1108中的处理可以与步骤s1102至s1105中的处理并行(或伪并行)执行。

接下来,将描述分析系统100的操作的详情。

首先,将参考图12a和图12b中例示的流程图描述数据获取单元102和通信处理单元103的操作。以下将描述图12a例示的流程图。图12b是类似于图12a的流程图,除了稍后描述的步骤s1209b和s1210b之外与图12a相同,因此将仅描述它们之间的不同点。以下步骤s1201至s1208中例示的处理类似于图11中例示的步骤s1101至s1105。

首先,通信控制单元103a捕获在分析对象装置101与通信网络105之间通信的通信数据(步骤s1201)。

在这种情况下,如上所述,通信控制单元103a能够捕获从分析对象装置101发送到通信网络105的通信数据和从通信网络105发送到分析对象装置101的通信数据二者。

接下来,密码通信检查单元103b分析在步骤s1201中捕获的通信数据,并根据密钥数据获取策略103c判定是否获取存储在存储单元101b中的存储器区域数据(步骤s1202)。

更具体地,密码通信检查单元103b根据密钥数据获取策略103c判定分析对象装置101中的存储器单元101b存储密钥数据的定时。

当ssl被用作密码通信协议时,例如当在图13所示的基于ssl协议的处理序列中分析对象装置101从ssl服务器侧(从另一信息通信装置107侧)接收到changecipherspec消息(图13中例示的“中止时刻t1”)时,密码通信检查单元103b可以判定上述定时到达。

备选地,当分析对象装置101从ssl服务器侧(另一信息通信装置107侧)接收到完成消息(图13中例示的“中止时刻t2”)时,密码通信检查单元103b可以判定上述定时到达。

在步骤s1202中,当密码通信检查单元103b判定为到达上述定时时(步骤s1203中的“是”),密码通信检查单元103b指示通信控制单元103a中止分析对象装置101与通信网络105之间的通信(步骤s1204)。

在这种情况下,通信控制单元103a接收所述命令并中止分析对象装置101与通信网络105之间的通信。可以适当地选择用于中止通信的具体方法。

在步骤s1203中为“否”的情况下,通信控制单元103a返回到步骤s1201中的处理并继续该处理。

接下来,密码通信检查单元103b指示数据获取单元102获取存储在分析对象装置101中的存储器单元101b中的存储器区域数据(步骤s1205)。

数据获取单元102接收所述命令并转储存储在分析对象装置101中的存储器单元101b内的存储器区域数据(步骤s1206)。如上所述,可以根据分析对象装置101的结构适当地选择存储在存储器单元101b中的数据的具体转储方法。

接下来,数据获取单元102将所获取的存储器区域数据存储(登记)到存储器转储存储单元102a中(步骤s1207)。

接下来,数据获取单元102通知密码通信检查单元103b完成获取存储器区域数据(步骤s1208)。

接下来,密码通信检查单元103b接收步骤s1208中的通知,并指示通信控制单元103a恢复被中止的通信。然后,通信控制单元103a恢复所述通信(步骤s1209)。

在未执行步骤s1208的情况下,当在步骤s1204中指示中止通信之后经过了特定时间时,密码通信检查单元103b可以指示通信控制单元103恢复被中止的通信。

在步骤s1209中的处理之后,密码通信检查单元103b可以指示密码分析单元104对由通信数据记录单元103d存储的通信数据进行解密并提取加密密钥(步骤s1210)。当基于通信数据的分析结果确定在密码通信协议中使用的加密算法等时,密码通信检查单元103b可以向密码分析单元104提供关于加密算法的信息。

可以颠倒上述图12a中的步骤s1209和s1210的处理顺序。也就是说,如图12b所例示,密码通信检查单元103b可以接收步骤s1208中的通知,并指示密码分析单元104对由通信数据记录单元103d存储的通信数据进行解密并提取加密密钥(步骤s1209b)。然后,当从密码分析单元104接收到对通信数据的解密处理的完成通知时,密码通信检查单元103b可以指示通信控制单元103a恢复被中止的通信(步骤s1210b)。

接下来,将参考图14中例示的流程图来描述通信处理单元103(具体是通信数据记录单元103d)的处理。以下步骤s1401至s1404对应于上述图11中例示的步骤s1108。

首先,在图14所示的步骤s1201中,通信控制单元103a捕获通信数据。该处理可以类似于图12a和图12b中例示的步骤s1201。

接下来,通信控制单元103a向通信数据记录单元103d提供(通知)所捕获的通信数据(步骤s1401)。

通信数据记录单元103d根据通信数据记录策略103e判定是否存储在步骤s1201中捕获的通信数据(步骤s1402)。

当采用ssl作为通信协议时,例如,通信数据记录策略103e(具体是通信数据记录标准502)可以包括表示存储(记录)在“t3”时或在此之后的通信数据的条件。“t3”是图13中例示的发送最初的applicationdata消息的定时。备选地,例如,通信数据记录策略103e(具体是通信数据记录标准502)可以包括分别指示存储(记录)在如图13例示的“中止定时t1”或“中止定时t2”时或在其之后的通信数据的条件。

当根据步骤s1402中的判定结果而存储通信数据时(步骤s1403中的“是”),通信数据记录单元103d将通信数据登记(存储)到通信数据存储单元103f中(步骤s1404)。

在步骤s1403中为“否”的情况下,通信数据记录单元103d不需要存储通信数据。

通过步骤s1401至s1404中的处理,根据需要将通信数据存储在通信数据存储单元103f中。

接下来,将参考图15和图16例示的流程图,来描述密码分析单元104的处理。图15和图16例示的流程图对应于图11中的步骤s1105和s1106。

首先将参考图15例示的流程图来描述密钥候选提取单元104a的操作。

如上所述,例如,密码分析单元104响应于来自密码通信检查单元103b的命令(步骤s1210),开始对加密通信数据的解密处理。

首先,密钥候选提取单元104a参考在存储器转储存储单元102a中登记(存储)的存储器区域数据(步骤s1501)。在这种情况下,密钥候选提取单元104a可以从存储器转储存储单元102a获取存储器区域数据。

接下来,密钥候选提取单元104a根据密钥候选判定信息104b从在步骤s1501中参考(获取)的存储器区域数据中提取加密密钥候选(步骤s1502)。

如上所述,当密码通信检查单元103b提供了关于加密算法的信息时,密钥候选提取单元104a基于与加密算法相关联的密钥候选判定标准704从存储器区域数据中提取密钥数据候选。

当加密算法未知时,密钥候选提取单元104a针对登记在密钥候选判定信息104b中的每个加密算法701,根据密钥候选判定标准704提取密钥数据候选。

此外,此时密钥候选提取单元104a可以提取关于与密钥数据候选相关联的加密算法的信息(例如,加密算法701和加密参数702)。

接下来,密钥候选提取单元104a将在步骤s1502中分别提取的密钥候选和关于加密算法的信息登记(存储)到密钥候选存储单元104c中(步骤s1503)。

在步骤s1503之后,密钥候选提取单元104a可以通知解密单元104d已完成密钥候选的提取处理(步骤s1504)。

接下来,解密单元104d通过使用在步骤s1501至s1503中提取的密钥数据候选来对加密通信数据进行解密(步骤s1505)。

这里,将参照图16例示的流程图来描述步骤s1505中的处理的详情。

首先,解密单元104d获取在密钥候选存储单元104c中登记的密钥数据候选(图8中的803)(步骤s1601)。此时,解密单元104d可以获取关于与该密钥候选相关联的加密算法的信息(图8中的801和802)。此外,解密单元104d可以获取与该密钥候选相关联的加密处理数据。

接下来,解密单元104d参考在通信数据存储单元103f中登记(存储)的加密通信数据。在这种情况下,解密单元104d可以从通信数据存储单元103f获取该通信数据。

然后,解密单元104d通过使用在步骤s1601中分别参考(获取)的密钥数据候选和关于加密算法的信息,来对所获取的通信数据进行解密(解码)(步骤s1602)。

接下来,解密单元104d根据分析结果判定信息104e判定已解密通信数据是否是被正确解密(解码),其中所述已解密通信数据是步骤s1602中对通信数据进行解密(解码)的结果(步骤s1603)。

如上所述,例如,解密单元104d可以根据已解密通信数据的熵值或已解密通信数据是否与特定数据格式匹配,来判定已解密通信数据是否被正确解密。

当判定为已解密通信数据被正确解密时(步骤s1604中的“是”),解密单元104d将正确密钥数据和已解密通信数据登记到分析结果存储单元104f中(步骤s1606)。

当判定为已解密通信数据不正确时(步骤s1604中的“否”),解密单元104d检查在密钥候选存储单元104c中是否登记了另一密钥数据候选(步骤s1605)。

当登记了另一密钥数据候选时(步骤s1607中的“是”),解密单元104d重新开始自步骤s1601开始的处理,并从密钥候选存储单元104c中取出该另一密钥数据候选。

通过步骤s1601至s1607的处理,获得包括用于对通信数据进行解密的加密密钥在内的密钥数据和已解密通信数据。

解密单元104d可以向密码通信检查单元103b通知对上述通信数据的解密处理的完成(步骤s1608)。

密码通信检查单元103b接收步骤s1608中的通知,并且从步骤s1107继续上述处理。在这种情况下,密码通信检查单元103b能够根据分析已解密通信数据的结果来执行特定处理。

在如上构成的根据本示例实施例的分析系统100中,首先,通信处理单元103分析根据特定密码通信协议在分析对象装置101与通信网络105之间通信的通信数据。然后,根据这种分析的结果,通信处理单元103确定在分析对象装置101的存储器单元101b中存储加密密钥的定时。该加密密钥用于对分析对象装置101与通信网络105之间的通信信道进行加密。

通信处理单元103在该定时指示数据获取单元102获取存储在存储器单元101b中的存储器区域数据。

因此,根据本示例实施例的分析系统100中的数据获取单元102能够从分析对象装置101的存储器单元101b获取包括用于对分析对象装置101与通信网络105之间的通信信道进行加密的加密密钥在内的存储器区域数据。

此外,通信处理单元103(具体是密码通信检查单元103b)能够在上述特定定时指示通信控制单元103a中止分析对象装置101与通信网络105之间的通信。因此,根据本示例实施例的通信处理单元103能够将加密密钥存储在存储器单元101b中的时段延长。原因在于:通过中止分析对象装置101与通信网络105之间的通信,预期的是加密密钥不会随着通信处理的进展而丢失、改变等,从而还预期的是加密密钥保持存储在存储器单元101b中。因此,根据本示例实施例的分析系统100能够获取很可能包括加密密钥在内的存储器区域数据。

因此,根据对分析对象装置101与通信网络105之间基于密码通信协议传送的通信数据进行分析的结果,根据本示例实施例的分析系统100能够从信息通信装置的存储器空间获取包括在密码通信协议下的加密处理中使用的加密密钥在内的数据。

更具体地,根据本示例实施例的分析系统100能够通过分析经由密码通信传送的通信数据,来判定分析对象装置101中的存储器单元101b是否正存储用于密码通信的加密密钥,并根据判定结果获取存储在存储单元101b中的数据。

此外,除了上述内容之外,根据本示例实施例的分析系统100提供如下有益效果。

根据本示例实施例的分析系统100中的密码分析单元104根据对包括加密密钥在内的密钥数据的特征加以指示的数据(密钥候选判定信息104b),从所获取的存储器区域数据中提取加密密钥候选(密钥数据候选)。然后,密码分析单元104根据分析结果判定信息104e判定利用所提取的密钥数据候选进行的通信数据解密(解码)是否成功。密码分析单元104能够基于这样的判定结果获取包括正确加密密钥在内的密钥数据和已解密通信数据。

因此,根据本示例实施例的分析系统100能够从存储器区域数据中有效地提取密钥数据候选。原因在于,密码分析单元104可以通过基于指示密钥数据的特征的数据(密钥候选判定信息104b)从存储器区域数据中提取密钥数据候选,来从密钥数据候选中排除与密钥数据的特征不一致的数据。根据本示例实施例的分析系统100能够判定包括在多个密钥数据候选中的正确密钥数据。因此,分析系统100能够有效地在存储器区域数据中搜索正确的密钥数据。

根据本示例实施例的分析系统100中的密码分析单元104能够利用所提取的正确密钥数据来对加密通信数据进行解密。

根据本示例实施例的分析系统100中的通信处理单元103能够通过使用由密码分析单元104解密的通信数据,来分析在分析对象装置101与通信网络105之间通信的通信数据的内容。例如,通信处理单元103能够根据分析结果来执行上述特定处理。

因此,根据本示例实施例的分析系统100能够分析在分析对象装置101与通信网络105之间传送的加密通信数据的至少一部分。此外,根据本示例实施例的分析系统100能够根据分析结果来执行特定处理。具体地,例如,根据本示例实施例的分析系统100能够分析在分析对象装置101上执行的诸如恶意软件之类的任何软件程序的密码通信的内容。具体地,根据本示例实施例的分析系统100能够通过对该软件程序和分析对象装置101的非侵入性技术来分析密码通信的内容,并且能够根据分析结果执行任何处理。

<第一示例实施例的变形示例实施例>

下面将描述上述第一示例实施例的变形示例实施例。

根据第一示例实施例的密钥候选提取单元104a根据密钥候选判定信息104b从在数据获取单元102获取的存储器区域数据中提取密钥数据候选。

根据本变形示例实施例的密钥候选提取单元104a与根据第一示例实施例的密钥候选提取单元104a相比,具有如下扩展功能:从存储器区域数据中提取上述加密处理数据的候选和密钥材料数据的候选中的至少一个。密钥材料数据用作基础材料数据以生成加密密钥。例如,这种密钥材料数据的候选可以包括ssl中的“pre_master_secret”和“master_secret”。

类似于上述密钥数据,在存储器区域数据所包括的数据中,这种加密处理数据和密钥材料数据可以分别具有特有特征。例如,这种数据的特征表示这种数据的属性(例如,数据本身的随机性)、这种数据在存储器区域数据中的布置模式(布置位置和被布置数据的顺序)等。

此外,类似于上述密钥数据的特征,加密处理数据和密钥材料数据的特征可以根据与密码通信的执行相关的各种类型的条件而变化。具体地,例如,这种数据的特征可以根据在上述密码通信协议中使用的加密算法、分析对象装置101中的与加密方案有关的处理的执行环境等而变化。

例如,在比较将gcm用作特定加密算法的密码操作模式的情况以及将cbc模式用作该密码操作模式的情况时,不仅作为加密处理数据的所需数据的类型不同,而且数据本身的特性也不同。例如,一些数据具有较高的随机性,并且一些数据被设置为预定值。另外,存储器区域数据中的加密处理数据的布置位置可以根据分析对象装置101中的加密处理的执行环境而变化。

与密钥数据的特征类似,通过预先收集指示所述数据特征的数据并从中提取模式,可以提供用于从存储器区域数据中提取所述数据的候选的判定标准。根据本变形示例实施例的密钥候选提取单元104a根据所述判定标准从存储器区域数据中提取数据候选。例如,判定标准可以包括搜索(提取)所述数据的候选的位置(地点)。备选地,例如,判定标准可以包括用于判定特定数据是否对应于所述数据的判定方法等。

根据第一示例实施例,可以将这样的判定标准添加到密钥候选判定信息104b。此外,可以将这样的判定标准添加到密钥候选提取单元104a作为新的组件(未示出)。

当提取上述密钥材料数据的候选时,根据本变形示例实施例的解密单元104d可以根据密钥材料数据的候选生成密钥数据候选。通常,针对每个密码通信协议(或密码通信协议中使用的加密算法),定义根据密钥材料数据生成加密密钥的方法。例如,在ssl协议的情况下,将根据“pre_master_secret”生成“master_secret”的方法和根据“master_secret”生成密码通信中使用的密钥等的方法定义为ssl协议的规范。

与第一示例性实施例类似,根据本变形示例实施例的解密单元104d通过使用密钥数据候选和加密处理数据的候选来对通信数据进行解密。与第一示例性实施例类似,根据本变形示例实施例的解密单元104d根据分析结果判定信息104e判定解密结果是否成功。

当通信数据的解密成功时,根据本变形示例实施例的解密单元104d可以将正确的密钥数据、已解密通信数据和加密处理数据存储(登记)到分析结果存储单元104f中。

根据本变形示例实施例的分析系统100能够基于预定的判定标准来提取加密处理数据的候选和密钥材料数据的候选中的至少一个。此外,与第一示例性实施例类似,根据本变形示例实施例的分析系统100能够根据使用所述数据对通信数据进行解密的结果,来获取正确的密钥数据和已解密通信数据。

<第二示例实施例>

接下来将参考图17来描述本发明的第二示例实施例。图17是示出了根据本示例实施例的分析系统1700的功能结构的框图。

根据本示例实施例的分析系统1700分析信息通信装置1701与通信网络1705之间的密码通信。然后,根据本示例实施例的分析系统1700根据分析结果执行特定处理。

信息通信装置1701至少包括计算单元1701a和存储器单元1701b。信息通信装置1701可以是可通信地连接到通信网络1705的任何信息通信装置。

例如,这种信息通信装置1701可以通过使用物理硬件来实现,例如可以是计算机。信息通信装置1701还可以是在预定虚拟化设施中提供的虚拟计算机(vm),在该虚拟化设施上可以虚拟化信息处理装置等的各种类型的硬件。

类似于根据上述各个示例实施例的计算单元101a,信息通信装置1701中的计算单元1701a是诸如cpu和mpu之类的计算装置,其读取存储在存储器单元1701b中的各种类型的数据和程序,并且执行在该程序中实现的各种类型的计算处理。

类似于根据上述各个示例实施例的存储器单元101b,信息通信装置1701中的存储器单元1701b具有信息通信装置1701中的主存储器的功能,并且存储在计算单元1701a中处理的各种类型的程序和数据。此外,可以从外部获取(转储)存储在存储器单元1701b中的数据。

可以认为信息通信装置1701类似于根据上述各个示例实施例的分析对象装置101。

通信网络1705是由有线通信网络、无线通信网络或两者的任意组合组成的通信网络,并且能够通过使用任何通信协议来建立通信信道。此外,例如,通信网络1705能够向信息通信装置1701提供在各个上述示例实施例中描述的通过各种类型的密码通信协议进行加密的通信信道。可以认为通信网络1705类似于根据上述各个示例实施例的通信网络105,因此将省略详细描述。

接下来,将描述分析系统1700的结构。

根据本示例实施例的分析系统1700包括数据获取单元1702和通信处理单元1703。

分析系统1700的每个组件可以通过使用诸如物理计算机之类的信息处理装置来提供,或者可以通过使用在虚拟化设施中提供的vm来提供。此外,分析系统1700的各个组件通过无线通信线路、有线通信线路或组合两者的任何通信线路可通信地彼此连接。这种通信线路可以采用已知技术,因此将省略详细描述。下文中将描述分析系统1700的每个组件。

数据获取单元1702能够从信息通信装置1701获取存储在存储器单元1701b中的数据的至少一部分。可以根据信息通信装置1701的特定结构适当地选择获取存储在存储器单元1701b中的数据的具体方法。例如,可以认为这样的数据获取单元1702类似于根据上述各个示例实施例的数据获取单元102。

通信处理单元1703根据在信息通信装置1701与通信网络1705之间根据特定密码通信协议传送的通信数据,判定包括在该密码通信协议下的加密处理中使用的加密密钥在内的密钥数据是否存储在存储器单元1701b中。通信处理单元1703根据该判定结果指示存储器获取单元获取存储在存储器单元中的数据。例如,可以认为通信处理单元1703类似于根据各个上述示例实施例的通信处理单元103。

例如,通信处理单元1703可以通过分析通信数据,来判定在特定密码通信协议下满足与加密密钥相关的特定条件的定时(例如,完成加密密钥的交换的定时)。然后,在该定时,通信处理单元1703可以指示数据获取单元1702获取存储在存储器单元1701b中的数据。

如上构成的分析系统1700(具体是数据获取单元1702)能够从信息通信装置1701的存储器单元1701b获取包括加密密钥的存储器区域数据,该加密密钥用于对信息通信装置1701与通信网络1705之间的通信信道进行加密。原因在于,当判定包括加密密钥在内的密钥数据正存储在存储器单元1701b中时,通信处理单元1703指示数据获取单元1702获取存储在存储器单元1701b中的数据。

因此,根据本示例实施例的分析系统1700能够从信息通信装置1701的存储器单元1701b获取包括在信息通信装置1701与通信网络1705之间的密码通信中使用的加密密钥在内的数据。

更具体地,根据本示例实施例的分析系统1700通过分析密码通信数据,来判定信息通信装置1701中的存储器单元1701b是否正存储在该密码通信中使用的加密密钥。然后,分析系统1700能够根据该判定结果获取存储在存储器单元1701b中的数据。

<第三示例实施例>

参考图18,将详细描述根据本发明第三示例实施例的处理控制装置2001的结构。图18是示出了根据本发明的第三示例性实施例的处理控制装置2001的结构的框图。

根据第三示例实施例的处理控制装置2001包括风险计算单元(风险计算器)2002和处理控制单元(处理控制器)2003。

处理控制装置2001能够通过通信网络2050可通信地连接到信息处理装置2051。处理控制装置2001基于存储在命令风险信息存储单元2004中的命令风险信息(稍后将参考图20描述)和对由信息处理装置2051执行的处理加以指示的处理信息(稍后将参考图21描述)来执行如图19例示的处理。

假设信息处理装置2051在某个时段期间执行如图21例示的处理。图21是概念性地示出了包括由信息处理装置2051执行的处理在内的处理信息的示例的图。

参考图21,处理信息包括至少一个处理操作,该处理操作与由信息处理装置2051执行的命令和表示对该命令的输入的自变量相关联。在该处理中,用于选择与该命令有关的处理的选项可以进一步与该命令相关联。

图21中例示的处理信息包括与命令“ping”和自变量“a.b.c.d”相关联的处理。该处理表示以自变量“a.b.c.d”作为输入执行命令“ping”的处理。图21中例示的处理信息表示信息处理装置2051已执行了与命令“sudo”有关的处理、与命令“ping”有关的处理、与命令“wget”有关的处理和与命令“ssh”有关的处理。

例如,命令“ping”表示用于检查通信网络是否可通信地连接的命令。例如,命令“sudo”表示用于在具有管理员权限的同时执行预定处理的命令。例如,命令“wget”表示用于获取多个文件的命令。例如,命令“ssh”表示用于登录到可通信连接的信息处理装置2051的命令,其中对在可通信连接的时段期间传送的通信数据进行加密。

然而,处理信息不限于图21所示的示例。处理信息可以是通过利用根据每个示例实施例的密码分析单元读取的加密密钥信息对加密处理信息进行解密而获取的信息。

处理控制装置2001基于存储在命令风险信息存储单元2004中的命令风险信息(例如,在图20中例示),判定与包括信息处理装置2051在某个时段期间执行的处理在内的处理信息有关的风险。当风险满足预定限制条件时,处理控制装置2001限制对信息处理装置2051的诸如通信处理之类的处理。图20是概念性地示出了存储在命令风险信息存储单元2004中的命令风险信息的示例的图。

为了便于描述,在以下每个示例实施例中,假设风险大于或等于0,并且较大的数值表示较高的风险,而接近0的数值表示较低的风险。

在图20中例示的命令风险信息中,信息处理装置2051可执行的命令与由该命令表示的处理的相关风险相关联。例如,在图20中例示的命令风险信息中,命令“reboot”与风险“15”相关联。这表明与命令“reboot”相关的风险(例如,与网络安全相关的风险)为15。在图20中例示的命令风险信息中,命令“ping”与风险“25”相关联。这表示与命令“ping”相关的风险为25。在图20中例示的命令风险信息中,命令“ssh”与风险“100”相关联。这表示与命令“ssh”相关的风险为100。

例如,命令“reboot”表示用于重启信息处理装置2051的命令。例如,命令“gcc”表示用于编译通过使用c语言描述的程序的命令。

命令、风险和命令风险信息不限于上面参考图20描述的示例。

为了便于描述,以下假设对于未包括在命令风险信息中的命令,其风险为0。

接下来,参考图19,将详细描述根据本发明第三示例实施例的处理控制装置2001中的处理。图19是示出了根据第三示例实施例的处理控制装置2001中的处理流程的流程图。

处理控制装置2001输入指示由信息处理装置2051执行的处理的处理信息(在图21中例示)。处理控制装置2001可以接收由信息处理装置2051通过通信网络2050发送的处理信息,或者可以从存储处理信息的存储装置(图18中未示出)读取处理信息。当信息处理装置2051是虚拟机时,处理控制装置2001可以读取物理地执行与该虚拟机有关的处理的信息处理装置中的存储器。处理控制装置2001输入处理信息(在图21中例示)的过程不限于上述示例。

在处理控制装置2001中,风险计算单元2002基于命令风险信息计算各自表示与输入的处理信息中包括的处理有关的风险的数值的总和(步骤s2001)。例如,关于处理信息中包括的处理,风险计算单元2002读取构成所述处理的命令,并基于命令风险信息(例如,在图20中例示)确定与所述命令相关联的风险。风险计算单元2002通过确定与处理信息中包括的处理有关的风险并将所确定的风险相加,来计算与处理信息(即,在某个时段期间由信息处理装置2051执行的处理操作)有关的风险。

接下来,处理控制单元2003判定由风险计算单元2002计算的表示风险的数值是否满足预定限制条件(步骤s2002)。例如,预定限制条件是“风险大于或等于预定阈值”。在这种情况下,处理控制单元2003判定风险计算单元2002计算的风险是否大于或等于预定阈值。

当表示与处理信息有关的风险的数值满足预定限制条件时(步骤s2002中的“是”),处理控制单元2003限制对信息处理装置2051的诸如通信处理之类的处理(步骤s2003)。当表示与处理信息有关的风险的数值不满足预定限制条件时(步骤s2002中的“否”),不执行步骤s2003中指示的处理。

当限制对信息处理装置2051的处理时,例如,处理控制单元2003限制通信网络2050中分配给信息处理装置2051的通信带宽。备选地,当限制对信息处理装置2051的诸如通信之类的处理时,例如,处理控制单元2003阻止通信网络2050中对信息处理装置2051的通信。例如,限制对信息处理装置2051的处理的处理可以是包括在稍后将参考图24描述的控制信息中的处理,并且不限于上述示例。

接下来,将描述根据本发明第三示例实施例的处理控制装置2001的相关有利效果。

根据第三示例实施例的处理控制装置2001能够更可靠地在网络安全领域中保持信息处理系统的稳固性。原因在于:针对包括由信息处理装置2051在某个时段期间执行的一个或多个处理操作在内的处理信息,通过计算该处理信息中包括的各个处理操作的风险总和,处理控制装置2001计算与该处理信息有关的风险,并且当与该处理信息有关的风险较高时,限制对信息处理装置2051的诸如通信之类的处理。因此,当在某个时段期间与信息处理装置2051执行的处理有关的风险的值较大时,处理控制装置2001限制对信息处理装置2051的通信。因此,根据第三示例实施例的处理控制装置2001能够更可靠地在网络安全领域中保持信息处理系统的稳固性。

<第四示例实施例>

接下来,将描述基于前述第三示例实施例的本发明的第四示例实施例。

在以下描述中,将主要描述本示例实施例的特征部分,并且相同的附图标记用于描述在前述第三示例实施例中描述的类似结构,因此省略多余的描述。

参考图22,将详细描述根据本发明第四示例实施例的处理控制装置2011的结构。图22是示出了根据本发明的第四示例性实施例的处理控制装置2011的结构的框图。

根据第四示例实施例的处理控制装置2011包括风险计算单元(风险计算器)2002和处理控制单元(处理控制器)2012。

处理控制装置2011能够通过通信网络2050可通信地连接到信息处理装置2051。处理控制装置2011基于存储在命令风险信息存储单元2004中的命令风险信息(在图20中例示)、存储在限制信息存储单元2005中的限制信息(稍后将参考图24描述)以及表示由信息处理装置2051执行的处理的处理信息(在图21中例示),来执行如图23例示的处理。

假设根据本示例实施例的信息处理装置2051是虚拟机。

参考图24,将描述限制信息。图24是概念性地示出了存储在限制信息存储单元2005中的限制信息的示例的图。

参考图24,限制信息将针对表示由信息处理装置2051执行的处理的处理信息(在图21中例示)而计算的风险与表示当计算的风险满足标准时对信息处理装置2051执行的处理的处理内容相关联。如图24所例示,例如,处理内容表示以下处理:限制对信息处理装置2051的处理(例如通信),或者使信息处理装置2051停止工作。

在图24中例示的限制信息中,标准“50≤风险<75”与处理内容“限制通信带宽”相关联。这表示当与信息处理装置2051执行的处理有关的处理信息(在图21中例示)的相关风险的值大于或等于50且小于75时,处理控制装置2011对信息处理装置2051执行限制通信带宽的处理。此外,在图24中例示的限制信息中,标准“0≤风险<50”与处理内容“(空)”相关联。这表示当表示信息处理装置2051执行的处理的处理信息(在图21中例示)的相关风险的值大于或等于0且小于50时,处理控制装置2011不对信息处理装置2051执行图24例示的处理。如上参考图24所述,假设在限制信息中,当风险较高时,与信息处理装置2051有关的处理的限制程度较高。

限制信息不限于上述示例。

接下来,参考图23,将详细描述根据本发明第四示例实施例的处理控制装置2011中的处理。图23是示出了根据第四示例实施例的处理控制装置2011中的处理流程的流程图。

在处理控制装置2011中,风险计算单元2002基于命令风险信息(在图20中例示)计算各自表示与包括在输入的处理信息(在图21中例示)中的处理有关的风险的数值的总和(步骤s2001)。

接下来,处理控制单元2012在限制信息(在图24中例示)中指定包括由风险计算单元2002计算的风险的标准,并选择与指定的标准有关的处理内容(步骤s2012)。例如,当风险计算单元2002计算的风险是124时,标准“100≤风险<200”包括风险“124”。在这种情况下,处理控制单元2012在限制信息(在图24中例示)中选择与标准“100≤风险<200”相关联的处理内容“阻止通信”。

处理控制单元2012根据所选的处理内容执行与信息处理装置2051有关的处理(步骤s2013)。例如,当选择处理内容“阻止通信”时,处理控制单元2012阻止对信息处理装置2051的通信。

关于图24中例示的限制信息,处理控制单元2012执行以下处理。具体地,

○当风险大于或等于50且小于75时,针对对信息处理装置2051的通信,限制通信带宽;

○当风险大于或等于75且小于100时,限制对由信息处理装置2051执行的处理分配的计算机资源(例如,缩短对由信息处理装置2051执行的处理分配的计算机资源的时段);

○当风险大于或等于100且小于200时,阻止对信息处理装置2051的通信;

○当风险大于200时,信息处理装置2051被关闭(停止工作);并且

○当风险大于或等于0且小于50时,不对信息处理装置2051执行上述四个处理操作中的任何处理操作。

换句话说,处理控制单元2012根据由风险计算单元2002计算的风险的大小,基于限制信息(在图24中例示)确定与信息处理装置2051有关的处理限制程度,并根据所确定的程度来限制与信息处理装置2051有关的处理。

虽然假设根据本示例实施例的信息处理装置2051是虚拟机,但是该装置可以是物理信息处理装置,并且在这种情况下,限制信息(在图24中例示)不需要包括虚拟机特有的处理(例如,限制用于虚拟机的计算机资源)。

接下来,将描述根据本发明第四示例实施例的处理控制装置2011的相关有利效果。

根据第四示例实施例的处理控制装置2011能够更可靠地在网络安全领域中保持信息处理系统的稳固性。原因类似于第三示例实施例中描述的原因。

此外,根据第四示例实施例的处理控制装置2011能够更灵活地处理对信息处理系统的风险。原因在于,处理控制装置2011根据与表示在信息处理装置2051中执行的处理的处理信息(例如,在图21中例示)有关的风险大小,来限制与信息处理装置2051有关的处理。

<第五示例实施例>

接下来,将描述基于前述第三示例实施例的本发明的第五示例实施例。

在以下描述中,将主要描述本示例实施例的特征部分,并且相同的附图标记用于描述在前述第三示例实施例中描述的类似结构,因此省略多余的描述。

参考图25,将详细描述根据本发明第五示例实施例的包括处理控制装置2021在内的信息处理装置2020的结构。图25是示出了根据本发明的第五示例性实施例的包括处理控制装置2021在内的信息处理装置2020的结构的框图。

信息处理装置2020包括处理控制装置2021、虚拟机2028、命令风险信息存储单元2004和存储器2029。处理控制装置2021包括风险计算单元(风险计算器)2002、处理控制单元(处理控制器)2003、密码分析单元(密码分析器)2024、处理解码单元(处理控制器)2025和数据获取单元(数据获取器)2026。处理控制装置2021还可以包括处理信息存储单元2027。

信息处理装置2020可通信地连接到通信网络2050,并且能够与外部信息处理装置2020通信。

虚拟机2028可以按照要被分析的程序执行处理。此外,虚拟机2028不需要包括对程序进行分析的功能(例如调试器、反汇编器或反编译器)。

密码分析单元2024的功能可以类似于图1所示的密码分析单元104的功能。数据获取单元2026的功能可以类似于图1所示的数据获取单元102或图17所示的数据获取单元1702的功能。例如,虚拟机2028的功能类似于图1中所示的计算单元101a或图17中所示的计算单元1701a的功能。例如,存储器2029能够存储在实际处理与虚拟机2028有关的处理时访问的数据。当执行与虚拟机2028有关的处理时,信息处理装置2020访问存储在存储器2029中的数据。

为了便于描述,假设对虚拟机2028的通信根据密码方法进行了加密。进一步假设处理信息存储单元2027存储了根据该密码方法加密的处理信息(下文中称为“加密处理信息”)。在这种情况下,通信处理单元(在图1、图2、图3或图17中例示)监视加密通信数据,并且基于所述通信数据,通过对处理信息(在图21中例示)进行加密来生成加密处理信息。

接下来,参考图26,将详细描述根据本发明第五示例实施例的信息处理装置2020中的处理。图26是示出了根据第五示例实施例的信息处理装置2020中的处理流程的流程图。

密码分析单元2024执行如参考图11中的步骤s1101至s1105、图12a和图12b中的步骤s1201至s1208以及图12a中的步骤s1210(或图12b中的步骤s1209b)、图14或图15所述的处理。通过该处理,密码分析单元2024读取表示加密密钥的加密信息(步骤s2021)。

处理解码单元2025从处理信息存储单元2027读取加密处理信息,并通过使用由密码分析单元2024读取的加密信息对所述加密处理信息进行解密(步骤s2022)。例如,处理解码单元2025执行参考图11中所示的步骤s1106、图12a中所示的步骤s1210、图12b中所示的步骤s1209b、图15中所示的步骤s1505或图16所述的处理等。因此,处理解码单元2025通过对加密处理信息进行解密来生成处理信息(在图21中例示)。

随后,对解密处理信息执行与图19所示的处理类似的处理。

接下来,将描述根据本发明第五示例实施例的处理控制装置2021的相关有利效果。

根据第五示例实施例的处理控制装置2021能够更可靠地在网络安全领域中保持信息处理系统的稳固性。原因类似于第三示例实施例中描述的原因。

此外,即使在执行加密通信的情况下,根据第五示例实施例的处理控制装置2021也能够更可靠地在网络安全领域中保持信息处理系统的稳固性。原因在于,通过执行与第一至第三示例实施例中示出的分析系统类似的处理,根据第五示例实施例的处理控制装置2021对加密通信进行解密,并基于表示与解密通信有关的处理的处理信息(在图21中示例)的相关风险,来控制通信。

此外,取决于按照要被分析的对象程序执行处理的虚拟机2028是否具有对程序进行分析的功能,与该对象程序有关的处理可能发生变化。例如,当虚拟机2028具有对程序进行分析的功能时恶意软件停止处理,且当虚拟机2028不具有对程序进行分析的功能时恶意软件执行恶意处理。因此,当虚拟机2028不具有对程序进行分析的功能时,即使在程序根据是否具有对程序进行分析的功能而执行不同处理的情况下,根据本示例实施例的处理控制装置2021也能够在网络安全领域中更可靠地保持信息处理系统的稳固性。

(硬件结构示例)

将描述实现根据本发明第一示例实施例的分析系统、根据第二示例实施例的分析系统或根据第三至第五示例实施例的处理控制装置的硬件资源的结构示例。然而,分析系统或处理控制装置可以通过物理地或功能地使用至少两个计算处理装置来实现。此外,分析系统或处理控制装置可以实现为专用装置。

图27是示意性地示出了能够实现根据第一示例实施例的分析系统、根据第二示例实施例的分析系统或根据第三示例实施例至第五示例实施例的处理控制装置的计算处理装置的硬件结构的框图。计算处理装置20包括中央处理单元(cpu)21、存储器22、盘23、非暂时性记录介质24和通信接口(下文中,表示为“通信i/f”)27。计算处理装置20可以连接输入装置25和输出装置26。计算处理装置20可以经由通信i/f27向另一计算处理装置和通信装置发送信息或从另一计算处理装置和通信装置接收信息。

非暂时性记录介质24例如是计算机可读的紧凑盘、数字多功能盘。非暂时性记录介质24可以是通用串行总线(usb)存储器、固态驱动器等。非暂时性记录介质24允许保持并携带相关程序而无需电源。非暂时性记录介质24不限于上述介质。此外,可以通过经由通信i/f27的通信网络而不是非暂时性记录介质24来传送相关程序。

换句话说,当执行由盘23存储的软件程序(计算机程序:下文中简称为“程序”)时,cpu21将所述程序拷贝在存储器22上并执行运算处理。cpu21从存储器22读取程序执行所需的数据。当需要输出时,cpu21将输出结果输出到输出装置26。当从外部输入程序时,cpu21从输入装置25读取所述程序。cpu21解释并执行存在于存储器22上的程序(图11、图12a、图12b或图14至图16)或处理控制程序(图19、图23或图26),其与由上述图1至图3、图17、图18、图22或图25所示的每个单元指示的功能(处理)相对应。cpu21顺序地执行在本发明的每个示例实施例中描述的处理。

换句话说,在这种情况下,可以想到的是也可以使用分析程序或处理控制程序来实现本发明。此外,可以想到的是本发明还可以使用存储分析程序或处理控制程序的计算机可读非暂时性记录介质来实现。

通过使用上述示例实施例作为示例情况描述了本发明。但是,本发明不限于上述示例实施例。换句话说,在不脱离本发明的范围的情况下,本发明可应用本领域技术人员可以理解的各种形式。

本申请基于并要求2016年6月23日提交的日本专利申请no.2016-124682的优先权,其全部公开通过引用并入本文。

附图标记列表

100分析系统,

101分析对象装置,

102存储器获取单元,

103通信处理单元,

104密码分析单元,

105通信网络,

106通信信道,

107另一信息通信装置,

1700分析系统,

1701信息通信装置,

1702数据获取单元,

1703通信处理单元,

1705通信网络,

2001处理控制装置,

2002风险计算单元,

2003处理控制单元,

2004命令风险信息存储单元,

2050通信网络,

2051信息处理装置,

2011处理控制装置,

2012处理控制单元,

2005限制信息存储单元,

2020信息处理装置,

2021处理控制装置,

2024密码分析单元,

2025处理解码单元,

2026数据获取单元,

2027处理信息存储单元,

2028虚拟机,

2029存储器,

20计算处理装置,

21cpu,

22存储器,

23盘,

24非暂时性记录介质,

25输入装置,

26输出装置,

27通信if。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1