KR101542737B1 - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101542737B1
KR101542737B1 KR1020150012391A KR20150012391A KR101542737B1 KR 101542737 B1 KR101542737 B1 KR 101542737B1 KR 1020150012391 A KR1020150012391 A KR 1020150012391A KR 20150012391 A KR20150012391 A KR 20150012391A KR 101542737 B1 KR101542737 B1 KR 101542737B1
Authority
KR
South Korea
Prior art keywords
web page
url
dynamic
block
received
Prior art date
Application number
KR1020150012391A
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 KR1020150012391A priority Critical patent/KR101542737B1/ko
Application granted granted Critical
Publication of KR101542737B1 publication Critical patent/KR101542737B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명에 따르면, 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치를 제공한다. 통신 장치는, 웹 서버로부터 URL의 웹 페이지를 수신하는 통신부; 및 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부를 포함하며, 상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우, 상기 처리부는, 상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고, (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하는 것을 특징으로 한다.

Description

웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체{METHOD, APPRATUS AND COMPUTER-READABLE RECORDING MEDIUM FOR PROCESSING WEB PAGE BY REFERRING TO A DEGREE OF LEARNING WITH RESPECT TO WEB PAGE AND A KIND OF WEB PAGE TO THEREBY ASSIST THE DETECTION OF ABNORMALITY IN WEB PAGE}
본 발명은 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체에 관한 것으로, 보다 상세하게는, 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하고, 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하여, 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
웹 서버가 클라이언트에게 웹 페이지를 전송할 때, 웹 서버에 대한 해킹이나, 웹 페이지의 전송 과정 중의 해킹에 의해 웹 페이지가 변조될 수 있다. 따라서, 클라이언트 및 웹 서버의 사이에서 웹 페이지를 전달하는 통신 장치가 웹 페이지의 변조를 탐지하고, 웹 페이지의 변조가 탐지된 경우 웹 페이지의 전송을 차단할 필요가 있다. 웹 페이지의 변조의 탐지에 관련하여, 한국등록특허 제10-0622129호 등이 공고된 바 있다.
클라이언트에 의해 요청된 웹 페이지는 정적 웹 페이지 또는 동적 웹 페이지일 수 있다.
예를 들면, 정적 웹 페이지는 서버에 이미 저장된 에이치티엠엘(HTML) 문서일 수 있다. 말하자면, 다수의 클라이언트들이 같은 유일 자원 지시기(URL: Uniform Resource Locator, 이하 "URL"이라고 함)의 정적 웹 페이지를 요청할 경우, 웹 서버는 각 클라이언트의 요청에 대해 이미 준비된 HTML 문서를 그대로 전송할 수 있고, 다수의 클라이언트들은 동일한 데이터의 웹 페이지를 수신할 수 있다. 또한, 다수의 클라이언트들의 사용자들은 클라이언트의 웹 브라우저(Web Browser)가 웹 페이지를 렌더링(Rendering)함에 따라 동일한 데이터의 웹 페이지를 볼 수 있다.
또한, 예를 들면, 동적 웹 페이지는 웹 페이지에 대한 요청의 요청 정보에 따라 웹 서버에서 제작하는 HTML 문서일 수 있다. 예를 들면, 동적 웹 페이지는 웹 페이지에 대한 요청에 맞게 정제된 문서일 수 있다. 말하자면, 다수의 클라이언트들이 같은 URL의 동적 웹 페이지를 각각 요청할 경우, 웹 서버는 각 클라이언트의 요청에 대해 요청 정보를 분석할 수 있고, 분석된 요청 정보 및 기정의된 규칙에 따라 HTML 문서의 데이터를 생성할 수 있다. 데이터의 생성을 통해 다수의 클라이언트들은 서로 다른 데이터의 웹 페이지를 수신할 수 있다. 또한, 다수의 클라이언트들의 사용자들은 클라이언트의 웹 브라우저가 웹 페이지를 렌더링(Rendering)함에 따라 서로 다른 데이터의 웹 페이지를 볼 수 있다.
변조의 탐지에 있어서, 클라이언트들의 요청들에 대해 동일한 데이터가 제공되는 정적 웹 페이지의 경우, 웹 페이지들 간의 단순한 비교를 통해 웹 페이지들의 데이터가 서로 다른가를 판단함에 따라 웹 페이지에 대한 변조의 탐지 및 차단이 이루어질 수 있다. 그러나, 동적 웹 페이지의 경우, 클라이언트들의 요청들마다 웹 페이지의 데이터가 다르기 때문에 웹 페이지들 간의 단순한 비교에 의해서는 웹 페이지에 대한 변조의 탐지 및 변조된 웹 페이지에 대한 차단이 이루어질 수 없다는 문제가 발생한다.
어떤 웹 페이지가 동적 웹 페이지이더라도, 웹 페이지의 전체가 요청마다 변하는 것은 아니며, 적어도 일부로는 고정된 데이터가 존재할 수 있다. 이에, 본 발명자는, 기존의 기술과는 문제의 해결 원리를 달리하는, 동적 웹 페이지의 고정된 데이터에 대한 검사 및 학습을 통해 웹 페이지의 변조의 탐지를 가능하게 하는 기술을 개발하기에 이르렀다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하고, 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하여, 웹 페이지에 대한 위변조 판단을 지원하는 것을 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서, 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부를 포함하며, 상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우, 상기 처리부는, 상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고, (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하는 통신 장치가 제공된다.
본 발명의 다른 태양에 따르면, 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서, (a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및 (b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계를 포함하며, 상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우, 상기 (b) 단계는, 상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고, (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하는 방법이 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 장치, 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하고, 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하여, 웹 페이지에 대한 위변조 판단을 지원할 수 있는 효과가 달성된다.
도 1은 본 발명의 일 실시예에 따른 통신 장치의 구성을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 통신 장치가 웹 페이지가 변조되었는지 여부를 판단하는 방법의 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 웹 페이지를 처리하는 방법의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 수신된 웹 페이지의 URL에 대한 학습을 수행하는 방법의 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 수신된 웹 페이지가 변조되었는지 여부를 판단하는 방법의 흐름도이다.
도 6a 및 도 6b는 복수의 웹 페이지들을 비교한 결과로 식별된 블록들을 나타낸다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
통신 장치의 구성
도 1은 본 발명의 일 실시예에 따른 통신 장치의 구성을 나타낸다.
본 발명의 일 실시예에 따르면, 통신 장치(100)는 처리부(110), 통신부(120) 및 저장부(130)를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 처리부(110)는 통신 장치(100)의 동작을 위해 필요한 작업을 처리할 수 있다. 처리부(110)는 적어도 하나의 프로세서(Processor)일 수 있다. 통신부(120)는 다른 통신 장치와의 데이터의 통신을 처리할 수 있다. 통신부(120)는 데이터를 다른 통신 장치로 전송할 수 있고, 다른 통신 장치로부터 데이터를 수신할 수 있다. 저장부(130)는 통신 장치(100)의 동작을 위해 필요한 데이터를 저장할 수 있다.
본 발명의 일 실시예에 따르면, 통신부(120)는 클라이언트로부터 URL을 수신할 수 있고, 웹 서버에게 상기 URL의 웹 페이지의 요청을 전송할 수 있다. 또한, 통신부(120)는 웹 서버로부터 웹 페이지를 수신할 수 있다. 처리부(110)는 수신된 웹 페이지에 대한 처리를 수행할 수 있다. 여기에서, 웹 페이지에 대한 처리는, 웹 페이지의 URL에 대한 학습 및 웹 페이지가 변조되었는지 여부에 대한 판단을 포함할 수 있다. URL에 대한 학습은 URL에 대하여 웹 서버가 제공하는 웹 페이지들의 특성을 분석하는 것일 수 있다. URL에 대한 학습은, 웹 페이지가 변조되었는지 여부에 대한 판단을 하기 위해 사용될 수 있다.
예를 들면, 처리부(110)는 URL에 대한 학습이 완료되지 않았으면 수신된 웹 페이지를 URL에 대한 학습을 위해 사용할 수 있고, URL에 대한 학습이 완료되었으면 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다. 적어도 하나의 클라이언트에 의해 동일한 URL이 계속적으로 요청되면, 처리부(110)는 우선 클라이언트에게 전송할 웹 페이지를 사용하여 URL에 대한 학습을 수행할 수 있고, 다음으로 학습이 완료되면 클라이언트에게 전송할 웹 페이지가 변조되었는지 여부를 판단할 수 있다. 수신된 웹 페이지가 변조되지 않은 것으로 처리부(110)에 의해 판단된 경우 통신부(120)는 수신된 웹 페이지를 클라이언트로 전송할 수 있다.
웹 페이지의 변조를 검출하는 방법
도 2는 본 발명의 일 실시예에 따른 통신 장치가 웹 페이지가 변조되었는지 여부를 판단하는 방법의 흐름도이다.
(i) 우선, 본 발명의 일 실시예에 따르면, 통신 장치(100)의 통신부(120)는 클라이언트(210)로부터 URL을 수신할 수 있다(S230). 수신된 URL은 클라이언트가 요청하는 웹 페이지의 URL일 수 있다.
(ii) 다음으로, 본 발명의 일 실시예에 따르면, 통신부(120)는 웹 서버(220)로부터 웹 페이지를 수신하기 위해 URL을 웹 서버(220)로 전송할 수 있다(S240).
(iii) 다음으로, 본 발명의 일 실시예에 따르면, 통신부(120)는 웹 서버로부터 URL의 웹 페이지를 수신할 수 있다(S250).
(iv) 다음으로, 본 발명의 일 실시예에 따르면, 처리부(110)는 수신된 웹 페이지에 대한 처리를 수행할 수 있다(S260). 처리부(110)는 웹 페이지의 URL에 대한 학습을 수행할 수 있으며, 또는 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따른 수신된 웹 페이지를 처리하는 방법이 하기에서 도 3을 참조하여 상세하게 설명된다.
(v) 다음으로, 본 발명의 일 실시예에 따르면, 처리부(110)에 의해 수신된 웹 페이지가 변조되지 않은 것으로 판단된 경우 통신부(120)는 수신된 웹 페이지를 클라이언트(110)로 전송할 수 있다(S270). 처리부(110)에 의해 수신된 웹 페이지가 변조된 것으로 판단된 경우 수신된 웹 페이지는 클라이언트(110)로 전송되지 않을 수 있다. 말하자면, 처리부(110)에 의해 수신된 웹 페이지가 변조된 것으로 판단된 경우 수신된 웹 페이지는 통신 장치(100)에 의해 차단될 수 있다. 단계(S260)가 실행되었을 때, 처리부(110)가 수신된 웹 페이지가 변조되었는지 여부를 판단하지 않고 웹 페이지의 URL에 대한 학습을 수행한 경우, 통신부(120)는 수신된 웹 페이지를 클라이언트(110)로 전송할 수 있다.
본 발명의 일 실시예에 따르면, 클라이언트(210), 통신 장치(100) 및 웹 서버(220) 사이의 통신은 패킷을 통해 이루어질 수 있다. 클라이언트(210), 통신 장치(100) 및 웹 서버(220) 사이에서 데이터는 패킷의 형태로 전송될 수 있다. 예를 들면, 단계(S230), 단계(S240), 단계(S250) 및 단계(S260)의 각각에서는, URL을 포함하는 패킷 또는 웹 페이지를 포함하는 패킷이 전송될 수 있다.
본 발명의 일 실시예에 따르면, 전술될 단계들(S230 내지 S270)은 통신 장치(100)가 동작함에 따라 반복적으로 수행될 수 있다. 클라이언트(210)는 하나 이상일 수 있으며, 하나 이상의 클라이언트들은 동일한 URL의 웹 페이지를 요청할 수 있다. URL에 대한 학습은 단계(S260)의 한 번의 수행만으로는 충분하지 않을 수 있으며, 하나 이상의 클라이언트들이 동일한 URL의 웹 페이지를 요청하여 단계(S260)에 의해 URL에 대한 학습이 기정의된 값의 횟수만큼 수행되면 URL에 대한 학습이 완료될 수 있다. URL에 대한 학습이 완료되면, 하나 이상의 클라이언트들이 학습된 URL의 웹 페이지를 요청할 때마다 단계(S260)에서 수신된 웹 페이지가 변조되었는지 여부가 판단될 수 있다.
본 발명의 일 실시예에 따르면, URL에 대한 학습은 서로 다른 URL 별로 이루어질 수 있다. 처리부(110)는 서로 다른 URL들의 각 URL에 대하여 URL에 대한 학습을 수행할 수 있으며, 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다. 예를 들어, 서로 다른 제1 URL 및 제2 URL 중 제2 URL에 대해서만 학습이 완료된 경우를 가정하면, 단계(S260)에서, 처리부(110)는 제1 URL의 웹 페이지가 수신된 경우에는 수신된 웹 페이지를 사용하여 제1 URL에 대한 학습을 수행할 수 있고, 제2 URL의 웹 페이지가 수신된 경우에는 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 하나 이상의 클라이언트들이 URL을 전송하여 URL의 웹 페이지를 요청할 때, URL들이 같은 URL인지 아니면 서로 다른 URL인지 여부는 URL의 전부 또는 일부에 의해 결정될 수 있다. 예를 들면, 단계(S260)에서, 처리부(110)는 수신된 웹 페이지의 URL 중 파라미터(Parameter)를 제외한 나머지 일부의 URL을 사용하여 URL에 대한 학습을 수행할 수 있으며, 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다. 말하자면, 파라미터를 제외한 나머지 일부가 같은 URL들은 같은 URL로 간주될 수 있다. 또는, URL의 적어도 하나의 파라미터 중 일부의 파라미터를 제외한 나머지가 같은 URL들은 서로 같은 URL로 간주될 수 있다.
도 3은 본 발명의 일 실시예에 따른 웹 페이지를 처리하는 방법의 흐름도이다.
도 2를 참조하여 전술된 단계(S260)는 하기의 단계들(S310 내지 S330)을 포함할 수 있다. 예를 들면, 하기의 단계들(S310 내지 S330)에 의해 처리부(110)는 수신된 웹 페이지에 대한 처리를 수행할 수 있다.
(i) 우선, 본 발명의 일 실시예에 따르면, 처리부(110)는 수신된 웹 페이지의 URL에 대한 학습이 완료되었는지 여부를 판단할 수 있다(S310). URL에 대한 학습이 완료되지 않은 경우, URL에 대한 학습을 위해 단계(S320)가 수행될 수 있다. URL에 대한 학습이 완료된 경우, 수신된 웹 페이지가 변조되었는지 여부를 판단하기 위해 단계(S330)가 수행될 수 있다.
본 발명의 일 실시예에 따르면, 처리부(110)는 URL 별로 URL의 학습 완료 플래그(Flag)를 유지할 수 있다. 처리부(110)는 URL의 학습 완료 플래그를 저장부(130)에 저장할 수 있다. 처리부(110)는 URL에 대한 학습이 완료되면 URL의 학습 완료 플래그를 세트할 수 있다. 처리부(110)는 수신된 웹 페이지의 URL의 학습 완료 플래그를 사용하여 URL에 대한 학습이 완료되었는지 여부를 판단할 수 있다. 예를 들면, URL의 학습 완료 플래그가 세트된 경우 URL에 대한 학습이 완료된 것으로 판단할 수 있고, URL의 학습 완료 플래그가 세트되지 않은 경우 URL에 대한 학습이 완료되지 않은 것으로 판단할 수 있다.
(ii) 다음으로, 본 발명의 일 실시예에 따르면, URL에 대한 학습이 완료되지 않은 경우, 처리부(110)는 수신된 웹 페이지의 URL에 대한 학습을 수행할 수 있다(S320).
본 발명의 일 실시예에 따르면, URL에 대한 학습이 완료됨에 따라, 처리부(110)는 수신된 웹 페이지가 동적 웹 페이지인 경우에도 수신된 웹 페이지가 변조된 웹 페이지인지 여부를 판단하는 것이 가능하게 될 수 있다. 본 발명의 일 실시예에 따른 수신된 웹 페이지의 URL에 대한 학습을 수행하는 방법이 아래에서 도 4를 참조하여 상세하게 설명된다.
(iii) 다음으로, 본 발명의 일 실시예에 따르면, URL에 대한 학습이 완료된 경우, 처리부(110)는 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다(S330). 처리부(110)는 URL에 대한 학습을 통해 생성된 데이터를 사용하여 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따른 수신된 웹 페이지가 변조되었는지 여부를 판단하는 방법이 아래에서 도 5를 참조하여 상세하게 설명된다.
도 4는 본 발명의 일 실시예에 따른 수신된 웹 페이지의 URL에 대한 학습을 수행하는 방법의 흐름도이다.
도 3을 참조하여 전술된 단계(S320)는 하기의 단계들(S410 내지 S490)을 포함할 수 있다. 예를 들면, 하기의 단계들(S410 내지 S490)에 의해, 처리부(110)는 도 2를 참조하여 전술된 단계(S260)에서 수신된 웹 페이지의 URL에 대한 학습을 수행할 수 있다. 하기의 단계들(S410 내지 S490)은 수신된 웹 페이지의 URL에 대한 학습이 완료되지 않은 경우에 수행될 수 있다.
(i) 우선, 본 발명의 일 실시예에 따르면, 처리부(110)는 수신된 웹 페이지를 정적 웹 페이지 및 동적 웹 페이지 중 하나로 분류할 수 있다(S410). 수신된 웹 페이지가 정적 웹 페이지로 분류된 경우 단계(S420)가 수행될 수 있고, 수신된 웹 페이지가 동적 웹 페이지로 분류된 경우 단계(S430)가 수행될 수 있다. 단계들(S430, S440, S450, S460, S470 및 S480)은 수신된 웹 페이지가 동적 웹 페이지인 경우에 수행될 수 있다.
본 발명의 일 실시예에 따르면, 수신된 웹 페이지의 분류에 있어서, 처리부(110)는 URL 내의 확장자(Extension)를 사용할 수 있다. 예를 들면, URL 내의 확장자가 "HTML" 및 "HTM"과 같은 정적 웹 페이지를 나타내는 확장자이거나, "BMP" 및 "JPG"와 같은 이미지를 나타내는 확장자이거나, "PDF" 및 "PPT"와 같은 고정된 내용의 파일을 나타내는 확장자인 경우, 처리부(110)는 수신된 웹 페이지를 정적 웹페이지로 분류할 수 있다. 또한, 예를 들면, URL 내의 확장자가 "ASP" 등과 같은 동적 웹 페이지를 나타내는 확장자인 경우, 처리부(110)는 수신된 웹 페이지를 동적 웹페이지로 분류할 수 있다.
(ii) 다음으로, 본 발명의 일 실시예에 따르면, 수신된 웹 페이지가 정적 웹 페이지로 분류된 경우, 처리부(110)는 웹 페이지를 검사하기 위한 검사 데이터를 생성하고, 생성된 검사 데이터를 저장부(130)에 저장할 수 있다(S420). 검사 데이터는 이번에 수신된 웹 페이지의 URL과 동일한 URL의 웹 페이지가 나중에 수신되었을 때, 처리부(110)가 동일한 URL의 웹 페이지가 변조되었는지 여부를 판단하기 위해 사용하는 데이터일 수 있다. 예를 들면, 검사 데이터는 수신된 웹 페이지의 바디(Body) 부분일 수 있다. 바디 부분은 HTML 문서의 "<body>" 태그 및 "</body>" 태그의 사이의 부분일 수 있다. 또한, 검사 데이터는 수신된 웹 페이지 또는 수신된 웹 페이지의 적어도 일부에 대한 해싱 값일 수 있다. 예를 들면, 검사 데이터는 수신된 웹 페이지의 바디 부분의 해싱 값일 수 있다.
본 발명의 일 실시예에 따르면, 처리부(110)는 수신된 웹 페이지 또는 수신된 웹 페이지의 적어도 일부에 대한 해싱 값을 생성하기 위해 엠디5(MD5) 및 에스에이치에이256(SHA256) 등과 같은 해싱 방법을 사용할 수 있다.
본 발명의 일 실시예에 따르면, 수신된 웹 페이지가 정적 웹 페이지로 분류된 경우, 정적 웹 페이지에 대한 학습은 단계(S420)의 한 번의 수행만으로 완료될 수 있으며, 다음으로 단계(S490)가 수행될 수 있다.
(iii) 다음으로, 본 발명의 일 실시예에 따르면, 수신된 웹 페이지가 동적 웹 페이지로 분류된 경우, 처리부(110)는 수신된 웹 페이지의 URL이 처음으로 요청된 URL인지 여부를 검사할 수 있다(S430). 여기에서, 처음으로 요청된 URL이란 URL에 대한 학습이 이번에 처음으로 이루어진다는 것을 의미할 수 있다. 본 발명의 일 실시예에서, 동적 웹 페이지에 대한 학습을 위해서는 동일한 URL에 대한 복수의 웹 페이지들이 요구될 수 있다.
본 발명의 일 실시예에 따르면, 수신된 웹 페이지의 URL이 처음으로 요청된 URL인 경우 단계(S440)가 수행될 수 있고, 수신된 웹 페이지의 URL이 처음으로 요청된 URL이 아닌 경우(말하자면, 이미 동일한 URL에 대해 웹 페이지가 요청된 적이 있는 경우) 단계(S450)가 수행될 수 있다.
(iv) 다음으로, 본 발명의 일 실시예에 따르면, 수신된 웹 페이지가 동적 웹 페이지이고, 수신된 웹 페이지의 URL이 처음으로 요청된 URL인 경우, 처리부(110)는 수신된 웹 페이지의 데이터를 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 통한 상기 URL에 대한 학습을 위해 저장부(130)에 저장할 수 있다(S440). 저장부(130)에 저장된 데이터는 이후 도 2를 참조하여 전술된 단계(S260)가 반복됨에 따라 수신된 웹 페이지의 URL과 동일한 URL의 웹 페이지가 URL에 대한 학습을 위해 사용될 때, 상기 수신된 웹 페이지 및 상기 동일한 URL의 웹 페이지 간의 비교를 위해 사용될 수 있다.
(v) 다음으로, 본 발명의 일 실시예에 따르면, 수신된 웹 페이지의 URL이 처음으로 요청된 URL이 아닌 경우, 처리부(110)는 수신된 웹 페이지의 URL에 대해 웹 서버(220)로부터 제공된 복수의 웹 페이지들을 비교함으로써 수신된 웹 페이지의 URL에 대한 학습을 수행할 수 있다(S450).
본 발명의 일 실시예에 따르면, 단계(S450)이 수행되었다는 것은, 이미 수신된 웹 페이지의 URL이 요청된 적이 있다는 것과, 이번에 수신된 웹 페이지의 URL과 동일한 URL의 웹 페이지의 데이터가 단계(S440) 등에 의해 저장부(130)에 저장되어 있다는 것을 의미할 수 있다. 따라서, 비교의 대상인 복수의 웹 페이지들은 저장부(130)에 이미 데이터가 저장된 웹 페이지 및 이번에 수신된 웹 페이지를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 웹 서버(220)로부터 제공된 URL의 복수의 웹 페이지들 중 일부가 비교를 위해 사용될 수 있다. 예를 들면, 비교를 위해 사용되는 일부는 웹 페이지의 바디 부분일 수 있다.
본 발명의 일 실시예에 따르면, 처리부(110)는 수신된 웹 페이지의 URL에 대해 웹 서버(220)로부터 제공된 URL의 복수의 웹 페이지들의 데이터를 디프(Diff) 유틸리티의 원리를 이용하여 공통 블록, 수정 블록 및 추가 블록으로 구분함으로써 URL에 대한 학습을 수행할 수 있다. 처리부(110)는 수신된 웹 페이지의 URL에 대해 웹 서버(220)로부터 제공된 URL의 복수의 웹 페이지들의 데이터를 디프(Diff) 유틸리티의 원리를 이용하여 공통 블록, 수정 블록 및 추가 블록으로 분류할 수 있다.
본 발명의 일 실시예에 있어서, 블록의 분류 단위는 적어도 하나의 라인(Line)일 수 있으며, HTML의 기정의된 태그 쌍(Pair)일 수 있다. 공통 블록, 수정 블록 및 추가 블록은 각각 하나 이상일 수 있고, 추가 블록은 존재하지 않을 수 있다.
본 발명의 일 실시예에 따른 복수의 웹 페이지들의 비교가 아래에서 도 6a 및 도 6b를 참조하여 상세하게 설명된다.
본 발명의 일 실시예에 따르면, 공통 블록은 동적 웹 페이지 중 적어도 하나의 웹 페이지 요청에 대해서 고정된 데이터의 블록일 수 있다. 공통 블록은 동적 웹 페이지 중 서로 다른 웹 페이지 요청에 대해 동일한 내용을 갖는 영역일 수 있다.
본 발명의 일 실시예에 따르면, 수정 블록은 동적 웹 페이지 중 서로 다른 웹 페이지 요청에 대해 변하거나 변할 수 있는 내용을 갖는 영역일 수 있다. 예를 들면, 수정 블록은 동적 웹 페이지에 대하여 요청이 있는 경우 동적 웹 페이지의 블록 중 데이터가 해당 위치에 존재하지만 내용이 변경될 수 있는 블록일 수 있다.
본 발명의 일 실시예에 따르면, 추가 블록은 동적 웹 페이지 중 서로 다른 웹 페이지 요청의 일부의 요청에 대하여 추가되는 데이터의 블록일 수 있다.예를 들면, 추가 블록은 동적 웹 페이지에 대하여 요청이 있는 경우 동적 웹 페이지의 블록 중 데이터가 해당 위치에 존재할 수도 또는 존재하지 않을 수도 있는 블록일 수 있다.
본 발명의 일 실시예에 있어서, 동적 웹 페이지가 변조되었는지 여부를 판단함에 있어서 기준이 되는 것은 동적 웹 페이지의 공통 블록일 수 있다. 동적 웹 페이지라도 공통 블록으로 판단된 부분이 기존의 학습을 위해 사용된 웹 페이지에 비해 변한 경우, 웹 페이지가 변조된 것으로 간주될 수 있다.
본 발명의 일 실시예에 따르면, 처리부(110)는 공통 블록, 수정 블록 및 추가 블록의 데이터를 저장부(130)에 저장할 수 있다. 또한, 처리부(110)는 수신된 웹 페이지의 전체를 저장할 수 있고, URL에 대해서 웹 서버(220)가 제공하는 동적 웹 페이지를 공통 블록, 수정 블록 및 추가 블록으로 분류할 수 있는 분류 데이터를 저장부(130)에 저장할 수 있다.
(vi) 다음으로, 본 발명의 일 실시예에 따르면, 처리부(110)는 수신된 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값 이상인지 여부를 판단할 수 있다(S460). 가령, 기정의된 값은 1/10일 수 있다.
본 발명의 일 실시예에 따르면, 공통 블록의 비율이 기정의된 값보다 더 작은 경우 처리부(110)는 수신된 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지(즉, 페이지의 전체가 변하는 동적 웹 페이지)로 분류할 수 있다. 또한, 공통 블록의 비율이 기정의된 값 이상인 경우 처리부(110)는 수신된 웹 페이지는 블록으로 나뉘는 동적 웹 페이지(즉, 페이지의 일부만이 변하는 동적 웹 페이지)로 분류할 수 있다. 처리부(110)는 URL 별로 URL의 블록 구분 플래그를 유지할 수 있다. 저장부(130)는 URL의 블록 구분 플래그를 저장할 수 있다. 저장부(130)는 수신된 웹 페이지의 공통 블록의 비율이 기정의된 값 이상인 경우 수신된 웹 페이지의 URL의 블록 구분 플래그를 세트할 수 있고, 수신된 웹 페이지의 공통 블록의 비율이 기정의된 값보다 더 작은 경우 수신된 웹 페이지의 URL의 블록 구분 플래그를 리셋(Reset)할 수 있다.
본 발명의 일 실시예에 따르면, 공통 블록의 비율이 기정의된 값보다 더 작은 경우 단계(S470) 및 단계(S480)가 수행될 수 있고, 공통 블록의 비율이 기정의된 값 이상인 경우 단계(S480)가 수행될 수 있다.
(vii) 다음으로, 본 발명의 일 실시예에 따르면, 수신된 웹 페이지가 블록으로 나뉘지 않는 것으로 분류된 경우(즉, 수신된 웹 페이지가 전체가 변하는 동적 웹 페이지로 판단된 경우), 처리부(110)는 수신된 웹 페이지의 전체를 수신된 웹 페이지의 URL에 대한 웹 페이지 리스트에 추가할 수 있다(S470). 웹 페이지 리스트는 URL에 대한 학습이 완료되기 전 URL에 대해 웹 서버(220)로부터 제공된 하나 이상의 웹 페이지들의 목록일 수 있다.
(viii) 다음으로, 본 발명의 일 실시예에 따르면, 처리부(110)는 수신된 웹 페이지의 URL에 대하여 기정의된 횟수의 이상으로 학습이 수행되었는지 여부를 판단할 수 있다(S480). 가령, 기정의된 횟수는 100일 수 있다.
하나의 URL에 대하여 1회의 학습만으로는 충분하지 않을 수 있다. 예를 들면, 하나의 URL에 대해 단지 2 개의 웹 페이지들을 비교하는 것만으로는 URL의 동적 웹 페이지를 공통 블록, 수정 블록 및 추가 블록으로 정확하게 분류하지 못할 수 있다. 예를 들면, 2 개의 웹 페이지들 중 우연히 동일한 내용을 갖는 부분이 공통 블록으로 잘못 분류될 수 있다. 따라서, 수신된 웹 페이지의 URL에 대하여 기정의된 횟수의 이상으로 학습이 수행된 경우, URL에 대한 학습이 완료되었다는 것을 나타내기 위해 단계(S490)가 수행될 수 있고, 수신된 웹 페이지의 URL에 대하여 기정의된 횟수보다 더 적게 학습이 수행된 경우 추가적인 학습을 위해 학습 완료 플래그를 세트하지 않은 채 절차가 잠정적으로 종료될 수 있다.
(ix) 다음으로, 본 발명의 일 실시예에 따르면, 처리부(110)는 수신된 웹 페이지의 URL에 대한 학습이 완료되면 수신된 웹 페이지의 URL의 학습 완료 플래그를 세트할 수 있다(S490). URL의 학습 완료 플래그가 세트되고 이후 URL의 웹 페이지가 다시 수신되면, 도 3을 참조하여 전술된 본 발명의 일 실시예에서 처리부(110)는 다시 수신된 웹 페이지에 대해서는 학습을 수행하지 않고, 다시 단계(S330)에서 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 도 2를 참조하여 전술된 단계들(S230 내지 S260)은 반복해서 수행될 수 있고, 하나 이상의 클라이언트들의 요청에 따라 수신된 웹 페이지의 URL에 대해서 여러 번 웹 페이지가 웹 서버(220)로부터 제공될 수 있다. 단계들(S480 및 S490)을 통해 처리부(110)는 웹 서버로(220)부터 제공된 URL의 복수의 웹 페이지들의 개수가 기정의된 값 이상이면 URL에 대한 학습을 완료할 수 있다.
도 5는 본 발명의 일 실시예에 따른 수신된 웹 페이지가 변조되었는지 여부를 판단하는 방법의 흐름도이다.
도 3을 참조하여 전술된 단계(S330)는 하기의 단계들(S510 내지 S550)을 포함할 수 있다. 예를 들면, 하기의 단계들(S510 내지 S550)에 의해, 처리부(110)는 도 2를 참조하여 전술된 단계(S260)에서 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다. 하기의 단계들(S510 내지 S550)은 수신된 웹 페이지의 URL에 대한 학습이 완료된 경우에 수행될 수 있다.
(i) 우선, 본 발명의 일 실시예에 따르면, 처리부(110)는 수신된 웹 페이지를 정적 웹 페이지 및 동적 웹 페이지 중 하나로 분류할 수 있다(S510). 수신된 웹 페이지가 정적 웹 페이지로 분류된 경우 단계(S520)가 수행될 수 있고, 수신된 웹 페이지가 동적 웹 페이지로 분류된 경우 단계(S530)가 수행될 수 있다.
본 발명의 일 실시예에 따르면, 수신된 웹 페이지를 정적 웹 페이지 및 동적 웹 페이지 중 하나로 분류하기 위해 도 4를 참조하여 전술된 단계(S410)에서와 같은 방식이 사용될 수 있다.
(ii) 다음으로, 본 발명의 일 실시예에 따르면, 수신된 웹 페이지가 정적 웹 페이지로 분류된 경우, 처리부(110)는 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다(S520).
본 발명의 일 실시예에 따르면, 처리부(110)는 수신된 웹 페이지의 URL에 대한 학습을 수행할 때 상기 URL에 대하여 웹 서버(220)가 제공한 이전의 웹 페이지를 사용하여 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다. 예를 들면, 이전의 웹 페이지 및 이번에 수신된 웹 페이지가 서로 다를 경우, 처리부(110)는 수신된 웹 페이지가 변조된 것으로 판단할 수 있다. 경우에 따라, 이전의 웹 페이지 및 이번에 수신된 웹 페이지 중 일부가 비교를 위해 사용될 수 있다. 예를 들면, 비교를 위해 사용되는 일부는 웹 페이지의 바디 부분일 수 있다.
본 발명의 일 실시예에 따르면, 처리부(110)는 검사 데이터를 사용하여 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다. 처리부(110)는 수신된 웹 페이지의 검사 데이터를 생성할 수 있다. 처리부(110)는 수신된 웹 페이지의 검사 데이터 및 도 4를 참조하여 전술된 단계(S420)에서 URL에 대해 생성한 검사 데이터를 비교함으로써 수신된 웹 페이지가 변조되었는지 여부를 판단할 수 있다. 처리부(110)는 URL에 대한 학습을 수행할 때 생성된 검사 데이터 및 수신된 웹 페이지의 검사 데이터가 서로 같을 경우 수신된 웹 페이지가 변조되지 않은 것으로 판단할 수 있고, 서로 다를 경우 수신된 웹 페이지가 변조된 것으로 판단할 수 있다. 예를 들면, 처리부(110)는 수신된 웹 페이지가 정적 웹 페이지로 분류되고, 수신된 웹 페이지의 적어도 일부에 대한 해싱 값이 수신된 웹 페이지의 URL에 대해 웹 서버(220)가 제공한 이전의 웹 페이지의 적어도 일부에 대한 해싱 값과 서로 다르면 수신된 웹 페이지가 변조된 것으로 판단할 수 있다.
(iii) 다음으로, 본 발명의 일 실시예에 따르면, 수신된 웹 페이지가 동적 웹 페이지로 분류된 경우, 처리부(110)는 수신된 웹 페이지가 블록으로 나뉘는지 여부(즉, 수신된 웹 페이지의 전체가 변하는 동적 웹 페이지인지 여부)를 판단할 수 있다(S530). 처리부(110)는 수신된 웹 페이지가 동적 웹 페이지로 분류된 경우 수신된 웹 페이지의 URL에 대한 블록 추출을 수행할 수 있다.
본 발명의 일 실시예에 따르면, 처리부(110)는 도 4를 참조하여 전술된 URL의 블록 구분 플래그를 사용하여 수신된 웹 페이지가 블록으로 나뉘는지 여부를 판단할 수 있다. 처리부(110)는 수신된 웹 페이지의 URL의 블록 구분 플래그가 세트되었으면 수신된 웹 페이지가 블록으로 나뉘는 것으로 판단할 수 있고, 수신된 웹 페이지의 URL의 블록 구분 플래그가 세트되지 않았으면 수신된 웹 페이지가 블록으로 나뉘지 않는 것으로 판단할 수 있다.
본 발명의 일 실시예에 따르면, 수신된 웹 페이지가 블록으로 나뉘는 경우 단계(S540)가 수행될 수 있고, 수신된 웹 페이지가 블록으로 나뉘지 않는 경우 단계(S550)가 수행될 수 있다.
(iv) 다음으로, 본 발명의 일 실시예에 따르면, 수신된 웹 페이지가 블록으로 나뉘는 경우, 처리부(110)는 수신된 웹 페이지의 공통 블록이 변했는지 여부를 판단할 수 있다(S540). 처리부(110)는 도 4를 참조하여 분류된 공통 블록을 수신된 웹 페이지의 공통 블록과 비교할 수 있다.
본 발명의 일 실시예에 따르면, 도 4를 참조하여 전술된 것과 같이, 처리부(110)는 수신된 URL에 대한 학습을 수행할 수 있고, 학습에 기반하여 수신된 웹 페이지 중 공통 블록인 부분을 판단할 수 있다. 처리부(110)는 도 4를 참조하여 전술된 분류 데이터를 사용하여 수신된 웹 페이지 중 동적 웹 페이지의 공통 블록을 판단할 수 있다. 예를 들면, 처리부(110)는 수신된 웹 페이지가 동적 웹 페이지로 분류된 경우, 수신된 웹 페이지 중 동적 웹 페이지의 공통 블록으로 판단된 부분이 URL에 대한 학습을 수행할 때 분류된 공통 블록에 비해 변한 것을 감지하면 수신된 웹 페이지가 변조된 것으로 판단하도록 지원할 수 있다. 처리부(110)는 수신된 웹 페이지가 동적 웹 페이지로 분류되고, 수신된 웹 페이지 중 동적 웹 페이지의 공통 블록으로 판단된 부분이 URL에 대한 학습을 수행할 때 분류된 공통 블록과 동일한 경우 수신된 웹 페이지가 변조되지 않은 것으로 판단할 수 있다.
(v) 다음으로, 본 발명의 일 실시예에 따르면, 수신된 웹 페이지가 블록으로 나뉘지 않는 동적 웹 페이지로 분류된 경우, 처리부(110)는 수신된 웹 페이지가 URL에 대한 웹 페이지에 리스트 중에 존재하는지 여부를 판단할 수 있다(S550). 처리부(110)는 수신된 웹 페이지가 URL에 대한 웹 페이지 리스트에 저장되지 않은 웹 페이지임을 감지하면, 수신된 웹 페이지가 변조된 것으로 판단하도록 지원할 수 있다. 도 4를 참조하여 단계(S470)에서 설명된 것과 같이 동적 웹 페이지가 블록으로 나뉘지 않는 경우 처리부(110)에 의해 동적 웹 페이지의 전체가 URL에 대한 웹 페이지 리스트에 추가될 수 있다. 말하자면, 수신된 웹 페이지의 URL에 대해서, 상기 URL에 대하여 웹 서버(220)가 제공한 웹 페이지들이 웹 페이지 리스트에 추가되고, 웹 페이지 리스트에 저장되지 않은 웹 페이지는 변조된 웹 페이지로 간주될 수 있다. 처리부(110)는 처리부(110)는 수신된 웹 페이지가 URL에 대한 웹 페이지에 리스트 중에 존재하면 수신된 웹 페이지가 변조되지 않은 것으로 판단할 수 있고, 수신된 웹 페이지가 URL에 대한 웹 페이지에 리스트 중에 존재하지 않으면 수신된 웹 페이지가 변조된 것으로 판단할 수 있다.
도 6a 및 도 6b는 복수의 웹 페이지들을 비교한 결과로 식별된 블록들을 나타낸다.
도 6a의 웹 페이지 및 도 6b의 웹 페이지를 비교하면, 도 6a의 웹 페이지의 데이터에서, 제1 블록(611), 제2 블록(612), 제3 블록(613) 및 제4 블록(614)은 수정 블록으로 분류될 수 있고, 나머지는 공통 블록으로 분류될 수 있다. 도 6b의 웹 페이지의 데이터에서, 제1 블록(621), 제2 블록(622), 제3 블록(623) 및 제4 블록(624)은 수정 블록으로 분류될 수 있고, 제5 블록(625)는 추가 블록으로 분류될 수 있고, 나머지는 공통 블록으로 분류될 수 있다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 통신 장치
110: 처리부
120: 통신부
210: 클라이언트
220: 웹 서버

Claims (19)

  1. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
    소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
    상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 URL의 응답이 기설정된 회수 이상 학습되었는지 판단하고, 상기 기설정된 회수 이상 학습된 경우 학습 완료 플래그를 세팅하는 것을 특징으로 하는 통신 장치.
  2. 삭제
  3. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
    소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
    상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 URL에 대하여 기존에 제공되었던 적어도 하나의 웹 페이지들의 데이터를 디프(Diff) 유틸리티의 원리를 이용하여 공통 블록, 수정 블록 및 추가 블록 중 적어도 하나로 구분함으로써 상기 URL에 대한 학습을 수행하는 것을 특징으로 하는 통신 장치.
  4. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
    소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
    상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 정적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 웹 페이지의 적어도 일부에 대한 해싱 값을 저장하고 학습 완료 플래그를 세팅하는 것을 특징으로 하는 통신 장치.
  5. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
    소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
    상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 웹 페이지의 데이터를 상기 공통 블록, 수정 블록 및 추가 블록 중 적어도 하나로 구분하되,
    상기 공통 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재하며 항상 동일한 데이터를 가지고 있는 블록이고,
    상기 수정 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재하지만 내용이 변경될 수 있는 블록이고,
    상기 추가 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재할 수도 또는 존재하지 않을 수도 있는 블록인 것을 특징으로 하는 통신 장치.
  6. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
    소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
    상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 블록으로 나뉘지 않는 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지가 상기 URL에 대한 웹 페이지 리스트에 저장되지 않은 웹 페이지임을 감지하면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하도록 지원하는 것을 특징으로 하는 통신 장치.
  7. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
    소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
    상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 블록으로 나뉘는 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지 내의 공통 블록으로 판단된 데이터 부분이 변한 것을 감지하면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하도록 지원하는 것을 특징으로 하는 통신 장치.
  8. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
    소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
    상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 정적 웹 페이지로 판단된 경우,
    상기 처리부는,
    상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지의 적어도 일부에 대한 해싱 값이 상기 URL에 대하여 기존에 제공되었던 적어도 하나의 웹 페이지의 적어도 일부에 대한 해싱 값과 서로 다르면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하는 것을 특징으로 하는 통신 장치.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 수신된 웹 페이지가 변조되지 않은 것으로 판단된 경우,
    상기 통신부는,
    상기 수신된 웹 페이지를 상기 클라이언트로 전송하는 것을 특징으로 하는 통신 장치.
  10. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
    (a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
    (b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 URL의 응답이 기설정된 회수 이상 학습되었는지 판단하고, 상기 기설정된 회수 이상 학습된 경우 학습 완료 플래그를 세팅하는 것을 특징으로 하는 방법.
  11. 삭제
  12. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
    (a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
    (b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 URL에 대하여 기존에 제공되었던 적어도 하나의 웹 페이지들의 데이터를 디프(Diff) 유틸리티의 원리를 이용하여 공통 블록, 수정 블록 및 추가 블록 중 적어도 하나로 구분함으로써 상기 URL에 대한 학습을 수행하는 것을 특징으로 하는 방법.
  13. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
    (a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
    (b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 정적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 웹 페이지의 적어도 일부에 대한 해싱 값을 저장하고 학습 완료 플래그를 세팅하는 것을 특징으로 하는 방법.
  14. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
    (a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
    (b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 웹 페이지의 데이터를 상기 공통 블록, 수정 블록 및 추가 블록 중 적어도 하나로 구분하되,
    상기 공통 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재하며 항상 동일한 데이터를 가지고 있는 블록이고,
    상기 수정 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재하지만 내용이 변경될 수 있는 블록이고,
    상기 추가 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재할 수도 또는 존재하지 않을 수도 있는 블록인 것을 특징으로 하는 방법.
  15. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
    (a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
    (b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 블록으로 나뉘지 않는 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지가 상기 URL에 대한 웹 페이지 리스트에 저장되지 않은 웹 페이지임을 감지하면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하도록 지원하는 것을 특징으로 하는 방법.
  16. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
    (a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
    (b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 블록으로 나뉘는 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지 내의 공통 블록으로 판단된 데이터 부분이 변한 것을 감지하면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하도록 지원하는 것을 특징으로 하는 방법.
  17. 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
    (a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
    (b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
    를 포함하며,
    상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
    (i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
    상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 정적 웹 페이지로 판단된 경우,
    상기 (b) 단계는,
    상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지의 적어도 일부에 대한 해싱 값이 상기 URL에 대하여 기존에 제공되었던 적어도 하나의 웹 페이지의 적어도 일부에 대한 해싱 값과 서로 다르면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하는 것을 특징으로 하는 방법.
  18. 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 수신된 웹 페이지가 변조되지 않은 것으로 판단된 경우,
    (c) 상기 수신된 웹 페이지를 상기 클라이언트로 전송하는 단계를 더 포함하는 방법.
  19. 제10항 또는 제12항 내지 제17항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
KR1020150012391A 2015-01-26 2015-01-26 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체 KR101542737B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150012391A KR101542737B1 (ko) 2015-01-26 2015-01-26 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150012391A KR101542737B1 (ko) 2015-01-26 2015-01-26 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체

Publications (1)

Publication Number Publication Date
KR101542737B1 true KR101542737B1 (ko) 2015-08-07

Family

ID=53886656

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150012391A KR101542737B1 (ko) 2015-01-26 2015-01-26 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR101542737B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100867306B1 (ko) 2007-05-31 2008-11-06 (주)위너다임 이미지 분석기법을 이용한 홈페이지 변조점검 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100867306B1 (ko) 2007-05-31 2008-11-06 (주)위너다임 이미지 분석기법을 이용한 홈페이지 변조점검 시스템 및 방법

Similar Documents

Publication Publication Date Title
US9158460B2 (en) Selecting data nodes using multiple storage policies in cloud storage system
US10474817B2 (en) Dynamically optimizing performance of a security appliance
US9256736B2 (en) Method and system for monitoring webpage malicious attributes
US8683596B2 (en) Detection of DOM-based cross-site scripting vulnerabilities
US8966633B2 (en) Method and device for multiple engine virus killing
US9686303B2 (en) Web page vulnerability detection method and apparatus
EP3076325B1 (en) Detecting suspicious files resident on a network
CN109586282B (zh) 一种电网未知威胁检测系统及方法
US9147067B2 (en) Security method and apparatus
CN105245550B (zh) 域名劫持判定方法和装置
US9632899B2 (en) Method for analyzing request logs in advance to acquire path information for identifying problematic part during operation
WO2013189216A1 (zh) 网页检测方法与扫描引擎
US20130263259A1 (en) Analyzing response traffic to detect a malicious source
US10171423B1 (en) Services offloading for application layer services
US10574703B1 (en) Content delivery employing multiple security levels
CN110995684B (zh) 漏洞检测方法及装置
KR102150530B1 (ko) 분산 웹 크롤러에 대한 방어 방법 및 장치
CN106878452A (zh) 一种文件上传方法、装置和系统
CN106547683A (zh) 一种冗余代码检测方法及装置
US20200153848A1 (en) Malicious content detection with retrospective reporting
KR101542737B1 (ko) 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체
US8438637B1 (en) System, method, and computer program product for performing an analysis on a plurality of portions of potentially unwanted data each requested from a different device
US9124472B1 (en) Providing file information to a client responsive to a file download stability prediction
US20210144165A1 (en) Method of threat detection
KR101572239B1 (ko) 사용자 브라우저 영역에서 악성 스크립트 탐지 및 실행 방지 장치 및 시스템

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: 20190805

Year of fee payment: 5