KR20220081267A - Evidence gathering method for website with dynamic contents and links - Google Patents

Evidence gathering method for website with dynamic contents and links Download PDF

Info

Publication number
KR20220081267A
KR20220081267A KR1020210146760A KR20210146760A KR20220081267A KR 20220081267 A KR20220081267 A KR 20220081267A KR 1020210146760 A KR1020210146760 A KR 1020210146760A KR 20210146760 A KR20210146760 A KR 20210146760A KR 20220081267 A KR20220081267 A KR 20220081267A
Authority
KR
South Korea
Prior art keywords
website
processor
dynamic content
storing
html file
Prior art date
Application number
KR1020210146760A
Other languages
Korean (ko)
Other versions
KR102419827B1 (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 주식회사 앰진시큐러스
Publication of KR20220081267A publication Critical patent/KR20220081267A/en
Application granted granted Critical
Publication of KR102419827B1 publication Critical patent/KR102419827B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • 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]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Landscapes

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

Abstract

본 명세서는 정적인 웹사이트뿐만 아니라 동적 컨텐츠와 링크를 포함하는 웹사이트의 증거를 수집할 수 있는 방법을 제공하는 것을 목적으로 한다. 본 명세서에 따른 웹사이트 채증 방법은, (a) 프로세서가 브라우저 엔진을 구동시키고, 채증대상 웹사이트의 URL을 상기 브라우저 엔진에 입력하는 단계; (b) 프로세서가 상기 웹사이트의 스크립트 동작 전 HTML 파일을 저장하는 단계; (c) 프로세서가 상기 웹사이트의 스크립트 동작 후 HTML 파일을 저장하고, 복수의 웹페이지 스크린샷을 저장하는 단계; (d) 프로세서가 상기 스크립트 동작 후 HTML 파일에서 동적 컨텐츠를 식별하는 단계; 및 (e) 프로세서가 상기 식별된 동적 컨텐츠를 실행하고, 각 동적 컨텐츠마다 적어도 하나 이상의 스크린샷을 저장하는 단계;를 포함할 수 있다.An object of the present specification is to provide a method for collecting evidence of not only a static website but also a website including dynamic content and links. A website verification method according to the present specification comprises the steps of: (a), by a processor, driving a browser engine, and inputting a URL of a verification target website into the browser engine; (b) storing, by the processor, an HTML file before the script operation of the website; (c) storing, by the processor, an HTML file after the script operation of the website, and storing a plurality of webpage screenshots; (d) the processor identifying dynamic content in the HTML file after the script operation; and (e) the processor executing the identified dynamic content and storing at least one screenshot for each dynamic content.

Description

동적 컨텐츠와 링크를 포함하는 웹사이트의 채증 방법{EVIDENCE GATHERING METHOD FOR WEBSITE WITH DYNAMIC CONTENTS AND LINKS}METHOD OF VERIFICATION OF WEBSITES WITH DYNAMIC CONTENTS AND LINKS WITH DYNAMIC CONTENTS AND LINKS

본 발명은 웹사이트와 관련된 자료를 수집하는 방법에 관한 것이며, 보다 상세하게는 동적 컨텐츠와 링크를 포함하는 웹사이트의 채증 방법에 관한 것이다. The present invention relates to a method of collecting data related to a website, and more particularly, to a method of verifying a website including dynamic content and links.

이 부분에 기술된 내용은 단순히 본 명세서에 기재된 실시예에 대한 배경 정보를 제공할 뿐 반드시 종래 기술을 구성하는 것은 아니다.The content described in this section merely provides background information for the embodiments described herein and does not necessarily constitute prior art.

최근 온라인 동영상 서비스(OTT)의 확산과 IT 기술의 발전으로 디지털콘텐츠 소비가 증가됨에 따라 온라인상 저작권 보호의 중요성이 부각되고 있다. 저작권이 있는 영화, 드라마와 같은 멀티미디어 콘텐츠들이 공유 웹사이트를 통해 무료로 배포되는 사례들이 급증하고 있으며, 이 같은 저작권 침해 행위들은 콘텐츠 산업의 성장을 저해할 우려가 있다.Recently, as digital content consumption increases due to the spread of online video service (OTT) and the development of IT technology, the importance of online copyright protection is being emphasized. The cases in which copyrighted multimedia contents such as movies and dramas are distributed free of charge through shared websites are increasing rapidly, and such copyright infringements are feared to hinder the growth of the contents industry.

이처럼 무분별하게 침해되는 저작권을 보호하기 위해 불법 복제물 모니터링, 추적 관리 등 저작권 침해 행위에 대한 증거 자료 확보를 위한 노력이 다양하게 이루어지고 있다, 그러나 현재의 채증 방법들은 정적 컨텐츠 웹사이트에 최적화된 채증 방법 및 전통적인 모니터링 방법 등 빠르게 발전하는 IT 기술을 반영하지 못 하고 있으며, 해당 방법들로 채증된 자료들은 무결성이 의심되어 저작권 침해 분쟁 시 실효성 없는 증거 자료로 취급된다. 특히, 사용자와의 상호작용에 따라 달라지는 동적 컨텐츠 웹사이트에 적합한 증거 수집Efforts are being made to secure evidence of copyright infringement, such as monitoring and tracking illegal copies, to protect copyright indiscriminately infringed. However, the current verification methods are optimized for static content websites. It does not reflect the rapidly developing IT technology such as and traditional monitoring methods, and the integrity of the data obtained by these methods is questionable and is treated as ineffective evidence in case of copyright infringement disputes. Evidence gathering, particularly suitable for dynamic content websites that depend on user interaction

방법이 필요하다. I need a way.

대한민국 등록특허공보 제10-0705413호Republic of Korea Patent Publication No. 10-0705413

본 명세서는 정적인 웹사이트뿐만 아니라 동적 컨텐츠와 링크를 포함하는 웹사이트의 증거를 수집할 수 있는 방법을 제공하는 것을 목적으로 한다.An object of the present specification is to provide a method for collecting evidence of not only a static website but also a website including dynamic content and links.

본 명세서는 상기 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The present specification is not limited to the above-mentioned problems, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 과제를 해결하기 위한 본 명세서에 따른 웹사이트 채증 방법은, (a) 프로세서가 브라우저 엔진을 구동시키고, 채증대상 웹사이트의 URL을 상기 브라우저 엔진에 입력하는 단계; (b) 프로세서가 상기 웹사이트의 스크립트 동작 전 HTML 파일을 저장하는 단계; (c) 프로세서가 상기 웹사이트의 스크립트 동작 후 HTML 파일을 저장하고, 복수의 웹페이지 스크린샷을 저장하는 단계; (d) 프로세서가 상기 스크립트 동작 후 HTML 파일에서 동적 컨텐츠를 식별하는 단계; 및 (e) 프로세서가 상기 식별된 동적 컨텐츠를 실행하고, 각 동적 컨텐츠마다 적어도 하나 이상의 스크린샷을 저장하는 단계;를 포함할 수 있다.A method of verifying a website according to the present specification for solving the above-described problems includes the steps of: (a), by a processor, driving a browser engine, and inputting a URL of a website to be verified into the browser engine; (b) storing, by the processor, an HTML file before the script operation of the website; (c) storing, by the processor, an HTML file after the script operation of the website, and storing a plurality of webpage screenshots; (d) the processor identifying dynamic content in the HTML file after the script operation; and (e) the processor executing the identified dynamic content and storing at least one screenshot for each dynamic content.

본 명세서의 일 실시예에 따르면, 상기 (d) 단계는 프로세서가 스크립트 함수를 이용하여 동적 컨텐츠를 식별하는 단계일 수 있다.According to an embodiment of the present specification, step (d) may be a step in which the processor identifies dynamic content using a script function.

본 명세서의 일 실시예에 따르면, 상기 동적 컨텐츠는 클릭이벤트, 마우스 오버 이벤트, 스크롤 이벤트 및 인터벌 이벤트 중 적어도 어느 하나일 수 있다.According to an embodiment of the present specification, the dynamic content may be at least one of a click event, a mouse over event, a scroll event, and an interval event.

본 명세서의 일 실시예에 따르면, 상기 동적 컨텐츠가 인터벌 이벤트인 경우, 상기 (e)단계는 프로세서가 상기 인터벌 이벤트와 관련된 시간 이후 또는 동안 복수의 스크린샷을 저장하는 단계일 수 있다.According to an embodiment of the present specification, when the dynamic content is an interval event, step (e) may be a step in which the processor stores a plurality of screenshots after or during a time related to the interval event.

본 명세서의 일 실시예에 따르면, 상기 (a) 단계는 프로세서가 복수의 브라우저 엔진 중 어느 하나의 엔진을 선택하는 단계이다. 이 경우, 본 명세서에 따른 웹사이트 채증 방법은 (f) 프로세서가 복수의 브라우저 엔진 중 선택되지 않은 브라우저 엔진에 대해서 단계 (a) 내지 (e)를 반복실행하는 단계;를 더 포함할 수 있다.According to an embodiment of the present specification, step (a) is a step in which the processor selects any one of a plurality of browser engines. In this case, the website verification method according to the present specification may further include (f) the processor repeatedly executing steps (a) to (e) for a browser engine that is not selected from among a plurality of browser engines.

본 명세서에 따른 웹사이트 채증 방법은, 컴퓨터에서 웹사이트 채증 방법의 각 단계들을 수행하도록 작성되어 컴퓨터로 독출 가능한 기록 매체에 기록된 컴퓨터프로그램의 형태로 구현될 수 있다.The website verification method according to the present specification may be implemented in the form of a computer program written to perform each step of the website verification method on a computer and recorded on a computer-readable recording medium.

상술한 과제를 해결하기 위한 본 명세서에 따른 웹사이트 채증 장치는, 메모리부; 및 브라우저 엔진을 구동시키고, 채증대상 웹사이트의 URL을 상기 브라우저 엔진에 입력하고, 상기 웹사이트의 스크립트 동작 전 HTML 파일을 상기 메모리부에 저장시키고, 상기 웹사이트의 스크립트 동작 후 HTML 파일을 상기 메모리부에 저장시키고, 복수의 웹페이지 스크린샷을 상기 메모리부에 저장시키고, 상기 스크립트 동작 후 HTML 파일에서 동적 컨텐츠를 식별하고, 상기 식별된 동적 컨텐츠를 실행시키고, 각 동적 컨텐츠마다 적어도 하나 이상의 스크린샷을 상기 메모리부에 저장시키는 프로세서;를 포함할 수 있다.A website verification apparatus according to the present specification for solving the above-described problems includes: a memory unit; and driving a browser engine, inputting the URL of the website to be verified, into the browser engine, storing the HTML file before the script operation of the website in the memory unit, and storing the HTML file after the script operation of the website into the memory store in the unit, store a plurality of web page screenshots in the memory unit, identify dynamic content in the HTML file after the script operation, execute the identified dynamic content, and at least one screenshot for each dynamic content may include; a processor for storing in the memory unit.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

본 명세서의 일 측면에 따르면, 사용자/지역/시간 등 서버에 요청하는 값에 따라 결과 값을 다르게 보여주는 동적 컨텐츠 웹사이트(HTML, CSS, Java script 등으로 구성)에 포함된 이벤트를 탐지하여 콘텐츠의 불법적인 이용에 대한 증거 수집이 가능하다.According to one aspect of the present specification, by detecting an event included in a dynamic content website (consisting of HTML, CSS, Java script, etc.) that shows a result value differently depending on a value requested from a server such as a user/region/time, etc. Evidence of illegal use can be collected.

본 명세서의 다른 측면에 따르면, 사용자와의 상호작용에 따라 달라지는 동적 컨텐츠 웹사이트에 적합한 증거 수집을 통해, 불법 유출 및 저작권 분쟁 시 저작권 소유권 증명 소송 증거 자료로 제공이 가능하며, 나아가 안전한 미디어 및 저작권 보호 환경을 구축에 이바지 할 수 있다.According to another aspect of the present specification, through the collection of evidence suitable for the dynamic content website that varies according to the interaction with the user, it is possible to provide it as evidence of copyright ownership proof litigation in case of illegal leakage and copyright dispute, and furthermore, secure media and copyright It can contribute to building a protective environment.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 명세서에 따른 웹사이트 채증 장치의 참고도이다.
도 2는 본 명세서의 일 실시예에 따른 웹사이트 채증 방법의 개략적인 흐름도이다.
도 3은 스크립트 동작 전 HTML의 예시이다.
도 4는 스크립트 동작 후 HTML의 예시이다.
1 is a reference diagram of a website verification apparatus according to the present specification.
Figure 2 is a schematic flowchart of a website verification method according to an embodiment of the present specification.
3 is an example of HTML before script operation.
4 is an example of HTML after script operation.

본 명세서에 개시된 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 명세서가 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 명세서의 개시가 완전하도록 하고, 본 명세서가 속하는 기술 분야의 통상의 기술자(이하 '당업자')에게 본 명세서의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 명세서의 권리 범위는 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the invention disclosed herein, and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present specification is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the present embodiments allow the disclosure of the present specification to be complete, and those of ordinary skill in the art to which this specification belongs. It is provided to fully inform those skilled in the art (hereinafter, 'those skilled in the art') the scope of the present specification, and the scope of the present specification is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 명세서의 권리 범위를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the scope of the present specification. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 명세서에 따른 웹사이트 채증 장치의 참고도이다.1 is a reference diagram of a website verification apparatus according to the present specification.

도 1을 참조하면, 상기 웹사이트 채증 장치는 프로세서와 메모리를 포함하는 통신 단말기일 수 있다. 또한, 본 명세서에 따른 웹사이트 채증 장치는 통신망을 통해 웹사이트 서버와 연결될 수 있다. 따라서, 본 명세서에 따른 웹사이트 채증 장치는 웹사이트 서버로부터 웹사이트의 HTML 파일 같은 정보를 수신할 수 있다. 이하에서는 상기 프로세서의 동작을 설명하면서, 본 명세서에 따른 웹사이트 채증 방법을 설명하겠다. 다만, 본 명세서에 따른 웹 사이트 유사도 평가 방법을 설명함에 있어서, 본 명세서에 따른 웹사이트 채증 방법이 컴퓨터프로그램의 형태로 구현된 상황을 가정하고 설명하겠다. 상기 컴퓨터프로그램은 프로세서(processor)에 의해 실행되며, 상기 프로세서는 상기 이하에서 설명될 웹사이트 채증 방법의 각 단계를 실행하게 된다.Referring to FIG. 1 , the website verification apparatus may be a communication terminal including a processor and a memory. In addition, the website verification apparatus according to the present specification may be connected to the website server through a communication network. Accordingly, the website verification apparatus according to the present specification may receive information such as an HTML file of the website from the website server. Hereinafter, while explaining the operation of the processor, a method of verifying a website according to the present specification will be described. However, in describing the method for evaluating the similarity of a website according to the present specification, it is assumed that the method for collecting a website according to the present specification is implemented in the form of a computer program. The computer program is executed by a processor, and the processor executes each step of the website verification method to be described below.

도 2는 본 명세서의 일 실시예에 따른 웹사이트 채증 방법의 개략적인 흐름도이다.Figure 2 is a schematic flowchart of a website verification method according to an embodiment of the present specification.

도 2를 참조하면, 먼저 단계 S10에서 프로세서는 브라우저 엔진을 구동시킬 수 있다. 브라우저 엔진이란, 웹 표준에 따라 작성된 HTML을 읽고 실행할 수 있는 프로그램으로서, Gecko(Firefox), Webkit(Safari), Blink(Chrome), Trident(Explorer) 등 다양한 브라우저 엔진이 사용될 수 있다.Referring to FIG. 2 , first, in step S10, the processor may drive the browser engine. A browser engine is a program that can read and execute HTML written according to web standards, and various browser engines such as Gecko (Firefox), Webkit (Safari), Blink (Chrome), and Trident (Explorer) can be used.

먼저 단계 S20에서 프로세서는 채증대상 웹사이트의 URL을 상기 브라우저 엔진에 입력할 수 있다.First, in step S20, the processor may input the URL of the verification target website to the browser engine.

다음 단계 S30에서 프로세서는 상기 웹사이트의 스크립트(script) 동작 전 HTML(Hyper Text Markup Language) 파일을 메모리부에 저장시킬 수 있다. 스크립트란, 응용 소프트웨어를 제어하는 컴퓨터 프로그래밍 언어 중 하나인 스크립트 언어(scripting language)로 작성된 파일을 의미한다. 상기 스크립트 언어의 예시로 자바(JAVA) 스크립트가 있다.In the next step S30, the processor may store the HTML (Hyper Text Markup Language) file in the memory unit before the script operation of the website. A script refers to a file written in a scripting language, which is one of computer programming languages for controlling application software. An example of the script language is JAVA script.

다음 단계 S40에서 프로세서는 상기 웹사이트의 스크립트 동작 후 HTML 파일을 저장할 수 있다. 본 명세서에 따른 웹 사이트 채증 방법은 스크립트 동작 전/후 HTML 파일을 따로 저장한다.In the next step S40, the processor may store the HTML file after the script operation of the website. The website verification method according to the present specification separately stores the HTML file before/after the script operation.

도 3은 스크립트 동작 전 HTML의 예시이다.3 is an example of HTML before script operation.

도 4는 스크립트 동작 후 HTML의 예시이다.4 is an example of HTML after script operation.

도 3 및 도 4는 동일한 웹사이트에서 채증한 HTML 파일의 일부이다. 도 3과 도 4의 (a)를 비교하면, 스크립트 동작 전과 동작 후 HTML 파일의 일부가 변경된 것을 확인할 수 있다. 도 4의 (a)에서 박스로 표시된 부분이 변경된 부분이며, 도 4의 (b)를 참조하면, 변경된 부분의 상세 내용이다. 이와 같이, 일부 웹사이트는 정적 채증 방법에 대응하여 스크립트 동작 전에는 일부 내용을 감추도록 설계된 경우가 있다. 이러한 우회 방법을 고려하여 본 명세서에 따른 웹사이트 채증 방법은 스크립트 동작 전과 동작 후 각각 HTML 파일을 저장할 수 있다.3 and 4 are a part of an HTML file certified by the same website. Comparing FIGS. 3 and 4 (a), it can be seen that a part of the HTML file is changed before and after the script operation. The part indicated by a box in FIG. 4A is the changed part, and referring to FIG. 4B , it is the detailed content of the changed part. As such, some websites are designed to hide some content before the script operation in response to the static verification method. In consideration of such a bypass method, the website verification method according to the present specification may store HTML files before and after the script operation, respectively.

다시 도 2를 참조하면, 단계 S50에서, 프로세서는 스크립트 동작 후 웹페이지에 대해서 복수의 스크린샷을 메모리부에 저장시킬 수 있다. 상기 스크린샷은 미리 설정된 시간 간격으로 미리 설정된 시간동안 이루어질 수 있다.Referring back to FIG. 2 , in step S50 , the processor may store a plurality of screenshots for the web page after the script operation in the memory unit. The screenshot may be taken at a preset time interval for a preset time.

다음 단계 S60에서, 프로세서는 상기 스크립트 동작 후 HTML 파일에서 동적 컨텐츠를 식별할 수 있다. 상기 동적 컨텐츠란, 클릭이벤트, 마우스 오버 이벤트, 스크롤 이벤트 및 인터벌 이벤트와 같이 사용자의 특정 입력 또는 시간에 따라 변화하는 이벤트를 의미한다. 프로세서는 스크립트 함수를 이용하여 동적 컨텐츠를 식별할 수 있다. 자바스크립트에서는, 예를 들어, 클릭이벤트는 "click, a tag, href" 등의 함수를 이용하여 식별할 수 있고, 마우스 오버 이벤트는 "hover" 등의 함수를 이용하여 식별할 수 있고, 스크롤 이벤트는 "scroll" 등의 함수를 이용하여 식별할 수 있고, 인터벌은 "timeout, wait, interval, sleep, while(getTime()), for(getTime())" 등의 함수를 이용하여 식별할 수 있다.In the next step S60, the processor may identify the dynamic content in the HTML file after the script operation. The dynamic content means an event that changes according to a specific user input or time, such as a click event, a mouse-over event, a scroll event, and an interval event. The processor may identify the dynamic content using the script function. In JavaScript, for example, a click event can be identified using a function such as "click, a tag, href", and a mouse-over event can be identified using a function such as "hover", and a scroll event can be identified using functions such as "scroll", and intervals can be identified using functions such as "timeout, wait, interval, sleep, while(getTime()), for(getTime())" .

다음 단계 S70에서, 프로세서는 상기 식별된 동적 컨텐츠를 실행하고, 각 동적 컨텐츠마다 적어도 하나 이상의 스크린샷을 메모리부에 저장시킬 수 있다. 이때, 상기 동적 컨텐츠가 인터벌 이벤트인 경우, 프로세서는 상기 인터벌 이벤트와 관련된 시간 이후 또는 동안 복수의 스크린샷을 메모리부에 저장시킬 수 있다. 예를 들어, "wait" 함수의 경우, "wait" 함수 뒤에 문자열에서 숫자를 식별하고, 해당 숫자만큼 시간을 기다린 이후 스크린샷을 메모리부에 저장시킬 수 있다. 예를 들어, "while" 함수의 경우, "while" 함수 뒤에 문자열에서 숫자를 식별하고, 해당 숫자 시간동안 복수의 스크린샷을 메모리부에 저장시킬 수 있다.In the next step S70, the processor may execute the identified dynamic content, and store at least one or more screenshots for each dynamic content in the memory unit. In this case, when the dynamic content is an interval event, the processor may store a plurality of screenshots in the memory unit after or during a time related to the interval event. For example, in the case of the "wait" function, a number can be identified in the string after the "wait" function, and after waiting for the number of hours, the screen shot can be stored in the memory unit. For example, in the case of the "while" function, a number may be identified in a string after the "while" function, and a plurality of screenshots may be stored in the memory unit during the corresponding number time.

한편, 일부 스크립트는 브라우저와 호환성 문제를 가질 수 있다. 따라서, 본 명세서에 따른 웹사이트 채증 방법은 다양한 브라우저 엔진에 대해서 각각 실행시키고 각 브라우저 엔진을 실행했을 때마다 스크린샷을 각각 저장할 수 있다. 이를 위해, 단계 S80에서 프로세서는 모든 브라우저 엔진에 대해서 실행되었는지 판단할 수 있다. 아직 실행되지 않은 브라우저 엔진이 있는 경우(단계 S80의 'NO'), 상기 프로세서는 단계 S90으로 이행할 수 있다. 단계 S90에서 상기 프로세서는 복수의 브라우저 엔진 중 실행되지 않은 브라우저 엔진 하나를 선택하고, 단계 S10으로 이행할 수 있다. 이 경우, 프로세서는 단계 S10 내지 S90을 반복실행할 수 있다. 반면, 모든 브라우저 엔진이 실행된 경우(단계 S80의 'YES'), 프로세스는 종료될 수 있다.On the other hand, some scripts may have compatibility issues with browsers. Accordingly, the website verification method according to the present specification may be executed for various browser engines, and screen shots may be stored each time each browser engine is executed. To this end, in step S80, the processor may determine whether all browser engines have been executed. If there is a browser engine that has not yet been executed ('NO' in step S80), the processor may proceed to step S90. In step S90, the processor may select one browser engine that has not been executed among the plurality of browser engines, and proceed to step S10. In this case, the processor may repeat steps S10 to S90. On the other hand, when all browser engines are executed ('YES' in step S80), the process may be terminated.

상기 과정을 통해 저장된 스크린샷 이미지는 브라우저별로 이미지들이 병합될 수 있다. 또는 상기 스크린샷 이미지 중 이벤트 각각에 대해서 시계열 기반으로 병합되거나 스톱모션 데이터로 생성될 수 있다.Screenshot images stored through the above process may be merged with images for each browser. Alternatively, each event among the screenshot images may be merged on a time-series basis or generated as stop motion data.

상기 프로세서는 산출 및 다양한 제어 로직을 실행하기 위해 본 발명이 속한 기술분야에 알려진 마이크로프로세서, ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로, 레지스터, 통신 모뎀, 데이터 처리 장치 등을 포함할 수 있다. 또한, 상술한 제어 로직이 소프트웨어로 구현될 때, 상기 제어부는 프로그램 모듈의 집합으로 구현될 수 있다. 이 때, 프로그램 모듈은 상기 메모리 장치에 저장되고, 프로세서에 의해 실행될 수 있다.The processor may include a microprocessor, an application-specific integrated circuit (ASIC), other chipsets, logic circuits, registers, communication modems, data processing devices, etc. known in the art for executing calculations and various control logic. can In addition, when the above-described control logic is implemented in software, the control unit may be implemented as a set of program modules. In this case, the program module may be stored in the memory device and executed by the processor.

상기 컴퓨터프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C/C++, C#, JAVA, Python, 기계어 등의 컴퓨터 언어로 코드화 된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The computer program is C/C++, C#, JAVA, Python that a processor (CPU) of the computer can read through a device interface of the computer in order for the computer to read the program and execute the methods implemented as a program , may include code coded in a computer language such as machine language. Such code may include functional code related to a function defining functions necessary for executing the methods, etc., and includes an execution procedure related control code necessary for the processor of the computer to execute the functions according to a predetermined procedure. can do. In addition, this code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer should be referenced. have. In addition, when the processor of the computer needs to communicate with any other computer or server located remotely in order to execute the functions, the code uses the communication module of the computer to determine how to communicate with any other computer or server remotely. It may further include a communication-related code for whether to communicate and what information or media to transmit and receive during communication.

상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The storage medium is not a medium that stores data for a short moment, such as a register, a cache, a memory, etc., but a medium that stores data semi-permanently and can be read by a device. Specifically, examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, and an optical data storage device. That is, the program may be stored in various recording media on various servers accessible by the computer or in various recording media on the computer of the user. In addition, the medium may be distributed in a computer system connected to a network, and a computer-readable code may be stored in a distributed manner.

이상, 첨부된 도면을 참조로 하여 본 명세서의 실시예를 설명하였지만, 본 명세서가 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. As mentioned above, although the embodiments of the present specification have been described with reference to the accompanying drawings, those skilled in the art to which this specification belongs can realize that the present invention may be embodied in other specific forms without changing the technical spirit or essential features thereof. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

Claims (7)

(a) 프로세서가 브라우저 엔진을 구동시키고, 채증대상 웹사이트의 URL을 상기 브라우저 엔진에 입력하는 단계;
(b) 프로세서가 상기 웹사이트의 스크립트 동작 전 HTML 파일을 저장하는 단계;
(c) 프로세서가 상기 웹사이트의 스크립트 동작 후 HTML 파일을 저장하고, 복수의 웹페이지 스크린샷을 저장하는 단계;
(d) 프로세서가 상기 스크립트 동작 후 HTML 파일에서 동적 컨텐츠를 식별하는 단계; 및
(e) 프로세서가 상기 식별된 동적 컨텐츠를 실행하고, 각 동적 컨텐츠마다 적어도 하나 이상의 스크린샷을 저장하는 단계;를 포함하는 웹사이트 채증 방법.
(a) the processor driving the browser engine, and inputting the URL of the verification target website into the browser engine;
(b) storing, by the processor, an HTML file before the script operation of the website;
(c) storing, by the processor, an HTML file after the script operation of the website, and storing a plurality of webpage screenshots;
(d) the processor identifying dynamic content in the HTML file after the script operation; and
(e) the processor executing the identified dynamic content, and storing at least one screenshot for each dynamic content; website verification method comprising a.
청구항 1에 있어서,
상기 (d) 단계는 프로세서가 스크립트 함수를 이용하여 동적 컨텐츠를 식별하는 단계인 웹사이트 채증 방법.
The method according to claim 1,
The step (d) is a website verification method in which the processor identifies dynamic content using a script function.
청구항 1에 있어서,
상기 동적 컨텐츠는, 클릭이벤트, 마우스 오버 이벤트, 스크롤 이벤트 및 인터벌 이벤트 중 적어도 어느 하나인 웹사이트 채증 방법.
The method according to claim 1,
The dynamic content is at least one of a click event, a mouse-over event, a scroll event, and an interval event.
청구항 3에 있어서,
상기 동적 컨텐츠가 인터벌 이벤트인 경우,
상기 (e)단계는, 프로세서가 상기 인터벌 이벤트와 관련된 시간 이후 또는 동안 복수의 스크린샷을 저장하는 단계인 웹사이트 채증 방법.
4. The method according to claim 3,
If the dynamic content is an interval event,
The step (e) is a website verification method, wherein the processor stores a plurality of screenshots after or during a time related to the interval event.
청구항 1에 있어서,
상기 (a) 단계는 프로세서가 복수의 브라우저 엔진 중 어느 하나의 엔진을 선택하는 단계이고,
(f) 프로세서가 복수의 브라우저 엔진 중 선택되지 않은 브라우저 엔진에 대해서 단계 (a) 내지 (e)를 반복실행하는 단계;를 더 포함하는 웹사이트 채증 방법.
The method according to claim 1,
In step (a), the processor selects any one engine among a plurality of browser engines,
(f) the processor repeating steps (a) to (e) for a browser engine that is not selected among a plurality of browser engines; website verification method further comprising a.
컴퓨터에서 청구항 1 내지 청구항 5 중 어느 한 청구항에 따른 웹사이트 채증 방법의 각 단계들을 수행하도록 작성되어 컴퓨터로 독출 가능한 기록 매체에 기록된 컴퓨터프로그램.A computer program written in a computer to perform each step of the website verification method according to any one of claims 1 to 5 and recorded in a computer-readable recording medium. 메모리부; 및 브라우저 엔진을 구동시키고, 채증대상 웹사이트의 URL을 상기 브라우저 엔진에 입력하고, 상기 웹사이트의 스크립트 동작 전 HTML 파일을 상기 메모리부에 저장시키고, 상기 웹사이트의 스크립트 동작 후 HTML 파일을 상기 메모리부에 저장시키고, 복수의 웹페이지 스크린샷을 상기 메모리부에 저장시키고, 상기 스크립트 동작 후 HTML 파일에서 동적 컨텐츠를 식별하고, 상기 식별된 동적 컨텐츠를 실행시키고, 각 동적 컨텐츠마다 적어도 하나 이상의 스크린샷을 상기 메모리부에 저장시키는 프로세서;를 포함하는 웹사이트 채증 장치.memory unit; and driving a browser engine, inputting the URL of the website to be verified, into the browser engine, storing the HTML file before the script operation of the website in the memory unit, and storing the HTML file after the script operation of the website into the memory store in the unit, store a plurality of web page screenshots in the memory unit, identify dynamic content in the HTML file after the script operation, execute the identified dynamic content, and at least one screenshot for each dynamic content A website verification device comprising a; a processor for storing in the memory unit.
KR1020210146760A 2020-12-08 2021-10-29 Evidence gathering method for website with dynamic contents and links KR102419827B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200169999 2020-12-08
KR1020200169999 2020-12-08

Publications (2)

Publication Number Publication Date
KR20220081267A true KR20220081267A (en) 2022-06-15
KR102419827B1 KR102419827B1 (en) 2022-07-13

Family

ID=81987299

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210146760A KR102419827B1 (en) 2020-12-08 2021-10-29 Evidence gathering method for website with dynamic contents and links

Country Status (1)

Country Link
KR (1) KR102419827B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100705413B1 (en) 2005-08-19 2007-04-10 엔에이치엔(주) Desktop Search System and Method for Automatically Crawling Registered Web Page and Providing Search Result
KR20110107363A (en) * 2009-01-08 2011-09-30 인터내셔널 비지네스 머신즈 코포레이션 Method for server-side logging of client browser state through markup language
KR20150135168A (en) * 2015-11-13 2015-12-02 플러스기술주식회사 Method of detecting a plurality of terminals using a type of a browser and apparatus thererof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100705413B1 (en) 2005-08-19 2007-04-10 엔에이치엔(주) Desktop Search System and Method for Automatically Crawling Registered Web Page and Providing Search Result
KR20110107363A (en) * 2009-01-08 2011-09-30 인터내셔널 비지네스 머신즈 코포레이션 Method for server-side logging of client browser state through markup language
KR20150135168A (en) * 2015-11-13 2015-12-02 플러스기술주식회사 Method of detecting a plurality of terminals using a type of a browser and apparatus thererof

Also Published As

Publication number Publication date
KR102419827B1 (en) 2022-07-13

Similar Documents

Publication Publication Date Title
US20160065613A1 (en) System and method for detecting malicious code based on web
US20190146616A1 (en) Systems And Methods For Remote Tracking And Replay Of User Interaction With A Webpage
Lawson Web scraping with Python
US20180041530A1 (en) Method and system for detecting malicious web addresses
Ye et al. Droidfuzzer: Fuzzing the android apps with intent-filter tag
Hargreaves et al. An automated timeline reconstruction approach for digital forensic investigations
US9239774B2 (en) Classification of JavaScript code for debugging using just my code
KR20110107363A (en) Method for server-side logging of client browser state through markup language
JP5228943B2 (en) Minimum privilege violation detection program
JP2006185211A (en) Program analysis system, test execution device, and analysis method and program thereof
US20160171104A1 (en) Detecting multistep operations when interacting with web applications
Zhang et al. RClassify: classifying race conditions in web applications via deterministic replay
US20150143342A1 (en) Functional validation of software
JP2006190253A (en) Method for evaluating aspect of web page and its device
US20160034378A1 (en) Method and system for testing page link addresses
KR20220080703A (en) Method for analyzing a similarity of a website based on a keyword in script
CN107533544B (en) Element identifier generation
US9436669B1 (en) Systems and methods for interfacing with dynamic web forms
CN114398673A (en) Application compliance detection method and device, storage medium and electronic equipment
CN112231197A (en) Page testing method and device and storage medium
KR102419827B1 (en) Evidence gathering method for website with dynamic contents and links
WO2015149560A1 (en) Method and apparatus for displaying closed webpage tab and/or browser window
JP2019114076A (en) Information processing system, information processing method, information processing device, and program
CN114444487A (en) Data processing method, device, equipment and medium
WO2015062003A1 (en) User interface tester

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right