CN108965296A - 一种用于智能家居设备的漏洞检测方法及检测装置 - Google Patents
一种用于智能家居设备的漏洞检测方法及检测装置 Download PDFInfo
- Publication number
- CN108965296A CN108965296A CN201810784265.3A CN201810784265A CN108965296A CN 108965296 A CN108965296 A CN 108965296A CN 201810784265 A CN201810784265 A CN 201810784265A CN 108965296 A CN108965296 A CN 108965296A
- Authority
- CN
- China
- Prior art keywords
- file
- loophole
- smart home
- home device
- data
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种用于智能家居设备的漏洞检测方法及检测装置,其中方法包括:获取智能家居设备中保存的文件;判断所获取文件的文件类别;当所获取的文件类别为数据流文件时,提取数据流文件中的流量数据包;利用所提取的流量数据包,检测智能家居设备是否存在通信安全漏洞;当所获取的文件类别为应用程序文件时,提取应用程序文件中的配置文件和组件文件;利用所提取的配置文件对应的属性值以及组件文件对应的属性值,检测智能家居设备是否存在运行安全漏洞。本发明实施例能够及时检测出智能家居设备中的安全漏洞,提高智能家居设备的安全程度。
Description
技术领域
本发明涉及物联网安全技术领域,特别是涉及一种用于智能家居设备的漏洞检测方法及检测装置。
背景技术
随着互联网技术的不断发展,越来越多的服务器开始具有接入互联网的能力,服务器之间能够通过网络相互通信,这种以物和物相连的互联网,称之为物联网。尤其是近几年,诸如智能电视、智能冰箱、智能空调等家居设备如雨后春笋般进入人们的家庭,人们甚至可以通过一部手机控制这些智能家居设备,为人们的生活带来极大的便利。
智能家居设备在为人们提供便利的同时,也暴露出所存在的问题,其中最受人关注的便是隐私安全问题。由于智能家居设备中通常需要安装操作系统、应用软件、进行网络通信,因此难免存在安全漏洞。当人们在操控智能家居设备时,或者智能家居设备间进行通信时,黑客很容易利用这些安全漏洞控制智能家居设备,窃取存储在智能家居设备上的用户隐私,甚至利用智能家居设备进行网络攻击。
但是目前,还没有一种能够系统检测智能家居设备中安全漏洞的方法。
发明内容
本发明实施例的目的在于提供一种用于智能家居设备的漏洞检测方法及检测装置,以实现检测智能家居设备中的安全漏洞。具体技术方案如下:
第一方面,本发明实施例提供了一种用于智能家居设备的漏洞检测方法,所述方法包括:
获取智能家居设备中保存的文件;
判断所获取文件的文件类别,所述文件类别至少包括:数据流文件和应用程序文件;
当所获取的文件类别为数据流文件时,提取所述数据流文件中的流量数据包;
利用所提取的所述流量数据包,检测所述智能家居设备是否存在通信安全漏洞,所述通信安全漏洞包括:重放攻击漏洞,异常通信端口漏洞和弱口令漏洞;
当所获取的文件类别为所述应用程序文件时,提取所述应用程序文件中的配置文件和组件文件;
利用所提取的所述配置文件对应的属性值以及所述组件文件对应的属性值,检测所述智能家居设备是否存在运行安全漏洞,所述运行安全漏洞包括:不安全配置漏洞,过度授权漏洞和组件暴露漏洞。
可选地,所述方法还包括:
提取所述数据流文件或所述应用程序文件中的WEB服务数据;
利用所提取的所述WEB服务数据,检测所述智能家居设备是否存在网络安全漏洞,所述网络安全漏洞包括:网页数据爬取漏洞,跨站脚本攻击XSS漏洞,结构化查询语言SQL注入漏洞,文件包含漏洞和不安全跳转漏洞。
可选地,所述方法还包括:
提取所述数据流文件或所述应用程序文件中的WEB服务数据;
利用所提取的所述WEB服务数据,检测所述智能家居设备是否存在网络安全漏洞,所述网络安全漏洞包括:网页数据爬取漏洞,跨站脚本攻击XSS漏洞,结构化查询语言SQL注入漏洞,文件包含漏洞和不安全跳转漏洞。
可选地,所述将所检测到的所述智能家居设备的漏洞传输至数据库之后,所述方法还包括:
将所述数据库中存储的所述智能家居设备的漏洞数据传输至前端设备,以使所述前端设备展示所述智能家居设备的漏洞。
可选地,所述利用所提取的所述流量数据包,检测所述智能家居设备是否存在通信安全漏洞,包括:
确定所述流量数据包中的源IP地址、源端口、目的IP地址、目的端口及通信协议;
利用所确定的所述源IP地址、源端口、目的IP地址、目的端口及通信协议,与所述智能家居设备建立Socket连接;
利用所建立的所述Socket连接,对所述通信数据进行重放,检测所述智能家居设备是否受到重放攻击;
如果所述智能家居设备受到重放攻击,则确定所述智能家居设备存在所述重放攻击漏洞。
可选地,所述利用所提取的所述配置文件对应的属性值以及所述组件文件对应的属性值,检测所述智能家居设备是否存在运行安全漏洞,包括:
确定所述配置文件对应的属性值以及所述组件文件对应的属性值;
将所确定的属性值与预设漏洞列表中对应的属性值进行比对;
如果比对结果一致,确定所述智能家居设备存在运行安全漏洞。
第二方面,本发明实施例提供了一种用于智能家居设备的漏洞检测装置,所述装置包括:
获取模块,用于获取智能家居设备中保存的文件;
判断模块,用于判断所获取文件的文件类别,所述文件类别至少包括:数据流文件和应用程序文件;
第一提取模块,用于当所获取的文件类别为数据流文件时,提取所述数据流文件中的流量数据包;
第一检测模块,用于利用所提取的所述流量数据包,检测所述智能家居设备是否存在通信安全漏洞,所述通信安全漏洞包括:重放攻击漏洞,异常通信端口漏洞和弱口令漏洞;
第二提取模块,用于当所获取的文件类别为所述应用程序文件时,提取所述应用程序文件中的配置文件和组件文件;
第二检测模块,用于利用所提取的所述配置文件对应的属性值以及所述组件文件对应的属性值,检测所述智能家居设备是否存在运行安全漏洞,所述运行安全漏洞包括:不安全配置漏洞,过度授权漏洞和组件暴露漏洞。
可选地,所述装置还包括:
第三提取模块,用于提取所述数据流文件或所述应用程序文件中,用于执行所述当前任务的WEB服务数据;
第三检测模块,用于根据所提取的所述WEB服务数据,检测所述智能家居设备是否存在网络安全漏洞,所述网络安全漏洞包括:网页数据爬取漏洞,跨站脚本攻击XSS漏洞,结构化查询语言SQL注入漏洞,文件包含漏洞和不安全跳转漏洞。
第三方面,本发明实施例提供了一种服务器,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本发明实施例第一方面提供的用于智能家居设备的漏洞检测方法的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行本发明实施例第一方面提供的用于智能家居设备的漏洞检测方法的方法步骤。
本发明实施例提供的一种用于智能家居设备的漏洞检测方法及检测装置,获取智能家居设备中保存的文件后,能够判断上述文件中的数据流文件和应用程序文件,对数据流文件中的TCP链接信息和通信数据进行提取,从而检测智能家居设备是否存在通信安全漏洞;对应用程序文件中的配置文件和组件文件进行提取,从而检测智能家居设备是否存在运行安全漏洞,能够及时检测出智能家居设备中的安全漏洞,提高智能家居设备的安全程度。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的用于智能家居设备的漏洞检测方法的一种流程示意图;
图2为本发明实施例提供的用于智能家居设备的漏洞检测方法的另一种流程示意图;
图3为本发明实施例提供的用于智能家居设备的漏洞检测装置的一种结构示意图;
图4为本发明实施例中第一检测模块的结构示意图;
图5为本发明实施例中第二检测模块的结构示意图;
图6为本发明实施例提供的用于智能家居设备的漏洞检测装置的另一种结构示意图;
图7为本发明实施例提供的服务器的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种用于智能家居设备的漏洞检测方法,可以应用于基于python+django+celery开发的服务器。其中,Python是一种计算机程序设计语言,Django是一个开放源代码的WEB应用框架,基于Python开发;celery也是基于Python开发的分布式任务队列工具。
该过程可以包括以下步骤:
S101,获取智能家居设备中保存的文件。
智能家居设备的存储介质中一般存储有大量数据文件,这些文件有的可以用于运行智能家居设备自身的服务,有的可以用于运行第三方应用程序,并且,在运行过程中,还可能不断产生新的文件。由于这些文件存储在存储介质中,因此服务器可以获取智能家居设备中保存的文件。
作为本发明实施例一种可选的实施方式,可以基于B/S(Browser/Server,浏览器/服务器模式)架构获取上述保存的文件。
具体地,用户可以在前端设备的浏览器WEB显示界面中输入命令,将智能家居设备中保存的文件上传至后端服务器,从而使后端服务器获取上述文件。
S102,判断所获取文件的文件类别,文件类别至少包括:数据流文件和应用程序文件。
获取智能家居设备中保存的文件后,后台服务器可以判断所获取文件的文件类别,例如,该文件是数据流文件还是应用程序文件。
其中,数据流文件的文件格式具体可以为:pcap格式。在基于Linux的操作系统(例如Android操作系统)中,pcap是一种通用的数据流格式,pcap格式的文件可以用于记录数据,例如,流量数据包。流量数据包中通常记录了TCP(Transmission Control Protocol,传输控制协议)链接中的源地址,源端口,目的IP地址,目的IP端口,通信协议,通信数据等信息。
应用程序文件的文件格式具体可以为:APK格式。作为一种Android操作系统的安装程序文件,该文件可以用于保存应用程序,因此该文件中记录有应用程序的数据。
S103,当所获取的文件类别为数据流文件时,提取数据流文件中的流量数据包。
根据前文描述的内容可知,数据流文件可以用于记录数据。本发明实施例中,当后台服务器所获取的文件为数据流文件时,可以对该数据流文件进行解析,然后提取出其中的流量数据包,并分析流量数据包中,TCP链接的源地址,源端口,目的IP地址,目的IP端口,通信协议,以及通信数据。
具体地,可以使用Python中的scapy库来对数据流文件进行解析。其中,scapy库是基于Python的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,因此可以用于网络攻击测试。
S104,利用所提取的流量数据包,检测智能家居设备是否存在通信安全漏洞。
本发明实施例中,流量数据包中可以记载TCP链接中的源地址,源端口,目的IP地址,目的IP端口,通信协议,以及通信数据。因此,可以利用所提取的流量数据包,检测智能家居设备是否存在通信安全漏洞。
作为本发明实施例一种具体的实施方式,上述检测智能家居设备是否存在通信安全漏洞的具体过程可以为:
首先,确定流量数据包中,TCP链接的源IP地址、源端口、目的IP地址、目的端口及通信协议。其中,源IP地址是指通信过程中数据发送端的IP地址,源端口是指发送数据的端口,目的IP地址是指数据接收端的IP地址,目的端口是指接收数据的端口。
然后,利用所确定的源IP地址、源端口、目的IP地址、目的端口及通信协议,与智能家居设备建立一次Socket连接。Socket连接是一种长连接,一般连接建立后不会主动断掉。
然后,利用所建立的Socket连接,对通信数据进行重放,检测智能家居设备是否受到重放攻击。也即,对智能家居设备进行重放攻击测试。
最后,根据测试结果判断智能家居设备是否存在重放攻击漏洞。
如果智能家居设备受到重放攻击,则确定智能家居设备存在重放攻击漏洞;反之,则确定智能家居设备不存在重放攻击漏洞。
作为本发明实施例一种可选的实施方式,还可以利用Nmap扫描工具对所确定的IP地址进行扫描,扫描结果中通常会告知除了与设备相关的命令通信端口外,是否还存在其他异常通信端口,如果存在,则表明该智能家居设备存在异常通信端口漏洞。Nmap扫描工具是Linux操作系统下使用的一种网络扫描和嗅探工具包。
作为本发明实施例一种可选的实施方式,还可以利用Telnetlib对Telnet服务进行破解,查看其是否存在弱口令问题。Telnetlib是Python中的一个远程登录模块,支持Telnet服务远程操作,而Telnet服务中通常存在弱口令问题,因此可以通过Telnetlib破解telnet服务中的弱口令,如果破解成功,则表明该Telnet服务中存在弱口令漏洞。
S105,当所获取的文件类别为应用程序文件时,提取应用程序文件中的配置文件和组件文件。
根据前文描述内容可知,应用程序文件中可以记录应用程序的数据。本发明实施例中,当后台服务器所获取的文件为应用程序文件时,可以对该应用程序文件进行解析,然后提取出其中的配置文件和组件文件。
以APK格式文件为例说明。
APK格式文件中,通常存在一个名称为Manifest.xml的配置文件,还存在四种组件文件,包括:<activity>,<service>,<receiver>和<Provider>,一个组件代表着Android应用中的一个操作界面或者处理流程。
S106,利用所提取的配置文件对应的属性值以及组件文件对应的属性值,检测智能家居设备是否存在运行安全漏洞,运行安全漏洞包括:不安全配置漏洞,过度授权漏洞和组件暴露漏洞。
通常,配置文件中具有对应的属性值,仍以APK格式文件为例说明。
上述Manifest.xml配置文件中,其<application>标签下的debuggable与allowBackup两个属性的值可以设置为True或者False。其中debuggable值为True时,允许用户以ADB(Android Debug Bridge,安卓开发工具包)为工具对应用进行远程调试,可能会调用程序的组件等,造成信息泄露;而allowBackup值为True时,则可以利用ADB将用户的程序中的信息备份,造成用户的隐私泄露。因此可以读所提取的配置文件对应的属性值进行检测,以确定是否存在不安全配置漏洞。
上述组件文件中,其exported值为True时,表示该组件可由外部的应用调用,也即,该组件被暴露,可以用于DDoS活动或则钓鱼网页的制作。而正常情况下,为保证安全,非相关的Android组件是不需要暴露在外的。因此一旦检测到组件文件中的exported值为True时,即可确定存在组件暴露漏洞。
并且,在Manifest.xml中的<user-permission>标签下,可以查看授予应用程序的权限。对于用户而言,一个应用程序过多地申请敏感而不必要的权限,例如,查看通讯录的权限,拨打电话的权限,用户的隐私将很难得到保障。当检测到应用程序被授予上述不必要的权限时,即可确定存在过度授权漏洞。
作为本发明实施例一种可选的实施方式,可以预先设置一个漏洞记载列表,该列表中保存有配置文件或组件文件存在安全漏洞时各自对应的属性值。当确定应用程序中,配置文件对应的属性值以及组件文件对应的属性值后,可以将他们与漏洞列表中保存的属性值进行比对,如果对比结果一致,则可以确定智能家居设备存在运行安全漏洞。
需要说明的是,可以通过Python中现有的Lxml库,对上述Manifest.xml配置文件进行解析。其中,Lxml是Python下的一个模块。
本发明实施例提供的一种用于智能家居设备的漏洞检测方法,获取智能家居设备中保存的文件后,能够判断上述文件中的数据流文件和应用程序文件,对数据流文件中的TCP链接信息和通信数据进行提取,从而检测智能家居设备是否存在通信安全漏洞;对应用程序文件中的配置文件和组件文件进行提取,从而检测智能家居设备是否存在运行安全漏洞,能够及时检测出智能家居设备中的安全漏洞,提高智能家居设备的安全程度。
如图2所示,本发明实施例还提供了一种用于智能家居设备的漏洞检测方法,该过程可以包括以下步骤:
S201,获取智能家居设备中保存的文件。
S202,判断所获取文件的文件类别,文件类别至少包括:数据流文件和应用程序文件。
S203,当所获取的文件类别为数据流文件时,提取数据流文件中的流量数据包。
S204,利用所提取的流量数据包,检测智能家居设备是否存在通信安全漏洞。
S205,当所获取的文件类别为应用程序文件时,提取应用程序文件中的配置文件和组件文件。
S206,利用所提取的配置文件对应的属性值以及组件文件对应的属性值,检测智能家居设备是否存在运行安全漏洞,运行安全漏洞包括:不安全配置漏洞,过度授权漏洞和组件暴露漏洞。
上述步骤S201~S206与图1所示实施例中的步骤S101~S106相同,本发明实施例在此不再赘述。
S207,提取数据流文件或应用程序文件中的WEB服务数据。
在智能家居设备自身运行过程中,或者安装于其中的应用程序的运行过程中,容易理解的是,通常会与WEB服务器进行信息交互。
例如,在以Wi-Fi(Wireless-Fidelity,无线保真)互联的场景中,用户通过平板电脑对智能空调进行遥控时,其过程为:平板电脑通过无线网络向智能家居设备制造商服务器传输指令,智能家居设备制造商服务器接收指令后,再将该条指令通过无线网络发送给智能空调,智能空调接收指令后,执行指令对应的操作,例如,提高风量。
上述过程中,智能家居设备制造商服务器作为WEB服务器,能够为智能空调提供WEB服务。在上述过程中,智能家居设备的数据流文件或应用程序文件中,可以记录WEB服务数据,因此可以对这些WEB服务数据进行提取。
S208,利用所提取的WEB服务数据,检测智能家居设备是否存在网络安全漏洞。
本发明实施例中,所提取的WEB服务数据中通常含有智能家居设备与WEB服务之间的WEB数据,例如,历史URL地址,自动填写的表单内容等,这些数据中可能含有敏感信息,例如,用户帐号,登陆密码。
因此,可以通过所获取的WEB服务数据,检测智能家居设备是否存在网络安全漏洞,例如,网页数据爬取漏洞,XSS(Cross SiteScript,跨站脚本攻击)漏洞,SQL(Structured Query Language,结构化查询语言)注入漏洞,文件包含漏洞和不安全跳转漏洞。
具体地,可以使用爬虫工具,对WEB服务数据进行链接爬取,测试是否能够获得其中的信息。
其操作过程可以包括以下步骤:
提取WEB服务数据中的URL;
由一个起始URL开始,将其添加至待爬取URL队列中,通过HTTP请求获取该URL的HTML页面;
判断是否存在表单的提交操作;
如果不存在,将所获取的HTML页面进行解析,提取出其中需要的URL;
如果存在提交的表单,将表单中的输入选项中的参数值提取出来,与预设的账户信息进行匹配,例如,自动填充用户的帐号、密码、邮箱地址等信息;
再发送HTTP请求,HTTP请求中包含上述自动填充的信息;
接收WEB服务器返回的cookie,并将cookie进行合并,然后同样解析返回的HTML页面;
提取出其中的URL,将所提取的URL进行泛化与去重;
判断所提取的URL是否属于同源URL;
判断所提取的URL是否已经爬取过;
如果属于同源URL或者还未对该URL进行爬取,则将该URL添加至待爬取URL队列中,重复上述爬去操作,直到待爬取URL队列为空为止。
可选地,还可以通过在网络上搜集到的容易泄露信息的链接,对所提取的WEB服务数据中的URL进行信息泄漏测试。
例如,输入/check-404-error-page路径信息,探测服务的404页面,并获取其响应状态与响应包长度,根据字典中预先记录的敏感目录与敏感文件,与响应内容进行对比,从而收集该服务中的敏感目录与文件;根据收集到的敏感目录和文件,向该URL发送请求,得到WEB服务器返回的结果,将返回结果进行过滤,例如,过滤其中返回码为403,404,500,501,502等结果,将剩下的结果与探测的404页面做对比,一旦发现不属于返回码404页面,表明存在信息泄露,可以将其记录在数据库中。
可选地,还可以进行XSS漏洞检测,检测方法可以是将URL中的参数值替换为待检测的关键参数,然后重新请求该链接并检测其返回的文件类型与内容中是否包含关键参数的特征值,如果包含则表明存在XSS漏洞;文件包含漏洞和不安全跳转漏洞的检测方法同XSS漏洞测试方法类似,都是将不同的关键参数来代替正常的参数值,最后的检测结果方法根据不同的特征值来匹配,例如,本地文件包含中的关键参数的特征值,可以由`root:x:`这一包含在/etc/passwd文件中的字符来匹配;而URL不安全跳转,可以根据WEB服务器自身控制的地址来判断,或者使用特征网站如www.baidu.com的关键字段来匹配是否跳转到目标网站。
需要说明的是,上述网页数据爬取漏洞、跨站脚本攻击XSS漏洞、文件包含漏洞和不安全跳转漏洞的检测方法,均可以采用现有的检测方法实现,本发明实施例不再赘述。
可选地,还可以通过所提取的WEB服务数据,进行SQL注入漏洞检测,具体检测方法可以根据现有的SQL注入漏洞检测方法实现,本发明实施例在此不再赘述。
作为本发明实施例一种可选的实施方式,还可以将检测到的智能家居设备的漏洞数据传输至数据库,由数据库进行保存,以供日后调取使用。
检测到的所述智能家居设备的漏洞数据传输至数据库,还可以将数据库中存储的智能家居设备的漏洞数据传输至前端设备,以供用户在前端设备的浏览器中查看漏洞,提高了用户体验与使用便利性。
本发明实施例提供的一种用于智能家居设备的漏洞检测方法,获取智能家居设备中保存的文件后,能够判断上述文件中的数据流文件和应用程序文件,对数据流文件中的TCP链接信息和通信数据进行提取,从而检测智能家居设备是否存在通信安全漏洞;对应用程序文件中的配置文件和组件文件进行提取,从而检测智能家居设备是否存在运行安全漏洞;对数据流文件或应用程序文件中的WEB服务数据进行提取,检测智能家居设备是否存在网络安全漏洞,能够及时且系统地检测出智能家居设备中的安全漏洞,提高智能家居设备的安全程度。
本发明实施例提供的用于智能家居设备的漏洞检测装置的一种具体实施例,与图1所示流程相对应,参考图3,图3为本发明实施例的用于智能家居设备的漏洞检测装置的一种结构示意图,包括:
获取模块301,用于获取智能家居设备中保存的文件。
判断模块302,用于判断所获取文件的文件类别,文件类别至少包括:数据流文件和应用程序文件。
第一提取模块303,用于当所获取的文件类别为数据流文件时,提取数据流文件中的流量数据包。
第一检测模块304,用于利用所提取的流量数据包,检测智能家居设备是否存在通信安全漏洞,通信安全漏洞包括:重放攻击漏洞,异常通信端口漏洞和弱口令漏洞。第一检测模块304可以作为设备扫描模块,对pcap文件进行扫描。
第二提取模块305,用于当所获取的文件类别为应用程序文件时,提取应用程序文件中的配置文件和组件文件。
第二检测模块306,用于利用所提取的配置文件对应的属性值以及组件文件对应的属性值,检测智能家居设备是否存在运行安全漏洞,运行安全漏洞包括:不安全配置漏洞,过度授权漏洞和组件暴露漏洞。第二检测模块306可以作为移动应用扫描模块,对APK文件进行扫描。
其中,第一检测模块304,如图4所示,包括:
第一确定子模块3041,用于确定流量数据包中的源IP地址、源端口、目的IP地址、目的端口及通信协议。
连接建立子模块3042,用于利用所确定的源IP地址、源端口、目的IP地址、目的端口及通信协议,与智能家居设备建立Socket连接。
检测子模块3043,用于利用所建立的Socket连接,对通信数据进行重放,检测智能家居设备是否受到重放攻击。
第二确定子模块3044,用于如果智能家居设备受到重放攻击,则确定智能家居设备存在重放攻击漏洞。
其中,第二检测模块306,如图5所示,包括:
第三确定子模块3061,用于确定配置文件对应的属性值以及组件文件对应的属性值。
比对子模块3062,用于将所确定的属性值与预设漏洞列表中对应的属性值进行比对。
第四确定子模块3063,用于如果比对结果一致,确定智能家居设备存在运行安全漏洞。
本发明实施例提供的一种用于智能家居设备的漏洞检测装置,获取智能家居设备中保存的文件后,能够判断上述文件中的数据流文件和应用程序文件,对数据流文件中的TCP链接信息和通信数据进行提取,从而检测智能家居设备是否存在通信安全漏洞;对应用程序文件中的配置文件和组件文件进行提取,从而检测智能家居设备是否存在运行安全漏洞,能够及时检测出智能家居设备中的安全漏洞,提高智能家居设备的安全程度。
本发明实施例还提供了一种用于智能家居设备的漏洞检测装置,在图3所述装置结构的基础上,如图6所示,还包括:
第三提取模块307,用于提取数据流文件或应用程序文件中的WEB服务数据。
第三检测模块308,用于利用所提取的WEB服务数据,检测智能家居设备是否存在网络安全漏洞,网络安全漏洞包括:网页数据爬取漏洞,跨站脚本攻击XSS漏洞,结构化查询语言SQL注入漏洞,文件包含漏洞和不安全跳转漏洞。
其中,所述装置还包括:
第一传输模块309,用于将检测到的智能家居设备的漏洞数据传输至数据库。
第二传输模块3010,用于将数据库中存储的智能家居设备的漏洞数据传输至前端设备,以使前端设备展示智能家居设备的漏洞。
上述系统的结构中,各模块可以基于python+django作为开发工具,搭建一个用户可访问的WEB服务,同时,为了满足WEB服务的实时性,使用celery来作为其消息队列用于异步处理。这样python+Django+celery三种技术用于异步的WEB服务即可满足本系统的需要。其中,Django是一个开放源代码的WEB应用框架,基于Python开发;celery也是基于Python开发的分布式任务队列工具。
本发明实施例提供的一种用于智能家居设备的漏洞检测装置,获取智能家居设备中保存的文件后,能够判断上述文件中的数据流文件和应用程序文件,对数据流文件中的TCP链接信息和通信数据进行提取,从而检测智能家居设备是否存在通信安全漏洞;对应用程序文件中的配置文件和组件文件进行提取,从而检测智能家居设备是否存在运行安全漏洞;对数据流文件或应用程序文件中的WEB服务数据进行提取,检测智能家居设备是否存在网络安全漏洞,能够及时且系统地检测出智能家居设备中的安全漏洞,提高智能家居设备的安全程度。
本发明实施例还提供了一种服务器,如图7所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
获取智能家居设备中保存的文件;
判断所获取文件的文件类别,文件类别至少包括:数据流文件和应用程序文件;
当所获取的文件类别为数据流文件时,提取数据流文件中的流量数据包;
利用所提取的流量数据包,检测智能家居设备是否存在通信安全漏洞,通信安全漏洞包括:重放攻击漏洞,异常通信端口漏洞和弱口令漏洞;
当所获取的文件类别为应用程序文件时,提取应用程序文件中的配置文件和组件文件;
利用所提取的配置文件对应的属性值以及组件文件对应的属性值,检测智能家居设备是否存在运行安全漏洞,运行安全漏洞包括:不安全配置漏洞,过度授权漏洞和组件暴露漏洞。
本发明实施例提供的一种服务器,获取智能家居设备中保存的文件后,能够判断上述文件中的数据流文件和应用程序文件,对数据流文件中的TCP链接信息和通信数据进行提取,从而检测智能家居设备是否存在通信安全漏洞;对应用程序文件中的配置文件和组件文件进行提取,从而检测智能家居设备是否存在运行安全漏洞,能够及时检测出智能家居设备中的安全漏洞,提高智能家居设备的安全程度。
上述服务器提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述服务器与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,用以执行如下步骤:
获取智能家居设备中保存的文件;
判断所获取文件的文件类别,文件类别至少包括:数据流文件和应用程序文件;
当所获取的文件类别为数据流文件时,提取数据流文件中的流量数据包;
利用所提取的流量数据包,检测智能家居设备是否存在通信安全漏洞,通信安全漏洞包括:重放攻击漏洞,异常通信端口漏洞和弱口令漏洞;
当所获取的文件类别为应用程序文件时,提取应用程序文件中的配置文件和组件文件;
利用所提取的配置文件对应的属性值以及组件文件对应的属性值,检测智能家居设备是否存在运行安全漏洞,运行安全漏洞包括:不安全配置漏洞,过度授权漏洞和组件暴露漏洞。
本发明实施例提供的一种计算机可读存储介质,获取智能家居设备中保存的文件后,能够判断上述文件中的数据流文件和应用程序文件,对数据流文件中的TCP链接信息和通信数据进行提取,从而检测智能家居设备是否存在通信安全漏洞;对应用程序文件中的配置文件和组件文件进行提取,从而检测智能家居设备是否存在运行安全漏洞,能够及时检测出智能家居设备中的安全漏洞,提高智能家居设备的安全程度。
对于装置/服务器/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,本发明实施例的装置、服务器及存储介质分别是应用上述用于智能家居设备的漏洞检测方法的装置、服务器及存储介质,则上述用于智能家居设备的漏洞检测方法的所有实施例均适用于该装置、服务器及存储介质,且均能达到相同或相似的有益效果。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种用于智能家居设备的漏洞检测方法,其特征在于,所述方法包括:
获取智能家居设备中保存的文件;
判断所获取文件的文件类别,所述文件类别至少包括:数据流文件和应用程序文件;
当所获取的文件类别为数据流文件时,提取所述数据流文件中的流量数据包;
利用所提取的所述流量数据包,检测所述智能家居设备是否存在通信安全漏洞,所述通信安全漏洞包括:重放攻击漏洞,异常通信端口漏洞和弱口令漏洞;
当所获取的文件类别为所述应用程序文件时,提取所述应用程序文件中的配置文件和组件文件;
利用所提取的所述配置文件对应的属性值以及所述组件文件对应的属性值,检测所述智能家居设备是否存在运行安全漏洞,所述运行安全漏洞包括:不安全配置漏洞,过度授权漏洞和组件暴露漏洞。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
提取所述数据流文件或所述应用程序文件中的WEB服务数据;
利用所提取的所述WEB服务数据,检测所述智能家居设备是否存在网络安全漏洞,所述网络安全漏洞包括:网页数据爬取漏洞,跨站脚本攻击XSS漏洞,结构化查询语言SQL注入漏洞,文件包含漏洞和不安全跳转漏洞。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:将检测到的所述智能家居设备的漏洞数据传输至数据库。
4.根据权利要求3所述的方法,其特征在于,所述将所检测到的所述智能家居设备的漏洞传输至数据库之后,所述方法还包括:
将所述数据库中存储的所述智能家居设备的漏洞数据传输至前端设备,以使所述前端设备展示所述智能家居设备的漏洞。
5.根据权利要求1所述的方法,其特征在于,所述利用所提取的所述流量数据包,检测所述智能家居设备是否存在通信安全漏洞,包括:
确定所述流量数据包中的源IP地址、源端口、目的IP地址、目的端口及通信协议;
利用所确定的所述源IP地址、源端口、目的IP地址、目的端口及通信协议,与所述智能家居设备建立Socket连接;
利用所建立的所述Socket连接,对所述通信数据进行重放,检测所述智能家居设备是否受到重放攻击;
如果所述智能家居设备受到重放攻击,则确定所述智能家居设备存在所述重放攻击漏洞。
6.根据权利要求1所述的方法,其特征在于,所述利用所提取的所述配置文件对应的属性值以及所述组件文件对应的属性值,检测所述智能家居设备是否存在运行安全漏洞,包括:
确定所述配置文件对应的属性值以及所述组件文件对应的属性值;
将所确定的属性值与预设漏洞列表中对应的属性值进行比对;
如果比对结果一致,确定所述智能家居设备存在运行安全漏洞。
7.一种用于智能家居设备的漏洞检测装置,其特征在于,所述装置包括:
获取模块,用于获取智能家居设备中保存的文件;
判断模块,用于判断所获取文件的文件类别,所述文件类别至少包括:数据流文件和应用程序文件;
第一提取模块,用于当所获取的文件类别为数据流文件时,提取所述数据流文件中的流量数据包;
第一检测模块,用于利用所提取的所述流量数据包,检测所述智能家居设备是否存在通信安全漏洞,所述通信安全漏洞包括:重放攻击漏洞,异常通信端口漏洞和弱口令漏洞;
第二提取模块,用于当所获取的文件类别为所述应用程序文件时,提取所述应用程序文件中的配置文件和组件文件;
第二检测模块,用于利用所提取的所述配置文件对应的属性值以及所述组件文件对应的属性值,检测所述智能家居设备是否存在运行安全漏洞,所述运行安全漏洞包括:不安全配置漏洞,过度授权漏洞和组件暴露漏洞。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三提取模块,用于提取所述数据流文件或所述应用程序文件中,用于执行所述当前任务的WEB服务数据;
第三检测模块,用于根据所提取的所述WEB服务数据,检测所述智能家居设备是否存在网络安全漏洞,所述网络安全漏洞包括:网页数据爬取漏洞,跨站脚本攻击XSS漏洞,结构化查询语言SQL注入漏洞,文件包含漏洞和不安全跳转漏洞。
9.一种服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810784265.3A CN108965296A (zh) | 2018-07-17 | 2018-07-17 | 一种用于智能家居设备的漏洞检测方法及检测装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810784265.3A CN108965296A (zh) | 2018-07-17 | 2018-07-17 | 一种用于智能家居设备的漏洞检测方法及检测装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108965296A true CN108965296A (zh) | 2018-12-07 |
Family
ID=64481442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810784265.3A Pending CN108965296A (zh) | 2018-07-17 | 2018-07-17 | 一种用于智能家居设备的漏洞检测方法及检测装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108965296A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147675A (zh) * | 2019-05-22 | 2019-08-20 | 杭州安恒信息技术股份有限公司 | 一种智能终端的安全检测方法及设备 |
CN110516449A (zh) * | 2019-09-03 | 2019-11-29 | 国网重庆市电力公司电力科学研究院 | 一种轻量化漏洞探测方法及可读存储介质 |
CN110855642A (zh) * | 2019-10-30 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 应用漏洞检测方法、装置、电子设备及存储介质 |
CN111310188A (zh) * | 2020-04-01 | 2020-06-19 | 全球能源互联网研究院有限公司 | 一种终端文件系统敏感信息检查方法及装置 |
CN111901314A (zh) * | 2020-07-13 | 2020-11-06 | 珠海格力电器股份有限公司 | 一种智能家居系统入侵防御方法、装置、存储介质及终端 |
EP3757841A1 (en) * | 2019-06-27 | 2020-12-30 | BlackBerry Limited | Methods and devices for context-based string analysis for vulneratbility detection |
CN113449310A (zh) * | 2021-06-29 | 2021-09-28 | 中国民航信息网络股份有限公司 | 一种应用程序漏洞检测方法、装置及设备 |
CN114866358A (zh) * | 2022-07-07 | 2022-08-05 | 中国人民解放军国防科技大学 | 一种基于知识图谱的自动化渗透测试方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030170678A1 (en) * | 2001-10-25 | 2003-09-11 | Neurogenetics, Inc. | Genetic markers for Alzheimer's disease and methods using the same |
US20120123615A1 (en) * | 2009-05-15 | 2012-05-17 | Mbda France | Method and a system for estimating a trajectory of a moving body |
CN103763695A (zh) * | 2014-02-19 | 2014-04-30 | 山东微分电子科技有限公司 | 一种物联网安全测评方法 |
CN104640105A (zh) * | 2013-11-12 | 2015-05-20 | 严威 | 手机病毒分析和威胁关联的方法和系统 |
CN106411956A (zh) * | 2016-12-02 | 2017-02-15 | 北京奇虎科技有限公司 | 分析汽车总线安全性的方法和装置 |
-
2018
- 2018-07-17 CN CN201810784265.3A patent/CN108965296A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030170678A1 (en) * | 2001-10-25 | 2003-09-11 | Neurogenetics, Inc. | Genetic markers for Alzheimer's disease and methods using the same |
US20120123615A1 (en) * | 2009-05-15 | 2012-05-17 | Mbda France | Method and a system for estimating a trajectory of a moving body |
CN104640105A (zh) * | 2013-11-12 | 2015-05-20 | 严威 | 手机病毒分析和威胁关联的方法和系统 |
CN103763695A (zh) * | 2014-02-19 | 2014-04-30 | 山东微分电子科技有限公司 | 一种物联网安全测评方法 |
CN106411956A (zh) * | 2016-12-02 | 2017-02-15 | 北京奇虎科技有限公司 | 分析汽车总线安全性的方法和装置 |
Non-Patent Citations (4)
Title |
---|
刘东等: ""基于家庭互联网系统的安全威胁分析及研究"", 《软件》 * |
宋丽珠等: ""Android软件漏洞检测方法与技术研究"", 《网络空间安全》 * |
王信元: ""无线Mesh网络入侵检测方法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
王少鹏: ""物联网云平台消息中间件协议研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147675A (zh) * | 2019-05-22 | 2019-08-20 | 杭州安恒信息技术股份有限公司 | 一种智能终端的安全检测方法及设备 |
CN110147675B (zh) * | 2019-05-22 | 2021-05-28 | 杭州安恒信息技术股份有限公司 | 一种智能终端的安全检测方法及设备 |
EP3757841A1 (en) * | 2019-06-27 | 2020-12-30 | BlackBerry Limited | Methods and devices for context-based string analysis for vulneratbility detection |
CN110516449A (zh) * | 2019-09-03 | 2019-11-29 | 国网重庆市电力公司电力科学研究院 | 一种轻量化漏洞探测方法及可读存储介质 |
CN110855642A (zh) * | 2019-10-30 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 应用漏洞检测方法、装置、电子设备及存储介质 |
CN110855642B (zh) * | 2019-10-30 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 应用漏洞检测方法、装置、电子设备及存储介质 |
CN111310188A (zh) * | 2020-04-01 | 2020-06-19 | 全球能源互联网研究院有限公司 | 一种终端文件系统敏感信息检查方法及装置 |
CN111901314A (zh) * | 2020-07-13 | 2020-11-06 | 珠海格力电器股份有限公司 | 一种智能家居系统入侵防御方法、装置、存储介质及终端 |
CN113449310A (zh) * | 2021-06-29 | 2021-09-28 | 中国民航信息网络股份有限公司 | 一种应用程序漏洞检测方法、装置及设备 |
CN114866358A (zh) * | 2022-07-07 | 2022-08-05 | 中国人民解放军国防科技大学 | 一种基于知识图谱的自动化渗透测试方法及系统 |
CN114866358B (zh) * | 2022-07-07 | 2022-09-09 | 中国人民解放军国防科技大学 | 一种基于知识图谱的自动化渗透测试方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965296A (zh) | 一种用于智能家居设备的漏洞检测方法及检测装置 | |
CN111400722B (zh) | 扫描小程序的方法、装置、计算机设备和存储介质 | |
CN101588247B (zh) | 用于检测服务器的漏洞的系统和方法 | |
EP3726410B1 (en) | Interpretation device, interpretation method and interpretation program | |
CN104348803B (zh) | 链路劫持检测方法、装置、用户设备、分析服务器及系统 | |
KR101005927B1 (ko) | 웹 어플리케이션 공격 탐지 방법 | |
CN105871845A (zh) | Web漏洞扫描行为的检测方法及装置 | |
CN110677381B (zh) | 渗透测试的方法及装置、存储介质、电子装置 | |
KR100732689B1 (ko) | 웹 보안방법 및 그 장치 | |
CN108881211A (zh) | 一种违规外联检测方法及装置 | |
CN113489713B (zh) | 网络攻击的检测方法、装置、设备及存储介质 | |
CN103607385A (zh) | 基于浏览器进行安全检测的方法和装置 | |
CN103746992B (zh) | 基于逆向的入侵检测系统及其方法 | |
CN109600371A (zh) | 一种网络层漏洞检测系统及方法 | |
CN109063486B (zh) | 一种基于plc设备指纹识别的安全渗透测试方法与系统 | |
CN108924106B (zh) | 一种基于网卡抓包的终端上网审计方法 | |
CN111404937B (zh) | 一种服务器漏洞的检测方法和装置 | |
CN110768951B (zh) | 验证系统漏洞的方法及装置、存储介质、电子装置 | |
CN111756697B (zh) | Api安全检测方法、装置、存储介质及计算机设备 | |
CN110311927B (zh) | 数据处理方法及其装置、电子设备和介质 | |
CN104486320B (zh) | 基于蜜网技术的内网敏感信息泄露取证系统及方法 | |
CN111835777A (zh) | 一种异常流量检测方法、装置、设备及介质 | |
CN113518077A (zh) | 一种恶意网络爬虫检测方法、装置、设备及存储介质 | |
CN103401845A (zh) | 一种网址安全性的检测方法、装置 | |
CN107332804A (zh) | 网页漏洞的检测方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181207 |
|
RJ01 | Rejection of invention patent application after publication |