KR101658456B1 - Security device using transaction information obtained from web application server - Google Patents

Security device using transaction information obtained from web application server Download PDF

Info

Publication number
KR101658456B1
KR101658456B1 KR1020160040323A KR20160040323A KR101658456B1 KR 101658456 B1 KR101658456 B1 KR 101658456B1 KR 1020160040323 A KR1020160040323 A KR 1020160040323A KR 20160040323 A KR20160040323 A KR 20160040323A KR 101658456 B1 KR101658456 B1 KR 101658456B1
Authority
KR
South Korea
Prior art keywords
information
user
transaction
session
module
Prior art date
Application number
KR1020160040323A
Other languages
Korean (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 KR1020160040323A priority Critical patent/KR101658456B1/en
Application granted granted Critical
Publication of KR101658456B1 publication Critical patent/KR101658456B1/en
Priority to US15/766,005 priority patent/US10728267B2/en
Priority to PCT/KR2016/013134 priority patent/WO2017171188A1/en

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/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems
    • G06F17/30227
    • 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
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

A security device using transaction information collected from a web application server of the present invention comprises: a WAS plug-in agent installed in the web application server in a plug-in method and operated, and collecting transaction information of a user, which is decoded in a web server or the web application server, from a memory of the web application server; and a management server for receiving the transaction information from the WAS plug-in agent, analyzing whether the transaction information is normal or abnormal, generating detection information according to the analysis result, and transmitting a block command for the abnormal transaction to the WAS plug-in agent. The transaction information may include at least one among HTTP header information included in a packet, uniform resource identifier (URI) transaction information, access information of database, and web application server information. According to the present invention, it is capable of detecting attack encoded in SSL/TSL through analysis of the decoded transaction information, and responding to web hacking attack of a session stage after a normal login.

Description

웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치{SECURITY DEVICE USING TRANSACTION INFORMATION OBTAINED FROM WEB APPLICATION SERVER}TECHNICAL FIELD [0001] The present invention relates to a secure device using transaction information collected from a web application server,

본 발명의 실시예들은 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치에 관한 것으로서, 더욱 상세하게는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용하여 논리적인 보안관제를 수행할 수 있는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치에 관한 것이다. Embodiments of the present invention relate to a security apparatus using transaction information collected from a web application server, and more particularly, to a security apparatus using a transaction information obtained from a web application server capable of performing a logical security control using transaction information collected from a web application server And a security device using the collected transaction information.

기존 보안 관제 체계(IDS, IPS, ESM, FW, WAF 등)은 TCP/IP 패킷(Packet)을 스니핑(sniffing)하여 L4 혹은 L7 레이어까지 패킷을 파싱하여 침입탑지 차단등의 보안을 수행한다. 그러나 상기와 같은 방식은 패킷에 의존적이기 때문에, SSL/TSL로 암호화된 공격에 대한 탐지가 불가능하고, 정상 로그인 후 세션 단계의 웹 해킹 공격에 대한 대응이 불가능한 문제점이 있다.Existing security control systems (IDS, IPS, ESM, FW, WAF, etc.) sniffing TCP / IP packets and parse packets to L4 or L7 layer to perform security such as intrusion blocking. However, since the above method is dependent on a packet, it is impossible to detect an attack encrypted with SSL / TSL, and there is a problem that it is impossible to respond to a web hacking attack at a session level after a normal login.

도 1에서 볼 수 있는 바와 같이, 기존의 침입 방지 시스템(Intrusion Prevention System, IPS) 및 침입 탐지 시스템(Intrusion Detection System, IDS)은 네트워크로 전송되는 패킷의 내용(헤더 + 데이터)을 분석하여 탐지 및 방어를 수행하는 물리적인 보안관제 방법이었다. 그러나, 보안을 위해 SSL/TSL을 지원하는 프로토콜에서는 SSL/TSL이 암호화된 구간에서 기능하므로, i)SSL/TSL로 암호화된 공격에 대한 탐지 불가 분석 불가, ii)패킷 팔로우(Follow) 분석 불가, iii)정상 인증 후의 공격 대응 불가 iv)암호화로 인한 비정상 트랜잭션 식별의 한계 등의 문제가 있었다. 1, an existing Intrusion Prevention System (IPS) and an Intrusion Detection System (IDS) analyze the content (header + data) of a packet transmitted to the network, It was a physical security control method of performing defenses. However, since a protocol supporting SSL / TSL for security functions in the encrypted section of SSL / TSL, i) can not detect undetectable attacks against SSL / TSL encrypted attacks, ii) can not follow up packets, iii) Can not respond to attack after normal authentication iv) There is a problem such as limitation of identification of abnormal transaction due to encryption.

상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 SSL/TSL로 암호화된 공격에 대한 탐지가 가능하고, 정상 인증 후 세션 단계의 웹 해킹 공격에 대응 가능한 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치를 제안하고자 한다.In order to solve the problems of the related art as described above, according to the present invention, it is possible to detect attacks encrypted with SSL / TSL, and to detect transaction information collected from a web application server capable of responding to a web- To provide a security device using a security device.

본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.Other objects of the invention will be apparent to those skilled in the art from the following examples.

상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치에 있어서, 상기 웹 애플리케이션 서버에 플러그인 방식으로 설치되어 동작하며, 웹 서버 또는 웹 애플리케이션 서버에서 복호화된 사용자의 트랜잭션 정보를 웹 애플리케이션 서버의 메모리에서 수집하는 WAS 플러그인 에이전트; 및 상기 WAS 플러그인 에이전트로부터 트랜잭션 정보를 수신하고, 정상적인 트랜잭션 정보인지 또는 비정상적인 트랜잭션 정보인지를 분석하고, 분석결과에 따라 탐지정보를 생성하며, 상기 비정상 트랜잭션에 대한 차단 명령을 상기 WAS 플러그인 에이전트로 전송하는 관리 서버를 포함하는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치가 제공될 수 있다.According to another aspect of the present invention, there is provided a security apparatus using transaction information collected from a web application server, the security apparatus being installed in a plug-in manner in the web application server, A WAS plug-in agent for collecting transaction information of a user decrypted from the server in the memory of the web application server; And receiving transaction information from the WAS plug-in agent, analyzing whether it is normal transaction information or abnormal transaction information, generating detection information according to the analysis result, and transmitting a blocking command for the abnormal transaction to the WAS plug-in agent A security apparatus using transaction information collected from a web application server including a management server may be provided.

상기 WAS 플러그인 에이전트는 사용자의 웹 애플리케이션 서버로의 서비스 요청 시, 영구 쿠키에 변하지 않는 고유세션 ID가 있는지 탐색하고, 고유세션 ID가 없는 경우, 상기 사용자에 대한 고유 세션 ID를 생성하여 사용자의 웹 클라이언트로 전송하며, 생성된 고유세션 ID를 영구 쿠키에 설정하여 이후 서비스 요청시 고유세션 ID로 사용자를 구분할 수 있도록 하는 고유세션 ID 관리모듈을 더 포함할 수 있다.The WAS plug-in agent searches for a unique session ID that does not change in the persistent cookie when a user requests a service to the web application server. If there is no unique session ID, the WAS plug-in agent generates a unique session ID for the user, And a unique session ID management module for setting the generated unique session ID in the persistent cookie so that the user can be distinguished by the unique session ID in a subsequent service request.

상기 WAS 플러그인 에이전트는 상기 트랜잭션 정보에 포함된 HTTP 헤더를 분석하여 HTTP Method, URI, Query String, HTTP Protocol Version, Host, Connection, Accept, User-agent, Referer, Accept-Encoding, Accetpt-Language, Cookie, 기타 Header 정보, Attribute 정보등을 수집하는 HTTP 헤더 정보 수집모듈, 상기 트랜잭션 정보로부터 사용자 세션 ID, 상기 고유세션 ID를 수집하는 웹 세션 ID 수집 모듈, 상기 트랜잭션 정보 및 트랜잭션 처리시에 포함된 사용자 ID 정보를 수집하는 사용자 ID 정보 수집모듈, 상기 트랜잭션 정보에 포함된 DB 엑세스 정보로부터 SQL 수행건수, SQL Bind 변수, Select 건수, Insert 건수, Update 건수, Delete 건수 및 커넥션풀 사용량, 커넥션풀 미반환 정보들을 수집하는 DB 엑세스 정보 수집모듈, 웹 애플리케이션 서버 정보 수집모듈, 상기 트랜잭션 정보에 포함된 URI(Uniform Resource Identifier) 트랜잭션 정보 도메인 및 접속포트 정보, 접속 URI, 호출시간, 전체 응답시간, 구간별 응답시간, CPU 리소스 사용량, 처리 결과, AP 오류 및 Query String 정보를 수집하는 URI 정보 수집모듈 중 적어도 하나의 수집모듈을 포함하는 정보수집모듈을 포함할 수 있다.The WAS plug-in agent analyzes the HTTP header included in the transaction information and analyzes the HTTP header included in the transaction information to determine whether the WAS plug-in agent is an HTTP protocol, a URI, a Query String, an HTTP protocol version, a Host, a Connection, Accept, An HTTP header information collection module for collecting other header information and attribute information, a web session ID collection module for collecting the user session ID and the unique session ID from the transaction information, the transaction information, and the user ID information Collects the SQL execution number, the SQL Bind variable, the Select count, the number of inserts, the number of updates, the number of deletes and the connection pool usage, and the connection pool return information from the DB access information included in the transaction information A web application server information collection module, a URI (Uniform Resource Identifier) included in the transaction information, er) at least one of the transaction information domain and the URI information collection module for collecting connection port information, connection URI, call time, total response time, response time per section, CPU resource usage, processing result, AP error and Query String information And an information collecting module including a module.

상기 관리 서버는, 최초 트랜잭션 정보가 요청된 후 상기 사용자 세션 ID 및 상기 고유세션 ID가 생성된 이후 트랜잭션 정보가 재 요청될 시, 상기 트랜잭션 정보에 상기 사용자 세션 ID 및 고유세션 ID가 유지되지 않는 경우 DDOS 공격 또는 웹 크롤러인 것으로 탐지하는 제1 탐지, 상기 트랜잭션 정보가 재 요청될 시 상기 사용자 세션 ID만 유지되고, 상기 고유세션 ID가 유지되지 않는 경우 사용자의 웹 클라이언트가 해킹용 프로그램을 통해 동작되는 것으로 탐지하는 제2 탐지, 상기 고유 세션 ID와 상기 사용자 ID의 매핑을 통한 제3 탐지 중 적어도 하나의 탐지를 수행하는 세션 ID 기반 탐지 모듈을 포함할 수 있다.When the transaction information is requested again after the original session ID and the unique session ID are generated after the initial transaction information is requested, when the user session ID and the unique session ID are not retained in the transaction information A DDoS attack or a web crawler; when the transaction information is requested again, only the user session ID is maintained; if the unique session ID is not maintained, the user's web client is operated through a hacking program Based detection module that performs at least one of detection of a first detection through a mapping of the unique session ID and the user ID, and a third detection through a mapping of the unique session ID and the user ID.

상기 세션 ID 기반 탐지 모듈은 상기 고유세션 ID와 사용자 ID의 매핑을 통해 동일 단말기에서 다수 사용자가 접속하는 것을 탐지, 동일 사용자가 여러 개의 단말기에서 접속하는 것을 탐지, 하나의 단말기에서 Proxy를 경유하여 공격하는 것을 탐지 또는 하나의 단말기에서 IP를 변조하여 공격하는 것을 탐지할 수 있다.The session ID-based detection module detects that a plurality of users access the same terminal through the mapping of the unique session ID and the user ID, detects that the same user accesses from a plurality of terminals, Or detecting an attack by modulating IP in one terminal.

상기 관리 서버는, 웹 클라이언트의 종류 및 버전 정보가 담겨있는 상기 User-agent 정보를 식별하여, 상기 User-agent에 특정 문자열 존재 유무 또는 블랙 리스트 매핑을 통해 비정상 트랜잭션으로 탐지하는 제1 탐지, 상기 HTTP Method 중 허용되지 않는 Method가 포함된 경우 비정상 트랜잭션으로 탐지하는 제2 탐지, 상기 HTTP 헤더에 Proxy-connection 문자열이 존재 또는 상기 User-Agent에 Proxy 서버를 식별할 수 있는 문자열이 존재하는 경우 비정상 트랜잭션으로 탐지하는 제3 탐지 중 적어도 하나의 탐지를 포함하는 HTTP 헤더 정보 기반 탐지모듈을 포함할 수 있다.Wherein the management server identifies the User-agent information containing the type and version information of the Web client and performs first detection for detecting the existence of a specific character string or blacklist mapping in the User-agent as an abnormal transaction, If the method includes an unacceptable method, a second detection for detecting an abnormal transaction, a Proxy-connection string is present in the HTTP header, or a character string that can identify the proxy server exists in the User-Agent, And an HTTP header information based detection module including at least one of the third detection to detect the third detection.

상기 관리서버는, 상기 DB 엑세스 정보를 이용하여 대량 데이터 조회를 감지하거나, SQL 쿼리 및 바인드 변수에 대한 PCRE(Perl Compatible Regular Expressions) 패턴을 탐지하여 비정상 트랜잭션을 탐지하는 DB 엑세스 정보 기반 탐지모듈 및 동일 고유세션 ID 기반의 사용자 식별을 통해, 사용자별 과다 호출 탐지, 사용자별 특정 URI 반복 호출 탐지, URI 별 호출 랭킹 기반의 랭킹 급상승 탐지, 비정상 URI 호출 Flow를 탐지하는 통계 데이터 기반 탐지모듈을 포함할 수 있다.The management server includes a DB access information based detection module for detecting a bulk data inquiry using the DB access information, detecting a Perl Compatible Regular Expression (PCRE) pattern for an SQL query and a bind variable and detecting an abnormal transaction, Based on user identification based on unique session ID, it can include detection of per-user over-call, per-user specific URI recall detection, ranking up-grade detection based on URI call ranking, and statistical data based detection module for detecting abnormal URI call flow have.

상기 관리 서버는, 상기 고유세션 ID를 통한 트랜잭션 분석 연속성 제공, 정확한 시간 별, 일별 방문자수 산정, 고유세션 ID 별 트랜잭션 분포도 및 통계 분석을 수행하는 세션 ID 기반 통계 분석모듈; 상기 HTTP 헤더 정보를 이용한 호출 브라우저 별 통계 분석을 수행하는 HTTP 헤더 정보 기반 통계 분석모듈; 및 상기 URI 성능정보를 이용한 상기 도메인 별 각종 통계지표 및 상기 URI 별 통계정보를 분석하는 URI 성능정보 기반 통계 분석모듈을 포함할 수 있다.The management server includes a session ID-based statistical analysis module for providing transaction analysis continuity through the unique session ID, accurate time-based, daily visitor counting, transaction distribution by unique session ID, and statistical analysis; An HTTP header information based statistical analysis module for performing statistical analysis for each call browser using the HTTP header information; And a URI performance information based statistical analysis module for analyzing the various statistical indices for each domain using the URI performance information and the statistical information for each URI.

상기 관리서버는, User-Agent 블랙리스트 관리, 차단 Method 관리, 차단 세션 ID 관리, 차단 사용자 ID 관리, 차단 사용자 IP 관리 등에 대한 차단 정책을 관리 하는 차단 정책 관리모듈; 영구 차단 제어, 시간 설정 차단 제어, 자동 차단 제어, 수동 차단 제어등의 차단 정책을 제어하는 차단 정책 제어모듈;을 포함하는 차단제어모듈을 더 포함하며, 상기 차단제어모듈은 통신 모듈을 통해 상기 WAS 플러그인 에이전트로 차단 정책을 송신하며, 비정상 트랜잭션이 탐지되는 경우 차단 명령을 상기 WAS 플러그인 에이전트로 전송할 수 있다.The management server includes a blocking policy management module for managing a blocking policy for User-Agent black list management, blocking method management, blocking session ID management, blocking user ID management, blocking user IP management, and the like. And a blocking policy control module for controlling a blocking policy such as a permanent blocking control, a time setting blocking control, an automatic blocking control, a manual blocking control, and the like. The blocking control module controls the WAS The blocking policy is transmitted to the plug-in agent, and a blocking command can be transmitted to the WAS plug-in agent when an abnormal transaction is detected.

상기 WAS 플러그인 에이전트는, 상기 차단제어모듈로부터 차단 명령를 수신하는 경우 차단 명령에 해당하는 트랜잭션에 대한 차단 기능을 수행하는 비정상 트랜잭션 관리모듈을 더 포함할 수 있다.The WAS plug-in agent may further include an abnormal transaction management module that performs a blocking function for a transaction corresponding to a blocking command when receiving a blocking command from the blocking control module.

본 발명에 따르면, 복호화된 트랜잭션 정보의 분석을 통해 SSL/TSL로 암호화된 공격에 대한 탐지가 가능하며, 정상 로그인 후 세션 단계의 웹 해킹 공격 대응이 가능하다.According to the present invention, it is possible to detect attacks encrypted with SSL / TSL through analysis of decrypted transaction information, and to respond to a web hacking attack at the session level after normal login.

또한, 본 발명에 따르면, 웹 애플리케이션 서버 메모리내의 복호화된 각종 정보를 수집할 수 있으므로, 다양한 형태의 통계 분석을 수행할 수 있는 이점이 있다.In addition, according to the present invention, it is possible to collect various kinds of decoded information in the web application server memory, and thus it is possible to perform various types of statistical analysis.

도 1은 종래의 보안관제 시스템의 일례를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 보안관제 시스템의 일례를 도시한 도면이다.
도 3 및 도 4은 발명의 일 실시예에 따른 보안장치를 포함하는 보안관제 시스템의 일례를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 WAS 플러그인 에이전트의 상세한 구성을 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 사용자 세션 ID를 관리하는 방법의 일례를 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 사용자 식별을 하는 경우의 일례를 설명하기 위해 도시된 도면이다.
도 8은 본 발명의 일 실시예에 따른 고유세션 ID를 부여하는 과정의 일례를 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 사용자 ID를 수집하는 방법의 일례를 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 관리 서버의 상세한 구성을 도시한 블록도이다.
도 11은 본 발명의 일 실시예에 따른 고유세션 ID와 사용자 ID 매핑 탐지를 설명하기 위해 도시한 도면이다.
도 12 내지 도 14는 본 발명의 일 실시예에 따른 HTTP 헤더 정보 기반으로 탐지를 수행하는 일례를 도시한 도면이다.
도 15는 본 발명의 일 실시예에 따른 고유세션 ID 기반의 사용자 식별을 이용한 통계 데이터 기반 탐지 방법의 일례를 도시한 도면이다.
1 is a diagram showing an example of a conventional security control system.
2 is a diagram illustrating an example of a security control system according to an embodiment of the present invention.
FIG. 3 and FIG. 4 are views showing an example of a security control system including a security device according to an embodiment of the present invention.
5 is a block diagram showing a detailed configuration of a WAS plug-in agent according to an embodiment of the present invention.
6 is a diagram illustrating an example of a method for managing a user session ID according to an embodiment of the present invention.
7 is a view for explaining an example of user identification according to an embodiment of the present invention.
FIG. 8 is a diagram illustrating an example of a process of assigning a unique session ID according to an embodiment of the present invention.
9 is a diagram illustrating an example of a method of collecting a user ID according to an embodiment of the present invention.
10 is a block diagram showing a detailed configuration of a management server according to an embodiment of the present invention.
FIG. 11 is a diagram illustrating a unique session ID and user ID mapping detection according to an exemplary embodiment of the present invention. Referring to FIG.
12 to 14 illustrate an example of performing detection based on HTTP header information according to an embodiment of the present invention.
15 is a diagram illustrating an example of a statistical data-based detection method using unique session ID-based user identification according to an embodiment of the present invention.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and drawings.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 이하의 설명에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한, 도면에서 본 발명과 관계없는 부분은 본 발명의 설명을 명확하게 하기 위하여 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments described below, but may be embodied in various forms. In the following description, it is assumed that a part is connected to another part, But also includes a case in which other elements are electrically connected to each other in the middle thereof. In the drawings, parts not relating to the present invention are omitted for clarity of description, and like parts are denoted by the same reference numerals throughout the specification.

이하, 첨부된 도면들을 참고하여 본 발명에 대해 설명하도록 한다.Hereinafter, the present invention will be described with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 보안관제 시스템의 일례를 도시한 도면이다 2 is a diagram illustrating an example of a security control system according to an embodiment of the present invention

기존 보안 관제 체계 IPS/IDS(10), WAF(20)는 TCP/IP 패킷(Packet)을 스니핑(sniffing)하여 L4 혹은 L7 레이어까지 패킷을 파싱하여 침입탑지 차단등의 보안을 수행한다. 그러나 상기와 같은 방식은 패킷에 의존적이기 때문에, SSL/TSL로 암호화된 공격에 대한 탐지가 불가능하고, 정상 로그인 후 세션 단계의 웹 해킹 공격에 대한 대응이 불가능한 문제점이 있다. 또한 패킷 Follow 분석이 불가능하며, 비정상 트랜잭션 식별의 한계가 있다. Existing security control system The IPS / IDS 10 and the WAF 20 sniff the TCP / IP packet and parse the packet to the L4 or L7 layer to perform security such as intrusion blocking. However, since the above method is dependent on a packet, it is impossible to detect an attack encrypted with SSL / TSL, and there is a problem that it is impossible to respond to a web hacking attack at a session level after a normal login. Also, packet follow analysis is not possible, and there is a limit to abnormal transaction identification.

따라서, 본 발명은 웹 서버(30) 또는 웹 애플리케이션 서버(40)에서 복호화된 SSL/TSL로 요청된 사용자의 트랜잭션 정보를 웹 애플리케이션 서버(40)의 메모리에서 수집하는 WAS 플러그인 에이전트(50)를 웹 애플리케이션 서버(40)에 설치하고, 상기 수집된 트랜잭션 정보를 이용하여 침입탐지 및 차단, 트랜잭션 정보의 통계 분석을 수행함으로써, 암호화된 트랜잭션 데이터에 의한 IPS/IDS(10)의 한계를 극복하는 것을 특징으로 한다.Accordingly, the present invention provides a WAS plug-in agent 50 that collects the transaction information of the user requested by the web server 30 or the SSL / TSL decrypted by the web application server 40 in the memory of the web application server 40, It is installed in the application server 40 and performs intrusion detection and blocking and statistical analysis of transaction information using the collected transaction information to overcome the limit of the IPS / IDS 10 by encrypted transaction data .

본 발명에 따르면, 암호화된 SSL/TSL 트랜잭션 정보의 분석이 가능하며, 패킷 Follow 분석이 가능해진다. 또한, 웹 서버(30) 또는 웹 애플리케이션 서버(40)에서의 정상 인증 후의 공격에 대한 대응이 가능하며, 비정상 트랜잭션의 식별이 가능해진다. 또한, WAS 플러그인 에이전트(50)에서 수집되는 복호화된 다양한 형태의 트랜잭션 정보를 통해 세션 레벨의 탐지가 가능하며 트랜잭션 통계 기반의 탐지가 가능하다.According to the present invention, encrypted SSL / TSL transaction information can be analyzed and packet follow analysis can be performed. It is also possible to respond to an attack after the normal authentication in the web server 30 or the web application server 40, and to identify the abnormal transaction. Also, it is possible to detect the session level through various types of decrypted transaction information collected by the WAS plug-in agent 50 and to detect based on transaction statistics.

도 3 및 도 4은 발명의 일 실시예에 따른 보안장치를 포함하는 보안관제 시스템의 일례를 도시한 도면이다.FIG. 3 and FIG. 4 are views showing an example of a security control system including a security device according to an embodiment of the present invention.

도 3 및 도 4를 참조하면, 본 발명의 일 실시예에 따른 보안 장치는 WAS 플러그인 에이전트(50-1~50-n, 이하 50) 및 관리 서버(53)를 포함할 수 있다.3 and 4, the security device according to an embodiment of the present invention may include a WAS plug-in agent 50-1 to 50-n (hereinafter, 50) and a management server 53. [

WAS 플러그인 에이전트(50)는 웹 애플리케이션 서버(40-1~40-n, 이하 40)에 설치되어 동작하고, 웹 애플리케이션 서버(40)의 메모리로부터 실시간으로 웹 서버(30) 또는 웹 애플리케이션 서버(40)에서 복호화된 SSL/TSL로 요청된 사용자의 트랜잭션 정보를 수집한다. 웹 서버(30)로 전송된 SSL/TSL로 암호화된 요청은 사용자가 웹 서버(30) 또는 웹 애플리케이션 서버(40)에서의 인증서등을 통한 인증 통과를 통해 복호화될 수 있다.The WAS plug-in agent 50 is installed and operated in the web application servers 40-1 to 40-n (hereinafter, referred to as 40), and the web server 30 or the web application server 40 ) Collects the transaction information of the user requested by the decrypted SSL / TSL. The SSL / TSL encrypted request sent to the web server 30 may be decrypted by the user through authentication through the certificate in the web server 30 or the web application server 40. [

여기서, WAS 플러그인 에이전트(50)에서 수집되는 트랜잭션 정보는 패킷에 포함된 HTTP 헤더 정보, URI(Uniform Resource Identifie) 트랜잭션 정보, 데이터베이스의 엑세스 정보, 웹 에플리케이션 서버 정보 중 적어도 하나를 포함할 수 있다.Here, the transaction information collected by the WAS plug-in agent 50 may include at least one of HTTP header information, Uniform Resource Identifier (URI) transaction information, database access information, and Web application server information included in the packet.

도 5는 본 발명의 일실시예에 따른 WAS 플러그인 에이전트의 상세한 구성을 도시한 블록도이다.5 is a block diagram showing a detailed configuration of a WAS plug-in agent according to an embodiment of the present invention.

도 5를 참조하면, WAS 플러그인 에이전트(50)는 정보 수집모듈(500), 고유 세선 ID 관리모듈(510), 비정상 트랜잭션 관리모듈(520) 및 통신모듈(530)을 포함할 수 있다.5, the WAS plug-in agent 50 may include an information collection module 500, a unique gull ID management module 510, an abnormal transaction management module 520, and a communication module 530.

여기서, 정보 수집 모듈(500)은 HTTP 헤더 정보 수집모듈(501), 웹 세션 ID 수집모듈(503), 사용자 ID 정보 수집모듈(505), DB 엑세스 정보 수집모듈(507), 웹 애플리케이션 서버 정보 수집모듈(509), URI 정보 수집모듈(511), 을 포함할 수 있다.Here, the information collection module 500 includes an HTTP header information collection module 501, a web session ID collection module 503, a user ID information collection module 505, a DB access information collection module 507, A module 509, and a URI information collection module 511.

HTTP 헤더 정보 수집모듈(501)은 HTTP 헤더를 분석하여 HTTP 헤더에 포함된 정보를 수집한다.The HTTP header information collection module 501 analyzes the HTTP header to collect information included in the HTTP header.

일례로, HTTP 헤더 정보에서 HTTP Method, URI, Query String, HTTP Protocol Version, Host, Connection, Accept, User-agent, Referer, Accept-Encoding, Accetpt-Language, Cookie, 기타 Header 정보, Attribute 정보 등을 수집할 수 있다.For example, the HTTP header information collects HTTP method, URI, Query String, HTTP protocol version, Host, Connection, Accept, User-agent, Referer, Accept-Encoding, Accetpt-Language, Cookie, can do.

웹 세션 ID 수집모듈(503)은 사용자의 웹 세션 ID, 변하지 않는 고유세션 ID를 수집한다.The web session ID collection module 503 collects the user's web session ID and the unchanging unique session ID.

일반적으로 사용하는 HTTP 프로토콜은 TCP/IP 접속을 유지하지 않기 때문에 세션을 유지하기 위하여 여러 가지 방법이 사용된다. 가장 널리 쓰이는 방법은 보안을 고려하여 민감한 세션 정보는 서버(메모리/파일/DB 등)에 저장하고 해당 정보를 찾을 수 있는 키값(세션 ID) 쿠키(Cookie)를 이용하여 브라우저 저장하는 방법이다. 웹 애플리케이션 서버(40)는 브라우저에서 보내는 세션 ID를 이용하여 사용자(웹 클라이언트)를 구분하며, 로그인 후에 요청되는 URL에 대하여 세션 ID를 통하여 웹 애플리케이션 서버(40)에서 로그인 사용자를 식별하게 된다.Because the commonly used HTTP protocol does not maintain a TCP / IP connection, several methods are used to maintain the session. The most widely used method is to store sensitive session information in a server (memory / file / DB, etc.) in consideration of security and store it in a browser using a key value (session ID) cookie to find the corresponding information. The web application server 40 identifies the user (web client) using the session ID sent from the browser, and identifies the login user in the web application server 40 through the session ID for the requested URL after login.

도 6을 참조하면, 사용자의 웹 클라이언트(80)는 하드 디스크(81) 또는 웹 클라이언트 메모리(82)를 포함할 수 있다. 사용자는 웹 클라이언트(80)를 통해 웹 애플리케이션 서버(40)로 최초 서비스 요청을 하면, 웹 애플리케이션 서버(40)는 사용자 세션 ID를 생성하여 Cookie에 추가를 통해 응답 헤더에 적용 및 WAS 세션 스토어에 저장할 수 있다. Cookie 생성시 setMaxAge설정을 통하여 웹 클라이언트에서의 세션 ID 유지시간을 설정할 수 있다. 세션 ID 유지 시간은 다음과 같은 케이스로 설정될 수 있다.Referring to FIG. 6, the user's web client 80 may include a hard disk 81 or a web client memory 82. When the user makes an initial service request to the web application server 40 through the web client 80, the web application server 40 generates a user session ID, applies it to the response header through addition to the cookie, and stores it in the WAS session store . You can set session ID retention time on web client through setMaxAge setting when cookie is created. The session ID retention time can be set to the following cases.

a. 미설정 또는 -1 : 웹 클라이언트 메모리에 저장a. Not set or -1: Save to web client memory

b. 숫자로 설정 : 해당 시간(초) 만큼 유지b. Set to number: Keep for the number of seconds

c. 0 으로 설정: 해당 세션 ID 즉시 파기c. Set to 0: Disable the corresponding session ID immediately

웹 애플리케이션 서버(40)로부터 사용자 세션 ID가 전송되면, 웹 클라이언트(80)로 전송되면, 웹 클라이언트(80)는 사용자 세션 ID를 저장한다. 상기 a와 같이 세션 ID 유지 시간이 설정되는 경우 웹 클라이언트 메모리(82)에 저장되며, 상기 b와 같이 세션 ID 유지 시간이 설정되는 경우 웹 클라이언트(80) 메모리 및 하드디스크(81)에 저장될 수 있다. When the user session ID is transmitted from the web application server 40, the web client 80 stores the user session ID. When the session ID holding time is set as shown in a, the web client 80 is stored in the web client memory 82, and when the session ID holding time is set like the b, the web client 80 can be stored in the memory 80 and the hard disk 81 have.

웹 애플리케이션 서버(40)는 로그인 전에는 사용자 세션 ID를 이용하여 사용자(웹 클라이언트)를 구분하며, 로그인 후에는 사용자 세션 ID 및 로그인 정보를 이용하여 사용자를 구분한다. 사용자는 웹 애플리케이션 서버(40)를 통해 웹 서비스를 이용할 수 있으며, 상기 a와 같이 세션 ID 유지 시간이 설정된 경우 웹 클라이언트 종료 시 사용자 세션 ID가 파기가 된다. 상기 b와 같이 사용자 세션 ID 유지 시간이 설정된 경우 설정된 해당 시간이 지난 사용자 세션 ID에 대하여 웹 클라이언트 메모리(82), 하드 디스크(81)에서 사용자 세션 ID를 파기할 수 있다.The web application server 40 distinguishes the user (web client) using the user session ID before login, and distinguishes the user using the user session ID and login information after login. The user can use the web service through the web application server 40. If the session ID holding time is set as in a, the user session ID is discarded when the web client is terminated. If the user session ID holding time is set as shown in b, the user session ID can be discarded from the web client memory 82 and the hard disk 81 with respect to the user session ID whose time has elapsed.

기존의 사용자 세션 ID와는 달리 본 발명에서는 고유세션 ID 관리모듈(110)에서 생성된 고유세션 ID를 생성하여 웹 클라이언트가 재기동되어 동일 세션 ID를 제공하여 사용자 식별이 가능하도록 한다.Unlike the existing user session ID, in the present invention, the unique session ID generated by the unique session ID management module 110 is generated, and the web client is restarted to provide the same session ID to enable user identification.

기존의 사용자 세션 ID의 경우 브라우저를 닫거나, PC를 재 부팅하는 경우 웹 애플리케이션 서버(40)에 재 접속 시 세션 ID가 변경되게 된다. In case of the existing user session ID, when the browser is closed or the PC is rebooted, the session ID is changed when reconnecting to the web application server 40. [

따라서 동일한 사용자에 대한 통계분석에 어려움이 있었다. 또한, 트랜잭션 정보에 포함된 사용자 IP의 경우 특정 그룹에서 대표 IP를 공용으로 쓰는 경우 서로 다른 사용자의 트랜잭션 정보임에도 동일 사용자 IP가 포함될 수 있어, IP 기반으로 사용자에 대한 통계분석이 어려운 문제가 있었다.Therefore, there was a difficulty in statistical analysis for the same user. In addition, in the case of the user IP included in the transaction information, when the representative IP is commonly used in a specific group, the same user IP can be included in the transaction information of different users.

따라서, 본 발명에서는 고유세션 ID 관리 모듈(510)이 사용자 별로 변하지 않는 고유세션 ID를 부여하고, 고유세션 ID를 통해 사용자를 식별하게 된다. 여기서, 고유세션 ID는 사용자가 서비스 요청 시 HTTP 헤더(쿠키)에서 기존 부여된 고유세션 ID가 있는지 확인하여 없다면 고유세션 ID를 생성하여 변하지 않는 영구쿠키에 저장하여 이후 웹 클라이언트 PC의 하드 디스크에 저장되며, 이후 호출 시 부여된 고유세션 ID가 변하지 않고 HTTP 헤더에 담겨 요청되므로, 동일 사용자 인지 아닌지 구별할 수 있다.Accordingly, in the present invention, the unique session ID management module 510 assigns a unique session ID that does not change for each user, and identifies the user through the unique session ID. Here, the unique session ID is determined by checking whether the user has a unique session ID given in the HTTP header (cookie) at the time of the service request. If the unique session ID is not stored, the unique session ID is stored in the persistent cookie Since the unique session ID assigned in the subsequent call does not change and is requested in the HTTP header, it is possible to distinguish whether the same user or not.

도 7은 본 발명의 일 실시예에 따른 사용자 식별을 하는 경우의 일례를 설명하기 위해 도시된 도면이다.7 is a view for explaining an example of user identification according to an embodiment of the present invention.

도 7(a)를 참조하면, 웹 애플리케이션 서버에서는 네트워크를 거쳐 사용자의 트랜잭션이 요청되는 경우 사용자 A에 대한 IP 식별이 불가능할 수 있다. 하지만, 본 발명에서와 같이 변하지 않는 고유세션 ID로 사용자를 식별하는 경우 도 7(b)를 참조하면, 네트워크를 거쳐 트랜잭션이 요청되는 경우에도 HTTP 헤더에서의 세션 ID는 웹 애플리케이션 서버에서 식별이 가능하다.Referring to FIG. 7 (a), in the web application server, when a transaction of a user is requested via a network, IP identification of the user A may not be possible. However, in the case of identifying a user with a unique session ID that does not change as in the present invention, referring to FIG. 7B, even when a transaction is requested via the network, the session ID in the HTTP header can be identified by the web application server Do.

도 8은 본 발명의 일 실시예에 따른 고유세션 ID를 부여하는 과정의 일례를 도시한 도면이다.FIG. 8 is a diagram illustrating an example of a process of assigning a unique session ID according to an embodiment of the present invention.

도 8을 참조하면, 웹 클라이언트(80)가 서비스 트랜잭션 요청 시, 고유 고유세션 ID 관리 모듈(510)은 우선 트랜잭션에 고유세션 ID가 포함되어 있는지를 판단하고, 고유세션 ID가 포함되어 있지 않다면 고유세션 ID를 생성하여 Cookie에 추가를 통해 응답 헤더에 적용한다. Cookie 생성 시 SetMaxAge를 매우 큰 값으로 설정하여 웹 클라이언트에서의 고유세션 ID로 생성한다. 일례로 setMaxAge(2144448000)으로 세션 ID 유지시간이 설정될 시 60년간 유지될 수 있다.Referring to FIG. 8, when the web client 80 requests a service transaction, the inherent unique session ID management module 510 determines whether the unique session ID is included in the transaction first. If the unique session ID is not included, Generate a session ID and apply it to the response header by adding it to the cookie. SetMaxAge is set to a very large value when creating a cookie, and it is created with a unique session ID from the web client. For example, setMaxAge (2144448000) can hold the session ID retention time for 60 years.

이후 생성된 고유세션 ID는 웹 클라이언트로 전송되며, 웹 클라이언트는 고유세션 ID를 웹 클라이언트 메모리 및 하드 디스크에 저장한다. 사용자가 사이트를 이용하는 경우 로그인과 무관하게 고유세션 ID는 유지되며, 웹 애플리케이션 서버(40)는 사용자에 의해 요청되는 트랜잭션 정보에서 고유세션 ID를 수집하여 사용자를 구분할 수 있다. 웹 클라이언트(80)가 종료 또는 재 기동시에도 고유세션 ID가 하드 디스크(81)에 유지되며, 웹 클라이언트 실행 시 하드 디스크의 고유세션 ID가 웹 클라이언트 메모리(82)에서 복원된다. 또한, 웹 클라이언트 재 실행 시 고유 세선 ID에 설정된 고유세션 ID 유지시간은 재설정될 수 있다.
The generated unique session ID is transmitted to the web client, which stores the unique session ID in the web client memory and the hard disk. When the user uses the site, the unique session ID is maintained regardless of the login, and the web application server 40 can distinguish the user by collecting the unique session ID from the transaction information requested by the user. The unique session ID is maintained in the hard disk 81 even when the web client 80 is terminated or restarted and the unique session ID of the hard disk is restored in the web client memory 82 when the web client is executed. In addition, the unique session ID retention time set in the unique thin line ID upon re-execution of the web client can be reset.

사용자 ID 정보 수집모듈(505)는 트랜잭션 정보에 포함된 사용자 ID 정보를 수집한다. The user ID information collection module 505 collects the user ID information included in the transaction information.

도 9는 본 발명의 일 실시예에 따른 사용자 ID를 수집하는 방법의 일례를 도시한 도면이다.9 is a diagram illustrating an example of a method of collecting a user ID according to an embodiment of the present invention.

도 9를 참조하면, 사용자 ID 정보 수집 모듈은 사용자 ID에 대한 파라미터명을 설정하여 로그인시에만 추출하는 방법#1 및 사용자 ID를 Access하는 메소드를 설정하여 해당 메소드가 메모리에 로드시 정보추출을 위한 코드를 Injection하여 해당 메소드 수행 시 호출 파라미터나 리턴 값에서 사용자 ID를 추출하는 방법#2를 통해 사용자 ID를 추출할 수 있다.Referring to FIG. 9, the user ID information collection module sets a parameter name for the user ID and extracts only the method # 1 at login, and sets a method for accessing the user ID, Injecting the code to extract the user ID from the method # 2, which extracts the user ID from the calling parameter or return value when the corresponding method is executed.

DB 엑세스 정보 수집모듈(507)는 WAS 플러그인 에이전트에서 DB Access시 DB 접속정보, DB 커넥션풀 사용량, SQL 수행건수, SQL Bind 변수, DML(data manipulation language) 정보 수집을 통한 Select 건수, Insert 건수, Update 건수, Delete 건수 및 커넥션풀 사용량, 커넥션풀 미반환 정보들을 포함하는 상기 데이터베이스의 엑세스 정보를 수집한다.The DB access information collection module 507 collects DB access information, DB connection pool usage, SQL execution number, SQL bind variable, DML (data manipulation language) The number of records, the number of records, the number of records, the number of records, the number of records, the number of records, the number of records, the number of records, the number of records,

웹 애플리케이션 서버 정보 수집모듈(509)은 웹 애플리케이션 서버(40)의 호스트네임, 웹 애플리케이션 서버 컨테이너명 및 인스턴트 명, 서비스 포트, OS 및 웹 애플리케이션 리소스 사용량 등의 정보를 수집한다.The web application server information collection module 509 collects information such as a host name of the web application server 40, a web application server container name and an instant name, a service port, an OS, and a web application resource usage.

URI 성능정보 수집모듈(511)은 도메인 및 접속포트 정보, 접속 URI 호출시간, 전체 응답시간, 구간별 응답시간, CPU 리소스 사용량, 처리 결과, AP 오류 및 Query String 정보를 포함하는 URI 트랜잭션 정보를 수집한다.URI performance information collection module 511 collects URI transaction information including domain and access port information, connection URI call time, total response time, response time per section, CPU resource usage, processing result, AP error, and Query String information do.

비정상 트랜잭션 관리 모듈(520)은 차단 정책 관리, 관리서버(50)로부터의 요청에 따른 비정상 트랜잭션 차단, 차단 현황 관리등의 기능을 수행한다.The abnormal transaction management module 520 performs blocking policy management, abnormal transaction blocking according to a request from the management server 50, blocking status management, and the like.

통신 모듈(530)은 WAS 플러그인 에이전트(50)와 관리서버(53)간의 양방향 통신 모듈로서, WAS 플러그인 에이전트(50)에서 수집한 정보 및 비정상트랜잭션 관리 정책등에 대한 상호 통신 기능을 수행한다.
The communication module 530 is a bidirectional communication module between the WAS plug-in agent 50 and the management server 53 and performs mutual communication functions with respect to the information collected by the WAS plug-in agent 50 and the abnormal transaction management policy.

다시, 도 4를 참조하면, 관리 서버(53)는 WAS 플러그인 에이전트(50)로부터 수집된 트랜잭션 정보를 수신하고, 정상적인 트랜잭션 정보인지 또는 비정상적인 트랜잭션 정보인지를 분석하고, 분석결과에 따라 탐지정보를 생성하며, 보안 설정에 따라 비정상 트랜잭션에 대한 차단 명령을 WAS 플러그인 에이전트(50)로 전송하는 기능을 수행한다.4, the management server 53 receives the transaction information collected from the WAS plug-in agent 50, analyzes whether it is normal transaction information or abnormal transaction information, and generates detection information according to the analysis result And transmits a blocking command for the abnormal transaction to the WAS plug-in agent 50 according to the security setting.

즉, 관리 서버(53)는 WAS 플러그인 에이전트(50)에 수집된 각종 트랜잭션 정보를 분석하여 비정상 트랜잭션 정보가 감지되는 경우, 차단 명령을 WAS 플러그인 에이전트(50)의 비정상 트랜잭션 관리모듈(520)로 전송하여 비정상 트랜잭션 관리모듈(520)에서 해당 고유세션 ID에 대한 자동 차단을 기능을 수행할 수 있다.That is, when the abnormal transaction information is detected by analyzing various transaction information collected in the WAS plug-in agent 50, the management server 53 transmits a blocking command to the abnormal transaction management module 520 of the WAS plug-in agent 50 And the abnormal transaction management module 520 may perform an automatic shutdown function for the unique session ID.

보안 관리자를 통한 관리서버(53)에서 사용자 ID나 고유세션 ID를 선택하여 수동 차단 시에도 차단 명령이 비정상 트랜잭션 관리모듈(520)로 전송되어 WAS 플러그인 에이전트(50)에서 수동 차단 기능을 수행할 수 있다.The blocking command is transmitted to the abnormal transaction management module 520 even when the user ID or the unique session ID is manually selected by the management server 53 through the security manager and the WAS plug-in agent 50 can perform the manual blocking function have.

고유세션 ID 기반의 자동 및 보안 관리자에 의한 수동 차단 시 영구차단, 시간 설정 차단 등의 기능을 통하여 차단 기간을 설정할 수 있을 것이다.Automatic blocking based on the unique session ID, and manual blocking by the security administrator, the blocking period can be set through the functions such as permanent blocking and time blocking.

즉, 본 발명에서는 비정상적인 트랜잭션이 발생하는 경우 해당 되는 웹 클라이언트의 차단을 수행할 수 있다.That is, according to the present invention, when an abnormal transaction occurs, the corresponding web client can be blocked.

또한, 관리 서버(53)는 비정상 트랜잭션 정보가 감지되는 경우 SMS 발송 시스템(55)을 이용하여 보안 관리자의 단말기에 탐지 SMS를 전송할 수 있다. 보안 관리자는 탐지 SMS를 수신하여 즉각적인 조치를 취할 수 있을 것이다.In addition, the management server 53 may transmit the detection SMS to the terminal of the security manager using the SMS sending system 55 when abnormal transaction information is detected. The security administrator will be able to receive the detection SMS and take immediate action.

도 10은 본 발명의 일 실시예에 따른 관리 서버(53)의 상세한 구성을 도시한 블록도이다.10 is a block diagram showing a detailed configuration of the management server 53 according to an embodiment of the present invention.

도 10을 참조하면, 관리 서버(53)는 탐지 모듈(531), 분석모듈(532), 차단제어모듈(533) 및 통신모듈(534)를 포함할 수 있다. 10, the management server 53 may include a detection module 531, an analysis module 532, a blocking control module 533, and a communication module 534.

탐지 모듈(531)은 세션 ID 기반 탐지모듈(5311), HTTP 헤더 정보 기반 탐지 모듈(5313), DB 엑세스 정보 기반 탐지 모듈(5315), 통계 데이터 기반 탐지 모듈(5317)을 포함할 수 있다. The detection module 531 may include a session ID based detection module 5311, an HTTP header information based detection module 5313, a DB access information based detection module 5315, and a statistical data based detection module 5317.

세션 ID 기반 탐지모듈(5311)은 사용자 세션 ID 및 고유세션 ID를 기반의 사용자 식별을 통하여 사용자를 식별하고, 트랜잭션 정보의 비정상 유무를 탐지한다.The session ID-based detection module 5311 identifies the user through user identification based on the user session ID and the unique session ID, and detects the abnormality of the transaction information.

일례로, 웹 클라이언트에서 최초 트랜잭션 정보가 요청된 후 사용자 세션 ID 및 고유세션 ID가 생성된 이후, 트랜잭션 정보가 재 요청될 시 트랜잭션 정보에 사용자 세션 ID 및 고유세션 ID가 유지되지 않는 경우 DDOS 공격 또는 웹 크롤러인 것으로 탐지할 수 있다.For example, if the user session ID and the unique session ID are not maintained in the transaction information when the transaction information is re-requested after the initial transaction information is requested from the web client, It can be detected as being a web crawler.

또한, 서비스가 재 요청 될 시 사용자 세션 ID 만 유지되고 고유세션 ID가 유지 되지 않는 경우 웹 클라이언트가 해킹용 프로그램을 통해 동작되는 것으로 탐지할 수 있다.In addition, when the service is requested again, only the user session ID is retained, and if the unique session ID is not maintained, it can be detected that the web client is operated through the hacking program.

또한, 세션 ID 기반 탐지모듈(5311)은 고유세션 ID와 사용자 ID의 매핑을 통해 비정상 트랜잭션 정보를 탐지할 수 있다.In addition, the session ID-based detection module 5311 can detect abnormal transaction information through a mapping between a unique session ID and a user ID.

도 11은 본 발명의 일 실시예에 따른 고유세션 ID와 사용자 ID 매핑 탐지를 설명하기 위해 도시한 도면이다.FIG. 11 is a diagram illustrating a unique session ID and user ID mapping detection according to an exemplary embodiment of the present invention. Referring to FIG.

변하지 않는 고유세션 ID는 사용자가 변경되어도 단말기 별로 그대로 유지되어, 사용자 ID와 매핑하면 비정상 접속 탐지가 가능하다.The unchanging unique session ID is maintained for each terminal even if the user changes, and abnormal access can be detected if the ID is mapped to the user ID.

도 11을 참조하면, User 1은 T1~T3, T6~T7까지는 단말기#1에서, T8~T10은 단말기 #2에서, T11~T12 까지는 단말기#3에서 접속하였음을 알 수 있다. 즉, User 1은 단말기#1, 단말기#2, 단말기#3에서 접속하였음을 알 수 있다. User 2는 T4~T5까지 단말기#1에서만 접속하였음을 알 수 있다. T1~T7는 단말기#1에서 User 1과 User 2가 접속하였음을 알 수 있다. 즉, 동일 단말기에서 2명의 User가 접속하였다. Proxy Server를 랜덤으로 경유 시 웹 애플리케이션 서버에서 수집한 Remote IP는 Proxy 서버 IP가 수집되므로 Remote IP가 계속 바뀌게 된다. Referring to FIG. 11, it can be seen that User 1 has accessed from T1 to T3, T6 to T7 from terminal # 1, T8 to T10 from terminal # 2, and T11 to T12 from terminal # 3. That is, it can be seen that User 1 has connected from terminal # 1, terminal # 2, and terminal # 3. User 2 can see from T4 to T5 that it is connected only to the terminal # 1. T1 to T7 indicate that User 1 and User 2 have connected to each other in terminal # 1. That is, two users connected to the same terminal. When the proxy server is randomly routed, the remote IP collected from the web application server is continuously collected because the proxy server IP is collected.

따라서, 세션 ID 기반 탐지모듈(5311)은 변하지 않는 고유세션 ID는 그대로이고 Remote IP가 계속 변경되는 경우 Proxy를 경유한 웹 해킹임을 탐지할 수 있다. 즉, 세션 ID 기반 탐지모듈(5311)은 고유세션 ID와 사용자 ID의 매칭을 통해 동일 단말기에서 다수 사용자가 접속하는 것을 탐지, 동일 사용자가 여러 개의 단말기에서 접속하는 것을 탐지, 하나의 단말기에서 Proxy를 경유하여 공격하는 것을 탐지, 하나의 단말기에서 IP를 변조하여 공격하는 것을 탐지할 수 있다.동일 단말기에서 다수 사용자 접속 탐지가 되는 경우, 세션 단계에서 웹 해킹 방어를 할 수 있으며, 동일 사용자가 여러 개의 단말기에서 접속 탐지가 되는 경우 동일 단말기에서 ID 변조 공격 방어를 할 수 있다. 또한, 하나의 단말기에서 Proxy 경유 공격 탐지가 되는 경우, Proxy를 경유한 웹 해킹 방어를 할 수 있다. Accordingly, the session ID-based detection module 5311 can detect that the intrinsic session ID remains unchanged and that the web hacking via the proxy is continued when the remote IP is continuously changed. That is, the session ID-based detection module 5311 detects that a plurality of users access the same terminal through matching of a unique session ID and a user ID, detects that the same user accesses from a plurality of terminals, It is possible to detect an attack via a mobile terminal and to detect an attack by modifying an IP in a single terminal. In a case where multiple user access is detected in the same terminal, a web hacking protection can be performed in a session step, When connection detection is performed in the terminal, ID modulation attack defense can be performed in the same terminal. In addition, if a terminal detects an attack via Proxy, it can protect the web hacking via the proxy.

HTTP 헤더 정보 기반 탐지모듈(5313)은 정상적인 웹 클라이언트가 아닌 호출 트랜잭션을 탐지하여 비정상 트랜잭션을 감지할 수 있다. 일반적으로 외부 공격이 수행되는 경우, 일반적인 요청 브라우저를 통한 호출이 아닌 프로그램을 이용한 비정상 요청등이 발생한다. 따라서, 요청 브라우저 아닌 다른 브라우저가 감지되는 경우 HTTP 헤더 정보 기반 탐지모듈(5313)은 비정상 트랜잭션으로 감지할 수 있다.The HTTP header information based detection module 5313 can detect an abnormal transaction by detecting a call transaction other than a normal web client. Generally, when an external attack is performed, an abnormal request using a program rather than a call through a general request browser occurs. Accordingly, when a browser other than the requesting browser is detected, the HTTP header information based detection module 5313 can detect the abnormal transaction.

또한, HTTP 헤더 정보 기반 탐지모듈(5313)은 검색엔진이나 DDOS 공격 식별, 허용되지 않는 메소드로 호출되는 트랜잭션 식별, 호출 파라미터 패턴 분석 식별을 수행하여 비정상 트랜잭션을 감지할 수 있다.In addition, the HTTP header information based detection module 5313 can detect an abnormal transaction by performing a search engine or DDOS attack identification, a transaction identification to be invoked in an unacceptable method, and a call parameter pattern analysis identification.

도 12 내지 도 14는 본 발명의 일 실시예에 따른 HTTP 헤더 정보 기반으로 탐지를 수행하는 일례를 도시한 도면이다.12 to 14 illustrate an example of performing detection based on HTTP header information according to an embodiment of the present invention.

도 12를 참조하면, HTTP 헤더 정보 기반 탐지모듈(5313)은 HTTP 헤더 중 User-Agent 항목은 웹클라이언트 종류 및 버전 정보가 담겨 있으며, 특정 문자열 또는 블랙 리스트 매핑을 통하여 비정상 트랜잭션을 탐지할 수 있다. Referring to FIG. 12, the HTTP header information-based detection module 5313 includes a Web client type and version information of the User-Agent item in the HTTP header, and can detect an abnormal transaction through a specific character string or black list mapping.

도 13을 참조하면, HTTP 헤더 정보 기반 탐지모듈(5313)은 HTTP 메소드 중 일반적으로 GET, POST만 쓰이며, 이외의 Method는 차단이 필요하다. CONNECT, TRACE 등의 메소드는 우회 공격에 사용되는 것으로서 이와 같은 메소드가 요청되는 경우 비정상 웹 클라이언트로 탐지할 수 있다.Referring to FIG. 13, the HTTP header information based detection module 5313 uses only GET and POST among HTTP methods, and other methods need to be blocked. CONNECT, and TRACE are used for bypass attacks, and can be detected as an abnormal Web client when such a method is requested.

도 14(a)를 참조하면, HTTP 헤더 정보 기반 탐지모듈(5313)은 세션 단계의 웹 해킹 공격 시 자신의 IP를 숨기기 위하여 Proxy 서버를 경유하여 요청하는 경우로 HTTP Header에 "Proxy-Connection" 문자열이 존재하는 경우 또는 User-Agent 값에 Proxy 서버를 식별할 수 있는 문자열이 존재하는 경우 탐지가 가능하다. Referring to FIG. 14 (a), the HTTP header information based detection module 5313, when requesting via the proxy server in order to hide its own IP address in the session hacking attack, sets a "Proxy-Connection" Or if there is a string that identifies the proxy server in the User-Agent value.

도 14(b)를 참조하면, HTTP 헤더 정보 기반 탐지모듈(5313)은 호출 파라미터 매핑을 이용하여 비정상 트랜잭션 즉, 비정상 웹 클라이언트를 탐지할 수 있다. 일례로 GET 및 POST 메소드로 요청되는 호출 파라미터(Query String)에 탐지 패턴을 설정하여 탐지할 수 있다.Referring to FIG. 14 (b), the HTTP header information based detection module 5313 can detect an abnormal transaction, that is, an abnormal web client, using the call parameter mapping. For example, a detection pattern can be set and detected in a call parameter (Query String) requested by the GET and POST methods.

도 14(c)를 참조하면, HTTP 헤더 정보 기반 탐지모듈(5313)은 호출 파라미터에 Script가 포함될 경우 비정상 웹 클라이언트를 탐지할 수 있다. 사용자로부터 입력된 데이터에 Script가 포함될 경우 해당 Script가 웹 클라이언트에서 실행되면서 Cookie 값 획득, DOM(Document Object Model) Access, Clipboard Access, Key logging으로 정보를 해킹당할 수 있다. 따라서, HTTP 헤더 정보 기반 탐지모듈(5313)은 사용자가 입력한 데이터를 검사하여 Script등 비정상적인 데이터가 존재하면 비정상으로 탐지한다.Referring to FIG. 14C, the HTTP header information based detection module 5313 can detect an abnormal web client when a script is included in a call parameter. If a script is included in the data input from the user, the script is executed in the web client, and information can be hacked by obtaining cookie value, accessing Document Object Model (DOM), Clipboard Access, and key logging. Accordingly, the HTTP header information based detection module 5313 inspects the data input by the user and detects abnormality when abnormal data such as a script exists.

또한, HTTP 헤더 정보 기반 탐지모듈(5313)은 비정상 트랜잭션 탐지에 대한 정규식 생성을 통해 상기 HTTP 헤더 정보에 대한 PCRE 탐지를 수행할 수도 있을 것이다. In addition, the HTTP header information based detection module 5313 may perform PCRE detection on the HTTP header information through regular expression generation for abnormal transaction detection.

다시 도 10을 참조하면, DB 엑세스 정보 기반 탐지모듈(5315)은 DB 엑세스 정보 수집모듈(505)에서 수집된 DB 엑세스 정보를 이용하여 대량 데이터 조회를 감지하거나, SQL 쿼리 및 바인드 변수에 대한 PCRE(Perl Compatible Regular Expressions) 패턴을 탐지하여 비정상 트랜잭션을 탐지할 수 있다.Referring again to FIG. 10, the DB access information based detection module 5315 detects bulk data retrieval using the DB access information collected by the DB access information collection module 505, or detects PCRE (s) for the SQL query and bind variables Perl Compatible Regular Expressions) patterns to detect abnormal transactions.

통계 데이터 기반 탐지모듈(5317)은 도 15에 도시된 바와 같이, 동일 고유세션 ID 기반의 사용자 식별을 통해, 사용자별 과다 호출 탐지, 사용자별 특정 URI 반복 호출 탐지, URI 별 호출 랭킹 기반의 랭킹 급상승 탐지, 비정상 URI 호출 Flow를 탐지할 수 있다.As shown in FIG. 15, the statistical data-based detection module 5317 detects excessive call detection per user, specific URI repeated call detection per user, ranking ranking up based on call ranking per URI, Detection, and abnormal URI call flow.

분석모듈(532)은 세션 ID 기반 통계분석 모듈(5321), HTTP 헤더 정보 기반 통계 분석모듈(5323), URI 성능정보 기반 통계 분석모듈(5325)을 포함할 수 있다.The analysis module 532 may include a session ID based statistical analysis module 5321, an HTTP header information based statistical analysis module 5323, and a URI performance information based statistical analysis module 5325.

세션 ID 기반 통계분석 모듈(5321)은 고유세션 ID를 통한 트랜잭션 분석 연속성 제공, 정확한 시간별, 일별 방문자수 산정, 고유세션 ID 별 트랜잭션 분포도 및 통계 분석을 수행할 수 있다. 또한 사용자별 호출 건수 통계 분석, 사용자별 URI 호출 Flow 분석, 사용자별 연속된 트랜잭션 분포도 분석을 수행할 수 있다. 즉, 종래의 세션 ID를 이용하는 경우에는 웹 브라우저를 닫거나 PC를 종료하는 경우 세션 ID가 새롭게 생성됨으로 세션 기반의 통계 분석이 불가능하였다. 그러나, 본 발명에서는 사용자 ID 별로 부여되는 변하지 않는 고유세션 ID를 이용하여 다양한 통계 분석을 수행할 수 있는 장점이 있다.The session ID-based statistical analysis module 5321 can provide the transaction analysis continuity through the unique session ID, accurately calculate the number of visitors per day, perform the transaction distribution and statistical analysis by unique session ID. In addition, statistical analysis of the number of calls per user, URI call flow analysis per user, and continuous transaction distribution analysis per user can be performed. That is, in the case of using the conventional session ID, when the web browser is closed or the PC is shut down, a session ID is newly generated, so that the session-based statistical analysis is impossible. However, according to the present invention, there is an advantage that various statistical analysis can be performed using the unique session ID that is assigned to each user ID.

HTTP 헤더 정보 기반 통계 분석모듈(5323)은 HTTP 헤더 정보(User-Agent 정보, HTTP Method, Remote IP 등)를 기반으로 호출 클라이언트 별 통계 분석, 요청 Method 별 통계분석, 지역별 통계 분석 등을 수행할 수 있다.The HTTP header information-based statistical analysis module 5323 can perform statistical analysis on the basis of HTTP header information (User-Agent information, HTTP Method, Remote IP, etc.), call client, statistical analysis according to request method, have.

URI 성능정보 기반 통계 분석모듈(5325)는 URI 성능정보를 이용한 사용자별(고유세션 ID, 사용자 ID, 사용자 세션 ID등을 이용하여), 도메인 별 각종 통계지표 및 상기 URI 별 통계정보를 분석한다.The URI performance information based statistical analysis module 5325 analyzes statistical information for each user (using unique session ID, user ID, user session ID, etc.), various statistical indices for each domain, and statistical information for each URI using URI performance information.

차단제어모듈(533)은 차단정책 관리모듈(5331) 및 차단정책 제어모듈(5333)을 포함할 수 있다.The blocking control module 533 may include a blocking policy management module 5331 and a blocking policy control module 5333. [

차단 정책 관리모듈(5331)은 User-Agent 블랙리스트 관리, 차단 Method 관리, 차단 세션 ID 관리, 차단 사용자 ID 관리, 차단 사용자 IP 관리 등을 수행한다.Blocking policy management module 5331 performs User-Agent blacklist management, blocking method management, blocking session ID management, blocking user ID management, blocking user IP management, and the like.

차단 정책 제어모듈(5333)은 영구 차단 제어, 시간 설정 차단 제어, 자동 차단 제어, 수동 차단 제어 등의 차단 정책을 제어한다. The blocking policy control module 5333 controls blocking policies such as permanent blocking control, time setting blocking control, automatic blocking control, manual blocking control, and the like.

차단제어모듈(533)은 통신 모듈을 통해 WAS 플러그인 에이전트(50)로 차단 정책을 송신하며, 비정상 트랜잭션이 탐지되는 경우 차단 명령을 통신모듈(534)를 통해 WAS 플러그인 에이전트(50)로 전송할 수 있다. 또한, WAS 플러그인 에이전트(50)를 통해 차단 현황을 수신할 수 있다. 종래의 기존 보안 관제 체계는 SSL/TSL 암호화구간에서 트랜잭션 정보를 수집함으로 제한적인 정보만이 분석 가능할 뿐, 패킷 플로우의 분석이 불가능하여 통계정보 분석에 한계가 있었다. 그러나, 본 발명에서는 웹 애플리케이션 서버 메모리내의 복호화된 각종 정보를 수집할 수 있으므로, 다양한 형태의 통계 분석을 수행할 수 있는 이점이 있다.
The blocking control module 533 may transmit the blocking policy to the WAS plug-in agent 50 via the communication module and send a blocking command to the WAS plug-in agent 50 via the communication module 534 if an abnormal transaction is detected . In addition, the WAS plug-in agent 50 can receive the blocking status. Conventional existing security control system collects transaction information in SSL / TSL encryption section, so that only limited information can be analyzed, and analysis of packet flow is impossible. However, according to the present invention, since various types of decoded information in the web application server memory can be collected, various types of statistical analysis can be performed.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.The present invention also relates to a computer readable It can be implemented as a computer-readable code on a recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device and the like, and also implemented in the form of a carrier wave (for example, transmission over the Internet) .

또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers skilled in the art to which the present invention pertains.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

10: IPS/IDS 20: WAF
30: 웹서버 40: 웹 애플리케이션 서버
50: WAS 플러그인 에이전트 500: 정보수집모듈
501: HTTP 헤더 정보 수집모듈
503: 웹 세션 ID 수집 모듈 505: 사용자 ID 정보 수집모듈
507: DB 엑세스 정보 수집모듈
509: 웹 애플리케이션 서버 정보 수집모듈
511: URI 정보 수집모듈
510: 고유세션 ID 관리모듈 520: 비정상 트랜잭션 관리모듈
530: 통신모듈
53: 관리서버 531: 탐지모듈
5311: 세션 ID 기반 탐지모듈
5313: HTTP 헤더 정보 기반 탐지모듈
5315: DB 엑세스 정보 기반 탐지모듈
5317: 통계 데이터 기반 탐지모듈
532: 통계 분석모듈 5321: 세션 ID 기반 통계 분석모듈
5323: HTTP 헤더 정보 기반 통계 분석모듈
5325: URI 성능 정보 기반 통계 분석모듈
533: 차단제어모듈 5331: 차단정책 관리모듈
5333: 차단정책 제어모듈
10: IPS / IDS 20: WAF
30: Web server 40: Web application server
50: WAS Plug-in Agent 500: Information Collection Module
501: HTTP header information collection module
503: Web session ID collecting module 505: User ID information collecting module
507: DB access information collection module
509: Web application server information collection module
511: URI information collection module
510: unique session ID management module 520: abnormal transaction management module
530: Communication module
53: management server 531: detection module
5311: Session ID based detection module
5313: HTTP header information based detection module
5315: DB access information based detection module
5317: Statistical data based detection module
532: Statistical Analysis Module 5321: Session ID-based Statistical Analysis Module
5323: HTTP header information based statistical analysis module
5325: URI performance information based statistical analysis module
533: Blocking control module 5331: Blocking policy management module
5333: Blocking policy control module

Claims (10)

웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치에 있어서,
상기 웹 애플리케이션 서버에 플러그인 방식으로 설치되어 동작하며, 웹 서버 또는 웹 애플리케이션 서버에서 복호화된 사용자의 트랜잭션 정보를 웹 애플리케이션 서버의 메모리에서 수집하는 WAS 플러그인 에이전트; 및
상기 WAS 플러그인 에이전트로부터 트랜잭션 정보를 수신하고, 정상적인 트랜잭션 정보인지 또는 비정상적인 트랜잭션 정보인지를 분석하고, 분석결과에 따라 탐지정보를 생성하며, 상기 비정상 트랜잭션에 대한 차단 명령을 상기 WAS 플러그인 에이전트로 전송하는 관리 서버를 포함하되,
상기 WAS 플러그인 에이전트는 사용자의 웹 애플리케이션 서버로의 서비스 요청 시, 영구 쿠키에 변하지 않는 고유세션 ID가 있는지 탐색하고, 고유세션 ID가 없는 경우, 상기 사용자에 대한 고유 세션 ID를 생성하여 사용자의 웹 클라이언트로 전송하며, 생성된 고유세션 ID를 영구 쿠키에 설정하여 이후 서비스 요청시 고유세션 ID로 사용자를 구분할 수 있도록 하는 고유세션 ID 관리모듈을 더 포함하는 것을 특징으로 하는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치.
A security device using transaction information collected from a web application server,
A WAS plug-in agent installed in the web application server as a plug-in method and collecting transaction information of a user decrypted by the web server or the web application server in the memory of the web application server; And
The WAS plug-in agent receives the transaction information, analyzes whether it is normal transaction information or abnormal transaction information, generates detection information according to the analysis result, and transmits a blocking command for the abnormal transaction to the WAS plug-in agent Servers,
The WAS plug-in agent searches for a unique session ID that does not change in the persistent cookie when a user requests a service to the web application server. If there is no unique session ID, the WAS plug-in agent generates a unique session ID for the user, And a unique session ID management module for setting the generated unique session ID in the persistent cookie so that a user can be distinguished by a unique session ID in a subsequent service request. Security device using.
삭제delete 제1항에 있어서,
상기 WAS 플러그인 에이전트는,
상기 트랜잭션 정보에 포함된 HTTP 헤더를 분석하여 HTTP Method, URI, Query String, HTTP Protocol Version, Host, Connection, Accept, User-agent, Referer, Accept-Encoding, Accetpt-Language, Cookie, 기타 Header 정보, Attribute 정보 중 적어도 하나의 HTTP 헤더 정보를 수집하는 HTTP 헤더 정보 수집모듈;
상기 트랜잭션 정보로부터 사용자 세션 ID, 상기 고유세션 ID를 수집하는 웹 세션 ID 수집 모듈;
상기 트랜잭션 정보 및 트랜잭션 처리시에 포함된 사용자 ID 정보를 수집하는 사용자 ID 정보 수집모듈;
상기 트랜잭션 정보에 포함된 DB 엑세스 정보로부터 SQL 수행건수, SQL Bind 변수, Select 건수, Insert 건수, Update 건수, Delete 건수 및 커넥션풀 사용량, 커넥션풀 미반환 정보 중 적어도 하나의 DB 엑세스 정보를 수집하는 DB 엑세스 정보 수집모듈;
상기 웹 애플리케이션 서버의 호스트네임, 웹 애플리케이션 서버 컨테이너명 및 인스턴트 명, 서비스 포트, OS 및 웹 애플리케이션 리소스 사용량 중 적어도 하나의 웹 애플리케이션 서버 정보를 수집하는 웹 애플리케이션 서버 정보 수집모듈;
상기 트랜잭션 정보에 포함된 URI(Uniform Resource Identifier) 트랜잭션 정보 도메인 및 접속포트 정보, 접속 URI, 호출시간, 전체 응답시간, 구간별 응답시간, CPU 리소스 사용량, 처리 결과, AP 오류 및 Query String 정보 중 적어도 하나의 URI 정보를 수집하는 URI 정보 수집모듈; 중 적어도 하나의 수집모듈을 포함하는 정보수집모듈을 포함하는 것을 특징으로 하는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치.
The method according to claim 1,
The WAS plug-
An HTTP protocol, a URI, a Query String, an HTTP Protocol Version, a Host, a Connection, an Accept, a User-agent, a Referer, an Accept-Encoding, an Accetpt-Language, An HTTP header information collection module for collecting HTTP header information of at least one of the information;
A web session ID collection module for collecting a user session ID and the unique session ID from the transaction information;
A user ID information collection module for collecting the transaction information and the user ID information included in the transaction processing;
From the DB access information included in the transaction information, a DB for collecting DB access information of at least one of SQL execution count, SQL Bind variable, Select count, Insert count, Update count, Delete count, Connection pool count, An access information collection module;
A web application server information collection module for collecting web application server information of at least one of a host name of the web application server, a web application server container name and an instant name, a service port, an OS, and a web application resource usage;
At least one of URI (Uniform Resource Identifier) transaction information domain and access port information, connection URI, call time, total response time, response time per section, CPU resource usage, processing result, AP error and Query String information included in the transaction information A URI information collection module for collecting URI information; And an information collecting module including at least one collecting module for collecting transaction information from the web application server.
제3항에 있어서,
상기 관리 서버는,
최초 트랜잭션 정보가 요청된 후 상기 사용자 세션 ID 및 상기 고유세션 ID가 생성된 이후 트랜잭션 정보가 재 요청될 시, 상기 트랜잭션 정보에 상기 사용자 세션 ID 및 고유세션 ID가 유지되지 않는 경우 DDOS 공격 또는 웹 크롤러인 것으로 탐지하는 제1 탐지,
상기 트랜잭션 정보가 재 요청될 시 상기 사용자 세션 ID만 유지되고, 상기 고유세션 ID가 유지되지 않는 경우 사용자의 웹 클라이언트가 해킹용 프로그램을 통해 동작되는 것으로 탐지하는 제2 탐지,
상기 고유 세션 ID와 상기 사용자 ID의 매핑을 통한 제3 탐지 중 적어도 하나의 탐지를 수행하는 세션 ID 기반 탐지 모듈을 포함하는 것을 특징으로 하는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치.
The method of claim 3,
The management server includes:
When the transaction information is requested again after the initial transaction information is requested and after the user session ID and the unique session ID are generated, if the user session ID and the unique session ID are not maintained in the transaction information, the DDOS attack or web crawler The first detection to detect the presence of the < RTI ID =
A second detection that only the user session ID is maintained when the transaction information is requested again and that the web client of the user is operated through a hacking program when the unique session ID is not maintained,
And a session ID-based detection module for performing at least one of detection of the unique session ID and third detection through mapping of the user ID to the session ID based on the transaction information collected from the web application server.
제4항에 있어서,
상기 세션 ID 기반 탐지 모듈은 상기 고유세션 ID와 사용자 ID의 매핑을 통해 동일 단말기에서 다수 사용자가 접속하는 것을 탐지, 동일 사용자가 여러 개의 단말기에서 접속하는 것을 탐지, 하나의 단말기에서 Proxy를 경유하여 공격하는 것을 탐지 또는 하나의 단말기에서 IP를 변조하여 공격하는 것을 탐지하는 것을 특징으로 하는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치.
5. The method of claim 4,
The session ID-based detection module detects that a plurality of users access the same terminal through the mapping of the unique session ID and the user ID, detects that the same user accesses from a plurality of terminals, And detecting an attack by modifying IP in one terminal, and detecting an attack.
제3항에 있어서,
상기 관리 서버는
웹 클라이언트의 종류 및 버전 정보가 담겨있는 상기 User-agent 정보를 식별하여, 상기 User-agent에 특정 문자열 존재 유무 또는 블랙 리스트 매핑을 통해 비정상 트랜잭션으로 탐지하는 제1 탐지;
상기 HTTP Method 중 허용되지 않는 Method가 포함된 경우 비정상 트랜잭션으로 탐지하는 제2 탐지;
상기 HTTP 헤더에 Proxy-connection 문자열이 존재 또는 상기 User-agent에 Proxy 서버를 식별할 수 있는 문자열이 존재하는 경우 비정상 트랜잭션으로 탐지하는 제3 탐지; 및
상기 HTTP 헤더 정보에 대한 PCRE 탐지를 수행하는 제 4 탐지 중 적어도 하나의 탐지를 포함하는 HTTP 헤더 정보 기반 탐지모듈을 포함하는 것을 특징으로 하는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치.
The method of claim 3,
The management server
A first detection for identifying the User-agent information including the type and version information of the Web client, and detecting the existence of a specific character string or black list mapping in the User-agent as an abnormal transaction;
A second detection for detecting an unusual transaction when an unacceptable Method among the HTTP Methods is included;
Detecting a presence of a Proxy-connection string in the HTTP header or an abnormal transaction when a character string capable of identifying a proxy server exists in the User-agent; And
And a fourth detection for performing PCRE detection on the HTTP header information. The security device using the transaction information collected from the web application server.
제3항에 있어서,
상기 관리 서버는,
상기 DB 엑세스 정보를 이용하여 대량 데이터 조회를 감지하거나, SQL 쿼리 및 바인드 변수에 대한 PCRE(Perl Compatible Regular Expressions) 패턴을 탐지하여 비정상 트랜잭션을 탐지하는 DB 엑세스 정보 기반 탐지모듈; 및
동일 고유세션 ID 기반의 사용자 식별을 통해, 사용자별 과다 호출 탐지, 사용자별 특정 URI 반복 호출 탐지, URI 별 호출 랭킹 기반의 랭킹 급상승 탐지, 비정상 URI 호출 Flow를 탐지하는 통계 데이터 기반 탐지모듈을 포함하는 것을 특징으로 하는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치.
The method of claim 3,
The management server includes:
A DB access information based detection module that detects a bulk data inquiry using the DB access information, detects a Perl Compatible Regular Expression (PCRE) pattern for SQL queries and bind variables, and detects an abnormal transaction; And
And a statistical data based detection module for detecting abnormal call detection for each user, specific URI repeated call detection for each user, ranking rising detection based on URI calling ranking, and abnormal URI calling flow through the same unique session ID based user identification Wherein the transaction information is collected from the web application server.
제3항에 있어서,
상기 관리 서버는,
상기 고유세션 ID를 통한 트랜잭션 분석 연속성 제공, 정확한 시간 별, 일별 방문자수 산정, 고유세션 ID 별 트랜잭션 분포도 및 통계 분석을 수행하는 세션 ID 기반 통계 분석모듈;
상기 HTTP 헤더 정보를 이용한 호출 브라우저 별 통계 분석을 수행하는 HTTP 헤더 정보 기반 통계 분석모듈; 및
상기 URI 정보를 이용한 상기 도메인 별 각종 통계지표 및 상기 URI 별 통계정보를 분석하는 URI 성능정보 기반 통계 분석모듈을 포함하는 것을 특징으로 하는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치.
The method of claim 3,
The management server includes:
A session ID-based statistical analysis module for providing transaction analysis continuity through the unique session ID, accurate time-based, daily visitor counting, transaction distribution by unique session ID, and statistical analysis;
An HTTP header information based statistical analysis module for performing statistical analysis for each call browser using the HTTP header information; And
And a statistical analysis module based on URI performance information for analyzing the statistical indices according to each domain and the statistical information for each URI using the URI information.
제3항에 있어서,
상기 관리 서버는,
User-Agent 블랙리스트 관리, 차단 Method 관리, 차단 세션 ID 관리, 차단 사용자 ID 관리, 차단 사용자 IP 관리 등에 대한 차단 정책을 관리 하는 차단 정책 관리모듈;
영구 차단 제어, 시간 설정 차단 제어, 자동 차단 제어, 수동 차단 제어등의 차단 정책을 제어하는 차단 정책 제어모듈;을 포함하는 차단제어모듈을 더 포함하며,
상기 차단제어모듈은 통신 모듈을 통해 상기 WAS 플러그인 에이전트로 차단 정책을 송신하며, 비정상 트랜잭션이 탐지되는 경우 차단 명령을 상기 WAS 플러그인 에이전트로 전송하는 것을 특징으로 하는 하는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치.
The method of claim 3,
The management server includes:
A blocking policy management module for managing blocking policies for user-agent black list management, blocking method management, blocking session ID management, blocking user ID management, blocking user IP management, and the like;
And a blocking policy control module for controlling a blocking policy such as permanent blocking control, time setting blocking control, automatic blocking control, manual blocking control, and the like,
Wherein the blocking control module transmits a blocking policy to the WAS plug-in agent through a communication module, and transmits a blocking command to the WAS plug-in agent when an abnormal transaction is detected. Security device used.
제9항에 있어서,
상기 WAS 플러그인 에이전트는,
상기 차단제어모듈로부터 차단 명령를 수신하는 경우 차단 명령에 해당하는 트랜잭션에 대한 차단 기능을 수행하는 비정상 트랜잭션 관리모듈을 더 포함하는 것을 특징으로 하는 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치.
10. The method of claim 9,
The WAS plug-
Further comprising an abnormal transaction management module for performing a blocking function for a transaction corresponding to a blocking command when receiving a blocking command from the blocking control module.
KR1020160040323A 2016-04-01 2016-04-01 Security device using transaction information obtained from web application server KR101658456B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160040323A KR101658456B1 (en) 2016-04-01 2016-04-01 Security device using transaction information obtained from web application server
US15/766,005 US10728267B2 (en) 2016-04-01 2016-11-15 Security system using transaction information collected from web application server or web server
PCT/KR2016/013134 WO2017171188A1 (en) 2016-04-01 2016-11-15 Security device using transaction information collected from web application server or web server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160040323A KR101658456B1 (en) 2016-04-01 2016-04-01 Security device using transaction information obtained from web application server

Publications (1)

Publication Number Publication Date
KR101658456B1 true KR101658456B1 (en) 2016-09-22

Family

ID=57102644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160040323A KR101658456B1 (en) 2016-04-01 2016-04-01 Security device using transaction information obtained from web application server

Country Status (1)

Country Link
KR (1) KR101658456B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102070607B1 (en) 2019-07-01 2020-01-29 주식회사 엘리바이저 Database security device based on user identification via web application server
KR102178048B1 (en) * 2020-03-10 2020-11-12 주식회사 피앤피시큐어 Data monitoring method by detecting personal information downloaded
KR102521784B1 (en) * 2021-10-26 2023-04-17 주식회사 신시웨이 Access management apparatus and method for managing database access based on web application server
CN116566790A (en) * 2023-04-26 2023-08-08 深圳市佳合丰汽车电子科技有限公司 Vehicle-mounted distributed service calling system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050036010A (en) * 2003-10-14 2005-04-20 (주)데이타헤븐 System-monitoring system and method
KR20110081103A (en) * 2010-01-06 2011-07-13 벌리더티 센서스 인코포레이티드 Secure transaction systems and methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050036010A (en) * 2003-10-14 2005-04-20 (주)데이타헤븐 System-monitoring system and method
KR20110081103A (en) * 2010-01-06 2011-07-13 벌리더티 센서스 인코포레이티드 Secure transaction systems and methods

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102070607B1 (en) 2019-07-01 2020-01-29 주식회사 엘리바이저 Database security device based on user identification via web application server
KR102178048B1 (en) * 2020-03-10 2020-11-12 주식회사 피앤피시큐어 Data monitoring method by detecting personal information downloaded
KR102521784B1 (en) * 2021-10-26 2023-04-17 주식회사 신시웨이 Access management apparatus and method for managing database access based on web application server
CN116566790A (en) * 2023-04-26 2023-08-08 深圳市佳合丰汽车电子科技有限公司 Vehicle-mounted distributed service calling system and method
CN116566790B (en) * 2023-04-26 2024-05-03 坤联数字技术(深圳)有限公司 Vehicle-mounted distributed service calling system and method

Similar Documents

Publication Publication Date Title
CN112383546B (en) Method for processing network attack behavior, related equipment and storage medium
KR101010302B1 (en) Security management system and method of irc and http botnet
US10728267B2 (en) Security system using transaction information collected from web application server or web server
US10447730B2 (en) Detection of SQL injection attacks
US8713682B2 (en) Dynamic learning method and adaptive normal behavior profile (NBP) architecture for providing fast protection of enterprise applications
Bortolameotti et al. Decanter: Detection of anomalous outbound http traffic by passive application fingerprinting
KR20180120157A (en) Data set extraction based pattern matching
US11616812B2 (en) Deceiving attackers accessing active directory data
US11962611B2 (en) Cyber security system and method using intelligent agents
KR101658456B1 (en) Security device using transaction information obtained from web application server
KR101658450B1 (en) Security device using transaction information obtained from web application server and proper session id
CN114598525A (en) IP automatic blocking method and device for network attack
CN107733699B (en) Internet asset security management method, system, device and readable storage medium
US11768898B2 (en) Optimizing scraping requests through browsing profiles
KR101650475B1 (en) Security device using transaction information obtained from web server
KR101754195B1 (en) Method for security enhancement based on multi log gathering server
KR20020012855A (en) Integrated log analysis and management system and method thereof
CN114760083B (en) Method, device and storage medium for issuing attack detection file
KR102070607B1 (en) Database security device based on user identification via web application server
US11789743B2 (en) Host operating system identification using transport layer probe metadata and machine learning
CN114793171A (en) Access request intercepting method and device, storage medium and electronic device
CN112637171A (en) Data traffic processing method, device, equipment, system and storage medium
US20240070287A1 (en) Faster web application scans of web page data based on deduplication
KR101445817B1 (en) Method and apparatus for controlling use of service
KR102521784B1 (en) Access management apparatus and method for managing database access based on web application server

Legal Events

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

Payment date: 20190625

Year of fee payment: 4