CN106899579B - 一种中间人攻击的检测方法和装置 - Google Patents

一种中间人攻击的检测方法和装置 Download PDF

Info

Publication number
CN106899579B
CN106899579B CN201710069718.XA CN201710069718A CN106899579B CN 106899579 B CN106899579 B CN 106899579B CN 201710069718 A CN201710069718 A CN 201710069718A CN 106899579 B CN106899579 B CN 106899579B
Authority
CN
China
Prior art keywords
certificate
trust chain
man
different
encryption
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
Application number
CN201710069718.XA
Other languages
English (en)
Other versions
CN106899579A (zh
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.)
BEIJING NETENTSEC Inc
Original Assignee
BEIJING NETENTSEC Inc
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 BEIJING NETENTSEC Inc filed Critical BEIJING NETENTSEC Inc
Priority to CN201710069718.XA priority Critical patent/CN106899579B/zh
Publication of CN106899579A publication Critical patent/CN106899579A/zh
Application granted granted Critical
Publication of CN106899579B publication Critical patent/CN106899579B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种中间人攻击的检测方法,包括:当需要对第一安全套接层(SSL)业务进行中间人攻击检测时,获取所述第一SSL业务的第一加密特征以及预设的第二SSL业务的第二加密特征;判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,满足时,判定所述第一SSL业务被中间人攻击。本发明还同时公开了一种中间人攻击的检测装置。

Description

一种中间人攻击的检测方法和装置
技术领域
本发明涉及网络安全技术,尤其涉及一种中间人攻击的检测方法和装置。
背景技术
中间人攻击(MITM,Man-in-the-middle attack)是指攻击者与通讯的两端分别创建独立的联系,并交换所接收到的数据,使通讯的两端认为各自正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。此外,在中间人攻击过程中,攻击者可以拦截通讯双方的通话并插入新的内容。图1为MITM的示意图,攻击者通过会话劫持的手段,使自己处于客户端和服务器的中间人位置,以便获取客户端和服务器之间在正常通信时的交互报文,即窃听数据。
安全套接层(SSL,Secure Socket Layer)协议是互联网中最为常用的安全协议之一,它能够利用证书验证服务器的身份,并对客户端和服务器之间的交互信息进行加密,防止被攻击者窃听。简言之,SSL协议的目的在于通过网络的一个不安全通道为两个应用程序之间创建起安全的连接,用以交换数据,防止数据受到窃听及篡改。SSL协议的优势在于它是与应用层协议独立无关的,图2为SSL协议、传输控制协议(TCP,Transfer ControlProtocol)、应用层协议三者之间的关系示意图,超文本传输协议(HTTP,Hyper TextTransfer Protocol)、简单邮件传输协议(SMTP,Simple Mail Transfer Protocol)、邮局协议的第3个版本(POP3,Post Office Protocol-Version 3)、互联网邮件访问协议(IMAP,Internet Message Access Protocol)、文本传输协议(FTP,File Transfer Protocol)等应用层协议可以透明的创建于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证等工作,并对在此之后应用层协议所传送的数据进行加密。
SSL协议不仅保证了通信的私密性和可靠性,而且部署简单,对网络的负担也较小,因此在网页浏览、电子邮件、网上银行等应用中获得了广泛地使用。然而,中间人攻击是造成SSL业务不安全的一种最常见的且危害指数最高的技术。但是,随着用户网络安全意识的提高,政府和企业等组织也加强了对网络安全的资源投入。例如,许多应用服务器都提供了多种SSL业务,如Web服务器、邮件服务器、FTP服务器等都提供了SSL加密方式来承载业务。
现有的对中间人攻击的检测的主要现状如下:
一方面,目前企业界主要关心安全套接层超文本传输协议(HTTPS,HTTP overSSL)的安全性,而对HTTPS的判断方法主要依赖浏览器的安全检测机制。通常,证书信任链由根证书、中间证书、子证书组成;根证书是数字证书认证机构(CA,CertificateAuthority)签发的证书,是证书信任链的起始点;中间证书是通过根证书签发的;子证书是通过中间证书/根证书签发的。而浏览器中间人检测技术主要是检测Web服务器的证书信任链中的各种信息,如检测颁发的证书是否在有效期内、服务器域名与证书中的域名是否一致等;并且,某些浏览器为了加强中间人攻击的检测,引入了严格传输安全超文本传输协议(HSTS,HTTP Strict Transport Security)等技术,在一定程度上加强了对中间人攻击的检测。但是,如果证书信任链中被导入了攻击者证书,就会绕过HSTS检测。
另一方面,虽然安全套接层简单邮件传输协议(SMTPS,SMTP over SSL)、安全套接层邮局协议的第3个版本(POP3S,POP3over SSL)、安全套接层互联网邮件访问协议(IMAPS,IMAP over SSL)、安全套接层文本传输协议(FTPS,FTP over SSL)等协议使用比较频繁,但是与这些协议相关的中间人攻击的检测技术比较少,且相关安全检测方法还不如HTTPS业务的安全检测方法。
因此,如果关心HTTPS业务,就需要寻找HTTPS协议的特点;如果关心SMTPS业务,就需要寻找SMTPS协议的特点,即对于不同的SSL业务,需要分别根据各自的特点进行中间人攻击的检测。此外,对HTTPS业务的中间人攻击的检测方法不一定适用于SMTPS等业务,因为HTTPS业务的安全性虽然高,但是并没有提升SMTPS业务的安全性。如果攻击者通过HTTPS方式无法进行中间人攻击,但是由于SMTPS、IMAPS等方式的中间人攻击的检测技术比较弱,则攻击者可以通过SMTPS、IMAPS等方式进行中间人攻击,从而导致SSL加密数据的泄露,无法彻底解决所有SSL加密业务不被中间人攻击。
发明内容
有鉴于此,本发明实施例提供了一种中间人攻击的检测方法和装置,能够快速检测出被中间人攻击的SSL业务。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种中间人攻击的检测方法,所述方法包括:
当需要对第一SSL业务进行中间人攻击检测时,获取所述第一SSL业务的第一加密特征以及预设的第二SSL业务的第二加密特征;
判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,满足时,判定所述第一SSL业务被中间人攻击。
上述方案中,所述第一加密特征包括第一证书信任链,所述第二加密特征包括第二证书信任链;
所述判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,包括:
判断所述第一证书信任链和所述第二证书信任链之间是否包括以下三种情形至少之一:第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同、第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同、第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同;
包括上述情形至少之一时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件。
上述方案中,所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,包括:所述第一根证书的第一颁发者信息与所述第二根证书的第二颁发者信息不相同;和/或,所述第一根证书的第一主题信息与所述第二根证书的第二主题信息不相同;
所述第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同,包括:所述第一中间证书的第三颁发者信息与所述第二中间证书的第四颁发者信息不相同;和/或,所述第一中间证书的第三主题信息与所述第二中间证书的第四主题信息不相同;
所述第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同,包括:所述第一子证书的第五颁发者信息与所述第二子证书的第六颁发者信息不相同;和/或,所述第一子证书的第五主题信息与所述第二子证书的第六主题信息不相同;所述第五颁发者信息、第六颁发者信息、第五主题信息、第六主题信息不包括服务器域名信息和邮箱地址信息。
上述方案中,所述判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,还包括:
当所述第一证书信任链未包含所述第一中间证书、和/或所述第二证书信任链未包含所述第二中间证书时,若所述第一根证书与所述第二根证书相同、且所述第一子证书与所述第二子证书相同,判定所述第一加密特征和所述第二加密特征之间不满足设定的被中间人攻击的条件。
上述方案中,所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,还包括:
所述第一中间证书的第一颁发者信息与所述第二根证书的第二主题信息不相同;
或,所述第二中间证书的第四颁发者信息与所述第一根证书的第一主题信息不相同。
上述方案中,所述第一加密特征包括第一证书信任链,所述第二加密特征包括第二证书信任链;
所述判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,包括:
确定所述第一证书信任链包含自签名证书、且所述第二证书信任链未包含自签名证书时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件。
本发明实施例还提供了一种中间人攻击的检测装置,所述装置包括:第一处理单元、第二处理单元;其中,
所述第一处理单元,用于当需要对第一SSL业务进行中间人攻击检测时,获取所述第一SSL业务的第一加密特征以及预设的第二SSL业务的第二加密特征;
所述第二处理单元,用于判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,满足时,判定所述第一SSL业务被中间人攻击。
上述方案中,所述第一加密特征包括第一证书信任链,所述第二加密特征包括第二证书信任链;
所述第二处理单元,具体用于:
判断所述第一证书信任链和所述第二证书信任链之间是否包括以下三种情形至少之一:第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同、第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同、第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同;
包括上述情形至少之一时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件。
上述方案中,
所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,包括:所述第一根证书的第一颁发者信息与所述第二根证书的第二颁发者信息不相同;和/或,所述第一根证书的第一主题信息与所述第二根证书的第二主题信息不相同;
所述第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同,包括:所述第一中间证书的第三颁发者信息与所述第二中间证书的第四颁发者信息不相同;和/或,所述第一中间证书的第三主题信息与所述第二中间证书的第四主题信息不相同;
所述第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同,包括:所述第一子证书的第五颁发者信息与所述第二子证书的第六颁发者信息不相同;和/或,所述第一子证书的第五主题信息与所述第二子证书的第六主题信息不相同;所述第五颁发者信息、第六颁发者信息、第五主题信息、第六主题信息不包括服务器域名信息和邮箱地址信息。
上述方案中,所述第二处理单元,具体用于:
当所述第一证书信任链未包含所述第一中间证书、和/或所述第二证书信任链未包含所述第二中间证书时,若所述第一根证书与所述第二根证书相同、且所述第一子证书与所述第二子证书相同,判定所述第一加密特征和所述第二加密特征之间不满足设定的被中间人攻击的条件。
上述方案中,所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,还包括:
所述第一中间证书的第一颁发者信息与所述第二根证书的第二主题信息不相同;
或,所述第二中间证书的第四颁发者信息与所述第一根证书的第一主题信息不相同。
上述方案中,所述第一加密特征包括第一证书信任链,所述第二加密特征包括第二证书信任链;
所述第二处理单元,具体用于:
确定所述第一证书信任链包含自签名证书、且所述第二证书信任链未包含自签名证书时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件。
本发明实施例提供的中间人攻击的检测方法和装置,当需要对第一SSL业务进行中间人攻击检测时,获取所述第一SSL业务的第一加密特征以及预设的第二SSL业务的第二加密特征;判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,满足时,判定所述第一SSL业务被中间人攻击。可见,本发明实施例通过比对分析待检测的SSL业务和预设的SSL业务所共有的加密特征,以检测所述待检测的SSL业务是否被中间人攻击,从而能够快速检测出被中间人攻击的SSL业务;此外,适用范围广,可便于进行动态扩展。
附图说明
图1为MITM的示意图;
图2为SSL协议、TCP协议、应用层协议三者之间的关系示意图;
图3为本发明实施例一中间人攻击的检测方法的实现流程示意图;
图4为本发明实施例一中间人攻击的检测装置的组成结构示意图;
图5为本发明实施例二中间人攻击的检测方法的具体实现流程示意图。
具体实施方式
实施例一
图3为本发明实施例一中间人攻击的检测方法的实现流程示意图,该方法包括:
步骤101:当需要对第一SSL业务进行中间人攻击检测时,获取所述第一SSL业务的第一加密特征以及预设的第二SSL业务的第二加密特征;
具体地,当需要检测第一SSL业务是否被中间人攻击时,获取所述第一SSL业务的第一加密特征以及预设的第二SSL业务的第二加密特征,以根据所述第一加密特征和第二加密特征判断所述第一SSL业务是否被中间人攻击。
这里,所述第一SSL业务和预设的第二SSL业务是基于SSL加密协议的不同应用层协议所承载的业务;例如,对于访问应用服务器而言,第一SSL业务和预设的第二SSL业务是访问应用服务器的不同方式,比如第一SSL业务是使用HTTPS协议访问应用服务器,而预设的第二SSL业务是使用SMTPS协议访问应用服务器;并且,所述预设的第二SSL业务是未被中间人攻击的SSL业务,用于作为参考对象;所述预设的第二SSL业务可以根据人工经验、智能算法分析推理等方式进行获取。
这里,所述第一加密特征、第二加密特征可以是证书信任链、证书有效期、证书版本等信息中的任意同一类信息;当然,对所述第一加密特征、第二加密特征的范围还可以进行扩展;本实施例中,以所述第一加密特征、第二加密特征为证书信任链中各级证书的通用信息、且所述通用信息为颁发者信息和主题信息为例进行说明。
由于HTTP、SMTP、POP3、FTP等应用层协议是建立在SSL协议之上,并且加密通信过程中的加密算法、密钥协商和服务器证书等信息都包含在SSL协议中,因此,可以把所有SSL业务当作一个有机整体,提取HTTPS、SMTPS、POP3S、FTPS等协议共有的SSL加密特征,然后对这些共有的SSL加密特征进行对比、分析,进而判断SSL业务是否被中间人攻击。
下面通过展示百度网站的证书信任链对加密特征进行说明,百度网站的证书信任链包含子证书、中间证书、根证书,具体如下所示:
(一)子证书
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Baidu Netcom ScienceTechnology Co.,Ltd/OU=R&D/CN=service operation department/CN=baidu.com;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms of useat https://www.verisign.com/rpa10/CN=VeriSign Class 3Secure Server CA-G3;
(二)中间证书
1s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms ofuse at https://www.verisign.com/rpa10/CN=VeriSign Class 3Secure Server CA-G3;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public PrimaryCertification Authority-G5;
(三)根证书
2s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public PrimaryCertification Authority-G5;
i:/C=US/O=VeriSign,Inc./OU=Class 3Public Primary CertificationAuthority;
其中,C表示国家名称、ST表示州/省名称、L表示城市名称、O表示公司/组织名称、OU表示组织单位名称、CN表示服务器域名、emailAddress表示邮箱地址;从上述百度网站的证书信任链中,可获取子证书、中间证书、根证书的主题信息和颁发者信息作为访问百度网站的加密特征。
步骤102:判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,满足时,判定所述第一SSL业务被中间人攻击。
具体地,以所述第二加密特征作为参考,判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,当所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件时,判定所述第一SSL业务被中间人攻击。
这里,当所述第一加密特征包括第一证书信任链、且所述第二加密特征包括第二证书信任链时,所述判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,包括:判断所述第一证书信任链和所述第二证书信任链之间是否包括以下三种情形至少之一:第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同、第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同、第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同;包括上述情形至少之一时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件,即表示所述第一SSL业务被中间人攻击。
所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,包括:所述第一根证书的第一颁发者信息与所述第二根证书的第二颁发者信息不相同;和/或,所述第一根证书的第一主题信息与所述第二根证书的第二主题信息不相同;
所述第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同,包括:所述第一中间证书的第三颁发者信息与所述第二中间证书的第四颁发者信息不相同;和/或,所述第一中间证书的第三主题信息与所述第二中间证书的第四主题信息不相同;
这里,当所述第一SSL业务的第一证书信任链中存在多级中间证书时,可将所述多级中间证书与所述第二SSL业务的第二证书信任链中的第二中间证书进行多次比较,当所述多级中间证书与所述第二SSL业务的第二证书信任链中的第二中间证书相同时,确定所述第一证书信任链的第一中间证书与第二证书信任链的第二中间证书相同。
所述第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同,包括:所述第一子证书的第五颁发者信息与所述第二子证书的第六颁发者信息不相同;和/或,所述第一子证书的第五主题信息与所述第二子证书的第六主题信息不相同;所述第五颁发者信息、第六颁发者信息、第五主题信息、第六主题信息不包括服务器域名信息和邮箱地址信息。
这里,所述判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,还包括:当所述第一证书信任链未包含所述第一中间证书、和/或所述第二证书信任链未包含所述第二中间证书时,若所述第一根证书与所述第二根证书相同、且所述第一子证书与所述第二子证书相同,判定所述第一加密特征和所述第二加密特征之间不满足设定的被中间人攻击的条件,即表示所述第一SSL业务未被中间人攻击。
这里,所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,还包括:
所述第一中间证书的第一颁发者信息与所述第二根证书的第二主题信息不相同;或,所述第二中间证书的第四颁发者信息与所述第一根证书的第一主题信息不相同。
这里,当所述第一SSL业务的第一证书信任链中未包含根证书时,由于第一证书信任链中的中间证书的颁发者信息就是根证书的主题信息,只是缺少了根证书的颁发者信息,因此,只要第一证书信任链中的中间证书的颁发者信息与所述第二SSL业务的第二证书信任链中的根证书的主题信息相同,就可保证根证书的安全性。
这里,当所述第一加密特征包括第一证书信任链、且所述第二加密特征包括第二证书信任链时,所述判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,包括:确定所述第一证书信任链包含自签名证书、且所述第二证书信任链未包含自签名证书时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件,即表示所述第一SSL业务被中间人攻击。
这里,自签名证书是由用户自己扮演认证授权(CA,Certificate Authority)机构,从而自己给自己签发的证书;因此,自签名证书中的颁发者信息和主题信息相同。一般来说,通过CA机构签发的证书比自签名证书的安全性和权威性要高,自签名证书被中间人攻击的可能性要高很多。所以,在SSL加密特征的比较过程中,如果由两个或两个以上SSL加密特征构成的SSL加密特征库中同时存在一个CA签发证书和一个/多个自签名证书,就可以确定被中间人攻击,而且认为自签名证书被中间人攻击。
其中,自签名证书的组成示意如下所示:
Certificate chain
0s:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=localhost.localdomain/emailAddress=root@localhost.locald omain;
i:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=localhost.localdomain/emailAddress=root@localhost.locald omain。
为实现上述方法,本发明实施例还提供了一种中间人攻击的检测装置,图4为本发明实施例一中间人攻击的检测装置的组成结构示意图,该装置包括:第一处理单元11、第二处理单元12;其中,
所述第一处理单元11,用于当需要对第一SSL业务进行中间人攻击检测时,获取所述第一SSL业务的第一加密特征以及预设的第二SSL业务的第二加密特征;
所述第二处理单元12,用于判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,满足时,判定所述第一SSL业务被中间人攻击。
所述第一处理单元11,具体用于:当需要检测第一SSL业务是否被中间人攻击时,获取所述第一SSL业务的第一加密特征以及预设的第二SSL业务的第二加密特征,以使第二处理单元12根据所述第一加密特征和第二加密特征判断所述第一SSL业务是否被中间人攻击。
这里,所述第一SSL业务和预设的第二SSL业务是基于SSL加密协议的不同应用层协议所承载的业务;例如,对于访问应用服务器而言,第一SSL业务和预设的第二SSL业务是访问应用服务器的不同方式,比如第一SSL业务是使用HTTPS协议访问应用服务器,而预设的第二SSL业务是使用SMTPS协议访问应用服务器;并且,所述预设的第二SSL业务是未被中间人攻击的SSL业务,用于作为参考对象;所述预设的第二SSL业务可以根据人工经验、智能算法分析推理等方式进行获取。
这里,所述第一加密特征、第二加密特征可以是证书信任链、证书有效期、证书版本等信息;当然,对所述第一加密特征、第二加密特征的范围还可以进行扩展;本实施例中,以所述第一加密特征、第二加密特征为证书信任链中各级证书的通用信息、且所述通用信息为颁发者信息和主题信息为例进行说明。
由于HTTP、SMTP、POP3、FTP等应用层协议是建立在SSL协议之上,并且加密通信过程中的加密算法、密钥协商和服务器证书等信息都包含在SSL协议中,因此,可以把所有SSL业务当作一个有机整体,提取HTTPS、SMTPS、POP3S、FTPS等协议共有的SSL加密特征,然后对这些共有的SSL加密特征进行对比、分析,进而判断SSL业务是否被中间人攻击。
下面通过展示百度网站的证书信任链对加密特征进行说明,百度网站的证书信任链包含子证书、中间证书、根证书,具体如下所示:
(一)子证书
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Baidu Netcom ScienceTechnology Co.,Ltd/OU=R&D/CN=service operation department/CN=baidu.com;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms of useat https://www.verisign.com/rpa10/CN=VeriSign Class 3Secure Server CA-G3;
(二)中间证书
1s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms ofuse at https://www.verisign.com/rpa10/CN=VeriSign Class 3Secure Server CA-G3;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public PrimaryCertification Authority-G5;
(三)根证书
2s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3PublicPrimaryCertification Authority-G5;
i:/C=US/O=VeriSign,Inc./OU=Class 3Public Primary CertificationAuthority;
其中,C表示国家名称、ST表示州/省名称、L表示城市名称、O表示公司/组织名称、OU表示组织单位名称、CN表示服务器域名、emailAddress表示邮箱地址;从上述百度网站的证书信任链中,可获取子证书、中间证书、根证书的主题信息和颁发者信息作为访问百度网站的加密特征。
所述第二处理单元12,具体用于:以所述第二加密特征作为参考,判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,当所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件时,判定所述第一SSL业务被中间人攻击。
这里,当所述第一加密特征包括第一证书信任链、且所述第二加密特征包括第二证书信任链时,所述第二处理单元12判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,包括:判断所述第一证书信任链和所述第二证书信任链之间是否包括以下三种情形至少之一:第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同、第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同、第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同;包括上述情形至少之一时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件,即表示所述第一SSL业务被中间人攻击。
所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,包括:所述第一根证书的第一颁发者信息与所述第二根证书的第二颁发者信息不相同;和/或,所述第一根证书的第一主题信息与所述第二根证书的第二主题信息不相同;
所述第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同,包括:所述第一中间证书的第三颁发者信息与所述第二中间证书的第四颁发者信息不相同;和/或,所述第一中间证书的第三主题信息与所述第二中间证书的第四主题信息不相同;
这里,当所述第一SSL业务的第一证书信任链中存在多级中间证书时,可将所述多级中间证书与所述第二SSL业务的第二证书信任链中的第二中间证书进行多次比较,当所述多级中间证书与所述第二SSL业务的第二证书信任链中的第二中间证书相同时,确定所述第一证书信任链的第一中间证书与第二证书信任链的第二中间证书相同。
所述第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同,包括:所述第一子证书的第五颁发者信息与所述第二子证书的第六颁发者信息不相同;和/或,所述第一子证书的第五主题信息与所述第二子证书的第六主题信息不相同;所述第五颁发者信息、第六颁发者信息、第五主题信息、第六主题信息不包括服务器域名信息和邮箱地址信息。
这里,所述第二处理单元12判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,还包括:当所述第一证书信任链未包含所述第一中间证书、和/或所述第二证书信任链未包含所述第二中间证书时,若所述第一根证书与所述第二根证书相同、且所述第一子证书与所述第二子证书相同,判定所述第一加密特征和所述第二加密特征之间不满足设定的被中间人攻击的条件,即表示所述第一SSL业务未被中间人攻击。
这里,所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,还包括:
所述第一中间证书的第一颁发者信息与所述第二根证书的第二主题信息不相同;或,所述第二中间证书的第四颁发者信息与所述第一根证书的第一主题信息不相同。
这里,当所述第一SSL业务的第一证书信任链中未包含根证书时,由于第一证书信任链中的中间证书的颁发者信息就是根证书的主题信息,只是缺少了根证书的颁发者信息,因此,只要第一证书信任链中的中间证书的颁发者信息与所述第二SSL业务的第二证书信任链中的根证书的主题信息相同,就可保证根证书的安全性。
这里,当所述第一加密特征包括第一证书信任链、且所述第二加密特征包括第二证书信任链时,所述判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,包括:确定所述第一证书信任链包含自签名证书、且所述第二证书信任链未包含自签名证书时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件,即表示所述第一SSL业务被中间人攻击。
这里,自签名证书是由用户自己扮演认证授权(CA,Certificate Authority)机构,从而自己给自己签发的证书;因此,自签名证书中的颁发者信息和主题信息相同。一般来说,通过CA机构签发的证书比自签名证书的安全性和权威性要高,自签名证书被中间人攻击的可能性要高很多。所以,在SSL加密特征的比较过程中,如果由两个或两个以上SSL加密特征构成的SSL加密特征库中同时存在一个CA签发证书和一个/多个自签名证书,就可以确定被中间人攻击,而且认为自签名证书被中间人攻击。
其中,自签名证书的组成示意如下所示:
Certificate chain
0s:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=localhost.localdomain/emailAddress=root@localhost.locald omain;
i:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=localhost.localdomain/emailAddress=root@localhost.locald omain。
在实际应用中,所述第一处理单元11、第二处理单元12均可由位于终端的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)等实现。
实施例二
下面通过一个具体示例对本发明实施例一作进一步地的说明,本实施中,A方式访问应用服务器是第一SSL业务,A方式访问应用服务器的证书信任链为第一加密特征,B方式和C方式访问应用服务器是第二SSL业务,B方式和C方式访问应用服务器的证书信任链为第二加密特征,A方式访问应用服务器的证书信任链与B方式和C方式访问应用服务器的证书信任链相同是第一加密特征和第二加密特征之间需满足的条件;图5为本发明实施例二中间人攻击的检测方法的具体实现流程示意图,该方法包括:
步骤201:获取通过A方式访问应用服务器的SSL加密特征;
具体地,当需要检测通过A方式访问应用服务器是否被中间人攻击时,通过openssl、wireshark等工具获取通过A方式访问应用服务器的SSL加密特征。
这里,所述A方式是指某一种应用协议基于SSL加密协议访问应用服务器;本实施例中,以所述SSL加密特征为证书信任链为例进行说明。
步骤202:遍历获取通过B方式和C方式访问应用服务器的SSL加密特征;
具体地,通过遍历方式寻找应用服务器的其他SSL加密访问方式B和C,并通过openssl、wireshark等工具获取通过B方式和C方式访问应用服务器的SSL加密特征。
这里,将所述通过B方式和C方式访问应用服务器的SSL加密特征作为参考,即认为通过B方式和C方式访问应用服务器是未受中间人攻击的。
步骤203:比较A方式的SSL加密特征中的根证书是否与B方式和C方式的SSL加密特征中的根证书相同,若相同,则执行步骤204,否则执行步骤207;
具体地,比较A方式访问应用服务器的SSL加密特征中的根证书是否分别与B方式和C方式访问应用服务器的SSL加密特征中的根证书相同,若相同,则执行步骤204;若不相同,表明A方式访问应用服务器被中间人攻击,则执行步骤207。
这里,两个根证书相同为两个根证书的主题信息和颁发者信息相同;此外,由于所述通过B方式和C方式访问应用服务器的SSL加密特征是作为参考的,因此,通过B方式访问应用服务器的SSL加密特征和通过C方式访问应用服务器的SSL加密特征是相同的,即B方式访问应用服务器的SSL加密特征中的根证书与C方式访问应用服务器的SSL加密特征中的根证书相同,则也可只比较A方式访问应用服务器的SSL加密特征中的根证书是否与B方式或C方式访问应用服务器的SSL加密特征中的根证书相同,后续处理对中间证书、子证书的比较也可只采用上述单一的比较方式。
步骤204:比较A方式的SSL加密特征中的中间证书是否与B方式和C方式的SSL加密特征中的中间证书相同,若相同,则执行步骤205,否则执行步骤207;
具体地,比较A方式访问应用服务器的SSL加密特征中的中间证书是否分别与B方式和C方式访问应用服务器的SSL加密特征中的中间证书相同,若相同,则执行步骤205;若不相同,表明A方式访问应用服务器被中间人攻击,则执行步骤207。
这里,两个中间证书相同为两个中间证书的主题信息和颁发者信息相同。
这里,某些SSL业务的证书信任链中可能没有中间证书或者存在多级中间证书,因此可以在SSL加密特征中不比较中间证书的信息或者比较多次中间证书的信息。
这里,某些SSL业务的证书信任链中也可能没有根证书,而由于中间证书的颁发者信息就是根证书的主题信息,只是缺少了根证书的颁发者信息,因此,只要没有根证书的SSL业务中的中间证书的颁发者信息与有根证书的SSL业务中的根证书的主题信息相同就保证了根证书的安全性。
步骤205:比较A方式的SSL加密特征中的子证书是否与B方式和C方式的SSL加密特征中的子证书相同,若相同,则执行步骤206,否则执行步骤207;
具体地,比较A方式访问应用服务器的SSL加密特征中的子证书是否与B方式和C方式访问应用服务器的SSL加密特征中的子证书相同,若相同,表明A方式访问应用服务器未被中间人攻击,则执行步骤206;若不相同,表明A方式访问应用服务器被中间人攻击,则执行步骤207。
这里,两个子证书相同为两个子证书的主题信息和颁发者信息相同。
步骤206:判定A方式访问应用服务器未被中间人攻击。
具体地,当在步骤205中确定A方式访问应用服务器的SSL加密特征中的子证书与B方式和C方式访问应用服务器的SSL加密特征中的子证书相同时,判定A方式访问应用服务器未被中间人攻击。
步骤207:判定A方式访问应用服务器被中间人攻击;
具体地,当在步骤203中确定A方式访问应用服务器的SSL加密特征中的根证书与B方式和C方式访问应用服务器的SSL加密特征中的根证书不相同时,判定A方式访问应用服务器被中间人攻击;或,当在步骤204中确定A方式的SSL加密特征中的中间证书与B方式和C方式的SSL加密特征中的中间证书不相同时,判定A方式访问应用服务器被中间人攻击;或,当在步骤205中确定A方式的SSL加密特征中的子证书与B方式和C方式的SSL加密特征中的子证书不相同时,判定A方式访问应用服务器被中间人攻击。
这里,在一些情况下,证书信任链中存在自签名证书。所谓自签名证书是用户或开发者自己扮演CA机构,自己给自己签发的证书,因此自签名证书中的颁发者和主题信息相同。一般来说,通过CA机构签发的证书比自签名证书的安全性和权威性要高,自签名证书被中间人攻击的可能性要高很多。所以,在SSL加密特征的比较过程中,如果由两个或两个以上SSL加密特征构成的SSL加密特征库中同时存在一个CA签发证书和一个或多个自签名证书,就可以确定被中间人攻击,而且认为自签名证书被中间人攻击。
这里,还可将B方式访问应用服务器的SSL加密特征和C方式访问应用服务器的SSL加密特征收集起来,从而形成SSL加密特征库,并将该SSL加密特征库存储在电脑端、或设备端、或云端等,这样就不用每次动态获取作为参考的SSL加密特征,而只需要周期性的更新该SSL加密特征库中的文件;并且,SSL加密特征库还可以处理一些复杂情况,比如当所有SSL业务都被中间人攻击时也可以检测到。
本发明实施例关注的是所有SSL加密业务,而不是单个SSL加密业务,可协同性检测所有SSL加密业务,如可以检测Web服务器、邮件服务器、FTP服务器等;此外,本发明实施例提供的中间人攻击的检测方法不仅适用外网服务器,也适用内网服务器,是一种通用的安全检测方法。另外,本发明实施例提供的中间人攻击的检测方法保证了所有SSL加密业务的均衡,不仅提高了单个SSL加密业务的安全性,还提高了整体SSL加密业务的安全性,是一种全面的安全检测方法。再者,本发明实施例提供的中间人攻击的检测方法不会随着SSL加密业务的增加而发生本质变化,是一种动态可扩展的安全检测方法。
实施例三
下面通过一个具体示例对实施例一和实施例二作进一步地的说明,本实施中,使用SMTPS协议发送电子邮件是第一SSL业务,使用SMTPS协议发送电子邮件的证书信任链为第一加密特征,使用POP3S、IMAPS、HTTPS等协议发送电子邮件是第二SSL业务,使用POP3S、IMAPS、HTTPS等协议发送电子邮件的证书信任链为第二加密特征,使用SMTPS协议发送电子邮件的证书信任链与使用POP3S、IMAPS、HTTPS等协议发送电子邮件的证书信任链相同是第一加密特征和第二加密特征之间需满足的条件;电子邮件是大多数组织的主要通信媒体,是用户不可或缺的通信工具,因此电子邮件安全的重要性毋庸置疑。下面以检测用户使用SMTPS协议发送电子邮件是否被中间人攻击为例,详细说明本实施例的技术细节。
第一步,通过openssl、wireshark等工具执行命令,获得命令执行结果后,提取使用SMTPS协议进行发送加密邮件的SSL加密特征库,如下所示:
执行命令:
openssl s_client-connect smtp.qq.com:465;
命令执行结果:
……
Certificate chain
0s:/C=CN/ST=Guangdong/L=Shenzhen/O=Shenzhen Tencent ComputerSystems Company Limited/OU=R&D/CN=pop.qq.com;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
1s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust Global CA;
……
第二步,查询发送加密邮件的POP3S、IMAPS、HTTPS等SSL业务,再通过openssl、wireshark等工具分别获取POP3S、IMAPS、HTTPS等SSL业务的SSL加密特征库,获得命令执行结果后,提取使用POP3S、IMAPS、HTTPS等协议进行发送加密邮件的SSL加密特征库,如下所示:
(1)执行命令:
openssl s_client-connect pop.qq.com:995;
命令执行结果:
……
Certificate chain
0s:/C=CN/ST=Guangdong/L=Shenzhen/O=Shenzhen Tencent ComputerSystems Company Limited/OU=R&D/CN=pop.qq.com;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
1s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust Global CA;
……
(2)执行命令:
openssl s_client-connect imap.qq.com:993;
命令执行结果:
……
Certificate chain
0s:/C=CN/ST=Guangdong/L=Shenzhen/O=Shenzhen Tencent ComputerSystems Company Limited/OU=R&D/CN=pop.qq.com;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
1s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust Global CA;
……
(3)执行命令:
openssl s_client-connect smtp.qq.com:587;
命令执行结果:
……
Certificate chain
0s:/C=CN/ST=Guangdong/L=Shenzhen/O=Shenzhen Tencent ComputerSystems Company Limited/OU=R&D/CN=pop.qq.com;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
1s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust Global CA;
……
(4)执行命令:
openssl s_client-connect mail.qq.com:443;
命令执行结果:
……
Certificate chain
0s:/C=CN/ST=Guangdong/L=Shenzhen/O=Shenzhen Tencent ComputerSystems Company Limited/OU=R&D/CN=mail.qq.com;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
1s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust Global CA;
2s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA;
i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority;
……
第三步,对比SMTPS的SSL加密特征库与POP3S、IMAPS等业务的SSL加密特征库;由于除了HTTPS的SSL加密特征库之外,POP3S、IMAPS等业务的SSL加密特征库没有根证书信息,所以从中间证书开始比较,发现所有业务的SSL加密特征库的中间证书都相同,而且所有中间证书都是通过CA权威机构签发的;继续比较子证书,发现所有子证书中除了服务器域名不同外,其他信息都相同;因此,根据比较逻辑,可以判断该用户的当前环境没有被中间人攻击。
实施例四
下面通过一个具体示例对实施例一和实施例二作进一步地的说明,本实施例中,通过浏览器方式访问sohu邮箱即使用HTTPS协议访问sohu邮箱是第一SSL业务,通过浏览器方式访问sohu邮箱的证书信任链为第一加密特征,使用POP3S、IMAPS、SMTPS等协议访问sohu邮箱是第二SSL业务,使用POP3S、IMAPS、SMTPS等协议访问sohu邮箱的证书信任链为第二加密特征,通过浏览器方式访问sohu邮箱的证书信任链与使用POP3S、IMAPS、SMTPS等协议访问sohu邮箱的证书信任链相同是第一加密特征和第二加密特征之间需满足的条件;假如用户想要检测通过浏览器方式访问sohu邮箱是否被中间人攻击,具体过程如下所示:
第一步,通过openssl、wireshark等工具执行命令,获得命令执行结果后,提取通过浏览器方式访问sohu邮箱的SSL加密特征库,如下所示:
执行命令:
openssl s_client-connect mail.sohu.com:443;
命令执行结果:
……
Certificate chain
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Sohu New MediaInformation Technology Co.Ltd/OU=Application Operator/CN=*.sohu.com;
i:/C=CN/ST=Beijing/L=BJ/O=TEST/OU=faketest/CN=www.test.com/email Address=test@aa.com;
1s:/C=CN/ST=Beijing/L=BJ/O=TEST/OU=faketest/CN=www.test.com/email Address=test@aa.com;
i:/C=CN/ST=Beijing/L=BJ/O=TEST/OU=faketest/CN=www.test.com/email Address=test@aa.com;
……
第二步,查询访问sohu邮箱的其他SSL业务,再通过openssl、wireshark等工具分别获取POP3S、IMAPS、HTTPS等SSL业务的SSL加密特征库,获得命令执行结果后,提取使用POP3S、IMAPS、HTTPS等协议访问sohu邮箱的SSL加密特征库,如下所示:
(1)执行命令:
openssl s_client-connect mail.sohu.com:995;
命令执行结果:
……
Certificate chain
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Sohu New MediaInformation Technology Co.Ltd/OU=Application Operator/CN=*.sohu.com;
i:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3Secure Server CA-G4;
1s:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3Secure Server CA-G4;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public PrimaryCertification Authority-G5;
2s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public PrimaryCertification Authority-G5;
i:/C=US/O=VeriSign,Inc./OU=Class 3Public Primary CertificationAuthority;
(2)执行命令:
openssl s_client-connect mail.sohu.com:993;
命令执行结果:
……
Certificate chain
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Sohu New MediaInformation Technology Co.Ltd/OU=Application Operator/OU=Terms of use atwww.verisign.com/rpa(c)05/CN=*.sohu.com;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms of useat https://www.verisign.com/rpa(c)10/CN=VeriSign Class 3Secure Server CA-G3;
1s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms ofuse at https://www.verisign.com/rpa(c)10/CN=VeriSign Class 3Secure ServerCA-G3;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public PrimaryCertification Authority-G5;
2s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public PrimaryCertification Authority-G5;
i:/C=US/O=VeriSign,Inc./OU=Class 3Public Primary CertificationAuthority;
(3)执行命令:
openssl s_client-connect mail.sohu.com:465;
命令执行结果:
……
Certificate chain
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Sohu New MediaInformation Technology Co.Ltd/OU=Application Operator/CN=*.sohu.com;
i:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3Secure Server CA-G4;
1s:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3Secure Server CA-G4;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public PrimaryCertification Authority-G5;
2s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public PrimaryCertification Authority-G5;
i:/C=US/O=VeriSign,Inc./OU=Class 3Public Primary CertificationAuthority。
第三步,比较各个业务的SSL加密特征库,发现HTTPS的SSL加密特征库中根证书与其他业务的SSL加密特征库的根证书不同,而且是自签名证书,可以确定该用户通过浏览器访问sohu加密邮箱被中间人攻击。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (8)

1.一种中间人攻击的检测方法,其特征在于,所述方法包括:
当需要对第一安全套接层SSL业务进行中间人攻击检测时,获取所述第一SSL业务的第一加密特征以及预设的第二SSL业务的第二加密特征,其中所述预设的第二SSL业务是未被中间人攻击的SSL业务;
判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,满足时,判定所述第一SSL业务被中间人攻击;
所述第一加密特征包括第一证书信任链,所述第二加密特征包括第二证书信任链;
所述判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,包括:
判断所述第一证书信任链和所述第二证书信任链之间是否包括以下三种情形至少之一:第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同、第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同、第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同;
包括上述情形至少之一时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件;
亦或者,
确定所述第一证书信任链包含自签名证书、且所述第二证书信任链未包含自签名证书时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件。
2.根据权利要求1所述的方法,其特征在于,所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,包括:所述第一根证书的第一颁发者信息与所述第二根证书的第二颁发者信息不相同;和/或,所述第一根证书的第一主题信息与所述第二根证书的第二主题信息不相同;
所述第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同,包括:所述第一中间证书的第三颁发者信息与所述第二中间证书的第四颁发者信息不相同;
和/或,所述第一中间证书的第三主题信息与所述第二中间证书的第四主题信息不相同;
所述第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同,包括:所述第一子证书的第五颁发者信息与所述第二子证书的第六颁发者信息不相同;和/或,所述第一子证书的第五主题信息与所述第二子证书的第六主题信息不相同;所述第五颁发者信息、第六颁发者信息、第五主题信息、第六主题信息不包括服务器域名信息和邮箱地址信息。
3.根据权利要求1所述的方法,其特征在于,所述判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,还包括:
当所述第一证书信任链未包含所述第一中间证书、和/或所述第二证书信任链未包含所述第二中间证书时,若所述第一根证书与所述第二根证书相同、且所述第一子证书与所述第二子证书相同,判定所述第一加密特征和所述第二加密特征之间不满足设定的被中间人攻击的条件。
4.根据权利要求2所述的方法,其特征在于,所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,还包括:
所述第一中间证书的第三颁发者信息与所述第二根证书的第二主题信息不相同;
或,所述第二中间证书的第四颁发者信息与所述第一根证书的第一主题信息不相同。
5.一种中间人攻击的检测装置,其特征在于,所述装置包括:第一处理单元、第二处理单元;其中,
所述第一处理单元,用于当需要对第一SSL业务进行中间人攻击检测时,获取所述第一SSL业务的第一加密特征以及预设的第二SSL业务的第二加密特征,其中所述预设的第二SSL业务是未被中间人攻击的SSL业务;
所述第二处理单元,用于判断所述第一加密特征和所述第二加密特征之间是否满足设定的被中间人攻击的条件,满足时,判定所述第一SSL业务被中间人攻击;
所述第一加密特征包括第一证书信任链,所述第二加密特征包括第二证书信任链;
所述第二处理单元,具体用于:
判断所述第一证书信任链和所述第二证书信任链之间是否包括以下三种情形至少之一:第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同、第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同、第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同;
包括上述情形至少之一时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件;
亦或者,
确定所述第一证书信任链包含自签名证书、且所述第二证书信任链未包含自签名证书时,判定所述第一加密特征和所述第二加密特征之间满足设定的被中间人攻击的条件。
6.根据权利要求5所述的装置,其特征在于,所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,包括:所述第一根证书的第一颁发者信息与所述第二根证书的第二颁发者信息不相同;和/或,所述第一根证书的第一主题信息与所述第二根证书的第二主题信息不相同;
所述第一证书信任链的第一中间证书与第二证书信任链的第二中间证书不相同,包括:所述第一中间证书的第三颁发者信息与所述第二中间证书的第四颁发者信息不相同;
和/或,所述第一中间证书的第三主题信息与所述第二中间证书的第四主题信息不相同;
所述第一证书信任链的第一子证书与第二证书信任链的第二子证书不相同,包括:所述第一子证书的第五颁发者信息与所述第二子证书的第六颁发者信息不相同;和/或,所述第一子证书的第五主题信息与所述第二子证书的第六主题信息不相同;所述第五颁发者信息、第六颁发者信息、第五主题信息、第六主题信息不包括服务器域名信息和邮箱地址信息。
7.根据权利要求5所述的装置,其特征在于,所述第二处理单元,具体用于:
当所述第一证书信任链未包含所述第一中间证书、和/或所述第二证书信任链未包含所述第二中间证书时,若所述第一根证书与所述第二根证书相同、且所述第一子证书与所述第二子证书相同,判定所述第一加密特征和所述第二加密特征之间不满足设定的被中间人攻击的条件。
8.根据权利要求6所述的装置,其特征在于,所述第一证书信任链的第一根证书与第二证书信任链的第二根证书不相同,还包括:
所述第一中间证书的第三颁发者信息与所述第二根证书的第二主题信息不相同;
或,所述第二中间证书的第四颁发者信息与所述第一根证书的第一主题信息不相同。
CN201710069718.XA 2017-02-08 2017-02-08 一种中间人攻击的检测方法和装置 Active CN106899579B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710069718.XA CN106899579B (zh) 2017-02-08 2017-02-08 一种中间人攻击的检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710069718.XA CN106899579B (zh) 2017-02-08 2017-02-08 一种中间人攻击的检测方法和装置

Publications (2)

Publication Number Publication Date
CN106899579A CN106899579A (zh) 2017-06-27
CN106899579B true CN106899579B (zh) 2019-12-06

Family

ID=59198008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710069718.XA Active CN106899579B (zh) 2017-02-08 2017-02-08 一种中间人攻击的检测方法和装置

Country Status (1)

Country Link
CN (1) CN106899579B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786535A (zh) * 2017-09-06 2018-03-09 中国科学院信息工程研究所 一种基于无线路由器的智能设备轻量级保护方法和无线路由器
CN111181967B (zh) * 2019-12-30 2023-07-04 奇安信科技集团股份有限公司 数据流识别方法、装置、电子设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571770A (zh) * 2011-12-27 2012-07-11 北京神州绿盟信息安全科技股份有限公司 中间人攻击检测方法、装置、服务器及系统
CN105516066A (zh) * 2014-09-26 2016-04-20 阿里巴巴集团控股有限公司 一种对中间人的存在进行辨识的方法及装置
CN106161453A (zh) * 2016-07-21 2016-11-23 南京邮电大学 一种基于历史信息的SSLstrip防御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300656B2 (en) * 2014-08-21 2016-03-29 International Business Machines Corporation Secure connection certificate verification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571770A (zh) * 2011-12-27 2012-07-11 北京神州绿盟信息安全科技股份有限公司 中间人攻击检测方法、装置、服务器及系统
CN105516066A (zh) * 2014-09-26 2016-04-20 阿里巴巴集团控股有限公司 一种对中间人的存在进行辨识的方法及装置
CN106161453A (zh) * 2016-07-21 2016-11-23 南京邮电大学 一种基于历史信息的SSLstrip防御方法

Also Published As

Publication number Publication date
CN106899579A (zh) 2017-06-27

Similar Documents

Publication Publication Date Title
US9237168B2 (en) Transport layer security traffic control using service name identification
JP5886422B2 (ja) プロトコルフィンガープリント取得および評価相関のためのシステム、装置、プログラム、および方法
US8756697B2 (en) Systems and methods for determining vulnerability to session stealing
US9906371B2 (en) Secure connection certificate verification
Al Barghouthy et al. Social Networks IM Forensics: Encryption Analysis.
JP2005295509A (ja) 電子メールを使用した公開情報の認証された交換
US20130103944A1 (en) Hypertext Link Verification In Encrypted E-Mail For Mobile Devices
Korczyński et al. Zone poisoning: The how and where of non-secure DNS dynamic updates
RU2601147C2 (ru) Система и способ выявления целевых атак
Shbair et al. A survey of https traffic and services identification approaches
CN106899579B (zh) 一种中间人攻击的检测方法和装置
Mayank et al. Tor traffic identification
Franzen et al. Looking for honey once again: Detecting RDP and SMB honeypots on the Internet
Pukkawanna et al. Classification of SSL servers based on their SSL handshake for automated security assessment
CA2793422C (en) Hypertext link verification in encrypted e-mail for mobile devices
KR101996044B1 (ko) 암호화 트래픽의 네트워크 포렌식 서비스 제공을 위한 icap 프로토콜 확장 방법과 이를 지원하는 네트워크 포렌식 장치 및 웹 프락시
Jacobs et al. Identities, anonymity and information warfare
Bagaria et al. Detecting malignant tls servers using machine learning techniques
Mshangi et al. Using soft systems methodology and activity theory to exploit security of web applications against heartbleed vulnerability
Kong et al. Fine-grained Identification for SSL/TLS Packets
Anderson et al. Assessing and Exploiting Domain Name Misinformation
Shbair Service-Level Monitoring of HTTPS Traffic
US20230156016A1 (en) Protecting against api attacks by continuous auditing of security compliance of api usage relationship
Monteiro An internet-wide analysis of TLS configurations of public LDAP servers
Draper-Gil et al. My email communications security assessment (MECSA): 2018 results

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant