KR102166390B1 - 비정형 데이터의 모델링 방법 및 시스템 - Google Patents

비정형 데이터의 모델링 방법 및 시스템 Download PDF

Info

Publication number
KR102166390B1
KR102166390B1 KR1020190167881A KR20190167881A KR102166390B1 KR 102166390 B1 KR102166390 B1 KR 102166390B1 KR 1020190167881 A KR1020190167881 A KR 1020190167881A KR 20190167881 A KR20190167881 A KR 20190167881A KR 102166390 B1 KR102166390 B1 KR 102166390B1
Authority
KR
South Korea
Prior art keywords
unstructured data
data
modeling
crawling
unstructured
Prior art date
Application number
KR1020190167881A
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 KR1020190167881A priority Critical patent/KR102166390B1/ko
Application granted granted Critical
Publication of KR102166390B1 publication Critical patent/KR102166390B1/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/34Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 비정형 데이터의 모델링 방법 및 시스템에 관한 것으로서, 본 발명의 일 실시예는 복수의 웹사이트에서 크롤링한 비정형 데이터와 서버에 저장된 데이터를 연계하는 비정형 데이터의 모델링 방법에 있어서, 상기 복수의 웹사이트의 도메인 링크를 실시간으로 크롤링하는 제1 크롤링 단계; 상기 도메인 링크에서 비정형 데이터를 크롤링하는 제2 크롤링 단계; 상기 비정형 데이터를 모델링 하는 단계; 및 상기 모델링된 비정형 데이터를 2D 또는 3D로 시각화 하는 단계; 를 포함하는 비정형 데이터의 모델링 방법을 개시한다.

Description

비정형 데이터의 모델링 방법 및 시스템{METHOD AND SYSTEM FOR MODELING OF INFORMAL DATA}
본 발명은 비정형 데이터의 모델링 방법 및 시스템에 관한 것으로서, 상세하게는 사이버 위협에 관련된 비정형 데이터의 모델링 방법 및 시스템에 관한 것이다.
오늘날 정보통신망이 발달함에 따라 해킹, 바이러스 유포 등 사이버 위협이 급증하는 추세이다. 이러한 사이버 위협에 대응하기 위하여 국가 차원의 보안관제 센터를 구축 및 운영 중에 있다.
다만, 현재의 사이버 위협에 대한 대응 방안은 보안관제 전담 인력이 사이버 위협 데이터를 수동으로 수집 및 분석함에 그치고 있어, 많은 인적 자원과 시간이 소모되는 문제점이 있다. 즉, 정보통신망에서 수집된 사이버 위협 데이터의 양이 방대하여 서버에 저장된 기존의 데이터와 연계성 및 상관성을 수동으로 분석하는 데에는 한계가 있다.
한편, 사이버 위협 데이터는 정보통신망에 대부분 비정형으로 존재하므로, 기존의 크롤러 봇, RSS 등의 기술을 이용하여 비정형 데이터를 수집 및 분석하는 데에는 한계가 있다.
등록특허공보 제10-2008845호
본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로, 병렬형 웹 크롤링 기술을 이용하여 방대한 양의 사이버 위협 데이터를 실시간 수집하며, 웹사이트 구조 자동 인식 기술을 이용하여 비정형 사이버 위협 데이터를 효과적으로 수집하는 비정형 데이터의 모델링 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명은 비정형 사이버 위협 데이터 및 서버에 저장된 기존의 데이터의 연관성을 분석하여 사이버 위협에 대한 선제적 예방 조치를 제공할 수 있는 비정형 데이터의 모델링 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명은 2D 및 3D 시각화 기술을 이용하여 직관적으로 사이버 위협 동향을 파악할 수 있는 비정형 데이터의 모델링 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 포함될 수 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 비정형 데이터의 모델링 방법은, 복수의 웹사이트에서 크롤링한 비정형 데이터와 서버에 저장된 데이터를 연계하는 비정형 데이터의 모델링 방법에 있어서, 상기 복수의 웹사이트의 도메인 링크를 실시간으로 크롤링하는 제1 크롤링 단계; 상기 도메인 링크에서 비정형 데이터를 크롤링하는 제2 크롤링 단계; 상기 비정형 데이터를 모델링 하는 단계; 및 상기 모델링된 비정형 데이터를 2D 또는 3D로 시각화하는 단계; 를 포함할 수 있다.
일 실시예에 있어서, 상기 제2 크롤링 단계는, newspaper 라이브러리을 이용하여 상기 비정형 데이터를 크롤링하는 단계; 를 포함하되, 상기 newspaper 라이브러리을 이용할 수 없는 경우, 웹 구조 DNA 데이터베이스를 이용하여 상기 비정형 데이터를 크롤링하는 단계; 를 더 포함할 수 있다.
일 실시예에 있어서, 상기 웹 구조 DNA 데이터베이스는, 웹사이트의 HTML 코드를 분석하여 웹사이트의 구조적 특징을 분류할 수 있다.
일 실시예에 있어서, 상기 비정형 데이터를 모델링 하는 단계는, 상기 비정형 데이터에서 형태소를 추출하는 단계; 상기 형태소를 기반으로 상기 비정형 데이터 사이의 유사도를 측정하는 단계; 상기 측정된 유사도를 기반으로 상기 비정형 데이터를 카테고리 별로 분류하는 단계; 및 상기 분류된 비정형 데이터와 상기 서버에 저장된 데이터의 중복성을 판단하는 단계; 를 포함할 수 있다.
일 실시예에 있어서, 상기 비정형 데이터에서 형태소를 추출하는 단계 이전에, 상기 비정형 데이터에 한자 단어가 포함된 경우, 한자 단어에 대응되는 한글 단어가 분류된 데이터베이스를 참조하여 한자를 한글로 치환하는 단계를 더 포함할 수 있다.
일 실시예에 있어서, 상기 중복성을 판단하는 단계 이후에, 상기 분류된 비정형 데이터 및 상기 분류된 비정형 데이터와 중복되는 서버에 저장된 데이터를, 상기 카테고리 별로 시계열에 따라 그룹화하여 그룹화된 데이터의 연관성을 분석하는 단계를 더 포함할 수 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 비정형 데이터의 모델링 시스템은, 복수의 웹사이트에서 크롤링한 비정형 데이터와 서버에 저장된 데이터를 연계하는 비정형 데이터의 모델링 시스템에 있어서, 상기 복수의 웹사이트의 도메인 링크를 실시간으로 크롤링하는 제1 크롤링부; 상기 도메인 링크에서 비정형 데이터를 크롤링하는 제2 크롤링부; 상기 비정형 데이터를 모델링 하는 모델링부; 및 상기 모델링된 비정형 데이터를 2D 또는 3D로 시각화하는 시각화부; 를 포함할 수 있다.
일 실시예에 있어서, 상기 제2 크롤링부는, newspaper 라이브러리을 이용하여 상기 비정형 데이터를 크롤링하되, 상기 newspaper 라이브러리을 이용할 수 없는 경우, 웹 구조 DNA 데이터베이스를 이용하여 상기 비정형 데이터를 크롤링할 수 있다.
일 실시예에 있어서, 상기 웹 구조 DNA 데이터베이스는, 웹사이트의 HTML 코드를 분석하여 웹사이트의 구조적 특징을 분류할 수 있다.
일 실시예에 있어서, 상기 모델링부는, 상기 비정형 데이터에서 형태소를 추출하는 형태소 추출기; 상기 형태소를 기반으로 상기 비정형 데이터 사이의 유사도를 측정하는 유사도 측정기; 상기 측정된 유사도를 기반으로 상기 비정형 데이터를 카테고리 별로 분류하는 위협정보 분류기; 및 상기 분류된 비정형 데이터와 상기 서버에 저장된 데이터의 중복성을 판단하는 상관성 분석기; 를 포함할 수 있다.
일 실시예에 있어서, 상기 모델링부는, 상기 비정형 데이터에 한자 단어가 포함된 경우, 한자 단어에 대응되는 한글 단어가 분류된 데이터베이스를 참조하여 한자를 한글로 치환하는 한자 치환기를 더 포함할 수 있다.
일 실시예에 있어서, 상기 상관성 분석기는, 상기 분류된 비정형 데이터 및 상기 분류된 비정형 데이터와 중복되는 서버에 저장된 데이터를 상기 카테고리 별로 시계열에 따라 그룹화하여, 그룹화된 데이터의 연관성을 분석할 수 있다.
일 실시예에 있어서, 상기 시각화부는, 3D로 시각화된 상기 모델링된 비정형 데이터 중에서 일부 데이터를 선택하여 상기 일부 데이터를 2D로 전환할 수 있다.
본 발명에서 제안하는 비정형 데이터의 모델링 방법 및 시스템은 병렬형 웹 크롤링 기술을 이용하여 방대한 양의 사이버 위협 데이터를 실시간 수집하며, 웹사이트 구조 자동 인식 기술을 이용하여 비정형 사이버 위협 데이터를 효과적으로 수집할 수 있다.
본 발명에서 제안하는 비정형 데이터의 모델링 방법 및 시스템은 비정형 사이버 위협 데이터 및 서버에 저장된 기존의 데이터의 연관성을 분석하여 사이버 위협에 대한 선제적 예방 조치를 제공할 수 있다.
본 발명에서 제안하는 비정형 데이터의 모델링 방법 및 시스템은 2D 및 3D 시각화 기술을 이용하여 직관적으로 사이버 위협 동향을 파악 할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 비정형 데이터의 모델링 방법을 도시한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 비정형 데이터의 모델링 시스템을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 비정형 데이터를 모델링하는 방법을 개략적으로 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 모델링된 비정형 데이터를 시각화한 것을 예시적으로 나타낸 도면으로서, 도 4a는 2D로 시각화 한 것을 나타낸 도면이고, 도 4b는 3D로 시각화 한 것을 나타낸 도면이다.
전술한, 그리고 추가적인 발명의 태양들은 첨부된 도면을 참조하여 설명하는 실시예들을 통해 구체화된다. 그러나 이하에서 기술하는 실시예들은 단지 예시적인 것일 뿐이며, 본 발명의 범위를 기술된 실시예들로만 제한하고자 하는 것은 아니다. 또한, 각 실시예들의 구성 요소들은 다른 언급이나 상호간에 모순이 없는 한 실시예 내에서 또는 실시예 상호 간에 다양한 조합이 가능할 수 있다.
그리고, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 다른 구성요소들과는 상관없이 이 구성요소를 반드시 포함한다는 의미이지 다른 구성요소들의 포함 가능성을 배제하고자 하는 것이 아니다.
또한, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 나아가, 명세서 전체에서 신호는 전압이나 전류 등의 전기량을 의미한다.
또한, 도면에서 도시된 순서도들은 본 발명을 실시함에 있어서 가장 바람직한 결과를 얻기 위해 예시적으로 도시한 순서에 불과하며, 다른 단계들이 더 추가되거나 일부 단계들이 삭제될 수 있음은 물론이다.
도 1은 본 발명의 일 실시예에 따른 비정형 데이터의 모델링 방법을 도시한 흐름도이고, 도 2는 본 발명의 일 실시예에 따른 비정형 데이터의 모델링 시스템(10)을 도시한 블록도이다. 이하, 도 1 및 도 2를 함께 참조하여 비정형 데이터의 모델링 방법 및 시스템을 설명한다.
도 2를 참조하면, 비정형 데이터의 모델링 시스템(10)은 복수의 웹사이트의 도메인 링크를 실시간으로 크롤링하는 제1 크롤링부(100), 상기 도메인 링크에서 비정형 데이터를 크롤링하는 제2 크롤링부(200), 상기 비정형 데이터를 모델링 하는 모델링부(300), 상기 모델링된 비정형 데이터를 2D 또는 3D로 시각화 하는 시각화부(400) 및 데이터를 저장하는 서버(500)를 포함할 수 있다.
도 1 및 도 2를 참조하면, 비정형 데이터의 모델링 시스템(10)은 제1 크롤링부(100)와 제2 크롤링부(200)가 병렬적으로 배치되어 크롤링을 수행할 수 있다.
제1 크롤링부(100) 및 제2 크롤링부(200)에서 수행하는 크롤링은 인터넷 상에 존재하는 다양한 데이터를 검색하고 색인하기 위해 이용한다. 또한, 크롤링은 사용자가 수동으로 모든 웹 페이지의 데이터를 수집하는 것을 대신하여, 입력된 조건에 따라 새로운 데이터를 수집하고 분류하는 과정을 자동으로 수행할 수 있다. 크롤링은 기본적으로 인터넷 상에 존재하는 모든 데이터에 접근이 가능하기 때문에 수집 조건에 따라 방대한 데이터를 자동적으로 수집할 수 있다.
제1 크롤링부(100)는 인터넷의 복수의 웹사이트 상에서 도메인 링크를 실시간으로 크롤링할 수 있다(S110). 제1 크롤링부(100)는 정보보안, 해킹조직, 해킹기법 등의 사이버 위협에 관련된 키워드를 데이터 수집 조건으로 할 수 있다.
제2 크롤링부(200)는 제1 크롤링부(100)에서 카테고리화 된 복수의 웹사이트의 도메인 링크에 접속하여 비정형 데이터를 크롤링할 수 있다(S120).
제2 크롤링부(200)에서 크롤링되는 비정형 데이터는 제목, 소스, 링크, 작성시간, 내용 등을 포함할 수 있다. 특히, 제2 크롤링부(200)에서 크롤링한 비정형 데이터 중 '작성시간'은 후술할 모델링부(300)에서 비정형 데이터를 시계열에 따라 그룹화하는데 이용될 수 있다.
한편, 제2 크롤링부(200)는 파이썬(Python)의 newspaper 라이브러리 또는 newspaper3k 라이브러리를 이용하여 1차적으로 비정형 데이터를 크롤링 할 수 있다. newspaper 라이브러리 또는 newspaper3k 라이브러리는 사용자가 지정한 웹사이트의 도메인 링크에서 텍스트(text)를 추출하는 라이브러리다. 상기 라이브러리는 작성자 세부 정보, 게시 날짜와 같은 메타 정보를 얻는 API와 요약, 키워드, 저자 추출과 같은 NLP(Natural Language Processing) 기능을 제공한다.
제2 크롤링부(200)는 newspaper 라이브러리 또는 newspaper3k 라이브러리를 이용하여 웹사이트에서 비정형 데이터를 크롤링 할 수 없는 경우, 2차적으로 웹 구조 DNA 데이터베이스를 이용하여 비정형 데이터를 크롤링 할 수 있다.
웹 구조 DNA데이터 베이스는 크롤링 대상 웹사이트에서 비정형 데이터를 추출하기 위하여, 복수의 웹사이트의 HTML 코드를 선행적으로 분석하고 웹사이트의 구조를 분류하여 비정형 데이터를 추출할 수 있다.
한편, 제1 크롤링부(100) 및 제2 크롤링부(200)는 퍼페티어(Puppeteer)를 이용하여 크롤링 할 수 있다. 퍼페티어는 헤드리스 크롬(headless chrome)을 제어하기 위한 Node.js 라이브러리다. 퍼페티어는 구글 크롬의 헤드리스 모드를 이용하여 브라우저를 사용자에게 보여주지 않고, 백그라운드에서 작동할 수 있게 한다. 헤드리스 브라우저는 CLI(Command Line Interface) 환경에서 브라우저가 시각적으로 보이지 않고 백그라운드에서 작동하는 것을 의미하며, 헤드리스 모드의 사용은 주로 자동화 목적을 가진다. 제1 크롤링부(100) 및 제2 크롤링부(200)는 퍼페티어를 이용하여 백그라운드에서 고속 웹 크롤링을 수행할 수 있다.
모델링부(300)는 제2 크롤링부(200)에서 크롤링한 비정형 데이터를 모델링 할 수 있다(S130). 도 2에 도시하지 않았으나, 모델링부(300)는 한자 치환기, 형태소 추출기, 유사도 측정기, 위협정보 분류기, 상관성 분석기 및 취약성 분석기를 포함할 수 있다.
도 3은 본 발명의 일 실시예에 따른 모델링부(300)가 비정형 데이터를 모델링하는 방법을 개략적으로 도시한 흐름도이다.
이하, 도 3을 참조하여 상술한 모델링부(300)의 각 구성이 수행하는 비정형 데이터의 모델링 방법을 설명한다.
한자 치환기는 제2 크롤링부(200)에서 크롤링한 비정형 데이터에 한자 단어가 포함된 경우, 한자 단어에 대응되는 한글 단어가 분류된 데이터베이스를 참조하여 한자를 한글로 치환할 수 있다(S130-1). 한자 치환기는 string match 함수 및 replace 함수를 이용할 수 있다.
형태소 추출기는 제2 크롤링부에서 크롤링한 비정형 데이터의 형태소를 추출할 수 있다(S130-2). 형태소 추출기는 KoNLP(Korea Natural Language Processing) 라이브러리를 이용할 수 있다.
유사도 측정기는 S130-2 단계에서 추출한 비정형 데이터의 형태소를 기반으로 복수의 비정형 데이터 사이의 유사도를 측정할 수 있다(S130-3). 유사도 측정기는 TF-IDF(Term Frequency-Inverse Document Frequency)기법 및 Doc2Vec기법을 이용할 수 있다.
기계학습 알고리즘은 학습을 위해 텍스트의 문자열을 그대로 입력할 수 없고, 컴퓨터가 인식할 수 있도록 수치화된 데이터로 표현될 것을 요구한다. 따라서, 분류 작업에 앞서 텍스트를 벡터 공간상에 표현하는 방법이 필요하다. 텍스트를 벡터 형태로 표현하는 방법으로서, Word2vec기법 및 Doc2vec기법이 사용된다.
Word2vec기법과 Doc2vec기법은 형태소 추출기를 거쳐 비정형 데이터의 형태소를 추출하여 형태소 단위로 학습을 시키는 형태는 동일하지만, 유사도를 계산하는 과정이 상이하다.
Word2vec기법의 유사도 연산은 입력 값이 단어로 이루어지며, 결과값도 단어와 단어 사이의 유사도 점수로 계산된다. 그러나 Doc2vec기법은 입력 값이 문단으로 이루어지고, 문단과 문단 간의 유사도 연산을 수행할 수 있다.
즉, Word2vec기법을 이용한 문단의 유사도 계산의 경우 문단을 단어로 분리하여 단어의 유사도의 평균을 구하는 과정을 거치는 반면, Doc2vec기법을 이용한 문단 유사도 계산에서는 그 과정이 생략된다. 그러므로 Doc2vec기법을 이용하면 속도와 정확도가 향상되는 결과를 얻을 수 있다.
위협정보 분류기는 S130-3 단계에서 측정한 유사도를 기반으로 비정형 데이터를 카테고리 별로 분류할 수 있다(S130-4). 카테고리는 대분류 카테고리 및 소분류 카테고리로 나뉠 수 있고, 대분류 카테고리는 사이버 보안정보, 시스템 보안정보, 연관성 보안정보를 포함 할 수 있으며, 소분류 카테고리는 사회이슈, 정치뉴스, 기관뉴스, 해킹메일, 침해사고, 악성코드, 보안뉴스, 해킹뉴스, 취약점 등을 포함 할 수 있다.
상관성 분석기는 S130-4 단계에서 카테고리 별로 분류된 비정형 데이터와 서버(500)에 저장된 데이터의 중복성을 판단할 수 있다(S130-5). 상기 서버(500)에 저장된 데이터는 기존에 수집된 사이버 위협 데이터를 포함할 수 있다.
또한, 상관성 분석기는 분류된 비정형 데이터 및 상기 분류된 비정형 데이터와 중복되는 서버(500)에 저장된 데이터를, 상기 카테고리 별로 시계열에 따라 그룹화하여 그룹화된 데이터의 연관성을 분석할 수 있다(S130-6).
취약성 분석기는 S130-4 단계에서 분류된 '시스템 보안정보' 카테고리에서 시스템 취약점 정보를 추출할 수 있다. 상기 시스템 취약점 정보는 시스템 버전 등을 포함할 수 있다. 한편, 취약성 분석기는 beautifulsoup 라이브러리를 이용하여 시스템 취약점 정보를 추출할 수 있다. beautifulsoup 라이브러리는 웹 데이터를 파싱(parsing)할 때 사용하는 라이브러리이다.
또한, 취약성 분석기는 추출된 시스템 취약점 정보를 서버(500)에 저장된 데이터와 매칭시켜 연계성을 생성하고 분류할 수 있다. 상기 서버(500)에 저장된 데이터는 상관성 분석기에서와 마찬가지로, 기존에 수집된 사이버 위협 데이터를 포함할 수 있다.
시각화부(400)는 모델링부(300)에서 모델링된 비정형 사이버 위협 데이터를 시각화 할 수 있다(S140). 모델링부(300)의 상관성 분석기에서 그룹화된 데이터 또는 취약성 분석기에서 추출된 데이터를 벡터화하여 2D 또는 3D로 시각화 할 수 있다.
시각화부(400)는 벡터화된 데이터를 HTML5 canvas, D2.js, CSS3를 이용하여 2D 또는 3D로 시각화 할 수 있다. 또한, 시각화부(400)는 3D로 시각화된, 모델링된 비정형 데이터 중에서 일부 데이터를 선택하여 상기 일부 데이터를 2D로 전환할 수 있다.
또한, 시각화부(400)는 현재 모델링된 비정형 데이터와 기존에 모델링된 비정형 데이터를 분리하여 시각화할 수 있다.
도 4는 시각화부(400)에서, 상관성 분석기에서 그룹화된 데이터를 시각화 한 것을 예시적으로 나타낸 도면으로서, 도 4a는 2D로 시각화 한 것을 나타낸 도면이고, 도 4b는 3D로 시각화 한 것을 나타낸 도면이다.
도 4a를 참조하면, 시각화부(400)는 카테고리 별로 분류된 비정형 데이터(A, B, C, D, E)와 상기 분류된 비정형 데이터와 중복되는 서버(500)에 저장된 데이터(B' 외 프라임 기호가 붙어있는 문자들)가 시계열에 따라 그룹화된 것을 시각화 할 수 있다. 도 4a는 6월과 7월에 작성된 비정형 사이버 위협 데이터를 서버(500)에 저장된 데이터와 그룹화하여 주(week: w) 단위로 도시한 것이다.
도 4b를 참조하면, 시각화부(400)는 카테고리 별로 분류된 비정형 데이터를 시계열에 따라 3D로 시각화 할 수 있다. 도 4b는 7월(july; Jul)에 작성된 비정형 데이터를 카테고리(사회이슈, 정치뉴스, 기관뉴스, 해킹메일, 침해사고, 악성코드, 보안뉴스, 해킹뉴스, 취약점) 별로 분류하여 일 단위로 도시한 것이다. 시각화부(400)는 도4b의 일부 데이터를 선택하여 선택한 기간에 해당하는 데이터를 2D로 전환할 수 있다.
한편, 비정형 데이터의 모델링 방법은 프로그램으로 작성 가능하며, 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 비정형 데이터의 모델링 방법에 관한 프로그램은 컴퓨터와 같은 전자장치가 읽을 수 있는 정보저장매체(Readable Media)에 저장되고, 전자장치에 의하여 읽혀지고 실행될 수 있다.
본 명세서에서 기술한 기술적 특징과 이를 실행하는 구현물은 디지털 전자 회로로 구현되거나, 본 명세서에서 기술하는 구조 및 그 구조적인 등가물 등을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현되거나, 이들 중 하나 이상의 조합으로 구현될 수 있다. 또한, 본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 또는 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령어에 관한 모듈로서 구현될 수도 있다.
본 명세서에서 "시스템"이라 함은, 예를 들어, 프로세서, 컴퓨터 또는 다중 프로세서나 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 기구, 장치 및 기계를 포함한다. 처리 시스템은, 하드웨어에 부가하여, 예를 들어, 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 이들 중 둘 이상의 조합 등, 컴퓨터 프로그램에 대한 실행 환경을 형성하는 모든 요소를 포함할 수 있다. 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드 등으로 알려진 컴퓨터 프로그램은 컴파일 되거나 해석된 언어 또는 선험적, 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴의 형태는 물론, 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 더 포함하는 다양한 형태로 구현될 수 있다.
이상과 같이 본 발명을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 발명의 기술적 사상과 필수적 특징을 유지한 채로 다른 형태로도 실시될 수 있음을 인지할 수 있을 것이다.
본 발명의 범위는 청구범위에 의하여 규정되어질 것이지만, 청구범위 기재사항으로부터 직접적으로 도출되는 구성은 물론 그와 등가인 구성으로부터 도출되는 모든 변경 또는 변형된 형태 또한 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
10: 비정형 데이터의 모델링 시스템
100: 제1 크롤링부
200: 제2 크롤링부
300: 모델링부
400: 시각화부
500: 서버

Claims (13)

  1. 복수의 웹사이트에서 크롤링한 비정형 데이터와 서버에 저장된 데이터를 연계하는 비정형 데이터의 모델링 방법에 있어서,
    상기 복수의 웹사이트의 도메인 링크를 실시간으로 크롤링하는 제1 크롤링 단계;
    상기 도메인 링크에서 비정형 데이터를 크롤링하는 제2 크롤링 단계;
    상기 비정형 데이터를 모델링 하는 단계; 및
    상기 모델링된 비정형 데이터를 2D 또는 3D로 시각화 하는 단계; 를 포함하고,
    상기 비정형 데이터를 모델링 하는 단계는,
    상기 비정형 데이터에서 형태소를 추출하는 단계;
    상기 형태소를 기반으로 상기 비정형 데이터 사이의 유사도를 측정하는 단계;
    상기 측정된 유사도를 기반으로 상기 비정형 데이터를 카테고리 별로 분류하는 단계;
    상기 분류된 비정형 데이터와 상기 서버에 저장된 데이터의 중복성을 판단하는 단계; 및
    상기 분류된 비정형 데이터 및 상기 분류된 비정형 데이터와 중복되는 서버에 저장된 데이터를 상기 카테고리 별로 시계열에 따라 그룹화하여, 그룹화된 데이터의 연관성을 분석하는 단계; 를 포함하는,
    비정형 데이터의 모델링 방법.
  2. 제1항에 있어서,
    상기 제2 크롤링 단계는,
    newspaper 라이브러리을 이용하여 상기 비정형 데이터를 크롤링하는 단계; 를 포함하되,
    상기 newspaper 라이브러리을 이용할 수 없는 경우,
    웹 구조 DNA 데이터베이스를 이용하여 상기 비정형 데이터를 크롤링하는 단계; 를 더 포함하는,
    비정형 데이터의 모델링 방법.
  3. 제2항에 있어서,
    상기 웹 구조 DNA 데이터베이스는,
    웹사이트의 HTML코드를 분석하여 웹사이트의 구조적 특징을 분류하는 것을 특징으로 하는, 비정형 데이터의 모델링 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 비정형 데이터에서 형태소를 추출하는 단계 이전에,
    상기 비정형 데이터에 한자 단어가 포함된 경우, 한자 단어에 대응되는 한글 단어가 분류된 데이터베이스를 참조하여 한자를 한글로 치환하는 단계를 더 포함하는, 비정형 데이터의 모델링 방법.
  6. 삭제
  7. 복수의 웹사이트에서 크롤링한 비정형 데이터와 서버에 저장된 데이터를 연계하는 비정형 데이터의 모델링 시스템에 있어서,
    상기 복수의 웹사이트의 도메인 링크를 실시간으로 크롤링하는 제1 크롤링부;
    상기 도메인 링크에서 비정형 데이터를 크롤링하는 제2 크롤링부;
    상기 비정형 데이터를 모델링 하는 모델링부; 및
    상기 모델링된 비정형 데이터를 2D 또는 3D로 시각화 하는 시각화부; 를 포함하고,
    상기 모델링부는,
    상기 비정형 데이터에서 형태소를 추출하는 형태소 추출기;
    상기 형태소를 기반으로 상기 비정형 데이터 사이의 유사도를 측정하는 유사도 측정기;
    상기 측정된 유사도를 기반으로 상기 비정형 데이터를 카테고리 별로 분류하는 위협정보 분류기; 및
    상기 분류된 비정형 데이터와 상기 서버에 저장된 데이터의 중복성을 판단하는 상관성 분석기; 를 포함하고,
    상기 상관성 분석기는,
    상기 분류된 비정형 데이터 및 상기 분류된 비정형 데이터와 중복되는 서버에 저장된 데이터를 상기 카테고리 별로 시계열에 따라 그룹화하여, 그룹화된 데이터의 연관성을 분석하는 것을 특징으로 하는,
    비정형 데이터의 모델링 시스템.
  8. 제7항에 있어서,
    상기 제2 크롤링부는,
    newspaper 라이브러리을 이용하여 상기 비정형 데이터를 크롤링하되,
    상기 newspaper 라이브러리을 이용할 수 없는 경우,
    웹 구조 DNA 데이터베이스를 이용하여 상기 비정형 데이터를 크롤링하는 것을 특징으로 하는, 비정형 데이터의 모델링 시스템.
  9. 제8항에 있어서,
    상기 웹 구조 DNA 데이터베이스는,
    웹사이트의 HTML코드를 분석하여 웹사이트의 구조적 특징을 분류하는 것을 특징으로 하는, 비정형 데이터의 모델링 시스템.
  10. 삭제
  11. 제7항에 있어서,
    상기 모델링부는,
    상기 비정형 데이터에 한자 단어가 포함된 경우, 한자 단어에 대응되는 한글 단어가 분류된 데이터베이스를 참조하여 한자를 한글로 치환하는 한자 치환기를 더 포함하는, 비정형 데이터의 모델링 시스템.
  12. 삭제
  13. 제7항에 있어서,
    상기 시각화부는,
    3D로 시각화된 상기 모델링된 비정형 데이터 중에서 일부 데이터를 선택하여 상기 일부 데이터를 2D로 전환할 수 있는 것을 특징으로 하는, 비정형 데이터의 모델링 시스템.
KR1020190167881A 2019-12-16 2019-12-16 비정형 데이터의 모델링 방법 및 시스템 KR102166390B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190167881A KR102166390B1 (ko) 2019-12-16 2019-12-16 비정형 데이터의 모델링 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190167881A KR102166390B1 (ko) 2019-12-16 2019-12-16 비정형 데이터의 모델링 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102166390B1 true KR102166390B1 (ko) 2020-10-15

Family

ID=72882922

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190167881A KR102166390B1 (ko) 2019-12-16 2019-12-16 비정형 데이터의 모델링 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102166390B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102342055B1 (ko) 2021-05-28 2021-12-27 주식회사 애자일소다 정형 데이터와 비정형 데이터를 이용한 자연어 처리 장치 및 방법
KR20220126468A (ko) * 2021-03-09 2022-09-16 한국원자력 통제기술원 우려거래자 정보 수집 및 관리 시스템과 그 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050070955A (ko) * 2003-12-31 2005-07-07 한국과학기술정보연구원 과학기술 정보분석 방법 및 그 방법에 대한 컴퓨터프로그램을 저장한 기록매체
JP2008165599A (ja) * 2006-12-28 2008-07-17 National Institute Of Information & Communication Technology 風評情報抽出装置及び風評情報抽出方法
KR20170004165A (ko) * 2015-07-01 2017-01-11 지속가능발전소 주식회사 뉴스의 데이터마이닝을 통한 기업 평판 분석 장치 및 방법, 그 방법을 수행하기 위한 기록 매체
KR20170022230A (ko) * 2015-08-19 2017-03-02 고려대학교 산학협력단 온라인 상의 사용자들에 의하여 작성된 비정형데이터로부터 범죄탐지를 수행하는 시스템 및 이를 이용한 범죄탐지 방법
KR20170115109A (ko) * 2016-03-23 2017-10-17 서울대학교산학협력단 효율적 건설문서 관리를 위한 텍스트마이닝 적용 기술
KR102008845B1 (ko) 2017-11-30 2019-10-21 굿모니터링 주식회사 비정형 데이터의 카테고리 자동분류 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050070955A (ko) * 2003-12-31 2005-07-07 한국과학기술정보연구원 과학기술 정보분석 방법 및 그 방법에 대한 컴퓨터프로그램을 저장한 기록매체
JP2008165599A (ja) * 2006-12-28 2008-07-17 National Institute Of Information & Communication Technology 風評情報抽出装置及び風評情報抽出方法
KR20170004165A (ko) * 2015-07-01 2017-01-11 지속가능발전소 주식회사 뉴스의 데이터마이닝을 통한 기업 평판 분석 장치 및 방법, 그 방법을 수행하기 위한 기록 매체
KR20170022230A (ko) * 2015-08-19 2017-03-02 고려대학교 산학협력단 온라인 상의 사용자들에 의하여 작성된 비정형데이터로부터 범죄탐지를 수행하는 시스템 및 이를 이용한 범죄탐지 방법
KR20170115109A (ko) * 2016-03-23 2017-10-17 서울대학교산학협력단 효율적 건설문서 관리를 위한 텍스트마이닝 적용 기술
KR102008845B1 (ko) 2017-11-30 2019-10-21 굿모니터링 주식회사 비정형 데이터의 카테고리 자동분류 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
홍성혁 외 2인, 국한문 혼용 문장의 형태소 분석을 위한 사전 구성, 한국정보과학회 학술발표논문집 23(2A), 1996.10.* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220126468A (ko) * 2021-03-09 2022-09-16 한국원자력 통제기술원 우려거래자 정보 수집 및 관리 시스템과 그 방법
KR102563539B1 (ko) * 2021-03-09 2023-08-03 한국원자력 통제기술원 우려거래자 정보 수집 및 관리 시스템과 그 방법
KR102342055B1 (ko) 2021-05-28 2021-12-27 주식회사 애자일소다 정형 데이터와 비정형 데이터를 이용한 자연어 처리 장치 및 방법

Similar Documents

Publication Publication Date Title
Boididou et al. Detection and visualization of misleading content on Twitter
Moghimi et al. New rule-based phishing detection method
Varshney et al. A review on rumour prediction and veracity assessment in online social network
Buber et al. NLP based phishing attack detection from URLs
Wu et al. A phishing detection system based on machine learning
Rakha et al. Studying the needed effort for identifying duplicate issues
Mazzeo et al. Detection of fake news on COVID-19 on web search engines
Boididou et al. Learning to detect misleading content on twitter
Brar et al. Sentiment analysis of movie review using supervised machine learning techniques
Ullah et al. Software plagiarism detection in multiprogramming languages using machine learning approach
Guo et al. CyberRel: Joint entity and relation extraction for cybersecurity concepts
KR102166390B1 (ko) 비정형 데이터의 모델링 방법 및 시스템
Wang et al. Cyber threat intelligence entity extraction based on deep learning and field knowledge engineering
CN111881398A (zh) 页面类型确定方法、装置和设备及计算机存储介质
CN115757991A (zh) 一种网页识别方法、装置、电子设备和存储介质
Hoy et al. A systematic review on the detection of fake news articles
Rittichier et al. A trust-based tool for detecting potentially damaging users in social networks
Nirav Shah et al. A systematic literature review and existing challenges toward fake news detection models
Samonte Polarity analysis of editorial articles towards fake news detection
US20200410010A1 (en) Expert stance classification using computerized text analytics
Qureshi et al. Detecting social polarization and radicalization
Assaggaf et al. Development of Graph-Based Knowledge on Ransomware Attacks Using Twitter Data
Hannah et al. A classification-based summarisation model for summarising text documents
Xiao et al. The Challenges of Machine Learning for Trust and Safety: A Case Study on Misinformation Detection
Khan Detecting phishing attacks using nlp

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant