CN111835699B - 利用人工智能确定物联网设备的类型的系统 - Google Patents
利用人工智能确定物联网设备的类型的系统 Download PDFInfo
- Publication number
- CN111835699B CN111835699B CN201910340321.9A CN201910340321A CN111835699B CN 111835699 B CN111835699 B CN 111835699B CN 201910340321 A CN201910340321 A CN 201910340321A CN 111835699 B CN111835699 B CN 111835699B
- Authority
- CN
- China
- Prior art keywords
- type
- internet
- iot
- port
- protocol
- 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
Links
- 238000013473 artificial intelligence Methods 0.000 title abstract description 11
- 238000012423 maintenance Methods 0.000 claims abstract description 92
- 230000004044 response Effects 0.000 claims description 26
- 238000012038 vulnerability analysis Methods 0.000 claims description 25
- 238000000034 method Methods 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 15
- 238000013507 mapping Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000012790 confirmation Methods 0.000 description 8
- 239000000470 constituent Substances 0.000 description 7
- 241000720913 Fuchsia Species 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种利用人工智能确定物联网设备的类型的系统,其中,包括:IoT维护设备,执行端口扫描步骤(Port Scanning step)和协议扫描步骤(Protocol Scanning step),所述端口扫描步骤是寻找包括于IoT网络的IoT设备的开放端口(Open Port)的步骤,所述协议扫描步骤是寻找从所述端口扫描步骤找出的开放端口(Open Port)所使用的协议的步骤;以及IoT维护服务器,执行基于所述端口扫描步骤和协议扫描步骤的结果来推定所述IoT设备的类型的类型推定步骤(Type Assumption step)。
Description
技术领域
本发明涉及一种利用人工智能确定物联网(IoT)的设备的方法以及物联网维护设备(IoT care device)。
背景技术
物联网(Internet of Things:IoT)(以下,称作“IoT”)是指通过无线通信而连接各种事物的技术。此外,物联网在作为大多数IoT器件的基础的Linux操作系统在器件中没有具备理想的安全性或者无法进行适当的更新时,存在被Linux蠕虫入侵的危险(Dick O'Brien,20January 2014,“The Internet of Things:New Threats Emerge in aConnected World",Symantec)。现实生活中,也存在在IoT环境中恶意利用安全漏洞侵害私生活的示例。生产、销售婴儿监控摄像机SecurView的美国公司TRENDnet在没有为其产品构筑正确的安全系统的情况下将其流通。最终,该产品向黑客泄露了700多户的家庭内部影像,TRENDnet则受到了联邦交易委员会的制裁。
此外,为了强化IoT的安全性,公开有对构成IoT的设备(以下,成为“IOT设备”)的漏洞进行分析的技术。漏洞分析技术是预先分析IoT设备的漏洞以修复漏洞的技术。
然而,由于构成IoT的设备种类多样(TV、冰箱、扩音器、洗衣机、电灯等),因此需要分别准备与各个IoT设备的种类相匹配的漏洞分析用数据,并对各个IoT设备的漏洞进行分析。因此,在不知道IoT设备的种类(即,类型)的状态下,为了分析IoT设备的漏洞,则需要依次使用所有种类的漏洞分析数据,所以会耗费分析漏洞所需的计算资源和时间。
发明内容
根据本发明的一实施例,可以提供一种利用人工智能而确定IoT设备的类型的系统和方法。
根据本发明的一实施例,可以提供一种能够利用人工智能而确定IoT设备的类型的IoT维护设备。
根据本发明的一实施例,可以提供一种根据IoT设备的类型而分析漏洞的IoT维护设备。
根据一实施例,可以提供一种确定IoT设备的类型的系统,其中,包括:IoT维护设备,执行端口扫描步骤(Port Scanning step)和协议扫描步骤(Protocol Scanningstep),所述端口扫描步骤是寻找包括于IoT网络的IoT设备的开放端口(Open Port)的步骤,所述协议扫描步骤是寻找从所述端口扫描步骤找出的开放端口(Open Port)所使用的协议的步骤;以及IoT维护服务器,执行基于所述端口扫描步骤和协议扫描步骤的结果来推定所述IoT设备的类型的类型推定步骤(Type Assumption step)。
根据本发明的一个以上的实施例,可以推定IoT网络包括的IoT设备的种类(即,类型)。据此,在分析IoT设备的漏洞时,会直接使用与IoT设备的类型相匹配的漏洞分析数据,因此可以节省漏洞分析所需的计算资源和时间。
附图说明
图1和图2是用于说明根据本发明的一实施例的确定IoT设备的类型的系统的图。
图3是用于说明图2中确定IoT设备的类型的系统所使用的设备的类型的设备的图。
图4是用于说明根据本发明的一实施例的确定IoT设备的类型的方法的图。
图5是用于说明根据本发明的一实施例的IoT维护服务器的机器学习的图。
符号说明
1:网关 3:接入点(AP)
5:IoT设备 100:IoT维护设备
101:端口扫描单元 103:协议扫描单元
104:IoT设备的类型推定单元
105:IoT漏洞分析单元
107:操作系统 109:通信单元
111:计算机处理器
具体实施方式
通过与附图相关的以下优选实施例,将可以容易地理解以上的本发明的目的、其他目的、特征以及优点。然而,本发明并不限于在此说明的实施例,而可以具体化为其他形态。以下说明的实施例是为了向本领域技术人员充分传达本发明的思想而提供的示例性实施例。
术语的定义
本发明的说明书中,术语“软件”是指在计算机中运行硬件的技术,术语“硬件”是指构成计算机的有型的的装置或者器件(CPU、内存、输入装置、输出装置、外围装置等),术语“步骤”是指为了达到预定目的而以时间顺序连接的一系列处理或者操作,术语“程序”是指适合于计算机处理的命令的集合,术语“程序记录介质”是指为了安装和运行或流通程序而使用的记录有程序并可由计算机读取的存储介质。
本说明书中,当提及某一构成要素位于另一构成要素的之“上方”(或者“下方”、“右侧”或者“左侧”),则其表示可以直接位于另一构成要素的上方(或者下方,右侧或者左侧)或者还可以在两者之间存在第三构成要素。并且,附图中的构成要素的长度或者厚度是为了有效地说明技术内容而夸大示出的。
本说明书中,在第一、第二等术语被用于说明构成要素时,这些构成要素不应受限于这些术语。这些术语仅被用于将一个构成要素与另一构成要素进行区分。在此描述并示出的实施例还包括与其互补的实施例。
本说明书中,除非在文中特别提及,否则单数形式还包括复数形式。说明书中所使用的“包含”和/或“将…包含”不排除一个以上的其他构成要素的存在或者添加。
本发明的说明书中,术语“管理”用作包括数据的“接收”、“发送”、“储存”、“修改”以及“删除”的含义。
本发明的说明书中,“构成要素A和/或构成要素B”表示“构成要素A或者构成要素B”或者“构成要素A和构成要素B”。
本发明的说明书中,“用户终端装置”为计算机,可以是诸如台式计算机、笔记本计算机、智能电话或者个人数字助理(PDA)等装置。
本发明的说明书中,“计算机”包括计算机处理器和存储装置、操作系统、固件、应用程序、通信单元以及其他资源,在此,操作系统(OS:OPERATING SYSTEM)能够可操作地连接其他硬件、固件或者应用程序(例如,管理程序)。通信单元是指由用于与外部的数据进行收发的软件以及硬件构成的模块。并且,计算机处理器和存储装置、操作系统、应用程序、固件、通信单元以及其他资源被彼此可操作(operatively)地连接。另外,在用于本发明的说明的目的的限度内,记载或图示了针对上面所提及的构成要素的说明或者附图。
本说明书中,提及“构成要素‘A’向构成要素‘B’发送信息、记录和/或数据”被用作“构成要素‘A’向构成要素‘B’直接发送数据”或者“构成要素‘A’通过一个以上的其他构成要素而向‘构成要素B’发送数据”的含义。
以下,参照附图对本发明的实施例进行详细说明。
图1是用于说明根据本发明的一实施例的利用人工智能而确定IoT设备的类型的系统(以下,称为“确定系统”)10的图。
参照图1,确定系统10包括多个IoT设备100A、100B、100C、100D和IoT维护服务器200。多个IoT设备100A、100B、100C、100D分别包括于自身的IoT网络。
多个IoT设备100A、100B、100C、100D(以下,如果进行区分不能带来实际利益,则标记为“100”)分别执行端口扫描操作、协议扫描操作、漏洞分析操作以及生成学习数据的操作,IoT维护服务器200执行推定IoT设备的类型的操作和进行机械学习的操作。
图2是用于说明根据本发明的一实施例的确定IoT设备的类型的系统的图,图3是用于说明图2中确定IoT设备的类型的系统所使用的确定IoT设备的类型的设备的图。
参照这些附图,确认根据本发明的一实施例的确定IoT设备的类型的系统包括IoT维护设备(IoT Care Device)。
IoT网络包括多个IoT设备5:5a、5b、5c、5d和接入点(Access Point:以下,称作‘AP’)3和IoT维护设备100。
AP 3是在计算机网络中利用标准协议而使无线装置或者有线装置互相连接的装置。在此,例如,标准协议可以是由IEEE 802.3而定义的用于有线通信的协议,或者还可以是由IEEE 802.11而定义用于的无线通信的协议。这些标准协议仅为示例性的,因此本发明并不限于这些标准协议。
多个IoT设备5:5a、5b、5c、5d通过AP 3而进行有线和/或无线通信。在本实施例中,IoT维护设备100可以通过AP 3与多个IoT设备(5:5a、5b、5c、5d)进行通信。
在本实施例中,多个IoT设备(5:5a、5b、5c、5d)的数量图示为5个,但该数量为示例性的,可以少于或者多于该个数。
如图1所示,从网络N发送的数据在依次经过网关1和AP 3后会到达多个IoT设备5:5a、5b、5c、5d和IoT维护设备100。并且,在多个IoT设备5:5a、5b、5c、5d或者IoT维护设备100将要向网络N发送数据时,这些数据在经过AP 3和网关1后被发送到网络N。即,在AP 3的下位等级布置有多个IoT设备5:5a、5b、5c、5d和IoT维护设备100,在AP 3的上位等级布置有网关1,并且,多个IoT设备5:5a、5b、5c、5d和IoT维护设备100处在相同(same)等级。
在本实施例中,网络N可以是连接为通过诸如广域网络(WAN)、城域网络(MAN)、局域网络(LAN)和/或个人通信网络(PAN)而彼此收发数据的通信网络。
在本实施例中,IoT维护设备100可以执行端口扫描(Port Scanning)操作、协议扫描(Protocol Scanning)操作和类型推定(Port Scanning)操作。
端口扫描(Port Scanning)操作是指寻找包括于IoT网络的IoT设备5的开放端口(Open Port)的操作。即,端口扫描(Port Scanning)操作是针对各个IoT设备5分别确认哪些端口是开放状态的操作。
可以通过例如,端口扫描(Port Scanning)操作可以通过被称为全扫描(FULLSCNNING)或者隐蔽扫描(STEALTH SCANNING)的技术而执行。全扫描是通过建立完整的TCP会话(session)而确认开放的端口的技术。隐蔽扫描是半扫描(half scan)技术的一种,通过发送用于确认端口的包,如果收到针对该用于确认端口的包的响应(response),则响应的端口是开放的,如果没有收到响应,则判断为端口关闭。隐蔽扫描可以是诸如,FIN、NULL、或者XMASH。
端口(Port)是用于识别网络服务或者特定程序的逻辑单元,使用端口的协议(Protocol)例如为传输层协议。例如,传输层协议的示例可以为发送控制协议(TCP)和用户数据协议(UTD)等。端口是通过编号来区分的,这种编号被称为端口号。例如,端口号与IP地址一起使用。
端口号可以被分类为例如,3种。
<表1>
此外,众所周知的端口的代表性示例如下。
-20号:FTP(数据)
-21号:FTP(控制)
-22号:SSH
-23号:远程登录
-53号:DNS
-80号:万维网HTTP
-119号:NNTP
-443号:TLS/SSL方式的HTTP
从事本发明所属技术领域的人员(以下,称为“本领域技术人员”)能够容易地认知,这种端口号和端口种类是示例性的。
为了本发明的说明目的,假设IoT设备5a的开放端口是80号端口,IoT设备5b的开放端口是23号端口,IoT设备5c的开放端口是5555号端口,IoT设备5d的开放端口是5559号端口。
端口扫描(Port Scanning)操作是寻找包括于IoT网络的IoT设备5的开放端口(Open Port)的操作。例如,IoT维护设备100通过端口扫描操作,获知IoT设备5a的开放端口是80号端口,IoT设备5b的开放端口是23号端口,IoT设备5c的开放端口是5555号端口,IoT设备5d的开放端口是5559号端口。
协议扫描(Protocol Scanning)操作是用于获知开放端口(Open Port)中使用的协议的种类的操作。在此,开放端口是通过扫描操作而识别到的。例如,IoT维护设备100会寻找作为在IoT设备5b的开放端口的80号端口使用的协议是哪种。并且,IoT维护设备100会分别寻找在IoT设备5b的23号端口使用的协议和在IoT设备5c的5555号端口使用的协议,以及在IoT设备5d的5559号端口使用的协议是哪种。
由IoT维护设备100执行的协议扫描操作包括:确认开放端口种类的操作;根据开放端口的种类而创建要发送到开放端口的包(以下,称为“用于确认协议的包”)的操作;向具有所述开放端口的IoT设备发送用于确认协议的包的操作;以及确认是否从已发送用于确认协议的包的所述IoT设备接收到响应的操作。
例如,用于确认协议的包可以是脚本(Script)。
确认开放端口的种类的操作是,确认通过端口扫描操作而获知的开放端口的种类是哪种的操作。例如,确认开放端口的种类的操作是确认所述开放端口属于众所周知的端口(well-known port)、已注册端口(registered port)、动态端口(dynamic port)中的哪一个的操作。为了执行确认开放端口的种类是哪一类的操作,需要预先准备按端口号对端口种类进行分类的数据(例如,<表1>)(以下称为“端口种类数据”)。这种“端口种类数据”可以通过IoT维护设备100储存而管理。
根据一实施例,IoT维护设备100可以通过参照“端口种类数据”而获知所述开放端口的种类。例如,IoT维护数据100可以获知,IoT设备5a的80号端口和IoT设备5b的23号端口是众所周知的端口(well-known port),IoT设备5c的5555号端口和IoT设备5d的5559号端口是动态端口(dynamic port)。
IoT维护设备100执行创建与开放端口的种类相匹配的用于确认协议的包的操作。例如,由于IoT设备5a的80号端口是使用万维网HTTP协议的众所周知的端口,因此使用WebHTTP协议创建用于确认协议的包并发送到IoT设备5a。如果有来自IoT设备5a的针对利用Web HTTP协议而创建的用于确认协议的包的响应,则IoT维护设备100确定为IoT设备5a的80号端口利用Web HTTP协议。另外,如果没有来自IoT设备5a的针对利用Web HTTP协议而创建的用于确认协议的包的响应,则IoT维护设备100确定为IoT设备5a的80号端口不利用WebHTTP协议。在这种情形下,IoT维护设备100使用非Web HTTP协议的另一种协议来创建用于确认协议的包,然后发送到IoT设备5a。如果有来自IoT设备5a的针对利用非Web HTTP协议的另一种协议创建的用于确认协议的包的响应,则IoT维护设备100确定为IoT设备5a的80号端口利用所述另一种协议。如果没有来自IoT设备5a的针对利用非Web HTTP协议的另一种协议创建的用于确认协议的包的响应,则IoT维护设备100确定为IoT设备5a的80号端口不利用所述另一种协议。然后,直到接收来自IoT设备5a的响应为止,IoT维护设备100会使用又一种协议创建用于确认协议的包并发送到IoT设备5a。IoT维护设备100通过上述方法而识别在IoT设备5的开放端口实际使用的协议的种类。
IoT维护服务器200利用上述端口扫描操作的执行结果和协议扫描(ProtocolScanning)操作的执行结果中的至少一个结果,执行推定各个IoT设备5的类型(type)的类型推定(Type Assumption)操作。
根据一实施例,IoT维护服务器200可以利用人工智能而执行类型推定操作。将在下文中描述的是,IoT维护服务器200可以包括由人工智能构成的IoT设备的类型推定单元和用于学习使用于人工智能的模型的机械学习单元。针对机械学习,将参照图5在下文中进行描述。
根据一实施例,通过IoT维护服务器200执行的类型推定(Type Assumption)操作包括:从通过协议扫描操作的执行结果而获知的协议的种类来推定服务的种类的操作;和从如上所述地推定出的服务的种类推定IoT设备的种类的操作。
从协议的种类推定服务的种类的操作通常会基于各个服务主要使用的协议是既定的协议的经验。例如,RTSP、RTP或者RTCP协议主要支持流媒体服务(StreamingService)。即,只要针对各个协议准备好定义了主要支持的服务的数据(以下,称作“协议-服务映射(mapping)数据”),则IoT维护设备100可以通过“协议-服务映射数据”而从协议的种类推定服务的种类。“协议-服务映射数据”可以通过IoT维护设备100储存并管理。
从服务的种类而推定IoT设备的种类的操作也通常会基于根据IoT设备的类型而主要使用的协议是既定的协议的经验。例如,PTSP、RTP或者RTCP协议主要支持流媒体服务,这种流媒体服务主要由IP TV等IoT设备提供,即,只要定义了针对各个服务准备好主要提供的IoT设备的类型的数据(以下,称为“服务-类型映射(mapping)数据”),则IoT维护设备100可以利用“服务-类型映射数据”而从服务的种类推定IoT设备的类型。“服务-类型映射数据”可以通过IoT维护设备100储存并管理。
另外,针对用于确定协议正在进行(ongoing)的包的响应可以包括IoT设备的标题(Banner)信息和服务(service)信息中的至少一个。
通常,针对用于确认协议的包的响应所包括的标题(banner)信息包括有示出IoT设备中使用的操作系统(Operating System)是哪一种的数据。如果获知操作系统的种类,则IoT维护设备100可以获知服务的种类或者可以推定IoT设备的类型。
作为IoT设备中使用的操作系统(Operating System)的例,有诸如Tizen、Brillo、Fuchsia或者LiteOS等。在此,Tizen是支持便携电话之类的便携装置、TV、冰箱等IoT设备的开源移动操作系统,Brillo是谷歌发布的基于安卓的嵌入式操作系统,Fuchsia是谷歌正在研发的操作系统,是用于支持嵌入式系统、PC、智能电话、IoT设备的操作系统,LiteOS是华为针对IoT设备而开发的,用于支持智能家居、可穿戴设备或者智能车等各种IoT设备的操作系统。
对用于确认协议的包的响应中包括的服务(service)信息中通常包括有示出IoT设备是哪种类型的数据。例如,服务(service)信息中可以包括“我的苹果手机(MyiPhone)”之类的数据,这种数据是直接示出IoT设备的类型的信息。
根据一实施例,通过IoT维护服务器200执行的类型推定(Type Assumption)操作会利用IoT设备的标题(Banner)信息与服务(Service)信息中的至少一个信息和上述端口扫描操作的执行结果与协议扫描(Protocal Scanning)操作的执行结果中的至少一个执行结果。
例如,通过IoT维护服务器200而执行的类型推定(Type Assumption)操作包括:第一推定操作、第二推定操作、比较操作以及类型确定操作。
第一推定操作是通过从协议扫描操作而获取的协议的种类推定服务的种类的操作。针对第一推定操作的示例性说明请参照提及RTSP、RTP或者RTCP协议的说明部分。
第二推定操作是利用IoT设备的标题(Banner)信息和服务(service)信息中的至少一个信息而推定服务的种类的操作。针对第二推定操作的示例性说明请参照提及Tizen、Brillo、Fuchsia或者LiteOS的说明部分和提及我的苹果手机(My iPhone)的说明部分。
比较操作是将通过第一推定操作而推定出的服务的种类和通过第二推定操作而推定出的服务的种类进行比较的操作。
类型确定操作是如下的操作:在通过第一推定操作而推定出的服务的种类和通过第二推定种类推定出的服务的种类互不相同时,由根据第二推定操作而推定出的服务的种类来确定IoT设备的类型,并且在通过第一推定操作而推定出的服务的种类和通过第二推定种类推定出的服务的种类相同时,由根据第一推定操作或者第二推定操作而推定出的服务的种类来确定IoT设备的类型。
另外,在没有IoT设备的标题(Banner)信息和服务(service)信息,或者这些标题信息和服务信息中没有能够推定出服务的种类的数据时,类型推定操作(TypeAssumption)包括第一推定操作和类型确定操作。即,可以在不执行第二推定操作和比较操作前提下,仅根据第一推定操作和类型确定操作执行类型推定操作。
作为另一示例,IoT维护设备100或者IoT维护服务器200可以执行可靠度计算操作。在此,由于在上文中已对端口扫描操作和协议扫描操作以及类型推定操作进行过说明,因此将对可靠度计算操作进行说明。
可靠度计算操作是,例如,将根据类型推定操作而推定出的IoT设备的类型的准确度计算为数值的操作。
可靠度计算操作的示例为:如果通过第一推定操作而推定出的服务的种类和通过第二推定操作而推定出的服务的种类相同,则由这些服务的种类来确定的IoT设备的类型的可靠度可以被计算为90%~100%。
另外,可靠度计算操作的示例还可以为:如果通过第一推定操作而推定出的服务的种类和通过第二推定操作而推定出的服务的种类互不相同,则此时由根据第二推定操作而推定出的服务的种类来确定的IoT设备的类型的可靠度可以被计算为80%以上且小于90%。
此外,可靠度计算操作的示例还可以为:如果不执行与第二推定操作的比较操作而通过第一推定操作和类型确定操作执行类型推定操作,则根据这种类型推定操作而推定出的IoT设备的可靠度可以被计算为70%以上且小于80%。
上述可靠度计算操作的数值仅为示例性的,本发明并不局限于这些数值,本领域技术人员还可以本发明构成为:通过反映端口扫描操作的执行结果、协议扫描操作的执行结果、IoT设备的标题(Banner)信息和服务(Service)信息的利用程度而计算出其他数值的可靠度。
图3是用于说明根据本发明的一实施例的IoT维护系统的图。
参照图3,IoT维护系统可以包括IoT维护设备100和IoT维护服务器200。IoT维护设备100和IoT维护服务器200通过有线和/或无线通信网而连接。
IoT维护设备100可以包括:端口扫描单元101、协议扫描单元103、IoT漏洞分析单元105、操作系统107、通信单元109、计算机处理器111、存储装置113以及内存115。在此,操作系统107是一种软件,其不仅管理硬件,而且还为了运行应用软件而提供硬件虚拟平台和通用系统服务,存储装置113和内存115是分别是为了提供并运行程序的空间的设备。计算机处理器111是中央处理器(CPU),这种中央处理器是控制计算机系统并执行程序的运算的计算机的控制装置,或者是内置有这种功能的芯片。
内存115和/或存储装置113提供存储或者执行程序的空间,并且还可以储存诸如协议-服务映射(mapping)数据或者服务-类型映射(mapping)数据等本发明的操作所需的数据。
内存和/或存储装置113还储存IoT设备5的“漏洞分析用数据”。优选地,内存115和/或存储装置113储存根据IoT设备的类型而分类的“漏洞分析用数据”。
IoT维护服务器200可以包括机械学习单元202、IoT设备的类型推定单元204、管理单元(未示出)、操作系统(未示出)、通信单元(未示出)、计算机处理器(未示出)、存储装置(未示出)、以及内存(未示出)。在此,IoT维护服务器200的操作系统不仅管理硬件,还是为了运行应用软件而提供硬件抽象平台和公共系统服务的软件,IoT维护服务器200的存储装置和内存分别是提供使程序(例如,机械学习单元、IoT设备的类型推定单元、管理单元、操作系统)被储存并运行的空间的设备。IoT维护服务器200的计算机处理器是中央处理器(CPU),这种中央处理器是控制计算机系统,并执行程序运算的计算机的控制装置,或者是内置有该功能的芯片。IoT维护服务器200的内存和/或存储装置可以提供储存并运行程序(机械学习单元、IoT设备的类型推定单元、管理单元、操作系统)的空间,并且还可以储存模型、人工智能(程序)。
端口扫描单元101执行上述端口扫描工作。端口扫描单元101创建用于确认端口的包,并通过通信单元109将用于确认端口的包发送到IoT设备,并确认能否接收到针对用于确认端口的包的响应,从而在IoT设备中确定开放的端口。
协议扫描单元103执行上述协议扫描操作。协议扫描单元103在创建用于确认协议的包后,通过通信单元109向IoT设备发送用于确定协议的包,并检测是否接收到了针对用于确定协议的包的响应,从而确定开放的端口实际使用的协议。
IoT设备的类型推定单元104执行上述类型推定工作。
IoT维护设备100将端口扫描结果和协议扫描的结果发送到IoT维护服务器200。
IoT维护服务器200的IoT设备的类型推定单元204利用从IoT维护设备100接收的端口扫描结果和协议扫描的结果而执行上述类型推定操作。
根据一实施例,IoT设备的类型推定单元204利用IoT设备的标题(Banner)信息与服务(Service)信息中的至少一个信息和端口扫描单元101的操作结果与协议扫描单元103的操作结果中的至少一个操作结果。
根据另一实施例,利用端口扫描单元101的操作结果和协议扫描单元103的操作结果中的至少一个结果。由于已进行过针对这些实施例的详细说明,因此将省略对其的说明。
IoT维护服务器200将IoT设备的类型推定单元204的推定结果发送到IoT维护设备100。
IoT维护设备100的IoT漏洞分析单元105利用储存在内存115和/或存储装置113的漏洞分析用数据,分析IoT设备的漏洞。如果类型推定单元204推定出IoT设备的类型,则IoT漏洞分析单元105就会选择与IoT设备的类型相匹配的漏洞分析用数据,并使用选择的漏洞分析用数据对IoT设备的漏洞进行分析。
IoT漏洞分析单元105利用与IoT设备的类型推定单元204推定的IoT设备的类型相匹配的漏洞分析用数据执行漏洞分析操作。如果执行漏洞分析操作,则IoT维护设备100会判断为IoT设备的类型推定单元204所推定的IoT设备的类型正确。如上所述,如果IoT设备的类型推定单元204推定的IoT设备的类型是正确的,则IoT维护设备100会向IoT维护服务器200发送用于机械学习的学习数据。在此,学习数据是,将借助IoT设备的类型推定单元204正确地推定的IoT设备的类型和用于推定的数据进行映射的数据。
IoT维护设备100还可以包括执行可靠度计算操作的可靠度计算单元(未示出)。可靠度计算单元(未示出)执行上述可靠度计算操作。
整个或者至少一单元分端口扫描单元101可以构成为程序。以程序方式构成的单元分被加载到内存115而在计算机处理器111的控制下执行端口扫描操作。其他构成要素,例如,协议扫描单元103、IoT设备的类型推定单元204、IoT漏洞分析单元105以及可靠度计算单元(未示出)也可以以与端口扫描单元101相同的方式构成并执行自身的操作。此外,由于在上文中已针对端口扫描操作、协议扫描操作、类型推定操作、可靠度计算操作进行了详细说明,因此在此省略对其的说明。
图4是用于说明根据本发明的一实施例的确定IoT设备的类型的方法的图。
参照图4,根据本发明的决定IoT设备的类型的方法可以包括如下步骤:端口扫描步骤(Port Scanning step)S100,IoT维护设备100寻找包括于IoT网络的IoT设备的开放端口(Open Port);协议扫描步骤(Protocol Scanning step)S200,寻找IoT维护设备100通过端口扫描步骤S100的执行结果而找出开放端口(Open Port)所使用的协议;IoT维护设备100将上述扫描步骤S100、S200的结果发送到IoT维护服务器200的步骤S300;类型推定步骤(Type Assumption step)S300,IoT维护服务器200基于从IoT维护设备100接收的扫描步骤S100、S200的结果来推定IoT设备的类型;以及IoT维护服务器200将类型推定步骤S300的推定结果发送到IoT维护设备100的步骤S500。
根据本发明的一实施例的确定IoT设备的类型的方法可以额外包括如下步骤:IoT维护设备100基于从IoT维护服务器200接收的IoT设备的类型推定结果来执行根据IoT设备的类型的漏洞分析的步骤S600;如果IoT维护设备100执行漏洞分析步骤S600的结果为IoT设备的类型推定结果正确,则向IoT维护服务器200发送学习数据的步骤S700;以及IoT维护服务器200利用从IoT维护设备100接收的学习数据来进行机械学习的步骤S800。机械学习S800的结果可以在IoT设备的类型推定步骤S300中利用。
此外,学习数据是将端口扫描结果和协议扫描结果映射到IoT设备的类型的数据。
以下,假设根据本发明的一实施例的确定IoT设备的方法被应用于参照图2和图3所说明的根据本发明的一实施例的IoT设备的类型的系统,对根据本发明的一实施例的确定IoT设备的类型的方法进行说明。
端口扫描步骤S100是寻找包括于IoT网络的IoT设备5的开放端口(Open Port)的步骤。即,端口扫描步骤S100是执行参照图2和图3而说明的端口扫描(Port Scanning)操作的步骤。
在本实施例中,以说明本发明为目的,同样假设为IoT设备5a的开放端口是80号端口,IoT设备5b的开放端口是23号端口,IoT设备5c的开放端口是5555号端口,IoT设备5d的开放端口是5559号端口。
端口扫描步骤S100是寻找包括于IoT网络的IoT设备5的开放端口(Open Port)的步骤。例如,通过端口扫描步骤S1000的执行结果,获知了IoT设备5a的开放端口是80号端口,IoT设备5b的开放端口是23号端口,IoT设备5c的开放端口是5555号端口,IoT设备5d的开放端口是5559号端口。
协议扫描步骤S200是用于获知在开放端口(Open Port)中实际使用的协议的种类的步骤。即,协议扫描步骤S200是执行参照图1和图2说明的协议扫描操作的步骤。此外,开放端口是作为端口扫描步骤S100的执行结果而获取的。
例如,协议扫描步骤S200执行获知在作为IoT设备5a的开放端口的80号端口使用的协议的种类的操作。并且,协议扫描步骤S200执行获知在IoT设备5b的23号端口使用的协议和在IoT设备5d的5559号端口使用的协议是哪种协议的操作。如上所述,协议扫描步骤S200是针对IoT设备5的所有开放端口,获知实际使用的协议的种类的步骤。
协议扫描步骤S200包括如下步骤:确认开放端口的种类的步骤;创建用于确认协议的包;将用于确认协议的包发送到具有所述开放端口的IoT设备;以及确认是否存在来自发送用于确认协议的包的所述IoT设备的响应。此外,确认开放端口的种类的步骤是执行上述的确认开放端口的种类的操作的步骤,创建用于确认协议的包的步骤是执行上述的创建用于确认协议的包的步骤,确认是否接收到了来自IoT设备的响应的步骤是执行上述的确认是否接收到了来自IoT设备的响应的操作的步骤。因此,省略对这些步骤的更加详细的说明。
在确认开放端口的种类的步骤中,执行确认通过端口扫描操作而获取的开放端口是否对应于众所周知的端口(well-known port)、已注册端口(registered port)或者动态端口(dynamic port)的操作。
根据一实施例,确认开放端口的种类的步骤通过参照端口种类数据,从而执行获知根据端口扫描操作而获取的开放端口的种类的操作。
根据一实施例,创建用于确认协议的包的步骤执行根据开放端口的种类而创建用于确认协议的包的操作。
例如,在创建用于确认协议的包的步骤中,由于IoT设备5a的80号端口是使用万维网HTTP协议的众所周知的端口(well-known port),因此使用Web HTTP协议而执行创建用于确认协议的包的操作。
并且,在创建用于确认协议的包的步骤中,如果没有来自IoT设备5a的针对利用Web协议创建的用于确认协议的包的响应,则确定IoT设备5a的80号端口不利用HTTP协议,从而执行使用非万维网HTTP协议的另一种协议来创建用于确认协议的包的操作。
即,在创建用于确认协议的包的步骤中,为了获知IoT设备5的开放端口实际使用的协议的种类,如同上述操作地,创建用于确认协议的包,直到有响应为止。
向IoT设备发送用于确认协议的包的步骤是向IoT设备发送用于确认协议的包步骤。在将用于确认协议的包发送到IoT设备的步骤中,执行发送用于确认协议的包的操作,直到有来自IoT设备的响应为止。
在检测是否存在来自发送用于确认协议的包的IoT设备的响应的步骤中,执行如下的操作:针对是否有来自所述IoT设备的响应进行监控,如果有响应,则将这种响应中使用的协议确定为在该开放端口中实际使用的协议。
类型推定步骤S300是利用上述端口扫描步骤S100的执行结果和协议扫描步骤S200的执行结果中的至少一个结果来执行推定IoT设备5各自的类型(type)的类型推定操作的步骤。即,类型推定步骤S300是执行参照图2和图3而说明的类型推定操作的步骤。
根据一实施例,类型推定步骤S300包括如下步骤:从协议扫描操作的执行结果得出的协议的种类推定服务的种类;以及从服务的种类推定IoT设备的类型。在此,从协议的种类推定服务的种类的步骤是执行从上述协议的种类推定服务的种类的操作的步骤,从服务的种类推定IoT设备的类型的步骤是执行根据上述服务的种类推定IoT设备的种类的操作的步骤。因此,针对这些步骤的详细说明请参照对图2和图3的实施例的说明。
如上所述,针对用于确认协议的包的响应可以包括IoT设备的标题(Banner)信息和服务(Service)信息中的至少一个。
根据一实施例,在类型推定步骤(Type Assumption step)S300中,会利用IoT设备的标题(Banner)信息与服务(Service)信息中的至少一个和上述端口扫描操作的执行结果与协议扫描(Protocol Scanning)操作的执行结果中的至少一个结果。
在一示例中,类型推定步骤S300可以执行第一推定操作、第二推定操作、比较操作以及类型确定操作。针对第一推定操作、第二推定操作、比较操作、以及类型确定操作的详细说明请参考针对参照图2和图3而描述的实施例的说明。
在另一示例中,类型推定步骤S300可以执行端口扫描操作、协议扫描操作、类型推定操作、以及可靠度计算操作。针对第一推定操作、第二推定操作、比较操作、类型确定操作以及可靠度计算操作的详细说明请参考针对参照图2和图3而描述的实施例的说明。
图5是用于说明根据本发明的一实施例的IoT维护服务器200的机械学习的图。
参照图5,如果IoT设备的类型被准确推定,则IoT维护设备100会生成学习数据并发送到IoT维护服务器200。如上所述,学习数据构成为包括IoT设备的类型和用于推定IoT设备的类型的数据。当然,包括在学习数据中的IoT设备的类型是被准确推定的。
如上所述,只要是在本发明所述领域中具有普通知识水平的人便可以根据上述说明书的记载而进行多种修改以及变型。因此,本发明的范围不应局限于说明的实施例而被定义,而应当根据权利要求和与该权利要求等同的概念而被定义。
Claims (5)
1.一种确定物联网设备的类型的系统,包括:
物联网维护设备,执行端口扫描步骤和协议扫描步骤,所述端口扫描步骤是寻找包括于物联网网络中的物联网设备的开放端口的步骤,所述协议扫描步骤是寻找在根据所述端口扫描步骤的执行结果而获知的开放端口所使用的协议的步骤;以及
物联网维护服务器,执行基于所述端口扫描步骤和所述协议扫描步骤的结果来推定所述物联网设备的类型的类型推定步骤,
所述协议扫描步骤是执行如下操作的步骤:确认所述开放端口的种类;创建根据开放端口的种类的用于确认协议的包,并发送到具有所述开放端口的物联网设备;以及确认是否能够从所述物联网设备接收到针对用于确认协议的包的响应,
所述响应包括具有所述开放端口的物联网设备的标题信息和服务信息中的至少一个,
所述标题信息或者所述服务信息包括物联网设备的类型,
所述类型推定步骤是执行如下操作的步骤:
第一推定操作,从根据所述协议扫描步骤的执行结果找到的协议推定服务的种类;第二推定操作,从表示所述物联网设备的类型的信息推定服务的种类;将通过第一推定操作而推定的服务的种类和通过第二推定操作而推定的服务的种类进行比较的操作;推定物联网设备的类型的操作,当根据比较结果,两者不同时,基于通过第二推定操作推定的服务的种类来推定所述物联网设备的类型,并且根据比较结果,两者相同时,基于通过所述第一推定操作或者所述第二推定操作推定的服务的种类来推定所述物联网设备的类型。
2.如权利要求1所述的确定物联网设备的类型的系统,其中,
所述物联网维护设备包括于所述物联网网络中。
3.如权利要求1所述的确定物联网设备的类型的系统,还包括如下步骤:
计算表示根据所述类型推定步骤而推定的物联网设备类型的准确性的数值作为可靠度。
4.如权利要求1所述的确定物联网设备的类型的系统,其中,
所述物联网维护设备,执行如下的操作:
从根据物联网设备的类型而分类的漏洞分析用数据中,选择根据通过所述类型推定步骤而推定出的物联网设备类型的漏洞分析用数据,并利用选择的漏洞分析用数据分析物联网设备的漏洞。
5.如权利要求4所述的确定物联网设备的类型的系统,其中,
所述物联网维护设备为如下的设备:
如果判断为根据所述类型推定步骤而推定出的物联网设备的类型正确,则创建学习数据并发送到物联网维护服务器,
所述学习数据是物联网设备类型和用于推定物联网设备类型的数据彼此映射而得的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0046259 | 2019-04-19 | ||
KR1020190046259A KR102159077B1 (ko) | 2019-04-19 | 2019-04-19 | 인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111835699A CN111835699A (zh) | 2020-10-27 |
CN111835699B true CN111835699B (zh) | 2023-02-17 |
Family
ID=72708491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910340321.9A Active CN111835699B (zh) | 2019-04-19 | 2019-04-25 | 利用人工智能确定物联网设备的类型的系统 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102159077B1 (zh) |
CN (1) | CN111835699B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102519701B1 (ko) * | 2022-08-31 | 2023-04-13 | 주식회사 융창 | 다양한 프로토콜을 갖는 IoT 디바이스와의 호환성을 제공하는 IoT 게이트웨이 및 그 제어 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487879A (zh) * | 2016-09-20 | 2017-03-08 | 北京知道未来信息技术有限公司 | 一种基于设备指纹库的网络设备识别方法和装置 |
CN106713449A (zh) * | 2016-12-21 | 2017-05-24 | 中国电子科技网络信息安全有限公司 | 一种快速识别联网工控设备的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882256B2 (en) * | 2005-05-24 | 2011-02-01 | Panasonic Corporation | Gateway device and control device |
US10587482B2 (en) * | 2017-09-18 | 2020-03-10 | International Business Machines Corporation | Discovery of IoT devices |
-
2019
- 2019-04-19 KR KR1020190046259A patent/KR102159077B1/ko active IP Right Grant
- 2019-04-25 CN CN201910340321.9A patent/CN111835699B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487879A (zh) * | 2016-09-20 | 2017-03-08 | 北京知道未来信息技术有限公司 | 一种基于设备指纹库的网络设备识别方法和装置 |
CN106713449A (zh) * | 2016-12-21 | 2017-05-24 | 中国电子科技网络信息安全有限公司 | 一种快速识别联网工控设备的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111835699A (zh) | 2020-10-27 |
KR102159077B1 (ko) | 2020-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Thangavelu et al. | DEFT: A distributed IoT fingerprinting technique | |
EP3783504B1 (en) | Resource prioritization and communication-channel establishment | |
CN111208748B (zh) | 基于物联网的联动控制方法、系统和计算机设备 | |
US20160330080A1 (en) | Method of discovering network topology | |
CN111835699B (zh) | 利用人工智能确定物联网设备的类型的系统 | |
US11930020B2 (en) | Detection and mitigation of security threats to a domain name system for a communication network | |
WO2017054307A1 (zh) | 用户信息的识别方法及装置 | |
CN111835698B (zh) | 确定物联网设备的类型的方法以及物联网维护设备 | |
Nawrocki et al. | Adaptive context-aware energy optimization for services on mobile devices with use of machine learning considering security aspects | |
KR102185847B1 (ko) | 포트 스캐닝과 프로토콜 스캐닝을 이용한 IoT 디바이스의 타입을 결정하는 시스템 | |
Meidan et al. | D-Score: An expert-based method for assessing the detectability of IoT-related cyber-attacks | |
CN113726717A (zh) | 伪造设备检测方法及无线设备维护系统 | |
Aun et al. | A holistic IoT device classification approach through spatial & temporal behaviors modelling | |
KR102185843B1 (ko) | 배너 정보에 기초하여 IoT 디바이스의 타입을 결정하는 방법 및 IoT 케어 디바이스 | |
KR20210158251A (ko) | 취약점 분석 및 이와 연계된 IoT 케어 시스템 | |
KR20200128233A (ko) | 인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템 | |
US11775403B2 (en) | Method and system for developing an anomaly detector for detecting an anomaly parameter on network terminals in a distributed network | |
US20170286181A1 (en) | Deployment and execution of sensing and computational tasks in a network of computing devices | |
CN115878991A (zh) | 一种信任模型的训练方法及装置 | |
Elhaloui et al. | Toward a monitoring system based on IoT devices for smart buildings | |
KR102389938B1 (ko) | IoT 타입 분석 및 이를 이용한 불법 IoT 디바이스 탐지 시스템 | |
CN113726724A (zh) | 一种用于家庭网络环境安全风险评估和检测的方法和网关 | |
KR20210137743A (ko) | 페이크 디바이스 탐지 방법 및 무선 디바이스 케어 장치 | |
KR102488604B1 (ko) | Fkm, ffkm, hnbr, csm, 또는 에피클로로히드린과 같은 특수 고무들의 제조 장치 및 발주 시스템 | |
Garrido et al. | Survey and testing of the IoT Cybersecurity Framework Using Intrusion Detection Systems |
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 |