KR20160049372A - Sql 변조 공격을 감지하기 위한 자동 학습 방법 및 시스템 - Google Patents

Sql 변조 공격을 감지하기 위한 자동 학습 방법 및 시스템 Download PDF

Info

Publication number
KR20160049372A
KR20160049372A KR1020140146393A KR20140146393A KR20160049372A KR 20160049372 A KR20160049372 A KR 20160049372A KR 1020140146393 A KR1020140146393 A KR 1020140146393A KR 20140146393 A KR20140146393 A KR 20140146393A KR 20160049372 A KR20160049372 A KR 20160049372A
Authority
KR
South Korea
Prior art keywords
sql
database
profiling
client terminal
security server
Prior art date
Application number
KR1020140146393A
Other languages
English (en)
Other versions
KR101681054B1 (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 KR1020140146393A priority Critical patent/KR101681054B1/ko
Publication of KR20160049372A publication Critical patent/KR20160049372A/ko
Application granted granted Critical
Publication of KR101681054B1 publication Critical patent/KR101681054B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 SQL(Structured Query Language) 변조 공격을 감지하기 위한 자동학습(Auto Learning) 방법 및 시스템에 관한 것으로서, 데이터베이스에 접근한 클라이언트 단말기의 SQL 수행 이력에 대해 프로파일링(Profiling)을 통해 데이터베이스에 새로이 요청되는 SQL 명령어의 과거 수행여부를 판단하여, 기존에 사용된 SQL과 새로 작성된 SQL을 구분하는 것이다. 또한, 본 발명은 SQL을 상세 분석하여 SQL이 접근하는 데이터베이스 내의 테이블(Table)과 칼럼(Column) 정보를 수집하여 이를 통계화하고, 이를 통해 보안정책의 변경 여부를 판단할 수 있도록 한다.
따라서, 본 발명에 따른 데이터베이스 시스템에 접속하는 클라이언트 단말기(사용자나 시스템)별로 수행되는 SQL과 그에 대한 접근 상세 정보를 프로파일링함으로써 악의적인 사용자에 의해 불법으로 장악된 클라이언트 단말기에서 임의로 요청되는 SQL을 발견할 수 있는 효과와 보안정책 변경의 개선을 이끌어 낼 수 있는 효과가 있다.

Description

SQL 변조 공격을 감지하기 위한 자동 학습 방법 및 시스템{AUTO LEARNING METHOD AND SYSTEM TO DETECT MALICIOUS SQL COMMANDS}
본 발명은 데이터베이스의 보안기술에 관한 것으로, 더욱 상세하게는 DB 보안서버로 하여금 클라이언트 단말기에서 요청되는 SQL 명령어 중에서 정상적인 SQL과 변조된 SQL을 구분하여 데이터베이스 내의 데이터에 대한 안전한 보호를 제공할 수 있는 SQL 변조 공격을 감지하기 위한 자동학습(Auto Learning) 방법 및 시스템에 관한 것이다.
통상적으로, 데이터베이스에 접속하는 클라이언트 단말기는 개발자, DB 관리자와 같은 사용자 혹은 Web 서버, Application 서버 등 자동업무를 처리하는 시스템들이 될 수 있다. 이러한 경우에 DB 보안서버는 임의의 규칙에 따라 데이터베이스에 접근할 수 있는 클라이언트 단말기를 식별하고, 클라이언트 단말기에서 수행되는 SQL(Structured Query Language)을 기록하고 통제하는 역할을 한다.
그러나 DB 보안 서버에 의해 데이터베이스에 접속이 승인된 클라이언트 단말기가 악의적인 사용자에 의해 장악될 경우, 정상적인 SQL 명령이 아닌 개인정보 유출이나 시스템 파기를 초래하는 악의적인 SQL을 데이터베이스에 요청할 수 있다. 이러한 경우에 DB 보안 서버가 감시하고 있음에도 DB 보안 서버는 승인된 클라이언트 단말기에서 요청된 SQL이 정상적인 SQL인가 악의적인 변조된 SQL인가를 판단할 수 없게 된다.
KR 10-2007-0039478 A
본 발명은 상기한 문제점들을 해결하기 위해 제안된 것으로, 본 발명의 목적은, DB 보안서버로 하여금 클라이언트 단말기에서 요청되는 SQL 명령어 중에서 정상적인 SQL과 변조된 SQL을 구분하여 데이터베이스 내의 데이터에 대한 안전한 보호를 가능하게 하는 SQL 변조 공격을 감지하기 위한 자동학습(Auto Learning) 방법 및 시스템을 제공하는 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명에 따른 시스템은, 운영서버 내의 데이터베이스; 상기 데이터베이스에 접근하는 클라이언트 단말기; SQL 프로파일링 데이터 저장소; 및 네트워크에서 데이터를 수집하여 상기 클라이언트 단말기에서 상기 데이터베이스에 요청하는 SQL을 프로파일링하여 상기 SQL 프로파일링 데이터 저장소에 저장하고, 새로 요청되는 SQL을 프로파일링한 후 상기 SQL 프로파일링 데이터 저장소에 저장된 데이터와 비교하여 정상적인 SQL과 변조된 SQL을 구분하여 SQL 변조 공격을 감지하기 위한 DB 보안 서버를 포함하는 것을 특징으로 한다.
상기 자동 학습 시스템은, 보안정책 데이터 저장소를 더 구비하고, 상기 DB 보안서버는 상기 SQL 프로파일링 데이터 저장소에 저장된 SQL 정보를 실시간으로 분석함과 아울러 SQL이 접근하는 데이터베이스 내의 테이블(Table)과 칼럼(Column) 정보를 분석하여 상기 보안 정책 데이터 저장소에 저장하는 것이다.
상기 DB 보안 서버는 데이터베이스에 접근한 클라이언트 단말기의 SQL 수행 이력에 대해 프로파일링(Profiling)을 통해 데이터베이스에 새로이 요청되는 SQL 명령어의 과거 수행여부를 판단하여 과거 수행된 SQL 명령은 정상으로 판단하는 것이다.
또한, 상기와 같은 목적을 달성하기 위하여 본 발명에 따른 방법은, DB 보안서버가 데이터베이스(DB)에 접근하는 각 클라이언트들의 SQL을 프로파일링하여 SQL 프로파일링 데이터를 저장하는 제 1 단계; 각 클라이언트가 데이터베이스에 접근하여 새로운 SQL을 사용하면, 상기 DB 보안서버가 각 클라이언트의 SQL을 프로파일링하여 해당 SQL 명령어의 과거 수행여부를 판단하는 제 2 단계; 및 상기 DB 보안 서버가 SQL을 상세 분석하여 SQL이 접근하는 데이터베이스 내의 테이블(Table)과 칼럼(Column) 정보를 수집 및 통계화하여 보안정책의 변경 여부을 판단하는 제 3 단계를 포함하는 것을 특징으로 한다.
상기 제 2 단계는, 데이터베이스에 접근한 클라이언트 단말기의 SQL 수행 이력에 대해 프로파일링(Profiling)을 통해 데이터베이스에 새로이 요청되는 SQL 명령어의 과거 수행여부를 판단하여 기존에 사용된 SQL과 새로 작성된 SQL을 구분하는 것이다.
본 발명에 따른 SQL 변조공격을 감지하기 위한 자동학습 기능 방법에 의하면, 데이터베이스에 접근한 클라이언트 단말기의 SQL 수행 이력에 대해 프로파일링(Profiling)을 통해 데이터베이스에 새로이 요청되는 SQL 명령어의 과거 수행여부를 판단하여, 기존에 사용된 SQL과 새로 작성된 SQL을 구분할 수 있다. 또한, SQL을 상세 분석하여 SQL이 접근하는 데이터베이스 내의 테이블(Table)과 칼럼(Column) 정보를 수집하여 이를 통계화하고, 이를 통해 보안정책의 변경 여부를 판단할 수 있는 효과가 있다.
또한 본 발명에 따르면, 데이터베이스 시스템에 접속하는 클라이언트 단말기(사용자나 시스템)별로 수행되는 SQL과 그에 대한 접근 상세 정보를 프로파일링함으로써 악의적인 사용자에 의해 불법으로 장악된 클라이언트 단말기에서 임의로 요청되는 SQL을 발견할 수 있는 효과와, 보안정책 변경의 개선을 이끌어 낼 수 있는 효과가 있다.
도 1은 본 발명에 따른 SQL 변조 공격을 감지하기 위한 자동 학습 시스템의 전체 구성을 도시한 개략도,
도 2는 본 발명에 따른 SQL 변조 공격을 감지하기 위한 자동 학습 방법을 설명하기 위한 도면이다.
본 발명과 본 발명의 실시에 의해 달성되는 기술적 과제는 다음에서 설명하는 본 발명의 바람직한 실시예들에 의하여 보다 명확해질 것이다. 다음의 실시예들은 단지 본 발명을 설명하기 위하여 예시된 것에 불과하며, 본 발명의 범위를 제한하기 위한 것은 아니다.
도 1은 본 발명에 따른 SQL 변조 공격을 감지하기 위한 자동 학습 시스템의 전체 구성을 도시한 개략도이다.
도 1을 참조하면, 본 발명에 따른 SQL 변조 공격을 감지하기 위한 자동 학습 시스템(1)은 운영서버(10) 내의 데이터베이스(20)와, 데이터베이스(20)에 접근하는 클라이언트 단말기(40)와, SQL 프로파일링 데이터 저장소(60)와, 보안정책 데이터 저장소(80)와, 네트워크(30)에서 데이터를 수집하여 클라이언트 단말기(40)에서 데이터베이스(20)에 요청하는 SQL을 프로파일링하여 SQL 정보를 SQL 프로파일링 데이터 저장소(60)에 저장하고, 새로 요청되는 SQL을 프로파일링한 후 SQL 프로파일링 데이터 저장소(60)에 저장된 데이터와 비교하여 정상적인 SQL과 변조된 SQL을 구분하여 SQL 변조 공격을 감지하기 위한 DB 보안서버(70)로 구성된다.
DB 보안서버(70)는 SQL 프로파일링 데이터 저장소(60)에 저장된 SQL 정보를 실시간으로 분석함과 아울러 SQL이 접근하는 데이터베이스 내의 테이블(Table)과 칼럼(Column) 정보를 분석하여 보안 정책 데이터 저장소(80)에 저장한다.
도 2는 본 발명에 따른 SQL 변조 공격을 감지하기 위한 자동 학습 방법을 설명하기 위한 도면이다.
본 발명에 따른 자동 학습 절차는 도 2에 도시된 바와 같이, DB 보안서버(70)가 데이터베이스(DB;20)에 접근하는 각 클라이언트들(40)의 SQL을 프로파일링하여 SQL 정보를 SQL 프로파일링 데이터 저장소(60)에 저장하는 제 1 단계와, 각 클라이언트(40)가 데이터베이스(20)에 접근하여 새로운 SQL을 사용하면, DB 보안서버(70)가 각 클라이언트의 SQL을 프로파일링하여 해당 SQL 명령어의 과거 수행여부를 판단하는 제 2 단계와, DB 보안 서버(70)가 SQL을 상세 분석하여 SQL이 접근하는 데이터베이스 내의 테이블(Table)과 칼럼(Column) 정보를 수집 및 통계화하여 보안정책의 변경 여부을 판단하는 제 3 단계로 구성된다.
또한, 각 클라이언트 단말기(40)에는 단말기 프로세스(40)가 실행되고 있으며, 제 2 단계는 데이터베이스(20)에 접근한 클라이언트 단말기(40)의 SQL 수행 이력에 대해 프로파일링(Profiling)을 통해 데이터베이스(20)에 새로이 요청되는 SQL 명령어의 과거 수행여부를 판단하여 기존에 사용된 SQL과 새로 작성된 SQL을 구분하는 것이다.
도 2를 참조하면, DB 보안 서버(70)는 클라이언트 단말기(40)에서 운영서버 내의 데이터베이스에 요청하는 SQL을 프로파일링하여 데이터베이스(20)에 새로이 요청되는 SQL 명령어의 과거 수행여부를 판단하고, 기존에 사용된 SQL과 새로 작성된 SQL을 구분한다.
또한 프로파일링된 SQL 정보를 상세 분석하여 SQL이 접근하는 데이터베이스 (20)내의 테이블(Table)과 칼럼(Column) 정보를 수집하여 이를 통계화하고, 이를 통해 보안정책을 개선한다.
한편, DB 보안서버(70)가 운영서버(10)에 존재하는 데이터베이스(20)에 요청하는 클라이언트 단말기(40)의 SQL 수행 이력을 DB 보안서버(70)내의 SQL 프로파일링 데이터 저장소(60)에 저장하고, SQL 프로파일링 데이터 저장소(60)에 저장된 SQL 정보는 실시간으로 분석되어 SQL이 접근하는 데이터베이스 내의 테이블(Table)과 칼럼(Column) 정보를 분석하여 보안 정책 데이터 저장소(80)에 저장된다.
이상에서 본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나, 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
1: 정보처리시스템 10: 운영서버
20: 데이터베이스 시스템 30: 네트워크
40: 클라이언트 단말기 50: 클라이언트 단말기 프로세스
60: SQL 프로파일링 데이터 70: DB 보안서버
80: 보안정책 데이터

Claims (5)

  1. 운영서버 내의 데이터베이스;
    상기 데이터베이스에 접근하는 클라이언트 단말기;
    SQL 프로파일링 데이터 저장소; 및
    네트워크에서 데이터를 수집하여 상기 클라이언트 단말기에서 상기 데이터베이스에 요청하는 SQL을 프로파일링하여 상기 SQL 프로파일링 데이터 저장소에 저장하고, 새로 요청되는 SQL을 프로파일링한 후 상기 SQL 프로파일링 데이터 저장소에 저장된 데이터와 비교하여 정상적인 SQL과 변조된 SQL을 구분하여 SQL 변조 공격을 감지하기 위한 DB 보안 서버를 포함하는 SQL 변조 공격을 감지하기 위한 자동 학습 시스템.
  2. 제1항에 있어서, 상기 자동 학습 시스템은,
    보안정책 데이터 저장소를 더 구비하고,
    상기 DB 보안서버는 상기 SQL 프로파일링 데이터 저장소에 저장된 SQL 정보를 실시간으로 분석함과 아울러 SQL이 접근하는 데이터베이스 내의 테이블(Table)과 칼럼(Column) 정보를 분석하여 상기 보안 정책 데이터 저장소에 저장하는 것을 특징으로 하는 SQL 변조 공격을 감지하기 위한 자동 학습 시스템.
  3. 제1항에 있어서, 상기 DB 보안 서버는
    데이터베이스에 접근한 클라이언트 단말기의 SQL 수행 이력에 대해 프로파일링(Profiling)을 통해 데이터베이스에 새로이 요청되는 SQL 명령어의 과거 수행여부를 판단하여 과거 수행된 SQL 명령은 정상으로 판단하는 것을 특징으로 하는 SQL 변조 공격을 감지하기 위한 자동 학습 시스템.
  4. DB 보안서버가 데이터베이스(DB)에 접근하는 각 클라이언트들의 SQL을 프로파일링하여 SQL 프로파일링 데이터를 저장하는 제 1 단계;
    각 클라이언트가 데이터베이스에 접근하여 새로운 SQL을 사용하면, 상기 DB 보안서버가 각 클라이언트의 SQL을 프로파일링하여 해당 SQL 명령어의 과거 수행여부를 판단하는 제 2 단계; 및
    상기 DB 보안 서버가 SQL을 상세 분석하여 SQL이 접근하는 데이터베이스 내의 테이블(Table)과 칼럼(Column) 정보를 수집 및 통계화하여 보안정책의 변경 여부을 판단하는 제 3 단계를 포함하는 SQL 변조 공격을 감지하기 위한 자동 학습 방법.
  5. 제4항에 있어서, 상기 제 2 단계는,
    데이터베이스에 접근한 클라이언트 단말기의 SQL 수행 이력에 대해 프로파일링(Profiling)을 통해 데이터베이스에 새로이 요청되는 SQL 명령어의 과거 수행여부를 판단하여 기존에 사용된 SQL과 새로 작성된 SQL을 구분하는 것을 특징으로 하는 SQL 변조 공격을 감지하기 위한 자동 학습 방법.
KR1020140146393A 2014-10-27 2014-10-27 Sql 변조 공격을 감지하기 위한 자동 학습 방법 및 시스템 KR101681054B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140146393A KR101681054B1 (ko) 2014-10-27 2014-10-27 Sql 변조 공격을 감지하기 위한 자동 학습 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140146393A KR101681054B1 (ko) 2014-10-27 2014-10-27 Sql 변조 공격을 감지하기 위한 자동 학습 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20160049372A true KR20160049372A (ko) 2016-05-09
KR101681054B1 KR101681054B1 (ko) 2016-11-30

Family

ID=56020405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140146393A KR101681054B1 (ko) 2014-10-27 2014-10-27 Sql 변조 공격을 감지하기 위한 자동 학습 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101681054B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116647412A (zh) * 2023-07-26 2023-08-25 北京理想乡网络技术有限公司 一种Web服务器的安全防御方法和系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102028412B1 (ko) 2017-10-27 2019-10-04 국민대학교산학협력단 SQLite 데이터의 은닉 탐지 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116647412A (zh) * 2023-07-26 2023-08-25 北京理想乡网络技术有限公司 一种Web服务器的安全防御方法和系统
CN116647412B (zh) * 2023-07-26 2024-01-26 深圳市鹿驰科技有限公司 一种Web服务器的安全防御方法和系统

Also Published As

Publication number Publication date
KR101681054B1 (ko) 2016-11-30

Similar Documents

Publication Publication Date Title
CN108268354B (zh) 数据安全监控方法、后台服务器、终端及系统
CN107046550B (zh) 一种异常登录行为的检测方法及装置
US20180075240A1 (en) Method and device for detecting a suspicious process by analyzing data flow characteristics of a computing device
KR101743269B1 (ko) 행위 정보 분석 및 사용자 행위 패턴 모델링을 통한 이상행위 탐지 방법과 그를 위한 장치
CN102647421B (zh) 基于行为特征的web后门检测方法和装置
CN109446817A (zh) 一种大数据检测与审计系统
CN107426196B (zh) 一种识别web入侵的方法及系统
US11481478B2 (en) Anomalous user session detector
CN106339629A (zh) 一种应用程序管理方法及装置
CN102567546A (zh) 一种sql注入检测方法及装置
Singh et al. Sql injection detection and correction using machine learning techniques
CN113132311A (zh) 异常访问检测方法、装置和设备
CN110135162A (zh) Webshell后门识别方法、装置、设备及存储介质
CN108959923A (zh) 综合安全感知方法、装置、计算机设备和存储介质
KR101681054B1 (ko) Sql 변조 공격을 감지하기 위한 자동 학습 방법 및 시스템
CN104426836A (zh) 一种入侵检测方法及装置
CN115913715A (zh) 一种基于统一云端认证的网端双向保障方法、系统及存储介质
KR20150058613A (ko) 홈페이지 위변조 탐지 장치 및 방법
KR102311997B1 (ko) 인공지능 행위분석 기반의 edr 장치 및 방법
KR102221726B1 (ko) Edr 단말 장치 및 방법
KR102348357B1 (ko) 동적인 분석 플랜을 이용하는 edr 장치 및 방법
CN111125701B (zh) 文件检测方法、设备、存储介质及装置
US9172719B2 (en) Intermediate trust state
CN105306496A (zh) 用户身份检测方法和系统
CN116578994B (zh) 数据安全的操作方法、计算机设备及计算机存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 4