KR101171212B1 - 웹 인젝션 공격 탐지 방법 - Google Patents

웹 인젝션 공격 탐지 방법 Download PDF

Info

Publication number
KR101171212B1
KR101171212B1 KR1020120011684A KR20120011684A KR101171212B1 KR 101171212 B1 KR101171212 B1 KR 101171212B1 KR 1020120011684 A KR1020120011684 A KR 1020120011684A KR 20120011684 A KR20120011684 A KR 20120011684A KR 101171212 B1 KR101171212 B1 KR 101171212B1
Authority
KR
South Korea
Prior art keywords
document
web
conversion
client module
signature value
Prior art date
Application number
KR1020120011684A
Other languages
English (en)
Inventor
백효성
손병록
Original Assignee
주식회사위즈베라
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사위즈베라 filed Critical 주식회사위즈베라
Priority to KR1020120011684A priority Critical patent/KR101171212B1/ko
Application granted granted Critical
Publication of KR101171212B1 publication Critical patent/KR101171212B1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명에 의한 웹 인젝션 공격 탐지 방법은 웹 브라우저 모듈과, 클라이언트 모듈과, 변환 서버와, 웹 서버를 포함하는 환경에서 수행되며, 이 방법은 (1) 상기 웹 브라우저 모듈이 웹 서버에 요청한 원본 문서를 상기 변환 서버가 수신하는 제1 단계와, (2) 상기 변환 서버가 상기 수신한 원본 문서를 소정의 변환 규칙에 따라서 변환하여 변환 문서를 생성하는 제2 단계와, (3) 상기 변환 서버가 상기 변환 문서에 전자서명을 수행하여 제1 전자서명값을 생성하는 제3 단계와, (4) 상기 변환 서버가 상기 원본 문서와, 상기 제1 전자서명값과, 상기 소정의 변환 규칙을 상기 클라이언트 모듈로 전송하는 제4 단계와, (5) 상기 클라이언트 모듈이 수신한 상기 원본 문서를 상기 웹 브라우저 모듈에 전달하는 제5 단계와, (6) 상기 클라이언트 모듈이 상기 웹 브라우저 모듈에 출력된 문서를 추출하는 제6 단계와, (7) 상기 제6 단계에서 추출된 문서를 상기 클라이언트 모듈이 상기 변환 규칙에 따라서 변환하여 추출 문서의 변환문서를 생성하는 제7 단계와, (8) 상기 추출 문서의 변환문서에 전자서명을 수행하여 제2 전자서명값을 생성하는 제8 단계와, (9) 상기 클라이언트 모듈이 상기 제1 전자서명값과 상기 제2 전자서명값이 동일한지 비교하여 동일하지 않으면 경고 메시지를 표시하는 제9 단계를 포함한다.

Description

웹 인젝션 공격 탐지 방법{Method for Detecting Web Injection Attack}
본 발명은 웹 인젝션 공격 탐지 방법에 관한 것으로서 보다 구체적으로는 웹 페이지에 웹 인젝션 공격이 있는 경우에 이를 탐지하여 사용자에게 알려 줄 수 있는 방법에 관한 것이다.
사용자가 웹 브라우저를 이용하여 웹 서버에 요청한 페이지가 사용자 화면에 표시될 때, 웹 서버로부터 전달받은 페이지가 웹 브라우저에 전달되기 전에 변조하는 공격을 웹 인젝션 공격이라고 하는데, 최근에 문제로 대두되고 있다. 예를 들어 사용자가 금융 거래를 할 때에 금융 거래에 필요한 비밀번호 등의 개인 정보를 입력하는 화면을 변조하여 사용자가 입력하는 개인정보를 해커가 가로채는 공격 등이 있다. 이와 같이 해커에 의해 인젝션된 태그는 키보드 보안 솔루션으로도 보호되지 않기 때문에 사용자나 서비스 제공자 모두 전혀 모른 채 피해를 보는 문제가 있다.
웹 브라우저와 웹 서버간의 통신 구간에서의 보안은 암호화 통신 등을 통해서 상당 부분 해결할 수 있지만 웹 인젝션 공격에 대해서는 적절한 대응 기술의 필요성이 대두되고 있다.
웹페이지의 변조 판단 방법에 관한 종래 기술로서 한국특허 제0963421호에 개시된 기술이 있는데, 이 기술은 웹 서버에서 웹 페이지의 유형별 판단조건을 설정하고 그에 따라서 웹 서버에서 웹 페이지의 변조 여부를 판단하는 방법에 관한 것일 뿐이며 사용자의 웹 브라우저에 표시되는 웹 페이지에 대한 웹 인젝션 공격을 탐지할 수는 없다.
본 발명은 사용자측의 웹 브라우저에 표시되는 웹 문서에 대한 웹 인젝션 공격을 탐지하는 방법을 제공하는 것을 목적으로 한다.
본 발명에 의한 웹 인젝션 공격 탐지 방법은 웹 브라우저 모듈과, 클라이언트 모듈과, 변환 서버와, 웹 서버를 포함하는 환경에서 수행되며, 이 방법은 (1) 상기 웹 브라우저 모듈이 웹 서버에 요청한 원본 문서를 상기 변환 서버가 수신하는 제1 단계와, (2) 상기 변환 서버가 상기 수신한 원본 문서를 소정의 변환 규칙에 따라서 변환하여 변환 문서를 생성하는 제2 단계와, (3) 상기 변환 서버가 상기 변환 문서에 전자서명을 수행하여 제1 전자서명값을 생성하는 제3 단계와, (4) 상기 변환 서버가 상기 원본 문서와, 상기 제1 전자서명값과, 상기 소정의 변환 규칙을 상기 클라이언트 모듈로 전송하는 제4 단계와, (5) 상기 클라이언트 모듈이 수신한 상기 원본 문서를 상기 웹 브라우저 모듈에 전달하는 제5 단계와, (6) 상기 클라이언트 모듈이 상기 웹 브라우저 모듈에 출력된 문서를 추출하는 제6 단계와, (7) 상기 제6 단계에서 추출된 문서를 상기 클라이언트 모듈이 상기 변환 규칙에 따라서 변환하여 추출 문서의 변환문서를 생성하는 제7 단계와, (8) 상기 추출 문서의 변환문서에 전자서명을 수행하여 제2 전자서명값을 생성하는 제8 단계와, (9) 상기 클라이언트 모듈이 상기 제1 전자서명값과 상기 제2 전자서명값이 동일한지 비교하여 동일하지 않으면 경고 메시지를 표시하는 제9 단계를 포함한다.
상기 원본 문서가 동적 문서 변경이 가능한 문서인 경우에는, 동적으로 변경되는 원본 문서의 요소는 제외시키고 상기 소정의 변환 규칙이 적용되어 상기 변환 문서가 생성되며, 동적으로 변경되는 요소는 상기 추출된 문서에서 제외시키고 상기 소정의 변환 규칙이 적용되어 추출 문서의 변환문서가 생성되도록 구성한다.
본 발명의 다른 실시예에 의한 웹 인젝션 공격 탐지 방법은 (1) 상기 웹 브라우저 모듈이 웹 서버에 요청한 동적 추가 가능 원본 문서를 상기 변환 서버가 수신하는 제1 단계와, (2) 상기 변환 서버가 수신한 상기 동적 추가 가능 원본 문서를 제1 변환 규칙에 따라서 변환하여 동적 추가 가능 원본 문서의 변환문서를 생성하는 제2 단계와, (3) 상기 변환 서버가 상기 동적 추가 가능 원본 문서의 변환문서에 전자서명을 수행하여 제1 전자서명값을 생성하는 제3 단계와, (4) 상기 변환 서버가 상기 동적 추가 가능 원본 문서와, 상기 제1 전자서명값과, 상기 제1 변환 규칙을 상기 클라이언트 모듈로 전송하는 제4 단계와, (5) 상기 동적 추가 가능 원본 문서에 동적으로 추가되는 동적 추가 문서가 생성되는 경우에 상기 클라이언트 모듈이 상기 동적 추가 문서를 상기 변환 서버로 전송하는 제5 단계와, (6) 상기 변환 서버가 상기 동적 추가 문서를 제2 변환 규칙에 따라서 변환하여 동적 추가 문서의 변환문서를 생성하는 제6 단계와, (7) 상기 변환 서버가 상기 동적 추가 문서의 변환문서에 전자서명을 수행하여 제2 전자서명값을 생성하는 제7 단계와, (8) 상기 변환 서버가 상기 제2 변환 규칙과 상기 제2 전자서명값을 상기 클라이언트 모듈로 전송하는 제8 단계와, (9) 상기 클라이언트 모듈은 상기 동적 추가 가능 원본 문서에 상기 동적 추가 문서가 결합된 문서를 상기 웹 브라우저 모듈로 전달하는 제9 단계와, (10) 상기 웹 브라우저 모듈에 표시된 결합 문서를 상기 클라이언트 모듈이 추출하고 제1 문서부와 제2 문서부로 분리하는 제10 단계와, (11) 상기 제1 문서부와 상기 제2 문서부을 상기 제1 변환 규칙과 상기 제2 변환 규칙에 따라서 상기 클라이언트 모듈이 변환하여 제1 문서부의 변환문서와 제2 문서부의 변환문서로 변환하는 제11 단계와, (12) 상기 클라이언트 모듈이 상기 제1 문서부의 변환문서와 상기 제2 문서부의 변환문서에 대해서 전자서명을 수행하여 제3 전자서명값 및 제4 전자서명값을 생성하는 제12 단계와, (13) 상기 클라이언트 모듈이 상기 제1 전자서명값과 제3 전자서명값이, 제2 전자서명값과 제4 전자서명값이 동일한지 비교하여 동일하지 않으면 경고 메시지를 상기 웹 브라우저 모듈에 표시하게 하는 제13 단계를 포함한다.
상기 변환 규칙은 웹 브라우저 표시 가능 문서에서 특정 요소를 포함, 제외 및 제한 중 적어도 어느 하나를 수행하는 규칙으로 규정하는 것이 바람직하다.
상기 제1 변환 규칙과 상기 제2 변환 규칙은 동일한 변환 규칙일 수 있으며, 이 경우 다른 실시예에서의 제8 단계는 상기 변환 서버가 상기 제2 변환 규칙은 전송하지 않고 제2 전자서명값을 전송하는 단계인 것이 바람직하다.
본 발명에 의하면 웹 서버에서 전송되는 웹 문서가 웹 브라우저에 표시될 때 웹 인젝션 공격이 이루어지면 이를 탐지하여 사용자에게 알려 줄 수 있는 탐지 방법이 제공되는 효과가 있다.
도 1은 웹 인젝션 공격의 예를 도시한 도면.
도 2는 본 발명에 의한 웹 인젝션 공격 탐지 방법이 수행되는 환경을 도시한 블록도.
도 3은 본 발명의 제1 실시예에 의한 웹 인젝션 공격 탐지 방법의 흐름도.
도 4는 본 발명의 제2 실시예에 의한 웹 인젝션 공격 탐지 방법의 흐름도.
도 5 내지 도 12는 웹 문서 및 변환 문서의 예시.
이하에서는 첨부 도면을 참조하여 본 발명의 양호한 실시예에 대해서 설명하기로 한다.
도 1에는 웹 인젝션 공격의 예가 도시되어 있다. 웹 브라우저 모듈(1)에 웹 페이지(문서)가 렌더링되어 웹 문서의 요소들이 문서 객체 모델(Document Object Model; 2)로 로드된 상태에서 웹 인젝션 공격이 수행되어 객체의 속성값을 도청하거나 위조/변조하게 된다.
도 2에는 본 발명에 의한 웹 인젝션 공격 탐지 방법이 수행되는 환경의 블록도가 도시되어 있다. 도 2에 도시되어 있는 바와 같이 웹 브라우저 모듈(1)에는 클라이언트 모듈(10)이 플러그인 형태로 설치되는 것이 바람직하지만, 웹 브라우저 모듈(1)에 전달되는 웹 문서의 제어가 가능하다면 별도의 모듈로서 제공되어도 무방하다. 본 명세서에서 "모듈"이라 함은 범용적인 하드웨어와 그 기능을 수행하는 소프트웨어의 논리적 결합을 의미한다. 본 명세서에서 "웹 문서" 또는 "문서"라 함은 웹 브라우저 모듈(1)에 의해 표시될 수 있는 전자적 데이터로서의 문서를 의미하며, 웹 브라우저 모듈의 종류를 망라한다. 대표적인 웹 문서 또는 문서로는 HTML 문서가 있다.
웹 서버(3)는 웹 브라우저 모듈(1)의 요청을 받은 웹 문서를 웹 브라우저 모듈(1)로 전달하여 웹 브라우저 모듈(1)이 표시할 수 있도록 하는데, 웹 서버(3)에서 전송되는 문서는 변환 서버(20)를 거쳐서 클라이언트 모듈(10)로 전달된다.
다음으로 본 발명에 의한 웹 인젝션 공격 탐지 방법에 대해서 설명한다.
웹 브라우저 모듈(1)이 웹 서버(3)에 요청하여 웹 서버(3)가 전송하는 문서는 실제로 웹 브라우저 모듈(1)이 표시하는 문서와 논리적 그리고 물리적으로 동일할 수도 있지만, 논리적으로는 동일하되 물리적으로는 동일하지 않은 경우가 있다. 또는, 웹 서버(3)가 전달한 문서에 동적으로 다른 문서가 추가되는 경우 그리고 웹 서버(3)가 전달한 문서가 동적으로 변경되어 웹 브라우저 모듈(1)에서 출력되는 경우도 있다.
양 문서가 논리적으로는 동일하되 물리적으로는 동일하지 않은 문서가 도 5 및 도 6에 각각 예시되어 있다. 도 5에는 웹 서버(3)가 전송하는 문서의 일례가, 도 6에는 도 5의 문서를 전달받은 웹 브라우저 모듈(1)이 출력하는 문서의 일례가 도시되어 있다.
웹 브라우저 모듈(1)이 웹 서버(3)에 문서를 요청하면 웹 서버(3)는 요청받은 문서를 변환 서버(20)에 전달하고 변환 서버(20)는 이 원본 문서를 수신한다.(단계 31) 이 원본 문서가 도 5에 도시된 형태의 문서인 것을 예시로 하여 설명하기로 한다. 본 명세서에서 도면에 도시된 문서의 형태를 예시적으로 하여 설명하지만 본 발명의 권리범위가 그러한 형태의 문서에 제한되는 것은 아니라는 점이 명확하게 이해되어야 한다.
변환 서버(20)는 미리 정해진 소정의 변환 규칙에 따라서 원본 문서의 포맷을 변환하고 재구성하여 변환 문서를 생성한다. 변환 문서의 예시적인 형태가 도 7에 도시되어 있다. 본 명세서에서 "소정의 변환 규칙"은 논리적으로 동일하지만 물리적으로 동일하지 않은 두 개의 문서의 포맷을 일치시킬 수 있는 규칙을 의미하며, 설계자에 따라서 다양하게 정의되어 적용될 수 있다. 본 명세서에서 설명하는 실시예에서는, 공백을 제외시키고, 요소에 대한 자동 줄바꿈 등이 변환 규칙으로 적용되었다.
좀 더 자세하게는 소정의 변환 규칙은 문서상의 특정 요소를 포함, 제외, 제한하여 객체 요소의 type, classid 등을 제한시킴으로써 동적으로 추가되는 임의으 코드 및 웹 브라우저 모듈(1)의 플러그인을 제한한다. 또한, 문서 내의 특정 요소의 자식 노드를 제외하거나 제한할 수도 있다.
다음으로 단계(33)로 이행하여 변환 서버(20)가 변환 문서에 대해서 전자서명을 수행하여 제1 전자서명값을 생성한다. 전자서명은 공지되어 있는 다양한 전자서명 기법이 적용될 수 있으며 전자서명방법 자체는 본 발명의 요지와는 거리가 있으므로 자세한 설명은 생략한다.
제1 전자서명값이 생성되면, 변환 서버(20)는 원본 문서와, 제1 전자서명값과, 변환 규칙을 클라이언트 모듈(10)로 전송한다.(단계 34) 클라이언트 모듈(10)로의 전송은 다양한 암호화 통신 프로토콜에 의해 이루어질 수 있으며, 그러한 암호화 기술은 본 발명의 주요 요소가 아니므로 자세한 설명은 생략하기로 한다.
클라이언트 모듈(10)은 원본 문서를 웹 브라우저 모듈(1)로 전달하고 웹 브라우저 모듈(1)은 문서를 출력한다.(단계 35) 이 단계에서 웹 인젝션 공격이 있을 수 있다. 즉 변환 서버(20)로부터 원본 문서를 전달받고, 웹 브라우저 모듈(1)은 정상적으로는 원본 문서 또는 원본 문서와 물리적으로는 동일하지 않지만 논리적으로는 동일한 문서를 출력해야 하는데, 웹 인젝션 공격이 있으면 웹 브라우저 모듈(1)이 출력하는 문서는 원본 문서와 논리적으로도, 물리적으로도 동일하지 않은 문서가 될 수 있다.
단계(36)에서 클라이언트 모듈(10)은 웹 브라우저 모듈(1)이 출력한 문서를 추출한다. 추출된 문서는 전술한 변환 규칙에 따라서 클라이언트 모듈(10)이 변환하여 재구성한다.(단계 37) 출력(추출)한 문서가 원본 문서와 논리적으로/물리적으로 완전히 동일하거나, 또는 논리적으로는 동일하지만 물리적으로는 다른 경우에는 추출한 문서를 전술한 변환 규칙에 따라서 변환하여 생성된 문서는, 원본 문서를 동일한 변환 규칙에 따라서 변환한 문서와 동일하다. 그렇지 않은 경우 즉 웹 인젝션 공격이 있었던 경우라면 변환 결과 양 문서는 서로 다르게 된다.
클라이언트 모듈(10)은 추출한 문서에 대해서 전자서명을 수행하여 제2 전자서명값을 생성하고 제1 전자서명값과 제2 전자서명값을 대비하여 전자서명 검증을 수행한다.(단계 38)
제1 전자서명값과 제2 전자서명값이 동일하면 원본 문서와 출력한 문서는 서로 논리적/물리적으로 동일하거나 또는 물리적으로는 동일하지 않지만 논리적으로는 동일하므로 웹 인젝션 공격이 없는 것으로 판단하여 탐지 프로세스를 종료한다. 그러나 제1 전자서명값과 제2 전자서명값이 다르면 웹 인젝션 공격이 있는 것으로 판단하여 경고 메시지를 출력한다.(단계 40)
전술한 웹 인젝션 탐지 방법은 웹 문서에 대해서 정해진 시간 간격으로 반복적으로 수행되는 것이 바람직하다. 이하 다른 실시예에서도 마찬가지이다.
한편, 원본 문서가 자바스크립트 등에 의해서 웹 브라우저에서 동적으로 변경 가능한 문서일 수가 있다. 이와 같이 동적으로 변경 가능한 원본 문서의 일례가 도 11에 도시되어 있다. 이처럼 원본 문서가 동적으로 변경이 가능한 문서인 경우에는 단계(32)에서 적용하는 변환 규칙은, 전술한 바와 같은 규칙을 채용하되 동적으로 변경되는 요소는 변환하는 과정에서 제외시키는 규칙이 추가된다. 도 11에 도시된 예의 문서에서는 요소 style 속성은 display를 변환 과정에서 제외시키게 된다. 그 이유는, 동적으로 변경되는 요소는 웹 브라우저 모듈(1)에서 실제적인 가치를 가지는 값이 아니라 단지 표현되는 속성에 불과하기 때문에 사용자에게 잘못된 정보를 제공하는 웹 인젝션 공격의 대상이 되지 않는 문서의 요소이기 때문이다.
한편, 원본 문서가 동적으로 변경 가능한 문서인 경우에, 변환 규칙의 적용 제외 부분에 대해서 제약 조건을 지정하는 규칙을 함께 적용할 수도 있다. 즉 특정 요소에 특정 속성이 동적으로 변경되는 경우 특정 속성을 제외하라는 전술한 규칙과 더불어 특정 속성이 가질 수 있는 값을 규칙으로 지정할 수 있다. 예를 들어 "result.style:display=none│block"과 같이 표현하면 result를 가지는 요소의 style 속성의 display 값은 none 또는 block만 가질 수 있게 된다.
또는 특정 요소가 추가되는 경우에 추가되는 요소를 제외하라는 규칙과 더불어 추가될 요소의 형태를 지정하는 것을 규칙으로 정할 수도 있다. 예를 들어 "html>body>object"와 같이 body 태그 자식노드로 object 태그가 동적으로 추가되는 경우에 "html>body>object.classid=12345"로 제한하면 추가된 object 태그의 classid는 12345로 제한된다.
도 11에 도시된 동적 변경 가능 원본 문서를 소정의 변환 규칙에 따라서 변환한 변환 문서의 예가 도 12에 도시되어 있다.
그리고 동적 변경이 가능한 원본 문서를 도 2에 도시된 과정에 따라서 웹 브라우저가 출력한 후에 이를 클라이언트 모듈(10)이 추출할 때에는 역시 동적으로 변경되는 요소는 제외시키고 추출하여야 한다. 이처럼 동적으로 변경되는 요소가 제외된 추출 문서는 전술한 바와 같은 변환 규칙에 따라서 변환되고, 단계(38)에서 앞서 설명한 바와 같이 전자서명 검증을 통해 웹 인젝션 공격 여부를 판단하게 된다.
한편, 웹 브라우저 모듈(1)에 의해 표시되는 문서가 자바 스크립트 등에 의해서 동적으로 다른 문서가 추가될 수 있는 문서인 경우가 있다. 본 명세서에서는 이처럼 동적으로 다른 문서가 추가될 수 있는 문서를 "동적 추가 가능 원본 문서"로 표기한다.
동적으로 다른 문서가 추가될 수 있는 동적 추가 가능 원본 문서에 대한 웹 인젝션 공격 탐지 방법에 대해서 도 4를 참조하여 설명하기로 한다. 도 4의 과정 중 도 3의 과정과 대동소이한 단계는 도 3과 동일한 도면 부호를 사용하기로 한다.
도 8에는 동적 추가 가능 원본 문서의 일례가 도시되어 있다. 도 8에 도시된 동적 추가 가능 원본 문서에서 자바 스크립트에 의해 "onclick"을 누르는 경우에 동적으로 별도의 문서가 동적 추가 가능 원본 문서에 추가된다. 본 명세서에서는 이와 같이 동적으로 동적 추가 가능 원본 문서에 동적으로 추가되는 문서를 "동적 추가 문서"로 정의한다. 동적 추가 문서의 일례가 도 10에 도시되어 있다.
동적 추가 가능 원본 문서를 변환 서버(20)가 수신하고(단계 31), 소정의 변환 규칙(제1 변환 규칙)에 의해서 변환한다.(단계 32) 도 8에 도시된 동적 추가 가능 원본 문서를 변환한 예가 도 9에 도시되어 있다. 동적 추가 가능 원본문서의 변환문서는 단계(33)에서 전자서명되어 제1 전자서명값을 생성한다.
그리고 단계(34)에서 변환 서버(20)는 동적 추가 가능 원본 문서와, 제1 전자서명값과, 제1 변환 규칙을 클라이언트 모듈(10)로 전송한다.
동적 추가 가능 원본 문서에서 동적으로 추가되는 동적 추가 문서가 있으면, 클라이언트 모듈(10)은 동적 추가 문서를 변환 서버(20)로 전송한다.(단계 50) 변환 서버(20)는 동적 추가 문서를 제2 변환 규칙에 따라서 변환하고 재구성한다.(단계 51) 제2 변환 규칙은 제1 변환 규칙과 동일한 규칙일 수도 있으며, 서로 다른 변환 규칙일 수도 있다. 제2 변환 규칙에 의해서 동적 추가 문서가 변환되어 재구성된 문서를 동적 추가 문서의 변환문서로 정의한다. 변환 서버(20)는 동적 추가 문서의 변환문서를 전자서명하여 제2 전자서명값을 생성한다.(단계 52)
변환 서버(20)는 동적 추가 문서와, 제2 전자서명값과, 제2 변환 규칙을 클라이언트 모듈(10)로 전송한다. 동적 추가 문서는 변환 서버(20)에 의해 클라이언트 모듈(10)로 전송될 수도 있고, 이미 클라이언트 모듈(10)이 알고 있는 문서이므로 전송을 생략할 수도 있다. 제2 변환 규칙이 제1 변환 규칙과 동일한 경우에도, 이미 클라이언트 모듈(10)이 제1 변환 규칙을 알고 있으므로 전송되지 않아도 무방하다.
단계(54)에서는 동적 추가 가능 원본 문서와 동적 추가 문서를 결합한 결합 문서가 웹 브라우저 모듈(1)에 의해 출력된다. 웹 인젝션 공격이 있다면 결합 문서는 동적 추가 가능 원본 문서와 동적 추가 문서의 결합 문서와 논리적으로도, 물리적으로도 동일하지 않게 된다.
클라이언트 모듈(10)은 결합 문서를 추출하고, 결합 문서를 제1 문서부와 제2 문서부로 분리한다.(단계 55) 제1 문서부는 동적 추가 가능 원본 문서에 대응하고, 제2 문서부는 동적 추가 문서에 대응될 수 있다.
클라이언트 모듈(10)은 제1 문서부와 제2 문서부를 제1 변환 규칙과 제2 변환 규칙에 따라서 각각 변환하여 재구성한다.(단계 56) 제1 문서부와 제2 문서부가 변환되어 재구성된 문서는 각각 제1 문서부의 변환문서와 제2 문서부의 변환문서로 정의된다.
그리고 클라이언트 모듈(10)은 단계(38)에서 제1 문서부의 변환문서와 제2 문서부의 변환문서를 전자서명하여 제3 전자서명값과 제4 전자서명값을 생성하고, 그 전자서명값이 제1 전자서명값과 제2 전자서명값과 동일한지를 비교하여 전자서명검증을 수행한다.(단계 38)
전자서명값이 동일하면 검증에 성공한 것으로 판단하며, 동일하지 않으면 경고 메시지를 출력한다.(단계 40)
이상 첨부 도면을 참조하여 본 발명의 양호한 실시예에 대해서 설명하였지만 본 발명의 권리범위는 전술한 실시예 및/또는 도면에 의하여 제한되는 것으로 해석되어서는 아니되며, 후술하는 특허청구범위에 기재된 바에 의하여 정해 진다. 그리고 특허청구범위에 기재되어 있는 발명의, 당업자에게 자명한 개량, 변경 및/또는 수정도 본 발명의 권리범위에 포함됨이 명백하게 이해되어야 한다.
1: 웹 브라우저 모듈
2: 문서 객체 모델
10: 클라이언트 모듈
20: 변환 서버
30: 웹 서버

Claims (6)

  1. 웹 브라우저 모듈과, 클라이언트 모듈과, 변환 서버와, 웹 서버를 포함하는 환경에서 수행되는 웹 인젝션 공격 탐지 방법에 있어서,
    상기 웹 브라우저 모듈이 웹 서버에 요청한 원본 문서를 상기 변환 서버가 수신하는 제1 단계와,
    상기 변환 서버가 상기 수신한 원본 문서를 소정의 변환 규칙에 따라서 변환하여 변환 문서를 생성하는 제2 단계와,
    상기 변환 서버가 상기 변환 문서에 전자서명을 수행하여 제1 전자서명값을 생성하는 제3 단계와,
    상기 변환 서버가 상기 원본 문서와, 상기 제1 전자서명값과, 상기 소정의 변환 규칙을 상기 클라이언트 모듈로 전송하는 제4 단계와,
    상기 클라이언트 모듈이 수신한 상기 원본 문서를 상기 웹 브라우저 모듈에 전달하는 제5 단계와,
    상기 클라이언트 모듈이 상기 웹 브라우저 모듈에 출력된 문서를 추출하는 제6 단계와,
    상기 제6 단계에서 추출된 문서를 상기 클라이언트 모듈이 상기 변환 규칙에 따라서 변환하여 추출 문서의 변환문서를 생성하는 제7 단계와,
    상기 추출 문서의 변환문서에 전자서명을 수행하여 제2 전자서명값을 생성하는 제8 단계와,
    상기 클라이언트 모듈이 상기 제1 전자서명값과 상기 제2 전자서명값이 동일한지 비교하여 동일하지 않으면 경고 메시지를 표시하는 제9 단계를 포함하는,
    웹 인젝션 공격 탐지 방법.
  2. 청구항 1에 있어서,
    상기 원본 문서는 동적 문서 변경이 가능한 문서이며,
    동적으로 변경되는 원본 문서의 요소는 제외시키고 상기 소정의 변환 규칙이 적용되어 상기 변환 문서가 생성되며,
    동적으로 변경되는 요소는 상기 추출된 문서에서 제외시키고 상기 소정의 변환 규칙이 적용되어 추출 문서의 변환문서가 생성되는,
    웹 인젝션 공격 탐지 방법.
  3. 웹 브라우저 모듈과, 클라이언트 모듈과, 변환 서버와, 웹 서버를 포함하는 환경에서 수행되는 웹 인젝션 공격 탐지 방법에 있어서,
    상기 웹 브라우저 모듈이 웹 서버에 요청한 동적 추가 가능 원본 문서를 상기 변환 서버가 수신하는 제1 단계와,
    상기 변환 서버가 수신한 상기 동적 추가 가능 원본 문서를 제1 변환 규칙에 따라서 변환하여 동적 추가 가능 원본 문서의 변환문서를 생성하는 제2 단계와,
    상기 변환 서버가 상기 동적 추가 가능 원본 문서의 변환문서에 전자서명을 수행하여 제1 전자서명값을 생성하는 제3 단계와,
    상기 변환 서버가 상기 동적 추가 가능 원본 문서와, 상기 제1 전자서명값과, 상기 제1 변환 규칙을 상기 클라이언트 모듈로 전송하는 제4 단계와,
    상기 동적 추가 가능 원본 문서에 동적으로 추가되는 동적 추가 문서가 생성되는 경우에 상기 클라이언트 모듈이 상기 동적 추가 문서를 상기 변환 서버로 전송하는 제5 단계와,
    상기 변환 서버가 상기 동적 추가 문서를 제2 변환 규칙에 따라서 변환하여 동적 추가 문서의 변환문서를 생성하는 제6 단계와,
    상기 변환 서버가 상기 동적 추가 문서의 변환문서에 전자서명을 수행하여 제2 전자서명값을 생성하는 제7 단계와,
    상기 변환 서버가 상기 제2 변환 규칙과 상기 제2 전자서명값을 상기 클라이언트 모듈로 전송하는 제8 단계와,
    상기 클라이언트 모듈은 상기 동적 추가 가능 원본 문서에 상기 동적 추가 문서가 결합된 문서를 상기 웹 브라우저 모듈로 전달하는 제9 단계와,
    상기 웹 브라우저 모듈에 표시된 결합 문서를 상기 클라이언트 모듈이 추출하고 제1 문서부와 제2 문서부로 분리하는 제10 단계와,
    상기 제1 문서부와 상기 제2 문서부을 상기 제1 변환 규칙과 상기 제2 변환 규칙에 따라서 상기 클라이언트 모듈이 변환하여 제1 문서부의 변환문서와 제2 문서부의 변환문서로 변환하는 제11 단계와,
    상기 클라이언트 모듈이 상기 제1 문서부의 변환문서와 상기 제2 문서부의 변환문서에 대해서 전자서명을 수행하여 제3 전자서명값 및 제4 전자서명값을 생성하는 제12 단계와,
    상기 클라이언트 모듈이 상기 제1 전자서명값과 제3 전자서명값이, 제2 전자서명값과 제4 전자서명값이 동일한지 비교하여 동일하지 않으면 경고 메시지를 상기 웹 브라우저 모듈에 표시하게 하는 제13 단계를 포함하는,
    웹 인젝션 공격 탐지 방법.
  4. 청구항 1 또는 청구항 3에 있어서,
    상기 변환 규칙은,
    웹 브라우저 표시 가능 문서에서 특정 요소를 포함, 제외 및 제한 중 적어도 어느 하나를 수행하는 규칙인,
    웹 인젝션 공격 탐지 방법.
  5. 청구항 3에 있어서,
    상기 제1 변환 규칙과 상기 제2 변환 규칙은 동일한 변환 규칙이며,
    상기 제8 단계는 상기 변환 서버가 상기 제2 변환 규칙은 전송하지 않고 제2 전자서명값을 전송하는 단계인,
    웹 인젝션 공격 탐지 방법.
  6. 청구항 2에 있어서,
    상기 제외되는 부분에 대해서 소정의 제약 조건 또는 요소의 형태를 지정하는 조건을 더 부가하여 변환 규칙이 적용되는,
    웹 인젝션 공격 탐지 방법.
KR1020120011684A 2012-02-06 2012-02-06 웹 인젝션 공격 탐지 방법 KR101171212B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120011684A KR101171212B1 (ko) 2012-02-06 2012-02-06 웹 인젝션 공격 탐지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120011684A KR101171212B1 (ko) 2012-02-06 2012-02-06 웹 인젝션 공격 탐지 방법

Publications (1)

Publication Number Publication Date
KR101171212B1 true KR101171212B1 (ko) 2012-08-06

Family

ID=46887011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120011684A KR101171212B1 (ko) 2012-02-06 2012-02-06 웹 인젝션 공격 탐지 방법

Country Status (1)

Country Link
KR (1) KR101171212B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11165820B2 (en) 2015-10-13 2021-11-02 Check Point Software Technologies Ltd. Web injection protection method and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11165820B2 (en) 2015-10-13 2021-11-02 Check Point Software Technologies Ltd. Web injection protection method and system

Similar Documents

Publication Publication Date Title
US10320556B2 (en) Method, mobile terminal, device, and readable storage medium for preventing accessed data from being tampered with
CN109241484B (zh) 一种基于加密技术的网页数据的发送方法及设备
KR101086451B1 (ko) 클라이언트 화면 변조 방어 장치 및 방법
CN111835511A (zh) 数据安全传输方法、装置、计算机设备及存储介质
US11496512B2 (en) Detecting realtime phishing from a phished client or at a security server
US11716197B2 (en) System and method for generating a cryptographic key
US20120290837A1 (en) Method and system for secured management of online XML document services through structure-preserving asymmetric encryption
US8375211B2 (en) Optimization of signing soap body element
WO2014152079A1 (en) Validating normalized code representations
Lax et al. Digital document signing: Vulnerabilities and solutions
CN112703496A (zh) 关于恶意浏览器插件对应用用户的基于内容策略的通知
GB2507749A (en) Ensuring completeness of a displayed web page
WO2022143298A1 (zh) 基于区块链的数据处理方法和装置
CN103414727A (zh) 针对input密码输入框的加密保护系统及其使用方法
CN112199622A (zh) 页面跳转方法、系统及存储介质
CN114416773B (zh) 数据处理方法、装置、存储介质和服务器
WO2021073224A1 (zh) 数据显示方法、显示终端、服务器、显示系统和存储介质
CN113630412B (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
CN117313759B (zh) 数据安全传输的方法、装置、设备及存储介质
CN114065093A (zh) 数据防护方法、系统、电子设备及计算机可读存储介质
KR101171212B1 (ko) 웹 인젝션 공격 탐지 방법
CN107918739B (zh) 一种数据的保护方法、装置及存储介质
CN107729345B (zh) 网站数据处理方法、装置、网站数据处理平台及存储介质
KR20150144009A (ko) 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법
CN115883078A (zh) 文件加密方法、文件解密方法、装置、设备及存储介质

Legal Events

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160613

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170612

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180725

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190610

Year of fee payment: 8