KR20230045208A - Device and method for collecting digital evidence - Google Patents
Device and method for collecting digital evidence Download PDFInfo
- Publication number
- KR20230045208A KR20230045208A KR1020210127781A KR20210127781A KR20230045208A KR 20230045208 A KR20230045208 A KR 20230045208A KR 1020210127781 A KR1020210127781 A KR 1020210127781A KR 20210127781 A KR20210127781 A KR 20210127781A KR 20230045208 A KR20230045208 A KR 20230045208A
- Authority
- KR
- South Korea
- Prior art keywords
- file
- dwt
- digital evidence
- hash value
- digital
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000003068 static effect Effects 0.000 claims description 32
- 238000012795 verification Methods 0.000 claims description 24
- 238000005516 engineering process Methods 0.000 claims description 17
- 238000007689 inspection Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 241000234282 Allium Species 0.000 description 7
- 235000002732 Allium cepa var. cepa Nutrition 0.000 description 7
- 230000002776 aggregation Effects 0.000 description 7
- 238000004220 aggregation Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013497 data interchange Methods 0.000 description 2
- 230000037406 food intake Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000007790 scraping Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000005641 tunneling Effects 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 개시의 다양한 실시예들은 블록체인 기술을 기반으로 디지털 증거를 수집하는 장치 및 방법에 관한 것이다.Various embodiments of the present disclosure relate to an apparatus and method for collecting digital evidence based on blockchain technology.
대다수의 웹페이지는 정적 콘텐츠와 동적 콘텐츠를 함께 사용하고 있다. 상기 정적 콘텐츠는 누가 언제 서버에 요청하더라도 동일하게 내용을 보여주는 데이터를 말한다. 상기 동적 콘텐츠는 누가 언제 어떻게 서버에 요청했는지에 따라 화면에 보여지는 웹페이지가 달라지는 데이터를 말한다. 상기 동적 콘텐츠는, 예를 들어, 사용 패턴에 따라 추천하는 광고, 맞춤 채널, 어느 장소에서 접속했는지에 따라 달라지는 인터넷 지도와 같이 사용자별 맞춤 정보일 수 있다. Most web pages use a combination of static and dynamic content. The static content refers to data that shows the same content regardless of who requests the server at any time. The dynamic content refers to data in which a web page displayed on a screen changes depending on who requests the server when and how. The dynamic content may be, for example, customized information for each user, such as an advertisement recommended according to a usage pattern, a customized channel, and an internet map that changes depending on a location from which the user accesses the dynamic content.
블록체인 기술은 정보를 수정할 수 없도록 데이터를 블록으로 만들고 각 블록을 체인으로 연결한 분산 컴퓨팅 기술로, 데이터를 안전하게 저장하고 관리할 수 있는 기술 중 하나이다. 상기 블록체인 기술을 위한 기본 구조는 블록을 순차적으로 연결한 블록 모음의 형태로, P2P (peer to peer) 네트워크를 기반으로 한다. 네트워크 참여자는 일정 시간 동안 거래 정보를 서로 교환, 확인 및/또는 검증하는 과정을 거쳐, 서로 동의한 거래 정보들만 하나의 블록으로 만들 수 있다. 상기 네트워크 참여자는 새로 만들어진 블록을 이전 블록체인에 연결하고, 그 사본을 만들어 각 네트워크 참여자의 디지털 장비에 분산하여 저장할 수 있다. 상기 네트워크 참여자는 안전한 거래 정보 교환을 위해, 해시 함수, 디지털 서명 또는 합의 알고리즘과 같은 기술을 사용할 수 있다. 특정되지 않은 다양한 길이의 데이터는 해시 함수를 거치면 일정한 길이의 문자열로 변환될 수 있다. 상기 해시 함수의 입력이 되는 원본 데이터는 조금의 수정으로도 해시 값이 완전히 달라지므로, 위조 또는 변조 판별이 용이할 수 있다. 상기 해시 함수는 단방향 변환이기 때문에, 해시 함수의 결과물인 해시 값을 이용해서 입력 값인 원본 데이터를 복원할 수 없다. 블록체인 기술은 해시 값을 이용해서 블록에 서명하고, 이전 블록의 해시 값을 다음 블록에 기록함으로써, 체인 형태의 연결 리스트를 유지할 수 있다. 상기 블록체인 기술을 기반으로 만들어진 특정 블록은 다른 블록들에 연결되어 있어, 위조 또는 변조가 용이하지 않다. 이러한 이유로, 블록체인 기술은 데이터 원본에 대한 무결성 증명이 요구되는 다양한 공공 영역 및 민간 영역에 활용될 수 있다.Blockchain technology is a distributed computing technology that makes data into blocks and connects each block with a chain so that information cannot be modified. It is one of the technologies that can safely store and manage data. The basic structure for the blockchain technology is in the form of a block collection in which blocks are sequentially connected, and is based on a peer to peer (P2P) network. Network participants go through a process of exchanging, verifying, and/or validating transaction information for a certain period of time, and only transaction information that has been mutually agreed upon can be made into one block. The network participant can connect the newly created block to the previous block chain, make a copy of it, and distribute and store it in the digital equipment of each network participant. The network participants may use technologies such as hash functions, digital signatures, or consensus algorithms for secure transaction information exchange. Data of various lengths that are not specified may be converted into strings of a certain length by passing through a hash function. Since the hash value of the original data, which is the input of the hash function, is completely changed even with a slight modification, forgery or falsification can be easily determined. Since the hash function is a one-way conversion, original data, which is an input value, cannot be restored using a hash value that is a result of the hash function. Blockchain technology can maintain a linked list in the form of a chain by signing a block using a hash value and recording the hash value of the previous block in the next block. Since a specific block made based on the blockchain technology is connected to other blocks, it is not easy to forge or falsify. For this reason, blockchain technology can be used in various public and private areas that require proof of integrity for data sources.
디지털 증거는 디지털 형태로 저장되거나 전송되는 증거로서 가치를 가지는 정보이다. 물리적 증거와는 달리 눈에 보이지 않지만 전자 장치에 저장되어 있는 파일, 이미지, 영상, 음향 등과 네트워크를 통해 교환되는 네트워크 패킷 등이 있다. Digital evidence is information that has value as evidence stored or transmitted in digital form. Unlike physical evidence, there are files, images, videos, sounds, and network packets exchanged through networks that are invisible but stored in electronic devices.
디지털 증거는 다른 증거와 달리 삭제와 변경이 용이하다. 파일을 열어보는 것만으로도 의도하지 않았지만 파일의 속성이 변경되어, 디지털 증거로서 동일성과 무결성이 훼손될 수 있다. 특히 웹페이지에 삽입된 동적 콘텐츠로 인해, 동일한 웹페이지에서 입수한 디지털 증거라 하더라도 접속시마다 화면에 보여지는 내용이 상이해질 수 있으므로, 입수한 디지털 증거의 진본성이 의심될 수 있다. 즉 불법 콘텐츠의 본질적 내용은 바뀌지 않았음에도 사소한 변화로 인해 위조 또는 변조된 것으로 간주될 수 있다.Unlike other evidence, digital evidence is easy to delete and change. Just opening a file can unintentionally change the properties of a file, compromising its identity and integrity as digital evidence. In particular, due to the dynamic content inserted into the web page, even if the digital evidence is obtained from the same web page, the contents shown on the screen may be different each time access is made, so the authenticity of the obtained digital evidence may be questioned. In other words, even though the essential content of illegal content has not changed, it can be regarded as forged or altered due to minor changes.
또한 디지털 증거는 증거 대상 획득에서 분석, 파기의 모든 단계에서 신뢰할 수 있어야 하는데, 모든 과정에서 사용되는 하드웨어 및 소프트웨어의 신뢰가 우선 이루어져야 한다. In addition, digital evidence must be reliable in all stages of evidence acquisition, analysis, and destruction, and trust in hardware and software used in all processes must be prioritized.
본 개시의 다양한 실시 예들은, 증거 능력을 인정받을 수 있도록 디지털 정보를 수집하는 디지털 증거 수집 장치 및 방법을 제공할 수 있다.Various embodiments of the present disclosure may provide a digital evidence collection apparatus and method for collecting digital information so that evidence capability can be recognized.
본 개시의 다양한 실시 예들은, 불법 웹페이지에 포함된 동적 콘텐츠를 제거한 후, 블록체인 기술을 사용하여 디지털 증거를 수집하는 디지털 증거 수집 장치 및 방법을 제공한다.Various embodiments of the present disclosure provide a digital evidence collection apparatus and method for collecting digital evidence using blockchain technology after removing dynamic content included in an illegal webpage.
다양한 실시 예들은, 디지털 정보를 블록체인에 기록함에 있어서, 웹 수집 노드 중 과반수 이상의 수집 노드에서 동일한 디지털 정보를 수집할 수 있도록 하는 디지털 증거 수집 장치 및 방법을 제공한다. Various embodiments provide a digital evidence collection device and method that enables the same digital information to be collected from more than half of web collection nodes in recording digital information in a blockchain.
본 개시의 일 실시예에 따르면 디지털 증거 수집 장치는, 웹서버로부터 적어도 하나의 웹페이지를 화면에 표시하기 위한 제1 웹페이지 데이터를 수집하고, 상기 제1 웹페이지 데이터에 포함된 동적 콘텐츠 데이터를 제거하는 파싱(parsing)을 수행하여 제1 디지털 증거 파일을 획득하며, 상기 제1 디지털 증거 파일 및 상기 제1 디지털 증거 파일을 획득하기 위해 고려된 참조 정보를 포함하도록 심층 웹 포맷 (DWT: Deep Web Tar) 파일을 생성하도록 구성된, 적어도 하나의 DWT 생성 노드와 상기 DWT 파일에 포함된 상기 참조 정보 중 하나인 접속 정보를 사용하여 상기 웹서버로부터 제2 웹페이지 데이터를 수집하고, 상기 참조 정보 중 하나인 파싱룰 파일을 기반으로 상기 제2 웹페이지 데이터에 포함된 동적 콘텐츠 데이터를 제거하는 파싱을 수행하여 동적 콘텐츠가 제거된 하이퍼텍스트 마크업 언어 (HTML: HyperText Markup Language) 파일을 획득하며, 상기 HTML 파일을 기반으로 상기 DWT 파일에 포함된 상기 제1 디지털 증거 파일의 위조 또는 변조 여부를 검사하고, 상기 검사 결과를 기반으로, 상기 DWT 파일의 위조 또는 변조 여부를 검증하도록 구성된 복수의 수집 노드들 및 상기 DWT 파일 중 상기 복수의 수집 노드들에 의해 위조 또는 변조되지 않았음이 검증된 DWT 파일 또는 상기 검증된 DWT 파일의 해시 값 중 적어도 하나를 블록체인 기술을 사용한 블록화에 의해 만들어진 블록에 저장하도록 구성된 블록 생성 노드를 포함하며, 여기서, 상기 DWT 파일에 포함된 상기 참조 정보는, 상기 적어도 하나의 웹페이지에 존재하는 정적 파일을 포함하는 제2 디지털 증거 파일, 상기 적어도 하나의 웹페이지에 포함된 동적 콘텐츠를 제거하도록 구성된 상기 파싱룰 파일 및 상기 적어도 하나의 웹페이지에 대한 메타데이터를 포함하고, 상기 메타데이터는, 상기 제1 디지털 증거 파일의 해시 값, 상기 제2 디지털 증거 파일에 포함된 상기 정적 파일의 해시 값, 상기 파싱룰 파일의 해시 값, 상기 제1 디지털 증거 파일의 생성 시간 정보 및 상기 적어도 하나의 웹페이지의 접속 주소인 상기 접속 정보를 포함한다.According to an embodiment of the present disclosure, a digital evidence collection device collects first webpage data for displaying at least one webpage on a screen from a web server, and collects dynamic content data included in the first webpage data. A deep web format (DWT: Deep Web Tar) collects second web page data from the web server using at least one DWT generation node configured to generate a file and access information that is one of the reference information included in the DWT file, and one of the reference information Based on the parsing rule file, parsing is performed to remove dynamic content data included in the second web page data to obtain a HyperText Markup Language (HTML) file from which dynamic content is removed, and the HTML A plurality of collecting nodes configured to inspect whether the first digital evidence file included in the DWT file is forged or falsified based on a file, and verify whether the DWT file is falsified or tampered with based on the inspection result; and configured to store at least one of a DWT file verified that it has not been forged or tampered with by the plurality of collection nodes among the DWT files or a hash value of the verified DWT file in a block created by blockization using blockchain technology and a block generating node, wherein the reference information included in the DWT file includes a second digital evidence file including a static file existing in the at least one webpage, and a dynamic file included in the at least one webpage. metadata for the at least one webpage and the parsing rule file configured to remove content, the metadata including: a hash value of the first digital evidence file; and the hash value of the file, the hash value of the parsing rule file, creation time information of the first digital evidence file, and the access information that is the access address of the at least one web page.
또한, 본 개시의 일 실시예에 따르면 장치가 디지털 증거를 수집하는 방법은, 웹서버로부터 수집한 적어도 하나의 웹페이지를 화면에 표시하기 위한 제1 웹페이지 데이터가 포함하고 있는 동적 콘텐츠 데이터를 제거하는 파싱(parsing)을 수행하여, 제1 디지털 증거 파일을 획득하는 동작, 상기 제1 디지털 증거 파일 및 상기 제1 디지털 증거 파일을 획득하기 위해 고려된 참조 정보를 포함하도록 심층 웹 포맷 (DWT: Deep Web Tar) 파일을 생성하는 동작, 상기 생성된 DWT 파일에 포함된 상기 참조 정보 중 하나인 접속 정보를 사용하여 상기 웹서버로부터 제2 웹페이지 데이터를 수집하는 동작, 상기 수집한 제2 웹페이지 데이터에 포함된 동적 콘텐츠 데이터를 제거하는 파싱을 상기 참조 정보 중 하나인 파싱룰 파일을 기반으로 수행하여, 동적 콘텐츠가 제거된 하이퍼텍스트 마크업 언어 (HTML: HyperText Markup Language) 파일을 획득하는 동작, 상기 HTML 파일을 기반으로 상기 DWT 파일에 포함된 상기 제1 디지털 증거 파일의 위조 또는 변조 여부를 검사하는 동작, 상기 검사 결과를 기반으로, 상기 DWT 파일의 위조 또는 변조 여부를 검증하는 동작, 상기 DWT 파일 중 상기 위조 또는 상기 변조되지 않았음이 검증된 DWT 파일 또는 상기 검증된 DWT 파일의 해시 값 중 적어도 하나를 블록체인 기술을 사용한 블록화에 의해 만들어진 블록에 저장하는 동작을 포함하며, 여기서, 상기 DWT 파일에 포함된 상기 참조 정보는, 상기 적어도 하나의 웹페이지에 존재하는 정적 파일을 포함하는 제2 디지털 증거 파일, 상기 적어도 하나의 웹페이지에 포함된 동적 콘텐츠를 제거하도록 구성된 상기 파싱룰 파일 및 상기 적어도 하나의 웹페이지에 대한 메타데이터를 포함하고, 상기 메타데이터는, 상기 제1 디지털 증거 파일의 해시 값, 상기 제2 디지털 증거 파일에 포함된 상기 정적 파일의 해시 값, 상기 파싱룰 파일의 해시 값, 상기 제1 디지털 증거 파일의 생성 시간 정보 및 상기 적어도 하나의 웹페이지의 접속 주소인 상기 접속 정보를 포함한다.In addition, according to an embodiment of the present disclosure, a method for collecting digital evidence by a device removes dynamic content data included in first webpage data for displaying at least one webpage collected from a web server on a screen. An operation of obtaining a first digital evidence file by performing parsing to include the first digital evidence file and reference information considered for obtaining the first digital evidence file in a deep web format (DWT: Deep Web Tar) file, collecting second web page data from the web server using access information, which is one of the reference information included in the generated DWT file, and collecting the second web page data An operation of obtaining a HyperText Markup Language (HTML) file from which dynamic content is removed by performing parsing to remove dynamic content data included in the reference information based on a parsing rule file, which is one of the reference information; An operation of checking whether the first digital evidence file included in the DWT file is forged or falsified based on an HTML file, an operation of verifying whether or not the DWT file is forged or falsified based on the inspection result, and the DWT file and storing at least one of a DWT file verified to have not been forged or tampered with or a hash value of the verified DWT file in a block created by blockization using blockchain technology, wherein the DWT file The reference information included in the second digital evidence file including a static file existing in the at least one webpage, the parsing rule file configured to remove dynamic content included in the at least one webpage, and the at least one It includes metadata about one web page, wherein the metadata includes a hash value of the first digital evidence file, a hash value of the static file included in the second digital evidence file, and a hash value of the parsing rule file. , the creation time information of the first digital evidence file and the access information that is the access address of the at least one web page.
본 개시에서 제안된 다양한 실시예에 따라서, 블록체인 기술을 적용하여 동적 콘텐츠를 제거한 디지털 정보를 디지털 증거로 수집함으로써, 증거로의 신뢰성을 확보할 수 있을 뿐만 아니라, 증거로의 무결성 또는 동일성을 보장할 수 있다.According to various embodiments proposed in the present disclosure, by collecting digital information from which dynamic content is removed by applying block chain technology as digital evidence, it is possible to secure reliability as evidence, as well as ensure integrity or identity of evidence. can do.
도 1은 본 개시의 다양한 실시예에 따른 디지털 증거 수집 장치의 전체 구성을 도시한다.
도 2는 본 개시의 다양한 실시예에 따른 심층 웹 포맷 (DWT: Deep Web Tar) 파일의 구조이다.
도 3은 본 개시의 다양한 실시예에 따라 DWT 파일의 예시를 도시한다.
도 4는 본 개시의 다양한 실시예에 따라, 웹페이지에서 동적 콘텐츠를 제거한 결과를 도시한다.
도 5는 본 개시의 다양한 실시예에 따라, 디지털 증거를 수집하고 검증하여 블록체인에 저장하는 과정을 대략적으로 나타내는 흐름도이다.
도 6a와 도 6b는 본 개시의 다양한 실시예에 따라, 수집 노드가 DWT 파일의 무결성을 검증하는 동작을 설명하는 흐름도이다.
도 7은 본 개시의 다양한 실시예에 따라 블록 생성 과정을 나타내는 흐름도이다.
도 8은 본 개시의 다양한 실시예에 따른 블록 구조이다.
도 9는 본 개시의 다양한 실시예에 따른 블록 구조 예시이다.1 illustrates the overall configuration of a digital evidence collection device according to various embodiments of the present disclosure.
2 is a structure of a Deep Web Tar (DWT) file according to various embodiments of the present disclosure.
3 illustrates an example DWT file according to various embodiments of the present disclosure.
4 illustrates a result of removing dynamic content from a webpage according to various embodiments of the present disclosure.
5 is a flowchart schematically illustrating a process of collecting, verifying, and storing digital evidence in a blockchain according to various embodiments of the present disclosure.
6A and 6B are flowcharts illustrating operations of verifying integrity of a DWT file by an ingestion node according to various embodiments of the present disclosure.
7 is a flowchart illustrating a block generation process according to various embodiments of the present disclosure.
8 is a block structure according to various embodiments of the present disclosure.
9 is an example of a block structure according to various embodiments of the present disclosure.
이하 첨부된 도면을 참고하여 다양한 실시예들을 상세히 설명한다. 후술될 설명에서, 상세한 구성 및 구성 요소와 같은 특정 세부 사항은 단지 본 개시의 실시예들에 대한 전반적인 이해를 돕기 위해 제공될 것이다. 따라서, 본 명세서에 설명된 실시예들의 다양한 변경 및 수정이 본 개시의 범위 및 사상을 벗어나지 않고 이루어질 수 있음이 당업자에게 명백해야 할 것이다. 또한, 잘 알려진 기능 및 구성에 대한 설명은 명확성과 간결성을 위해 생략될 수 있다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. In the following description, specific details such as detailed configurations and elements are provided merely to facilitate a general understanding of embodiments of the present disclosure. Accordingly, it should be apparent to those skilled in the art that various changes and modifications of the embodiments described herein may be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and structures may be omitted for clarity and conciseness.
도 1은 본 개시의 다양한 실시예에 따른 디지털 증거 수집 장치의 전체 구성을 도시한다.1 illustrates the overall configuration of a digital evidence collection device according to various embodiments of the present disclosure.
도 1을 참조하면, 일 실시예에 따른, 디지털 증거 수집 장치(100)는 적어도 하나의 DWT(Deep Web Tar) 생성 노드(110), 복수의 수집 노드(120) 및 적어도 하나의 블록 생성 노드(130)를 포함할 수 있다. Referring to FIG. 1, according to an embodiment, a digital
일 실시예에 의하면, DWT 생성 노드(110), 수집 노드(120), 블록 생성 노드(130)는 P2P 네트워크(140)의 피어(Peer)일 수 있다. 상기 P2P 네트워크(140)는 집중화된 서비스 개념 없이, 분산 자원의 공유를 목적으로 동등한 자격을 가진 자율적 객체로 이루어진 자율 구성 시스템이다.According to an embodiment, the
일 실시예에 의하면, DWT 생성 노드(110)와 수집 노드(120)는 블록 생성 노드(130)와 다른 네트워크에서 동작할 수 있다. 상기 블록 생성 노드(130)는 블록체인 안에 포함될 수 있다. 상기 DWT 생성 노드(110)와 상기 수집 노드(120)는 블록체인 바깥에 있는 별도의 레이어(Layer)에서 DWT 파일을 생성하고, 검증한 뒤, 그 결과를 상기 블록체인에 기록하는 방식으로 동작하여 속도와 확장성을 개선할 수 있다.According to one embodiment, the DWT
일 실시예에 의하면, DWT 생성 노드(110)는 수집 노드(120)와 블록 생성 노드(130)가 속한 네트워크와 다른 네트워크에서 동작할 수 있다.According to an embodiment, the
일 실시예에 따르면, P2P 네트워크(140)는 WiFi(Wireless Fidelity), LAN(Local Area Network), WAN(Wide Area Network), 인터넷과 같은 네트워크 중 하나일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다. 상기 P2P 네트워크(140)는 이더넷, GSM(Global System for Mobile Communications), EDGE(Enhanced Data GSM Environment), CDMA(Code Division Multiple Access), TDMA(Time Division Multiplexing Access), 5G, LTE(LTE Advanced), LTE-A(LTE Advance), 블루투스, VoIP, WiMAX, WiBro(Wireless Broadband)와 같은 임의의 다양한 유선 또는 무선 통신 프로토콜을 이용하여 구현될 수 있다. 상기 P2P 네트워크(140)는 허브, 브리지, 라우터, 스위치 또는 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 상기 P2P 네트워크(140)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 상기 P2P 네트워크(140)에서의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 상기 P2P 네트워크(140)는 사물 등 분산된 구성 요소들 간에 정보를 주고받아 처리하는 IoT(Internet of Things, 사물인터넷) 망을 지원할 수 있다.According to an embodiment, the
일 실시예에 의하면, DWT 생성 노드(110), 수집 노드(120), 블록 생성 노드(130)는 물리적으로 같은 전자 기기에서 동작할 수 있다. 예를 들어, DWT 생성 노드(110a)와 수집 노드(120a)가 물리적으로 같은 전자 기기에서 동작할 수 있고, 수집 노드(120b)와 블록 생성 노드(130b)가 물리적으로 같은 전자 기기에서 동작할 수 있다. 예를 들어, DWT 생성 노드(110c), 수집 노드(120c) 및 블록 생성 노드(130c)가 물리적으로 같은 전자 기기에서 동작할 수 있다. 상기 전자 기기는 다양한 형태의 컴퓨팅 및 통신 기능 등을 수행할 수 있는 기기를 포함할 수 있다. 상기 전자 기기는, 예를 들어, 데스크 탑 컴퓨터, 스마트 폰, 태블릿 PC(personal computer), 랩-탑(laptop), PDA(personal digital assistants) 또는 웨어러블 장치(wearable device)일 수 있다.According to an embodiment, the
일 실시예에 의하면, DWT 생성 노드(110)는 소정의 이벤트가 발생하는 경우, 동작을 개시할 수 있다. 상기 소정의 이벤트는, 예를 들어, 수사관/수사기관 또는 자연인 또는 불법 콘텐츠 식별기에 의한, 불법 콘텐츠에 대한 제보일 수 있다. 상기 DWT 생성 노드(110)는 이와 같은 이벤트를 수신하여 불법 콘텐츠 수집을 시작할 수 있다. According to one embodiment, the
일 실시예에 의하면, DWT 생성 노드(110)는 사용자 입력을 획득할 수 있다. 상기 DWT 생성 노드(110)는 사용자 입력에 기초하여, 불법 콘텐츠가 게재된 웹페이지에 대한 정보를 획득하고, 상기 불법 콘텐츠가 게재된 웹페이지의 인터넷 주소에 접근하여, DWT 파일을 만드는데 필요한 작업을 수행할 수 있다. 상기 DWT 파일의 구조는 도 2를 참조하여 하기에서 후술될 것이다.According to one embodiment, the
일 실시예에 의하면, DWT 파일은, 블록 생성 및 검증을 위하여 P2P 네트워크(140)를 통하여 전파될 수 있다.According to one embodiment, the DWT file may be propagated through the
일 실시예에 의하면, DWT 파일은 가십 프로토콜(Gossip Protocol)을 사용하여 전파될 수 있다. 상기 가십 프로토콜은 소문이 확산되는 방식을 기반으로 하는데, 네트워크의 한 노드가 이웃 노드로 정보(가십)를 전달하는 방식이다. 일부 분산 시스템은 데이터가 P2P 네트워크(140) 모든 구성원에게 배포되도록 가십 프로토콜을 사용한다. According to one embodiment, DWT files may be propagated using the Gossip Protocol. The gossip protocol is based on a rumor spreading method, in which one node of a network transmits information (gossip) to a neighboring node. Some distributed systems use gossip protocols so that data is distributed to all members of the peer-to-
일 실시예에 의하면, 수집 노드(120)는 가십 프로토콜을 사용하여 DWT 파일을 획득할 수 있다.According to one embodiment, the
일 실시예에 의하면, DWT 생성 노드(110)는 DWT 파일의 용량을 고려하여, 상기 DWT 파일 대신 상기 DWT 파일을 다운로드 받을 수 있는 링크 정보를 배포할 수 있다.According to an embodiment, the
일 실시예에 의하면, 수집 노드(120)는 DWT 파일을 압축 해제하여, 상기 DWT 파일내에 묶여 있는 제1 디지털 증거 파일, 제2 디지털 증거 파일, 파싱룰 파일, DWT 메타데이터를 추출할 수 있다. According to an embodiment, the
일 실시예에 의하면, 수집 노드(120)는 DWT 메타데이터로부터 불법 콘텐츠가 게재된 웹페이지의 인터넷 주소를 획득할 수 있다. 상기 수집 노드(120)는 상기 획득한 인터넷 주소에 접근하여, 불법 콘텐츠를 수집할 수 있다.According to one embodiment, the
일 실시예에 의하면, 수집 노드(120)는 불법 콘텐츠를 수집하는데 있어서, 특수 브라우저를 사용할 수 있다. 많은 불법 웹사이트는 익명성이 높고, 일반 검색 엔진으로는 접근하지 못하는 다크 웹(Dark Web) 또는 딥 웹(Deep Web)을 통해 서비스되고 있다. 상기 다크 웹이나 상기 딥 웹은 전용 브라우저, 예컨대 TOR (The Onion Router) 브라우저를 통해서 접근이 가능하다. 일반 웹(Surface Web)에서의 응답 속도와 비교하면, 상기 다크 웹의 응답 속도는 상대적으로 느리다. 상기 다크 웹의 느린 응답 속도는 상기 다크 웹에 접근하기 위하여 필수적으로 사용해야 하는 어니언 라우팅(Onion Routing) 때문이다. 상기 어니언 라우팅에서는 클라이언트가 서버와 직접 통신하지 않고, 다른 클라이언트를 터널링(Tunneling)하여 통신한다.According to one embodiment, the
일 실시예에 의하면, 수집 노드(120)는 불법 콘텐츠를 수집할 때 사용하는 웹 브라우저의 세션 타임 아웃 시간을 기본값보다 상대적으로 짧게 설정할 수 있다. 불법 웹페이지들은 추적을 피하기 위해, 일정 기간만 서비스를 하거나, 비정기적으로 서비스를 하고, 인터넷 주소를 수시로 변경하는 특성이 있다. 이러한 특성상 이미 입수한 불법 콘텐츠의 인터넷 주소에 맞는 서버를 찾지 못하는 경우가 발생할 수 있는데, 이 때도 상기 수집 노드(120)의 웹 브라우저는 세션 타임 아웃의 기본값으로 설정된 시간이 경과할 때까지 해당 서버로부터의 응답을 기다리게 된다. 상기 수집 노드(120)의 웹 브라우저의 응답 대기 시간을 단축하여 설정해 놓으면, 접근 가능한 주소와 불가능한 주소를 신속히 판단하여, 수집 속도를 단축시킬 수 있다.According to one embodiment, the
일 실시예에 의하면, 수집 노드(120)는 DWT 메타데이터에서 획득한 불법 웹페이지의 인터넷 주소에 접근하여, 상기 불법 웹페이지를 다운로드하고, 상기 다운로드한 불법 웹페이지에 DWT 파일에 포함되어 있는 파싱룰 파일을 적용하여, 동적 콘텐트가 제거된 HTML 파일을 생성할 수 있다. According to an embodiment, the
일 실시예에 의하면, 수집 노드(120)는 동적 콘텐츠가 제거된 HTML 파일의 해시 값과 DWT 파일에 포함되어 있는 제1 디지털 증거 파일의 해시 값을 각각 산출할 수 있다. 상기 수집 노드(120)는 상기 동적 콘텐츠가 제거된 HTML 파일의 해시 값, 상기 DWT 파일에 포함되어 있는 제1 디지털 증거 파일의 해시 값 및 DWT 메타데이터에서 획득한 “HTMLHash”속성 값을 비교하여 세개의 해시 값들이 일치하지 않으면, DWT 파일이 가용하지 않다고 판단할 수 있다. 상기 수집 노드(120)는 불법 웹페이지에서 수집한 정적 파일의 해시 값과 상기 DWT 메타데이터에서 획득한 “StaticHash”속성 값을 비교하여 일치하지 않으면, 상기 DWT 파일이 가용하지 않다고 판단할 수 있다. 상기 수집 노드(120)는 상기 DWT 파일에 포함되어 있는 파싱룰 파일의 해시 값을 산출하여, 상기 DWT 메타데이터에서 획득한 “ParseHash”속성 값과 비교하여 일치하지 않으면, 상기 DWT 파일이 가용하지 않다고 판단할 수 있다. According to an embodiment, the collecting
상기 수집 노드(120)는 상기 DWT 파일에 포함되어 있는 제1 디지털 증거 파일의 생성 시간을 획득하여 상기 DWT 메타데이터에서 획득한 “Datetime”속성 값과 비교하여 일치하지 않으면, 상기 DWT 파일이 가용하지 않다고 판단할 수 있다. The collecting
일 실시예에 의하면, 수집 노드(120)는 일정 시간 동안 P2P 네트워크(140)에 기여한 수집 노드(120)를 검증 노드로 승격하거나, 또는 관리자를 검증 노드로 지정하여 DWT 파일을 검증할 수 있다.According to an embodiment, the
자세한 검증 절차에 대하여는 이하 도 6a와 도 6b를 참조하여 개념적으로 후술한다.A detailed verification procedure will be conceptually described below with reference to FIGS. 6A and 6B.
일 실시예에 의하면, 블록 생성 노드(130)는 블록체인 시스템에 노드(node)로서 참여할 수 있다.According to one embodiment, the
일 실시예에 의하면, DWT 생성 노드(110)와 수집 노드(120)도 블록체인 시스템에 노드(node)로서 참여할 수 있다.According to one embodiment, the
일 실시예에 의하면, 블록체인 시스템은 수사를 위한 허가형(Permissioned) 블록체인일 수 있다. 상기 블록체인 시스템은 블록체인에 참여하는 노드의 참여 제한 여부에 따라 비허가형(Permissionless) 블록체인과 허가형(Permissioned) 블록체인으로 나눌 수 있다. 상기 비허가형 블록체인은 퍼블릭(Public) 블록체인으로 불릴 수 있다. 상기 허가형 블록체인은 운영 방법에 따라 프라이빗(Private) 블록체인 또는 컨소시움(Consortium) 블록체인으로 구분될 수 있다. 상기 비허가형 블록체인에서는 보상(Incentive)을 받고자 다수의 노드가 블록을 생성하기 위해 서로 경쟁하고, 상기 생성된 블록에 대하여 작업 증명 기반의 합의 알고리즘을 사용할 수 있다. 상기 허가형 블록체인에서는 비허가형 블록체인 시스템에서 사용되는 합의 알고리즘과 성격이 다른 합의 알고리즘이 적용될 수 있다. 상기 허가형 블록체인에서는 블록을 생성할 수 있는 자격을 가진 노드를 미리 정하여 놓고, 그 노드들로 구성된 위원회를 구성하여, 그 위원회의 멤버들 간의 합의를 통해 하나의 합의된 블록을 생성하고, 이를 다른 노드로 전파하는 방식을 사용하는 것도 가능하다.According to one embodiment, the blockchain system may be a permissioned blockchain for investigation. The blockchain system can be divided into a permissionless blockchain and a permissioned blockchain depending on whether or not the participation of nodes participating in the blockchain is restricted. The permissionless blockchain may be called a public blockchain. The permissioned blockchain may be classified as a private blockchain or a consortium blockchain according to an operating method. In the permissionless blockchain, a plurality of nodes may compete with each other to generate a block in order to receive an incentive, and a proof-of-work based consensus algorithm may be used for the generated block. In the permissioned blockchain, a consensus algorithm different in nature from that used in the non-permissioned blockchain system may be applied. In the permissioned blockchain, a node with the qualification to create a block is pre-determined, a committee composed of the nodes is formed, and a consensus block is created through an agreement between the members of the committee. It is also possible to use a method of propagating to other nodes.
일 실시예에 의하면, 블록 생성 노드(130)는 블록체인 노드들 간의 네트워크를 모니터링하고, DWT 파일이 가용한 것으로 합의되면, 상기 DWT 파일을 기존 블록에 추가하거나, 새로운 블록을 생성하고, 상기 생성한 블록을 블록체인에 결합하여 저장하고, 적어도 하나의 타 블록체인 노드와 상기 블록 데이터를 공유할 수 있다. 다른 실시예에 의하면 네트워크 블록 생성 노드(130)는 네트워크 과부하를 고려하여 DWT 파일 대신 DWT 파일의 해시 값 및/또는 DWT 파일의 링크 정보를 블록데이터로 저장할 수 있다.According to one embodiment, the
도 2는 본 개시의 다양한 실시예에 따른 DWT 파일의 구조이다.2 is a structure of a DWT file according to various embodiments of the present disclosure.
도 2를 참조하면, 일 실시예에 따른, DWT 파일(200)은 제1 디지털 증거 파일(210), 제2 디지털 증거 파일(220), 파싱룰 파일(230) 및/또는 DWT 메타데이터(240)를 포함할 수 있다. Referring to FIG. 2 , according to an embodiment, a
일 실시예에 의하면, DWT 생성 노드(110)는 제1 디지털 증거 파일(210), 제2 디지털 증거 파일(220), 파싱룰 파일(230) 및/또는 DWT 메타데이터(240)를 명령어 tar를 이용하여 하나의 파일로 묶을 수 있다.According to one embodiment, the
일 실시예에 의하면, 제1 디지털 증거 파일(210)은 불법 콘텐츠가 게재된 웹페이지의 HTML 파일에서 동적 콘텐츠를 제거한 결과물일 수 있다. 상기 동적 콘텐츠란 웹페이지에 접속한 사용자의 위치, 디바이스, 시간 또는 무작위로, 화면에 보여지는 웹페이지의 내용이 변경되는 데이터를 말한다. 불법 웹페이지의 동적 콘텐츠를 제거하지 않으면, 복수의 수집 노드(120, 120a, 120b, 120c)가 불법 콘텐츠를 수집하고자 동일한 인터넷 주소에 접근하여도, 각 수집 노드에 의해 수집된 결과물들이 서로 상이할 수 있다.According to an embodiment, the first
일 실시예에 의하면, 제2 디지털 증거 파일(220)은 불법 콘텐츠가 게재된 웹페이지에 포함되어 있는 정적 파일일 수 있다. 상기 정적 파일이란 누가 언제 웹페이지에 접속하더라도 모든 사용자의 화면에 보여지는 내용이 동일한 데이터를 말한다. 상기 정적 파일은, 예를 들어, 이미지 파일, 비디오 파일, 자바스크립트(Java Script) 또는 CSS(Cascading Style Sheets)일 수 있다.According to one embodiment, the second
일 실시예에 의하면, DWT 생성 노드(110)는 명령어 tar를 이용하여 복수의 정적 파일을 하나의 제2 디지털 증거 파일(220)로 구성할 수 있다. According to an embodiment, the
일 실시예에 의하면, 파싱룰 파일(230)은 웹페이지에서 동적 콘텐츠를 제거하기 위한 규칙을 정의해 놓은 파일일 수 있다. According to one embodiment, the parsing
일 실시예에 의하면, 파싱룰 파일(230)은 제1 디지털 증거 파일(210)에 포함되어야 할 내용과 포함되지 않아야 할 내용을 분류하는 규칙을 기술함에 있어서, 사용자 입력을 받아 정의할 수 있다. 다른 실시예에 의하면, 파싱룰 파일(230)은 규칙을 기술함에 있어서, 구문 패턴을 분석함으로써 사용자 입력 없이, 자동으로 생성될 수 있다.According to one embodiment, the parsing
일 실시예에 의하면, 파싱룰 파일(230)은 규칙을 기술함에 있어서, 속성-값의 쌍 (Attribute-Value Pairs) 형태의 데이터 포맷을 사용할 수 있다. 상기 파싱룰 파일(230)은, 예를 들어, JSON((JavaScript Object Notation)을 사용할 수 있다. 상기 JSON은 웹과 컴퓨터 프로그램에서 데이터 객체를 속성-값의 쌍 형태로 표현하는 형식이다. 상기 JSON은 자바스크립트(JavaScript)를 토대로 개발되었으며, 언어 독립적이라서 여러 프로그래밍 언어에 사용할 수 있다. 상기 JSON은 텍스트 기반이므로 작성하기 쉽고, 가독성이 좋다는 장점이 있다. 상기 JSON은 웹 브라우저와 웹 서버간 데이터 교환에 주로 사용된다According to an embodiment, the parsing
일 실시예에 의하면, DWT 메타데이터(240)는 제1 디지털 증거 파일(210)의 원본이 되는 웹페이지의 인터넷 주소를 포함할 수 있다.According to one embodiment, the
일 실시예에 의하면, DWT 메타데이터(240)는 DWT 파일(200)에 포함된 파일들에 대한 해시 값을 포함할 수 있다. 예를 들어, DWT 메타데이터(240)는 제1 디지털 증거 파일(210)에 대한 해시 값, 제2 디지털 증거 파일(220)에 포함된 정적 파일들에 대한 해시 값들, 파싱룰 파일(230)에 대한 해시 값을 포함할 수 있다.According to one embodiment, the
일 실시예에 의하면, DWT 메타데이터(240)는 제1 디지털 증거 파일(210)이 생성된 시간 정보를 포함할 수 있다. 상기 시간 정보는 상기 시간 정보 속성의 값으로 기술된 그 시각에, 생성해 놓은 제1 디지털 증거 파일(210)이 존재했음을 증명하는 정보일 수 있다.According to one embodiment, the
일 실시예에 의하면, DWT 메타데이터(240)에 포함되는 하나 이상의 해시 값과 제1 디지털 증거 파일(210)이 생성된 시간 정보는 DWT 파일(200)의 제1 디지털 증거 파일(210), 제2 디지털 증거 파일(220), 파싱룰 파일(230)의 위조 또는 변조를 감지하기 위한 도구일 수 있으며, 도 6a와 도 6b를 참조하여 후술할 DWT 파일(200)의 무결성 검증에 사용될 수 있다.According to one embodiment, the one or more hash values included in the
도 3은 본 개시의 다양한 실시예에 따라 DWT 파일의 예시를 도시한다.3 illustrates an example DWT file according to various embodiments of the present disclosure.
도 3을 참조하면, 예시로 도시된 DWT 파일(300)의 이름은 “2021-04-20T05:11:42Z_SHA256.DWT”이다. 상기 DWT 파일(300)의 확장자는 DWT일 수 있다. 하지만, 도 2를 참조하여 설명했듯이 DWT 파일(200)은 명령어 tar를 사용한 결과물일 수 있으므로, 상기 DWT 파일(300)의 파일 매직 넘버(File Magic Number)는 tar의 파일 매직 넘버와 동일할 수 있다.Referring to FIG. 3 , the name of the DWT file 300 shown as an example is “2021-04-20T05:11:42Z_SHA256.DWT”. The extension of the DWT file 300 may be DWT. However, as described with reference to FIG. 2 , since the DWT file 200 may be a result of using the command tar, the file magic number of the DWT file 300 may be the same as the file magic number of tar. .
상기 DWT 파일(300)은 제1 디지털 증거 파일(310), 제2 디지털 증거 파일(320), 파싱룰 파일(330) 및/또는 DWT 메타데이터(340) 중 적어도 하나를 포함할 수 있다. 상기 파싱룰 파일(330)과 상기 DWT 메타데이터(340)는 JSON으로 구현될 수 있다. 상기 JSON은 IETF RFC 7159(The JavaScript Object Notation(JSON) Data Interchange Format) 표준과 ECMA-404(The JSON Data Interchange Syntax) 표준으로 제정되어 있다. 대부분의 웹 기반 애플리케이션에서 데이터 교환 형식으로, 메시지 크기가 커지는 문제가 있는 XML 대신 상기 JSON을 사용할 수 있다. 상기 JSON은 자바스크립트의 구문 형식을 따르지만, C, C++, C#, 자바(Java), 파이선(Python)과 같은 프로그램 언어와도 함께 사용되어 플랫폼과 프로그래밍 언어 면에서 독립적인 언어로 사용될 수 있다. 데이터 구조는 속성(name)과 값(value) 한 쌍으로 구성되며, “속성: 값” 형식으로 데이터 객체를 표현한다. 상기 속성(name)의 자료형으로 문자열(string)이 지원되고, 상기 값(value)의 자료형으로 수(number), 문자열(string), 객체(object), 배열(array), 참/거짓(boolean), 또는 빈값(null)이 지원된다. 배열(array)은 대괄호([ ])를 사용하여 표현하고, 객체는 속성·값 쌍의 집합으로 중괄호({ })를 사용하여 표현하며, 객체 간의 구분은 쉼표(,)를 사용하여 표현할 수 있다. The
상기 DWT 메타데이터(340)는 불법 웹페이지의 인터넷 주소를 “Address”라는 속성과 “example.onion”라는 값 형식으로 표현하였다.The
상기 제1 디지털 증거 파일(310)은 “example.onion”에 접근하여 다운로드한 HTML 문서에 파싱룰 파일(330)을 적용한 결과로서, HTML 형식이다.The first
상기 제2 디지털 증거 파일(320)은 “example.onion”에 존재하는 정적 파일들을 다운로드하여, 명령어 tar를 이용하여 하나로 묶은 파일이다.The second
상기 파싱룰 파일(330)은 HTML 문서 전체를 스크래핑(Scraping)한 결과 중 원하는 부분만 취사 선택하기 위해 파이선(Python)의 라이브러리 BeautifuleSoup을 이용하였다. 상기 파싱룰 파일(330)을 보면, “example.onion”에서 제1 디지털 증거 파일(310)에 포함되어야 할 요소는 “IncludeRules”로 정의해 놓았으며, 제거해야 할 요소는 “ExcludeRules”로 정의해 놓았다. 제거해야 할 요소는 주로 광고나 배너 등이다. 상위 HTML 트리 노드가 “ExcludeRules”속성 값으로 제거되는 경우, 상기 제거된 HTML 트리 노드의 하위 노드 중에 제1 디지털 증거 파일에 꼭 포함되어야 할 HTML 트리 노드가 존재한다면, 상기 HTML 트리 노드는 “IncludeRules”속성 값을 이용하여 존속될 수 있다.For the
상기 DWT 메타데이터(340)의 “Datetime” 속성 값은 상기 제1 디지털 증거 파일(310)이 생성된 시간을 나타낸다.The “Datetime” attribute value of the
상기 DWT 메타데이터(340)의 “” 속성 값은 상기 제1 디지털 증거 파일(310)을 입력으로 하여, 산출된 해시 값이다. The “” attribute value of the
상기 DWT 메타데이터(340)의 “StaticHash”속성 값은 상기 제2 디지털 증거 파일(320)에 포함되어 있는 정적 파일들에 대한 해시 값으로, 상기 정적 파일 개수만큼의 배열 크기로 나열될 수 있다.The “StaticHash” attribute value of the
상기 DWT 메타데이터(340)의 “ParseHash” 속성 값은 상기 파싱룰 파일(330)의 해시 값이다.The “ParseHash” attribute value of the
도 4는 본 개시의 다양한 실시예에 따라, 웹페이지에서 동적 콘텐츠를 제거한 결과를 도시한다.4 illustrates a result of removing dynamic content from a webpage according to various embodiments of the present disclosure.
도 4를 참조하면, 파싱룰 파일(330)을 사용하여 불법 웹페이지에 포함된 동적 콘텐츠를 제거할 수 있다. Referring to FIG. 4 , dynamic content included in an illegal web page may be removed using a
일 실시예에 의하면, 400a는 수집 노드1(120a)이 보는 화면이고, 400b는 수집 노드2(120b)가 보는 화면이고, 400c는 수집 노드3(120c)이 보는 화면일 수 있다.According to an embodiment, 400a may be a screen viewed by collection node 1 (120a), 400b may be a screen viewed by collection node 2 (120b), and 400c may be a screen viewed by collection node 3 (120c).
일 실시예에 의하면, 수집 노드1(120a), 수집 노드2(120b) 및 수집 노드3(120c)은 동일한 인터넷 주소로 접근하여 웹페이지를 수집할 수 있다.According to an embodiment, collection node 1 (120a), collection node 2 (120b), and collection node 3 (120c) may collect web pages by accessing the same Internet address.
일 실시예에 의하면, 수집 노드1(120a)이 수집한 원본 HTML(410a)은 광고(411a)를 포함할 수 있다. 수집 노드2(120b)가 수집한 원본 HTML(410b)은 광고(411b)를 포함할 수 있다. 수집 노드3(120c)이 수집한 원본 HTML(410c)은 광고(411c)를 포함할 수 있다. 상기 광고들(411a ~ 411c)은 상이할 수 있으며, 따라서 수집 노드들에 출력되는 화면들도 상이할 수 있다.According to an embodiment, the
일 실시예에 의하면, 수집 노드1(120a)은 원본 HTML(410a)에 파싱룰 파일(330)을 적용하여 동적 콘텐츠가 제거된 HTML(420a)을 획득할 수 있다. 수집 노드2(120b)는 원본 HTML(410b)에 파싱룰 파일(330)을 적용하여 동적 콘텐츠가 제거된 HTML(420b)을 획득할 수 있다. 수집 노드3(120c)은 원본 HTML(410c)에 파싱룰 파일(330)을 적용하여 동적 콘텐츠가 제거된 HTML(420c)을 획득할 수 있다.According to an embodiment, the
일 실시예에 의하면, 원본 HTML(410a ~ 410c)은 상이하지만, 동일한 파싱룰 파일(330)을 적용한 결과, 동적 콘텐츠가 제거된 HTML(420a ~ 420c)은 모두 동일할 수 있다. According to an embodiment, although the original HTMLs 410a to 410c are different, as a result of applying the same
도 5는 본 개시의 다양한 실시예에 따라, 디지털 증거를 수집하고 검증하여 블록체인에 저장하는 과정을 대략적으로 나타내는 흐름도이다.5 is a flowchart schematically illustrating a process of collecting, verifying, and storing digital evidence in a blockchain according to various embodiments of the present disclosure.
도 5를 참조하면, 일 실시예에 따른 동작 501에서, DWT 생성 노드(110)는 웹페이지를 수집하여, 상기 웹페이지가 포함하고 있는 동적 콘텐츠를 제거한 제1 디지털 증거 파일을 획득할 수 있다. Referring to FIG. 5 , in
일 실시예에 따른 동작 503에서, DWT 생성 노드(110)는 제1 디지털 증거 파일과 상기 제1 디지털 증거 파일을 획득하기 위해 고려된 참조 정보를 포함하도록 DWT 파일(200)을 생성할 수 있다. 상기 참조 정보에는 웹페이지가 포함하고 있는 정적 파일을 포함하는 제2 디지털 증거 파일, 상기 웹페이지가 포함하고 있는 동적 콘텐츠를 제거하기 위해 사용한 파싱룰 파일, 상기 DWT 파일(200)에 대한 DWT 메타데이터를 포함할 수 있다. 상기 DWT 메타데이터는 상기 웹페이지의 접속 주소를 포함하는 접속 정보, 상기 제1 디지털 증거 파일이 생성된 시간 정보, 상기 제1 디지털 증거 파일의 해시 값, 상기 제2 디지털 증거 파일에 포함된 정적 파일의 해시 값, 상기 파싱룰 파일의 해시 값을 포함할 수 있다.In
일 실시예에 따른 동작 505에서, 수집 노드(120)는 새로 생성된 DWT 파일(200)을 입수할 수 있다. 상기 수집 노드(120)는 상기 DWT 파일(200)의 DWT 메타데이터에 기술된 웹페이지의 접속 주소에 접근하여, 상기 웹페이지를 수집할 수 있다.At
일 실시예에 따른 동작 507에서, 수집 노드(120)는 수집한 웹페이지에 DWT 파일(200)에 포함된 파싱룰 파일(230)을 적용하여, 동적 콘텐츠가 제거된 HTML 파일을 생성할 수 있다.In
일 실시예에 따른 동작 509에서, 수집 노드(120)는 동작 507에서 생성한 HTML 파일과 DWT 파일(200)에 포함된 제1 디지털 증거 파일을 비교하여 상기 DWT 파일(200)에 포함된 제1 디지털 증거 파일의 위조 또는 변조 여부를 검사할 수 있다. 이 때, 상기 제1 디지털 증거 파일의 해시 값과 생성된 시간 정보가 이용될 수 있다.In
일 실시예에 따른 동작 511에서, 수집 노드(120)는 DWT 파일(200)의 위조 또는 변조 여부를 검증할 수 있다. 상기 검증 절차에 관한 세부적인 설명은 도 6a와 도 6b를 참조하여 후술한다.In
일 실시예에 따른 동작 513에서, 블록 생성 노드(130)는 DWT 파일(200)에 대한 검증 작업에 참여한 복수의 수집 노드(120)로부터의 검증 결과를 종합하여, 상기 DWT 파일(200)이 위조 또는 변조되지 않았음이 검증되면, 상기 DWT 파일(200) 또는 상기 DWT 파일(200)의 해시 값 중 적어도 하나를 블록체인 기술을 사용한 블록화에 의해 만들어진 블록에 저장할 수 있다. In
도 6a와 도 6b는 본 개시의 다양한 실시예에 따라, 수집 노드가 DWT 파일의 무결성을 검증하는 동작을 설명하는 흐름도이다.6A and 6B are flowcharts illustrating operations of verifying integrity of a DWT file by an ingestion node according to various embodiments of the present disclosure.
도 6a와 도 6b를 참조하면, 일 실시예에 따른 동작 601에서, 수집 노드(120)는 새로운 DWT 파일(200)이 생성되었음을 공지 받을 수 있다. Referring to FIGS. 6A and 6B , in
일 실시예에 따른 동작 603에서, 수집 노드(120)는 생성된 DWT 파일(200)을 입수할 수 있다.At
일 실시예에 따른 동작 605에서, 수집 노드(120)는 입수한 DWT 파일(200)을 압축 해제할 수 있다.In
일 실시예에 따른 동작 607에서, 수집 노드(120)는 제1 디지털 증거 파일(210), 제2 디지털 증거 파일(220), 파싱룰 파일(230) 및/또는 DWT 메타데이터(240)를 획득할 수 있다.In
일 실시예에 따른 동작 609에서, 수집 노드(120)는 DWT 메타데이터(240)에서 제1 디지털 증거 파일(210)의 원본이 되는 웹페이지의 인터넷 주소를 획득할 수 있다.In
일 실시예에 따른 동작 611에서, 수집 노드(120)는 획득한 인터넷 주소에 접근할 수 있다.In
일 실시예에 따른 동작 613에서, 수집 노드(120)는 접근한 인터넷 주소에서 웹페이지를 수집할 수 있다.In
일 실시예에 따른 동작 615에서, 수집 노드(120)는 수집한 웹페이지에 파싱룰 파일(230)을 적용하여, 동적 콘텐츠가 제거된 HTML 파일을 생성할 수 있다.In
일 실시예에 따른 동작 617에서, 수집 노드(120)는 동작 615에서 생성한 HTML 파일에 대한 해시 값을 산출할 수 있다.In
일 실시예에 따른 동작 619에서, 수집 노드(120)는 DWT 파일(200)의 제1 디지털 증거 파일(210)에 대한 해시 값을 산출할 수 있다.In
일 실시예에 따른 동작 621에서, 수집 노드(120)는 DWT 메타데이터(240)에 기술되어 있는 “HTMLHash” 속성 값을 획득할 수 있다.In
다양한 실시 예에 따르면, 해시 값을 획득하는 일련의 동작(617 ~ 621)들의 순서는 제한하지 않을 수 있다. 예를 들어, 동작 621은 동작 617 또는 동작 619 이전에 수행될 수 있으며, 동작 619는 동작 617 이전에 수행될 수 있다.According to various embodiments, the order of a series of
일 실시예에 따른 동작 623에서, 수집 노드(120)는 동작 617에서 산출한 HTML 해시 값과 동작 619에서 산출한 제1 디지털 증거 파일(210)의 해시 값과, 동작 621에서 획득한 “HTMLHash” 속성 값을 비교하여, 세개의 해시 값들이 일치하면 동작 625를 수행할 수 있다. 상기 세개의 해시 값들이 일치하지 않으면, 상기 수집 노드(120)는 상기 제1 디지털 증거 파일(210) 또는 DWT 메타데이터(240)중 적어도 하나가 위조 또는 변조되었다고 판단하여 동작 645를 수행할 수 있다.In
일 실시예에 따른 동작 625에서, 수집 노드(120)는 동작 613에서 수집한 정적 파일의 해시 값을 산출할 수 있다. 예를 들어, 상기 정적 파일이 복수개인 경우, 상기 수집 노드(120)는 상기 정적 파일에 상응하는 해시 값을 상기 정적 파일의 개수만큼 산출할 수 있다.In
일 실시예에 따른 동작 627에서, 수집 노드(120)는 DWT 메타데이터(240)에 기술되어 있는 “StaticHash” 속성 값을 획득할 수 있다. 상기 “StaticHash”는 DWT 파일(200)의 제2 디지털 증거 파일(220)에 포함된 정적 파일에 대한 해시 값을 의미한다.In
일 실시예에 따른 동작 629에서, 수집 노드(120)는 동작 625에서 산출한 해시 값과 동작 627에서 획득한 “StaticHash” 속성 값을 비교하여, 일치하면 동작 631을 수행할 수 있고, 일치하지 않으면 동작 645를 수행할 수 있다. 예를 들어, 상기 수집 노드(120)가 비교해야 할 해시 값이 복수개인 경우, 상기 해시 값이 하나라도 일치하지 않으면, 상기 수집 노드(120)는 DWT 메타데이터(240) 또는 적어도 한 개 이상의 정적 파일이 위조 또는 변조되었다고 판단하고, 동작 645를 수행할 수 있다.In
다양한 실시예에 따르면, 동작 629에 앞서 수집 노드(120)는 DWT 파일(200)에서 획득한 제2 디지털 증거 파일(220)에 포함된 정적 파일에 대한 해시 값을 직접 산출하여, 동작 625에서 산출한 해시 값과 비교하는 단계를 추가할 수 있다.According to various embodiments, prior to
일 실시예에 따른 동작 631에서, 수집 노드(120)는 파싱룰 파일(230)의 해시 값을 산출할 수 있다.In
일 실시예에 따른 동작 633에서, 수집 노드(120)는 DWT 메타데이터(240)에 기술되어 있는 “ParseHash” 속성 값을 획득할 수 있다.In
일 실시예에 따른 동작 635에서, 수집 노드(120)는 동작 631에서 산출한 파싱룰 파일(230)의 해시 값과 동작 633에서 획득한 “ParseHash” 속성 값을 비교하여, 일치하면 동작 637을 수행할 수 있다. 상기 해시 값이 일치하지 않으면, 상기 수집 노드(120)는 상기 파싱룰 파일(230) 또는 DWT 메타데이터(240)중 적어도 하나가 위조 또는 변조되었다고 판단하고, 동작 645를 수행할 수 있다.In
일 실시예에 따른 동작 637에서, 수집 노드(120)는 제1 디지털 증거 파일(210)의 파일 생성 시간을 획득할 수 있다. inode는 파일 자신에 대한 정보를 담는 구조체로서, 파일의 크기, 파일의 링크 수, 파일의 크기, 파일의 생성 시간, 파일의 최근 사용 시간, 파일의 최근 수정 시간, 파일의 소유권 정보를 포함하고 있다. 상기 수집 노드(120)는 상기 inode 구조체를 이용하여, 상기 제1 디지털 증거 파일(210)의 파일 생성 시간을 획득할 수 있다.In
일 실시예에 따른 동작 639에서, 수집 노드(120)는 DWT 메타데이터(240)에 기술되어 있는 “Datetime” 속성 값을 획득할 수 있다. In
일 실시예에 따른 동작 641에서, 수집 노드(120)는 동작 637에서 획득한 제1 디지털 증거 파일(210)의 파일 생성 시간과 동작 639에서 획득한 “Datetime” 속성 값을 비교하여, 일치하면 동작 643을 수행할 수 있다. 상기 파일 생성 시간 정보가 일치하지 않으면, 상기 수집 노드(120)는 상기 제1 디지털 증거 파일(210) 또는 DWT 메타데이터(240)중 적어도 하나가 위조 또는 변조되었다고 판단하고, 동작 645를 수행할 수 있다.In
일 실시예에 따른 동작 643에서, 수집 노드(120)는 DWT 파일(200)이 디지털 증거로서 가용(Valid)하다고 판단할 수 있다. 상기 DWT 파일(200)은 동작 623, 동작 629, 동작 635, 동작 641의 검증을 모두 통과했으므로, 상기 수집 노드(120)는 상기 DWT 파일(200)이 위조 또는 변조되지 않았다고 판단할 수 있다.In
일 실시예에 따른 동작 645에서, 수집 노드(120)는 DWT 파일(200)이 동작 623, 동작 629, 동작 635, 동작 641중 적어도 하나의 검증 단계를 통과하지 못했으므로, 디지털 증거로서 비가용(Invalid)하다고 판단할 수 있다.In
일 실시예에 의하면, 수집 노드(120)가 제1 디지털 증거 파일(210)의 해시 값 검증 단계, 제2 디지털 증거 파일(220)의 해시 값 검증 단계, 파싱룰 파일(230)의 해시 값 검증 단계, 상기 제1 디지털 증거 파일(210)의 파일 생성 시간 검증 단계의 순서로 DWT 파일(200)의 검증을 수행하였으나, 다양한 실시예에 따르면, 상기 수집 노드(120)는 상기 순서와 다른 순서로 검증을 진행할 수 있다. 예를 들어, 상기 수집 노드(120)는 파싱룰 파일(230)의 해시 값 검증 단계를 상기 제1 디지털 증거 파일(210)의 해시 값 검증 단계에 우선하여 진행할 수 있다.According to an embodiment, the
일 실시예에 의하면, 수집 노드(120)에는 본 개시에서 설명한 DWT 파일(200)에 대한 검증 기능을 수행하기 위한 클라이언트 프로그램이 설치될 수 있다.According to one embodiment, the
도 7은 본 개시의 다양한 실시예에 따라 블록 생성 과정을 나타내는 흐름도이다.7 is a flowchart illustrating a block generation process according to various embodiments of the present disclosure.
도 7을 참조하면, 일 실시예에 따라 불법 콘텐츠를 발견(701)하는 이벤트가 발생하면, DWT 생성 노드(710)는 새로운 DWT 파일(715)을 생성할 수 있다.Referring to FIG. 7 , when an event of discovering illegal content 701 occurs according to an embodiment, a
일 실시예에 의하면, 수집 노드(720a ~ 720c)는 생성된 DWT 파일(715)을 입수하고 이를 이용하여 상기 DWT 파일(715)에 대한 무결성 검증을 수행할 수 있다. 상기 무결성 검증 절차(721a ~ 721c)는 도 6a와 도 6b에서 전술한 바와 같다.According to an embodiment, the
일 실시예에 의하면, 동작 723a에서, 수집 노드(720a)는 검증 수행(721a) 결과, DWT 파일(715)을 가용으로 판단할 수 있다.According to an embodiment, in
일 실시예에 의하면, 동작 723b에서, 수집 노드(720b)는 검증 수행(721b) 결과, DWT 파일(715)을 비가용으로 판단할 수 있다.According to an embodiment, in
일 실시예에 의하면, 동작 723c에서, 수집 노드(720c)는 검증 수행(721c) 결과, DWT 파일(715)을 가용으로 판단할 수 있다.According to an embodiment, in
일 실시예에 의하면, 수집 노드(720a ~ 720c)는 검증 결과를 P2P 네트워크(140)에 공개할 수 있다.According to an embodiment, the
일 실시예에 의하면, 블록 생성 노드(730)는 P2P 네트워크(140)를 모니터링하면서 DWT 파일(715)이 가용한 것으로 합의되었는지에 기반하여 상기 DWT 파일(715)을 블록 데이터에 저장할지 결정할 수 있다.According to an embodiment, the
일 실시예에 따른 동작 731에서, 블록 생성 노드(730)는 다수의 합의를 반영하는 데 있어서, 비잔티움 장애 허용(Byzantine Fault Tolerance)을 사용할 수 있다. 상기 블록 생성 노드(730)는 검증에 참여한 수집 노드(720a ~ 720c)의 2/3 이상이 가용(Valid)으로 판정한 경우에 동작 733을 수행할 수 있고, 그렇지 않은 경우에 동작 735를 수행하여 DWT 파일(715)을 폐기할 수 있다. 다른 실시예에 있어서, 블록 생성 노드(730)는 검증에 참여한 수집 노드(720a ~ 720c)의 과반 이상이 가용(Valid)으로 판정한 경우에 동작 733을 수행할 수 있고, 그렇지 않은 경우에 동작 735를 수행할 수 있다.In
일 실시예에 따른 동작 733에서, 블록 생성 노드(730)는 DWT 파일(715)을 블록체인 기술을 사용한 블록화에 의해 만들어진 블록에 저장할 수 있다.In operation 733 according to an embodiment, the
도 8은 본 개시의 다양한 실시예에 따른 블록 구조이다.8 is a block structure according to various embodiments of the present disclosure.
도 8을 참조하면, 일 실시예에 따라 블록 생성 노드(130)에 의해 생성된 블록(800)의 구조는 일반적인 블록체인에 사용되는 블록 구조와 동일할 수 있다.Referring to FIG. 8 , the structure of a
일 실시예에 의하면, 매직 넘버(801)는 네트워크 식별자로 고정 값일 수 있다. 블록 사이즈(803)는 블록의 크기일 수 있다. 블록 헤더는 6가지 항목으로 구성될 수 있다. 버전(805)은 소프트웨어의 버전일 수 있다. 이전 블록 해시(807)는 체인으로 연결된 이전 블록 헤더의 SHA256 해시일 수 있다. 루트 해시(809)는 블록(800)에 저장되어 있는 모든 DWT 해시 값을 2진 트리 형태로 구성할 때(809a~809g) 트리의 루트(809g)에 위치하는 해시 값일 수 있다. 상기 루트 해시(809)는 블록데이터가 추가될 때 마다 업데이트 될 수 있다.According to one embodiment, the
타임(811)은 UTC 1970-01-01 이후로 경과한 초(second)의 값으로, 몇 초마다 업데이트 될 수 있다.The
난이도(813)는 블록체인의 작업 증명을 하는데 사용되는 난이도 목표일 수 있다.
논스(815)는 블록 생성 과정에서 찾아내는 임의의 수이며, 이 숫자를 바꿔가면서 난이도 목표를 충족하는 해시 값이 계산되도록 하는 것이 블록 채굴이다.The nonce 815 is a random number found in the block generation process, and block mining is to change this number so that a hash value that meets the difficulty target is calculated.
일 실시예에 의하면, DWT File Counter(817)는 블록데이터에 저장되는 DWT 파일(200)의 해시 값의 개수 또는 DWT 파일(200)의 개수일 수 있다.According to an embodiment, the
일 실시예에 의하면, 일반적인 블록체인에서는 거래 정보가 저장되는 블록데이터(819~825)에, 거래 정보 대신 DWT 파일(200)의 해시 값이 저장될 수 있다.According to one embodiment, in a general blockchain, the hash value of the DWT file 200 may be stored instead of the transaction information in
일 실시예에 의하면, 블록(800) 하나에 복수의 DWT 파일(200)이 저장될 수 있다. 예를 들어, 수사 기관의 추적을 피하고자 인터넷 주소를 수시로 변경하는 불법 웹사이트의 특성으로 인해, 디지털 증거의 증거력이 최대한 신속히 확보되어야 하는 경우에는, 블록(800)이 빠르게 생성되어야 하므로, 블록(800) 하나에 상대적으로 적은 수의 DWT 파일(200)이 저장될 수 있다. According to one embodiment, a plurality of DWT files 200 may be stored in one
도 9는 본 개시의 다양한 실시예에 따른 블록 구조 예시이다.9 is an example of a block structure according to various embodiments of the present disclosure.
도 9를 참조하면, 일 실시예에 따라 블록 생성 노드(130)에 의해 생성된 블록(900a ~ 900c)의 블록 헤더(801 ~ 815) 및 DWT File Counter(817)는 도 8의 블록 헤더와 (801 ~ 815)및 DWT File Counter(817)와 동일할 수 있다.Referring to FIG. 9, block
일 실시예에 의하면, P2P 네트워크(140)의 파일 전송 공유 환경에 따라 블록데이터(901 ~ 907, 911 ~ 917, 921 ~ 927)에 저장되는 대상이 달라질 수 있다. According to an embodiment, objects stored in the
P2P 네트워크(140)가, 예를 들어, 토렌트(Torrent)같은 파일 공유 프로그램을 사용한다면, 블록 생성 노드(130)는 블록데이터(901~907)에 DWT 파일(200)의 해시 정보와 상기 DWT 파일(200)의 마그넷 링크 주소를 저장하여 블록(900a)을 생성할 수 있다.If the
일 실시예에 의하면, DWT 파일의 용량으로 인한 P2P 네트워크(140)의 부하를 고려하지 않는 경우, 블록 생성 노드(130)는 블록데이터(911~917)에 상기 DWT 파일(200)의 해시 정보와 상기 DWT 파일(200)을 그대로 저장하여 블록(900b)을 생성할 수 있다. 다른 실시예에 의하면, 블록 생성 노드(130)는 블록데이터(921~927)에 상기 DWT 파일(200)을 그대로 저장하여 블록(900c)을 생성할 수 있다.According to an embodiment, when the load of the
본 개시 내용이 특정 실시 양태를 참조하여 특히 도시되고 설명되었지만, 첨부된 청구범위 및 그 균등물에 의해 정의된 바와 같이 개시 내용의 사상 및 범위를 벗어나지 않고 형태 및 세부 사항에 있어서 다양한 변형이 이루어질 수 있다는 것이 당업자에 의해 이해될 것이다.Although this disclosure has been particularly shown and described with reference to particular embodiments, various changes may be made in form and detail without departing from the spirit and scope of the disclosure as defined by the appended claims and equivalents thereto. It will be understood by those skilled in the art.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.Electronic devices according to various embodiments disclosed in this document may be devices of various types. The electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. An electronic device according to an embodiment of the present document is not limited to the aforementioned devices.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.Various embodiments of this document and terms used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, like reference numbers may be used for like or related elements. The singular form of a noun corresponding to an item may include one item or a plurality of items, unless the relevant context clearly dictates otherwise. In this document, "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C", and "A Each of the phrases such as "at least one of , B, or C" may include any one of the items listed together in that phrase, or all possible combinations thereof. Terms such as "first", "second", or "first" or "secondary" may simply be used to distinguish a given component from other corresponding components, and may be used to refer to a given component in another aspect (eg, importance or order) is not limited. A (e.g., first) component is said to be "coupled" or "connected" to another (e.g., second) component, with or without the terms "functionally" or "communicatively." When mentioned, it means that the certain component may be connected to the other component directly (eg by wire), wirelessly, or through a third component.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logical blocks, parts, or circuits. can be used as A module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치)에 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(또는 외장 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램)로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치)의 프로세서는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of this document describe software (eg, software including one or more instructions stored in a storage medium (eg, internal memory (or external memory)) readable by a machine (eg, an electronic device)). program). For example, a processor of a device (eg, an electronic device) may call at least one command among one or more commands stored from a storage medium and execute it. This means that the device may call the call The one or more instructions may include code generated by a compiler or code executable by an interpreter. A storage medium with a storage medium may be provided in the form of a non-transitory storage medium, where 'non-transitory' is a device in which the storage medium is tangible and transmits a signal (e.g., electromagnetic wave). This term does not distinguish between the case where data is semi-permanently stored in the storage medium and the case where it is temporarily stored.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be included and provided in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play Store™) or on two user devices (e.g. It can be distributed (eg downloaded or uploaded) online, directly between smart phones. In the case of online distribution, at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (eg, module or program) of the above-described components may include a single object or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. there is. According to various embodiments, one or more components or operations among the aforementioned corresponding components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component of the plurality of components prior to the integration. . According to various embodiments, the actions performed by a module, program, or other component are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the actions are executed in a different order, or omitted. or one or more other actions may be added.
Claims (20)
웹서버로부터 적어도 하나의 웹페이지를 화면에 표시하기 위한 제1 웹페이지 데이터를 수집하고, 상기 제1 웹페이지 데이터에 포함된 동적 콘텐츠 데이터를 제거하는 파싱(parsing)을 수행하여 제1 디지털 증거 파일을 획득하며, 상기 제1 디지털 증거 파일 및 상기 제1 디지털 증거 파일을 획득하기 위해 고려된 참조 정보를 포함하도록 심층 웹 포맷 (DWT: Deep Web Tar) 파일을 생성하도록 구성된, 적어도 하나의 DWT 생성 노드;
상기 DWT 파일에 포함된 상기 참조 정보 중 하나인 접속 정보를 사용하여 상기 웹서버로부터 제2 웹페이지 데이터를 수집하고, 상기 참조 정보 중 하나인 파싱룰 파일을 기반으로 상기 제2 웹페이지 데이터에 포함된 동적 콘텐츠 데이터를 제거하는 파싱을 수행하여 동적 콘텐츠가 제거된 하이퍼텍스트 마크업 언어 (HTML: HyperText Markup Language) 파일을 획득하며, 상기 HTML 파일을 기반으로 상기 DWT 파일에 포함된 상기 제1 디지털 증거 파일의 위조 또는 변조 여부를 검사하고, 상기 검사 결과를 기반으로, 상기 DWT 파일의 위조 또는 변조 여부를 검증하도록 구성된 복수의 수집 노드들; 및
상기 DWT 파일 중 상기 복수의 수집 노드들에 의해 위조 또는 변조되지 않았음이 검증된 DWT 파일 또는 상기 검증된 DWT 파일의 해시 값 중 적어도 하나를 블록체인 기술을 사용한 블록화에 의해 만들어진 블록에 저장하도록 구성된 블록 생성 노드를 포함하며,
여기서, 상기 DWT 파일에 포함된 상기 참조 정보는, 상기 적어도 하나의 웹페이지에 존재하는 정적 파일을 포함하는 제2 디지털 증거 파일, 상기 적어도 하나의 웹페이지에 포함된 동적 콘텐츠를 제거하도록 구성된 상기 파싱룰 파일 및 상기 적어도 하나의 웹페이지에 대한 메타데이터를 포함하고,
상기 메타데이터는, 상기 제1 디지털 증거 파일의 해시 값, 상기 제2 디지털 증거 파일에 포함된 상기 정적 파일의 해시 값, 상기 파싱룰 파일의 해시 값, 상기 제1 디지털 증거 파일의 생성 시간 정보 및 상기 적어도 하나의 웹페이지의 접속 주소인 상기 접속 정보를 포함하는, 디지털 증거 수집 장치.In the digital evidence collection device,
A first digital evidence file is obtained by collecting first webpage data for displaying at least one webpage on a screen from a web server and performing parsing to remove dynamic content data included in the first webpage data. At least one DWT generating node configured to obtain a deep web format (DWT) file to include the first digital evidence file and reference information considered for obtaining the first digital evidence file. ;
Second webpage data is collected from the web server using access information, which is one of the reference information included in the DWT file, and included in the second webpage data based on a parsing rule file, which is one of the reference information. A hypertext markup language (HTML) file from which dynamic content is removed is obtained by parsing to remove the dynamic content data, and the first digital evidence included in the DWT file based on the HTML file. a plurality of collecting nodes configured to inspect whether a file is forged or falsified, and to verify whether the DWT file is forged or tampered with based on the inspection result; and
configured to store at least one of a DWT file verified that it has not been forged or tampered with by the plurality of collection nodes among the DWT files or a hash value of the verified DWT file in a block created by blockization using blockchain technology Includes a block generation node,
Here, the reference information included in the DWT file is a second digital evidence file including a static file existing in the at least one webpage, and the parsing configured to remove dynamic content included in the at least one webpage. Includes a rule file and metadata about the at least one web page,
The metadata may include a hash value of the first digital evidence file, a hash value of the static file included in the second digital evidence file, a hash value of the parsing rule file, creation time information of the first digital evidence file, and The digital evidence collection device comprising the access information that is the access address of the at least one web page.
상기 복수의 수집 노드들이 상기 제1 디지털 증거 파일의 위조 또는 변조 여부를 검사할 때, 상기 제1 디지털 증거 파일의 해시 값인 제1 해시 값을 산출하고, 상기 동적 콘텐츠가 제거된 HTML 파일의 해시 값인 제2 해시 값을 산출하여, 상기 제1 해시 값 및 상기 제2 해시 값과 상기 메타데이터에 포함되어 있는, 상기 제1 디지털 증거 파일의 해시 값인 제3 해시 값을 비교하여, 상기 제1 해시 값과 상기 제2 해시 값과 상기 제3 해시 값이 모두 일치하면, 상기 제1 디지털 증거 파일을 포함하고 있는 상기 DWT 파일이 디지털 증거로서 유효하다고 판단하는, 디지털 증거 수집 장치.According to claim 1,
When the plurality of collection nodes examine whether the first digital evidence file is forged or tampered with, a first hash value that is a hash value of the first digital evidence file is calculated, and a hash value that is a hash value of the HTML file from which the dynamic content is removed. A second hash value is calculated, the first hash value and the second hash value are compared with a third hash value included in the metadata, which is the hash value of the first digital evidence file, and the first hash value is calculated. and the second hash value and the third hash value all match, determining that the DWT file including the first digital evidence file is valid as digital evidence.
상기 복수의 수집 노드들이 상기 제1 디지털 증거 파일의 위조 또는 변조 여부를 검사할 때, 상기 제1 디지털 증거 파일의 생성 시간을 획득하여, 상기 메타데이터에 포함되어 있는, 상기 제1 디지털 증거 파일의 생성 시간 정보와 비교하여 일치하면, 상기 제1 디지털 증거 파일을 포함하고 있는 상기 DWT 파일이 디지털 증거로서 유효하다고 판단하는, 디지털 증거 수집 장치.According to claim 1,
When the plurality of collecting nodes examine whether the first digital evidence file is forged or tampered with, a creation time of the first digital evidence file is obtained, and the first digital evidence file, which is included in the metadata, is checked. and determining that the DWT file including the first digital evidence file is valid as a digital evidence when compared with the creation time information and matching the first digital evidence file.
상기 복수의 수집 노드들이 상기 DWT 파일의 위조 또는 변조 여부를 검증할 때, 상기 제2 웹페이지 데이터에 포함된 정적 파일의 해시 값을 산출하여, 상기 메타데이터에 포함되어 있는 해시 값들 중에서 상기 제2 디지털 증거 파일에 포함된 정적 파일의 해시 값과 비교하여 일치하면, 상기 제2 디지털 증거 파일을 포함하고 있는 상기 DWT 파일이 디지털 증거로서 유효하다고 판단하는, 디지털 증거 수집 장치.According to claim 1,
When the plurality of collection nodes verify whether the DWT file is forged or tampered with, a hash value of a static file included in the second web page data is calculated, and among hash values included in the metadata, the second and determining that the DWT file including the second digital evidence file is valid as digital evidence when the hash value of a static file included in the digital evidence file is matched.
상기 복수의 수집 노드들이 상기 DWT 파일의 위조 또는 변조 여부를 검증할 때, 상기 파싱룰 파일의 해시 값을 산출하여, 상기 메타데이터에 포함되어 있는 해시 값들 중에서 상기 파싱룰 파일의 해시 값과 비교하여 일치하면, 상기 제1 디지털 증거 파일을 포함하고 있는 상기 DWT 파일이 디지털 증거로서 유효하다고 판단하는, 디지털 증거 수집 장치.According to claim 1,
When the plurality of collection nodes verify whether the DWT file is forged or tampered with, a hash value of the parsing rule file is calculated and compared with the hash value of the parsing rule file among hash values included in the metadata. If matched, determine that the DWT file including the first digital evidence file is valid as digital evidence.
상기 블록 생성 노드는, 블록체인의 네트워크의 부하를 고려하여 상기 블록화에 의해 만들어진 상기 블록에 검증된 DWT 파일 대신, 상기 검증된 DWT 파일을 입수할 수 있는 파일 공유 주소의 링크 정보를 저장하는, 디지털 증거 수집 장치.According to claim 1,
The block generating node stores the link information of the file sharing address where the verified DWT file can be obtained instead of the verified DWT file in the block created by the block chain considering the load of the block chain network. evidence collection device.
상기 블록 생성 노드는, 상기 DWT 파일의 검증에 참여한 모든 수집 노드의 일정 비율 이상의 수집 노드가, 디지털 증거로서 유효하다고 판정한 DWT 파일을, 상기 블록화에 의해 만들어진 상기 블록에 저장하는, 디지털 증거 수집 장치.According to claim 1,
The block generating node stores a DWT file, which is determined to be valid as digital evidence by a collection node of at least a certain percentage of all collection nodes participating in the verification of the DWT file, in the block created by the blockization, a digital evidence collection device. .
상기 적어도 하나의 DWT 생성 노드가 상기 파싱룰 파일을 생성할 때, 상기 제1 디지털 증거 파일에 포함되어야 할 요소와 포함되지 않아야 할 요소에 대한 규칙을 사용자 입력없이, 자동적으로 생성하는, 디지털 증거 수집 장치.According to claim 1,
When the at least one DWT generation node creates the parsing rule file, rules for elements to be included and not to be included in the first digital evidence file are automatically generated without user input, digital evidence collection Device.
상기 복수의 수집 노드들은, 불법 웹페이지의 특성상 인터넷 주소의 변동성이 큰 점을 고려하여, 웹 브라우저의 세션 타임 아웃 시간을 기본값보다 상대적으로 짧게 설정한, 디지털 증거 수집 장치.According to claim 1,
The plurality of collection nodes set the session timeout time of the web browser relatively shorter than the default value in consideration of the high variability of Internet addresses due to the nature of illegal webpages.
상기 적어도 하나의 DWT 생성 노드, 상기 복수의 수집 노드들 및/또는 상기 블록 생성 노드는 물리적으로 동일 기기에서 동작할 수 있는, 디지털 증거 수집 장치.According to claim 1,
The at least one DWT generation node, the plurality of collection nodes, and/or the block generation node may physically operate in the same device.
웹서버로부터 수집한 적어도 하나의 웹페이지를 화면에 표시하기 위한 제1 웹페이지 데이터가 포함하고 있는 동적 콘텐츠 데이터를 제거하는 파싱(parsing)을 수행하여, 제1 디지털 증거 파일을 획득하는 동작;
상기 제1 디지털 증거 파일 및 상기 제1 디지털 증거 파일을 획득하기 위해 고려된 참조 정보를 포함하도록 심층 웹 포맷 (DWT: Deep Web Tar) 파일을 생성하는 동작;
상기 생성된 DWT 파일에 포함된 상기 참조 정보 중 하나인 접속 정보를 사용하여 상기 웹서버로부터 제2 웹페이지 데이터를 수집하는 동작;
상기 수집한 제2 웹페이지 데이터에 포함된 동적 콘텐츠 데이터를 제거하는 파싱을 상기 참조 정보 중 하나인 파싱룰 파일을 기반으로 수행하여, 동적 콘텐츠가 제거된 하이퍼텍스트 마크업 언어 (HTML: HyperText Markup Language) 파일을 획득하는 동작;
상기 HTML 파일을 기반으로 상기 DWT 파일에 포함된 상기 제1 디지털 증거 파일의 위조 또는 변조 여부를 검사하는 동작;
상기 검사 결과를 기반으로, 상기 DWT 파일의 위조 또는 변조 여부를 검증하는 동작;
상기 DWT 파일 중 위조 또는 변조되지 않았음이 검증된 DWT 파일 또는 상기 검증된 DWT 파일의 해시 값 중 적어도 하나를 블록체인 기술을 사용한 블록화에 의해 만들어진 블록에 저장하는 동작을 포함하며,
여기서, 상기 DWT 파일에 포함된 상기 참조 정보는, 상기 적어도 하나의 웹페이지에 존재하는 정적 파일을 포함하는 제2 디지털 증거 파일, 상기 적어도 하나의 웹페이지에 포함된 동적 콘텐츠를 제거하도록 구성된 상기 파싱룰 파일 및 상기 적어도 하나의 웹페이지에 대한 메타데이터를 포함하고,
상기 메타데이터는, 상기 제1 디지털 증거 파일의 해시 값, 상기 제2 디지털 증거 파일에 포함된 상기 정적 파일의 해시 값, 상기 파싱룰 파일의 해시 값, 상기 제1 디지털 증거 파일의 생성 시간 정보 및 상기 적어도 하나의 웹페이지의 접속 주소인 상기 접속 정보를 포함하는, 디지털 증거 수집 방법.In the digital evidence collection method,
obtaining a first digital evidence file by performing parsing to remove dynamic content data included in first webpage data for displaying at least one webpage collected from a web server on a screen;
generating a Deep Web Tar (DWT) file to include the first digital evidence file and reference information considered for obtaining the first digital evidence file;
collecting second web page data from the web server using access information that is one of the reference information included in the generated DWT file;
Parsing to remove the dynamic content data included in the collected second web page data is performed based on a parsing rule file, which is one of the reference information, to remove the dynamic content. HyperText Markup Language (HTML) ) operation of acquiring a file;
checking whether the first digital evidence file included in the DWT file is forged or altered based on the HTML file;
verifying whether the DWT file is forged or tampered with based on the inspection result;
Storing at least one of a DWT file verified that it has not been forged or tampered with among the DWT files or a hash value of the verified DWT file in a block created by blockization using blockchain technology,
Here, the reference information included in the DWT file is a second digital evidence file including a static file existing in the at least one webpage, and the parsing configured to remove dynamic content included in the at least one webpage. Includes a rule file and metadata about the at least one web page,
The metadata may include a hash value of the first digital evidence file, a hash value of the static file included in the second digital evidence file, a hash value of the parsing rule file, creation time information of the first digital evidence file, and The digital evidence collection method comprising the access information that is the access address of the at least one web page.
상기 제1 디지털 증거 파일의 위조 또는 변조 여부를 검사하는 동작은,
상기 제1 디지털 증거 파일의 해시 값인 제1 해시 값을 산출하고, 상기 동적 콘텐츠가 제거된 HTML 파일의 해시 값인 제2 해시 값을 산출하여, 상기 제1 해시 값 및 상기 제2 해시 값과 상기 메타데이터에 포함되어 있는, 상기 제1 디지털 증거 파일의 해시 값인 제3 해시 값을 비교하여, 상기 제1 해시 값과 상기 제2 해시 값과 상기 제3 해시 값이 모두 일치하면, 상기 제1 디지털 증거 파일을 포함하고 있는 상기 DWT 파일이 디지털 증거로서 유효하다고 판단하는 동작을 포함하는, 디지털 증거 수집 방법.According to claim 11,
The operation of checking whether the first digital evidence file is forged or tampered with,
A first hash value, which is the hash value of the first digital evidence file, is calculated, and a second hash value, which is the hash value of the HTML file from which the dynamic content is removed, is calculated, and the first hash value and the second hash value are combined with the meta A third hash value included in the data, which is a hash value of the first digital evidence file, is compared, and if the first hash value, the second hash value, and the third hash value all match, the first digital evidence file. and determining that the DWT file including the file is valid as digital evidence.
상기 제1 디지털 증거 파일의 위조 또는 변조 여부를 검사하는 동작은,
상기 제1 디지털 증거 파일의 생성 시간을 획득하여, 상기 메타데이터에 포함되어 있는, 상기 제1 디지털 증거 파일의 생성 시간 정보와 비교하여 일치하면, 상기 제1 디지털 증거 파일을 포함하고 있는 상기 DWT 파일이 디지털 증거로서 유효하다고 판단하는 동작을 더 포함하는, 디지털 증거 수집 방법.According to claim 11,
The operation of checking whether the first digital evidence file is forged or tampered with,
The creation time of the first digital evidence file is acquired, compared with the creation time information of the first digital evidence file included in the metadata, and if the same, the DWT file including the first digital evidence file. A method for collecting digital evidence, further comprising an operation of determining that the digital evidence is valid.
상기 DWT 파일의 위조 또는 변조 여부를 검증하는 동작은,
상기 제2 웹페이지 데이터에 포함된 정적 파일의 해시 값을 산출하여, 상기 메타데이터에 포함되어 있는 해시 값들 중에서 상기 제2 디지털 증거 파일에 포함된 정적 파일의 해시 값과 비교하여 일치하면, 상기 제2 디지털 증거 파일을 포함하고 있는 상기 DWT 파일이 디지털 증거로서 유효하다고 판단하는 동작을 포함하는, 디지털 증거 수집 방법.According to claim 11,
The operation of verifying whether the DWT file is forged or tampered with,
The hash value of the static file included in the second web page data is calculated, compared with the hash value of the static file included in the second digital evidence file among the hash values included in the metadata, and if the hash value of the static file included in the second digital evidence file matches, the 2. A digital evidence collection method comprising determining that the DWT file including the digital evidence file is valid as digital evidence.
상기 DWT 파일의 위조 또는 변조 여부를 검증하는 동작은,
상기 파싱룰 파일의 해시 값을 산출하여, 상기 메타데이터에 포함되어 있는 해시 값들 중에서 상기 파싱룰 파일의 해시 값과 비교하여 일치하면, 상기 제1 디지털 증거 파일을 포함하고 있는 상기 DWT 파일이 디지털 증거로서 유효하다고 판단하는 동작을 더 포함하는, 디지털 증거 수집 방법.According to claim 11,
The operation of verifying whether the DWT file is forged or tampered with,
The hash value of the parsing rule file is calculated, compared with the hash value of the parsing rule file among hash values included in the metadata, and if the same, the DWT file including the first digital evidence file is a digital evidence. A method for collecting digital evidence, further comprising an operation of determining that it is valid as
블록체인의 네트워크의 부하를 고려하여 상기 블록화에 의해 만들어진 상기 블록에 검증된 DWT 파일 대신, 상기 검증된 DWT 파일을 입수할 수 있는 파일 공유 주소의 링크 정보를 저장하는 동작을 더 포함하는, 디지털 증거 수집 방법.According to claim 11,
Digital evidence further comprising an operation of storing link information of a file sharing address where the verified DWT file can be obtained instead of the verified DWT file in the block created by the block chain considering the load of the blockchain network. collection method.
상기 저장하는 동작은,
상기 DWT 파일의 검증에 참여한 모든 수집 노드의 일정 비율 이상의 수집 노드가, 디지털 증거로서 유효하다고 판정한 DWT 파일을, 상기 블록화에 의해 만들어진 상기 블록에 저장하는 동작을 포함하는, 디지털 증거 수집 방법.According to claim 11,
The saving operation is
and storing a DWT file, which is determined to be valid as a digital evidence, by collection nodes of at least a certain percentage of all collection nodes participating in the verification of the DWT file, in the block created by the blockization.
상기 파싱룰 파일을 생성할 때, 상기 제1 디지털 증거 파일에 포함되어야 할 요소와 포함되지 않아야 할 요소에 대한 규칙을 사용자 입력없이, 자동적으로 생성하는 동작을 더 포함하는, 디지털 증거 수집 방법.According to claim 11,
The digital evidence collection method of claim 1, further comprising automatically generating rules for elements to be included and not to be included in the first digital evidence file when generating the parsing rule file, without user input.
불법 웹페이지의 특성상 인터넷 주소의 변동성이 큰 점을 고려하여, 브라우저의 세션 타임 아웃 시간을 기본값보다 상대적으로 짧게 설정하는, 디지털 증거 수집 방법.According to claim 11,
A digital evidence collection method that sets the browser's session timeout relatively shorter than the default value, considering the high variability of Internet addresses due to the nature of illegal webpages.
상기 DWT 파일을 생성하도록 구성된 적어도 하나의 DWT 생성 노드, 상기 DWT 파일의 위조 또는 변조 여부를 검증하도록 구성된 복수의 수집 노드들 및/또는 상기 블록화에 의해 만들어진 상기 블록을 저장하도록 구성된 블록 생성 노드는 물리적으로 동일 기기에서 동작할 수 있는, 디지털 증거 수집 방법.
According to claim 11,
At least one DWT generation node configured to generate the DWT file, a plurality of collection nodes configured to verify whether the DWT file is forged or tampered with, and/or a block generation node configured to store the block created by the blockization are physically A digital evidence collection method that can operate on the same device as
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210127781A KR102539735B1 (en) | 2021-09-28 | 2021-09-28 | Device and method for collecting digital evidence |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210127781A KR102539735B1 (en) | 2021-09-28 | 2021-09-28 | Device and method for collecting digital evidence |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230045208A true KR20230045208A (en) | 2023-04-04 |
KR102539735B1 KR102539735B1 (en) | 2023-06-02 |
Family
ID=85928564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210127781A KR102539735B1 (en) | 2021-09-28 | 2021-09-28 | Device and method for collecting digital evidence |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102539735B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102238784B1 (en) * | 2020-12-18 | 2021-04-16 | 주식회사 에이아이디비 | Method and system for storing and verifying web pages using a blockchain network |
KR20210098401A (en) * | 2020-07-22 | 2021-08-10 | 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 | Method and apparatus of processing deposit, device and storage medium |
-
2021
- 2021-09-28 KR KR1020210127781A patent/KR102539735B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210098401A (en) * | 2020-07-22 | 2021-08-10 | 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 | Method and apparatus of processing deposit, device and storage medium |
KR102238784B1 (en) * | 2020-12-18 | 2021-04-16 | 주식회사 에이아이디비 | Method and system for storing and verifying web pages using a blockchain network |
Non-Patent Citations (2)
Title |
---|
노아영 외 2인, '토르(Tor) 기반 딥웹(Deep Web) 주소 가용성 검사 방법', 2021년 한국컴퓨터종합학술대회 논문집, 2021.06.23. * |
문현수 외 2인, '웹 브라우저 렌더링 및 스크립팅 작업 제거를 통한 토르(Tor) 기반 다크 웹(Dark Web) 수집 성능 개선', 정보과학회논문지 제47권 제10호, 2020.10. * |
Also Published As
Publication number | Publication date |
---|---|
KR102539735B1 (en) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021143497A1 (en) | Infringement evidence storage method, apparatus, and device based on evidence storage blockchain | |
US10965445B2 (en) | Blockchain-based unexpected data detection | |
US10691763B2 (en) | Trustable web searching verification in a blockchain | |
US10402545B2 (en) | Systems and methods for managing data assets associated with peer-to-peer networks | |
Yuan et al. | Improved trust-aware recommender system using small-worldness of trust networks | |
CN108897691A (en) | Data processing method, device, server and medium based on interface analog service | |
CN109643319A (en) | The system and method for matching content for identification | |
CN101160580A (en) | Virtual network linking computers whose users share similar interests | |
CN108667770B (en) | Website vulnerability testing method, server and system | |
CN106462611A (en) | Web access performance enhancement | |
US9348927B2 (en) | Systems and methods for detecting, identifying and categorizing intermediate nodes | |
CN103581133B (en) | Web server sends the method and system of response to access request | |
KR102707990B1 (en) | Method and system for storing and verifying web pages using a blockchain network | |
JP2006285962A (en) | System and method using targeted variant input for testing data format | |
Ververis et al. | Understanding internet censorship in Europe: the case of Spain | |
KR20200087467A (en) | System and method for detecting malicious links using block chain and computer program for the same | |
KR102539735B1 (en) | Device and method for collecting digital evidence | |
US20150331917A1 (en) | Recording medium having stored therein transmission order determination program, transmission order determination device, and transmission order determination method | |
CN116127945A (en) | Network link processing method and device, electronic equipment and storage medium | |
Cap et al. | Ensuring resource trust and integrity in web browsers using blockchain technology | |
Mandavilli et al. | Detection of natural disaster affected areas using R | |
Tang et al. | An IOTA-Based Service Discovery Framework for Fog Computing | |
Morales et al. | Analyzing temporal graphs of malware distribution networks | |
Shen et al. | Freeweb: P2p-assisted collaborative censorship-resistant web browsing | |
Moalla et al. | Trust path: a distributed model of search paths of trust in a peer‐to‐peer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |