KR101542737B1 - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체 - Google Patents
웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체 Download PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 127
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000001514 detection method Methods 0.000 title description 4
- 230000005856 abnormality Effects 0.000 title 1
- 238000004891 communication Methods 0.000 claims abstract description 53
- 230000003068 static effect Effects 0.000 claims abstract description 41
- 238000000605 extraction Methods 0.000 claims abstract description 18
- 238000012937 correction Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 6
- 238000007689 inspection Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting 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
본 발명은 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법, 통신 장치 및 컴퓨터 판독 가능한 기록 매체에 관한 것으로, 보다 상세하게는, 소정의 클라이언트로부터 요청된 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는 복수의 웹 페이지들을 비교한 결과로 식별된 블록들을 나타낸다.
도 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: 웹 서버
110: 처리부
120: 통신부
210: 클라이언트
220: 웹 서버
Claims (19)
- 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 URL의 응답이 기설정된 회수 이상 학습되었는지 판단하고, 상기 기설정된 회수 이상 학습된 경우 학습 완료 플래그를 세팅하는 것을 특징으로 하는 통신 장치. - 삭제
- 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 URL에 대하여 기존에 제공되었던 적어도 하나의 웹 페이지들의 데이터를 디프(Diff) 유틸리티의 원리를 이용하여 공통 블록, 수정 블록 및 추가 블록 중 적어도 하나로 구분함으로써 상기 URL에 대한 학습을 수행하는 것을 특징으로 하는 통신 장치. - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 정적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 웹 페이지의 적어도 일부에 대한 해싱 값을 저장하고 학습 완료 플래그를 세팅하는 것을 특징으로 하는 통신 장치. - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 웹 페이지의 데이터를 상기 공통 블록, 수정 블록 및 추가 블록 중 적어도 하나로 구분하되,
상기 공통 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재하며 항상 동일한 데이터를 가지고 있는 블록이고,
상기 수정 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재하지만 내용이 변경될 수 있는 블록이고,
상기 추가 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재할 수도 또는 존재하지 않을 수도 있는 블록인 것을 특징으로 하는 통신 장치. - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 블록으로 나뉘지 않는 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지가 상기 URL에 대한 웹 페이지 리스트에 저장되지 않은 웹 페이지임을 감지하면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하도록 지원하는 것을 특징으로 하는 통신 장치. - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 블록으로 나뉘는 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지 내의 공통 블록으로 판단된 데이터 부분이 변한 것을 감지하면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하도록 지원하는 것을 특징으로 하는 통신 장치. - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 통신 장치에 있어서,
소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 통신부; 및
상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 처리부
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 정적 웹 페이지로 판단된 경우,
상기 처리부는,
상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지의 적어도 일부에 대한 해싱 값이 상기 URL에 대하여 기존에 제공되었던 적어도 하나의 웹 페이지의 적어도 일부에 대한 해싱 값과 서로 다르면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하는 것을 특징으로 하는 통신 장치. - 제6항 내지 제8항 중 어느 한 항에 있어서,
상기 수신된 웹 페이지가 변조되지 않은 것으로 판단된 경우,
상기 통신부는,
상기 수신된 웹 페이지를 상기 클라이언트로 전송하는 것을 특징으로 하는 통신 장치. - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
(a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
(b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 URL의 응답이 기설정된 회수 이상 학습되었는지 판단하고, 상기 기설정된 회수 이상 학습된 경우 학습 완료 플래그를 세팅하는 것을 특징으로 하는 방법. - 삭제
- 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
(a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
(b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 URL에 대하여 기존에 제공되었던 적어도 하나의 웹 페이지들의 데이터를 디프(Diff) 유틸리티의 원리를 이용하여 공통 블록, 수정 블록 및 추가 블록 중 적어도 하나로 구분함으로써 상기 URL에 대한 학습을 수행하는 것을 특징으로 하는 방법. - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
(a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
(b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 정적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 웹 페이지의 적어도 일부에 대한 해싱 값을 저장하고 학습 완료 플래그를 세팅하는 것을 특징으로 하는 방법. - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
(a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
(b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 웹 페이지의 데이터를 상기 공통 블록, 수정 블록 및 추가 블록 중 적어도 하나로 구분하되,
상기 공통 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재하며 항상 동일한 데이터를 가지고 있는 블록이고,
상기 수정 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재하지만 내용이 변경될 수 있는 블록이고,
상기 추가 블록은 상기 웹 페이지에 대하여 요청이 있는 경우 상기 웹 페이지의 블록 중 데이터가 해당 위치에 존재할 수도 또는 존재하지 않을 수도 있는 블록인 것을 특징으로 하는 방법. - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
(a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
(b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 블록으로 나뉘지 않는 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지가 상기 URL에 대한 웹 페이지 리스트에 저장되지 않은 웹 페이지임을 감지하면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하도록 지원하는 것을 특징으로 하는 방법. - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
(a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
(b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 블록으로 나뉘는 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지 내의 공통 블록으로 판단된 데이터 부분이 변한 것을 감지하면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하도록 지원하는 것을 특징으로 하는 방법. - 웹 페이지에 대한 학습 완료 상태 및 웹 페이지의 종류에 따라 웹 페이지를 처리하여 웹 페이지에 대한 위변조 판단을 지원하기 위한 방법에 있어서,
(a) 소정의 클라이언트로부터 요청된 URL에 대한 웹 페이지를 대응되는 웹 서버로부터 수신하는 단계; 및
(b) 상기 수신된 웹 페이지에 대응되는 URL이 학습이 완료된 URL인지 여부에 대한 정보 및 상기 웹 페이지가 동적 웹 페이지인지 또는 정적 웹 페이지인지에 대한 정보를 참조로 하여 상기 웹 페이지에 대한 처리를 수행하는 단계
를 포함하며,
상기 URL이 학습이 완료되지 않은 상태이고 상기 웹 페이지가 동적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 웹 페이지의 상기 URL에 대한 블록 추출을 수행하고,
(i) 상기 웹 페이지의 전체에 대해 공통 블록의 비율이 기정의된 값보다 더 작은 경우 상기 웹 페이지를 블록으로 나뉘지 않는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 전체를 상기 URL에 대한 웹 페이지 리스트에 추가하여 저장하고, (ii) 상기 비율이 상기 기정의된 값 이상인 경우 상기 웹 페이지를 블록으로 나뉘는 동적 웹 페이지로 판단하고, 상기 URL에 대한 다음의 요청에 의해 수신된 웹 페이지와의 비교를 위해 상기 웹 페이지의 블록 정보를 저장하되,
상기 URL에 대한 학습이 완료된 상태이고 새롭게 수신된 웹 페이지가 정적 웹 페이지로 판단된 경우,
상기 (b) 단계는,
상기 URL에 대하여 학습이 완료된 데이터와 비교할 때 상기 새롭게 수신된 웹 페이지의 적어도 일부에 대한 해싱 값이 상기 URL에 대하여 기존에 제공되었던 적어도 하나의 웹 페이지의 적어도 일부에 대한 해싱 값과 서로 다르면 상기 새롭게 수신된 웹 페이지가 변조된 것으로 판단하는 것을 특징으로 하는 방법. - 제15항 내지 제17항 중 어느 한 항에 있어서,
상기 수신된 웹 페이지가 변조되지 않은 것으로 판단된 경우,
(c) 상기 수신된 웹 페이지를 상기 클라이언트로 전송하는 단계를 더 포함하는 방법. - 제10항 또는 제12항 내지 제17항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100867306B1 (ko) | 2007-05-31 | 2008-11-06 | (주)위너다임 | 이미지 분석기법을 이용한 홈페이지 변조점검 시스템 및 방법 |
-
2015
- 2015-01-26 KR KR1020150012391A patent/KR101542737B1/ko active IP Right Grant
Patent Citations (1)
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 |