KR20180050205A - 오픈 포트 배너 키워드 분석을 통한 취약점 정보를 식별하는 방법 및 장치 - Google Patents

오픈 포트 배너 키워드 분석을 통한 취약점 정보를 식별하는 방법 및 장치 Download PDF

Info

Publication number
KR20180050205A
KR20180050205A KR1020170116301A KR20170116301A KR20180050205A KR 20180050205 A KR20180050205 A KR 20180050205A KR 1020170116301 A KR1020170116301 A KR 1020170116301A KR 20170116301 A KR20170116301 A KR 20170116301A KR 20180050205 A KR20180050205 A KR 20180050205A
Authority
KR
South Korea
Prior art keywords
cpe
level
information
tree
service information
Prior art date
Application number
KR1020170116301A
Other languages
English (en)
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
Application filed by 한국인터넷진흥원 filed Critical 한국인터넷진흥원
Priority to KR1020170116301A priority Critical patent/KR20180050205A/ko
Publication of KR20180050205A publication Critical patent/KR20180050205A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 실시예들은 컴퓨터 시스템의 오픈 포트 배너 정보를 가공하고, CPE 사전을 분석하여 CPE 트리를 생성하고, CPE 트리 각 레벨의 키워드들을 배너에서 검색하여, CPE 트리로부터 CPE 사전의 포맷을 준수하는 CPE들로 변환함으로써, 다양한 CPE 후보들 중에서 특정 컴퓨터 시스템의 운영체제 또는 응용프로그램의 정보와 가장 많이 매칭된 CPE들을 선정할 수 있으며, CVE 취약점 정보와 연동할 수 있는 CPE 형태의 취약점 정보를 신속 용이하게 식별할 수 있는 컴퓨터 시스템 정보 식별 방법 및 장치를 제공한다.

Description

오픈 포트 배너 키워드 분석을 통한 취약점 정보를 식별하는 방법 및 장치 {Method and Apparatus for Identifying Vulnerability Information Using Keyword Analysis for Banner of Open Port}
본 실시예가 속하는 기술 분야는 오픈 포트 배너에 대한 키워드 분석을 수행하여 취약점 정보를 식별하는 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
소프트웨어에 내재되어 있는 보안 취약점은 컴퓨터 시스템을 공격하는데 쉽게 악용될 수 있다. 공격자들은 인터넷 스캔 도구를 가지고 보안이 취약한 웹 서비스를 식별하여 악의적인 행동을 수행할 수 있다. 따라서 보안 관리자들은 공개된 취약점을 잘 알고, 빠르게 대응할 수 있어야 한다.
알려진 보안 취약점 정보를 쉽게 공유할 수 있도록 NVD(National Vulnerability Database)는 CVE(Common Vulnerabilities and Exposures) 정보를 제공하고 있다. CVE는 소프트웨어 패키지의 보안 취약점 정보에 대한 참조 방법을 제공하고 있으며, 취약점 개요, 위험도 점수(Common Vulnerability Scoring System, CVSS), 취약점 발생 제품명(Common Platform Enumeration, CPE), 취약점 종류(Common Weakness Enumeration, CWE) 등으로 구성되어 있다.
기존의 CPE 정보를 생성하는 방식은, 제품 버전의 패턴("Integer.Integer.Integer")을 중심으로 제품 정보를 검색하여 CPE 정보를 생성하므로, 다양한 CPE 후보를 분석하는 데 한계가 있다.
이러한 한계를 극복하고, CVE 취약점 정보와 연동하기 위한 CPE 형태의 컴퓨터 시스템에 관한 정보를 제공하는 방법 및 장치는 아직 구현되지 못한 실정이다.
본 발명의 발명자는 CPE 사전을 기반으로 배너 정보에 대한 전체 키워드 분석을 수행하고자 한다.
본 발명의 실시예들은 컴퓨터 시스템의 오픈 포트 배너 정보를 가공하고, CPE 사전을 분석하여 CPE 트리를 생성하고, CPE 트리 각 레벨의 키워드들을 배너에서 검색하여, CPE 트리로부터 CPE 사전의 포맷을 준수하는 CPE들로 변환함으로써, 다양한 CPE 후보들 중에서 특정 컴퓨터 시스템의 운영체제 또는 응용프로그램의 정보와 가장 많이 매칭된 CPE들을 선정할 수 있으며, CVE 취약점 정보와 연동할 수 있는 CPE 형태의 취약점 정보를 신속 용이하게 식별하는 데 발명의 주된 목적이 있다.
본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.
본 실시예의 일 측면에 의하면, 컴퓨팅 디바이스에 의한 컴퓨터 시스템의 정보를 식별하는 방법에 있어서, 네크워크에 연결된 상기 컴퓨터 시스템의 특정 포트에서 동작하는 서비스 정보를 획득하는 과정, 상기 획득한 서비스 정보를 가공하는 과정, 상기 네트워크를 통하여 취약점 발생 제품명(Common Platform Enumeration, CPE) 사전을 획득하는 과정, 상기 CPE 사전을 분석하여, 복수의 레벨 및 복수의 노드를 갖는 CPE 트리를 생성하는 과정, 상기 CPE 트리의 각 레벨의 키워드들을 상기 가공한 서비스 정보에서 검색하는 과정, 및 상기 CPE 트리의 키워드들 중에서 상기 가공한 서비스 정보에 포함된 키워드들을 조합하여, 상기 CPE 트리로부터 상기 CPE 사전의 포맷을 준수하는 하나 이상의 CPE들로 변환하여 출력하는 과정을 포함하는 컴퓨터 시스템 정보 식별 방법을 제공한다.
본 실시예의 다른 측면에 의하면, 네크워크에 연결된 컴퓨터 시스템의 특정 포트에서 동작하는 서비스 정보를 획득하는 서비스 정보 획득부, 상기 서비스 정보로부터 서비스 정보 키워드들을 가공하는 서비스 정보 가공부, 상기 네트워크를 통하여 취약점 발생 제품명(Common Platform Enumeration, CPE) 사전을 획득하는 CPE 사전 획득부, 상기 CPE 사전을 분석하여, 복수의 레벨 및 복수의 노드를 갖는 CPE 트리를 생성하는 CPE 트리 생성부, 상기 CPE 트리의 각 레벨의 키워드들을 상기 가공한 서비스 정보에서 검색하는 CPE 트리 검색부, 및 상기 CPE 트리의 키워드들 중에서 상기 가공한 서비스 정보에 포함된 키워드들을 조합하여, 상기 CPE 트리로부터 상기 CPE 사전의 포맷을 준수하는 하나 이상의 CPE들로 변환하여 출력하는 CPE 변환부를 포함하는 컴퓨터 시스템 정보 식별 장치를 제공한다.
본 실시예의 다른 측면에 의하면, 프로세서에 의해 실행 가능한 컴퓨터 프로그램 명령어들을 포함하는 비일시적(Non-Transitory) 컴퓨터 판독 가능한 매체에 기록된 컴퓨터 시스템의 정보를 식별하기 위한 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램 명령어들이 컴퓨팅 디바이스의 프로세서에 의해 실행되는 경우에, 네크워크에 연결된 상기 컴퓨터 시스템의 특정 포트에서 동작하는 서비스 정보를 획득하는 과정, 상기 획득한 서비스 정보를 가공하는 과정, 상기 네트워크를 통하여 취약점 발생 제품명(Common Platform Enumeration, CPE) 사전을 획득하는 과정, 상기 CPE 사전을 분석하여, 복수의 레벨 및 복수의 노드를 갖는 CPE 트리를 생성하는 과정, 상기 CPE 트리의 각 레벨의 키워드들을 상기 가공한 서비스 정보에서 검색하는 과정, 및 상기 CPE 트리의 키워드들 중에서 상기 가공한 서비스 정보에 포함된 키워드들을 조합하여, 상기 CPE 트리로부터 상기 CPE 사전의 포맷을 준수하는 하나 이상의 CPE들로 변환하여 출력하는 과정을 포함한 동작들을 수행하는 컴퓨터 프로그램을 제공한다.
이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 컴퓨터 시스템의 오픈 포트 배너 정보를 가공하고, CPE 사전을 분석하여 CPE 트리를 생성하고, CPE 트리 각 레벨의 키워드들을 배너에서 검색하여, CPE 트리로부터 CPE 사전의 포맷을 준수하는 CPE들로 변환함으로써, 다양한 CPE 후보들 중에서 특정 컴퓨터 시스템의 운영체제 또는 응용프로그램의 정보와 가장 많이 매칭된 CPE들을 선정할 수 있으며, CVE 취약점 정보와 연동할 수 있는 CPE 형태의 취약점 정보를 신속 용이하게 식별할 수 있는 효과가 있다.
여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.
도 1은 본 발명의 실시예들에 따른 취약점 정보 분석 시스템을 예시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템 정보 식별 장치를 예시한 블록도이다.
도 3은 본 발명의 실시예들에 따라 CPE 트리를 생성하는 것을 예시한 도면이다.
도 4 및 도 5는 본 발명의 실시예들에 따른 CPE 트리를 검색하여 키워드들을 매칭하는 것을 예시한 도면이다.
도 6 및 도 7은 본 발명의 실시예들에 따라 CPE 트리로부터 CPE로 변환하는 것을 예시한 도면이다.
도 8은 본 발명의 실시예들에 따라 배너 정보에 기반하여 변환된 CPE들을 예시한 도면이다.
도 9는 본 발명의 다른 실시예에 따른 컴퓨터 시스템 정보 식별 방법을 예시한 흐름도이다.
이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다.
도 1은 본 발명의 실시예들에 따른 취약점 정보 분석 시스템을 예시한 블록도이다. 도 1에 도시한 바와 같이, 취약점 정보 분석 시스템(10)은 취약점 정보 수집 장치(100), 컴퓨터 시스템 정보 식별 장치(200), 및 취약점 정보 분석 장치(300)를 포함한다. 취약점 정보 분석 시스템(10)은 도 1에서 예시적으로 도시한 다양한 구성요소들 중에서 일부 구성요소를 생략하거나 다른 구성요소를 추가로 포함할 수 있다.
취약점 정보 분석 시스템(10)는 컴퓨터 시스템 및 네트워크 상의 보안 취약점 정보를 점검하는 시스템이다. 취약점 정보 분석 시스템(10)는 취약점 정보를 수집하고 분석하여 공유하는 동작을 수행한다.
취약점 정보 수집 장치(100)는 취약점 정보를 수집하는 장치이다. 취약점 이란 컴퓨터 시스템에 불법적인 사용자의 접근을 허용할 수 있는 위협, 컴퓨터 시스템의 정상적인 서비스를 방해하는 위협, 및 컴퓨터 시스템에서 관리하는 중요 데이터의 유출, 변조, 삭제에 대한 위협 등을 말한다. 구체적으로는 (i) Race Condition, 환경변수, 계정 및 패스워드, 접근권한, 시스템 구성, 네트워크 구성, 버퍼오버플로우, 백도어 등과 같은 시스템 보안취약점, (ii) 불필요한 서비스와 정보 제공, 서비스 거부 공격, RPC, HTTP, SMTP, FTP, BIND, FINGER, 버퍼오버플로우 등과 같은 네트워크 보안취약점, 및 (iii) 웹 서버, 방화벽 서버, IDS 서버, 데이터베이스 서버, 소스코드 취약점 등과 같은 응용프로그램 취약점 등이 있다.
컴퓨터 시스템 정보 식별 장치(200)는 특정 컴퓨터 시스템의 운영체제 및/또는 어플리케이션의 이용 정보를 식별하는 기능을 수행하는 장치이다. 취약점 정보 수집 장치(100)가 수집한 다양하고 방대한 취약점 정보의 유형 및 내용은 운영체제 또는 응용프로그램마다 상이하다. 취약점 정보 분석 장치(300)가 취약점을 점검하고 적절하게 대응하기 위하여, 컴퓨터 시스템 정보 식별 장치(200)는 운영체제 또는 응용프로그램에 관한 이용 정보를 명확하게 식별한다.
취약점 정보 분석 장치(300)는 취약점 정보를 분석하고 공유하는 장치이다. 취약점 정보 수집 장치(100)로부터 수신한 다양한 취약점 정보 및 컴퓨터 시스템 정보 식별 장치(200)로부터 수신한 특정 컴퓨터 시스템에 관한 이용 정보를 종합하여 데이터베이스를 구축한다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템 정보 식별 장치를 예시한 블록도이다. 도 2에 도시한 바와 같이, 컴퓨터 시스템 정보 식별 장치(200)는 서비스 정보 획득부(210), 서비스 정보 가공부(220), CPE 사전 획득부(230), CPE 트리 생성부(240), CPE 트리 검색부(250), 및 CPE 변환부(260)를 포함한다. 컴퓨터 시스템 정보 식별 장치(200)는 도 2에서 예시적으로 도시한 다양한 구성요소들 중에서 일부 구성요소를 생략하거나 다른 구성요소를 추가로 포함할 수 있다.
서비스 정보 획득부(210)는 네크워크에 연결된 컴퓨터 시스템의 특정 포트에서 동작하는 서비스 정보를 획득한다. 서비스 정보 획득부(210)는 컴퓨터 시스템의 특정 포트 중에서 오픈 포트의 배너에 포함된 문자열을 획득할 수 있다. 통신 프로토콜마다 고유한 포트를 갖는다. 서비스 정보 획득부(210)는 포트 스캔(Port Scan), 즉, 컴퓨터 시스템에서 열려 있는 포트를 검색하여, 컴퓨터 시스템이 제공하는 서비스를 찾을 수 있다. 대표적으로 TCP/UDP 포트가 있고, 다양한 명령어들을 실행하여 오픈 포트를 확인할 수 있다. 배너는 컴퓨터 시스템에 접속을 시도하면 나타나는 안내문과 같은 기능을 한다. 서비스 정보 획득부(210)는 배너에 포함된 정보를 이용하여, 운영체제의 버전 또는 커널 버전 등을 확인할 수 있다.
서비스 정보 가공부(220)는 키워드 검색을 위해 서비스 정보를 가공한다. 서비스 정보 가공부(220)는 획득한 배너 정보의 문자열을 소문자로 변환한다. 서비스 정보 가공부(220)는 제품 정보와의 관계에서 의미 없는 문자들을 제거할 수 있다. 제품 정보와의 관계에서 의미 없는 문자들은 미리 설정된다. 의미 없는 문자들은 다양한 제품 정보에 기반하여 추정된 문자 또는 통계적으로 산출된 문자일 수 있다. 서비스 정보 가공부(220)가 서비스 정보를 가공하는 기능을 반복하는 과정에서, 이러한 문자들은 갱신되어 변경될 수 있다.
CPE 사전 획득부(230)는 취약점 발생 제품명(Common Platform Enumeration, CPE) 사전을 획득한다. CPE 는 URL방식으로 7개의 필드로 구성되며, "cpe: /part : vendor : product : version : update : ~edition~sw_edition~target_sw~target_hw~other : language"와 같은 포맷을 갖는다. 예컨대, "Microsoft Internet Explorer 8.0.6001 Beta"는 "cpe:/a:microsoft:internet_explorer:8.0.6001:beta"와 같이 구성된다.
CPE 포맷에서 part는 Application을 의미하는 'a', OS를 의미하는'o', Hardware를 의미하는 'h'로 구분된다. CPE 포맷에서 'sw_edition'은 online, special 등 배포판을 의미하고, 'target_sw'는 설치 대상 운영체제를 의미하고, 'target_hw'는 설치 대상 하드웨어를 의미한다.
*CPE 사전 획득부(230)는 CPE 사전을 제공하는 데이터베이스로부터 네트워크를 통하여 CPE 사전을 획득할 수 있다.
도 3은 본 발명의 실시예들에 따라 CPE 트리를 생성하는 것을 예시한 도면이다. 도 3을 참조하여, 컴퓨터 시스템 정보 식별 장치(200)가 CPE 트리를 생성하는 동작을 설명하기로 한다.
CPE 트리 생성부(240)는 CPE 사전(320)을 분석하여, 복수의 레벨 및 복수의 노드를 갖는 CPE 트리(330)를 생성한다.
CPE 트리는 총 6개의 레벨을 가질 수 있다. CPE 트리의 6개의 레벨은 CPE 포맷(310)에서 part를 제외한 vendor 부터 language에 각각 대응한다.
도 3을 참조하면, 복수의 레벨 및 복수의 노드를 갖는 CPE 트리(330)는, (i) 제1 레벨에 해당하는 노드는 제조사(Vendor) 정보, (ii) 제2 레벨에 해당하는 노드는 제품명(Product) 정보, 제3 레벨에 해당하는 노드는 제품버전(version) 정보, 제4 레벨에 해당하는 노드는 업데이트(Update) 정보, 제5 레벨에 해당하는 노드는 배포판(Edition) 정보, 제6 레벨에 해당하는 노드는 제품 언어(Language) 정보를 포함한다.
생성된 CPE 트리는 제1 레벨 내지 제6 레벨 중에서 적어도 세 개의 레벨을 포함할 수 있다. 제1 레벨에 해당하는 노드가 갖는 정보와 제2 레벨에 해당하는 노드가 갖는 정보가 동일할 수 있다. 즉, 제조사와 제품명이 같을 수 있다.
CPE 트리는, 부모 노드, 자식 노드, 형제 노드 중 적어도 하나를 포함한다. 부모 노드 및 상기 자식 노드 간에는 연결된다. 복수의 레벨 중에서 상위 레벨에 해당하는 노드가 부모 노드에 해당하고, 복수의 레벨 중에서 하위 레벨에 해당하는 노드가 자식 노드에 해당하고, 복수의 레벨 중에서 동일 레벨에 해당하는 노드들이 형제 노드에 해당한다.
복수의 레벨 중에서 중간 레벨이 생략되면, 생략된 중간 레벨의 상위 레벨 노드에 해당하는 노드 및 생략된 중간 레벨의 하위 레벨에 해당하는 노드 간에 연결된다.
CPE 트리 생성부(240)는 CPE 사전의 문자열을 문자':'를 기준으로 분리하여 복수의 레벨들을 생성한다. CPE 트리 생성부(240)는 CPE 사전의 제5 레벨에서 문자'~'을 기준으로 문자열을 분리한다.
CPE 트리 생성부(240)는 CPE 사전의 각 레벨에서 문자'_'를 기준으로 문자열을 분리할 수 있다. 예컨대, "cpe:/a:microsoft:ftp_service:7.0"의 경우, 제1 레벨은 'microsoft'이고, 제2 레벨은 'ftp', 'service'이고, 제3 레벨은 '7.0'으로 구성되며, 해당 CPE에 대한 제4 레벨 내지 제6 레벨은 존재하지 않는다.
도 4 및 도 5는 본 발명의 실시예들에 따른 CPE 트리를 검색하여 키워드들을 매칭하는 것을 예시한 도면이다. 도 4 및 도 5를 참조하여, 컴퓨터 시스템 정보 식별 장치(200)가 CPE 트리를 검색하는 동작을 설명하기로 한다.
CPE 트리 검색부(250)는 서비스 정보 키워드들을 CPE 트리에서 검색하는 동작을 수행한다.
CPE 트리 검색부(250)는 CPE 트리 전체에서, (i) CPE 트리의 제1 레벨 또는 제2 레벨에 포함된 키워드들 및 (ii) 가공한 서비스 정보 간에 비교하여 검색한다. 즉, CPE 트리의 제1 레벨 또는 제2 레벨에 포함된 키워드를 배너에서 검색한다. 도 4에 도시한 바와 같이, CPE 트리의 제1 레벨 및 제2 레벨의 키워드인'proftpd'를 배너 정보(420)인 "220 ProFTPD 1.3.3g Server (Japsab2015) [66.116.157.60]"에서 검색한다.
CPE 트리 검색부(250)는 상기 제1 레벨 또는 상기 제2 레벨에 포함된 키워드들이 상기 가공한 서비스 정보에서 검색되면, 제1 레벨 또는 제2 레벨에 포함된 키워드들을 포함하는 트리의 자식 노드들에 대하여만 검색한다. 도 4를 참조하면, CPE 트리(410)의 제1 레벨 및 제2 레벨의 노드들의 'proftpd'가 배너(420)에서 검색되면, 제3 레벨에서 검색에 사용될 키워드는 ‘proftpd'의 자식 노드인 '1.3.2', '1.3.3', '1.3.4'로 구성된다. 도면부호 430은 매칭된 제1 레벨 내지 제3 레벨에 해당하는 키워드들을 도시한다. 도 5를 참조하면, CPE 트리(510)의 제2 레벨인 'openssh'가 배너(520)에서 검색되면, 제3 레벨에서 검색에 사용할 키워드는 '6.6'이 된다. 제3 레벨의 경우, 버전 정보를 분할하여 검색할 수 있다. '6.6.1' 버전의 경우, 서브 문자열로 '6.6'을 검색할 수 있다.
CPE 트리 검색부(250)는 검색하려는 문자열이 하나의 문자를 포함하면, 하나의 문자의 앞은 숫자 또는 '_'이면서, 검색하려는 문자열의 뒤는 공백이 있는 경우만 키워드를 검색한다.
CPE 트리 검색부(250)는 CPE 트리의 각 레벨에 포함된 키워드들 중에서 제조사 정보 및 제품명 정보가 동일하면, 제조사 정보보다 제품명 정보를 우선하여 비교한다.
도 6 및 도 7은 본 발명의 실시예들에 따라 CPE 트리로부터 CPE로 변환하는 것을 예시한 도면이고, 도 8은 본 발명의 실시예들에 따라 배너 정보에 기반하여 변환된 CPE들을 예시한 도면이다. 도 6 내지 도 8을 참조하여, 컴퓨터 시스템 정보 식별 장치(200)가 CPE 트리로부터 CPE로 변환하는 동작을 설명하기로 한다.
CPE 변환부(260)는 검색된 배너에 포함된 키워드들을 조합하여, CPE 트리로부터 CPE 사전의 포맷을 준수하는 하나 이상의 CPE들로 변환하여 출력한다.
도 6을 참조하면, CPE 트리 검색부(250)가 CPE 트리에 포함된 키워드들을 배너정보인 "ProFTPD 1.3.3g Server (Japsab2015) [66.116.157.60]"에서 검색하는 동작(600)을 수행하면서, CPE 변환부(260)는 제1 레벨의 'proftpd'(610), 제2 레벨의 'proftpd'(620), 제3 레벨의 '1.3.3'(630), 및 제4 레벨의 공백(640)을 결합하여, 최적화된 CPE(650)인 "cpe:/a:proftpd:proftpd:1.3.3"을 반환한다.
도 7을 참조하면, CPE 트리 검색부(250)가 CPE 트리에 포함된 키워드들을 배너정보인 "SSH-2.0-openssh_6.6.1p1"에서 검색하는 동작(700)을 수행하면서, CPE 변환부(260)는 제1 레벨의 'openbsd'(710), 제2 레벨의 'openssh'(720), 제3 레벨의 '6.6'(730), 및 제4 레벨의 'p1'(740)을 결합하여, 최적화된 CPE(750)인 "cpe:/a:openbsd:openssh:6.6:p1"을 반환한다.
CPE 변환부(260)는 서비스 정보 키워드들의 문자열 중에서 가장 긴 문자열을 포함하는 CPE를 출력한다. CPE 변환부(260)는 서비스 정보 키워드들을 가장 많이 포함하는 CPE를 출력한다. 예컨대, 획득한 배너 정보가 "220 Microsoft FTP Service"이면, CPE 변환부(260)는 'microsoft', 'ftp', 및 'service' 키워드들 중 적어도 하나를 포함하는 CPE들을 생성할 수 있다. CPE 변환부(260)는 "cpe:/a:cerberusftp:ftp_server:1.1", "cpe:/a:coreftp:core_ftp:1.2", "cpe:/a:deskshare:auto_ftp_manager:4.31", "cpe:/a:microsoft:ftp_service:7.0" 등의 CPE들 중에서 'microsoft', 'ftp', 및 'service' 키워드들 전부를 포함하는"cpe:/a:microsoft:ftp_service:7.0"를 반환할 수 있다. 한편, 가장 긴 문자열에 사용되는 키워드 외에 또 다른 키워드가 있는 경우에는 추가적으로 CPE를 반환할 수 있다. 즉, 변환된 CPE가 두 개 이상 존재할 수 있다.
도 8을 참조하면, 다양한 배너 정보에 기반하여 변환된 CPE들을 쉽게 파악할 수 있다.
컴퓨터 시스템 정보 식별 장치(200)는 CPE 트리의 키워드들을 배너정보(810)인 "220 Microsoft FTP Service"에서 검색하여, CPE트리로부터 "cpe:/a:microsoft:ftp_service:7.0" 및 "cpe:/a:microsoft:ftp_service:7.5"(820)을 출력한다.
컴퓨터 시스템 정보 식별 장치(200)는 CPE 트리의 키워드들을 배너정보(830)인 "220 ProFTPD 1.3.3g Server (Japsab2015) [66.116.157.60]"에서 검색하여, CPE트리로부터 "cpe:/a:proftpd:proftpd:1.3.3"(840)을 출력한다.
컴퓨터 시스템 정보 식별 장치(200)는 CPE 트리의 키워드들을 배너정보(850)인 "\ r \ n MikroTik v6.19 \ r \ n Login:"에서 검색하여, CPE 트리로부터 "cpe:/o:mikrotik:routeros:5.0" 및 "cpe:/o:mikrotik:routeros:5.15"(860)을 출력한다.
본 실시예들에 따르면, CPE 트리에 기반하여 특정 컴퓨터 시스템과 관련된 다양한 CPE 후보들 중에서 특정 컴퓨터 시스템의 운영체제 또는 응용프로그램의 정보와 가장 많이 매칭되는 CPE들을 선정할 수 있으며, CVE 취약점 정보와 연동할 수 있는 CPE 형태의 취약점 정보를 신속 용이하게 식별할 수 있는 효과가 있다.
컴퓨터 시스템 정보 식별 장치(200)에 포함된 구성요소들은 장치 내부의 소프트웨어적인 모듈 또는 하드웨어적인 모듈을 연결하는 통신 경로에 연결되어 상호 간에 유기적으로 동작한다. 이러한 구성요소들은 하나 이상의 통신 버스 또는 신호선을 이용하여 통신한다.
컴퓨터 시스템 정보 식별 장치(200)는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 장치는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 장치는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.
컴퓨터 시스템 정보 식별 장치(200)는 하드웨어적 요소가 마련된 컴퓨팅 디바이스 또는 서버에 소프트웨어, 하드웨어, 또는 이들의 조합하는 형태로 탑재될 수 있다. 컴퓨팅 디바이스 또는 서버는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 포함한 다양한 장치를 의미할 수 있다.
도 9는 본 발명의 다른 실시예에 따른 컴퓨터 시스템 정보 식별 방법을 예시한 흐름도이다. 컴퓨터 시스템 정보 식별 방법은 컴퓨팅 디바이스에 의하여 수행될 수 있으며, 컴퓨터 시스템 정보 식별 장치와 동일한 방식으로 동작한다.
과정 S910에서, 컴퓨팅 디바이스는 네크워크에 연결된 컴퓨터 시스템의 특정 포트에서 동작하는 서비스 정보를 획득한다. 서비스 정보를 획득하는 과정(S910)은 컴퓨터 시스템의 특정 포트 중에서 오픈 포트의 배너에 포함된 문자열을 획득할 수 있다.
과정 S920에서. 컴퓨팅 디바이스는 획득한 서비스 정보를 가공한다. 서비스 정보를 가공하는 과정(S920)은 획득한 배너 정보의 문자열을 소문자로 변환하고, 문자열에서 의미없는 문자들을 제거한다.
과정 S930에서, 컴퓨팅 디바이스는 네트워크를 통하여 취약점 발생 제품명(Common Platform Enumeration, CPE) 사전을 획득한다.
과정 S940에서, 컴퓨팅 디바이스는 CPE 사전을 분석하여, 복수의 레벨 및 복수의 노드를 갖는 CPE 트리를 생성한다.
CPE 트리는 제1 레벨 내지 제6 레벨 중에서 적어도 세 개의 레벨을 포함한다. 제1 레벨에 해당하는 노드는 제조사 정보, 제2 레벨에 해당하는 노드는 제품명 정보, 제3 레벨에 해당하는 노드는 제품버전 정보, 제4 레벨에 해당하는 노드는 업데이트 정보, 제5 레벨에 해당하는 노드는 배포판 정보, 및 제6 레벨에 해당하는 노드는 제품 언어 정보를 포함한다.
CPE 트리는 제1 레벨에 해당하는 노드가 갖는 정보와 제2 레벨에 해당하는 노드가 갖는 정보가 동일할 수 있다. 즉, 제조사와 제품명이 같을 수 있다.
CPE 트리는 부모 노드, 자식 노드, 형제 노드 중 적어도 하나를 포함한다. 부모 노드 및 자식 노드 간에 연결된다. 복수의 레벨 중에서 상위 레벨에 해당하는 노드가 부모 노드에 해당하고, 복수의 레벨 중에서 하위 레벨에 해당하는 노드가 자식 노드에 해당하고, 복수의 레벨 중에서 동일 레벨에 해당하는 노드들이 형제 노드에 해당한다.
복수의 레벨 중에서 중간 레벨이 생략되면, 생략된 중간 레벨의 상위 레벨 노드에 해당하는 노드 및 생략된 중간 레벨의 하위 레벨에 해당하는 노드 간에 연결된다.
CPE 트리를 생성하는 과정(S940)은 CPE 사전의 문자열을 문자':'를 기준으로 분리하여 복수의 레벨들을 생성하고, 각 레벨에서는 문자'_'를 기준으로 문자열을 분리하고, 제5 레벨에서는 문자'~'을 기준으로 문자열을 분리하여 CPE 트리를 생성한다.
과정 S950에서, 컴퓨팅 디바이스는 CPE 트리의 각 레벨의 키워드들을 가공한 서비스 정보에서 검색한다. CPE 트리의 키워드들을 서비스 정보에서 검색하는 과정(S950)은, CPE 트리의 제1 레벨 및/또는 제2 레벨에 포함된 키워드들 및 (ii) 가공한 서비스 정보 간에 비교하여 검색한다.
서비스 정보 키워드들을 CPE 트리에서 검색하는 과정(S950)은, 제1 레벨 또는 제2 레벨에 포함된 키워드들이 가공한 서비스 정보에서 검색되면, 제1 레벨 또는 제2 레벨에 포함된 키워드들을 포함하는 트리의 자식 노드들에 대하여만 제3 레벨 내지 제6 레벨 중 적어도 하나의 키워드를 검색한다.
서비스 정보 키워드들을 CPE 트리에서 검색하는 과정(S950)은, 검색하려는 문자열이 하나의 문자를 포함하면, 하나의 문자의 앞은 숫자 또는 '_'이면서 검색하려는 문자열의 뒤는 공백이 있는 경우만 키워드를 검색한다.
서비스 정보 키워드들을 CPE 트리에서 검색하는 과정(S950)은, CPE 트리의 각 레벨에 포함된 키워드들 중에서 제조사 정보 및 제품명 정보가 동일하면, 제조사 정보보다 제품명 정보를 우선하여 비교한다.
과정 S960에서, 컴퓨팅 디바이스는 CPE 트리의 키워드들 중에서 가공한 서비스 정보에 포함된 키워드들을 조합하여, CPE 트리로부터 CPE 사전의 포맷을 준수하는 하나 이상의 CPE들로 변환하여 출력한다. 하나 이상의 CPE들을 출력하는 과정(S960)은, 서비스 정보 키워드들의 문자열 중에서 가장 긴 문자열을 포함하는 CPE를 출력한다. 하나 이상의 CPE들을 출력하는 과정(S960)은, 서비스 정보 키워드들을 가장 많이 포함하는 CPE를 출력한다.
본 실시예들에 따르면, CPE 트리에 기반하여 특정 컴퓨터 시스템과 관련된 다양한 CPE 후보들 중에서 특정 컴퓨터 시스템의 운영체제 또는 응용프로그램의 정보와 가장 많이 매칭되는 CPE들을 선정할 수 있으며, CVE 취약점 정보와 연동할 수 있는 CPE 형태의 취약점 정보를 신속 용이하게 식별할 수 있는 효과가 있다.
도 9에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 9에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.
본 실시예들에 따른 동작은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다. 컴퓨터 판독 가능한 매체는 실행을 위해 프로세서에 명령어를 제공하는 데 참여한 임의의 매체를 나타낸다. 컴퓨터 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 또는 이들의 조합을 포함할 수 있다. 예를 들면, 자기 매체, 광기록 매체, 메모리 등이 있을 수 있다. 컴퓨터 프로그램은 네트워크로 연결된 컴퓨터 시스템 상에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드, 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 취약점 정보 분석 시스템 100: 취약점 정보 수집 장치
200: 컴퓨터 시스템 정보 식별 장치 210: 서비스 정보 획득부
220: 서비스 정보 가공부 230: CPE 사전 획득부
240: CPE 트리 생성부 250: CPE 트리 검색부
260: CPE 변환부 300: 취약점 정보 분석 장치

Claims (21)

  1. 컴퓨팅 디바이스에 의한 컴퓨터 시스템의 정보를 식별하는 방법에 있어서,
    네크워크에 연결된 상기 컴퓨터 시스템의 특정 포트에서 동작하는 서비스 정보를 획득하는 과정;
    상기 획득한 서비스 정보를 가공하는 과정;
    상기 네트워크를 통하여 취약점 발생 제품명(Common Platform Enumeration, CPE) 사전을 획득하는 과정;
    상기 CPE 사전을 분석하여, 복수의 레벨 및 복수의 노드를 갖는 CPE 트리를 생성하는 과정;
    상기 CPE 트리의 각 레벨의 키워드들을 상기 가공한 서비스 정보에서 검색하는 과정; 및
    상기 CPE 트리의 키워드들 중에서 상기 가공한 서비스 정보에 포함된 키워드들을 조합하여, 상기 CPE 트리로부터 상기 CPE 사전의 포맷을 준수하는 하나 이상의 CPE들로 변환하여 출력하는 과정
    을 포함하는 컴퓨터 시스템 정보 식별 방법.
  2. 제1항에 있어서,
    상기 서비스 정보를 획득하는 과정은,
    상기 컴퓨터 시스템의 특정 포트 중에서 오픈 포트의 배너에 포함된 문자열을 획득하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  3. 제2항에 있어서,
    상기 획득한 서비스 정보를 가공하는 과정은,
    상기 획득한 배너 정보의 문자열을 소문자로 변환하고, 제품 정보와의 관계에서 의미 없는 문자들을 제거하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  4. 제1항에 있어서,
    상기 복수의 레벨 및 상기 복수의 노드를 갖는 CPE 트리는,
    제1 레벨 내지 제6 레벨 중에서 적어도 세 개의 레벨을 포함하며,
    상기 제1 레벨에 해당하는 노드는 제조사 정보, 제2 레벨에 해당하는 노드는 제품명 정보, 제3 레벨에 해당하는 노드는 제품버전 정보, 제4 레벨에 해당하는 노드는 업데이트 정보, 제5 레벨에 해당하는 노드는 배포판 정보, 상기 제6 레벨에 해당하는 노드는 제품 언어 정보를 포함하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  5. 제4항에 있어서,
    상기 복수의 레벨 및 상기 복수의 노드를 갖는 CPE 트리는,
    상기 제1 레벨에 해당하는 노드가 갖는 정보와 상기 제2 레벨에 해당하는 노드가 갖는 정보가 동일한 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  6. 제4항에 있어서,
    상기 복수의 레벨 및 상기 복수의 노드를 갖는 CPE 트리는,
    부모 노드, 자식 노드, 형제 노드 중 적어도 하나를 포함하고, 상기 부모 노드 및 상기 자식 노드 간에 연결되며, 상기 복수의 레벨 중에서 상위 레벨에 해당하는 노드가 상기 부모 노드이고, 상기 복수의 레벨 중에서 하위 레벨에 해당하는 노드가 상기 자식 노드이고, 상기 복수의 레벨 중에서 동일 레벨에 해당하는 노드들이 상기 형제 노드에 해당하고,
    상기 복수의 레벨 중에서 중간 레벨이 생략되면, 상기 생략된 중간 레벨의 상위 레벨 노드에 해당하는 노드 및 상기 생략된 중간 레벨의 하위 레벨에 해당하는 노드 간에 연결하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  7. 제4항에 있어서,
    상기 CPE 트리를 생성하는 과정은,
    상기 CPE 사전의 문자열을 문자':'를 기준으로 분리하여 상기 복수의 레벨들을 생성하며, 각 레벨에서는 문자'_'를 기준으로 문자열을 분리하고, 상기 제5 레벨에서는 문자'~'을 기준으로 문자열을 분리하여, 상기 CPE 트리를 생성하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  8. 제4항에 있어서,
    상기 서비스 정보 키워드들을 상기 CPE 트리에서 검색하는 과정은,
    (i) 상기 CPE 트리의 상기 제1 레벨 또는 상기 제2 레벨에 포함된 키워드들 및 (ii) 상기 가공한 서비스 정보 간에 비교하여 검색하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  9. 제8항에 있어서,
    상기 서비스 정보 키워드들을 상기 CPE 트리에서 검색하는 과정은,
    상기 제1 레벨 또는 상기 제2 레벨에 포함된 키워드들이 상기 가공한 서비스 정보에서 검색되면, 상기 제1 레벨 또는 상기 제2 레벨에 포함된 키워드들을 포함하는 트리의 자식 노드들에 대하여만 검색하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  10. 제4항에 있어서,
    상기 서비스 정보 키워드들을 상기 CPE 트리에서 검색하는 과정은,
    검색하려는 문자열이 하나의 문자를 포함하면 상기 하나의 문자의 앞은 숫자 또는 '_'이면서 상기 검색하려는 문자열의 뒤는 공백이 있는 경우만 키워드를 검색하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  11. 제4항에 있어서,
    상기 CPE 트리의 각 레벨에 포함된 키워드들 중에서 상기 제조사 정보 및 상기 제품명 정보가 동일하면, 상기 제조사 정보보다 상기 제품명 정보를 우선하여 비교하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  12. 제1항에 있어서,
    상기 하나 이상의 CPE들을 출력하는 과정은,
    상기 서비스 정보 키워드들의 문자열 중에서 가장 긴 문자열을 포함하는 CPE를 출력하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  13. 제1항에 있어서,
    상기 하나 이상의 CPE들을 출력하는 과정은,
    상기 서비스 정보 키워드들을 가장 많이 포함하는 CPE를 출력하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 방법.
  14. 네크워크에 연결된 컴퓨터 시스템의 특정 포트에서 동작하는 서비스 정보를 획득하는 서비스 정보 획득부;
    상기 서비스 정보로부터 서비스 정보 키워드들을 가공하는 서비스 정보 가공부;
    상기 네트워크를 통하여 취약점 발생 제품명(Common Platform Enumeration, CPE) 사전을 획득하는 CPE 사전 획득부;
    상기 CPE 사전을 분석하여, 복수의 레벨 및 복수의 노드를 갖는 CPE 트리를 생성하는 CPE 트리 생성부;
    상기 CPE 트리의 각 레벨의 키워드들을 상기 가공한 서비스 정보에서 검색하는 CPE 트리 검색부; 및
    상기 CPE 트리의 키워드들 중에서 상기 가공한 서비스 정보에 포함된 키워드들을 조합하여, 상기 CPE 트리로부터 상기 CPE 사전의 포맷을 준수하는 하나 이상의 CPE들로 변환하여 출력하는 CPE 변환부
    를 포함하는 컴퓨터 시스템 정보 식별 장치.
  15. 제14항에 있어서,
    상기 복수의 레벨 및 상기 복수의 노드를 갖는 CPE 트리는,
    제1 레벨 내지 제6 레벨 중에서 적어도 세 개의 레벨을 포함하며,
    상기 제1 레벨에 해당하는 노드는 제조사 정보, 제2 레벨에 해당하는 노드는 제품명 정보, 제3 레벨에 해당하는 노드는 제품버전 정보, 제4 레벨에 해당하는 노드는 업데이트 정보, 제5 레벨에 해당하는 노드는 배포판 정보, 상기 제6 레벨에 해당하는 노드는 제품 언어 정보를 포함하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 장치.
  16. 제15항에 있어서,
    상기 서비스 정보 획득부는,
    상기 컴퓨터 시스템의 특정 포트 중에서 오픈 포트의 배너에 포함된 문자열을 획득하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 장치.
  17. 제15항에 있어서,
    상기 CPE 트리 생성부는,
    상기 CPE 사전의 문자열을 문자':'를 기준으로 분리하여 상기 복수의 레벨들을 생성하며, 각 레벨에서는 문자'_'를 기준으로 문자열을 분리하고, 상기 제5 레벨에서는 문자'~'을 기준으로 문자열을 분리하여, 상기 CPE 트리를 생성하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 장치.
  18. 제15항에 있어서,
    상기 CPE 트리 검색부는,
    (i) 상기 CPE 트리의 상기 제1 레벨 또는 상기 제2 레벨에 포함된 키워드들 및 (ii) 상기 가공한 서비스 정보 간에 비교하여 검색하고,
    상기 제1 레벨 또는 상기 제2 레벨에 포함된 키워드들이 상기 가공한 서비스 정보에서 검색되면, 상기 제1 레벨 또는 상기 제2 레벨에 포함된 키워드들을 포함하는 트리의 자식 노드들에 대하여만 검색하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 장치.
  19. 제15항에 있어서,
    상기 CPE 트리 검색부는,
    상기 CPE 트리의 각 레벨에 포함된 키워드들 중에서 상기 제조사 정보 및 상기 제품명 정보가 동일하면, 상기 제조사 정보보다 상기 제품명 정보를 우선하여 비교하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 장치.
  20. 제14항에 있어서,
    상기 CPE 변환부는,
    상기 서비스 정보 키워드들의 문자열 중에서 가장 긴 문자열을 포함하는 CPE를 출력하는 것을 특징으로 하는 컴퓨터 시스템 정보 식별 장치.
  21. 프로세서에 의해 실행 가능한 컴퓨터 프로그램 명령어들을 포함하는 비일시적(Non-Transitory) 컴퓨터 판독 가능한 매체에 기록된 컴퓨터 시스템의 정보를 식별하기 위한 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램 명령어들이 컴퓨팅 디바이스의 프로세서에 의해 실행되는 경우에,
    네크워크에 연결된 상기 컴퓨터 시스템의 특정 포트에서 동작하는 서비스 정보를 획득하는 과정;
    상기 획득한 서비스 정보를 가공하는 과정;
    상기 네트워크를 통하여 취약점 발생 제품명(Common Platform Enumeration, CPE) 사전을 획득하는 과정;
    상기 CPE 사전을 분석하여, 복수의 레벨 및 복수의 노드를 갖는 CPE 트리를 생성하는 과정;
    상기 CPE 트리의 각 레벨의 키워드들을 상기 가공한 서비스 정보에서 검색하는 과정; 및
    상기 CPE 트리의 키워드들 중에서 상기 가공한 서비스 정보에 포함된 키워드들을 조합하여, 상기 CPE 트리로부터 상기 CPE 사전의 포맷을 준수하는 하나 이상의 CPE들로 변환하여 출력하는 과정
    을 포함한 동작들을 수행하는 컴퓨터 프로그램.
KR1020170116301A 2017-09-12 2017-09-12 오픈 포트 배너 키워드 분석을 통한 취약점 정보를 식별하는 방법 및 장치 KR20180050205A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170116301A KR20180050205A (ko) 2017-09-12 2017-09-12 오픈 포트 배너 키워드 분석을 통한 취약점 정보를 식별하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170116301A KR20180050205A (ko) 2017-09-12 2017-09-12 오픈 포트 배너 키워드 분석을 통한 취약점 정보를 식별하는 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160146997A Division KR101806118B1 (ko) 2016-11-04 2016-11-04 오픈 포트 배너 키워드 분석을 통한 취약점 정보를 식별하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20180050205A true KR20180050205A (ko) 2018-05-14

Family

ID=62187978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170116301A KR20180050205A (ko) 2017-09-12 2017-09-12 오픈 포트 배너 키워드 분석을 통한 취약점 정보를 식별하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20180050205A (ko)

Similar Documents

Publication Publication Date Title
KR101806118B1 (ko) 오픈 포트 배너 키워드 분석을 통한 취약점 정보를 식별하는 방법 및 장치
US10958672B2 (en) Cognitive offense analysis using contextual data and knowledge graphs
US11089040B2 (en) Cognitive analysis of security data with signal flow-based graph exploration
US10313365B2 (en) Cognitive offense analysis using enriched graphs
KR101859562B1 (ko) 취약점 정보 분석 방법 및 장치
US10416970B2 (en) Analysis device, analysis method, and analysis program
JP6503141B2 (ja) アクセス分類装置、アクセス分類方法及びアクセス分類プログラム
US20190147167A1 (en) Apparatus for collecting vulnerability information and method thereof
KR101893090B1 (ko) 취약점 정보 관리 방법 및 그 장치
Li et al. Towards fine-grained fingerprinting of firmware in online embedded devices
CN114679329A (zh) 基于赝象对恶意软件自动分组
JP6557334B2 (ja) アクセス分類装置、アクセス分類方法、及びアクセス分類プログラム
KR20180081053A (ko) 도메인 생성 알고리즘(dga) 멀웨어 탐지를 위한 시스템 및 방법들
JP2017224150A (ja) 解析装置、解析方法および解析プログラム
EP3547193B1 (en) Analysis apparatus, analysis method and analysis program
KR101863569B1 (ko) 머신 러닝 기반의 취약점 정보를 분류하는 방법 및 장치
KR20180050205A (ko) 오픈 포트 배너 키워드 분석을 통한 취약점 정보를 식별하는 방법 및 장치
US11748476B2 (en) Conversion device and conversion program
KR101893029B1 (ko) 머신 러닝 기반의 취약점 정보를 분류하는 방법 및 장치
Gawron et al. Automatic detection of vulnerabilities for advanced security analytics
Liljebjörn et al. Mantis the black-box scanner: Finding XSS vulnerabilities through parse errors
CN115022060B (zh) 一种网络攻击的实时过滤方法及装置
Cassagne et al. Following the Obfuscation Trail: Identifying and Exploiting Obfuscation Signatures in Malicious Code
Balogh et al. Integration of Results from Static and Dynamic Code Analysis into an Ontological Model
JP2016170524A (ja) 悪性url候補取得装置、悪性url候補取得方法、及びプログラム

Legal Events

Date Code Title Description
A107 Divisional application of patent