WO2017142276A1 - System and method for assessing vulnerability of network printer - Google Patents

System and method for assessing vulnerability of network printer Download PDF

Info

Publication number
WO2017142276A1
WO2017142276A1 PCT/KR2017/001563 KR2017001563W WO2017142276A1 WO 2017142276 A1 WO2017142276 A1 WO 2017142276A1 KR 2017001563 W KR2017001563 W KR 2017001563W WO 2017142276 A1 WO2017142276 A1 WO 2017142276A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
vulnerability
printer
database
scan
Prior art date
Application number
PCT/KR2017/001563
Other languages
French (fr)
Korean (ko)
Inventor
원유재
김준희
오재근
Original Assignee
충남대학교산학협력단
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
Priority claimed from KR1020160023048A external-priority patent/KR101792235B1/en
Application filed by 충남대학교산학협력단 filed Critical 충남대학교산학협력단
Publication of WO2017142276A1 publication Critical patent/WO2017142276A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer

Definitions

  • the present invention relates to a vulnerability checking method and system using port information of a network printer.
  • Patent Document 1 discloses a public printer security system and security method, but it is difficult to identify vulnerability and patch information of a network printer with this technology alone.
  • An object of the present invention is to allow a user to easily check the vulnerability and patch information of a network printer.
  • Vulnerability check system of a network printer the user interface for receiving the user input showing the vulnerability related information for the printer (100); Control server 200; Scan information database 300; Vulnerability information database 400; And a vendor information database 500, wherein the control server 200 receives user input from the user interface 100 and receives necessary scan information from the scan information database 300, and the vulnerability information and vendor associated therewith. The information is collected and received from the vulnerability information database 400 and the vendor information database 500, and then transferred to the user interface 100.
  • the vulnerability checking system may further include a printer scanner 600 which collects port information of the printer in use and transmits the collected information to the scan information database 300 to store the collected information.
  • a printer scanner 600 which collects port information of the printer in use and transmits the collected information to the scan information database 300 to store the collected information.
  • the vulnerability checking system may further include a printer vulnerability information crawler 700 which collects vulnerability information of the existing firmware and protocol of the printer, and transmits and stores the vulnerability information in the vulnerability information database 400.
  • a printer vulnerability information crawler 700 which collects vulnerability information of the existing firmware and protocol of the printer, and transmits and stores the vulnerability information in the vulnerability information database 400.
  • the vulnerability checking system may further include a printer vendor information crawler 800 that collects patch information of software used for printers for each manufacturer, transmits the information to the vendor information database 800, and stores the patch information.
  • a printer vendor information crawler 800 that collects patch information of software used for printers for each manufacturer, transmits the information to the vendor information database 800, and stores the patch information.
  • Vulnerability check method of the network printer the user interface 100, control server 200, scan information database 300, vulnerability information database 400, vendor information database 500, printer scanner 600
  • the vulnerability checking method of a network printer using a vulnerability checking system including a printer vulnerability information crawler 700 and a printer vendor information crawler 800 the information collected by the printer scanner 600 is stored in the scan information database 400.
  • the control server 200 receives user input from the user interface 100, receives necessary scan information from the scan information database 300, and transmits vulnerability information and vendor information related to the vulnerability information database 400 and vendor information. Collecting the received data from the database 500 and delivering the collected data to the user interface 100.
  • the step of storing the scan information database may include a host scan step, a host presence determination step, a port scan step, a determination of whether the host is a printer, a firmware and protocol version detection step, and a database storage step.
  • the vulnerability information database storage step may include a vulnerability crawling step, a printer related vulnerability determination step, a vulnerability information crawling step, a vulnerability information detection step such as a vulnerability number, a cause, and an impact, and a database storing step.
  • the vendor information database storage step may include a patch information list checking step, a new patch existence determination step, a patch information crawling step, a patch information detection step such as a vulnerable firmware version, a patched version, and a database storing step.
  • FIG. 1 is a block diagram of a system according to the present invention
  • FIG. 2 is a block diagram of a user interface
  • FIG. 3 is a block diagram of a control server
  • FIG. 4 is a block diagram of a scan information database.
  • 5 is a block diagram of a vulnerability information database
  • FIG. 6 is a block diagram of a vendor information database.
  • FIG. 7 is a block diagram of a printer scanner
  • FIG. 8 is a block diagram of a printer vulnerability information crawler.
  • 9 is a block diagram of a printer vendor information crawler.
  • FIG. 12 is a flowchart of a printer vendor information crawler operation.
  • FIG. 13 is a flowchart of a printer vulnerability / patch information retrieval operation
  • FIG. 1 is a block diagram of a system according to the present invention.
  • the system of the present invention is a user interface 100, control server 200, scan information database 300, vulnerability information database 400, vendor information database 500, printer scanner 600, printer vulnerability information crawler 700 ), And a printer vendor information crawler 800.
  • the user interface 100 is a device that receives user input and displays vulnerability related information about a printer.
  • the control server 200 receives user input from the user interface 100, receives necessary scan information from the scan information database 300, and transmits vulnerability information and vendor information related to the vulnerability information database 400 and the vendor information database.
  • the device receives the collected data from the 500 and delivers it to the user interface 100.
  • the scan information database 300 is a device that stores / manages information obtained by periodically scanning the printer scanner 600 and transmits the information when there is a request for information from the control server 200.
  • the vulnerability information database 400 stores / manages information collected about printer firmware and protocol vulnerabilities existing in the printer vulnerability information crawler 700, and when there is a request for information from the control server 200, It is a device that transmits information.
  • the vendor information database 500 stores / manages information about patches of software used in printers for each manufacturer, which are periodically collected by the printer vendor information crawler 800, and when there is a request for information from the control server 200, the corresponding information. It is a device that transmits.
  • the printer scanner 600 is a device that periodically scans an IPv4 band, collects port information of a printer in use, and transmits and stores the collected information to the scan information database 300.
  • the port here does not mean a connection part used to connect a peripheral device of a computer, but rather a logical connection point of software or a service for communication.
  • the printer vulnerability information crawler 700 is a device that periodically collects vulnerability information of firmware and protocols of existing printers, and transmits and stores the vulnerability information in the vulnerability information database 400.
  • the printer vendor information crawler 800 is a device that periodically collects patch information of software used in printers for each manufacturer, and transmits the patch information to the vendor information database 800 for storage.
  • FIG. 2 is a block diagram of a user interface.
  • the user interface 100 includes a search unit 110, an output unit 120, and a communication unit 130.
  • the user interface 100 may include various types of programs, such as a mobile application, a web application, and a PC.
  • the user interface 100 receives a search word from a user and outputs vulnerability and patch information of a printer.
  • the search unit 110 receives a search word from a user, and the search word may be an IP, an IP band, a manufacturer, a model name, a specific port, or the like.
  • the search unit 110 transmits the input to the control server 200 through the communication unit 130 received.
  • the output unit 120 receives the vulnerability and patch information of the printer from the communication unit and outputs it through the screen.
  • the communication unit 130 transmits the search word input from the user through the search unit 110 to the control server 200 and the vulnerability and patch information of the printer received from the control server 200 to the output unit 120. It serves to convey.
  • FIG. 3 is a block diagram of a control server.
  • the control server 200 includes a control unit 210 and the communication unit 220.
  • the control unit 210 receives a search word from the user interface through the communication unit 220, and transmits a request message for checking whether there is printer scan information corresponding to the search word in the scan information database 300 using the search word. ) To the scan information database 220.
  • a message requesting the vulnerability and patch information related thereto is transmitted to the vulnerability information database 400 and the vendor information database 500 through the communication unit 220, respectively.
  • the vulnerability and patch information received from the vulnerability information database 400 and the vendor information database 500 are collected and transmitted to the user interface 100 through the communication unit 220.
  • the communication unit 220 transmits the request message received from the control unit 210 to the scan information database 300, the vulnerability information database 400, the vendor information database 500, and receives and responds to the request message. Transfer to section 210.
  • FIG. 4 is a block diagram of a scan information database.
  • the scan information database 300 includes a scan information management unit 310 and a communication unit 320.
  • the scan information management unit 310 manages print scan information received from the printer scanner 600 through the communication unit 320.
  • the management information may be the printer's IP, firmware, open ports and services for the ports, and detailed version information thereof.
  • the scan information management unit 310 When the scan information management unit 310 receives the scan information request message of the control server 200 through the communication unit 320, the scan information management unit 310 extracts the corresponding information and transmits the information to the control server 200.
  • the communicator 320 transmits the scan information received from the printer scanner 600 to the scan information management unit 310 and receives a scan information request message from the control server 200 and transmits the scan information request message to the scan information management unit 310. It sends a response message to the control server 200.
  • FIG. 5 is a block diagram of a vulnerability information database.
  • the vulnerability information database 400 includes a vulnerability information management unit 410, a communication unit 420.
  • the vulnerability information management unit 410 manages the vulnerability information received from the printer vulnerability information crawler 700 through the communication unit 420.
  • Management information can be vulnerable targets, vulnerable causes, vulnerable contents, attack types, and complementary methods.
  • the vulnerability information management unit 410 When the vulnerability information management unit 410 receives the vulnerability information request message of the control server from the communication unit 420, the vulnerability information management unit 410 extracts the information and transmits the information to the control server 200.
  • the communication unit 420 transmits the vulnerability information received from the printer vulnerability information crawler 700 to the vulnerability information management unit 410, and receives the vulnerability information request message from the control server 200 to the vulnerability information management unit 410. It transmits and sends a response message to the control server 200.
  • FIG. 6 is a block diagram of a vendor information database.
  • the vendor information database 500 includes a vendor information management unit 510 and a communication unit 520.
  • the vendor information management unit 510 manages vendor information received from the printer vendor information crawler 800. That is, it manages the information of the vendor-specific firmware, the information on the services of the port used in the printer.
  • the vendor information management unit 510 When the vendor information management unit 510 receives the patch information request message of the control server 200, the vendor information management unit 510 extracts the information and transmits the information to the control server 200.
  • the communication unit 520 serves to deliver the vendor information received from the printer vendor information crawler 800 to the vendor information management unit 510 and, upon receiving the vendor information request message from the control server 200, to the vendor information management unit 510. It transmits and sends a response message to the control server 200.
  • FIG. 7 is a block diagram of a printer scanner.
  • the printer scanner 600 includes a scan operation determining unit 610, a packet generator 620, a packet analyzer 630, and a communication unit 640.
  • the printer scanner 600 is a device for scanning ports, it may be referred to as a printer port scanner or a printer port collector.
  • the scan policy determination unit 610 determines a range of IP addresses, a scan method, a range of ports, a protocol, and the like for scanning. This decision is made through the administrator's settings or the received response packet.
  • the scan policy determiner 610 determines the host scan policy and transmits the packet to the packet generator 620.
  • the host scan policy determines the IP address range, IP approach (random or sequential), and scan method (ARP, TCP, ICMP, etc.) during host scan.
  • the packet analyzer 630 checks the response packet of the host scan and transmits the host scan information to the scan policy determiner 610.
  • the scan policy determiner 610 determines the port scan policy and transmits it to the packet generator 620. 21 (ftp), 80 (hhtp), 443 (https), 515 (printer), 9100 (jetdirect), 427 (svrloc), 631 (ipp), 79 (finger), and 4000 ( Remoteanything), 5000 (upnp), 5001 (complex-link), 9500 (ismserver), etc. Ports to scan and scan methods (TCP SYN, TCP, UDP, etc.) are determined.
  • the packet analysis unit 630 analyzes the response regarding the port scan, confirms that the host is a printer, and transmits the port scan information to the scan policy determination unit 610 to perform firmware and protocol version detection.
  • the scan policy determiner 610 determines the firmware and protocol version detection policy and transmits it to the packet generator 620. Detecting firmware and protocol versions determines how to collect detailed information for each protocol.
  • ssl / tls using port 443 can collect information such as version, certificate, and encryption algorithm during handshaking.
  • the packet generator 620 generates a packet based on the policy transmitted from the scan policy determiner and transmits the packet to the communication unit 640.
  • the packet analyzer 630 analyzes the response packet of the host scan, the port scan, the firmware, and the protocol version detection received by the communication unit 640, and scans the host scan information in the case of the response packet of the host scan. In case of the printer, the port scan information is transmitted to the scan policy determination unit 610. If the 515 (printer), 9100 (jetdirect), or 631 (ipp) ports are open, the host can be identified as a printer.
  • the communication unit 640 transmits the packets generated by the packet generation unit 620, receives a response packet, and delivers the response packets to the packet analysis unit 630, and receives the detailed information extracted by the packet analysis unit 630. It serves to transmit to the scan information database (300).
  • FIG. 8 is a block diagram of a printer vulnerability information crawler.
  • the printer vulnerability information crawler 700 includes an information collecting unit 710, a vulnerability information comparing unit 720, a vulnerability information detecting unit 730, and a communication unit 740.
  • the information collecting unit 710 manages the url of the printer vulnerability DB site, collects the html source of the page by accessing the url of the vulnerability DB site, and delivers it to the vulnerability information comparison unit 720.
  • the vulnerability information comparison unit 720 compares whether the information received from the information collection unit 710 includes printer related keywords such as printer manufacturer names such as 'printer', hp and brother, and printer related protocols such as lpd and ipp. . If a printer-related keyword is included, the printer vulnerabilities are identified as printer vulnerabilities and transmitted to the vulnerability information detection unit 730.
  • printer related keywords such as printer manufacturer names such as 'printer', hp and brother
  • printer related protocols such as lpd and ipp.
  • the vulnerability information detection unit 730 collects the html source of the page by accessing the url received from the vendor information comparison unit, analyzes the collected information using an html parser, and identifies necessary information such as a vulnerability name, threat, and impact. Transfer to the communication unit 740.
  • the communication unit 740 serves to transmit the identified vulnerability information received from the vulnerability information detection unit to the vulnerability information database.
  • 9 is a block diagram of a printer vendor information crawler.
  • the printer vendor information crawler 800 includes an information collecting unit 810, a vendor information comparing unit 820, a vendor information detecting unit 830, and a communication unit 840.
  • the information collecting unit 810 manages the printer vendor patch site url, accesses the url of the vendor patch site, collects the html source of the page, and delivers the html source to the vendor information comparing unit 820.
  • Vendor means a printer manufacturer that has information on firmware or software that is the basis of the printer, or a manufacturer or supplier who manufactures software used in the printer.
  • the vendor vendor information comparing unit 820 receives an existing patch list from the vendor information database 500 through the communication unit 840, analyzes the information received from the information collecting unit 810 using an html parser, and analyzes the patch list. To identify. Thereafter, the identified patch list is compared with the existing patch list to compare whether a new patch exists. If a new patch exists, the tag of the new patch is checked and the detailed page link url is transmitted to the vendor information detector 830, and the identified patch list is transmitted to the communication unit 840.
  • the vendor information detection unit 830 collects the html source of the page by accessing the url received from the vendor information comparison unit 820 and analyzes the collected information by using the html parser to patch, the vulnerability name, the vulnerable model, and the like. The necessary information is identified and transferred to the communication unit 840.
  • the communication unit 840 transmits the identified information received from the vendor information detection unit 830 and the patch list received from the vendor information comparison unit 820 to the vendor information database 500.
  • the system of the present invention has two functions.
  • the first function is to collect scanners and crawlers (scan information, vulnerability information, vendor-specific patch information) and store them in their respective databases.
  • the second function is to provide the printer with vulnerability information and patch information.
  • printer scan information To achieve the function of collecting various information (scan information, vulnerability information, vendor patch information) and storing it in each database, printer scan information, vulnerability information, and vendor information to provide the user with the vulnerability and patch information of the printer. It is necessary to collect the patch information and to periodically collect the information using an automated program and store it in the database.
  • the process of storing the information collected by the printer scanner in the scan information database is as follows.
  • FIG. 10 is a flowchart of a printer scanner operation.
  • the scanner 600 checks whether a host exists randomly or sequentially for the IP of the IPv4 band.
  • the method for discovering a host can be performed by various methods such as ARP request, TCP, and ICMP.
  • step S130 the port scan step
  • This step is to perform a port scan on the discovered host.
  • the scan method may be performed in various ways such as TCP SYN, TCP, UDP, and the like. 21 (ftp), 80 (hhtp), 443 (https), 515 (printer), 9100 (jetdirect), 427 (svrloc), 631 (ipp), 79 (finger), 4000 (remoteanything), Scan ports such as 5000 (upnp).
  • Step S140 Step of determining whether the host is a printer
  • the ports 515, 631, and 9100 of the above ports are open, and if it is confirmed that the host is the printer, the process proceeds to the next step of firmware and protocol version detection (step S150), and ends if not the printer.
  • step S150 Firmware and protocol version detection step
  • Probe packets for collecting version information are protocol specific.
  • ssl / tls using port 443 can collect version information, certificates, cryptographic algorithms, etc. during handshaking.
  • the information collected about which services are used for each host is stored in a scan information database.
  • the process of storing the information collected by the printer vulnerability information crawler in the vulnerability information database is as follows.
  • FIG. 11 is a flowchart of a printer vulnerability information crawler operation.
  • Printer vulnerability information crawler 700 can access the list of vulnerabilities through the vulnerable DB site url. Vulnerability names and summary of vulnerabilities in the vulnerability list can be crawled using python scripts.
  • Printer-related vulnerabilities can be identified by checking the printer-related keyword in the crawled vulnerability name and description summary.
  • printer-related keyword is included, it is recognized as a printer-related vulnerability, and the process proceeds to the crawling of the vulnerability information (step S230).
  • the detail page of the vulnerability identified as the printer vulnerability can be accessed via url.
  • the entire contents of the vulnerability details page can be crawled by python scripts.
  • Vulnerability information detection step such as vulnerability number, cause, impact (step S240)
  • vulnerability information such as vulnerability name, description, impact, and threat can be accessed and identified through html tags.
  • FIG. 12 is a flowchart of a printer vendor information crawler operation.
  • the following steps are performed for the printer vendor information crawler operation.
  • the printer vendor information crawler 800 may access the patch information list through the printer manufacturer site url. Therefore, the patch list can be crawled through python scripts.
  • Step S320 Step of determining whether a new patch exists
  • the crawled patches are compared to the ones stored in the existing database to check for the existence of new patches. As a result, if there is a new vulnerability, the patch information crawling step (step S330) is performed.
  • the new patch's detail page can be accessed via a url, and all of the patch's detail page can be crawled through a python script.
  • patch-related information such as vulnerable contents, vulnerable versions, patched versions, and patch contents can be accessed and identified through html tags.
  • the user goes through the process of searching for the vulnerability and patch information of the printer and verifying the result.
  • Information request and vulnerability / vendor information request is performed in the control server 200.
  • FIG. 13 is a flowchart of a printer vulnerability / patch information retrieval operation.
  • the following steps are performed for the vulnerability / patch information retrieval operation.
  • a user enters a search word to check printer vulnerabilities and patch information.
  • the search term may be IP, IP band, manufacturer, model name, and specific port.
  • the search word is input from the user interface 100, and the user interface 100 may include a web application, a mobile application, a PC application, and the like.
  • the received search word is transmitted to the control server 200.
  • the received search word is transmitted to the control server 200, and the control server 200 requests scan information about the search word from the scan information database 300.
  • the user interface 100 If there is no scan information, the user interface 100 is notified of this and the user interface 100 outputs that there is no printer found.
  • control server 200 If there is scan information in the scan information database 300, the control server 200 requests the vulnerability information and the patch information from the vulnerability information database 400 and the patch information database 500, respectively.
  • the control server 200 collects the response to the request and delivers the vulnerability information and the patch information to the user interface 100.
  • the user interface 100 outputs vulnerability information and patch information about the searched printer.
  • the present invention after scanning the open port of the network printer, the detailed information of the service using the port is acquired, and the vulnerability and vendor information of the printer are collected to provide the user with the vulnerability and patch information of the printer.

Abstract

The present invention relates to a system and method for assessing vulnerability of a network printer using port information. The system comprises a user interface, a control server, a scan information database, a vulnerability information database, a vender information database, a printer scanner, a printer vulnerability information crawler, and a printer vender information crawler, and determines patch information and vulnerability of a printer by scanning an open port of the printer and collecting vulnerability information of the printer and vender information.

Description

네트워크 프린터의 취약점 점검 방법 및 시스템Method and system for checking vulnerability of network printer
본 발명은 네트워크 프린터의 포트 정보를 이용한 취약점 점검 방법 및 시스템에 관한 것이다. The present invention relates to a vulnerability checking method and system using port information of a network printer.
기업, 공공기관, 가정에서는 효율적인 자원 관리와 편리한 이용을 위해 프린터를 인터넷에 연결하여 사용하고 있다. 하지만 인터넷에 연결된 네트워크 프린터는 사용자들이 인지하지 못하는 다양한 펌웨어와 프로토콜에 대한 보안 취약점들이 존재한다. 이러한 펌웨어와 프로토콜의 취약점을 이용하면 프린터의 환경을 통제할 수 있고 출력하는 문서를 가로챌 수도 있으며 프린터가 포함된 네트워크를 공격하기 위한 경유지로 프린터를 활용할 수도 있다. 즉, 프린터의 취약점으로 인해 기업과 공공기관의 기밀문서나 개인의 중요 정보가 외부로 유출되고, 최악의 경우 네트워크망 전체가 공격당할 수 있는 것이다. 사용자는 펌웨어와 프로토콜에 존재하는 취약점으로 인해 다양한 보안 위협에 노출되어 있음에도 불구하고 자신이 노출된 취약점에 대하여 인지하지 못하여 적절한 대응을 하기 어렵다.Companies, public institutions and homes use printers connected to the Internet for efficient resource management and convenient use. However, network printers connected to the Internet have security vulnerabilities for various firmware and protocols that users do not recognize. Vulnerabilities in these firmware and protocols can be used to control the printer's environment, intercept printed documents, and use the printer as a way to attack the network containing the printer. In other words, due to the weakness of the printer, confidential documents or important information of individuals from companies and public institutions can be leaked to the outside, and in the worst case, the entire network can be attacked. Although users are exposed to various security threats due to vulnerabilities in firmware and protocols, users are not aware of the exposed vulnerabilities and are unable to respond appropriately.
특허문헌 1(KR 10-1535622 B1)에서는 공용 프린터 보안 시스템 및 보안 방법을 개시하고 있지만, 이 기술만으로는 네트워크 프린터의 취약점과 패치 정보를 확인하기 어렵다Patent Document 1 (KR 10-1535622 B1) discloses a public printer security system and security method, but it is difficult to identify vulnerability and patch information of a network printer with this technology alone.
본 발명은 사용자가 네트워크 프린터의 취약점과 패치 정보를 용이하게 확인하는 것을 목적으로 한다.An object of the present invention is to allow a user to easily check the vulnerability and patch information of a network printer.
본 발명에 의한 네트워크 프린터의 취약점 점검 시스템은, 사용자의 입력을 받아 프린터에 대한 취약점 관련 정보를 보여주는 사용자인터페이스(100); 통제 서버(200); 스캔 정보 데이터베이스(300); 취약점 정보 데이터베이스(400); 벤더 정보 데이터베이스(500);를 포함하고, 상기 통제 서버(200)는, 사용자 인터페이스(100)에서 사용자 입력을 전달 받아 필요한 스캔 정보를 스캔 정보 데이터베이스(300)에서 전송받고, 이와 관련된 취약점 정보와 벤더 정보를 취약점 정보 데이터베이스(400)와 벤더 정보 데이터베이스(500)에서 전송받아 취합한 후 사용자 인터페이스(100)로 전달하는 것을 특징으로 한다.Vulnerability check system of a network printer according to the present invention, the user interface for receiving the user input showing the vulnerability related information for the printer (100); Control server 200; Scan information database 300; Vulnerability information database 400; And a vendor information database 500, wherein the control server 200 receives user input from the user interface 100 and receives necessary scan information from the scan information database 300, and the vulnerability information and vendor associated therewith. The information is collected and received from the vulnerability information database 400 and the vendor information database 500, and then transferred to the user interface 100.
상기 취약점 점검 시스템은, 프린터의 사용중인 포트 정보를 수집하고 수집한 정보를 스캔 정보 데이터베이스(300)에 전송하여 저장하도록 하는 프린터 스캐너(600)를 추가적으로 더 포함할 수 있다.The vulnerability checking system may further include a printer scanner 600 which collects port information of the printer in use and transmits the collected information to the scan information database 300 to store the collected information.
상기 취약점 점검 시스템은, 기존에 존재하는 프린터의 펌웨어, 프로토콜의 취약점 정보를 수집하여 취약점 정보 데이터베이스(400)에 전송하여 저장하도록 하는 프린터 취약점 정보 크롤러(700)를 추가적으로 더 포함할 수 있다.The vulnerability checking system may further include a printer vulnerability information crawler 700 which collects vulnerability information of the existing firmware and protocol of the printer, and transmits and stores the vulnerability information in the vulnerability information database 400.
상기 취약점 점검 시스템은, 제조사 별 프린터에 사용된 소프트웨어들의 패치 정보를 수집하여 벤더 정보 데이터베이스(800)에 전송하여 저장하도록 하는 프린터 벤더 정보 크롤러(800)를 추가적으로 더 포함할 수 있다.The vulnerability checking system may further include a printer vendor information crawler 800 that collects patch information of software used for printers for each manufacturer, transmits the information to the vendor information database 800, and stores the patch information.
본 발명에 의한 네트워크 프린터의 취약점 점검 방법은, 사용자인터페이스(100), 통제 서버(200), 스캔 정보 데이터베이스(300), 취약점 정보 데이터베이스(400), 벤더 정보 데이터베이스(500), 프린터 스캐너(600), 프린터 취약점 정보 크롤러(700), 프린터 벤더 정보 크롤러(800)를 포함하는 취약점 점검 시스템을 이용한 네트워크 프린터의 취약점 점검 방법에 있어서, 프린터 스캐너(600)에서 수집한 정보를 스캔 정보 데이터베이스(400)에 저장하는 스캔 정보 데이터베이스 저장 단계; 프린터 취약점 정보 크롤러(700)에서 수집한 정보를 취약점 정보 데이터베이스(400)에 저장하는 취약점 정보 데이터베이스 저장 단계; 프린터 벤더 정보 크롤러(800)에서 수집한 정보를 벤더 정보 데이터베이스(500)에 저장하는 벤더 정보 데이터베이스 저장 단계; 상기 통제 서버(200)가, 사용자 인터페이스(100)에서 사용자 입력을 전달 받아 필요한 스캔 정보를 스캔 정보 데이터베이스(300)에서 전송받고, 이와 관련된 취약점 정보와 벤더 정보를 취약점 정보 데이터베이스(400)와 벤더 정보 데이터베이스(500)에서 전송받아 취합한 후 사용자 인터페이스(100)로 전달하는 단계;를 포함하는 것을 특징으로 한다.Vulnerability check method of the network printer according to the present invention, the user interface 100, control server 200, scan information database 300, vulnerability information database 400, vendor information database 500, printer scanner 600 In the vulnerability checking method of a network printer using a vulnerability checking system including a printer vulnerability information crawler 700 and a printer vendor information crawler 800, the information collected by the printer scanner 600 is stored in the scan information database 400. A scan information database storing step of storing; A vulnerability information database storage step of storing information collected by the printer vulnerability information crawler 700 in the vulnerability information database 400; A vendor information database storage step of storing the information collected by the printer vendor information crawler 800 in the vendor information database 500; The control server 200 receives user input from the user interface 100, receives necessary scan information from the scan information database 300, and transmits vulnerability information and vendor information related to the vulnerability information database 400 and vendor information. Collecting the received data from the database 500 and delivering the collected data to the user interface 100.
상기 스캔 정보 데이터베이스 저장 단계는, 호스트 스캔 단계, 호스트 존재 여부 판단 단계, 포트 스캔 단계, 호스트가 프린터인지 여부의 판단 단계, 펌웨어 및 프로토콜 버전 탐지 단계, 데이터베이스 저장 단계를 포함할 수 있다.The step of storing the scan information database may include a host scan step, a host presence determination step, a port scan step, a determination of whether the host is a printer, a firmware and protocol version detection step, and a database storage step.
상기 취약점 정보 데이터베이스 저장 단계는, 취약점 크롤링 단계, 프린터 관련 취약점 판별 단계, 취약점 정보 크롤링 단계, 취약점 번호, 원인, 영향 등 취약점 정보 탐지 단계, 데이터베이스 저장단계를 포함할 수 있다.The vulnerability information database storage step may include a vulnerability crawling step, a printer related vulnerability determination step, a vulnerability information crawling step, a vulnerability information detection step such as a vulnerability number, a cause, and an impact, and a database storing step.
상기 벤더 정보 데이터베이스 저장 단계는, 패치 정보 리스트 확인 단계, 새로운 패치 존재 여부 판별 단계, 패치 정보 크롤링 단계, 취약한 펌웨어 버전, 패치 된 버전 등 패치 정보 탐지 단계, 데이터베이스 저장 단계를 포함할 수 있다.The vendor information database storage step may include a patch information list checking step, a new patch existence determination step, a patch information crawling step, a patch information detection step such as a vulnerable firmware version, a patched version, and a database storing step.
네트워트 프린터의 사용자는 보안 사고가 발생하기 이전에 자신이 사용하는 프린터의 취약점을 발견하고 취약한 부분에 대한 보완을 하여 보안을 강화 할 수 있다. Users of network printers can enhance the security by detecting the vulnerabilities of the printers they use and supplementing the vulnerabilities before a security incident occurs.
도 1은 본 발명에 의한 시스템의 구성도1 is a block diagram of a system according to the present invention
도 2는 사용자 인터페이스의 블록도2 is a block diagram of a user interface
도 3은 통제 서버의 블록도3 is a block diagram of a control server
도 4는 스캔 정보 데이터베이스의 블록도4 is a block diagram of a scan information database.
도 5는 취약점 정보 데이터베이스의 블록도5 is a block diagram of a vulnerability information database
도 6은 벤더 정보 데이터베이스의 블록도6 is a block diagram of a vendor information database.
도 7은 프린터 스캐너의 블록도7 is a block diagram of a printer scanner
도 8은 프린터 취약점 정보 크롤러의 블록도8 is a block diagram of a printer vulnerability information crawler.
도 9는 프린터 벤더 정보 크롤러의 블록도9 is a block diagram of a printer vendor information crawler.
도 10은 프린터 스캐너 동작의 흐름도10 is a flow chart of a printer scanner operation
도 11은 프린터 취약점 정보 크롤러 동작의 흐름도11 is a flowchart of the printer vulnerability information crawler operation
도 12는 프린터 벤더 정보 크롤러 동작의 흐름도12 is a flowchart of a printer vendor information crawler operation.
도 13은 프린터 취약점/패치 정보 검색 동작의 흐름도13 is a flowchart of a printer vulnerability / patch information retrieval operation
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise.
도 1은 본 발명에 의한 시스템의 구성도이다.1 is a block diagram of a system according to the present invention.
본 발명의 시스템은 사용자인터페이스(100), 통제 서버(200), 스캔 정보 데이터베이스(300), 취약점 정보 데이터베이스(400), 벤더 정보 데이터베이스(500), 프린터 스캐너(600), 프린터 취약점 정보 크롤러(700), 프린터 벤더 정보 크롤러(800)로 구성된다.The system of the present invention is a user interface 100, control server 200, scan information database 300, vulnerability information database 400, vendor information database 500, printer scanner 600, printer vulnerability information crawler 700 ), And a printer vendor information crawler 800.
사용자 인터페이스(100)는, 사용자의 입력을 받아 프린터에 대한 취약점 관련 정보를 보여주는 장치이다.The user interface 100 is a device that receives user input and displays vulnerability related information about a printer.
통제 서버(200)는, 사용자 인터페이스(100)에서 사용자 입력을 전달 받아 필요한 스캔 정보를 스캔 정보 데이터베이스(300)에서 전송받고, 이와 관련된 취약점 정보와 벤더 정보를 취약점 정보 데이터베이스(400)와 벤더 정보 데이터베이스(500)에서 전송받아 취합한 후 사용자 인터페이스(100)로 전달하는 장치이다.The control server 200 receives user input from the user interface 100, receives necessary scan information from the scan information database 300, and transmits vulnerability information and vendor information related to the vulnerability information database 400 and the vendor information database. The device receives the collected data from the 500 and delivers it to the user interface 100.
스캔 정보 데이터베이스(300)는, 프린터 스캐너(600)에서 주기적으로 스캔하여 얻은 정보를 저장/관리하며 통제서버(200)로부터 정보 요청이 있을 경우 해당 정보를 전송해주는 장치이다.The scan information database 300 is a device that stores / manages information obtained by periodically scanning the printer scanner 600 and transmits the information when there is a request for information from the control server 200.
취약점 정보 데이터베이스(400)는, 프린터 취약점 정보 크롤러(700)에서 기존에 존재하는 프린터의 펌웨어, 프로토콜의 취약점에 대해 수집한 정보를 저장/관리하며 통제서버로(200)부터 정보 요청이 있을 경우 해당 정보를 전송해주는 장치이다.The vulnerability information database 400 stores / manages information collected about printer firmware and protocol vulnerabilities existing in the printer vulnerability information crawler 700, and when there is a request for information from the control server 200, It is a device that transmits information.
벤더 정보 데이터베이스(500)는, 프린터 벤더 정보 크롤러(800)에서 주기적으로 수집한 제조사 별 프린터에 사용된 소프트웨어들의 패치에 대해 정보를 저장/관리하며 통제서버(200)로부터 정보 요청이 있을 경우 해당 정보를 전송해주는 장치이다.The vendor information database 500 stores / manages information about patches of software used in printers for each manufacturer, which are periodically collected by the printer vendor information crawler 800, and when there is a request for information from the control server 200, the corresponding information. It is a device that transmits.
프린터 스캐너(600)는, 주기적으로 IPv4 대역을 스캔하여 프린터의 사용중인 포트 정보를 수집하고 수집한 정보를 스캔 정보 데이터베이스(300)에 전송하여 저장하도록 하는 장치이다. 여기서의 포트는, 컴퓨터의 주변장치를 접속하기 위해 사용되는 연결 부분을 의미하는 것이 아니라, 통신을 위한 소프트웨어나 서비스의 논리적인 접속장소를 의미한다.The printer scanner 600 is a device that periodically scans an IPv4 band, collects port information of a printer in use, and transmits and stores the collected information to the scan information database 300. The port here does not mean a connection part used to connect a peripheral device of a computer, but rather a logical connection point of software or a service for communication.
프린터 취약점 정보 크롤러(700)는, 주기적으로 기존에 존재하는 프린터의 펌웨어, 프로토콜의 취약점 정보를 수집하여 취약점 정보 데이터베이스(400)에 전송하여 저장하도록 하는 장치이다.The printer vulnerability information crawler 700 is a device that periodically collects vulnerability information of firmware and protocols of existing printers, and transmits and stores the vulnerability information in the vulnerability information database 400.
프린터 벤더 정보 크롤러(800)는, 주기적으로 제조사 별 프린터에 사용된 소프트웨어들의 패치 정보를 수집하여 벤더 정보 데이터베이스(800)에 전송하여 저장하도록 하는 장치이다.The printer vendor information crawler 800 is a device that periodically collects patch information of software used in printers for each manufacturer, and transmits the patch information to the vendor information database 800 for storage.
도 2는 사용자 인터페이스의 블록도이다.2 is a block diagram of a user interface.
사용자 인터페이스(100)는 검색부(110), 출력부(120), 통신부(130)을 포함한다.The user interface 100 includes a search unit 110, an output unit 120, and a communication unit 130.
사용자 인터페이스(100)는, 모바일 애플리케이션, 웹 애플리케이션, PC 등 다양한 형태의 프로그램을 포함할 수 있고, 사용자로부터 검색어를 입력 받아 프린터의 취약점과 패치 정보를 출력하는 역할을 한다.The user interface 100 may include various types of programs, such as a mobile application, a web application, and a PC. The user interface 100 receives a search word from a user and outputs vulnerability and patch information of a printer.
검색부(110)는, 사용자로부터 검색어를 입력 받는데, 검색어는 IP, IP대역, 제조사, 모델명, 특정 포트 등이 될 수 있다. 검색부(110)는 입력 받은 통신부(130)를 통하여 통제 서버(200)로 전달한다.The search unit 110 receives a search word from a user, and the search word may be an IP, an IP band, a manufacturer, a model name, a specific port, or the like. The search unit 110 transmits the input to the control server 200 through the communication unit 130 received.
출력부(120)는, 통신부로부터 프린터의 취약점과 패치 정보를 전달 받아 화면을 통해 출력한다.The output unit 120 receives the vulnerability and patch information of the printer from the communication unit and outputs it through the screen.
통신부(130)는, 검색부(110)를 통해 사용자로부터 입력 받은 검색어를 통제 서버(200)로 전송하는 역할과 통제 서버(200)로부터 전송 받은 프린터의 취약점과 패치 정보를 출력부(120)로 전달하는 역할을 한다.The communication unit 130 transmits the search word input from the user through the search unit 110 to the control server 200 and the vulnerability and patch information of the printer received from the control server 200 to the output unit 120. It serves to convey.
도 3은 통제 서버의 블록도이다.3 is a block diagram of a control server.
통제서버(200)는 통제부(210)과 통신부(220)을 포함한다. The control server 200 includes a control unit 210 and the communication unit 220.
통제부(210)는, 통신부(220)를 통해 사용자 인터페이스로부터 검색어를 전송 받고, 검색어를 이용하여 스캔 정보 데이터베이스(300)에 검색어에 해당하는 프린터 스캔 정보가 있는지 확인하기 위한 요청 메시지를 통신부(220)를 통해 스캔 정보 데이터베이스(220)에 전송한다. 스캔 정보 데이터베이스(300)로부터 스캔 정보를 전송 받으면 이와 관련된 취약점과 패치 정보를 요청하는 메시지를 통신부(220)를 통해 각각 취약점 정보 데이터베이스(400)와 벤더 정보 데이터베이스(500)에 전송한다. 그 후, 취약점 정보 데이터베이스(400)와 벤더 정보 데이터베이스(500)로부터 전송 받은 취약점과 패치 정보를 취합하여 통신부(220)를 통해 사용자 인터페이스(100)로 전송한다.The control unit 210 receives a search word from the user interface through the communication unit 220, and transmits a request message for checking whether there is printer scan information corresponding to the search word in the scan information database 300 using the search word. ) To the scan information database 220. When the scan information is received from the scan information database 300, a message requesting the vulnerability and patch information related thereto is transmitted to the vulnerability information database 400 and the vendor information database 500 through the communication unit 220, respectively. Thereafter, the vulnerability and patch information received from the vulnerability information database 400 and the vendor information database 500 are collected and transmitted to the user interface 100 through the communication unit 220.
통신부(220)는, 통제부(210)에서 전달 받은 요청 메시지를 스캔 정보 데이터베이스(300), 취약점 정보 데이터베이스(400), 벤더 정보 데이터베이스(500)로 전송하고, 요청 메시지에 대한 응답을 전송 받아 통제부(210)로 전달한다.The communication unit 220 transmits the request message received from the control unit 210 to the scan information database 300, the vulnerability information database 400, the vendor information database 500, and receives and responds to the request message. Transfer to section 210.
도 4는 스캔 정보 데이터베이스의 블록도이다.4 is a block diagram of a scan information database.
스캔 정보 데이터베이스(300)는 스캔 정보 관리부(310), 통신부(320)를 포함한다.The scan information database 300 includes a scan information management unit 310 and a communication unit 320.
스캔 정보 관리부(310)는, 통신부(320)를 통해 프린터 스캐너(600)로부터 전송 받은 프린트 스캔 정보를 관리한다. 관리 정보는 프린터의 IP, 펌웨어, 열린 포트와 포트에 대한 서비스, 그리고 이에 대한 상세 버전 정보 등이 될 수 있다.The scan information management unit 310 manages print scan information received from the printer scanner 600 through the communication unit 320. The management information may be the printer's IP, firmware, open ports and services for the ports, and detailed version information thereof.
스캔 정보 관리부(310)는, 통신부(320)를 통해 통제 서버(200)의 스캔 정보 요청 메시지를 수신 받으면 해당 정보를 추출하여 통제 서버(200)로 전송한다.When the scan information management unit 310 receives the scan information request message of the control server 200 through the communication unit 320, the scan information management unit 310 extracts the corresponding information and transmits the information to the control server 200.
통신부(320)는, 프린터 스캐너(600)로부터 전송 받은 스캔 정보를 스캔 정보 관리부(310)로 전달하는 역할과 통제 서버(200)로부터 스캔 정보 요청 메시지를 수신하여 스캔 정보 관리부(310)로 전달하고 이에 대한 응답 메시지를 통제 서버(200)로 송신하는 역할을 한다.The communicator 320 transmits the scan information received from the printer scanner 600 to the scan information management unit 310 and receives a scan information request message from the control server 200 and transmits the scan information request message to the scan information management unit 310. It sends a response message to the control server 200.
도 5는 취약점 정보 데이터베이스의 블록도이다.5 is a block diagram of a vulnerability information database.
취약점 정보 데이터베이스(400)는 취약점 정보 관리부(410), 통신부(420)을 포함한다.The vulnerability information database 400 includes a vulnerability information management unit 410, a communication unit 420.
취약점 정보 관리부(410)는, 통신부(420)를 통해 프린터 취약점 정보 크롤러(700)로부터 전송 받은 취약점 정보를 관리한다. 관리 정보는 취약 대상, 취약 원인, 취약 내용, 공격 유형, 보완 방법 등이 될 수 있다.The vulnerability information management unit 410 manages the vulnerability information received from the printer vulnerability information crawler 700 through the communication unit 420. Management information can be vulnerable targets, vulnerable causes, vulnerable contents, attack types, and complementary methods.
취약점 정보 관리부(410)는, 통신부(420)로부터 통제 서버의 취약점 정보 요청 메시지를 수신 받으면 해당 정보를 추출하여 통제 서버(200)로 전송한다.When the vulnerability information management unit 410 receives the vulnerability information request message of the control server from the communication unit 420, the vulnerability information management unit 410 extracts the information and transmits the information to the control server 200.
통신부(420)는, 프린터 취약점 정보 크롤러(700)로부터 전송 받은 취약점 정보를 취약점 정보 관리부(410)로 전달하는 역할과 통제 서버(200)로부터 취약점 정보 요청 메시지를 수신 받아 취약점 정보 관리부(410)로 전달하고 이에 대한 응답 메시지를 통제 서버(200)로 송신하는 역할을 한다.The communication unit 420 transmits the vulnerability information received from the printer vulnerability information crawler 700 to the vulnerability information management unit 410, and receives the vulnerability information request message from the control server 200 to the vulnerability information management unit 410. It transmits and sends a response message to the control server 200.
도 6은 벤더 정보 데이터베이스의 블록도이다.6 is a block diagram of a vendor information database.
벤더 정보 데이터베이스(500)는 벤더 정보 관리부(510)과 통신부(520)을 포함한다.The vendor information database 500 includes a vendor information management unit 510 and a communication unit 520.
벤더 정보 관리부(510)는, 프린터 벤더 정보 크롤러(800)로부터 수신 받은 벤더 정보를 관리한다. 즉, 벤더 별 펌웨어에 대한 정보, 프린터에서 사용하는 포트의 서비스들에 대한 정보 등을 관리한다.The vendor information management unit 510 manages vendor information received from the printer vendor information crawler 800. That is, it manages the information of the vendor-specific firmware, the information on the services of the port used in the printer.
벤더 정보 관리부(510)는, 통제 서버(200)의 패치 정보 요청 메시지를 수신 받으면 해당 정보를 추출하여 통제 서버(200)로 전송한다.When the vendor information management unit 510 receives the patch information request message of the control server 200, the vendor information management unit 510 extracts the information and transmits the information to the control server 200.
통신부(520)는, 프린터 벤더 정보 크롤러(800)로부터 전송 받은 벤더 정보를 벤더 정보 관리부(510)로 전달하는 역할과 통제 서버(200)로부터 벤더 정보 요청 메시지를 수신 받으면 벤더 정보 관리부(510)로 전달하고 이에 대한 응답 메시지를 통제 서버(200)로 송신하는 역할을 한다.The communication unit 520 serves to deliver the vendor information received from the printer vendor information crawler 800 to the vendor information management unit 510 and, upon receiving the vendor information request message from the control server 200, to the vendor information management unit 510. It transmits and sends a response message to the control server 200.
도 7은 프린터 스캐너의 블록도이다.7 is a block diagram of a printer scanner.
프린터 스캐너(600)는 스캔 정잭 결정부(610), 패킷 생성부(620), 패킷 분석부(630), 통신부(640)을 포함한다.The printer scanner 600 includes a scan operation determining unit 610, a packet generator 620, a packet analyzer 630, and a communication unit 640.
프린터 스캐너(600)는 포트를 스캔하는 장치이므로, 프린터 포트 스캐너 또는 프린터 포트 수집기라고 부를 수도 있다.Since the printer scanner 600 is a device for scanning ports, it may be referred to as a printer port scanner or a printer port collector.
스캔 정책 결정부(610)는, 스캔을 하기 위한 IP주소의 범위, 스캔 방식, 포트의 범위, 프로토콜 등을 결정한다. 이러한 결정은 관리자의 설정이나 수신된 응답 패킷을 통하여 이루어진다.The scan policy determination unit 610 determines a range of IP addresses, a scan method, a range of ports, a protocol, and the like for scanning. This decision is made through the administrator's settings or the received response packet.
스캔 정책 결정부(610)는, 호스트 스캔 정책을 결정하여 패킷 생성부(620)에 전달한다. 호스트 스캔 정책은 호스트 스캔 시 IP 주소 범위와 IP 접근 방식(랜덤 혹은 순차), 스캔 방식(ARP, TCP, ICMP 등)을 결정한다. 패킷 분석부(630)에서 호스트 스캔의 응답 패킷을 확인하여 호스트 스캔 정보를 스캔 정책 결정부(610)에 전달하는 방식으로 포트 스캔이 수행된다.The scan policy determiner 610 determines the host scan policy and transmits the packet to the packet generator 620. The host scan policy determines the IP address range, IP approach (random or sequential), and scan method (ARP, TCP, ICMP, etc.) during host scan. The packet analyzer 630 checks the response packet of the host scan and transmits the host scan information to the scan policy determiner 610.
스캔 정책 결정부(610)는, 포트 스캔 정책을 결정하여 패킷 생성부(620)에 전달한다. 포트 스캔 시 프린터에서 주로 사용하는 21(ftp), 80(hhtp), 443(https), 515(printer), 9100(jetdirect), 427(svrloc), 631(ipp), 79(finger), 4000(remoteanything), 5000(upnp), 5001(complex-link), 9500(ismserver) 등의 포트 중 스캔할 포트와 스캔 방식(TCP SYN, TCP, UDP 등)을 결정한다. 포트 스캔에 관한 응답을 패킷 분석부(630)에서 분석하여 호스트가 프린터인 것을 확인하고 포트 스캔 정보를 스캔 정책 결정부(610)에 전달하면 펌웨어 및 프로토콜 버전 탐지를 수행한다.The scan policy determiner 610 determines the port scan policy and transmits it to the packet generator 620. 21 (ftp), 80 (hhtp), 443 (https), 515 (printer), 9100 (jetdirect), 427 (svrloc), 631 (ipp), 79 (finger), and 4000 ( Remoteanything), 5000 (upnp), 5001 (complex-link), 9500 (ismserver), etc. Ports to scan and scan methods (TCP SYN, TCP, UDP, etc.) are determined. The packet analysis unit 630 analyzes the response regarding the port scan, confirms that the host is a printer, and transmits the port scan information to the scan policy determination unit 610 to perform firmware and protocol version detection.
스캔 정책 결정부(610)는, 펌웨어 및 프로토콜 버전 탐지 정책을 결정하여 패킷 생성부(620)에 전달한다. 펌웨어 및 프로토콜 버전을 탐지에서 각각의 프로토콜마다 어떤 과정을 통하여 상세 정보를 수집할지 결정한다.The scan policy determiner 610 determines the firmware and protocol version detection policy and transmits it to the packet generator 620. Detecting firmware and protocol versions determines how to collect detailed information for each protocol.
프로토콜마다 정보를 수집하는 방법이 상이하다. Different protocols collect information differently.
예를 들어, 443(https) 포트를 사용하는 ssl/tls의 경우 핸드셰이킹 과정에서 버전, 인증서, 암호 알고리즘 등의 정보를 수집할 수 있다.For example, ssl / tls using port 443 (https) can collect information such as version, certificate, and encryption algorithm during handshaking.
패킷 생성부(620)는, 스캔 정책 결정부에서 전달된 정책을 기반으로 패킷을 생성 하여 통신부(640)로 전달한다.The packet generator 620 generates a packet based on the policy transmitted from the scan policy determiner and transmits the packet to the communication unit 640.
패킷 분석부(630)는, 통신부(640)에서 수신한 호스트 스캔, 포트 스캔, 펌웨어 및 프로토콜 버전 탐지의 응답 패킷을 분석하고, 호스트 스캔의 응답 패킷일 경우 호스트 스캔 정보를 스캔 정책 결정부(610)로 전달하고, 포트 스캔의 응답 패킷일 경우 호스트가 프린터인지를 확인하여 프린터일 경우 포트 스캔 정보를 스캔 정책 결정부(610)로 전달한다. 515(printer), 9100(jetdirect), 631(ipp) 포트가 열려 있을 경우 호스트를 프린터로 식별할 수 있다.The packet analyzer 630 analyzes the response packet of the host scan, the port scan, the firmware, and the protocol version detection received by the communication unit 640, and scans the host scan information in the case of the response packet of the host scan. In case of the printer, the port scan information is transmitted to the scan policy determination unit 610. If the 515 (printer), 9100 (jetdirect), or 631 (ipp) ports are open, the host can be identified as a printer.
펌웨어 및 프로토콜 버전 탐지의 응답 패킷일 경우 패킷의 상세 정보를 추출한 후 통신부를 통하여 스캔 정보 데이터베이스에 저장한다.In case of response packet of firmware and protocol version detection, detailed information of the packet is extracted and stored in the scan information database through the communication unit.
통신부(640)는, 패킷 생성부(620)에서 생성된 패킷들을 전송하고 이에 대한 응답 패킷을 수신하여 패킷 분석부(630)로 전달하는 역할과 패킷 분석부(630)에서 추출한 상세 정보를 전달받아 스캔 정보 데이터베이스(300)에 전송하는 역할을 한다.The communication unit 640 transmits the packets generated by the packet generation unit 620, receives a response packet, and delivers the response packets to the packet analysis unit 630, and receives the detailed information extracted by the packet analysis unit 630. It serves to transmit to the scan information database (300).
도 8은 프린터 취약점 정보 크롤러의 블록도이다.8 is a block diagram of a printer vulnerability information crawler.
프린터 취약점 정보 크롤러(700)은 정보 수집부(710), 취약점 정보 비교부(720), 취약점 정보 탐지부(730), 통신부(740)을 포함한다.The printer vulnerability information crawler 700 includes an information collecting unit 710, a vulnerability information comparing unit 720, a vulnerability information detecting unit 730, and a communication unit 740.
정보 수집부(710)는 프린터 취약점 DB 사이트의 url을 관리하고, 취약점 DB 사이트의 url에 접근하여 페이지의 html 소스를 수집하여 취약점 정보 비교부(720)로 전달한다.The information collecting unit 710 manages the url of the printer vulnerability DB site, collects the html source of the page by accessing the url of the vulnerability DB site, and delivers it to the vulnerability information comparison unit 720.
취약점 정보 비교부(720)는, 정보 수집부(710)로부터 전달받은 정보 중 'printer', hp, brother 등 프린터 제조사명 및 lpd, ipp 등 프린터 관련 프로토콜 등 프린터 관련 키워드를 포함하고 있는지를 비교한다. 프린터 관련 키워드를 포함하고 있을 경우 프린터 취약점으로 식별하여 취약점 상세 페이지 링크 url을 취약점 정보 탐지부(730)로 전달한다.The vulnerability information comparison unit 720 compares whether the information received from the information collection unit 710 includes printer related keywords such as printer manufacturer names such as 'printer', hp and brother, and printer related protocols such as lpd and ipp. . If a printer-related keyword is included, the printer vulnerabilities are identified as printer vulnerabilities and transmitted to the vulnerability information detection unit 730.
취약점 정보 탐지부(730)는, 벤더 정보 비교부로부터 전달받은 url에 접근하여 페이지의 html 소스를 수집하고, 수집한 정보를 html parser를 이용해 분석하여 취약점 이름, 위협, 영향 등 필요한 정보들을 식별하여 통신부(740)로 전달한다.The vulnerability information detection unit 730 collects the html source of the page by accessing the url received from the vendor information comparison unit, analyzes the collected information using an html parser, and identifies necessary information such as a vulnerability name, threat, and impact. Transfer to the communication unit 740.
통신부(740)는, 취약점 정보 탐지부로부터 전달받은 식별된 취약점 정보를 취약점 정보 데이터베이스로 전송하는 역할을 한다.The communication unit 740 serves to transmit the identified vulnerability information received from the vulnerability information detection unit to the vulnerability information database.
도 9는 프린터 벤더 정보 크롤러의 블록도이다.9 is a block diagram of a printer vendor information crawler.
프린터 벤더 정보 크롤러(800)는 정보 수집부(810), 벤더 정보 비교부(820), 벤더 정보 탐지부(830), 통신부(840)을 포함한다.The printer vendor information crawler 800 includes an information collecting unit 810, a vendor information comparing unit 820, a vendor information detecting unit 830, and a communication unit 840.
정보 수집부(810)는, 프린터 벤더 패치 사이트 url을 관리하고, 벤더 패치 사이트의 url에 접근하여 페이지의 html 소스를 수집하여 벤더 정보 비교부(820)로 전달한다.The information collecting unit 810 manages the printer vendor patch site url, accesses the url of the vendor patch site, collects the html source of the page, and delivers the html source to the vendor information comparing unit 820.
벤더는, 프린터의 기본이 되는 펌웨어나 소프트웨어의 정보를 가지고 있는 프린터 제조사나 프린터에서 사용되는 소프트웨어를 제작하는 제조사나 공급자를 의미한다. Vendor means a printer manufacturer that has information on firmware or software that is the basis of the printer, or a manufacturer or supplier who manufactures software used in the printer.
벤더 벤더 정보 비교부(820)는, 통신부(840)를 통해 벤더 정보 데이터베이스(500)로부터 기존 패치 리스트를 전송 받고, 정보 수집부(810)로부터 전달받은 정보를 html parser를 이용해 분석하여 패치 리스트를 식별한다. 그 후에, 식별한 패치 리스트와 기존 패치 리스트를 비교하여 새로운 패치가 존재하는지 비교한다. 새로운 패치가 존재할 경우 새로운 패치의 태그를 확인하여 상세 페이지 링크 url을 벤더 정보 탐지부(830)로 전달한고, 식별한 패치 리스트는 통신부(840)으로 전달한다.The vendor vendor information comparing unit 820 receives an existing patch list from the vendor information database 500 through the communication unit 840, analyzes the information received from the information collecting unit 810 using an html parser, and analyzes the patch list. To identify. Thereafter, the identified patch list is compared with the existing patch list to compare whether a new patch exists. If a new patch exists, the tag of the new patch is checked and the detailed page link url is transmitted to the vendor information detector 830, and the identified patch list is transmitted to the communication unit 840.
벤더 정보 탐지부(830)는, 벤더 정보 비교부(820)로부터 전달받은 url에 접근하여 페이지의 html 소스를 수집하고, 수집한 정보를 html parser를 이용해 분석하여 패치 버전, 취약점 이름, 취약한 모델 등 필요한 정보들을 식별하여 통신부(840)로 전달한다.The vendor information detection unit 830 collects the html source of the page by accessing the url received from the vendor information comparison unit 820 and analyzes the collected information by using the html parser to patch, the vulnerability name, the vulnerable model, and the like. The necessary information is identified and transferred to the communication unit 840.
통신부(840)는, 벤더 정보 탐지부(830)로부터 전달받은 식별된 정보들과 벤더 정보 비교부(820)로부터 전달받은 패치 리스트를 벤더 정보 데이터베이스(500)로 전송한다.The communication unit 840 transmits the identified information received from the vendor information detection unit 830 and the patch list received from the vendor information comparison unit 820 to the vendor information database 500.
본 발명의 시스템은 크게 2가지 기능을 가진다.The system of the present invention has two functions.
첫 번째 기능은, 스캐너와 크롤러가 각종 정보(스캔 정보, 취약점 정보, 벤더 별 패치 정보)를 수집하고 각각의 데이터베이스에 저장하는 기능이다.The first function is to collect scanners and crawlers (scan information, vulnerability information, vendor-specific patch information) and store them in their respective databases.
두 번째 기능은, 사용자에게 프린터의 취약점 정보와 패치 정보를 제공해주는 기능이다.The second function is to provide the printer with vulnerability information and patch information.
각종 정보(스캔 정보, 취약점 정보, 벤더 별 패치 정보)를 수집하고 각각의 데이터베이스에 저장하는 기능을 달성하기 위해서는, 사용자에게 프린터의 취약점과 패치 정보를 제공하기 위하여 프린터 스캔 정보, 취약점 정보, 벤더 별 패치 정보를 수집하는 과정과 자동화된 프로그램을 사용하여 주기적으로 정보를 수집하여 데이터베이스에 저장하는 과정이 필요하다.To achieve the function of collecting various information (scan information, vulnerability information, vendor patch information) and storing it in each database, printer scan information, vulnerability information, and vendor information to provide the user with the vulnerability and patch information of the printer. It is necessary to collect the patch information and to periodically collect the information using an automated program and store it in the database.
프린터 스캐너에서 수집한 정보를 스캔 정보 데이터베이스에 저장하는 과정을 살펴보면 다음과 같다.The process of storing the information collected by the printer scanner in the scan information database is as follows.
도 10은 프린터 스캐너 동작의 흐름도이다.10 is a flowchart of a printer scanner operation.
도 10에 표시된 바와 같이 프린터 스캐너 동작을 위해서는 다음의 단계를 거치게 된다.As shown in FIG. 10, the following steps are required for the printer scanner operation.
1) 호스트 스캔 단계(S110 단계)1) Host scan step (step S110)
스캐너(600)는 IPv4 대역의 IP를 대상으로 랜덤 혹은 순차적으로 호스트가 존재하는지 여부를 확인한다. 호스트를 발견하기 위한 방법은 ARP 요청, TCP, ICMP 등 다양한 방법으로 진행할 수 있다.The scanner 600 checks whether a host exists randomly or sequentially for the IP of the IPv4 band. The method for discovering a host can be performed by various methods such as ARP request, TCP, and ICMP.
2) 호스트 존재 여부 판단 단계(S120 단계)2) determining whether the host exists (step S120)
호스트가 존재할 경우 다음 단계인 포트 스캔 단계(S130 단계)로 진행하고, 존재하지 않을 경우 종료한다.If the host exists, the process proceeds to the next step, the port scan step (step S130), and terminates if it does not exist.
3) 포트 스캔 단계(S130 단계)3) Port Scan Step (Step S130)
발견된 호스트를 대상으로 포트 스캔을 진행하는 단계이다. 스캔 방식은 TCP SYN, TCP, UDP 등 다양한 방식으로 진행할 수 있다. 프린터에서 사용될 수 있는 21(ftp), 80(hhtp), 443(https), 515(printer), 9100(jetdirect), 427(svrloc), 631(ipp), 79(finger), 4000(remoteanything), 5000(upnp) 등의 포트들을 스캔한다.This step is to perform a port scan on the discovered host. The scan method may be performed in various ways such as TCP SYN, TCP, UDP, and the like. 21 (ftp), 80 (hhtp), 443 (https), 515 (printer), 9100 (jetdirect), 427 (svrloc), 631 (ipp), 79 (finger), 4000 (remoteanything), Scan ports such as 5000 (upnp).
4) 호스트가 프린터인지 여부의 판단 단계(S140 단계)4) Step of determining whether the host is a printer (step S140)
프린터의 경우 위 포트 중 515, 631, 9100 포트가 열려있고, 이를 통해 호스트가 프린터인 것을 확인하면 다음 단계인 펌웨어 및 프로토콜 버전 탐지 단계(S150단계)로 진행하고, 프린터가 아닐 경우 종료한다.In the case of the printer, the ports 515, 631, and 9100 of the above ports are open, and if it is confirmed that the host is the printer, the process proceeds to the next step of firmware and protocol version detection (step S150), and ends if not the printer.
5) 펌웨어 및 프로토콜 버전 탐지 단계(S150 단계)5) Firmware and protocol version detection step (step S150)
열린 포트를 이용하여 프린터로 확인된 호스트에 대하여 사용중인 서비스의 버전을 자세히 조사하는 단계이다.Investigate the version of the service being used for the host identified by the printer using the open port.
버전 정보를 수집하기 위한 프로브 패킷은 프로토콜마다 다르다.Probe packets for collecting version information are protocol specific.
예를 들어, 443(https) 포트를 사용하는 ssl/tls의 경우 핸드셰이킹 과정에서 버전 정보, 인증서, 암호 알고리즘 등의 정보를 수집할 수 있다.For example, ssl / tls using port 443 (https) can collect version information, certificates, cryptographic algorithms, etc. during handshaking.
프로토콜마다 다양한 프로브 패킷을 생성하여 포트를 사용하는 서비스들의 자세한 정보를 수집한다.Various probe packets are generated for each protocol to collect detailed information of services using the port.
6) 데이터베이스 저장 단계(S160 단계)6) Database storage step (step S160)
이전 단계에서 호스트 별로 어떤 서비스들을 사용하는지에 대하여 수집한 정보를 스캔 정보 데이터베이스에 저장한다.In the previous step, the information collected about which services are used for each host is stored in a scan information database.
프린터 취약점 정보 크롤러에서 수집한 정보를 취약점 정보 데이터베이스에 저장하는 과정을 살펴보면 다음과 같다.The process of storing the information collected by the printer vulnerability information crawler in the vulnerability information database is as follows.
도 11은 프린터 취약점 정보 크롤러 동작의 흐름도이다.11 is a flowchart of a printer vulnerability information crawler operation.
도 11에 표시된 바와 같이 프린터 취약점 정보 크롤러 동작을 위해서는 다음의 단계를 거치게 된다.As shown in FIG. 11, the following steps are required for a printer vulnerability information crawler operation.
1) 취약점 크롤링 단계(S210 단계) 1) Crawl Vulnerability (S210)
프린터 취약점 정보 크롤러(700)는 취약점 DB 사이트 url을 통해 취약점 리스트에 접근할 수 있다. 취약점 리스트의 취약점이름과 취약점 설명 요약을 python 스크립트를 통해 크롤링 할 수 있다.Printer vulnerability information crawler 700 can access the list of vulnerabilities through the vulnerable DB site url. Vulnerability names and summary of vulnerabilities in the vulnerability list can be crawled using python scripts.
2) 프린터 관련 취약점 판별 단계(S220 단계) 2) Printer related vulnerability determination step (step S220)
크롤링한 취약점 이름과 설명 요약 중 printer관련 키워드 검사를 통해 프린터 관련 취약점을 식별할 수 있다.Printer-related vulnerabilities can be identified by checking the printer-related keyword in the crawled vulnerability name and description summary.
취약점 이름과 설명 요약 중 printer나 hp, brother와 같은 프린터 제조사, ipp, jetdirect등 프린터 관련 프로토콜 등의 키워드 포함 여부를 검사한다. 프린터 관련 키워드를 포함한 경우 프린터 관련 취약점으로 인식하여서 취약점 정보 크롤링 단계(S230 단계)로 넘어가고, 그렇지 않을 경우 종료한다.In the summary of vulnerability names and descriptions, check whether keywords such as printer, printer manufacturers such as hp and brother, printer related protocols such as ipp and jetdirect are included. If the printer-related keyword is included, it is recognized as a printer-related vulnerability, and the process proceeds to the crawling of the vulnerability information (step S230).
3) 취약점 정보 크롤링 단계(S230 단계)3) Crawl Vulnerability Information (Step S230)
프린터 취약점으로 식별된 취약점의 상세 페이지에 url을 통해 접근할 수 있다. 취약점 상세 페이지의 모든 내용을 python 스크립트를 통해 크롤링할 수 있다.The detail page of the vulnerability identified as the printer vulnerability can be accessed via url. The entire contents of the vulnerability details page can be crawled by python scripts.
4) 취약점 번호, 원인, 영향 등 취약점 정보 탐지 단계(S240 단계)4) Vulnerability information detection step such as vulnerability number, cause, impact (step S240)
크롤링한 데이터에서 취약점 이름, 설명, 영향, 위협 등 취약점 정보에 html 태그를 통해 접근하여 식별할 수 있다.In the crawled data, vulnerability information such as vulnerability name, description, impact, and threat can be accessed and identified through html tags.
5) 데이터베이스 저장단계(S250 단계)5) Database storage step (S250 step)
식별된 취약점 정보를 데이터베이스에 저장하고 종료한다.Save the identified vulnerability information in the database and exit.
프린터 벤더 정보 크롤러(800)에서 수집한 정보를 벤더 정보 데이터베이스에 저장하는 과정을 살펴보면 다음과 같다.Looking at the process of storing the information collected by the printer vendor information crawler 800 in the vendor information database as follows.
도 12는 프린터 벤더 정보 크롤러 동작의 흐름도이다.12 is a flowchart of a printer vendor information crawler operation.
도 12에 표시된 바와 같이 프린터 벤더 정보 크롤러 동작을 위해서는 다음의 단계를 거치게 된다.As shown in FIG. 12, the following steps are performed for the printer vendor information crawler operation.
1) 패치 정보 리스트 확인 단계(S310 단계)1) patch information list check step (step S310)
프린터 벤더 정보 크롤러(800)는 프린터 제조사 사이트 url을 통해 패치 정보 리스트에 접근할 수 있다. 따라서 패치 리스트를 python 스크립트를 통해 크롤링 할 수 있다.The printer vendor information crawler 800 may access the patch information list through the printer manufacturer site url. Therefore, the patch list can be crawled through python scripts.
2) 새로운 패치 존재 여부 판별 단계(S320 단계)2) Step of determining whether a new patch exists (step S320)
크롤링한 패치들을 기존 데이터베이스에 저장되어 있는 패치들과 비교하여 새로운 패치 존재 여부를 검사한다. 그 결과, 새로운 취약점이 있을 경우 패치 정보 크롤링 단계(S330 단계)를 수행하고, 그렇지 않을 경우 종료한다.The crawled patches are compared to the ones stored in the existing database to check for the existence of new patches. As a result, if there is a new vulnerability, the patch information crawling step (step S330) is performed.
3) 패치 정보 크롤링 단계(S330 단계)3) Patch information crawl step (step S330)
새로운 패치의 상세 페이지에 url을 통해 접근할 수 있고, 패치 상세 페이지의 모든 내용을 python 스크립트를 통해 크롤링 할 수 있다.The new patch's detail page can be accessed via a url, and all of the patch's detail page can be crawled through a python script.
4) 취약한 펌웨어 버전, 패치 된 버전 등 패치 정보 탐지 단계(S340 단계)4) Patch information detection step such as vulnerable firmware version and patched version (step S340)
크롤링한 데이터에서 패치된 취약점 내용, 취약한 버전, 패치된 버전, 패치 내용 등 패치 관련 정보에 html 태그를 통해 접근하여 식별할 수 있다.In the crawled data, patch-related information such as vulnerable contents, vulnerable versions, patched versions, and patch contents can be accessed and identified through html tags.
5) 데이터베이스 저장 단계(S350 단계)5) Database storage step (S350 step)
식별된 취약점 정보를 데이터베이스에 저장하고 종료한다.Save the identified vulnerability information in the database and exit.
프린터의 취약점 정보와 패치 정보를 사용자에게 제공하기 위해서는, 사용자가 프린터의 취약점과 패치 정보를 검색하여 결과를 확인하는 과정을 거치게 되는데, 프린터 검색과 결과 출력은 사용자 인터페이스(100)에서 수행되며, 스캔 정보 요청과 취약점/벤더 정보 요청은 통제 서버(200)에서 수행된다.In order to provide the vulnerability information and patch information of the printer to the user, the user goes through the process of searching for the vulnerability and patch information of the printer and verifying the result. Information request and vulnerability / vendor information request is performed in the control server 200.
도 13은 프린터 취약점/패치 정보 검색 동작의 흐름도이다.13 is a flowchart of a printer vulnerability / patch information retrieval operation.
도 13에 표시된 바와 같이 취약점/패치 정보 검색 동작을 위해서는 다음의 단계를 거치게 된다.As shown in FIG. 13, the following steps are performed for the vulnerability / patch information retrieval operation.
1) 프린터 검색 단계(S410 단계)1) Printer Search Step (Step S410)
사용자가 프린터의 취약점과 패치 정보를 확인하기 위하여 검색어를 입력하는 단계이다. 검색어는 IP, IP대역, 제조사, 모델명, 특정 포트 등이 될 수 있다.In this step, a user enters a search word to check printer vulnerabilities and patch information. The search term may be IP, IP band, manufacturer, model name, and specific port.
검색어는 사용자 인터페이스(100)에서 입력 받으며, 사용자 인터페이스(100)는 웹 애플리케이션, 모바일 애플리케이션, PC 애플리케이션 등을 포함할 수 있다.The search word is input from the user interface 100, and the user interface 100 may include a web application, a mobile application, a PC application, and the like.
입력 받은 검색어는 통제 서버(200)로 전달된다.The received search word is transmitted to the control server 200.
2) 스캔 정보 요청(S420 단계)2) Scan Information Request (Step S420)
입력 받은 검색어는 통제 서버(200)로 전달되며, 통제 서버(200)는 스캔 정보 데이터베이스(300)에 검색어에 대한 스캔 정보를 요청한다.The received search word is transmitted to the control server 200, and the control server 200 requests scan information about the search word from the scan information database 300.
3) 요청 정보 존재 여부 확인 단계(S430 단계)3) Step of checking the existence of the request information (step S430)
스캔 정보가 없을 경우, 사용자 인터페이스(100)에 이를 알리고 사용자 인터페이스(100)는 검색된 프린터가 없음을 출력한다.If there is no scan information, the user interface 100 is notified of this and the user interface 100 outputs that there is no printer found.
4) 취약점 / 벤더 정보 요청(S440 단계)4) Vulnerability / Vendor Information Request (S440 Step)
통제 서버(200)는 스캔 정보 데이터베이스(300)에 해당 스캔 정보가 있을 경우 취약점 정보 데이터베이스(400)와 패치 정보 데이터베이스(500)에 각각 취약점 정보와 패치 정보를 요청한다.If there is scan information in the scan information database 300, the control server 200 requests the vulnerability information and the patch information from the vulnerability information database 400 and the patch information database 500, respectively.
통제 서버(200)는 요청에 대한 응답을 취합하여 사용자 인터페이스(100)에 취약점 정보와 패치 정보를 전달한다.The control server 200 collects the response to the request and delivers the vulnerability information and the patch information to the user interface 100.
4) 결과 출력 단계(S450 단계)4) Result output step (step S450)
사용자 인터페이스(100)는 검색한 프린터에 대한 취약점 정보와 패치 정보를 출력한다.The user interface 100 outputs vulnerability information and patch information about the searched printer.
그 결과, 본 발명에서는 네트워크 프린터의 열린 포트를 스캔한 후 포트를 사용하는 서비스의 상세 정보를 획득하고 프린터의 취약점과 벤더 정보를 수집하여 사용자에게 프린터의 취약점과 패치 정보를 제공하게 된다.As a result, in the present invention, after scanning the open port of the network printer, the detailed information of the service using the port is acquired, and the vulnerability and vendor information of the printer are collected to provide the user with the vulnerability and patch information of the printer.

Claims (8)

  1. 사용자의 입력을 받아 프린터에 대한 취약점 관련 정보를 보여주는 사용자인터페이스(100);A user interface 100 which receives a user input and shows information related to a vulnerability of a printer;
    통제 서버(200);Control server 200;
    스캔 정보 데이터베이스(300);Scan information database 300;
    취약점 정보 데이터베이스(400);Vulnerability information database 400;
    벤더 정보 데이터베이스(500);Vendor information database 500;
    를 포함하고,Including,
    상기 통제 서버(200)는, 사용자 인터페이스(100)에서 사용자 입력을 전달 받아 필요한 스캔 정보를 스캔 정보 데이터베이스(300)에서 전송받고, 이와 관련된 취약점 정보와 벤더 정보를 취약점 정보 데이터베이스(400)와 벤더 정보 데이터베이스(500)에서 전송받아 취합한 후 사용자 인터페이스(100)로 전달하는 것을 특징으로 하는 네트워크 프린터의 취약점 점검 시스템.The control server 200 receives user input from the user interface 100, receives necessary scan information from the scan information database 300, and transmits vulnerability information and vendor information related to the vulnerability information database 400 and vendor information. System for vulnerability check of a network printer, characterized in that received from the database 500, collected and delivered to the user interface (100).
  2. 청구항 1에 있어서, The method according to claim 1,
    프린터의 사용중인 포트 정보를 수집하고 수집한 정보를 스캔 정보 데이터베이스(300)에 전송하여 저장하도록 하는 프린터 스캐너(600)를 추가적으로 더 포함하는 것을 특징으로 하는 네트워크 프린터의 취약점 점검 시스템.And a printer scanner (600) for collecting and storing the port information of the printer and transmitting the collected information to the scan information database (300).
  3. 청구항 1에 있어서, The method according to claim 1,
    기존에 존재하는 프린터의 펌웨어, 프로토콜의 취약점 정보를 수집하여 취약점 정보 데이터베이스(400)에 전송하여 저장하도록 하는 프린터 취약점 정보 크롤러(700)를 추가적으로 더 포함하는 것을 특징으로 하는 네트워크 프린터의 취약점 점검 시스템.Vulnerability check system for a network printer, characterized in that it further comprises a printer vulnerability information crawler (700) to collect and transmit the vulnerability information of the existing firmware, protocol of the printer to the vulnerability information database (400).
  4. 청구항 1에 있어서, The method according to claim 1,
    제조사 별 프린터에 사용된 소프트웨어들의 패치 정보를 수집하여 벤더 정보 데이터베이스(500)에 전송하여 저장하도록 하는 프린터 벤더 정보 크롤러(800)를 추가적으로 더 포함하는 것을 특징으로 하는 네트워크 프린터의 취약점 점검 시스템.The system further includes a printer vendor information crawler (800) which collects patch information of software used in printers for each manufacturer, and transmits the stored information to the vendor information database (500).
  5. 사용자인터페이스(100), 통제 서버(200), 스캔 정보 데이터베이스(300), 취약점 정보 데이터베이스(400), 벤더 정보 데이터베이스(500), 프린터 스캐너(600), 프린터 취약점 정보 크롤러(700), 프린터 벤더 정보 크롤러(800)를 포함하는 취약점 점검 시스템을 이용한 네트워크 프린터의 취약점 점검 방법에 있어서,User interface 100, control server 200, scan information database 300, vulnerability information database 400, vendor information database 500, printer scanner 600, printer vulnerability information crawler 700, printer vendor information In the vulnerability check method of a network printer using a vulnerability check system including a crawler (800),
    프린터 스캐너(600)에서 수집한 정보를 스캔 정보 데이터베이스(400)에 저장하는 스캔 정보 데이터베이스 저장 단계;A scan information database storage step of storing the information collected by the printer scanner 600 in the scan information database 400;
    프린터 취약점 정보 크롤러(700)에서 수집한 정보를 취약점 정보 데이터베이스(400)에 저장하는 취약점 정보 데이터베이스 저장 단계;A vulnerability information database storage step of storing information collected by the printer vulnerability information crawler 700 in the vulnerability information database 400;
    프린터 벤더 정보 크롤러(800)에서 수집한 정보를 벤더 정보 데이터베이스(500)에 저장하는 벤더 정보 데이터베이스 저장 단계;A vendor information database storage step of storing the information collected by the printer vendor information crawler 800 in the vendor information database 500;
    상기 통제 서버(200)가, 사용자 인터페이스(100)에서 사용자 입력을 전달 받아 필요한 스캔 정보를 스캔 정보 데이터베이스(300)에서 전송받고, 이와 관련된 취약점 정보와 벤더 정보를 취약점 정보 데이터베이스(400)와 벤더 정보 데이터베이스(500)에서 전송받아 취합한 후 사용자 인터페이스(100)로 전달하는 단계;를The control server 200 receives user input from the user interface 100, receives necessary scan information from the scan information database 300, and transmits vulnerability information and vendor information related to the vulnerability information database 400 and vendor information. Receiving the collected data from the database 500 and delivering the collected data to the user interface 100;
    포함하는 것을 특징으로 하는 네트워크 프린터의 취약점 점검 방법.How to check the vulnerability of a network printer, comprising.
  6. 청구항 5에 있어서, The method according to claim 5,
    상기 스캔 정보 데이터베이스 저장 단계는,The scan information database storage step,
    호스트 스캔 단계, 호스트 존재 여부 판단 단계, 포트 스캔 단계, 호스트가 프린터인지 여부의 판단 단계, 펌웨어 및 프로토콜 버전 탐지 단계, 데이터베이스 저장 단계를 포함하는 것을 특징으로 하는 네트워크 프린터의 취약점 점검 방법.A method for checking vulnerability of a network printer, comprising a host scanning step, a host presence determining step, a port scanning step, a determining step of determining whether a host is a printer, a firmware and protocol version detection step, and a database storing step.
  7. 청구항 5에 있어서, The method according to claim 5,
    상기 취약점 정보 데이터베이스 저장 단계는,The vulnerability information database storage step,
    취약점 크롤링 단계, 프린터 관련 취약점 판별 단계, 취약점 정보 크롤링 단계, 취약점 번호, 원인, 영향 등 취약점 정보 탐지 단계, 데이터베이스 저장단계를 포함하는 것을 특징으로 하는 네트워크 프린터의 취약점 점검 방법.Vulnerability checking method of the network printer, comprising the steps of crawling the vulnerability, determining the vulnerability associated with the printer, crawling the vulnerability information, vulnerability number detection, such as vulnerability number, cause, impact, and database storage.
  8. 청구항 5에 있어서, The method according to claim 5,
    상기 벤더 정보 데이터베이스 저장 단계는,The vendor information database storage step,
    패치 정보 리스트 확인 단계, 새로운 패치 존재 여부 판별 단계, 패치 정보 크롤링 단계, 취약한 펌웨어 버전, 패치 된 버전 등 패치 정보 탐지 단계, 데이터베이스 저장 단계를 포함하는 것을 특징으로 하는 네트워크 프린터의 취약점 점검 방법.Checking patch information list, Determining whether a new patch exists, Patch information crawling step, Vulnerable firmware version, Patch information detection step including patched version, Database saving step, comprising the steps of saving the database.
PCT/KR2017/001563 2016-02-15 2017-02-13 System and method for assessing vulnerability of network printer WO2017142276A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2016-0016899 2016-02-15
KR20160016899 2016-02-15
KR10-2016-0023048 2016-02-26
KR1020160023048A KR101792235B1 (en) 2016-02-15 2016-02-26 Method and system for scanning vulnerability of the network printer

Publications (1)

Publication Number Publication Date
WO2017142276A1 true WO2017142276A1 (en) 2017-08-24

Family

ID=59625300

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/001563 WO2017142276A1 (en) 2016-02-15 2017-02-13 System and method for assessing vulnerability of network printer

Country Status (1)

Country Link
WO (1) WO2017142276A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060191010A1 (en) * 2005-02-18 2006-08-24 Pace University System for intrusion detection and vulnerability assessment in a computer network using simulation and machine learning
US20060272010A1 (en) * 2005-05-03 2006-11-30 Samsung Electronics Co., Ltd. Method and apparatus for securing information in a wireless network printing system
US20120144494A1 (en) * 2002-01-15 2012-06-07 Mcafee, Inc., A Delaware Corporation System and method for network vulnerability detection and reporting
WO2013089396A1 (en) * 2011-12-16 2013-06-20 주식회사 코닉글로리 Method for preventing intrusion in real time in wired and wireless integration system
US20130167238A1 (en) * 2011-12-23 2013-06-27 Mcafee, Inc. System and method for scanning for computer vulnerabilities in a network environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120144494A1 (en) * 2002-01-15 2012-06-07 Mcafee, Inc., A Delaware Corporation System and method for network vulnerability detection and reporting
US20060191010A1 (en) * 2005-02-18 2006-08-24 Pace University System for intrusion detection and vulnerability assessment in a computer network using simulation and machine learning
US20060272010A1 (en) * 2005-05-03 2006-11-30 Samsung Electronics Co., Ltd. Method and apparatus for securing information in a wireless network printing system
WO2013089396A1 (en) * 2011-12-16 2013-06-20 주식회사 코닉글로리 Method for preventing intrusion in real time in wired and wireless integration system
US20130167238A1 (en) * 2011-12-23 2013-06-27 Mcafee, Inc. System and method for scanning for computer vulnerabilities in a network environment

Similar Documents

Publication Publication Date Title
WO2010062063A2 (en) Method and system for preventing browser-based abuse
WO2017069348A1 (en) Method and device for automatically verifying security event
WO2018008800A1 (en) Accredited certificate authentication system based on blockchain, and accredited certificate authentication method based on blockchain, using same
WO2023038387A1 (en) System for controlling network access of application on basis of data flow, and method relating to same
WO2017171165A1 (en) System for issuing public certificate on basis of block chain, and method for issuing public certificate on basis of block chain by using same
WO2018166099A1 (en) Information leakage detection method and device, server, and computer-readable storage medium
WO2017047928A1 (en) Server and user terminal
WO2013048111A2 (en) Method and apparatus for detecting an intrusion on a cloud computing service
WO2012091529A2 (en) Terminal
WO2023085793A1 (en) System for controlling network access on basis of controller, and method therefor
WO2018194282A1 (en) Server access control system for detecting abnormal user on basis of learning of inputted commands for security enhancement
WO2022114689A1 (en) Method and device for image-based malware detection, and artificial intelligence-based endpoint detection and response system using same
WO2021261728A1 (en) Secure communication device for providing multi-functional secure connection, and operation method thereof
WO2023090755A1 (en) System for controlling network access of virtualization instance, and method therefor
WO2014077458A1 (en) Method for distinguishing type of communication network and method for providing content using same
WO2023211124A1 (en) System for controlling controller-based network connection and method for same
WO2023136658A1 (en) Controller-based system and method for controlling network access
WO2023177238A1 (en) Controller-based network connection control system, and method thereof
WO2023163514A1 (en) Controller-based network access control system and method therefor
WO2016126023A1 (en) Broadcast apparatus and method of authenticating broadcast data
WO2017026840A1 (en) Internet connection device, central management server, and internet connection method
WO2023211104A1 (en) System for controlling controller-based network access, and method related thereto
WO2022231304A1 (en) System for controlling controller-based network access, and method therefor
WO2019112241A1 (en) Server and method for defending malicious code using same
WO2017142276A1 (en) System and method for assessing vulnerability of network printer

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17753437

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17753437

Country of ref document: EP

Kind code of ref document: A1