KR102344293B1 - 보안 로그 전처리 장치 및 방법 - Google Patents

보안 로그 전처리 장치 및 방법 Download PDF

Info

Publication number
KR102344293B1
KR102344293B1 KR1020180130743A KR20180130743A KR102344293B1 KR 102344293 B1 KR102344293 B1 KR 102344293B1 KR 1020180130743 A KR1020180130743 A KR 1020180130743A KR 20180130743 A KR20180130743 A KR 20180130743A KR 102344293 B1 KR102344293 B1 KR 102344293B1
Authority
KR
South Korea
Prior art keywords
security log
items
divided
vector data
ascii code
Prior art date
Application number
KR1020180130743A
Other languages
English (en)
Other versions
KR20200048562A (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
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020180130743A priority Critical patent/KR102344293B1/ko
Priority to US16/665,663 priority patent/US11790252B2/en
Publication of KR20200048562A publication Critical patent/KR20200048562A/ko
Application granted granted Critical
Publication of KR102344293B1 publication Critical patent/KR102344293B1/ko

Links

Images

Classifications

    • 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/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)

Abstract

보안 로그 전처리 장치 및 방법이 개시된다. 일 실시예에 따른 보안 로그 전처리 장치는, 보안 로그의 구조에 기초하여 상기 보안 로그의 문자 열을 복수의 항목으로 분할하는 항목 분할부, 상기 분할된 복수의 항목 각각에 포함된 문자 열을 아스키 코드로 변환하는 아스키 코드 변환부 및 상기 변환된 아스키 코드를 이용하여 상기 복수의 항목 각각에 대한 벡터 데이터를 생성하는 벡터 데이터 생성부를 포함한다.

Description

보안 로그 전처리 장치 및 방법{APPARATUS AND METHOD FOR PREPROCESSING SECURITY LOG}
개시되는 실시예들은 보안 로그를 전처리하는 기술과 관련된다.
보안 시스템에서는 보안장비를 사용할 때 문자 형태의 보안 로그를 기록하게 된다. 이때, 보안 위협으로부터 방어하기 위해 보안 로그를 분석하여 공격 구문을 정확하게 탐지하는 것이 중요하다. 이와 관련하여, 최근에는 기계 학습(Machine Learning) 기반 예측 모델을 이용하여 보안 로그를 분석하여 외부로부터의 침입을 예측한다. 다만, 기계 학습 기반 예측 모델을 이용하여 보안 로그를 분석하는 경우, 보안 로그를 전처리하는 과정이 필요하다.
이때, 보안 로그를 전처리하기 위한 종래의 전처리 모델로서 Word2Vec, Hashing Vectorization 등이 있다. 다만, 종래의 기술들은 보안 로그에 포함된 문맥 속 단어의 상대적인 위치를 분석하기 때문에 종래의 전처리 모델을 이용하여 보안 로그를 전처리하는 경우, 보안 로그에 포함된 정보를 손실하거나 왜곡하는 문제점이 있다.
따라서, 보안 로그에 포함된 정보를 손실 및 왜곡하지 않고, 기계 학습 기반 예측 모델이 보안 로그를 분석하는데 최적화되도록 보안 로그를 전처리할 수 있는 방안이 요구되고 있다.
한국등록특허 제10-1810762호 (2017.12.19. 공고)
개시되는 실시예들은 보안 로그 전처리 장치 및 방법을 제공하기 위한 것이다.
일 실시예에 따른 보안 로그 전처리 장치는, 보안 로그의 구조에 기초하여 상기 보안 로그의 문자 열을 복수의 항목으로 분할하는 항목 분할부, 상기 분할된 복수의 항목 각각에 포함된 문자 열을 아스키 코드로 변환하는 아스키 코드 변환부 및 상기 변환된 아스키 코드를 이용하여 상기 복수의 항목 각각에 대한 벡터 데이터를 생성하는 벡터 데이터 생성부를 포함한다.
상기 아스키 코드 변환부는, 상기 문자 열에 포함된 복수의 문자 중 기 설정된 문자를 가중치가 부여된 아스키 코드로 변환할 수 있다.
상기 벡터 데이터는, 상기 변환된 아스키 코드 및 상기 분할된 복수의 항목 각각에 포함된 문자 열의 길이를 포함할 수 있다.
상기 벡터 데이터는, 상기 분할된 복수의 항목 각각에 설정된 문자 열 최대 길이에 기초하여 차원이 결정될 수 있다.
상기 벡터 데이터 생성부는, 상기 결정된 차원에 기초하여 상기 벡터 데이터에 포함된 복수의 요소 중 상기 변환된 아스키 코드 및 상기 분할된 복수의 항목 각각에 포함된 문자 열의 길이에 해당하지 않는 요소의 값을 0으로 설정할 수 있다.
일 실시예에 따른 보안 로그 전처리 방법은, 보안 로그의 구조에 기초하여 상기 보안 로그의 문자 열을 복수의 항목으로 분할하는 단계, 상기 분할된 복수의 항목 각각에 포함된 문자 열을 아스키 코드로 변환하는 단계 및 상기 변환된 아스키 코드를 이용하여 상기 복수의 항목 각각에 대한 벡터 데이터를 생성하는 단계를 포함한다.
상기 변환하는 단계는, 상기 문자 열에 포함된 복수의 문자 중 기 설정된 문자를 가중치가 부여된 아스키 코드로 변환할 수 있다.
상기 벡터 데이터는, 상기 변환된 아스키 코드 및 상기 분할된 복수의 항목 각각에 포함된 문자 열의 길이를 포함할 수 있다.
상기 벡터 데이터는, 상기 분할된 복수의 항목 각각에 설정된 문자 열 최대 길이에 기초하여 차원이 결정될 수 있다.
상기 생성하는 단계는, 상기 결정된 차원에 기초하여 상기 벡터 데이터에 포함된 복수의 요소 중 상기 변환된 아스키 코드 및 상기 분할된 복수의 항목 각각에 포함된 문자 열의 길이에 해당하지 않는 요소의 값을 0으로 설정할 수 있다.
개시되는 실시예들에 따르면, 아스키 코드를 이용하여 보안 로그를 전처리함으로써 보안 로그에 포함된 정보를 손실하거나 왜곡하지 않고 벡터 데이터로 변환할 수 있다.
또한, 개시되는 실시예들에 따르면, 보안 로그를 벡터 데이터로 변환함으로써 보안 로그를 분석하는 기계 학습 기반 예측 모델의 성능을 높일 수 있다.
도 1은 일 실시예에 따른 보안 로그 분석 시스템의 구성도
도 2는 일 실시예에 따른 구조체를 프로그래밍 언어로 나타낸 예시도
도 3은 일 실시예에 따른 보안 로그 전처리 장치의 구성도
도 4는 일 실시예에 따른 보안 로그의 문자 열을 복수의 항목으로 분할하는 예를 설명하기 위한 도면
도 5는 일 실시예에 따른 문자 열을 아스키 코드로 변환하는 일 예를 설명하기 위한 도면
도 6은 일 실시예에 따른 보안 로그 전처리 방법의 순서도
도 7은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 이에 제한되지 않는다.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 또한, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 일 실시예에 따른 보안 로그 분석 시스템(100)의 구성도이다.
보안 로그 분석 시스템(100)은 보안 시스템의 보안 로그(110)를 분석하여 외부로부터의 침입을 감지하고, 이로부터 방어하기 위한 하나 이상의 서버로 구성될 수 있다. 이때, 보안 로그(110)는 보안장비를 사용할 때 기록되는 텍스트 형태의 로그를 의미할 수 있다. 예를 들어, 보안 로그(110)는 침입 탐지 시스템(IDS: Intrusion Detection System) 이벤트 로그, 웹(Web) 로그, 방화벽(Firewall) 로그, 지능형 지속 위협(APT: Advanced Persistent Threat) 로그 등을 포함할 수 있다. 또한, 보안 로그(110)는 예를 들어, URL(Uniform Resource Locator) 형태일 수 있다.
도 1을 참조하면, 보안 로그 분석 시스템(100)은 데이터 수집 서버(101), 전처리 서버(103), 학습 서버(105), 검증 서버(107) 및 예측 서버(109)를 포함할 수 있다.
데이터 수집 서버(101)는 분석 대상인 보안 로그(110)를 수집할 수 있다. 또한, 데이터 수집 서버(101)는 전처리된 보안 로그를 저장하기 위한 구조체를 설계할 수 있다. 이때, 구조체는 후술할 방식에 의해 전처리된 보안 로그에 대한 정보 예를 들어, 복수의 항목 각각에 포함된 문자 열, 복수의 항목 각각에 포함된 문자 열의 길이, 복수의 항목 각각에 대한 벡터 데이터 등을 포함할 수 있다.
도 2는 일 실시예에 따른 구조체(200)를 프로그래밍 언어로 나타낸 예시도이다.
도 2를 참조하면, 보안 로그의 문자 열을 protocol 항목(210), domain 항목(220), path 항목(230) 및 query string 항목(240)으로 분할한 것으로 가정하면, 구조체(200)는 각 항목(210, 220, 230, 240)에 대한 정보들을 포함할 수 있다. 예를 들어, 구조체(200)는 protocol 항목(210)에 대한 정보로서 protocol 항목(210)에 포함된 문자 열, protocol 항목(210)에 포함된 문자 열의 길이 및 protocol 항목(210)에 대한 벡터 데이터를 포함할 수 있다.
한편, 상술한 예에서 구조체는 항목에 포함된 문자 열, 항목에 포함된 문자 열의 길이 및 항목에 대한 벡터 데이터를 포함하는 것으로 설계되었으나, 반드시 이에 한정되는 것은 아니고, 구조체는 실시예에 따라 다양한 형태로 설계될 수 있다.
다시 도 1을 참조하면, 전처리 서버(103)는 수집된 보안 로그(110)를 예측 모델에서 학습 데이터로 사용되기 적합한 형태로 전처리할 수 있다. 이때, 예측 모델은 전처리된 보안 로그를 포함하는 학습 데이터를 기초로 특정 보안 로그에서 공격 구문을 탐지하는 기계 학습(Machine Learning) 기반 모델일 수 있다. 예를 들어, 예측 모델은 랜덤 포레스트(Random Forest), K-means 클러스터링(clustering) 등을 포함할 수 있다.
학습 서버(105)는 전처리된 보안 로그를 학습 데이터로 이용하여 기 설정된 알고리즘에 기초하여 예측 모델을 학습시킬 수 있다. 또한, 학습 서버(105)는 검증 서버(107)로부터 수신받은 예측 모델에 대한 검증 결과에 기초하여 예측 모델을 재학습시킬 수 있다.
검증 서버(107)는 학습된 예측 모델을 검증 셋(validation set)을 이용하여 검증할 수 있다. 이때, 검증 서버(107)는 예측 모델에 대한 검증을 통해 예측 모델의 성능을 평가할 수 있다.
예측 서버(109)는 예측 모델을 이용하여 특정 보안 로그로부터 공격 구문을 탐지할 수 있다.
도 3은 일 실시예에 따른 보안 로그 전처리 장치(300)의 구성도이다.
도 3에 도시된 보안 로그 전처리 장치(300)는 예를 들어, 도 1에 도시된 전처리 서버(103)에 포함된 일 구성으로 구현될 수 있다.
도 3을 참조하면, 보안 로그 전처리 장치(300)는 항목 분할부(310), 아스키 코드 변환부(330) 및 벡터 데이터 생성부(350)를 포함한다.
항목 분할부(310)는 보안 로그의 구조에 기초하여 보안 로그의 문자 열을 복수의 항목으로 분할한다.
보안 로그의 구조는 보안 로그가 일반적으로 가지는 구조를 사용자가 사전에 분석하여 획득한 정보일 수 있다. 이때, 보안 로그의 구조는 복수의 항목으로 구성될 수 있다. 항목은 보안 로그에 포함된 문자들이 가지는 의미에 따라 구분한 것이다. 예를 들어, 항목은 프로토콜(protocol), 도메인(domain), 경로(path), 쿼리 스트링(query string) 등을 포함할 수 있다.
도 4는 일 실시예에 따른 보안 로그의 문자 열을 복수의 항목으로 분할하는 예를 설명하기 위한 도면이다.
도 4를 참조하면, 항목 분할부(310)는 프로토콜, 도메인, 경로, 쿼리 스트링으로 구성된 보안 로그(410)의 구조에 기초하여 보안 로그(410)의 문자 열을 protocol 항목(420), domain 항목(430), path 항목(440) 및 query string 항목(450)으로 분할할 수 있다. 또한, 항목 분할부(210)는 분할된 항목에 포함된 문자 열의 반복되는 구조에 기초하여 분할된 항목을 세부적인 항목으로 분할할 수 있다. 예를 들어, 분할된 복수의 항목 중 path 항목(440)은 split1 항목 및 split2 항목으로 세부적으로 분할하고, query string 항목(450)은 key1 항목, value1 항목, key2 항목 및 value2 항목으로 세부적으로 분할할 수 있다.
다시 도 3을 참조하면, 아스키 코드 변환부(330)는 분할된 복수의 항목 각각에 포함된 문자 열을 아스키 코드로 변환할 수 있다.
도 5는 일 실시예에 따른 문자 열을 아스키 코드로 변환하는 일 예를 설명하기 위한 도면이다.
도 5를 참조하면, protocol 항목(510)에 'http://'라는 문자 열(520)이 포함된 것으로 가정하면, 아스키 코드 변환부(330)는 protocol 항목(510)에 포함된 문자 열(520)의 각 문자를 아스키 코드(530)로 변환할 수 있다.
또한, domain 항목(540)에 'samsung.com'라는 문자 열(550)이 포함된 것으로 가정하면, 아스키 코드 변환부(330)는 domain 항목(540)에 포함된 문자 열(550)의 각 문자를 아스키 코드(560)로 변환할 수 있다.
다시 도 3을 참조하면, 일 실시예에 따르면, 아스키 코드 변환부(330)는 문자 열에 포함된 복수의 문자 중 기 설정된 문자를 가중치가 부여된 아스키 코드로 변환할 수 있다.
이때, 기 설정된 문자는 보안 로그에 포함된 공격 구문에서 주로 쓰이는 문자를 의미할 수 있다. 예를 들어, 기 설정된 문자는 '@', '#', '$', '%', '^' 등과 같이 특수 문자일 수 있다.
벡터 데이터 생성부(350)는 변환된 아스키 코드를 이용하여 복수의 항목 각각에 대한 벡터 데이터를 생성한다. 이때, 벡터 데이터는 보안 로그에 대응되는 데이터일 수 있다. 또한, 벡터 데이터는 예측 모델에 입력되는 학습 데이터일 수 있다.
일 실시예에 따르면, 벡터 데이터는 변환된 아스키 코드 및 분할된 복수의 항목 각각에 포함된 문자 열의 길이를 포함할 수 있다. 이때, 변환된 아스키 코드 및 분할된 복수의 항목 각각에 포함된 문자 열의 길이는 벡터 데이터의 요소일 수 있다.
다시 도 5를 참조하면, protocol 항목(510)에 포함된 문자 열(520)의 길이(580)가 7이므로, 벡터 데이터 생성부(350)는 protocol 항목(510)에 포함된 문자 열(520)을 변환시킨 아스키 코드(530) 및 문자 열(520)의 길이(580)를 포함하는 벡터 데이터(570)를 생성할 수 있다. 이때, 벡터 데이터 생성부(350)는 벡터 데이터(570) 생성 시 변환된 아스키 코드(530)를 맨 앞에 위치시키고, 문자 열(520)의 길이(580)를 가장 뒤에 위치시킬 수 있다.
한편, 상술한 예에서 벡터 데이터 생성부(350)는 벡터 데이터 생성 시 변환된 아스키 코드를 맨 앞에 위치시키고, 문자 열의 길이를 가장 뒤에 위치시켰으나, 반드시 이에 한정되는 것은 아니고, 벡터 데이터에서 변환된 아스키 코드 및 문자 열의 길이 각각의 위치는 다양하게 설정될 수 있다.
다시 도 3을 참조하면, 일 실시예에 따르면, 벡터 데이터는 분할된 복수의 항목 각각에 설정된 문자 열 최대 길이에 기초하여 차원이 결정될 수 있다.
구체적으로, 복수의 항목 각각에 설정된 문자 열 최대 길이에 1을 더한 값이 벡터 데이터의 차원으로 결정될 수 있다.
다시 도 5를 참조하면, protocol 항목(510)에 설정된 문자 열 최대 길이가 8인 것으로 가정하면, protocol 항목(510)에 대한 벡터 데이터(570)의 차원은 9차원으로 결정될 수 있다.
한편, 상술한 예에서 복수의 항목 각각에 설정된 문자 열 최대 길이에 1을 더한 값을 벡터 데이터의 차원으로 결정하였으나, 반드시 이에 한정되는 것은 아니고, 벡터 데이터의 차원은 다양한 방식으로 결정될 수 있다.
다시 도 3을 참조하면, 일 실시예에 따르면, 벡터 데이터 생성부(350)는 결정된 벡터 데이터의 차원에 기초하여 벡터 데이터에 포함된 복수의 요소 중 변환된 아스키 코드 및 분할된 복수의 항목 각각에 포함된 문자 열의 길이에 해당하지 않는 요소의 값을 0으로 설정할 수 있다.
다시 도 5를 참조하면, protocol 항목(510)에 설정된 문자 열 최대 길이가 8인 것으로 가정하면, protocol 항목(510)에 대한 벡터 데이터(570)의 차원이 9차원으로 결정되므로 벡터 데이터(570)에 포함된 복수의 요소 중 변환된 아스키 코드(530) 및 문자 열의 길이(580)에 해당하지 않는 특정 요소(590)가 존재할 수 있다. 이때, 벡터 데이터 생성부(350)는 특정 요소(590)의 값을 0으로 설정하여 벡터 데이터(570)를 생성할 수 있다.
도 6은 일 실시예에 따른 보안 로그 전처리 방법의 구성도이다.
도 6에 도시된 방법은 예를 들어, 도 3에 도시된 보안 로그 전처리 장치(300)에 의해 수행될 수 있다.
도 6을 참조하면, 보안 로그 전처리 장치(300)는 보안 로그의 구조에 기초하여 보안 로그의 문자 열을 복수의 항목으로 분할한다(610).
이후, 보안 로그 전처리 장치(300)는 분할된 복수의 항목 각각에 포함된 문자 열을 아스키 코드로 변환한다(620).
이때, 보안 로그 전처리 장치(300)는 문자 열에 포함된 복수의 문자 중 기 설정된 문자를 가중치가 부여된 아스키 코드로 변환할 수 있다.
이후, 보안 로그 전처리 장치(300)는 변환된 아스키 코드를 이용하여 복수의 항목 각각에 대한 벡터 데이터를 생성한다(630).
이때, 보안 로그 전처리 장치(300)는 결정된 차원에 기초하여 벡터 데이터에 포함된 복수의 요소 중 변환된 아스키 코드 및 분할된 복수의 항목 각각에 포함된 문자 열의 길이에 해당하지 않는 요소의 값을 0으로 설정할 수 있다.
한편, 도 6에 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계과 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 7은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 예를 들어, 도 3에 항목 분할부(310), 아스키 코드 변환부(330) 및 벡터 데이터 생성부(350)와 같이 보안 로그 전처리 장치(300)에 포함되는 하나 이상의 컴포넌트일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서는 실시예들을 중심으로 기술적 특징들을 설명하였다. 하지만, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한고, 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 권리범위에 포함된 것으로 해석되어야 할 것이다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 보안 로그 분석 시스템
101: 데이터 수집 서버
103: 전처리 서버
105: 학습 서버
107: 검증 서버
109: 탐지 서버
300: 보안 로그 전처리 장치
310: 항목 분할부
330: 아스키 코드 변환부
350: 벡터 데이터 생성부

Claims (10)

  1. 보안 로그의 구조에 기초하여 상기 보안 로그의 문자 열을 복수의 항목으로 분할하고, 상기 분할된 복수의 항목 각각에 포함된 문자 열의 반복되는 구조에 기초하여 상기 분할된 복수의 항목을 세부 항목으로 분할하는 항목 분할부;
    상기 분할된 세부 항목 각각에 포함된 문자 열을 아스키 코드로 변환하는 아스키 코드 변환부; 및
    상기 변환된 아스키 코드를 이용하여 상기 세부 항목 각각에 대한 벡터 데이터를 생성하는 벡터 데이터 생성부를 포함하되,
    상기 아스키 코드 변환부는, 상기 문자 열에 포함된 복수의 문자 중 기 설정된 문자를 가중치가 부여된 아스키 코드로 변환하는, 보안 로그 전처리 장치.
  2. 삭제
  3. 청구항 1항에 있어서,
    상기 벡터 데이터는, 상기 변환된 아스키 코드 및 상기 분할된 세부 항목 각각에 포함된 문자 열의 길이를 포함하는 보안 로그 전처리 장치.
  4. 청구항 1항에 있어서,
    상기 벡터 데이터는, 상기 분할된 세부 항목 각각에 설정된 문자 열 최대 길이에 기초하여 차원이 결정되는 보안 로그 전처리 장치.
  5. 청구항 4항에 있어서,
    상기 벡터 데이터 생성부는, 상기 결정된 차원에 기초하여 상기 벡터 데이터에 포함된 복수의 요소 중 상기 변환된 아스키 코드 및 상기 분할된 세부 항목 각각에 포함된 문자 열의 길이에 해당하지 않는 요소의 값을 0으로 설정하는 보안 로그 전처리 장치.
  6. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨터 장치에서 수행되는 방법으로서,
    보안 로그의 구조에 기초하여 상기 보안 로그의 문자 열을 복수의 항목으로 분할하고, 상기 분할된 복수의 항목 각각에 포함된 문자 열의 반복되는 구조에 기초하여 상기 분할된 복수의 항목을 세부 항목으로 분할하는 단계;
    상기 분할된 세부 항목 각각에 포함된 문자 열을 아스키 코드로 변환하는 단계; 및
    상기 변환된 아스키 코드를 이용하여 상기 세부 항목 각각에 대한 벡터 데이터를 생성하는 단계를 포함하되,
    상기 변환하는 단계는, 상기 문자 열에 포함된 복수의 문자 중 기 설정된 문자를 가중치가 부여된 아스키 코드로 변환하는, 보안 로그 전처리 방법.
  7. 삭제
  8. 청구항 6항에 있어서,
    상기 벡터 데이터는, 상기 변환된 아스키 코드 및 상기 분할된 세부 항목 각각에 포함된 문자 열의 길이를 포함하는 보안 로그 전처리 방법.
  9. 청구항 6항에 있어서,
    상기 벡터 데이터는, 상기 분할된 세부 항목 각각에 설정된 문자 열 최대 길이에 기초하여 차원이 결정되는 보안 로그 전처리 방법.
  10. 청구항 9항에 있어서,
    상기 생성하는 단계는, 상기 결정된 차원에 기초하여 상기 벡터 데이터에 포함된 복수의 요소 중 상기 변환된 아스키 코드 및 상기 분할된 세부 항목 각각에 포함된 문자 열의 길이에 해당하지 않는 요소의 값을 0으로 설정하는 보안 로그 전처리 방법.
KR1020180130743A 2018-10-30 2018-10-30 보안 로그 전처리 장치 및 방법 KR102344293B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180130743A KR102344293B1 (ko) 2018-10-30 2018-10-30 보안 로그 전처리 장치 및 방법
US16/665,663 US11790252B2 (en) 2018-10-30 2019-10-28 Apparatus and method for preprocessing security log

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180130743A KR102344293B1 (ko) 2018-10-30 2018-10-30 보안 로그 전처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200048562A KR20200048562A (ko) 2020-05-08
KR102344293B1 true KR102344293B1 (ko) 2021-12-27

Family

ID=70325312

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180130743A KR102344293B1 (ko) 2018-10-30 2018-10-30 보안 로그 전처리 장치 및 방법

Country Status (2)

Country Link
US (1) US11790252B2 (ko)
KR (1) KR102344293B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117321972A (zh) * 2020-05-22 2023-12-29 希希尔·R·拉奥 用于智能基础设施协调的基于机器学习的应用规模调整引擎
KR102504809B1 (ko) * 2020-12-31 2023-02-27 주식회사 포스코아이씨티 제어명령의 포맷예측을 통한 비정상 제어데이터를 탐지하는 시스템 및 방법
CN113360656A (zh) * 2021-06-29 2021-09-07 未鲲(上海)科技服务有限公司 异常数据检测方法、装置、设备及存储介质
CN113672483B (zh) * 2021-08-09 2024-05-31 深圳市猿人创新科技有限公司 一种设备日志存储方法、装置、电子设备及介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859881B2 (en) * 2001-03-28 2005-02-22 Intel Corporation Method and system for mapping network attacks onto a strategy game
US7062551B2 (en) * 2001-05-24 2006-06-13 International Business Machines Corporation Method and apparatus to solve compatibility between heterogeneous web server access logs formats
US9080894B2 (en) * 2004-10-20 2015-07-14 Electro Industries/Gauge Tech Intelligent electronic device for receiving and sending data at high speeds over a network
US20140211931A1 (en) * 2013-01-31 2014-07-31 North American Communications Resources, Inc. System and Method for Generating and Delivering Automated Reports Concerning the Performance of a Call Center
US10243982B2 (en) * 2014-06-06 2019-03-26 Nippon Telegraph And Telephone Corporation Log analyzing device, attack detecting device, attack detection method, and program
US10339141B2 (en) * 2014-10-03 2019-07-02 The Regents Of The University Of Michigan Detecting at least one predetermined pattern in stream of symbols
KR101810762B1 (ko) 2015-12-07 2017-12-19 한양대학교 에리카산학협력단 클라우드 환경에서 hdfs 기반의 도커 컨테이너 보안 로그 분석 방법 및 시스템
US20200184072A1 (en) * 2017-06-23 2020-06-11 Nec Corporation Analysis device, log analysis method, and recording medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hung Le et al, "URLNet: Learning a URL Representation with Deep Learning for Malicious URL Detection"(2018.03.) 1부.*
Xiang Zhang et al, "Character-level Convolutional Networks for Text Classification"(2016.04.) 1부.*

Also Published As

Publication number Publication date
US11790252B2 (en) 2023-10-17
US20200134487A1 (en) 2020-04-30
KR20200048562A (ko) 2020-05-08

Similar Documents

Publication Publication Date Title
KR102344293B1 (ko) 보안 로그 전처리 장치 및 방법
Uwagbole et al. Applied machine learning predictive analytics to SQL injection attack detection and prevention
Tann et al. Towards safer smart contracts: A sequence learning approach to detecting security threats
Ding et al. Control flow-based opcode behavior analysis for malware detection
Hou et al. Malicious web content detection by machine learning
US10621349B2 (en) Detection of malware using feature hashing
CN107204960B (zh) 网页识别方法及装置、服务器
Yan et al. LSTM‐based hierarchical denoising network for Android malware detection
CN112771523A (zh) 用于检测生成域的系统和方法
Maiorca et al. A structural and content-based approach for a precise and robust detection of malicious PDF files
Shahzad et al. Elf-miner: Using structural knowledge and data mining methods to detect new (linux) malicious executables
CN109922052A (zh) 一种结合多重特征的恶意url检测方法
Zhu et al. Android malware detection based on multi-head squeeze-and-excitation residual network
US11783034B2 (en) Apparatus and method for detecting malicious script
JPWO2015186662A1 (ja) ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム
CN106961419A (zh) WebShell检测方法、装置及系统
Wu et al. Session‐Based Webshell Detection Using Machine Learning in Web Logs
Fang et al. Detecting webshell based on random forest with fasttext
US20170063892A1 (en) Robust representation of network traffic for detecting malware variations
Abuhamad et al. Multi-χ: Identifying multiple authors from source code files
Nowroozi et al. An adversarial attack analysis on malicious advertisement URL detection framework
CN113067792A (zh) 一种xss攻击识别方法、装置、设备及介质
Mohammed et al. HAPSSA: Holistic Approach to PDF malware detection using Signal and Statistical Analysis
CN112817877B (zh) 异常脚本检测方法、装置、计算机设备和存储介质
Yu et al. AI-powered GUI attack and its defensive methods

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant