KR102146526B1 - 데이터베이스 침입 탐지를 위한 쿼리 분류 방법 - Google Patents

데이터베이스 침입 탐지를 위한 쿼리 분류 방법 Download PDF

Info

Publication number
KR102146526B1
KR102146526B1 KR1020180092680A KR20180092680A KR102146526B1 KR 102146526 B1 KR102146526 B1 KR 102146526B1 KR 1020180092680 A KR1020180092680 A KR 1020180092680A KR 20180092680 A KR20180092680 A KR 20180092680A KR 102146526 B1 KR102146526 B1 KR 102146526B1
Authority
KR
South Korea
Prior art keywords
query
feature
features
subset
sparse
Prior art date
Application number
KR1020180092680A
Other languages
English (en)
Other versions
KR20200019289A (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 KR1020180092680A priority Critical patent/KR102146526B1/ko
Publication of KR20200019289A publication Critical patent/KR20200019289A/ko
Application granted granted Critical
Publication of KR102146526B1 publication Critical patent/KR102146526B1/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 내부자 공격에 의한 데이터베이스 침입을 탐지하는 기술에 관한 것으로, 지능형 기술(intelligent technologies)을 이용하여 쿼리를 분류하여 침입을 감시하는 기술에 관한 것이다. 본 발명의 일 실시예에서는 컨볼루션 신경망(convolutional neural network, CNN)과 유전 알고리즘(genetic algorithm, GA)을 조합하여 하이브리드(hybrid) 구조로 쿼리를 분류하여 침입을 감지한다.

Description

데이터베이스 침입 탐지를 위한 쿼리 분류 방법{Query classification method for database intrusion detection}
본 발명은 데이터베이스에 대한 침입을 탐지하는 기술에 관한 것이다.
수년 동안 악의적인 활동이나 정책 위반으로부터 데이터베이스를 보호하는 다양한 방법이 제안되었지만, 데이터베이스의 안전한 보호를 보장하는 신뢰할 수 있는 침입 탐지 시스템(intrusion detection system, IDS)을 제공하는 것은 여전히 활발한 연구 주제이다. 민감한 정보가 무단으로 노출되는 사건이 보고되는 만큼 비즈니스 정보와 같은 중요한 정보를 통합하고 관리하는 데이터베이스의 보안은 점점 더 중요해지고 있으며, 데이터베이스 보안에 대한 필요성과 할당되는 자원이 점차 증가하고 있다. 예컨대, 신용 카드 번호, 인증 데이터, 및 재무 데이터와 같은 중요한 데이터가 데이터베이스 내에 저장되고 관리되기 때문에 데이터베이스의 보안이 상당히 중요해지고 있다.
데이터베이스 관리 시스템(즉, 데이터베이스)에 대한 공격은 내부자 및 외부자 공격으로 분류될 수 있다. 예를 들어 외부로부터의 공격은 웹 응용 프로그램의 백엔드 데이터베이스에 신중하게 작성된 쿼리를 전송함으로써 데이터에 대한 무단 액세스를 얻을 수 있다. 대부분의 데이터 유출은 외부 출처에서 발생하며, 사고의 75%는 조직 외부에서 발생한다. Structured query language(SQL) 주입 공격의 클래스는 잘 알려져 있으며 잘 문서화되어 있다.
외부자 공격에 비해 내부자 공격은 탐지하기가 훨씬 어렵고 잠재적으로 더 위험하다. 전직 직원이나 시스템 관리자와 같은 조직의 내부자는 권한을 뛰어 넘는 비정상적인 데이터베이스 액세스를 쉽게 얻을 수 있으며 심각한 재정적 손실을 초래할 수 있다.
도 1은 SQL 쿼리에서 추출된 277개의 피쳐(feature)에 대한 상관 행렬(correlation matrix)을 나타내는 그래프이다. 데이터베이스의 개체 수는 이론적으로 무한하기 때문에 각 쿼리 간의 쿼리 공간(query space)과 분산은 매우 크다. 따라서 상관 행렬은 도 1에 도시된 것처럼 매우 희소(sparse)하게 되며, 쿼리를 구별하는 결정 경계를 식별하기 어렵다.
따라서, 쿼리를 구별하는 결정 경계를 분명히 식별하기 위해 피쳐 선택 및 모델링 프로세스를 개선한 기술이 요구된다.
[1] E. Bertino and R. Sandhu, "Database security-Concepts, approaches and challenges," IEEE Transactions on Dependable and Secure Computing, vol. 2, pp. 2-19, 2005. [2] M. C. Murray, "Database security: What students need to know," Journal of Information Technology Education: Innovates in Practice, vol. 9, pp. 44-61, 2010. [3] R. J. Urbanowicz and J. H. Moore, "Learning classifier systems: A complete introduction, review and roadmap," Journal of Artificial Evolution and Applications, vol. 1, 2009. [4] A. Lipowski and D. Lipowska, "Roulette-wheel selection via stochastic acceptance," Physica A: Statistical Mechanics and its Applications, vol. 391, pp. 2193-2196, 2012. [5] Transaction Process Performance Council (TPC), TPC Benchmark E, Standard Specification Ver. 1.0, 2014. [6] M. Pei, E. D. Goodman, W. F. Punch and Y. Ding, "Genetic algorithms for classification and feature extraction," Classification Society Conf., pp. 1-28, 1995.
본 발명에서 해결하고자 하는 과제는, 데이터베이스에 대한 내부자 공격을 탐지하기 위해, 쿼리를 구별하는 결정 경계를 분명히 식별할 수 있도록 피쳐 간의 상관 관계를 모델링하는 방법을 제공하고자 한다.
또한 본 발명에서는 시간이 경과함에 따라 쿼리를 역할로 분류하는 분류 정확도를 향상시킬 수 있도록, 쿼리에서 추출한 피쳐를 필터링하는 방법을 제공하고자 한다.
상술한 기술적 과제를 해결하기 위한 수단으로서, 데이터베이스 침입에 의한 쿼리인지 여부를 판단하기 위해 상기 쿼리를 상기 데이터베이스에 대한 접근 권한에 따라 사용자에게 할당된 역할로 분류하는 쿼리 분류 방법은, 프로세서에 의해 수행되고, 상기 쿼리로부터 희소 피쳐를 추출하는 단계; 상기 추출된 희소 피쳐를 필터링하여 피쳐 서브셋을 생성하는 단계; 및 상기 생성된 피쳐 서브셋을 구성하는 피쳐들 간의 상관 관계를 모델링하고, 상기 모델링 된 상관 관계에 따라 상기 쿼리를 상기 역할로 분류하는 단계를 포함하되, 상기 피쳐 서브셋을 생성하는 단계는, 상기 모델링 된 상관 관계의 정확도에 관한 함수인 성능 기준 함수를 피드백 받는 단계를 포함할 수 있다.
상기 희소 피쳐를 추출하는 단계는, 상기 데이터베이스에 대하여 SQL 도구를 이용하여 상기 역할 기반의 쿼리에 해당하는 로그를 생성하는 단계; 및 상기 생성된 로그를 십진법 피쳐로 변환하는 단계를 포함할 수 있다.
상기 성능 기준 함수는 상기 쿼리를 상기 역할로 분류하는 분류 정확도에 관한 항등 함수일 수 있다.
상기 피쳐 서브셋을 생성하는 단계는, 상기 희소 피쳐와 이진 인코딩 된 염색체를 내적하여 상기 피쳐 서브셋을 추출하는 단계를 포함할 수 있다.
상기 피쳐 서브셋을 생성하는 단계는, 상기 피드백 받은 성능 기준 함수가 기준값을 만족하도록 지능형 기술(intelligent technologies)을 이용하여 상기 추출된 희소 피쳐를 필터링하는 단계를 포함하고, 상기 지능형 기술은 유전 알고리즘(genetic algorithm)을 포함할 수 있다.
상기 쿼리를 상기 역할로 분류하는 단계는, 상기 쿼리를 상기 역할로 분류하는 분류 정확도가 기준값을 만족하도록 지능형 기술을 이용하여 상기 쿼리를 상기 역할로 분류하는 단계를 포함하고, 상기 지능형 기술은 컨볼루션 신경망(convolution neural network)을 포함할 수 있다.
상기 피쳐 서브셋의 차원은 상기 희소 피쳐의 차원보다 낮을 수 있다.
또한 데이터베이스에 정보를 요청하는 쿼리에 대하여, 상기 쿼리가 침입에 의한 쿼리인지 여부를 판단하기 위한 침입 탐지 방법은, 프로세서에 의해 수행되고, 상기 쿼리로부터 희소 피쳐를 추출하는 단계; 상기 추출된 희소 피쳐를 필터링하여 피쳐 서브셋을 생성하는 단계; 상기 피쳐 서브셋을 구성하는 피쳐들 간의 상관 관계 모델에 기반하여, 상기 쿼리를 상기 데이터베이스에 대한 접근 권한에 따라 사용자에게 할당된 역할로 분류하는 단계; 및 상기 분류된 역할에 따라 상기 쿼리가 침입에 의한 쿼리인지 여부를 판단하는 단계를 포함할 수 있다.
상기 피쳐 서브셋을 생성하는 단계는, 상기 추출된 희소 피쳐와 이진 인코딩 된 염색체를 내적하여 상기 피쳐 서브셋을 생성하는 단계를 포함할 수 있다.
상기 이진 인코딩 된 염색체는, 상기 모델링 된 상관 관계의 정확도에 관한 함수인 성능 기준 함수가 기준값을 만족하도록 지능형 기술(intelligent technologies)을 이용하여 생성된 염색체이고, 상기 지능형 기술은 유전 알고리즘(genetic algorithm)을 포함할 수 있다.
상기 상관 관계 모델은, 상기 쿼리를 상기 역할로 분류하는 분류 정확도가 기준값을 만족하도록 지능형 기술을 이용하여 생성된 모델이고, 상기 지능형 기술은 컨볼루션 신경망(convolution neural network)을 포함할 수 있다.
또한 데이터베이스 침입에 의한 쿼리인지 여부를 판단하기 위해 상기 쿼리를 상기 데이터베이스에 대한 접근 권한에 따라 사용자에게 할당된 역할로 분류하는 프로세서에 있어서, 상기 프로세서는, 상기 쿼리로부터 희소 피쳐를 추출하고, 상기 추출된 희소 피쳐를 필터링하여 피쳐 서브셋을 생성하고, 상기 피쳐 서브셋을 구성하는 피쳐들 간의 상관 관계를 모델링하고, 상기 모델링 된 상관 관계에 따라 상기 쿼리를 상기 역할로 분류하되, 상기 모델링 된 상관 관계의 정확도를 피드백 받아, 상기 정확도가 기준값을 만족하도록 상기 희소 피쳐를 필터링할 수 있다.
본 발명에 따르면 역할을 기반으로 데이터베이스의 정상적인 쿼리를 모델링하기 위해 SQL 로그 생성 도구를 이용하여 합성 데이터 세트로 역할 특정 로그를 생성한다. 따라서 대용량 데이터를 기반으로 정상적인 데이터 액세스 패턴을 모델링함으로써 사용자 변경에 민감하지 않은 강력한 통계 모델이 만들어질 수 있다.
또한 본 발명에 따르면 유전 알고리즘을 이용하여 필터링 된 피쳐 서브셋에 대하여 컨볼루션 신경망을 이용하여 쿼리의 분류가 이루어지므로, 검색 공간과 무관한 영역을 탐색함으로써 시간이 낭비되는 것을 방지할 수 있다.
또한 본 발명에 따르면 유전 알고리즘을 이용하여 피쳐를 필터링하는데 있어서, 쿼리의 분류 정확도에 관한 함수를 성능 기준 함수로 하여 성능 기준 함수가 최적화되도록 하는 피쳐 서브셋을 생성한다. 즉, 유전 알고리즘을 이용한 피쳐 필터링과 컨볼루션 신경망을 이용한 쿼리의 분류가 하이브리드로 구성되므로, 쿼리의 분류 정확도를 최적화시킬 수 있는 최적의 피쳐 서브셋이 생성될 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 SQL 쿼리에서 추출된 277개의 피쳐에 대한 상관 행렬을 나타내는 그래프이다.
도 2는 일 실시예에 따른 쿼리 분류 방법을 도시한 흐름도이다.
도 3은 일 실시예에 따른 쿼리 분류 시스템의 내부 구성을 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 있어서, 쿼리 분류 방법에서 이용되는 4가지 구성 요소를 나타내는 도면이다.
도 5는 일 실시예에 따른 침입 탐지 방법을 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 있어서, 쿼리로부터 추출된 희소 피쳐 벡터를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 있어서, 최적의 피쳐 선택 규칙을 찾는 동작을 도시한 흐름도이다.
도 8은 본 발명의 일 실시예에 있어서, 각 피쳐 공간에 해당하는 모집단을 나타내는 도면이다.
이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시예들을 상세히 설명하기로 한다. 하기 설명은 실시예들을 구체화하기 위한 것일 뿐 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시예로부터 당해 기술분야의 전문가가 용이하게 유추할 수 있는 것은 권리범위에 속하는 것으로 해석된다.
본 명세서에서 사용되는 '구성된다' 또는 '포함한다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 발명은 내부자 공격에 의한 데이터베이스 침입을 탐지하는 기술에 관한 것으로, 지능형 기술(intelligent technologies)을 이용하여 쿼리를 분류하여 침입을 감시하는 기술에 관한 것이다. 본 발명의 일 실시예에서는 컨볼루션 신경망(convolutional neural network, CNN)과 유전 알고리즘(genetic algorithm, GA)을 조합하여 하이브리드(hybrid) 구조로 쿼리를 분류하여 침입을 감지한다.
이때, 쿼리를 분류하는 기준은 사용자에게 할당된 역할이 될 수 있다. 데이터베이스에 대한 내부 접근은, 예를 들어 역할 기반 액세스 제어(roll based access control)와 같이, 사용자에게 할당된 역할에 기반하여 통제될 수 있다. 따라서 역할에 기반하여 쿼리를 분류하면, 역할과 일치하지 않는 쿼리가 식별될 수 있고, 식별된 쿼리를 내부 공격에 의한 침입이라 판단할 수 있다.
본 발명에서 데이터베이스에는 테이블 및 열과 같은 데이터 개체와 뷰 및 저장 프로시저(procedure)와 같은 SQL 개체 및 개체에 대한 읽기(선택), 삽입, 업데이트, 및 삭제를 비롯한 작업 또는 프로시저에 대한 실행이 존재할 수 있다. 이러한 개체와 작업을 결합하여 생성된 쿼리는 역할 기반 액세스 제어(RBAC) 메커니즘에서 각 사용자 역할에 대해 고유한 패턴을 생성할 수 있다. 이와 같이 대용량 데이터를 기반으로 정상적인 데이터 액세스 패턴을 모델링함으로써 사용자 변경에 민감하지 않은 강력한 통계 모델을 만들 수 있다.
유전 알고리즘은 글로벌한 검색 능력과 최적화 가능성으로 피쳐를 선택 및 추출하기 위해 이용될 수 있으며, 컨볼루션 신경망은 역할을 기반으로 쿼리의 정상적인 동작을 모델링하고, 쿼리의 피쳐들 사이에서 히든(hidden) 상관 관계를 캡쳐(capture)하기 위해 사용될 수 있다.
도 2는 일 실시예에 따른 쿼리 분류 방법을 도시한 흐름도이고, 도 3은 일 실시예에 따른 쿼리 분류 시스템의 내부 구성을 도시한 블록도이다.
도 3을 참고하면, 쿼리 분류 시스템(300)은 데이터 프로세싱이 가능한 프로세서로 구성되고, 필터링부(310) 및 분류부(320)를 포함할 수 있다. 도 2에 도시된 쿼리 분류 방법의 단계들(220 내지 230 단계)은 각각 필터링부(310) 및 분류부(320)에 의해 수행될 수 있다.
단계 210에서 필터링부(310) 및 분류부(320)를 훈련(training)시키기 위한 소스 데이터(source data)가 제공될 수 있다. 예를 들어, 역할을 기반으로 데이터베이스의 정상적인 쿼리를 모델링하기 위해 SQL 로그 생성 도구를 이용하여 합성 데이터 세트로 역할 특정 로그가 생성될 수 있다. 생성된 로그를 십진법 피쳐로 변환하여 희소 피쳐 벡터가 추출될 수 있다.
단계 220에서 필터링부(310)는 데이터베이스 쿼리를 대상으로 유전 알고리즘에 기초하여 미리 정의된 피쳐 규칙(feature rule)에 따라 특정 피쳐를 추출하여 필터링할 수 있다.
일례로 필터링부(310)는 데이터베이스 쿼리를 대상으로 SQL 도구를 이용하여 역할 기반의 쿼리에 해당하는 로그(log)를 생성할 수 있다. 그리고 필터링부(310)는 생성된 로그에 기초하여 피쳐를 추출할 수 있다. 이때 필터링부(310)는 데이터베이스 쿼리를 대상으로 유전 알고리즘을 기반으로 이진(binary) 인코딩된 염색체(chromosome)에 기초하여 분류를 위한 피쳐를 추출할 수 있다. 이때 이진 인코딩된 염색체는 분류부(320)의 분류 정확도를 최적화시키기 위한 피쳐가 추출되도록 생성될 수 있다. 이처럼 필터링부(310)는 유전 알고리즘에 기초하여 데이터베이스 쿼리에서 비정상적인 쿼리(즉, 침입을 나타내는 잘못된 쿼리)에 해당하는 피쳐를 선택 및 추출하여 필터링을 수행할 수 있다.
단계 230에서 분류부(320)는 추출된 피쳐를 포함하는 피쳐 서브셋(feature subset)을 대상으로, 컨볼루션 신경망에 기초하여 피쳐 간의 상관 관계를 모델링할 수 있다.
예컨대 분류부(320)는 추출된 피쳐들을 대상으로, 각 쿼리의 역할을 모델링하고 분류할 수 있다. 그리고 새로운 쿼리가 수신되면 분류부(320)는 모델링된 상관 관계에 기초하여 해당 쿼리가 정상 쿼리인지 비정상 쿼리인지 여부를 확인할 수 있다. 이처럼 역할에 기반하여 데이터베이스 쿼리(즉, SQL 도구를 이용하여 생성된 SQL 쿼리)를 모델링하고, 쿼리들 중 비정상적으로 상이한 쿼리를 내부 공격으로 간주하는 프로세스는 4가지 주요 구성 요소로 구성될 수 있으며, 네 가지 주요 구성 요소는 도 4를 참고하여 상세히 설명하기로 한다.
도 4는 본 발명의 일 실시예에 있어서, 쿼리 분류 방법에서 이용되는 4가지 구성 요소를 나타내는 도면이다.
도 4를 참고하면, 4가지 구성 요소는 환경 구성 요소(environment, 410), 성능 구성 요소(performance, 420), 발견 구성 요소(discovery, 430), 및 탐지 구성 요소(detection, 440)를 포함할 수 있다.
컨볼루션 신경망을 기반으로 하는 학습 분류 방법은 유전 알고리즘에서 각 염색체가 피쳐 선택 규칙 중 하나를 나타내는 1차원 컨볼루션 신경망과 함께 완전한 분류 모델을 형성하는 방식을 따를 수 있다. 유전 알고리즘 기반의 심볼 피쳐(symbol feature) 선택과정과 컨볼루션 신경망을 이용한 분류 과정 사이의 하이브리드화는 초 직각 조건(hyper-rectangular conditions) 하에서 큰 이점을 가지며, 상기 이점은 피쳐 선택 프로세스의 탐색 능력과 피쳐 간의 히든 상관 관계를 모델링하여 얻은 탐색 능력에 있을 수 있다.
도 4에서 발견 구성 요소(430)는 도 3의 필터링부(310)에 의해 수행될 수 있으며, 유전 알고리즘을 기반으로 피쳐 선택을 위한 규칙을 향상시키는 부분에 해당할 수 있다.
유전 알고리즘은 돌연변이, 교차, 및 선택과 같은 생물학적 영감 작용에 의존하여 최적화 및 검색 문제에 대한 고품질 솔루션을 생성하기 위해 이용될 수 있다. 이때 필터링부(310)는 이진 인코딩된 염색체를 희소 피쳐 벡터로부터 분류에 유용한 피쳐를 선택하기 위해 이용할 수 있다. 다수의 염색체가 각 세대(generation)에서 생성되면, 필터링부(310)는 데이터 세트를 기반으로 해당 세대에서의 내적을 계산할 수 있다. 필터링부(310)는 계산된 내적을 기반으로 희소 피쳐 벡터를 필터링하여 검색 공간을 감소시킬 수 있다.
이처럼 피쳐 추출, 내적 계산, 및 필터링의 과정을 통해, 발견 구성 요소(430)에서 피쳐 추출을 위한 피쳐 선택 규칙을 나타내는 다양한 빌딩 블록이 발견될 수 있으며, 발견된 빌딩 블록은 재결합될 수 있다.
도 4에서 성능 구성 요소(420)는 도 3의 분류부(320)에 의해 수행될 수 있으며, 발견된 상기 피쳐 선택 규칙에 기초하여 분류 성능을 평가할 수 있다.
예컨대 발견 구성 요소(430)에서 규칙의 모집단(population)이 생성되면, 탐색할 검색 공간이 점차 분리될 수 있다. 성능 구성 요소(420)는 분리된 각 검색 공간을 이용하여 스펙트럼(spectrum) 변동을 줄이고, 로컬 연결을 통해 스펙트럼 상관 관계를 모델링할 수 있다. 즉, 컨볼루션 및 풀링(pooling) 작업이 피처 간의 히든 상관 관계를 모델링하는 데 적합하게 만들 수 있다.
도 4에서 환경 구성 요소(410)는 성능 구성 요소(420) 및 발견 구성 요소(430)를 훈련(training)시키기 위한 소스 데이터(source data)를 제공하는 것으로서, 성능 구성 요소(420) 및 발견 구성 요소(430)와 상호 작용할 수 있다.
예를 들어, 역할을 기반으로 데이터베이스의 정상적인 쿼리를 모델링하기 위해 SQL 로그 생성 도구를 이용하여 합성 데이터 세트로 역할 특정 로그가 생성될 수 있다.
발견 구성 요소(430)의 최상의 피쳐 선택과 성능 구성 요소(420)의 훈련된 모델은 탐지 구성 요소(440)에서 비정상적인 쿼리를 검색하기 위해 이용될 수 있다.
도 4 및 도 5를 참조하면, 단계 510에 따라 새로운 쿼리가 수신되면, 수신된 새로운 쿼리를 대상으로 환경 구성 요소(410)와 동일한 피쳐 추출 과정이 수행될 수 있다. 그리고 단계 520에 따라 추출된 피쳐를 기반으로 하는 모델을 개선하기 위해, 발견 구성 요소(430)에서 최상의 피쳐 선택자로 선택된 염색체를 이용하여 내적이 계산될 수 있다. 이후 단계 530에 따라 훈련된 컨볼루션 신경망에 기초하여 새로운 쿼리를 분류하고 단계 540에 따라 분류된 쿼리가 비정상인지, 정상이지 여부를 확인할 수 있다. 이때 새로운 쿼리가 비정상인 경우, 응답 엔진이 관리자에게 경고를 보내거나 침입 탐지를 알리는 등의 쿼리가 실행될 수 있다.
도 4에서 설명한 환경, 성능, 및 발견 구성 요소(410, 420, 430)는 RBAC 메커니즘에 대한 역할을 기반으로 쿼리를 모델링하기 위하여 피쳐 선택을 반복적으로 개선하고 훈련 주기 중에 새롭게 필터링된 피쳐를 학습할 수 있다.
예컨대 Nf 피쳐들 중에서 피쳐들의 효율적인 서브 세트를 찾기 위해 크기 2N f의 거대한 피쳐 공간이 탐색되어야 할 수 있다. 상기 피쳐 공간은 특히 많은 시간과 계산 복잡성이 요구되는 딥 러닝 모델이 이용되는 경우 철저하게 검색하기가 어려우므로, 발견 구성 요소(430)에서 사용된 유전 알고리즘의 향상은 검색 공간의 무관한 영역을 탐색함으로써 시간이 낭비되는 것을 방지할 수 있다. 성능 및 발견 구성 요소(420, 430)에서 사용된 학습(즉, 훈련) 알고리즘의 세부 사항은 아래의 표 1과 같을 수 있다.
Figure 112018078545002-pat00001
이하에서는 유전 알고리즘에 기초하여 자동으로 피쳐를 선택 및 추출하는 동작에 대해 상세히 설명하기로 한다.
피쳐의 선택 및 추출은 성능의 최적화 및 분류기(classifier) 설계에 큰 영향을 미치므로, 유전 알고리즘을 사용하여 효과적인 피쳐 세트(즉, 피쳐 서브셋)을 선택하는 것이 중요하다. 최적화 기준에는 분류의 정확성과 분류와 관련된 비용, 위험이 포함될 수 있으며, 상기 기준은 패턴을 설명하는데 사용되는 피쳐의 선택에 따라 달라질 수 있다.
도 4의 발견 구성 요소(430)에서 유전 알고리즘을 이용하는 주요 목적은 최적의 성능 기준 함수 J(·)를 만족하는 최적의 서브셋을 찾기 위함이다. 상기 성능 기준 함수 J(·)는 희소 피쳐 벡터(sparse feature vectors)를 모델링하기 위한 함수를 나타낼 수 있다.
도 6은 본 발명의 일 실시예에 있어서, 쿼리로부터 추출된 희소 피쳐 벡터를 나타낼 수 있다.
도 6의 희소 피쳐 벡터는 원시 쿼리(raw query, SQL 도구를 이용하여 생성된 로그)를 십진법 피쳐로 변환한 후 추출된 몇 가지 피쳐 벡터를 나타낼 수 있다. 이때, 각 행은 하나의 쿼리에서 추출된 희소 피쳐 벡터에 해당하고, 각 열은 쿼리의 길이 또는 필드 내지 테이블의 수와 같은 십진수 피쳐에 해당할 수 있다.
데이터베이스의 정상적인 동작을 모델링하는 측면에서, 전체 입력 공간 보다는 로컬 영역에 초점을 맞춘 효과적인 정보를 선택하는 것이 유리할 수 있다. Nf 피쳐를 갖는 오리지널 쿼리 데이터 세트 X는 희박하고(sparse), 분류에 효과적으로 이용되기 어려운 피쳐들을 포함할 수 있다. Nf 피쳐를 대상으로, j번째 염색체
Figure 112018078545002-pat00002
에 대한 이진 변수 α={0,1}을 정의하는 데, 상기 이진 변수는 아래의 수학식 1과 같이 각각에 대응하는 피쳐들을 포함할 수 있다.
(수학식 1)
Figure 112018078545002-pat00003
오리지널 희소 피쳐 벡터 X와 j번째 염색체(chromosome)
Figure 112018078545002-pat00004
의 내적에 기반하여 필터링된 벡터
Figure 112018078545002-pat00005
는 분류에 효과가 없는 피쳐를 폐기(즉, 삭제)하기 위해 이용될 수 있으며, 아래의 수학식 2와 같이 표현될 수 있다.
(수학식 2)
Figure 112018078545002-pat00006
도 4의 발견 구성 요소(430)에서 사용된 유전 알고리즘은 성능 기준 함수 J(·)에 의해 할당된 최적의 성능 기준을 만족하는 매핑 함수 M()에 기초하여 보다 낮은 차원성을 갖는 새로운 희소 피쳐 벡터를 계산할 수 있다. 상기 성능 기준 함수는 아래의 수학식 3과 같이 각 세대 G 마다 반복적으로 평가될 수 있다.
(수학식 3)
Figure 112018078545002-pat00007
위의 수학식 3에서, M()은 컨볼루션 신경망에 기반한 분류기의 분류 정확도를 나타낼 수 있다. 유전 알고리즘에서 자동 피쳐 선택은 성능 기준 함수 J가 특정 조건을 충족할 때까지 모든 세대(G)에 대해 반복될 수 있으며, 상기 성능 기준 함수 J는 분류기의 성능을 직관적으로 반영하는 항등 함수(identity function)으로 정의될 수 있다. 여기서 성능 기준 함수 J를 비선형 함수 또는 로그 함수로 변환하여 자동 피쳐 선택의 결과를 변경할 수도 있다.
이처럼, 성능 기준 함수 J가 계산된 이후, 효과적인 피쳐 선택 규칙을 나타내는 염색체이 적응도 균형(fitness-proportionate) 선택 메커니즘에 기초하여 선택될 수 있다. 예컨대 룰렛 휠(roulette wheel) 기법에 기초하여 상기 염색체가 선택될 수 있다. 매핑 함수 M()은 아래의 수학식 4에 기초하여 모집단(population)의 크기가 s인 j번째 염색체와 선택 확률 Pj를 연관시키기 위해 이용될 수 있다.
(수학식 4)
Figure 112018078545002-pat00008
가장 효과적인 피쳐 선택 규칙을 나타내는 염색체가 선택되면, 새로운 피쳐 선택 모집단을 형성하기 위해 크로스 오버와 돌연변이 등의 유전자 조작이 이용될 수 있다. 크로스 오버 pc, 돌연변이 pm, 복제 pr 등의 유전적 조작의 확률에 대한 파라미터는 최적화 실험 결과를 기반으로 결정될 수 있다.
도 7은 본 발명의 일 실시예에 있어서, 최적의 피쳐 선택 규칙을 찾는 동작을 도시한 흐름도이다. 도 7에서 피쳐 선택 규칙은 도 4의 발견 구성 요소(430)에 의해 발견될 수 있다.
도 7을 참고하면, 모집단이 초기화될 수 있다(710). 훈련 데이터로부터의 염색체(720)와 희소 피쳐 벡터 사이의 내적이 각 세대 별로 계산되어 새로운 데이터 세트
Figure 112018078545002-pat00009
가 생성될 수 있다(730). 이때 생성된 새로운 데이터 세트의 수는 상기 초기화된 모집단의 염색체의 개수와 동일할 수 있다. 각 염색체의 적합도는 각 필터링된 데이터 세트
Figure 112018078545002-pat00010
에 대한 성능 기준 함수 J(·) 및 분류 정확도 M에 기초하여 평가될 수 있다(740). 이후 새로운 염색체의 모집단을 형성하기 위해, 기준 J와 임계치
Figure 112018078545002-pat00011
를 비교(750)한 후, 크로스 오버, 돌연변이, 및 복제 등의 유전 조작(760)이 수행될 수 있다. 예컨대, 기준 J가 임계치
Figure 112018078545002-pat00012
보다 크지 않으면, 유전 조작(760)이 수행되고, 크면 모집단으로부터 최상의 피쳐 서브 세트에 해당하는 염색체
Figure 112018078545002-pat00013
*가 찾아질 수 있다(770).
이하에서는 컨볼루션 신경망을 이용하여 피쳐 간의 상관 관계를 모델링하는 동작에 대해 설명하기로 한다.
훈련 주기 동안 탐색되어야 하는 피쳐 공간의 크기를 감소시키기 위해 분류에 대한 피쳐들의 효과적인 서브 세트에 대한 지식(즉, 정보)이 인코딩(encoding)될 수 있다. 이러한 인코딩을 통해 딥러닝 분류기의 기울어진 결정 경계와 관련된 문제가 효과적으로 해결될 수 있다.
도 8은 본 발명의 일 실시예에 있어서, 각 피쳐 공간에 해당하는 모집단을 나타낸다.
모집단은 피처 공간을 분할하는 초직각에 의해 정의될 수 있으며, 모집단에는 6개의 규칙이 존재할 수 있다. 각각의 초직각은 발견 구성 요소(430)로부터의 피쳐 선택 규칙 세트를 나타내며, 고유한 컨볼루션 신경망을 가질 수 있다.
복수의 피쳐 하위 세트 중 특정한 피쳐 하위 세트(즉, 효율적인 피쳐 하위 세트)가 발견 구성 요소(430)에 의해 선택되면, 성능 구성 요소(420)는 선택된 피쳐 하위 세트에 해당하는 희소 피쳐 벡터를 모델링하고 모집단 내 각 규칙의 적합성을 평가할 수 있다. 발견 구성 요소(430)의 기준 함수 J는 분류 정확도 M의 항등 함수로 정의되기 때문에 평가 프로세스는 표준 분류 작업으로 정의될 수 있다. 이때, 성능 구성 요소(420)의 주요 목적은 Boolean 값을
Figure 112018078545002-pat00014
쌍(pair)에 할당하는 함수 Φ의 추정에 해당할 수 있다. 여기서
Figure 112018078545002-pat00015
는 발견 구성 요소(430)의 피쳐 선택 규칙에 기초하여 필터링된 데이터 세트이고, C는 각 쿼리와 관련된 역할을 나타낼 수 있다.
필터링된 데이터 세트
Figure 112018078545002-pat00016
를 형성하기 위해 각 훈련 인스턴스로부터 피쳐가 선택된 이후, 희소 피쳐 벡터의 높은 차원과 피처 간의 히든 상관 관계에 대한 모델링은 컨볼루션 및 풀링 연산에 기초하여 보완될 수 있다. 그리고 로컬 연결 및 공유 가중치 아키텍처를 기반으로 하여 발견 구성 요소의 피쳐 선택 규칙의 적합성이 평가될 수 있다.
상관 관계를 추출하는 필터를 학습하여 피쳐 간의 공간적 관계를 보존하는 컨볼루션 연산은 피쳐 간의 병진 분산(translational variance)을 감소시키며, 아래의 수학식 5와 같이 쿼리에서 피쳐 간의 히든 상관 관계는 컨볼루션 연산 중 강조 또는 왜곡을 통해 피쳐-맵으로 모델링될 수 있다.
(수학식 5)
Figure 112018078545002-pat00017
위의 수학식 5에서, l번째 컨볼루션 레이어의 I번째 노드로부터의 출력
Figure 112018078545002-pat00018
은 1Хf 크기의 필터 F와 주어진 희소 피쳐 벡터
Figure 112018078545002-pat00019
를 사용하여 l-1번째 레이어에 해당하는 yl-1에 대한 컨볼루션 연산을 수행할 수 있다. 컨볼루션 레이어로부터의 피쳐-맵의 차원성은 컨벌루션 필터들의 수에 의해 증가되기 때문에 조심히 제어되어야 할 수 있다.
풀링은 용량 병목 현상을 유발하고 더 빠른 계산을 용이하게 하기 위해 컨볼루션 신경망에서 사용되는 차원성 감소 프로세스를 나타낼 수 있다. 피쳐-맵에 인접한 피쳐의 요약 통계는 아래의 수학식 6과 같이 표현되는 max-pooling 연산에서 파생될 수 있다.
(수학식 6)
Figure 112018078545002-pat00020
위의 수학식 6에서, l번째 max-pooling 레이어로부터의 출력
Figure 112018078545002-pat00021
은 NХN 출력 벡터에서 kХk 영역으로부터의 최대 픽쳐들을 선택하기 위해 이용될 수 있다. 위의 수학식 6에서 T는 풀링 스트라이드(pooling stride)에 해당할 수 있다.
여러 가지 컨볼루션 및 풀링 레이어는 적층되어 더 많은 파라미터를 가지는 심층 신경망 아키텍처를 형성할 수 있으며, 모델 오버피팅이나 열화(degradation) 문제를 방지하기 위해 두 쌍(pair)의 컨볼루션 및 풀링 레이어가 사용될 수 있다. 이때, 쿼리의 피쳐는 컨볼루션 및 풀링 연산을 통해 인코딩될 수 있으며, 아래의 수학식 7에 기초하여 MLP(shallow multi-layer perceptron)가 피쳐 벡터
Figure 112018078545002-pat00022
=[p1,
Figure 112018078545002-pat00023
,pI]를 사용하여 분류 프로세스를 완료하는 데 사용될 수 있다. 여기서, I는 마지막 풀링 레이어의 유닛 수를 나타낼 수 있다.
(수학식 7)
Figure 112018078545002-pat00024
수학식 7에서, wji는 l-1번째 레이어에서의 I번째 노드와 l번째 레이어에서의 j번째 노드 사이의 가중치를 나타내고, σ는 레이어에서 사용된 활성화 함수, bi는 바이어스 항을 나타낼 수 있다.
아래의 수학식 8과 같이 표현되는 MLP의 마지막 레이어의 출력 벡터는 입력 쿼리와 관련된 역할의 확률을 나타낼 수 있다. 여기서, NR은 역할의 총 수를 나타낼 수 있다.
(수학식 8)
Figure 112018078545002-pat00025
여기서 softmax 활성화 함수는 출력 벡터가 [0,1]의 범위에서 확률로 인코딩되도록 MLP의 마지막 레이어에서 사용될 수 있다.
전체 컨볼루션 신경망의 가중치는 기울기 하강(gradient descent)에 기반한 역 전파 알고리즘(back propagation algorithm)을 사용하여 업데이트될 수 있다. 여기서
Figure 112018078545002-pat00026
는 위의 수학식 5 내지 8에 기초하여 순방향 전파가 수행된 후 yi에 매핑될 수 있다. 여기서 컨볼루션 신경망 아키텍처의 세부 사항은 아래의 표 2와 같을 수 있다.
The details of the CNN architecture are as follows:
32 1X2 convolutional filters and 1X2 max-pooling operations, and 128-64-11 nodes in the MLP, from bottom-to-top, to create a shallow, but practical network.
이하에서는 RBAC 및 피쳐 추출을 기반으로 쿼리를 생성하는 동작에 대해 설명하기로 한다.
역할에 기반하여 SQL 쿼리의 정상적인 모델을 모델링하고, 클래스의 불균형 문제를 해결하기 위해 합성 쿼리가 생성될 수 있다. 역할을 기반으로 하여 쿼리의 정상적인 동작을 모델링하는 것과 관련하여, 비정상적인 이벤트의 발생 빈도가 정상적인 이벤트의 빈도보다 현저하게 낮기 때문에 성능 구성 요소(420)에서 몇 가지 특정 역할만 학습하는 것은 시스템 전반의 성능 저하를 발생시킬 수 있다. 이에 따라, 각 역할에 대해 가상 SQL 쿼리를 생성하는 접근법을 이용하여 다양한 시나리오를 모방하고 모델링 할 수 있다.
각 역할에는 액세스 권한을 나타내는 특정 테이블 세트 T와 해당 속성 세트 A 및 실행될 명령 세트 C가 존재할 수 있다. TPC-E 스키마(schema)는 고객 계정을 관리하고 고객 거래 주문을 수행하며 금융 시장과 고객의 상호 작용을 담당해야 하는 중개 회사(brokerage firm)의 활동을 모델링할 수 있다. 아래의 표 3에 나타낸 11개의 역할 각각에 대해 1,000개의 쿼리가 TPC-E 스키마를 기반으로 생성될 수 있다.
Transactions Specifications Transactions Specifications
Read-only Transactions Read/Write Transactions
Broker-volume SELECT Trade-order SELECT, INSERT
714kb 759kb
Customer-position SELECT Trade-update SELECT, UPDATE
566kb 499kb
Market-watch SELECT Data-maintenance SELECT, UPDATE
863kb 246kb
Security-detail SELECT Market-feed SELECT, INSERT, UPDATE, DELETE
571kb 456kb
Trade-status SELECT Trade-result SELECT, INSERT, UPDATE, DELETE
571kb 419kb
Trade-lookup SELECT Total 11,000 queries generated
490
서로 다른 입력 인코딩 기법은 서로 다른 성능 결과를 가져 오므로, 생성된 쿼리와 관련하여 피쳐를 추출하는 것은 각 쿼리의 역할을 모델링하는 기본 단계에 해당할 수 있다. 피쳐 추출은 파싱(parsing) 및 추출의 두 단계로 구성될 수 있으며, 파싱(parsing)은 추출 단계의 입력을 다시 형성하고 다시 포맷할 수 있다. 상기 파싱은 쿼리에서 절을 나누는 방식으로 구현될 수 있으며, SQL 쿼리가 구조화된 언어로 작성되므로 간단히 구현될 수 있다. 그러면 추출 과정에서, SQL-CMD[], PROJ-REL-DEC[], PROJ-ATTR-DEC[], SEL-ATTR-DEC[], ORDBY-ATTR-DEC[], GRPBY-ATTR-DEC[], 및 VALUE-CTR[] 등의 7가지 필드를 포함하는 피쳐 벡터 Q가 생성될 수 있다. 벡터 Q의 각 필드에 포함된 원소(elements)는 아래의 표 4와 같을 수 있다.
Vector Field Description Elements
SQL-CMD[] Command Query mode
Query length
PROJ-REL-DEC[] Projection relation Projection relation information
Projected relation ID
PROJ-ATTR-DEC[] Projection attribute Projection attribute information
Projected attribute ID
SEL-ATTR-DEC[] Selection attribute Selection attribute information
Selected attribute ID
ORDBY-ATTR-DEC[] ORDERBY clause features ORDERBY attribute information
ORDERBY attribute ID
GRPBY-ATTR-DEC[] GROUPBY clause features GROUPBY attribute information
GROUPBY attribute ID
VALUE-CTR[] Value counter String information
String length
Numeric information
Function information
JOIN information
AND/OR information
이처럼, TPC-E 스키마(schema)를 기반으로 피쳐를 추출한 후, 33개의 테이블에서 277개의 피쳐가 수집될 수 있다. 예컨대, 'TRADE_HISTORY' 테이블의 쿼리 필드는 277개의 10 진수로 나쥐어질 수 있다(PROJ-ATTR-DEC[number], PROJ-ATTR-DEC[ID], PROJ-REL-DEC[number], SQL-CMD[where], 등.).이때, 추출된 피쳐들로 구성된 피쳐셋(즉, 피쳐 서브셋)은 역할 분류에 유효하지 않은 피쳐와 유효한 히든 피쳐가 함께 포함될 수 있으며, 발견 및 성능 구성 요소(420, 430)에서 유전 알고리즘 및 컨볼루션 신경망에 기초하여 피쳐 필터링 및 상관 관계 모델링을 수행할 수 있다. 예컨대, 유효하지 않은 피쳐를 선택하거나 또는 유효한 히든 피쳐를 선택하여 모델링을 수행할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.
300: 쿼리 분류 시스템 310: 필터링부
320: 분류부 410: 환경 구성 요소
420: 성능 구성 요소 430: 발견 구성 요소
440: 탐지 구성 요소

Claims (13)

  1. 데이터베이스 침입에 의한 쿼리인지 여부를 판단하기 위해 상기 쿼리를 상기 데이터베이스에 대한 접근 권한에 따라 사용자에게 할당된 역할로 분류하는 쿼리 분류 방법에 있어서,
    상기 방법은 프로세서에 의해 수행되고,
    상기 데이터베이스에 대하여 SQL 도구를 이용하여, SQL 개체 및 상기 SQL 개체에 대한 작업이 결합된 상기 쿼리를 생성하는 단계;
    상기 쿼리에 해당하는 로그를 생성하고, 상기 생성된 로그를 십진법 피쳐로 변환함으로써, 상기 쿼리로부터 희소 피쳐를 추출하는 단계;
    유전 알고리즘에 기초하여 상기 추출된 희소 피쳐를 필터링하여 피쳐 서브셋을 생성하는 단계; 및
    컨볼루션 신경망에 기초하여 상기 생성된 피쳐 서브셋을 구성하는 피쳐들 간의 상관 관계를 모델링하고, 상기 모델링 된 상관 관계에 따라 상기 쿼리를 상기 역할로 분류하는 단계를 포함하되,
    상기 피쳐 서브셋을 생성하는 단계는,
    상기 컨볼루션 신경망에 기초하여 모델링 된 상관 관계의 정확도에 관한 함수인 성능 기준 함수를 피드백 받음으로써, 상기 유전 알고리즘에 기초하여 추출된 희소 피쳐를 필터링하여 상기 피쳐 서브셋을 생성하는 단계를 포함하는, 쿼리 분류 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 성능 기준 함수는 상기 쿼리를 상기 역할로 분류하는 분류 정확도에 관한 항등 함수인, 쿼리 분류 방법.
  4. 제1항에 있어서, 상기 피쳐 서브셋을 생성하는 단계는,
    상기 희소 피쳐와 이진 인코딩 된 염색체를 내적하여 상기 피쳐 서브셋을 추출하는 단계를 포함하는, 쿼리 분류 방법.
  5. 제1항에 있어서, 상기 피쳐 서브셋을 생성하는 단계는,
    상기 피드백 받은 성능 기준 함수가 기준값을 만족하도록 상기 추출된 희소 피쳐를 필터링하는 단계를 포함하는, 쿼리 분류 방법.
  6. 제1항에 있어서, 상기 쿼리를 상기 역할로 분류하는 단계는,
    상기 쿼리를 상기 역할로 분류하는 분류 정확도가 기준값을 만족하도록 상기 쿼리를 상기 역할로 분류하는 단계를 포함하는, 쿼리 분류 방법.
  7. 제1항에 있어서,
    상기 피쳐 서브셋의 차원은 상기 희소 피쳐의 차원보다 낮은, 쿼리 분류 방법.
  8. 데이터베이스에 정보를 요청하는 쿼리에 대하여, 상기 쿼리가 침입에 의한 쿼리인지 여부를 판단하기 위한 침입 탐지 방법에 있어서,
    상기 방법은 프로세서에 의해 수행되고,
    SQL 개체 및 상기 SQL 개체에 대한 작업이 결합된 상기 쿼리에 해당하는 로그를 생성하고, 상기 생성된 로그를 십진법 피쳐로 변환함으로써, 상기 쿼리로부터 희소 피쳐를 추출하는 단계;데이터베이스에 정보를 요청하는 쿼리에 대하여, 상기 쿼리가 침입에 의한 쿼리인지 여부를 판단하기 위한 침입 탐지 방법에 있어서,
    상기 방법은 프로세서에 의해 수행되고,
    SQL 개체 및 상기 SQL 개체에 대한 작업이 결합된 상기 쿼리에 해당하는 로그를 생성하고, 상기 생성된 로그를 십진법 피쳐로 변환함으로써, 상기 쿼리로부터 희소 피쳐를 추출하는 단계;
    유전 알고리즘에 기초하여 상기 추출된 희소 피쳐를 필터링하여 피쳐 서브셋을 생성하는 단계;
    상기 피쳐 서브셋을 구성하는 피쳐들 간의 상관 관계 모델에 기반하여, 상기 쿼리를 상기 데이터베이스에 대한 접근 권한에 따라 사용자에게 할당된 역할로 분류하는 단계; 및
    상기 분류된 역할에 따라 상기 쿼리가 침입에 의한 쿼리인지 여부를 판단하는 단계를 포함하되,
    상기 피쳐 서브셋을 생성하는 단계는,
    컨볼루션 신경망에 기초하여 모델링 된 상기 피쳐 서브셋을 구성하는 피쳐들 간의 상관 관계의 정확도에 관한 함수인 성능 기준 함수를 피드백 받음으로써, 상기 유전 알고리즘에 기초하여 상기 추출된 희소 피쳐를 필터링하여 상기 피쳐 서브셋을 생성하는 단계를 포함하는, 침입 탐지 방법.
  9. 제8항에 있어서, 상기 피쳐 서브셋을 생성하는 단계는,
    상기 추출된 희소 피쳐와 이진 인코딩 된 염색체를 내적하여 상기 피쳐 서브셋을 생성하는 단계를 포함하는, 침입 탐지 방법.
  10. 제9항에 있어서, 상기 이진 인코딩 된 염색체는,
    상기 모델링 된 상관 관계의 정확도에 관한 함수인 성능 기준 함수가 기준값을 만족하도록 지능형 기술(intelligent technologies)을 이용하여 생성된 염색체이고,
    상기 지능형 기술은 유전 알고리즘(genetic algorithm)을 포함하는, 침입 탐지 방법.
  11. 제8항에 있어서, 상기 상관 관계 모델은,
    상기 쿼리를 상기 역할로 분류하는 분류 정확도가 기준값을 만족하도록 지능형 기술을 이용하여 생성된 모델이고,
    상기 지능형 기술은 컨볼루션 신경망(convolution neural network)을 포함하는, 침입 탐지 방법.
  12. 제1항 및 제8항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체.
  13. 데이터베이스 침입에 의한 쿼리인지 여부를 판단하기 위해 상기 쿼리를 상기 데이터베이스에 대한 접근 권한에 따라 사용자에게 할당된 역할로 분류하는 프로세서에 있어서,
    상기 프로세서는,
    상기 데이터베이스에 대하여 SQL 도구를 이용하여 SQL 개체 및 상기 SQL 개체에 대한 작업이 결합된 상기 쿼리를 생성하고,
    상기 쿼리에 해당하는 로그를 생성하고, 상기 생성된 로그를 십진법 피쳐로 변환함으로써, 상기 쿼리로부터 희소 피쳐를 추출하고,
    유전 알고리즘에 기초하여 상기 추출된 희소 피쳐를 필터링하여 피쳐 서브셋을 생성하고,
    컨볼루션 신경망에 기초하여 상기 생성된 피쳐 서브셋을 구성하는 피쳐들 간의 상관 관계를 모델링하고, 상기 모델링 된 상관 관계에 따라 상기 쿼리를 상기 역할로 분류하되,
    상기 컨볼루션 신경망에 기초하여 모델링 된 상관 관계의 정확도에 관한 함수인 성능 기준 함수를 피드백 받음으로써, 상기 유전 알고리즘에 기초하여 추출된 희소 피쳐를 필터링하여 상기 피쳐 서브셋을 생성하는, 프로세서.
KR1020180092680A 2018-08-08 2018-08-08 데이터베이스 침입 탐지를 위한 쿼리 분류 방법 KR102146526B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180092680A KR102146526B1 (ko) 2018-08-08 2018-08-08 데이터베이스 침입 탐지를 위한 쿼리 분류 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180092680A KR102146526B1 (ko) 2018-08-08 2018-08-08 데이터베이스 침입 탐지를 위한 쿼리 분류 방법

Publications (2)

Publication Number Publication Date
KR20200019289A KR20200019289A (ko) 2020-02-24
KR102146526B1 true KR102146526B1 (ko) 2020-08-20

Family

ID=69637420

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180092680A KR102146526B1 (ko) 2018-08-08 2018-08-08 데이터베이스 침입 탐지를 위한 쿼리 분류 방법

Country Status (1)

Country Link
KR (1) KR102146526B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116861467B (zh) * 2023-08-31 2023-12-26 中国科学院软件研究所 一种基于上下文特征的数据库异常查询访问控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100686399B1 (ko) * 2006-03-08 2007-02-26 전남대학교산학협력단 컴퓨터 상에서 상관관계 기반의 하이브리드 특징 선택을 통한 경량화된 침입탐지방법
KR100832804B1 (ko) * 2006-08-14 2008-05-28 (주)모니터랩 프로파일링 기반 데이터베이스 보안 시스템 및 방법
KR101565590B1 (ko) * 2015-01-07 2015-11-04 (주) 바이러스체이서 역할기반 접근통제 및 인가된 파일 리스트를 통한 파일접근 통제 통합 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100686399B1 (ko) * 2006-03-08 2007-02-26 전남대학교산학협력단 컴퓨터 상에서 상관관계 기반의 하이브리드 특징 선택을 통한 경량화된 침입탐지방법
KR100832804B1 (ko) * 2006-08-14 2008-05-28 (주)모니터랩 프로파일링 기반 데이터베이스 보안 시스템 및 방법
KR101565590B1 (ko) * 2015-01-07 2015-11-04 (주) 바이러스체이서 역할기반 접근통제 및 인가된 파일 리스트를 통한 파일접근 통제 통합 시스템

Also Published As

Publication number Publication date
KR20200019289A (ko) 2020-02-24

Similar Documents

Publication Publication Date Title
Bu et al. A convolutional neural-based learning classifier system for detecting database intrusion via insider attack
Zhang et al. An effective feature selection approach for network intrusion detection
Wu et al. Ant colony system sanitization approach to hiding sensitive itemsets
Zhan et al. A loan application fraud detection method based on knowledge graph and neural network
CN109117669B (zh) MapReduce相似连接查询的隐私保护方法及系统
Lv et al. Towards a user and role-based behavior analysis method for insider threat detection
Ivan et al. A performance analysis of business intelligence techniques on crime prediction
Hossain et al. Cyber attack detection model (CADM) based on machine learning approach
Shaheen et al. A novel optimized case-based reasoning approach with K-means clustering and genetic algorithm for predicting multi-class workload characterization in autonomic database and data warehouse system
Narwaria et al. Privacy preserving data mining—‘A state of the art’
KR102146526B1 (ko) 데이터베이스 침입 탐지를 위한 쿼리 분류 방법
Wang et al. An evolutionary computation-based machine learning for network attack detection in big data traffic
Venkatesan et al. A comprehensive study in data mining frameworks for intrusion detection
Kumar Efficient K-mean clustering algorithm for large datasets using data mining standard score normalization
Vinutha et al. Analysis of NSL-KDD dataset using K-means and canopy clustering algorithms based on distance metrics
CN110740111A (zh) 一种数据防漏方法、装置及计算机可读存储介质
Sasikala et al. Privacy preserving data mining using piecewise vector quantization (PVQ)
CN116668045A (zh) 一种多维度的网络安全综合预警方法和系统
Kim et al. Particle swarm optimization-based CNN-LSTM networks for anomalous query access control in RBAC-administered model
Kapil et al. Big data security and privacy issues
Rajput et al. Data mining based database intrusion detection system: a survey
Wei et al. User Behavior Profile: A key to Database Anomaly Access Detection
Sun et al. GAME-BC: A Graph Attention Model for Exploring Bitcoin Crime
Naserinia et al. Anomaly Detection in a SQL database: A Retrospective Investigation
Rao et al. Distributed data mining and mining multi-agent data

Legal Events

Date Code Title Description
A201 Request for examination
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