CN111066282A - 验证装置、验证程序和验证方法 - Google Patents

验证装置、验证程序和验证方法 Download PDF

Info

Publication number
CN111066282A
CN111066282A CN201780094713.0A CN201780094713A CN111066282A CN 111066282 A CN111066282 A CN 111066282A CN 201780094713 A CN201780094713 A CN 201780094713A CN 111066282 A CN111066282 A CN 111066282A
Authority
CN
China
Prior art keywords
domain name
public key
program
received data
owner
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.)
Withdrawn
Application number
CN201780094713.0A
Other languages
English (en)
Inventor
榊原裕之
河内清人
祢宜知孝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN111066282A publication Critical patent/CN111066282A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

取得部(91)取得接收数据(103)。第1提取部(92)从接收数据(103)中提取下载域名即域名(108)。第2提取部(93)提取表示接收数据(103)中包含的公开密钥证书的所有者的所有者信息(107)。检索部(16)将所有者信息(107)作为检索关键字来检索域信息检索服务(6),取得所有者信息(107)所示的所有者管理的管理域名(202)。判定部(18)通过管理域名(202)和域名(108)的核对,判定接收数据(103)中包含的程序是否非法。

Description

验证装置、验证程序和验证方法
技术领域
本发明涉及验证被赋予代码签名的程序是否合法的验证装置、验证程序和验证方法。
背景技术
当恶意软件在OS(Operating System:操作系统)中活动时,恶意软件例如采取驱动器的形式。下面,以驱动器为例进行说明。最近的OS对驱动器要求正式的代码签名。但是,有时通过被盗用的“代码签名密钥和公开密钥证书”对在网络攻击中使用的当前的恶意软件赋予合法的代码签名,不存在检测被盗用的手段。因此,用户安装伪装成驱动器的程序,终端感染恶意软件。可认为攻击者事前通过网络攻击从企业或组织盗取代码签名密钥和公开密钥证书,对恶意软件进行签名,滥用于其他网络攻击。
作为秘密密钥的代码签名密钥应该在合法的所有者中安全地运用。存在安全地保存代码签名密钥并对输入的数据赋予签名的专用硬件(HSM:Hardware Security Module)。代码签名密钥无法从HSM提取到外部,因此,不能通过网络攻击提取代码签名密钥。但是,运用HSM要花费购入和维护的费用,因此,有时不被利用。该情况下,可认为代码签名密钥和公开密钥证书作为文件保存在OS上进行管理。
在网络攻击的报告中,报告了许多检索保存有密钥和公开密钥证书且扩展符为“.p12”的文件的例子。可知攻击者的目标是作为文件保存在OS上的密钥和公开密钥证书。该情况下,不一定必须是代码签名用的密钥和公开密钥证书,但是,可认为攻击者的目标还是代码签名用的数据。
作为代码签名密钥和公开密钥证书的防盗,可考虑通过在事件日志中发现正在检索扩展符“p12”的文件的可疑进程来检测盗取的方法。但是,这是代码签名密钥和公开密钥证书的所有者侧的对策,与HSM相同,无法保证所有者必须作为对策来实施。因此,作为不感染带代码签名的恶意软件的对策,需要的是接受带代码签名的恶意软件的一侧的检查功能。
作为现有技术,存在检查为了验证代码签名的正确性而使用的与代码签名密钥成对的公开密钥证书是否有效的技术(例如非专利文献1和非专利文献2)。
现有技术文献
非专利文献
非专利文献1:Certificate Revocation List(CRL),IETF RFC 5280,InternetX.509Public Key Infrastructure Certificate and Certificate Revocation List(CRL)Profile.
非专利文献2:Online Certificate Status Protocol(OCSP),IETF RFC2560,X.509Internet Public Key Infrastructure Online Certificate Status Protocol-OCSP.
CRL(Certificate Revocation List)是揭示了失效的公开密钥证书的信息的失效列表,OCSP是在线查询公开密钥证书的失效状态的协议,但是,它们只能判断为“失效的公开密钥证书”无效。失效由于第三方或所有者的申报而成立,因此,只要没人发觉被盗或者所有者没有发觉,则不产生该申报。此外,很难认为攻击者申报失效。由此,作为针对带代码签名的恶意软件的对策,这些技术不是有效的。
由此,在现有技术中,无法防止利用被攻击者盗取的代码签名密钥和公开密钥证书进行带代码签名的恶意软件的非法安装。
发明内容
发明要解决的课题
本发明的目的在于,提供能够检测利用被攻击者盗取的“代码签名密钥和公开密钥证书”赋予了非法的代码签名的程序的验证装置。
用于解决课题的手段
本发明的验证装置具有:取得部,其取得接收数据,该接收数据包含公开密钥证书、程序和对所述程序赋予的电子签名,所述公开密钥证书包含公开密钥;第1提取部,其从所述接收数据中提取表示所述接收数据的发送方的域名的下载域名;第2提取部,其从所述接收数据中包含的所述公开密钥证书中,提取表示所述公开密钥证书的所有者的所有者信息;检索部,其将所述所有者信息作为检索关键字来检索域信息检索服务,由此,从所述域信息检索服务取得所述所有者信息所示的所述所有者管理的管理域名;以及判定部,其对由所述检索部取得的所述管理域名和由所述第1提取部提取出的所述下载域名进行核对,根据核对结果判定所述接收数据中包含的所述程序是否非法。
发明效果
本发明的验证装置具有判定部,该判定部对由检索部取得的管理域名和由第1提取部提取出的下载域名进行核对,根据核对结果判定接收数据中包含的程序是否非法。由此,根据本发明的验证装置,能够检测通过被攻击者盗取的代码签名密钥和公开密钥证书赋予了非法的代码签名的程序。
附图说明
图1是实施方式1的图,是示出验证装置1的运用形式的图。
图2是实施方式1的图,是验证装置1的功能结构图。
图3是实施方式1的图,是验证装置1的硬件结构图。
图4是实施方式1的图,是示出验证装置1的动作概要的流程图。
图5是实施方式1的图,是示出分析部12和域名提取部17的处理的流程图。
图6是实施方式1的图,是示出程序信息提取部13从内容104b中提取程序信息105的处理的流程图。
图7是实施方式1的图,是示出程序信息105的图。
图8是实施方式1的图,是示出证书提取部14从程序信息105中提取证书105d的处理的流程图。
图9是实施方式1的图,是示出判定部18检查域名的处理的流程图。
图10是实施方式1的图,是示出验证装置1的变形例的图。
图11是实施方式2的图,是验证装置1的功能结构图。
图12是实施方式2的图,是示出判定部18检查证书的所有者的处理的流程图。
图13是实施方式3的图,是示出证书提取部14的处理的流程图。
具体实施方式
下面,使用附图对本发明的实施方式进行说明。另外,在各图中,对相同或相当的部分标注相同标号。在实施方式的说明中,针对相同或相当的部分适当省略或简化说明。
实施方式1
参照图1~图10对实施方式1的代码签名验证装置1进行说明。代码签名验证装置1是验证进行了代码签名的程序是否合法的装置。下面,代码签名验证装置1记作验证装置1。
验证装置1取得程序信息,验证程序是否合法,该程序信息包含公开密钥证书、程序和针对程序的签名,所述公开密钥证书包含公开密钥。下面,公开密钥证书称作证书。
图1是示出验证装置1的运用形式的图。参照图1对验证装置1的运用形式进行说明。攻击者2在Web站点配置带代码签名的非法程序。
下面,带代码签名的非法程序记作非法程序信息400。如图1所示,非法程序信息400由以下的(a)(b)(c)构成。
(a)图1中记载作文件401的非法程序的主体。
(b)图1中记载作签名402的代码签名。
(c)包含公开密钥403a的、验证代码签名合法性的证书403。
使用终端装置5(以下记作终端5)的用户7访问从攻击者2发送的伪装成程序支持的邮件中记载的URL(Uniform Resource Locator)。这里,该URL是配置有非法程序信息400的Web站点的URL。或者,该Web站点伪装成程序的下载站点,用户7通过检索服务进行检索的结果是示出该Web站点,用户7偶然访问该Web站点。其结果是,非法程序信息400到达终端5。
或者,攻击者2有时伪装成程序支持,通过添加邮件向用户7发送非法程序信息400。其结果是,非法程序信息400到达终端5。即,作为向用户7发布非法程序信息400的路径,存在来自Web站点的下载和添加邮件的发送。其结果是,非法程序信息400到达终端5。在安装非法程序信息400时,在终端5中不出现代码签名的警告,因此,用户7安装文件401而没有感到可疑。其结果是,终端5感染作为恶意软件的文件401。这样,终端5感染非法程序信息400。
参照图1对验证装置1的动作概要进行说明。
(1)验证装置1接收组织具有的邮件服务器3或代理服务器4接收到的分组。
在邮件服务器3的情况下是指面向用户7的邮件的接收,在代理服务器4的情况下是指Web内容的接收。在来自邮件服务器3的数据102即分组中,添加邮件的文件包含非法程序信息400。在来自代理服务器4的数据101即分组中,下载的Web内容包含非法程序信息400。
(2)验证装置1从分组中提取非法程序信息400的发送方即下载域名108(以下记作域名108)。此外,验证装置1从分组中提取非法程序信息400,进而提取证书403。
(3)验证装置1提取证书403中包含的表示证书403的所有者的所有者信息107。
(4)验证装置1将所有者信息107作为检索关键字通过后述的域信息检索服务6进行检索,得到管理域名202。
(5)验证装置1验证所取得的管理域名202是否包含提取出的域名108,判定被赋予了签名的程序是否合法。
参照图2和图3对验证装置1的结构进行说明。
图2是实施方式1的验证装置1的功能结构图。
图3是实施方式1中的验证装置1的硬件结构图。
验证装置1是计算机。验证装置1具有处理器301,并且具有存储器302、通信接口303、辅助存储装置304和输入输出接口305这样的其他硬件。处理器301经由信号线306而与其他硬件连接,对这些其他硬件进行控制。
作为功能元素,验证装置1具有输入部11、分析部12、程序信息提取部13、证书提取部14、证书属性提取部15、检索部16、域名提取部17、判定部18和输出部19。输入部11、分析部12、程序信息提取部13、证书提取部14、证书属性提取部15、检索部16、域名提取部17、判定部18和输出部19的功能通过软件实现。
处理器301是执行验证程序的装置。验证程序是实现输入部11、分析部12、程序信息提取部13、证书提取部14、证书属性提取部15、检索部16、域名提取部17、判定部18和输出部19的功能的程序。处理器301是进行运算处理的IC(Integrated Circuit:集成电路)。处理器301的具体例是CPU(Central Processing Unit:中央处理单元)、DSP(Digital SignalProcessor:数字信号处理器)、GPU(Graphics Processing Unit:图形处理单元)。
存储器302是暂时存储数据的存储装置。存储器302的具体例是SRAM(StaticRandom Access Memory:静态随机存取存储器)、DRAM(Dynamic Random Access Memory:动态随机存取存储器)。存储器302保持处理器301的运算结果。
通信接口303从邮件服务器3、代理服务器4这种服务器受理通信分组数据。通信接口303也可以是与LAN(Local Area Network:局域网)连接的端口。
辅助存储装置304是保管数据的存储装置。辅助存储装置304的具体例是HDD(HardDisk Drive:硬盘驱动器)。此外,辅助存储装置304也可以是SD(注册商标)(SecureDigital:安全数字)存储卡、CF(CompactFlash:压缩闪存)、NAND闪存、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD(Digital Versatile Disk:数字多功能盘)这样的移动存储介质。
在输入输出接口305连接有用于输入输出数据和结果的装置。作为用于输入输出数据和结果的装置的例子,是鼠标、键盘和显示器。
验证程序被读入到处理器301,由处理器301执行。在存储器302中不仅存储有验证程序,还存储有OS(Operating System:操作系统)。处理器301一边执行OS一边执行验证程序。验证程序和OS也可以存储在辅助存储装置304中。辅助存储装置304中存储的验证程序和OS被载入到存储器302,由处理器301执行。另外,验证程序的一部分或全部也可以嵌入OS中。
验证装置1也可以具有代替处理器301的多个处理器。这些多个处理器分担执行验证程序。与处理器301同样,各个处理器是执行验证程序的装置。
由验证程序利用、处理或输出的数据、信息、信号值和变量值存储在存储器302、辅助存储装置304或处理器301内的寄存器或高速缓冲存储器中。
验证程序是使计算机执行将输入部11、分析部12、程序信息提取部13、证书提取部14、证书属性提取部15、检索部16、域名提取部17、判定部18和输出部19的各部的“部”改写成“处理”、“步骤”或“工序”的各处理、各步骤或各工序的程序。此外,验证方法是通过计算机即验证装置1执行验证程序而进行的方法。验证程序可以记录在计算机能读取的存储介质中来提供,也可以作为程序产品来提供。
***动作的说明***
参照图2和图4~图9对验证装置1的动作进行说明。
图4是示出验证装置1的动作概要的流程图。如图2所示,输入部11经由通信接口303从网络接收来自代理服务器4的数据101和来自邮件服务器3的数据102,作为接收数据103输出到分析部12。
分析部12接收接收数据103。分析部12是取得部91。接收数据103包含公开密钥证书、程序和对该程序赋予的电子签名,所述公开密钥证书包含公开密钥。取得部91取得接收数据103。
分析部12按照邮件和Web通信数据的格式,将接收数据103分离成标题104a和内容104b进行提取。邮件和Web通信中发送接收的格式一般由标准格式决定,因此,能够进行分离成标题104a和内容104b的提取处理。接着,分析部12将内容104b输出到程序信息提取部13,将标题104a输出到域名提取部17。
域名提取部17是第1提取部92。第1提取部92从接收数据103中提取表示接收数据103的发送方的域名的下载域名即域名108。具体而言如下所述。
域名提取部17从标题104a中提取接收数据103的下载源的信息。在从Web站点下载了文件的情况下,域名提取部17能够从HTTP(HyperText Transfer Protocol)标题中的Host中提取Web站点的域名。此外,在接收到添加邮件的情况下,域名提取部17能够从邮件的发送方邮件地址的@以后提取域名。如图4的步骤S101所示,域名提取部17提取接收数据103的发布方的域名。域名提取部17将提取出的域名作为域名108输出到判定部18。
<分析部12和域名提取部17的动作>
图5是示出分析部12和域名提取部17的处理的流程图。参照图5对分析部12和域名提取部17的处理进行说明。括弧所示的分析部12和域名提取部17表示是动作的主体。
在步骤S201中,分析部12判定接收数据103的格式。在该处理中,如果是来自邮件服务器102的数据,则分析部12判定为邮件,如果是来自代理服务器的数据,则分析部12判定为基于HTTP的Web通信。
在步骤S202中,分析部12判定是否是邮件。
在步骤S203中,分析部12调查接收数据103中是否存在Content-Disposition:attachement。如果存在Content-Disposition:attachement,则分析部12从接收数据103中提取标题。
在步骤S204中,关于该提取,分析部12提取从数据的开头到2个破折号“--”为止。分析部12将该提取结果作为标题104a。
在步骤S205中,域名提取部17从标题104a的From中提取发送方邮件地址。
在步骤S206中,域名提取部17提取比发送方邮件地址的@更靠右侧的部分。将其作为域名108。
在步骤S207中,分析部12提取从Content-Disposition:attachement的下一个空白行的下一行到2个破折号“--”紧前的空白行紧前的数据为止作为内容104b。
在步骤S208中,分析部12在不是邮件的情况下判定是否是Web通信。在不是Web通信的情况下,处理结束。
在步骤S209中,分析部12提取HTTP请求,提取从开头到最初的空行为止作为标题104a。
在步骤S210中,域名提取部17提取标题104a内的Host标题的值,作为域名108。
在步骤S211中,分析部12监视来自代理服务器4的数据,提取针对HTTP请求的HTTP响应。
在步骤S212中,分析部12调查HTTP响应中是否存在Content-Disposition。
在步骤S213中,如果存在Content-Disposition,则分析部12提取响应内的从空白行起的主体部。分析部12将提取结果作为内容104b。
在实施了步骤S207或步骤S213的处理的情况下,在其过程中提取域名108。
程序信息提取部13从内容104b中提取带代码签名的数据。如后所述,带代码签名的数据是与非法程序信息400相同的结构。如后所述,带代码签名的数据有时记作程序信息105。如果是邮件,则是指添加文件,如果是Web通信,则是指下载的文件。关于该处理,格式也由标准格式决定,因此,能够进行提取的处理。作为标准格式的例子,存在RFC3852的CMS(Cryptgraphic Message Syntax)。
另外,以下所述的在邮件的情况下提取带代码签名的数据的方法和在Web通信的情况下提取带代码签名的数据的方法均是一例。由此,邮件中的提取方法和Web通信的情况下的提取方法不限于以下说明的方法。
程序信息提取部13、证书提取部14和证书属性提取部15构成第2提取部93。第2提取部93从接收数据103中包含的证书中,提取表示证书的所有者的所有者信息107。下面具体进行说明。
<程序信息提取部13的动作>
图6是示出程序信息提取部13从内容104b中提取带代码签名的数据的处理的流程图。带代码签名的数据有时记作程序信息105。程序信息105的结构与图1的非法程序信息400的结构相同。
图7是示出程序信息105的图。如图7所示,程序信息105包含以下的(a)(b)(c)。
(a)程序105a、
(b)签名105b、
(c)具有公开密钥105c的证书105d
参照图6进行说明。下面,以CMS为例进行说明。程序信息提取部13判定是否利用CMS对内容104b进行了格式化。例如,在CMS中,利用ASN.1对内容104b进行了编码。程序信息提取部13检查是否能够利用ASN.1对内容104b进行解码。
在能够解码的情况下,在步骤S301和步骤S302中,程序信息提取部13检查被解码的内容104b中是否包含被赋予了目标标识符=1.2.840.113549.1.7.2的signed-data即签名数据。
如果包含签名数据,则在步骤S303中,程序信息提取部13提取签名数据作为程序信息105。如果不包含签名数据,则程序信息提取部13结束处理。
<证书提取部14的动作>
图8是示出证书提取部14从程序信息105中提取代码签名证书即证书105d的处理的流程图。参照图8对证书提取部14的处理进行说明。
证书提取部14从程序信息105中提取证书105d作为代码签名证书。在作为程序信息105的signed-data中存在用于验证签名的certificates作为签名者的数据。
在步骤S401中,证书提取部14从程序信息105中提取certificates。
在步骤S402中,证书提取部14从程序信息105中提取作为签名者的信息的signerInfos。
在步骤S403中,证书提取部14从signerInfors中的signerInfo中提取SignerIdentifier。
SignerIdentifier是确定签名中使用的证书的信息。
在步骤S404中,证书提取部14从certificates中提取与SignerIdentifier一致的certificate。证书提取部14将提取出的certificate作为签名中使用的代码签名证书即证书105d输出到证书属性提取部15。
<证书属性提取部15的动作>
参照图2对证书属性提取部15的动作进行说明。证书属性提取部15从证书105d中提取表示证书105d的所有者的属性即包含Subject或SubjectAltName的证书属性。证书属性是表示证书105d的所有者的所有者信息107。如图4的步骤S102所示,证书属性提取部15提取证书属性。代码签名证书如非专利文献1记载的那样,一般是X.509的形式。X.509的形式被标准格式化,因此,能够提取证书属性。证书属性提取部15将作为证书属性的所有者信息107输出到检索部16。
<检索部16的动作>
检索部16将所有者信息107作为检索关键字来检索域信息检索服务6,由此,从域信息检索服务6取得所有者信息107所示的所有者管理的管理域名。下面具体进行说明。
如图4的步骤S103所示,检索部16将所有者信息107作为检索关键字,经由通信接口303向域信息检索服务6发送所有者信息107。域信息检索服务6是Web服务器装置。具体而言,域信息检索服务6是在Web服务器中进行动作的域信息检索程序。作为所有者信息107提取出的Subject包含有被称作CommonName的与证书持有方的姓名相当的信息。除此之外,Subject包含有Organaization、OrganaizationUnit这样的与证书持有方所属的组织的名称或部门的名称相当的属性。另外,有时公司的名称包含在CommonName中。例如“CommonName=Example Systems,Incorporated”这种情况。
<域信息检索服务6的动作>
域信息检索服务6输入所有者信息107作为检索关键字,检索由所有者信息107管理的域。在域信息检索服务6中,域的所有者有时以登记者名或管理者名这样的各种名称进行管理,但是,这里设域信息检索服务6参照管理者名。其结果是,将由域信息检索服务6检索到的信息作为管理域名202。
例如,如以下的(1)~(4)那样检索1个以上的管理域名202。
(1)example123456789.com
(2)www1.example123456789.com
(3)www2.example123456789.com
(4)abcdefghijklmn.co.jp
这些管理域名202用于Web站点和邮件地址双方。根据组织,还存在对乍一看没有关系的域名彼此进行管理的组织。在上述例子的情况下,仅观察域名时,(1)~(3)和(4)没有关系,但是被相同的组织管理。如果组织是企业,则在运营多个公司并开展各种业务的情况下出现这种情况。域信息检索服务6向检索部16发送管理域名202作为检索结果。
检索部16在从域信息检索服务6接受管理域名202的情况下,向判定部18输出管理域名202。
<判定部18的动作>
判定部18对由检索部16取得的管理域名202和由第1提取部92提取出的下载域名即域名108进行核对,根据核对结果判定接收数据103中包含的程序是否非法。下面具体进行说明。
判定部18被输入管理域名202和域名108。如图4的步骤S104和步骤S105所示,判定部18检查管理域名202是否包含域名108。如图4的步骤S106所示,在检查的结果为管理域名202包含域名108的情况下,判定部18判定为得到合法的程序。如图4的步骤S106a所示,在管理域名202不包含域名108的情况下,判定部18判定为非法程序。这是因为,从证书的所有者正在运营的域以外得到程序。
图9是示出判定部18检查域名的处理的流程图。参照图9对判定部18的处理进行详细说明。
在步骤S501中,判定部18将管理域名202转换成列表。在列表中存在一个以上的管理域名202。设列表的元素数为n,最初的列表元素为i=1。
设列表的元素为管理域名_i(i=1~n)。
在步骤S502中,判定部18对result这样的变量设定NG。
在步骤S503中,判定部18检查列表是否结束。如果步骤S503为否,则处理进入步骤S504。
在步骤S504中,判定部18检查域名108是否与管理域名_i一致。
在步骤S505中,如果一致(步骤S504:是),则判定部18对变量result设定OK,处理结束。
如果不一致(步骤S504:否),则处理进入步骤S506,i增加1,处理进入步骤S503。
按照图9的流程图,如果在管理域名202中包含域名108,则设result=OK,处理结束,如果不包含域名108,则设result=NG,处理结束。result=OK表示判定部18判定为程序合法,result=NG表示判定部18判定为程序非法。
如果是代码签名密钥和证书被攻击者盗取而生成的非法程序信息400,则非法程序信息400从攻击者管理的域名经由Web站点或添加邮件进行发布。因此,在提取出攻击者管理的域名作为域名108的情况下,从域信息检索服务6取得的管理域名202不包含域名108。由此,可知程序即文件401非法。
判定部18将表示合法或非法的判定结果作为判定结果109输出到输出部19。判定结果109可以包含以下的(1)~(4)的信息。
(1)表示合法或非法的判定结果、
(2)域名108、
(3)所有者信息107、
(4)程序信息105
另外,在分析部12对数据进行分析时,如果是来自Web站点的下载,则可以提取下载的时间戳,如果是添加邮件,则可以提取接收到的时间戳。分析部12将提取出的时间戳111输入到判定部18。判定部18也可以将输入的时间戳111包含在判定结果109中。通过如上所述构成判定结果109,能够通过时间戳111和域名108识别何时从何处得到的程序信息105非法。
<输出部19的动作>
输出部19将判定结果109加工成输出格式,作为判定结果110输出到输入输出接口305。输出格式例如是文本文件的格式。输出部19也可以具有显示处理部19a,该显示处理部19a具有以验证装置1的利用者能够目视的方式在显示装置的画面中显示判定结果110的功能。
***实施方式1的效果***
实施方式1的验证装置1针对通过来自Web站点的下载而得到或作为添加邮件中添加的文件而得到的程序信息105,根据对应的证书内的所有者的信息,调查该所有者正在管理的域名。然后,验证是否从该域名得到了程序信息105。通过该验证,能够检测是否通过被盗的代码签名密钥和证书生成了带代码签名的程序即程序信息105。
<变形例>
在实施方式1中,验证装置1的功能通过软件实现,但是,作为变形例,验证装置1的功能也可以通过硬件实现。
图10是示出实施方式1的变形例的验证装置1的结构的图。验证装置1具有电子电路99、辅助存储装置304、通信接口303、输入输出接口305。电子电路99是实现输入部11、分析部12、程序信息提取部13、证书提取部14、证书属性提取部15、检索部16、域名提取部17、判定部18和输出部19的功能的专用电子电路。具体而言,电子电路99是单一电路、复合电路、程序化的处理器、并行程序化的处理器、逻辑IC、GA、ASIC或FPGA。GA是Gate Array(门阵列)的简称。ASIC是Application Specific Integrated Circuit(面向特定用途的集成电路)的简称。FPGA是Field-Programmable Gate Array(现场可编程门阵列)的简称。验证装置1的结构元素的功能可以通过1个电子电路实现,也可以分散到多个电子电路中实现。作为其他的变形例,也可以是验证装置1的结构元素的一部分功能通过电子电路实现,其余功能通过软件实现。
处理器和电子电路分别被称作处理线路。即,在验证装置1中,输入部11、分析部12、程序信息提取部13、证书提取部14、证书属性提取部15、检索部16、域名提取部17、判定部18和输出部19的功能通过处理线路实现。
在验证装置1中,也可以将输入部11、分析部12、程序信息提取部13、证书提取部14、证书属性提取部15、检索部16、域名提取部17、判定部18和输出部19的“部”改写成“工序”。
此外,验证装置1的输入部11、分析部12、程序信息提取部13、证书提取部14、证书属性提取部15、检索部16、域名提取部17、判定部18和输出部19的动作能够作为验证方法来理解。
实施方式2
下面,对实施方式2的验证装置1进行说明。
图11是实施方式2的验证装置1的功能结构图。实施方式2的验证装置1与实施方式1的不同之处在于以下部分。除此以外的各部的处理与实施方式1相同。
(1)域名提取部17向检索部16输出域名108。
(2)检索部16将由第1提取部92提取出的域名108作为检索关键字来检索域信息检索服务6,由此,从域信息检索服务6取得在域信息检索服务6中与域名108对应的管理者名112。
即,检索部16使用域名108作为针对域信息检索服务6的检索关键字,检索域信息检索服务6。作为要检索的信息,检索部16在域信息检索服务6中检索域名108所示的域的管理者名112。检索部16将针对域信息检索服务6的检索结果即域名108的管理者名112和证书属性提取部15提取出的所有者信息107输出到判定部18。
(3)判定部18对由检索部16取得的管理者名112和由第2提取部93提取出的所有者信息107进行核对,根据核对结果判定接收数据103中包含的程序是否非法。
即,如果域名108的管理者名112和所有者信息107所示的所有者一致,则判定部18判定为程序信息105的程序105a合法,如果不一致,则判定部18判定为程序信息105的程序105a非法。
***判定部18的动作***
图12是示出判定部18检查证书的所有者的处理的流程图。域的管理者名112还可能在别名中检索,因此,判定部18如图12那样进行处理。
在步骤S601中,判定部18将域的管理者名112转换成列表。在列表中记载1个以上的管理者名112。接着,判定部18设列表的元素数为n,最初的列表元素为i=1。判定部18设列表的元素为域的管理者名_i(i=1~n)。
在步骤S602中,判定部18对result这样的变量设定NG。
在步骤S603中,判定部18检查列表是否结束。在否的情况下,处理进入步骤S604。
在步骤S604中,判定部18检查所有者信息所示的证书所有者名是否与域的管理者名_i一致。如果一致,则在步骤S605中,判定部18对result设定OK,结束处理。如果不一致,则处理进入步骤S606,i增加1,处理进入步骤S603。
按照该流程图,如果在域的管理者名112中包含所有者信息107所示的所有者,则设result=OK,处理结束,如果不包含所有者信息107所示的所有者,则设result=NG,处理结束。result=OK是正当程序这样的判定,result=NG是非法程序这样的判定。
***实施方式2的效果***
针对带代码签名的程序即程序信息105,验证装置1验证证书的所有者和域名108的管理者是否一致。通过该验证,能够检测是否通过被盗的代码签名密钥和证书生成了带代码签名的程序即程序信息105。
实施方式3
在实施方式1、2中,假设对带代码签名的程序即程序信息105赋予了1个签名。但是,如果以CMS的SignersInfos为例,则在能够取得多个SignerInfo的情况下,针对程序的多个签名有时包含在带代码签名的程序即程序信息105中。这里,CMS只不过是格式的一例,可能存在具有多个签名的带代码签名的程序。例如,有时开发者X、开发者Y分别对程序赋予签名,有时开发者Z使用2种签名算法并赋予由这2种签名算法生成的2个签名。在实施方式3中,示出包含针对被赋予了多个签名的带代码签名的程序即程序信息105的处理的实施方式。
图13示出实施方式3中的证书提取部14的处理。图13对应于图8。以下的处理示出CMS的处理。
在步骤S701中,证书提取部14设i=1,设SignerInfos内的signerInfo的数量为n。
在步骤S702中,证书提取部14检查是否i>n。在是的情况下,处理结束。如果为否,则处理转移到步骤S703。
在步骤S703中,证书提取部14从SingerInfos中提取作为signerInfo的signerInfo_i。
在步骤S704中,证书提取部14使用signerInfo_i验证签名。
签名的验证方法由CMS中实施的方法决定,并遵循该方法。
在步骤S705中,证书提取部14检查签名的验证是否成功。如果为是,则处理转移到步骤S706,如果为否,则处理转移到步骤S711。
在步骤S706中,证书提取部14提取signerInfo_i内的SignerIdentifier。提取方法与图8的步骤S403相同。
在步骤S707中,证书提取部14从certificate中提取与SignerIdentifier一致的certificate。提取方法与图8的步骤S404相同。
在步骤S708中,证书提取部14验证certificate。certificate的验证方法存在在CMS或一般的PKI(Public Key Infrastructure)中现有的方法,因此遵循该方法。
在步骤S709中,证书提取部14检查certificate的验证是否成功。如果为是,则处理转移到S710,如果为否,则处理转移到步骤S711。
在步骤S710中,证书提取部14将certificate添加到检查对象列表中。
在步骤S711中,证书提取部14设i=i+1。
在步骤S701的阶段,检查对象列表为空。在图13的处理完成后,证书提取部14设检查对象列表中记录的certificate为certificate_j(j=1~k)。即,k个certificate记录在检查对象列表中。接着,证书提取部14针对certificate_j,图2的证书属性提取部15、检索部16分别执行处理。其结果是,判明每个certificate_j(j=1~k)的管理域名202。进而,针对这些管理域名,判定部18进行检查,判定部18在1个以上的判定结果109=合法的情况下,判断为带代码签名的程序合法。
如果检查对象列表为空,则不存在与某个签名相应的certificate即代码签名证书,因此,判定部18判断为带代码签名的程序非法。
***实施方式3的效果***
如上所述,验证装置1针对作为来自Web站点的下载、添加邮件中添加的文件而得到的带代码签名的程序,在被赋予了多个签名的情况下,也能够根据对应的证书内的所有者的信息调查该所有者正在管理的域名,调查是否已从该域名得到。由此,能够检测是否通过被盗的代码签名密钥和证书生成了带代码签名的程序。
实施方式4
在实施方式3中,验证装置1的判定部18在存在多个存在与多个签名对应的代码签名证书的情况下,在其中1个以上的判定结果109=合法的情况下,判断为带代码签名的程序合法。与此相对,在实施方式4中,也可以对判定结果109=合法的数量设置阈值来进行判断。例如,在存在p个代码签名证书的情况下,在其q%以上的判定结果109=合法的情况下,判断为带代码签名的程序合法。或者,也可以在r个以上的判定结果109=合法的情况下,判断为带代码签名的程序合法。其中,r是代码签名证书的个数以下。或者,也可以在全部判定结果109=合法的情况下,判断为带代码签名的程序合法。
***实施方式4的效果***
如上所述,验证装置1针对作为来自Web站点的下载或添加邮件中添加的文件而得到的带代码签名的程序,在被赋予了多个签名的情况下,也能够根据对应的证书内的所有者的信息调查该所有者正在管理的域名。然后,验证装置1调查是否从该域名得到了带代码签名的程序,在它们一致的数量低于预定的阈值的情况下,能够检测到通过被盗的代码签名密钥和证书生成了带代码签名的程序。
以上说明了实施方式1~4,但是,也可以组合实施这些实施方式中的2个以上的实施方式。或者,也可以部分地实施这些实施方式中的1个实施方式。或者,也可以部分地组合实施这些实施方式中的2个以上的实施方式。另外,本发明不限于这些实施方式,能够根据需要进行各种变更。
标号说明
1:验证装置;2:攻击者;3:邮件服务器;4:代理服务器;5:终端;6:域信息检索服务;7:用户;11:输入部;12:分析部;13:程序信息提取部;14:证书提取部;15:证书属性提取部;16:检索部;17:域名提取部;18:判定部;19:输出部;19a:显示处理部;101:来自代理服务器4的数据;102:来自邮件服务器3的数据;103:接收数据;104a:标题;104b:内容;105:程序信息;105a:程序;105b:签名;105c:公开密钥;105d:证书;107:所有者信息;108:域名;109:判定结果;110:判定结果;111:时间戳;112:管理者名;202:管理域名;301:处理器;302:存储器;303:通信接口;304:辅助存储装置;305:输入输出接口;306:信号线;400:非法程序信息;401:文件;402:签名;403:证书;403a:公开密钥;91:取得部;92:第1提取部;93:第2提取部;99:电子电路。

Claims (9)

1.一种验证装置,该验证装置具有:
取得部,其取得接收数据,该接收数据包含公开密钥证书、程序和对所述程序赋予的电子签名,所述公开密钥证书包含公开密钥;
第1提取部,其从所述接收数据中提取表示所述接收数据的发送方的域名的下载域名;
第2提取部,其从所述接收数据中包含的所述公开密钥证书中,提取表示所述公开密钥证书的所有者的所有者信息;
检索部,其将所述所有者信息作为检索关键字来检索域信息检索服务,由此,从所述域信息检索服务取得所述所有者信息所示的所述所有者管理的管理域名;以及
判定部,其对由所述检索部取得的所述管理域名和由所述第1提取部提取出的所述下载域名进行核对,根据核对结果判定所述接收数据中包含的所述程序是否非法。
2.根据权利要求1所述的验证装置,其中,
所述检索部将由所述第1提取部提取出的所述下载域名作为检索关键字来检索所述域信息检索服务,由此,从所述域信息检索服务取得在所述域信息检索服务中与所述下载域名对应的管理者名,
所述判定部对由所述检索部取得的所述管理者名和由所述第2提取部提取出的所述所有者信息进行核对,根据核对结果判定所述接收数据中包含的所述程序是否非法。
3.根据权利要求1或2所述的验证装置,其中,
所述接收数据是从Web站点下载的。
4.根据权利要求1或2所述的验证装置,其中,
所述接收数据是通过电子邮件发送的。
5.一种验证装置,该验证装置具有:
取得部,其取得接收数据,该接收数据包含公开密钥证书、程序和对所述程序赋予的电子签名,所述公开密钥证书包含公开密钥;
第1提取部,其从所述接收数据中提取表示所述接收数据的发送方的域名的下载域名;
第2提取部,其从所述接收数据中包含的所述公开密钥证书中,提取表示所述公开密钥证书的所有者的所有者信息;
检索部,其将由所述第1提取部提取出的所述下载域名作为检索关键字来检索域信息检索服务,由此,从所述域信息检索服务取得在所述域信息检索服务中与所述下载域名对应的管理者名;以及
判定部,其对由所述检索部取得的所述管理者名和由所述第2提取部提取出的所述所有者信息进行核对,根据核对结果判定所述接收数据中包含的所述程序是否非法。
6.一种验证程序,该验证程序用于使计算机执行以下处理:
取得接收数据,该接收数据包含公开密钥证书、程序和对所述程序赋予的电子签名,所述公开密钥证书包含公开密钥;
从所述接收数据中提取表示所述接收数据的发送方的域名的下载域名;
从所述接收数据中包含的所述公开密钥证书中,提取表示所述公开密钥证书的所有者的所有者信息;
将所述所有者信息作为检索关键字来检索域信息检索服务,由此从所述域信息检索服务取得所述所有者信息所示的所述所有者管理的管理域名;以及
判定处理,对所取得的所述管理域名和提取出的所述下载域名进行核对,根据核对结果判定所述接收数据中包含的所述程序是否非法。
7.一种验证程序,该验证程序用于使计算机执行以下处理:
取得接收数据,该接收数据包含公开密钥证书、程序和对所述程序赋予的电子签名,所述公开密钥证书包含公开密钥;
从所述接收数据中提取表示所述接收数据的发送方的域名的下载域名;
从所述接收数据中包含的所述公开密钥证书中,提取表示所述公开密钥证书的所有者的所有者信息;
将提取出的所述下载域名作为检索关键字来检索域信息检索服务,由此从所述域信息检索服务取得在所述域信息检索服务中与所述下载域名对应的管理者名;以及
对所取得的所述管理者名和提取出的所述所有者信息进行核对,根据核对结果判定所述接收数据中包含的所述程序是否非法。
8.一种验证方法,其中,
计算机取得接收数据,该接收数据包含公开密钥证书、程序和对所述程序赋予的电子签名,所述公开密钥证书包含公开密钥,
计算机从所述接收数据中提取表示所述接收数据的发送方的域名的下载域名,
计算机从所述接收数据中包含的所述公开密钥证书中,提取表示所述公开密钥证书的所有者的所有者信息,
计算机将所述所有者信息作为检索关键字来检索域信息检索服务,由此,从所述域信息检索服务取得所述所有者信息所示的所述所有者管理的管理域名,
计算机对所取得的所述管理域名和提取出的所述下载域名进行核对,根据核对结果判定所述接收数据中包含的所述程序是否非法。
9.一种验证方法,其中,
计算机取得接收数据,该接收数据包含公开密钥证书、程序和对所述程序赋予的电子签名,所述公开密钥证书包含公开密钥,
计算机从所述接收数据中提取表示所述接收数据的发送方的域名的下载域名,
计算机从所述接收数据中包含的所述公开密钥证书中,提取表示所述公开密钥证书的所有者的所有者信息,
计算机将提取出的所述下载域名作为检索关键字来检索域信息检索服务,由此,从所述域信息检索服务取得在所述域信息检索服务中与所述下载域名对应的管理者名,
计算机对所取得的所述管理者名和提取出的所述所有者信息进行核对,根据核对结果判定所述接收数据中包含的所述程序是否非法。
CN201780094713.0A 2017-09-15 2017-09-15 验证装置、验证程序和验证方法 Withdrawn CN111066282A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/033479 WO2019053882A1 (ja) 2017-09-15 2017-09-15 検証装置、検証プログラム及び検証方法

Publications (1)

Publication Number Publication Date
CN111066282A true CN111066282A (zh) 2020-04-24

Family

ID=65723942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780094713.0A Withdrawn CN111066282A (zh) 2017-09-15 2017-09-15 验证装置、验证程序和验证方法

Country Status (4)

Country Link
US (1) US20200382291A1 (zh)
JP (1) JP6644199B2 (zh)
CN (1) CN111066282A (zh)
WO (1) WO2019053882A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143010A (zh) * 2021-11-25 2022-03-04 上海派拉软件股份有限公司 数字证书获取方法、装置、终端、系统和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294284B1 (en) * 2013-09-06 2016-03-22 Symantec Corporation Systems and methods for validating application signatures
US9450764B1 (en) * 2013-09-12 2016-09-20 Symantec Corporation Systems and methods for validating self-signed certificates
US9654492B2 (en) * 2015-09-15 2017-05-16 Mimecast North America, Inc. Malware detection system based on stored data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143010A (zh) * 2021-11-25 2022-03-04 上海派拉软件股份有限公司 数字证书获取方法、装置、终端、系统和存储介质

Also Published As

Publication number Publication date
JPWO2019053882A1 (ja) 2020-02-27
US20200382291A1 (en) 2020-12-03
WO2019053882A1 (ja) 2019-03-21
JP6644199B2 (ja) 2020-02-12

Similar Documents

Publication Publication Date Title
US10891383B2 (en) Validating computer resource usage
KR100823738B1 (ko) 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법
US10270602B2 (en) Verifying and enforcing certificate use
CN101164333A (zh) 应用程序身份和评定服务
CN102110200A (zh) 计算机可执行的认证方法
CN111506327B (zh) 区块链节点热升级方法及相关设备
WO2015010568A1 (en) Method,apparatus and server for identity authentication
CN108027856B (zh) 使用可信平台模块来建立攻击信息的实时指示器
JP2015194879A (ja) 認証システム、方法、及び提供装置
US8850576B2 (en) Methods for inspecting security certificates by network security devices to detect and prevent the use of invalid certificates
WO2020206106A1 (en) Trustworthiness evaluation of network devices
US11159566B2 (en) Countering phishing attacks
US7827399B1 (en) Certificate processing
CN113612616A (zh) 一种基于区块链的车辆通信方法和装置
JP2007065810A (ja) セキュリティ検査システム
JP6644199B2 (ja) 検証装置、検証プログラム及び検証方法
CN116032627A (zh) 一种基于微服务架构的统一认证授权方法及装置
CN112865981B (zh) 一种令牌获取、验证方法及装置
CN114128218B (zh) 隔离计算机网络中的证书管理
CN115118504A (zh) 知识库更新方法、装置、电子设备及存储介质
US20070089116A1 (en) Method for assuring event record integrity
CN104580161A (zh) 一种基于安全标识文件的软件实名认证方法和装置
CN113961970B (zh) 跨网段网盘登录身份验证方法、装置、网盘及存储介质
JP2020010297A (ja) 証明書発行システム、要求装置、証明書発行方法および証明書発行プログラム
JP4330973B2 (ja) 状態証明書を利用したセキュリティレベル管理システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20200424

WW01 Invention patent application withdrawn after publication