CN115622754B - 一种检测并防止mqtt漏洞的方法、系统和装置 - Google Patents

一种检测并防止mqtt漏洞的方法、系统和装置 Download PDF

Info

Publication number
CN115622754B
CN115622754B CN202211200212.5A CN202211200212A CN115622754B CN 115622754 B CN115622754 B CN 115622754B CN 202211200212 A CN202211200212 A CN 202211200212A CN 115622754 B CN115622754 B CN 115622754B
Authority
CN
China
Prior art keywords
protocol
mqtt
vulnerability
engine
data packet
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
CN202211200212.5A
Other languages
English (en)
Other versions
CN115622754A (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.)
Sichuan Qiruike Technology Co Ltd
Original Assignee
Sichuan Qiruike Technology Co Ltd
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 Sichuan Qiruike Technology Co Ltd filed Critical Sichuan Qiruike Technology Co Ltd
Priority to CN202211200212.5A priority Critical patent/CN115622754B/zh
Publication of CN115622754A publication Critical patent/CN115622754A/zh
Application granted granted Critical
Publication of CN115622754B publication Critical patent/CN115622754B/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/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

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

Abstract

本发明公开了一种检测并防止MQTT漏洞的方法、系统和装置,本发明通过漏洞评估、设计解析引擎、协议识别、协议解析和严格协议验证的步骤,在开源IDS中添加MQTT物联网协议支持,使IDS可以用于主动发现和屏蔽物联网设备的漏洞,以及在受到攻击前维护物联网网络或设备漏洞,起到保障物联网设备和网络的安全的效果。本发明还通过定义一套可以被入侵检测系统使用的规则,并由解析引擎使用,实现保护设备免受利用协议实现的漏洞攻击,并防止影响IoT网络的MQTT泛洪攻击。

Description

一种检测并防止MQTT漏洞的方法、系统和装置
技术领域
本发明涉及物联网安全技术,更具体地,本发明涉及一种检测并防止MQTT漏洞的方法、系统和装置。
背景技术
随着物联网(IoT)设备在我们日常生活中的广泛使用,保护物联网设备免受网络攻击的需求日渐增长。
通过固件更新对物联网设备中发现的漏洞进行修复是目前最常见的方法。然而,这一功能并不是每个物联网设备都可用。只有少数几家物联网厂商支持物联网设备固件的自动更新。而且,攻击者可能会利用固件更新技术中的漏洞,将一些恶意软件集成到设备固件中。所以物联网设备对补丁或更新固件的支持效果并不好。
传统的网络防御系统(IDS)由于缺乏对受限应用协议(CoAP)、消息排队遥测传输(MQTT)等广泛应用的物联网应用层协议的支持,无法保障物联网设备和网络的安全。
发明内容
本发明克服了现有技术的不足,提供一种检测并防止MQTT漏洞的方法、系统和装置,以期望可以解决基于网络的IDS不支持MQTT协议的问题。
为解决上述的技术问题,本发明采用以下技术方案:
一种检测并防止MQTT漏洞的方法,包括以下步骤:
S1:漏洞评估;
根据NVD(National Vulnerability Database美国国家漏洞资料库)和CVE(Common Vulnerabilities&Exposures通用漏洞披露)等在线漏洞报告平台关于MQTT协议的漏洞信息,评估网络中存在的IoT设备的协议漏洞,针对不同的漏洞影响协议的字段进行整理,按照严重程度,难易度进行多优先级算法排序;
S2:设计解析引擎;
根据对漏洞评估结果设计出解析引擎,所述解析引擎包括协议识别、协议解析和严格协议验证功能;
所述协议识别、协议解析和严格协议验证功能具体为,解析引擎识别传入或传出数据包的协议,在协议识别之后,根据识别出的协议格式解析数据包,并验证数据包字段;
S3:协议识别;
解析引擎基于开源IDS支持MQTT协议的基础,识别传入或传出数据包协议,分析数据;
S4:协议解析;
通过分析协议签名,确定MQTT客户端之间交换包的顺序和特征,以此过滤掉畸形数据包或攻击性的数据包,再根据识别出的协议的格式来解析数据包;
所述畸形数据包或攻击性的数据包具体包括:FTP、SMTP、HTTP数据包或攻击性的数据包,
S5:严格协议验证;
通过分析MQTT数字签名中的TCP长度、总包长度以及来自MQTT代理的响应包中的标志,判断流数据包是否是与MQTT协议相关的数据包。验证数据包字段,是否符合漏洞描述,如果是漏洞就按照引擎提供处理机制处理,如果不是漏洞,就正常流程协议数据。
解析引擎将保护大部分MQTT协议发现并解决漏洞。
进一步的技术方案是,定义一套可以被入侵检测系统使用的规则,并由解析引擎使用。
通过定义规则,并由解析引擎使用该规则,可以提供额外的安全性,防御不属于MQTT协议实现缺陷的网络攻击,例如泛洪攻击,起到进一步保护物联网网络安全的效果。
更进一步的技术方案是:所述规则为,在所述S4协议解析步骤中,解析引擎负责对协议漏洞和MQTT协议包字段的不当使用进行广泛检查。
由于Suricata的MQTT解析引擎没有对不适当的长度检查、必需字段或逻辑错误执行严格的检查。所以通过定义规则使解析引擎针对不适当的长度检查、必需字段和逻辑错误执行协议验证,解析引擎能在网关级进行严格的协议验证,保护设备免受利用协议实现的漏洞攻击。
更进一步的技术方案是:所述规则为,在所述S4协议解析步骤中,从MQTT数据包中提取关键字;
将所提取的关键字添加到解析引擎和开源IDS的规则匹配引擎中,解析引擎将从每个MQTT传入或传出的数据包中提取这些关键字的值,并执行严格的协议验证,而开源IDS的规则引擎将关键字的值与MQTT规则匹配,如果存在规则匹配,那么它将阻塞该数据包。
当攻击者试图发送多个连接请求时,则会被规则引擎分析检测,如果来自单个源的传入连接请求超过每分钟10个连接请求的限制,则引擎将丢弃这些恶意数据包。
同样,当攻击者试图向MQTT代理大量发送发布包时,如果来自单个源的传入流量超过了每分钟100个发布包的限制,引擎将检测并丢弃这种恶意尝试。及时抛弃攻击数据,留下系统资源接收正确的数据,避免系统失效。防止影响IoT网络的MQTT泛洪攻击。
本发明还提供了一种检测并防止MQTT漏洞系统,该系统包括:
物联网设备,用于发布和接收数据包;
云管理平台,用于执行上述方法;
MQTT服务器,用于按照上述方法与物联网设备、云管理平台进行交互。
本发明还提供了一种电子设备,该电子设备包括:处理器和可读存储介质;
所述可读存储介质存储有能够被所述处理器执行的可执行指令;
所述处理器用于执行可读存储介质中存储的可执行指令,以实现上述方法步骤。
本发明通过在开源IDS中添加MQTT物联网协议支持,使IDS可以用于主动发现和屏蔽物联网设备的漏洞,以及在受到攻击前维护物联网网络或设备漏洞,起到保障物联网设备和网络的安全的效果。
附图说明
图1为本申请实施例提供的一种检测并防止MQTT漏洞的方法的流程示意图。
图2为本申请实施例定义的解析引擎所执行的规则流程示意图。
图3为本申请提供的检测并防止MQTT漏洞系统工作原理示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例及附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,公开实施例提供了一种检测并防止MQTT漏洞的方法,包括以下步骤:
S1:漏洞评估;
根据NVD和CVE等在线漏洞报告平台关于MQTT协议的漏洞信息,评估网络中存在的物联网(IoT)设备的协议漏洞,针对不同的漏洞影响协议的字段进行整理,按照严重程度,难易度进行多优先级算法排序;
在本实施例中按照:包长度检查不当、缺少必要字段检查、缺少逻辑错误检查以及其他漏洞由高到底优先级排序;
S2:设计解析引擎;
根据对漏洞评估结果,即不同漏洞等级对应的漏洞类别,可配置不同的解析方式,设计出解析引擎,所述解析引擎包括协议识别、协议解析和严格协议验证功能;
所述根据不同漏洞等级对应的漏洞类别,可配置不同的解析方式;
所述协议识别、协议解析和严格协议验证功能具体为,解析引擎识别传入或传出数据包的协议,在协议识别之后,根据识别出的协议格式解析数据包,并验证数据包字段;
S3:协议识别;
解析引擎基于开源IDS支持MQTT协议的基础,识别传入或传出数据包协议,分析数据;
需要说明的是,开源IDS可以使用:Snort、OSSEC、Suricata等,在本实施例中,使用Suricata。
具体为,Suricata中的协议识别是基于底层协议的默认端口号完成的,通过端口过滤的方法来执行MQTT协议识别,即将默认的MQTT端口1883上的每个传入数据包检测为MQTT数据包。
S4:协议解析;
通过分析协议签名,确定MQTT客户端之间交换包的顺序和特征,以此过滤掉畸形数据包,包括:FTP、SMTP、HTTP数据包和攻击性数据包,再根据识别出的协议的格式来解析数据包;
S5:严格协议验证;
通过分析MQTT数字签名中的TCP长度、总包长度以及来自MQTT代理的响应包中的标志,判断流数据包是否是与MQTT协议相关的数据包,验证数据包字段,是否符合漏洞描述,如果是漏洞就按照引擎提供的处理机制处理,如果不是漏洞,就作为正常流程协议数据。
为了进一步优化方案,本发明实施例在上述实施例的基础上作了进一步的改进,定义一套可以被入侵检测系统使用的规则,并由解析引擎使用。
所述规则为,在所述S4协议解析中,解析引擎负责对协议漏洞和MQTT协议包字段的不当使用进行广泛检查。
参见图2,在本申请所提供方法的另一实施例中,所述规则为,在所述S4协议解析步骤中,从MQTT数据包中提取关键字;
所述提取关键字方法具体为:根据MQTT协议字段,配置正则表达式,提取出关键字,供引擎分析。
将所提取的关键字添加到提议的解析引擎和开源IDS的规则匹配引擎中,在本实施例中,所述开源IDS使用Suricata。
解析引擎将从每个MQTT传入或传出的数据包中提取这些关键字的值,并执行严格的协议验证,而Suricata的规则引擎将关键字的值与MQTT规则匹配,
如果存在规则匹配,那么它将阻塞该数据包。
参见图3,本发明还提供了一种检测并防止MQTT漏洞系统,该系统包括:
物联网设备,用于发布和接收数据包;
云管理平台,用于执行上述方法;
MQTT服务器,用于按照上述方法与物联网设备、云管理平台进行交互。
本发明还提供了一种电子设备,该电子设备包括:处理器和机器可读存储介质;
所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现上述方法步骤。
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
尽管这里参照本发明的解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。

Claims (6)

1.一种检测并防止MQTT漏洞的方法,包括以下步骤:
S1:漏洞评估;
根据NVD和CVE等在线漏洞报告平台关于MQTT协议的漏洞信息,评估网络中存在的IoT设备的协议漏洞,针对不同的漏洞影响协议的字段进行整理,按照严重程度,难易度进行多优先级算法排序,所述多优先级算法排序包括,包长度检查不当、缺少必要字段检查、缺少逻辑错误检查以及其他漏洞由高到低优先级排序;
S2:设计解析引擎;
根据对漏洞评估结果设计出解析引擎,所述解析引擎包括协议识别、协议解析和严格协议验证功能;
S3:协议识别;
解析引擎基于开源IDS支持MQTT协议的基础,识别传入或传出数据包协议,分析数据;
S4:协议解析;
通过分析协议签名,确定MQTT客户端之间交换包的顺序和特征,以此过滤掉畸形数据包或攻击性的数据包,再根据识别出的协议的格式来解析数据包;
S5:严格协议验证;
通过分析MQTT数字签名中的TCP长度、总包长度以及来自MQTT代理的响应包中的标志,判断流数据包是否是与MQTT协议相关的数据包,验证信息包字段,是否符合漏洞描述,如果是漏洞就按照引擎提供处理机制处理,如果不是漏洞,就正常流程协议数据。
2.如权利要求1所述的一种检测并防止MQTT漏洞的方法,其特征在于:定义一套可以被入侵检测系统使用的规则,并由解析引擎使用。
3.如权利要求2所述的一种检测并防止MQTT漏洞的方法,其特征在于:所述规则为,在所述S4协议解析中,解析引擎负责对协议漏洞和MQTT协议包字段的不当使用进行不适当的长度检查、必需字段或逻辑错误执行严格的检查。
4.如权利要求2所述的一种检测并防止MQTT漏洞的方法,其特征在于,所述规则为,在所述S4协议解析步骤中,从MQTT数据包中提取关键字;
将所提取的关键字添加到解析引擎和开源IDS的规则匹配引擎中,解析引擎将从每个MQTT传入或传出的数据包中提取这些关键字的值,并执行严格的协议验证,而开源IDS的规则引擎将关键字的值与MQTT规则匹配,如果存在规则匹配,那么它将阻塞该数据包。
5.一种检测并防止MQTT漏洞系统,其特征在于,该系统包括:
物联网设备,用于发布和接收信息包;
云管理平台,用于执行如权利要求1至4任一方法;
MQTT服务器,用于按照如权利要求1至4任一方法与物联网设备、云管理平台进行交互。
6.一种电子设备,其特征在于,该电子设备包括:处理器和可读存储介质;
所述可读存储介质存储有能够被所述处理器执行的可执行指令;
所述处理器用于执行可读存储介质中存储的可执行指令,以实现权利要求1-4任一项的方法步骤。
CN202211200212.5A 2022-09-29 2022-09-29 一种检测并防止mqtt漏洞的方法、系统和装置 Active CN115622754B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211200212.5A CN115622754B (zh) 2022-09-29 2022-09-29 一种检测并防止mqtt漏洞的方法、系统和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211200212.5A CN115622754B (zh) 2022-09-29 2022-09-29 一种检测并防止mqtt漏洞的方法、系统和装置

Publications (2)

Publication Number Publication Date
CN115622754A CN115622754A (zh) 2023-01-17
CN115622754B true CN115622754B (zh) 2024-05-14

Family

ID=84861450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211200212.5A Active CN115622754B (zh) 2022-09-29 2022-09-29 一种检测并防止mqtt漏洞的方法、系统和装置

Country Status (1)

Country Link
CN (1) CN115622754B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809970A (zh) * 2018-05-29 2018-11-13 华南理工大学 一种智能家居安全网关的安全防护方法
CN108847983A (zh) * 2018-06-27 2018-11-20 电子科技大学 基于mqtt协议的入侵检测方法
CN110008713A (zh) * 2019-05-06 2019-07-12 杭州齐安科技有限公司 一种新型工控系统漏洞探测方法及系统
CN110505212A (zh) * 2019-07-24 2019-11-26 武汉大学 一种基于MiddleBox的物联网虚拟安全设备
CN110958271A (zh) * 2019-12-24 2020-04-03 国家计算机网络与信息安全管理中心 一种车载外部网络入侵检测系统
CN112073417A (zh) * 2020-09-09 2020-12-11 德明通讯(上海)有限责任公司 一种物联网设备接入微软云的方法及系统
CN113472637A (zh) * 2021-06-30 2021-10-01 嘉兴职业技术学院 一种lora网关
CN113572760A (zh) * 2021-07-22 2021-10-29 全球能源互联网研究院有限公司 一种设备协议漏洞检测方法及装置
CN113839941A (zh) * 2021-09-22 2021-12-24 国网湖北省电力有限公司检修公司 基于smote和并行随机森林的物联网设备准入检测方法和系统
US11233823B1 (en) * 2019-12-09 2022-01-25 Amazon Technologies, Inc. Efficient implementation of honeypot devices to detect wide-scale network attacks
CN114205126A (zh) * 2021-11-25 2022-03-18 北京国泰网信科技有限公司 一种工业系统中攻击检测的方法、设备及介质
CN114389837A (zh) * 2021-12-07 2022-04-22 广东宜通衡睿科技有限公司 一种物联网终端的安全监测方法、装置、介质及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102199054B1 (ko) * 2017-08-10 2021-01-07 한국전자통신연구원 직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809970A (zh) * 2018-05-29 2018-11-13 华南理工大学 一种智能家居安全网关的安全防护方法
CN108847983A (zh) * 2018-06-27 2018-11-20 电子科技大学 基于mqtt协议的入侵检测方法
CN110008713A (zh) * 2019-05-06 2019-07-12 杭州齐安科技有限公司 一种新型工控系统漏洞探测方法及系统
CN110505212A (zh) * 2019-07-24 2019-11-26 武汉大学 一种基于MiddleBox的物联网虚拟安全设备
US11233823B1 (en) * 2019-12-09 2022-01-25 Amazon Technologies, Inc. Efficient implementation of honeypot devices to detect wide-scale network attacks
CN110958271A (zh) * 2019-12-24 2020-04-03 国家计算机网络与信息安全管理中心 一种车载外部网络入侵检测系统
CN112073417A (zh) * 2020-09-09 2020-12-11 德明通讯(上海)有限责任公司 一种物联网设备接入微软云的方法及系统
CN113472637A (zh) * 2021-06-30 2021-10-01 嘉兴职业技术学院 一种lora网关
CN113572760A (zh) * 2021-07-22 2021-10-29 全球能源互联网研究院有限公司 一种设备协议漏洞检测方法及装置
CN113839941A (zh) * 2021-09-22 2021-12-24 国网湖北省电力有限公司检修公司 基于smote和并行随机森林的物联网设备准入检测方法和系统
CN114205126A (zh) * 2021-11-25 2022-03-18 北京国泰网信科技有限公司 一种工业系统中攻击检测的方法、设备及介质
CN114389837A (zh) * 2021-12-07 2022-04-22 广东宜通衡睿科技有限公司 一种物联网终端的安全监测方法、装置、介质及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ahmed J. Hintaw,Selvakumar Manickam,Mohammed Faiz Aboalmaaly,Shankar Karuppayah.MQTT Vulnerabilities, Attack Vectors and Solutions in the Internet of Things (IoT).《IETE Journal of Research》.2021,全文. *
面向家庭自动化的变量安全操作协议的设计与验证;邹鹏举;《中国优秀硕士学位论文全文数据库》;20180415;全文 *

Also Published As

Publication number Publication date
CN115622754A (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
US11516181B2 (en) Device, system and method for defending a computer network
JP4961153B2 (ja) コンピュータシステムからナレッジベースをアグリゲートし、コンピュータをマルウェアから事前に保護すること
EP2008188B1 (en) Software vulnerability exploitation shield
US7797749B2 (en) Defending against worm or virus attacks on networks
US7979368B2 (en) Systems and methods for processing data flows
US8010469B2 (en) Systems and methods for processing data flows
KR101217647B1 (ko) 특정 소스/목적지 ip 어드레스 쌍들에 기초한 ip 네트워크들에서 서비스 거부 공격들에 대한 방어 방법 및 장치
US20120240185A1 (en) Systems and methods for processing data flows
US20070192863A1 (en) Systems and methods for processing data flows
US20080229415A1 (en) Systems and methods for processing data flows
US20110214157A1 (en) Securing a network with data flow processing
US20110219035A1 (en) Database security via data flow processing
CA2545916A1 (en) Apparatus method and medium for detecting payload anomaly using n-gram distribution of normal data
CN112583845A (zh) 一种访问检测方法、装置、电子设备和计算机存储介质
US8095981B2 (en) Worm detection by trending fan out
JP2005134972A (ja) ファイアウォール装置
CN115622754B (zh) 一种检测并防止mqtt漏洞的方法、系统和装置
CN115603985A (zh) 入侵检测方法及电子设备、存储介质
US20170346844A1 (en) Mitigating Multiple Advanced Evasion Technique Attacks
CN111147491B (zh) 一种漏洞修复方法、装置、设备及存储介质
KR102046612B1 (ko) Sdn 기반의 dns 증폭 공격 방어시스템 및 그 방법
US11451584B2 (en) Detecting a remote exploitation attack
CN114301689B (zh) 校园网络安全防护方法、装置、计算设备及存储介质
CN113037841B (zh) 一种提供分布式拒绝攻击的防护方法
Whyte Network scanning detection strategies for enterprise networks

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
GR01 Patent grant
GR01 Patent grant