KR101464736B1 - Security Assurance Management System and Web Page Monitoring Method - Google Patents

Security Assurance Management System and Web Page Monitoring Method Download PDF

Info

Publication number
KR101464736B1
KR101464736B1 KR1020130080859A KR20130080859A KR101464736B1 KR 101464736 B1 KR101464736 B1 KR 101464736B1 KR 1020130080859 A KR1020130080859 A KR 1020130080859A KR 20130080859 A KR20130080859 A KR 20130080859A KR 101464736 B1 KR101464736 B1 KR 101464736B1
Authority
KR
South Korea
Prior art keywords
block
node
tree
information
block tree
Prior art date
Application number
KR1020130080859A
Other languages
Korean (ko)
Inventor
양미선
Original Assignee
(주) 에스씨에이시스템
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 에스씨에이시스템 filed Critical (주) 에스씨에이시스템
Priority to KR1020130080859A priority Critical patent/KR101464736B1/en
Application granted granted Critical
Publication of KR101464736B1 publication Critical patent/KR101464736B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Provided are an information security management system and a homepage forgery detection method using the system. The information security management system includes: an information security management server which collects website data by accessing a target information security domain through a predetermined uniform resource identifier (URI), and determines whether the website is forged or not by analyzing the collected data. The information security management server generates a first block tree from the collected data and determines the forgery through block hashing.

Description

정보보호 관리 시스템 및 이를 통한 홈페이지 위변조 탐지 방법 {Security Assurance Management System and Web Page Monitoring Method}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information security management system,

본 발명은 정보보호 관리 시스템에 관한 것으로서 특히 홈페이지 위변조를 탐지하는 기술에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information security management system, and more particularly, to a technology for detecting forgery of a home page.

정보 보호란 정보자산을 공개 및 노출, 변조 및 파괴, 지체 및 재난 등의 각종 위협으로부터 보호하여 정보의 기밀성, 무결성, 가용성을 확보하는 것을 의미한다. 정보 보호의 목적은 정보자산 침해 위협 및 사고를 사전에 예방하고, 발생 중인 문제를 검출하며, 과거의 문제 발생 이력을 기초로 시스템의 문제점을 교정하는 것이다. 이러한 침해에는 작업자의 실수에 따른 비고의적 침해는 물론 내부자의 불건전한 의도에 따른 정보유출, 외부 침입자의 해킹에 의한 정보유출 등의 예가 있다.Information protection means securing the confidentiality, integrity and availability of information by protecting information assets from disclosure, disclosure, modification and destruction, and various threats such as delays and disasters. The purpose of information protection is to prevent threats and accidents of information assets in advance, to detect problems in progress, and to correct problems in the system based on past history of problems. Examples of such infringement include non-intentional infringement by operator error, information leakage due to insider's intentional intentions, and information leakage by hacking of external intruder.

종래에는 기업 내의 정보보호를 위하여 다양한 계층 및 단계별로 보안 장치를 구축하여 연동시키는 것이 일반적이다. 이러한 보안 장치에는 예를 들어 지문, 비밀번호 등을 통한 출입통제장치, 소프트웨어나 하드웨어를 통한 보안 솔루션, 회사 내부의 정책, 지침 등의 설정, 운용 및 감사 등이 포함된다.Conventionally, in order to protect information in an enterprise, it is common to establish security devices in various layers and stages and to link them together. Such security devices include, for example, access control devices using fingerprints, passwords, security solutions through software or hardware, setting up internal policies and guidelines, operation and auditing.

한편, 기업내의 정보보호를 위하여 구축되는 정보보호 솔루션은 국제표준화기구(ISO)에서 제정한 정보보호 관리체계에 대한 국제 표준/국제 인증을 위한 ISO 27001 표준 규약을 준수할 필요가 있다. ISO 27001은 정보보호 정책, 물리적 보안, 정보접근 통제 등 정보보안 관련 11개 영역, 133개 항목에 대한 엄격한 심사와 검증을 통과하여야 인증된다.On the other hand, the information protection solution established for the protection of information in the enterprise needs to comply with the international standard for information protection management system established by the International Organization for Standardization (ISO) / ISO 27001 standard for international certification. ISO 27001 is validated through rigorous screening and verification of 11 areas, 133 items related to information security such as information security policy, physical security and information access control.

본 발명은 ISO 27001 규정에 따라 운용되는 정보보호 관리 시스템을 이용하여 정보보호 관리 대상이 되는 웹사이트에 대한 효과적인 위/변조 모니터링 기능을 제공한다.The present invention provides an effective up / down monitoring function for a web site which is subject to information protection management by using an information protection management system operated in accordance with ISO 27001 regulation.

또한, 본 발명은 종래의 웹사이트 위변조 탐지 기술에 비해 고속으로 탐지 및 분석이 가능한 웹사이트 위변조 감시 방법을 제공한다.
Further, the present invention provides a method for monitoring forgery and tampering with a web site, which can detect and analyze at a high speed compared to a conventional web site forgery detection technique.

본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood from the following description.

상기 목적을 달성하기 위하여, 본 발명의 일 측면에 따른 정보보호 관리 시스템은, 지정된 URI(Uniform Resource Identifier)를 통해 정보보호 대상 도메인에 접속하여 웹사이트의 데이터를 수집하고, 수집된 데이터를 분석하여 상기 웹사이트의 위변조 여부를 판단하는 정보보호 관리 서버를 포함하고, 상기 정보보호 관리 서버는 상기 수집된 데이터로부터 제1 블록 트리를 생성하고, 이를 블록 해싱(block hashing)하여 상기 위변조 여부를 판단한다.In order to achieve the above object, an information protection management system according to an aspect of the present invention accesses an information protection target domain through a designated URI (Uniform Resource Identifier) to collect data of a web site, analyzes the collected data The information protection management server generates a first block tree from the collected data and performs block hashing on the first block tree to determine whether the web site is forged or not .

여기서, 상기 정보보호 관리 서버는 상기 제1 블록 트리를 상기 URI에 대하여 이전에 생성된 제2 블록 트리와 블록 노드 별로 해시값을 비교하여 상기 위변조 여부를 판단할 수 있다.Here, the information protection management server may compare the hash value of each block node with the second block tree generated previously for the URI of the first block tree to determine whether the forgery or falsification has occurred.

여기서, 상기 정보보호 관리 서버는 상기 제1 블록 트리의 각 블록 노드를 상기 제2 블록 트리의 동일한 깊이(depth)의 블록 노드와 비교하여 동일한 해시값을 가지는 블록 노드가 검색되면 해시값이 동일한 두 블록 노드의 플래그(flag)를 정상으로 설정할 수 있다.Here, the information protection management server compares each block node in the first block tree with a block node at the same depth in the second block tree, and if the block node having the same hash value is searched, The flag of the block node can be set to be normal.

여기서, 상기 정보보호 관리 서버는 상기 제1 블록 트리의 블록 노드 중에서 부모 노드의 플래그가 정상이 아닌 블록 노드만을 해시값 비교 대상으로 선택할 수 있다.Here, the information protection management server may select only the block nodes whose flags of the parent node are not normal among the block nodes of the first block tree.

여기서, 상기 정보보호 관리 서버는 상기 웹사이트의 게시물에 대한 비승인 스크립트의 삽입 여부를 검사하여 상기 웹사이트의 위변조 여부를 판단할 수 있다.Here, the information protection management server may determine whether the web site is forged or not by inspecting whether or not an unauthorized script is inserted into the web site.

여기서, 상기 정보보호 관리 서버는 사용자 단말을 통해 상기 URI 정보를 입력받고, 이에 응답하여 상기 정보보호 대상 도메인에 대한 위변조 검사 결과를 상기 사용자 단말로 전송할 수 있다.
Here, the information protection management server may receive the URI information through the user terminal, and may transmit a forgery test result to the user terminal in response to the URI information.

또한, 본 발명의 다른 실시예에 따른 정보보호 관리 시스템에서의 홈페이지 위변조 탐지 방법은, 지정된 URI(Uniform Resource Identifier)를 통해 정보보호 대상 도메인에 접속하여 웹사이트의 데이터를 수집하는 단계; 수집된 데이터를 파싱(parsing)하여 HTML 태그를 추출하고, 추출된 HTML 태그를 블록 단위로 구성하여 제1 블록 트리를 생성하는 단계; 및 상기 제1 블록 트리를 상기 웹사이트에 대해 이전에 생성된 제2 블록 트리와 해시값을 비교하여 상기 웹사이트의 위변조 여부를 판단하는 단계;를 포함한다.According to another aspect of the present invention, there is provided a method for detecting a web site forgery in an information protection management system, comprising: collecting data of a web site by accessing an information protection target domain through a designated URI (Uniform Resource Identifier); Extracting HTML tags by parsing the collected data, and constructing the extracted HTML tags on a block basis to generate a first block tree; And comparing the hash value with a second block tree previously generated for the web site to determine whether the website is forged or falsified.

여기서, 상기 웹사이트의 위변조 여부를 판단하는 단계는, 상기 제1 블록 트리의 해시값을 계산하는 단계; 상기 제1 블록 트리의 블록 노드를 깊이(depth) 순으로 순차적으로 선택하여 상기 제2 블록 트리의 동일 깊이의 블록 노드와 해시값을 비교하는 단계; 해시값이 동일한 블록 노드가 검색되면 동일한 해시값을 가지는 두 블록 노드의 플래그(flag)를 정상으로 설정하는 단계; 및 상기 제2 블록 트리의 동일 깊이에서 동일한 해시값을 가지는 블록 노드가 검색되지 않으면 상기 제1 블록 트리의 블록 노드 및 상기 제2 블록 트리의 동일 깊이의 모든 블록 노드의 플래그를 이상으로 설정하는 단계;를 포함할 수 있다.The step of determining whether the web site is forged or falsified includes: calculating a hash value of the first block tree; Selecting sequentially the block nodes of the first block tree in order of depth and comparing the hash values with the block nodes of the same depth in the second block tree; If a block node having the same hash value is found, setting a flag of two block nodes having the same hash value as normal; And setting a flag of all the block nodes of the same depth of the block node of the first block tree and the block node of the second block tree to be abnormal if a block node having the same hash value at the same depth of the second block tree is not found ; ≪ / RTI >

여기서, 상기 웹사이트의 위변조 여부를 판단하는 단계는, 상기 제1 블록 트리의 블록 노드 중에서 부모 노드의 플래그가 이상으로 설정된 블록 노드만을 해시값 비교 대상으로 선택하는 단계를 더 포함할 수 있다.The step of determining whether the website is forged or falsified may further include selecting only a block node whose flag of the parent node is abnormal among the block nodes of the first block tree as a hash value comparison object.

여기서, 상기 수집된 데이터에서 링크(link)가 검색되면 상기 링크에 대응되는 웹페이지를 검사대상 목록에 추가하는 단계를 더 포함할 수 있다.Here, if a link is retrieved from the collected data, the method may further include adding a web page corresponding to the link to an inspection target list.

여기서, 상기 웹사이트의 위변조 여부를 판단하는 단계는, 상기 제1 블록 트리의 블록 노드의 플래그가 이상이고 그 자식 노드의 플래그가 모두 정상인 경우에 상기 블록 노드가 수정된 것으로 판단하는 단계, 상기 제1 블록 트리의 블록 노드의 플래그가 이상이고 그 자식 노드가 없는 경우에 상기 블록 노드가 신규 생성된 것으로 판단하는 단계 및 상기 제1 블록 트리의 블록 노드의 플래그가 이상이고 그 자식 노드 중 하나 이상의 플래그가 이상인 경우에 상기 플래그가 이상인 자식 노드가 수정된 것으로 판단하는 단계를 더 포함할 수 있다.
The step of determining whether the web site is forged or falsified includes the steps of determining that the block node has been modified when the flags of the block nodes of the first block tree are abnormal and the flags of the child nodes are all normal, A step of judging that the block node is newly created when the flag of the block node of the one block tree is abnormal and the child node is not present, and a step of judging that the flag of the block node of the first block tree is abnormal and one or more flags Determining that the child node whose flag is abnormal is determined to have been modified if the child node is abnormal.

상기 목적을 달성하기 위한 구체적인 사항들은 첨부된 도면과 함께 상세하게 후술된 실시예들을 참조하면 명확해질 것이다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG.

그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라, 서로 다른 다양한 형태로 구성될 수 있으며, 본 실시예들은 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. It is provided to fully inform the owner of the scope of the invention.

전술한 본 발명의 과제 해결 수단 중 하나에 의하면, 정보보호 관리 대상이 되는 웹사이트에 대한 효과적인 위/변조 모니터링 기능을 제공할 수 있다.According to one of the above objects of the present invention, it is possible to provide an effective up / down monitoring function for a web site to be subjected to information security management.

도 1은 본 발명의 일 실시예에 따른 정보보호 관리 시스템을 개략적으로 나타낸 전체 개요도이다.
도 2는 본 발명의 일 실시예에 따른 정보보호 관리 서버의 세부 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 정보보호 관리 서버에서 PDCA 관리 방식에 따라 정보보호 관리 시스템이 운용되는 과정을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 정보보호 관리 서버에서 홈페이지 위변조를 감시하는 과정을 설명하기 위한 흐름도이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 정보보호 관리 서버에서 수집된 HTML 태그를 이용하여 블록 트리를 구성하는 방법을 설명하기 위한 도면이다.
도 7은 구성된 블록 트리를 이용하여 홈페이지 위변조 여부를 판단하는 방법을 설명하기 위한 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a general schematic diagram of an information protection management system according to an embodiment of the present invention; FIG.
2 is a block diagram illustrating a detailed configuration of an information protection management server according to an embodiment of the present invention.
3 is a flowchart illustrating a process of operating an information protection management system according to a PDCA management method in an information protection management server according to an embodiment of the present invention.
4 is a flowchart illustrating a process for monitoring forgery of a home page in an information protection management server according to an exemplary embodiment of the present invention.
5 and 6 are views for explaining a method of constructing a block tree using HTML tags collected by an information protection management server according to an embodiment of the present invention.
FIG. 7 is a diagram for explaining a method for determining whether a homepage forgery or falsification is made using a constructed block tree.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the present invention has been described in connection with certain exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and similarities. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. In addition, numerals (e.g., first, second, etc.) used in the description of the present invention are merely an identifier for distinguishing one component from another.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Also, in this specification, when an element is referred to as being "connected" or "connected" with another element, the element may be directly connected or directly connected to the other element, It should be understood that, unless an opposite description is present, it may be connected or connected via another element in the middle.

이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. The suffix "module" and " part "for the components used in the following description are given or mixed in consideration of ease of specification, and do not have their own meaning or role.

본 명세서에서 설명되는 사용자 단말에는 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 장치(Tablet Device), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션 등이 포함될 수 있다.
The user terminal described in this specification includes a smart phone, a laptop computer, a tablet device, a digital broadcasting terminal, a PDA (personal digital assistant), a portable multimedia player (PMP) .

도 1은 본 발명의 일 실시예에 따른 정보보호 관리 시스템의 전체 개요도이다.1 is an overall schematic diagram of an information protection management system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 정보보호 관리 시스템은 정보보호 관리 서버(100)를 통해 구현되며, 정보보호 관리 서버(100)와 연동되는 하나 이상의 사용자 단말(200)을 통해 정보보호 관리 대상이 되는 도메인(300)을 설정하고 이에 대한 정보보호 검사를 수행하여 그 결과를 사용자 단말(200)로 전송한다.1, the information protection management system of the present invention is implemented through an information protection management server 100, and is provided with at least one user terminal 200 interlocked with the information protection management server 100, The target domain 300 is set and the information protection check is performed to transmit the result to the user terminal 200.

구체적으로, 정보보호 관리 서버(100)는 네트워크를 통해 연결된 사용자 단말(200)로부터 점검 대상, 점검 대상 항목 등의 정보를 입력받을 수 있다. 이때, 정보보호 관리 서버(100)와 사용자 단말(200) 간의 명령 전송 또는 데이터의 송수신을 위하여 별도의 어플리케이션이 사용자 단말(200)에 설치될 수 있으며, 상기 어플리케이션은 정보보호 관리 서버(100)로부터 사용자 단말(200)로 다운로드 되거나 또는 별도의 어플리케이션 마켓을 통해 다운받을 수도 있다.Specifically, the information protection management server 100 can receive information such as an object to be checked and an item to be checked from the user terminal 200 connected through a network. At this time, a separate application may be installed in the user terminal 200 for command transmission or transmission / reception of data between the information protection management server 100 and the user terminal 200, and the application may be transmitted from the information protection management server 100 Downloaded to the user terminal 200 or downloaded through a separate application market.

이 경우, 점검 대상은 기업내의 특정 도메인(Domain)이거나 또는 도메인 내에서 운용되는 개별 웹사이트일 수 있다. 이때, 사용자 단말(200)은 점검 대상이 되는 도메인 또는 웹사이트를 URI(Uniform Resource Identifier, 통합 자원 식별자) 형태로 제공할 수 있다.In this case, the object to be checked may be a specific domain in the enterprise or an individual website operated in the domain. At this time, the user terminal 200 can provide a domain or web site to be checked in the form of a URI (Uniform Resource Identifier).

정보보호 관리 서버(100)는 미리 설정된 값에 따라 점검 대상을 주기적 또는 비주기적으로 점검한다. 점검 결과는 사용자 단말(200)에 설치된 어플리케이션 UI 또는 미리 설정된 이메일 주소를 통해 사용자 단말(200)로 전송될 수 있다.The information security management server 100 periodically or non-periodically checks the check target in accordance with a preset value. The check result may be transmitted to the user terminal 200 through the application UI installed in the user terminal 200 or a predetermined e-mail address.

이하에서, 본 발명의 정보보호 관리 서버(100)의 세부 구성 및 기능을 설명하기로 한다.
Hereinafter, the detailed configuration and functions of the information security management server 100 of the present invention will be described.

도 2는 본 발명의 일 실시예에 따른 정보보호 관리 서버(100)의 세부 구성을 나타내는 블록도이다.2 is a block diagram illustrating a detailed configuration of the information security management server 100 according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 정보보호 관리 서버(100)는 수집부(110), 분석부(130), 관리부(150), 인증부(170) 및 레포팅부(180)를 포함한다. 또한, 설정, 수집, 가공된 정보들을 저장하기 위하여 수집 데이터 DB(120), 분석 데이터 DB(140), 통제항목 DB(160) 등의 저장 수단을 포함할 수 있다.2, the information protection management server 100 of the present invention includes a collection unit 110, an analysis unit 130, a management unit 150, an authentication unit 170, and a reporting unit 180 . In addition, it may include storage means such as a collection data DB 120, an analysis data DB 140, and a control item DB 160 in order to store set, collected, and processed information.

정보보호 관리 서버(100)는 정보보호를 위하여 예방 활동, 관리 활동, 품질 보증 및 침해징후탐지 등의 다양한 기능을 수행할 수 있다. 여기서, 예방 활동에는 홈페이지 위변조 모니터링 기능 등이 포함되며, 수집된 데이터의 HTML 구조를 이용하여 블록 해싱(Block Hashing)을 고속으로 수행하고 이를 통해 홈페이지에 불법으로 심어놓은 악성 코드나 불법 결제 코드 등을 찾아내서 제거할 수 있다.The information protection management server 100 can perform various functions such as prevention activities, management activities, quality assurance, and detection of infringement signs in order to protect information. Here, the preventive activity includes the function of monitoring the forgery of the homepage, and the block structure of the collected data is used to perform block hashing at a high speed, and malicious code or illegal payment code illegally embedded on the homepage It can be found and removed.

또한, 관리 활동에는 PDCA 관리 기능이 포함될 수 있다. 여기서, PDCA 관리란 정보보호 관리 시스템을 운용하는 방식의 하나로서, 침해사고 대응체계를 수립하고(Plan), 수립된 대응체계를 시스템 상에 구현 및 운영하며(Do), 운영 상황을 실시간으로 모니터링 및 점검하고(Check), 상기 운영 과정에서 얻은 여러 개선사항을 운용중인 정보보호 관리 시스템에 반영하여 교정하고 개선하는(Act) 일련의 선순환 운영 방법이다. 또한, 보안 수준 및 개선 계획 등 조직의 보안현황을 정량적으로 관리하는 활동도 이에 포함될 수 있다.Management activities may also include PDCA management functions. Here, PDCA management is one of the methods of operating the information protection management system. It establishes the infringement incident response system (Plan), implements and operates the established response system on the system (Do), monitors the operation status in real time And checking and correcting various improvements obtained in the above operation process to the information protection management system in operation to improve and correct the problem (Act). This may include activities to quantitatively manage the security status of an organization, such as security levels and improvement plans.

품질 보증 활동에는 정보보호 대상에 대한 실시간 관리를 통한 로그 수집 및 이를 정규화하고 분석하는 활동 등이 포함될 수 있다. 또한, 침해징후탐지 활동에는 시나리오 기반의 침해징후탐지 알고리즘을 이용하여 해킹 또는 침해 징후를 사전에 예측하고 이를 차단하는 활동이 포함될 수 있다.Quality assurance activities may include activities such as collecting logs through real-time management of information protection targets and normalizing and analyzing them. In addition, an activity of detecting an infringement symptom may include an activity of anticipating and blocking a hacking or infringement symptom using a scenario-based infringement symptom detection algorithm.

이와 같은 정보보호 활동은 정보보호 관리 서버(100) 상에서 도 3에 도시된 것과 같이 보안 계획 수립(10), 데이터 수집(20), 주기적 측정/표시(30), 보안정책 개선(40) 의 네 과정이 반복 순환되는 구조로 운용될 수 있다.Such an information protection activity may be performed on the information security management server 100 as shown in FIG. 3, such as security planning 10, data collection 20, periodic measurement / indication 30, It can be operated as a structure in which the process is repeatedly circulated.

우선, 보안 계획 수립 단계(10)에서는 보안통제 항목의 정의, 보안 정책의 정의, 징후탐지 규칙의 정의, 위변조 탐지 정의 등이 이루어질 수 있으며, 이 과정은 관리부(150)에 의해 수행될 수 있다. 보안통제 항목의 정의 과정에서는 보안 항목, 보안 목표, 측정 방법, 측정 주기 등을 설정할 수 있다. 보안정책의 정의 과정에서는 보안정책 항목을 정의하고 보안정책 내용을 입력한다. 징후탐지 규칙의 정의 과정에서는 다양한 해킹 시나리오를 모델링하고 이에 대한 실행 규칙(rule)을 설정한다. 위변조 탐지 정의 과정에서는 모니터링 대상을 입력하고 모니터링 대상을 관리한다. 이 과정에서 정의된 각종 항목들은 통제항목 DB(160)에 저장될 수 있다.First, in the security planning step 10, definition of a security control item, definition of a security policy, definition of a symptom detection rule, and definition of falsification detection can be performed. This process can be performed by the management unit 150. In the definition process of security control items, security items, security objectives, measurement methods, and measurement periods can be set. In the definition process of security policy, security policy items are defined and security policy contents are inputted. In the process of defining the symptom detection rules, various hacking scenarios are modeled and rules are set for them. In the forgery detection definition process, the monitoring target is input and the monitoring target is managed. Various items defined in this process can be stored in the control item DB 160.

다음 단계에서, 데이터 수집(20)이 이루어질 수 있다. 데이터 수집은 수집부(110)에 의해 처리되며, 데이터 수집 단계에서는 필요한 로그 등의 데이터를 실시간 또는 필요에 따라 비주기적으로 수집한다. 이 때, 수집된 데이터들은 수집 데이터 DB(120)에 체계적으로 저장, 관리된다. 실시간 수집되는 데이터에는 정보보호 시스템의 로그, 정보보호 관리 서버(100) 및 이와 연동되는 서드파티 서버들의 로그 및 상태 정보, 네트워크에 대한 로그, 상태 정보 및 트래픽 정보, 그리고 모니터링 대상이 되는 웹페이지의 콘텐츠 등이 포함될 수 있으며, 비실시간 수집 데이터에는 보안정책 정보 및 보안활동 증적 자료 등이 포함될 수 있다.In the next step, data collection 20 can be done. The data collection is processed by the collection unit 110, and in the data collection step, data such as logs required are collected periodically or non-periodically as needed. At this time, the collected data is systematically stored and managed in the collected data DB 120. Data collected in real-time include logs of the information protection system, log and status information of the information protection management server 100 and the third party servers associated therewith, logs of the network, status information and traffic information, Content, and non-real-time collected data may include security policy information and security activity tracing data.

이후, 수집된 각종 데이터를 기반으로 정보보호 대상을 실시간으로 측정하고 이를 대시보드(dashboard)에 표시할 수 있다(30). 분석부(130)는 정의된 보안통제 항목, 징후탐지 실행규칙(rule) 및 웹페이지 위변조 탐지 정의 등을 기초로 하여 상기 실시간 측정을 수행할 수 있다. 측정 결과는 분석 데이터 DB(140)에 저장되거나 레포팅부(180)를 통해 대시보드에 표시될 수 있다. 이때, 대시보드에 표시되는 내용에는 예를 들어 보안항목별 목표대비 실적 점수, 문제내용에 대한 세부현황, 징후탐지 결과 또는 웹페이지 위변조 모니터링 결과 등이 포함될 수 있다. 또한, 이 단계에서 문제 내용 세부현황에 대한 예외 처리나 웹페이지 위변조 모니터링 결과에 대한 예외처리, 그리고 발생 문제에 대한 대응 및 처리를 수행할 수 있다.Then, the information protection object can be measured in real time based on various collected data and displayed on a dashboard (30). The analysis unit 130 may perform the real-time measurement based on the defined security control item, a symptom detection execution rule, and a web page forgery detection detection definition. The measurement result may be stored in the analysis data DB 140 or displayed on the dashboard through the reporting unit 180. At this time, the contents displayed on the dashboard may include, for example, a score relative to the goal per security item, a detailed status of the content of the problem, a symptom detection result, or a web page forgery monitoring result. At this stage, exception processing for details of problem contents, exception processing for monitoring result of forgery of web page, and handling of occurrence problems can be performed.

다음 단계에서, 측정된 결과를 기반으로 하여 보안 정책을 개선한다(40). 보안 정책의 개선은 관리부(150)를 통해 처리되며, 이러한 개선 과정에는 보안통제 항목의 재설정, 보안정책의 재설정, 위변조 탐지 대상의 재설정 등이 포함될 수 있다. 또한, 상기 재설정에 대한 이력 관리도 이 단계에서 수행될 수 있다.In the next step, the security policy is improved based on the measured result (40). The improvement of the security policy is processed through the management unit 150. Such an improvement process may include resetting the security control item, resetting the security policy, and resetting the forgery detection target. The history management for the resetting may also be performed at this stage.

이와 같은 선순환 구조의 정보보호 관리를 통해 본 발명은 관리적, 물리적, 환경적, 기술적 분야에 걸쳐 전체적인 보안 관리를 가능하게 하고, 변화하는 보안 수준에 대응하여 상시적인 보안 정책의 변경을 가능하게 하며, 시스템의 보안신뢰도를 객관적인 기준에 따라 정량화하여 보여줄 수 있는 효과를 발생시킨다.
Through the information security management of such a virtuous cycle structure, the present invention enables overall security management in the administrative, physical, environmental, and technical fields, enables the security policy to be changed at all times in accordance with the changed security level, The security reliability of the system can be quantified according to an objective criterion.

도 4는 본 발명의 정보보호 관리 시스템에서의 홈페이지 위변조 탐지 방법을 나타내는 흐름도이다.4 is a flowchart illustrating a method for detecting forgery of a homepage in the information protection management system of the present invention.

도 4를 참조하면, 본 발명의 정보보호 관리 시스템은 정보보호 대상이 되는 도메인을 대상으로 운용중인 홈페이지의 위변조 여부를 실시간으로 탐지하고 대응할 수 있다.Referring to FIG. 4, the information protection management system of the present invention can detect and respond to a forgery or falsification of a homepage being operated on a domain that is an information protection target in real time.

이를 위하여, 정보보호 관리 서버(100)의 관리부(150)는 위변조 탐지의 대상이 되는 도메인 정보를 입력받고 이를 통제항목 DB(160)에 저장한다. 이때, 대상 도메인은 URI 형태로 사용자 단말(200)을 통해 입력되거나 또는 정보보호 관리 서버(100)에 연결된 별도의 관리자용 단말을 통해 입력될 수 있다.To this end, the management unit 150 of the information protection management server 100 receives domain information to be subjected to forgery detection and stores the domain information in the control item DB 160. At this time, the target domain may be input through the user terminal 200 in the form of a URI, or may be input through a separate administrator terminal connected to the information protection management server 100.

이후, 수집부(110)는 입력된 URI를 이용하여 대상 도메인에 접속하여 홈페이지의 데이터를 수집(crawling)한다(S102). 이때, 해당 홈페이지의 최초 페이지(root page)가 첫 크롤링 대상으로 지정될 수 있다.Then, the collecting unit 110 accesses the target domain using the input URI and crawls the homepage data (S102). At this time, the root page of the homepage can be designated as the first crawling target.

이후, 분석부(130)는 수집된 데이터를 파싱(parsing)하여 필요한 데이터를 추출한다(S104). 이 과정에서 추출되는 데이터에는 HTML 태그, 이미지, 내부 링크의 URI, 콘텐츠 등이 포함될 수 있다.Thereafter, the analysis unit 130 parses the collected data to extract necessary data (S104). The extracted data may include HTML tags, images, URIs of internal links, contents, and the like.

분석부(130)는 추출된 HTML 태그를 이용하여 해당 웹페이지에 대한 블록 트리를 생성한다(S110). 이 때, 생성되는 블록 트리는 HTML 문서의 시작 태그와 종결 태그의 쌍을 하나의 블록 노드로 변환한 것이며, 각각의 블록 노드 안에 또 다른 태그 쌍이 포함되는 경우에 이를 자식 노드로 변환한 트리 구조이다. 참고로, 블록 트리를 구성하는 각각의 블록을 블록 노드(block node)로 호칭하기로 한다.The analysis unit 130 generates a block tree for the web page using the extracted HTML tag (S110). In this case, the generated block tree is a tree structure in which a start tag and a closing tag pair of an HTML document are converted into one block node, and another tag pair is included in each block node, into a child node. For reference, each block constituting the block tree is referred to as a block node.

도 5에는 이러한 블록 노드의 구조의 일례가 도시되어 있다. 도 5를 참조하면, 블록 노드는 Node, Depth, Parent, Order, Hash, Flag 의 항목으로 구성될 수 있다. 여기서, Node는 노드 번호(Node no.)이고, Depth는 해당 블록 트리의 루트 노드를 기준으로 하는 해당 노드의 깊이이고, Parent는 해당 노드의 부모 노드의 노드 번호이고, Order는 동일 깊이인 모든 블록 노드 중에서 해당 노드의 순서를 의미한다. 또한, Hash는 해당 블록 노드의 해시값이고, Flag는 해당 노드의 위변조 여부를 검사한 결과를 설정하기 위한 플래그이다. 만일, 특정 블록 노드의 Flag 값이 정상(same)으로 설정되었다면, 해당 블록 노드 및 이의 자식 노드들은 위변조되지 않았다고 판단되며, 따라서 Flag가 정상인 블록 노드 및 그 자식 노드들에 대해서는 검사를 진행할 필요가 없어서 비교 검사의 횟수 및 검사 시간이 단축 가능하다.Fig. 5 shows an example of the structure of such a block node. Referring to FIG. 5, a block node may be composed of Node, Depth, Parent, Order, Hash, and Flag items. Here, Node is the node number, Depth is the depth of the corresponding node based on the root node of the block tree, Parent is the node number of the parent node of the corresponding node, Means the order of the corresponding node among the nodes. Hash is a hash value of the corresponding block node, and Flag is a flag for setting a result of checking whether the node is forged or falsified. If the Flag value of a specific block node is set to be the same, it is determined that the corresponding block node and its child nodes are not forged. Therefore, it is not necessary to perform a test for a block node whose flag is normal and its child nodes The number of comparative tests and the inspection time can be shortened.

이와 같은 구조를 가지는 블록 노드를 이용하여 임의의 웹페이지에 대한 블록 트리를 구성하는 방법은 도 6을 참조하여 후술하기로 한다.A method of constructing a block tree for an arbitrary web page using block nodes having such a structure will be described below with reference to FIG.

다시 도 4로 되돌아가서, 만일 이전에 동일한 URI에 대하여 검사한 결과가 없는 경우, 다시 말해, 해당 URI 에 대한 검사가 최초인 경우에(S112), 생성된 블록 트리의 각 블록 노드에서의 해시값을 계산하고 이를 Hash에 저장한다(S114). 반면에, 해당 URI에 대한 이전 검사 결과가 존재하는 경우, 즉, 해당 URI에 대하여 과거 생성된 블록 트리가 존재하는 경우에, 분석부(130)는 이전 블록 트리와 신규 블록 트리의 해시값을 비교한다(S116). 참고로 이와 같은 블록 트리에서의 블록 간의 해시값 비교를 블록 해싱(block hashing)이라고 호칭하기로 한다. 만일, 이전 블록 트리와 신규 블록 트리 간의 블록 해싱 결과, 변경 사실이 탐지되면(S118), 분석부(130)는 변경된 정보를 추출하고 이를 분석 데이터 DB(140)에 저장할 수 있다(S122). 만일 별다른 변경 사실이 탐지되지 않은 경우라면 해당 홈페이지의 이전 검사 결과와 동일하게 해당 페이지의 정상/비정상 여부를 결정한다. 예를 들어, 해당 페이지가 이전 검사에서 정상으로 판단된 경우에는 해당 페이지에 대한 금번 검사 결과도 정상으로 결정할 수 있다(S120). 상기 블록 해싱 방법에 대해서는 도 7을 참조하여 상세히 후술하기로 한다.Referring back to FIG. 4, if there is no previous check result for the same URI, that is, if the check for the corresponding URI is the first (S112), the hash value And stores it in the hash (S114). On the other hand, if there is a previous check result for the corresponding URI, that is, if a previously generated block tree exists for the URI, the analyzer 130 compares the hash value of the new block tree with the previous block tree (S116). For reference, the comparison of hash values between blocks in such a block tree will be referred to as block hashing. If the block hashing result between the previous block tree and the new block tree is detected (S118), the analysis unit 130 extracts the changed information and stores the modified information in the analysis data DB 140 (S122). If no change is detected, it is determined whether the corresponding page is normal or abnormal, as in the previous inspection result of the home page. For example, if the page is judged to be normal in the previous inspection, the inspection result for the page may be determined to be normal (S120). The block hashing method will be described later in detail with reference to FIG.

상기의 과정은 검사대상 목록에 추가된 내부 링크가 모두 검사 완료될 때까지 반복 수행된다(S180, S182). 이때, 상기 검사대상 목록은 수집된 데이터에서 추출된 내부 링크들이 저장되며, 큐(queue) 형태로 구현될 수 있다.The above process is repeated until all the internal links added to the inspection target list are inspected (S180, S182). At this time, the inspection target list stores internal links extracted from the collected data, and may be implemented in a queue form.

한편, 상기 S104 단계에서 파싱에 의해 이미지가 추출되면(S130), 분석부(130)는 기존 검사에서 추출되어 저장된 대응되는 이미지와 해시값을 비교하여(S132), 해시값이 동일하면 해당 이미지가 정상으로 판단하고, 동일하지 않으면 해당 이미지가 위변조 된 것으로 판단하여 이미지 변경 사실을 기록한다(S134). 이를 통해, 홈페이지 내에 삽입된 이미지의 파일명을 변경하거나 다른 이미지를 동일한 이미지 파일명으로 하여 삽입시키는 등의 이미지 위변조를 탐지할 수 있다.If an image is extracted by parsing in step S104 (S130), the analyzer 130 compares the hash value with the corresponding image extracted and stored in the existing test (S132). If the hash value is the same, If it is not the same, it is determined that the corresponding image is forged and the fact of image change is recorded (S134). Thus, it is possible to detect image forgery such as changing the file name of the image inserted in the homepage or inserting another image as the same image file name.

한편, 상기 S104 단계에서 HTML 파싱에 의해 링크가 추출되면(S150), 분석부(130)는 추출된 링크가 내부 링크인지 외부 링크인지를 판단하여(S152), 내부 링크인 경우에 해당 링크를 검사대상 목록에 추가한다(S154).If the link is extracted by HTML parsing in step S104 (S150), the analyzer 130 determines whether the extracted link is an internal link or an external link (S152). If the extracted link is an internal link, And adds it to the target list (S154).

한편, 상기 S104 단계에서 추출된 콘텐츠를 분석하여(S170), 콘텐츠 내에 별도의 태그가 존재하면 해당 태그 내에 링크가 포함되어 있는지를 판단한다(S172). 이때, 포함된 태그가 내부 링크인 경우에는 해당 링크를 검사대상 목록에 추가하고(S174), 외부 링크인 경우에는 콘텐츠 내에서 외부 링크가 발견되었음을 기록한다(S176).Meanwhile, if the content extracted in step S104 is analyzed (S170), if there is another tag in the content, it is determined whether a link is included in the tag (S172). At this time, if the included tag is an internal link, the link is added to the inspection target list (S174). If the included tag is an external link, it is recorded that the external link is found in the content (S176).

참고로, 게시판 등의 경우에 웹페이지의 구조(frame)는 변하지 않더라도 게시판에 게시되는 콘텐츠는 계속 변하기 때문에 이전 콘텐츠와의 단순 해시값 비교로는 게시판의 위변조 여부를 정확히 파악할 수 없다. 따라서, 게시판의 위변조를 판단하기 위하여 게시판 내의 콘텐츠에 브라우저에서 실행 가능한 스크립트가 임의로 삽입되었는지 여부를 검사하여 위변조 여부를 판단할 수 있다.For reference, in a case of a bulletin board or the like, even if the frame of the web page does not change, the content posted on the bulletin board continuously changes, so it is impossible to precisely grasp whether the bulletin board is forged or falsified by comparing the simple hash value with the previous contents. Therefore, in order to judge the forgery and falsification of the bulletin board, it is possible to check whether or not a script executable in the browser is arbitrarily inserted into the contents in the bulletin board and forgery or falsify it.

상기의 검색 과정이 모두 종료된 후에, 기록된 검색 결과를 취합하여 검사 보고서를 발행한다(S184). 발행되는 검사 보고서는 레포팅부(180)에 의해 대시보드에 게시될 수 있다.
After the above searching process is completed, the recorded search results are collected and an inspection report is issued (S184). The inspection report to be issued can be posted on the dashboard by the reporting unit 180.

다음으로, 블록 트리의 생성 방법을 상세히 설명하기로 한다.Next, a method of generating a block tree will be described in detail.

도 6은 웹페이지를 이용하여 생성되는 블록 트리의 일 예가 도시되어 있다. 웹페이지 T10은 다층 구조의 HTML 태그로 구성되어 있으며, 가장 상위 레벨, 다시 말해 Depth가 1인 태그 쌍에는 <HTML>, </HTML> 쌍이 있으며, 그 다음 레벨, 즉, Depth가 2인 태그 쌍에는 <Head>, </Head> 쌍과 <Body>, </Body> 쌍이 있으며, Depth 가 3인 태그 쌍에는 <Script>, </Script> 쌍과 두 개의 <Table>, </Table> 쌍이 있으며, Depth 가 4인 태그 쌍에는 <Table>, </Table> 쌍이 있다.FIG. 6 shows an example of a block tree generated using a web page. The web page T10 is composed of multi-layered HTML tags, and there are <HTML> and </ HTML> pairs at the top level, that is, a pair of tags with a Depth of 1, There are <Head> and </ Head> pairs and <Body> and </ Body> pairs, and the <Script> and </ Script> pairs and the two <Table> and </ Table> , And <Table> and </ Table> pairs exist in a tag pair with a depth of 4.

여기서, 분석부(130)는 상기 Depth 가 1인 <HTML>, </HTML> 쌍에 대응되는 블록 노드(B10)를 생성하고, 상기 Depth 가 2 인 <Head>, </Head> 쌍과 <Body>, </Body> 쌍에 각각 대응되는 블록 노드(B20, B30)을 생성하고, 상기 Depth 가 3인 <Script>, </Script> 쌍과 두 개의 <Table>, </Table> 쌍에 각각 대응되는 블록 노드(B40, B50, B60)를 생성하며, Depth가 4인 <Table>, </Table> 쌍에 대응되는 블록 노드(B70)을 생성하여 전체적인 블록 트리를 생성한다.Here, the analysis unit 130 generates a block node B10 corresponding to the pair of <HTML> and </ HTML> having the Depth of 1 and generates a block node B10 corresponding to the pair <Head> and </ Head> <Script> and </ Script> pairs and two <Table> and </ Table> pairs having the Depth of 3 are generated for each block node (B20, B30) Generates a block node B40 corresponding to the pair of <Table> and </ Table> having a depth of 4, and generates a whole block tree.

이때, 각각의 블록 노드에는 자신의 부모 노드의 노드 번호가 저장되는 Parent 항목이 포함되어 있어서, 상기 Parent 항목을 통해 해당 블록 노드가 어느 블록 노드의 자식 노드인지를 파악할 수 있다. 예를 들어, Depth 3인 세 블록 노드(B40, B50, B60)의 Parent는 3이므로 상기 블록 노드(B40, B50, B60)가 블록 노드(B30)에 포함되는 자식 노드임을 알 수 있다.At this time, each block node includes a Parent item in which the node number of its parent node is stored, so that it can be determined which block node is a child node of the corresponding block node through the Parent item. For example, since the parents of the three block nodes B40, B50 and B60 having Depth 3 are 3, it can be seen that the block nodes B40, B50 and B60 are child nodes included in the block node B30.

한편, 각각의 블록 노드의 노드 번호(Node)는 Depth 가 1인 블록 노드(B10)부터 순서대로 일정하게 증가하도록 설정될 수 있다. 또한, 각각의 블록 노드의 Order는 동일 Depth 내의 모든 블록 노드에 대해 순서대로 일정하게 증가하도록 설정될 수 있다. 예를 들어, Depth 가 3인 세 블록 노드(B40, B50, B60)에 대한 Order 값은 1, 2, 3 이 될 수 있다.
On the other hand, the node number (Node) of each block node can be set to increase in order from the block node B10 having the depth of 1. Also, the Order of each block node can be set to increase steadily in order for all the block nodes in the same Depth. For example, the Order value for three block nodes (B40, B50, B60) with a depth of 3 can be 1, 2, and 3.

다음으로, 블록 해싱을 통해 위변조 여부를 판단하는 방법에 대해서 설명하기로 한다.Next, a method for determining whether a forgery or falsification is made through block hashing will be described.

도 7은 직전 검사에서 생성된 이전 블록 트리(T20)와 신규 블록 트리(T30)를 나타내고 있다. 도 7에서 신규 블록 트리(T30)의 (3, 2, 1, 2) 블록 노드는 이전 검사 이후에 추가되었고, (6, 3, 3, 2) 블록 노드는 수정되었다고 가정한다. 참고로 블록 해시 과정에서 신규 블록 트리(T30)의 각 블록 노드의 flag 값이 정상(same)인 경우에는 해당 블록 노드 및 그 자식 노드에 대해서는 해시값 비교 검사를 수행하지 않을 수 있다.FIG. 7 shows a previous block tree T20 and a new block tree T30 generated in the previous test. It is assumed in FIG. 7 that the (3, 2, 1, 2) block nodes of the new block tree T30 have been added since the previous check and the (6, 3, 3, 2) block nodes have been modified. For reference, when the flag value of each block node of the new block tree T30 is the same in the block hash process, the hash value comparison check may not be performed on the corresponding block node and its child nodes.

먼저, 신규 블록 트리(T30)의 블록 노드를 depth 순으로 순차적으로 선택하여 이전 블록 트리(T20)의 동일 깊이의 모든 블록 노드와 해시값을 비교한다. 예를 들어, 신규 블록 트리(T30)의 (1, 1, 0, 1) 블록 노드와 동일 Depth 를 가지는 이전 블록 트리(T20)의 모든 노드(도 7에서는 (1, 1, 0, 1) 블록 노드 하나임)의 해시값을 비교한다.First, the block nodes of the new block tree T30 are sequentially selected in order of depth, and the hash values are compared with all the block nodes of the same depth in the previous block tree T20. For example, all the nodes of the previous block tree T20 having the same depth as the (1, 1, 0, 1) block node of the new block tree T30 Node is one).

이때, 이전 블록 트리(T20)의 동일 깊이(depth)에서 동일한 해시값을 가지는 블록 노드가 검색되지 않으면, 신규 블록 트리의 해당 블록 노드 및 이전 블록 트리(T20)의 동일 깊이의 모든 블록 노드의 flag를 이상(modify)으로 설정한다. 예를 들어, 신규 블록 트리(T30)의 (1, 1, 0, 1)와 이전 블록 트리(T20)의 (1, 1, 0, 1)의 해시값이 다르므로, 두 블록 노드의 flag를 이상(modify)으로 변경한다. 참고로 flag가 이상(modify) 상태인 경우, 해당 블록 노드는 추가, 수정, 삭제 중 어느 하나의 상태일 수 있다.At this time, if a block node having the same hash value at the same depth of the previous block tree T20 is not found, the flag of the corresponding block node of the new block tree and all the block nodes of the same depth of the previous block tree T20 Is set to modify. For example, since hash values of (1, 1, 0, 1) of the new block tree T30 and (1, 1, 0, 1) of the previous block tree T20 are different, Or more. For reference, when the flag is in a modified state, the corresponding block node may be in one of addition, modification, and deletion.

다음으로, 신규 블록 트리(T30)의 (2, 2, 1, 1)와 동일 Depth인 이전 블록 트리(T20)의 (2, 2, 1, 1), (3, 2, 1, 2)를 각각 비교하면 동일한 해시값을 가지는 블록 노드가 없으므로, 신규 블록 트리(T30)의 (2, 2, 1, 1) 및 이전 블록 트리(T20)의 (2, 2, 1, 1), (3, 2, 1, 2)의 flag를 이상(modify)으로 수정한다.Next, (2, 2, 1, 1), (3, 2, 1, 2) of the previous block tree T20 which is the same Depth as (2, 2, 1, 1) of the new block tree T30 (2, 2, 1, 1) of the new block tree T30 and the blocks 2, 2, 1, 1, 3, 4 of the previous block tree T20 because there is no block node having the same hash value. 2, 1, 2) is modified to modify.

마찬가지로, 신규 블록 트리(T30)의 (3, 2, 1, 2)와 동일 Depth인 이전 블록 트리(T20)의 (2, 2, 1, 1), (3, 2, 1, 2)를 각각 비교하면 동일한 해시값을 가지는 블록 노드가 없으므로, 신규 블록 트리(T30)의 (3, 2, 1, 2) 및 이전 블록 트리(T20)의 (2, 2, 1, 1), (3, 2, 1, 2)의 flag를 이상(modify)으로 수정한다.Likewise, (2, 2, 1, 1), (3, 2, 1, 2) of the previous block tree T20 which is the same Depth as (3, 2, 1, 2) (2, 2, 1, 1), (3, 2) of the new block tree T30 (3, 2, 1, 2) and the previous block tree T20 since there is no block node having the same hash value , 1, 2) are modified to modify.

한편, 해시값이 동일한 블록 노드가 검색되면, 동일한 해시값을 가지는 두 블록 노드 및 이의 자식 노드들의 flag를 정상(same)으로 설정한다. 예를 들어, 신규 블록 트리(T30)의 (4, 2, 1, 3)과 동일 Depth인 이전 블록 트리(T20)의 (2, 2, 1, 1), (3, 2, 1, 2)를 각각 비교하면 이전 블록 트리(T20)의 (3, 2, 1, 2)와 해시값이 동일하므로, 신규 블록 트리(T30)의 (4, 2, 1, 3) 및 그 자식 노드인 (7, 3, 3, 1)의 flag를 정상(same)으로 수정하고, 이전 블록 트리(T20)의 (3, 2, 1, 2) 및 그 자식 노드인 (6, 3, 3, 1)의 flag 를 정상(same)으로 수정한다.On the other hand, if a block node having the same hash value is found, the flag of two block nodes having the same hash value and its child nodes is set to be the same. For example, (2, 2, 1, 1), (3, 2, 1, 2) of the previous block tree T20 which is the same Depth as (4, 2, 1, 3) (4, 2, 1, 3) of the new block tree T30 and the child nodes 7 (2, 3, 4, 5) of the new block tree T30 are equal to the hash values of the previous block tree T20 (3, 2, 1, 2) of the previous block tree T20 and the flags of the child nodes 6, 3, 3, 1 of the previous block tree T20 To be the same.

이와 같은 방법으로 전체 노드를 탐색하면, 각 블록 노드마다 flag가 정상(same) 또는 이상(modify)으로 설정될 수 있다. If all nodes are searched in this way, the flag may be set to be the same or modified for each block node.

모든 검사가 완료된 후 신규 블록 트리의 flag를 검사하여, 만일 부모 노드(상위 노드)의 flag가 이상(modify)이고 그 자식 노드의 flag가 모두 정상(same)인 경우라면 해당 블록 노드(부모 노드)는 수정된 것으로 판단되며, 부모 노드의 flag가 이상(modify)이고 그 자식 노드가 없는 경우라면 해당 블록 노드(부모 노드)는 신규 생성된 것으로 판단되며, 부모 노드의 flag가 이상(modify)이고 그 자식 노드의 일부만 flag가 이상(modify)인 경우라면 해당 자식 노드가 수정된 것으로 판단될 수 있다.After all the tests are completed, the flags of the new block tree are checked. If the flags of the parent node are modified and the flags of the child nodes are the same, If the flag of the parent node is modified and the child node is not present, it is determined that the corresponding block node (parent node) is newly created. If the flag of the parent node is modified, If only a part of the child node is a flag, the corresponding child node may be determined to have been modified.

따라서, 블록 해싱을 통해 신규 블록 트리의 어느 블록 노드가 위변조 되었는지를 파악할 수 있다.
Therefore, it is possible to know which block node of the new block tree has been forged or modified through block hashing.

이와 같은 구성을 통해, 본 발명은 정보보호 관리 대상이 되는 웹사이트에 대한 효과적인 위/변조 모니터링 기능을 제공할 수 있는 효과가 있다.
With this configuration, the present invention has an effect of providing an effective up / down monitoring function for a web site to be subjected to information protection management.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention.

따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments.

본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

Claims (11)

정보보호 관리 시스템에 있어서,
지정된 URI(Uniform Resource Identifier)를 통해 정보보호 대상 도메인에 접속하여 웹사이트의 데이터를 수집하고, 수집된 데이터를 분석하여 상기 웹사이트의 위변조 여부를 판단하는 정보보호 관리 서버를 포함하고,
상기 정보보호 관리 서버는 상기 수집된 데이터로부터 제1 블록 트리를 생성하고, 이를 상기 URI에 대하여 이전에 생성된 제2 블록 트리와 동일한 깊이의 블록 노드 별로 블록 해싱(block hashing)하여 상기 위변조 여부를 판단하는,
정보보호 관리 시스템.
In an information protection management system,
And an information protection management server accessing the information protection target domain through a designated URI (Uniform Resource Identifier) to collect data of the web site and analyze the collected data to determine whether the web site is falsified or not,
The information protection management server generates a first block tree from the collected data and performs block hashing for each block node having the same depth as the second block tree generated for the URI to determine whether the forgery or falsification Judging,
Information security management system.
삭제delete 제 1 항에 있어서,
상기 정보보호 관리 서버는 상기 제1 블록 트리의 각 블록 노드를 상기 제2 블록 트리의 동일한 깊이(depth)의 블록 노드와 비교하여 동일한 해시값을 가지는 블록 노드가 검색되면 해시값이 동일한 두 블록 노드의 플래그(flag)를 정상으로 설정하는,
정보보호 관리 시스템.
The method according to claim 1,
The information protection management server compares each block node in the first block tree with a block node at the same depth in the second block tree to find a block node having the same hash value, To a normal state,
Information security management system.
제 3 항에 있어서,
상기 정보보호 관리 서버는 상기 제1 블록 트리의 블록 노드 중에서 부모 노드의 플래그가 정상이 아닌 블록 노드만을 해시값 비교 대상으로 선택하는,
정보보호 관리 시스템.
The method of claim 3,
Wherein the information protection management server selects only a block node whose flag of the parent node is not normal among the block nodes of the first block tree,
Information security management system.
제 1 항에 있어서,
상기 정보보호 관리 서버는 상기 웹사이트의 게시물에 대한 비승인 스크립트의 삽입 여부를 검사하여 상기 웹사이트의 위변조 여부를 판단하는,
정보보호 관리 시스템.
The method according to claim 1,
Wherein the information protection management server determines whether the web site is forged or not by inspecting whether or not an unauthorized script is inserted into the web site,
Information security management system.
제 1 항에 있어서,
상기 정보보호 관리 서버는 사용자 단말을 통해 상기 URI 정보를 입력받고, 이에 응답하여 상기 정보보호 대상 도메인에 대한 위변조 검사 결과를 상기 사용자 단말로 전송하는,
정보보호 관리 시스템.
The method according to claim 1,
Wherein the information protection management server receives the URI information through a user terminal and transmits a forgery test result to the user terminal in response to the URI information,
Information security management system.
정보보호 관리 시스템에서의 홈페이지 위변조 탐지 방법에 있어서,
지정된 URI(Uniform Resource Identifier)를 통해 정보보호 대상 도메인에 접속하여 웹사이트의 데이터를 수집하는 단계;
수집된 데이터를 파싱(parsing)하여 HTML 태그를 추출하고, 추출된 HTML 태그를 블록 단위로 구성하여 제1 블록 트리를 생성하는 단계; 및
상기 제1 블록 트리를 상기 웹사이트에 대해 이전에 생성된 제2 블록 트리와 동일한 깊이의 블록 노드 별로 해시값을 비교하여 상기 웹사이트의 위변조 여부를 판단하는 단계;를 포함하는,
홈페이지 위변조 탐지 방법.
A method for detecting forgery of a homepage in an information protection management system,
Accessing an information protection target domain through a designated URI (Uniform Resource Identifier) to collect data of a web site;
Extracting HTML tags by parsing the collected data, and constructing the extracted HTML tags on a block basis to generate a first block tree; And
Determining whether the web site is forged or not by comparing hash values of the first block tree with respect to each of the block nodes having the same depth as the second block tree previously generated for the web site;
How to detect forgery of homepage.
제 7 항에 있어서,
상기 웹사이트의 위변조 여부를 판단하는 단계는,
상기 제1 블록 트리의 해시값을 계산하는 단계;
상기 제1 블록 트리의 블록 노드를 깊이(depth) 순으로 순차적으로 선택하여 상기 제2 블록 트리의 동일 깊이의 블록 노드와 해시값을 비교하는 단계;
해시값이 동일한 블록 노드가 검색되면 동일한 해시값을 가지는 두 블록 노드의 플래그(flag)를 정상으로 설정하는 단계; 및
상기 제2 블록 트리의 동일 깊이에서 동일한 해시값을 가지는 블록 노드가 검색되지 않으면 상기 제1 블록 트리의 블록 노드 및 상기 제2 블록 트리의 동일 깊이의 모든 블록 노드의 플래그를 이상으로 설정하는 단계;를 포함하는,
홈페이지 위변조 탐지 방법.
8. The method of claim 7,
Wherein the step of determining whether the web site is forged or falsified comprises:
Calculating a hash value of the first block tree;
Selecting sequentially the block nodes of the first block tree in order of depth and comparing the hash values with the block nodes of the same depth in the second block tree;
If a block node having the same hash value is found, setting a flag of two block nodes having the same hash value as normal; And
Setting a flag of all the block nodes of the same depth in the block tree of the first block tree and the block tree of the second block tree to an abnormal value if a block node having the same hash value is not found in the same depth of the second block tree; / RTI &gt;
How to detect forgery of homepage.
제 7 항에 있어서,
상기 웹사이트의 위변조 여부를 판단하는 단계는,
상기 제1 블록 트리의 블록 노드 중에서 부모 노드의 플래그가 이상으로 설정된 블록 노드만을 해시값 비교 대상으로 선택하는 단계를 더 포함하는,
홈페이지 위변조 탐지 방법.
8. The method of claim 7,
Wherein the step of determining whether the web site is forged or falsified comprises:
Further comprising the step of selecting only a block node whose flag of the parent node is set to an abnormal value among the block nodes of the first block tree,
How to detect forgery of homepage.
제 7 항에 있어서,
상기 수집된 데이터에서 링크(link)가 검색되면 상기 링크에 대응되는 웹페이지를 검사대상 목록에 추가하는 단계를 더 포함하는,
홈페이지 위변조 탐지 방법.
8. The method of claim 7,
Further comprising: adding a web page corresponding to the link to the inspection target list when a link is retrieved from the collected data.
How to detect forgery of homepage.
제 7 항에 있어서,
상기 웹사이트의 위변조 여부를 판단하는 단계는,
상기 제1 블록 트리의 블록 노드의 플래그가 이상이고 그 자식 노드의 플래그가 모두 정상인 경우에 상기 블록 노드가 수정된 것으로 판단하는 단계;
상기 제1 블록 트리의 블록 노드의 플래그가 이상이고 그 자식 노드가 없는 경우에 상기 블록 노드가 신규 생성된 것으로 판단하는 단계; 및
상기 제1 블록 트리의 블록 노드의 플래그가 이상이고 그 자식 노드 중 하나 이상의 플래그가 이상인 경우에 상기 플래그가 이상인 자식 노드가 수정된 것으로 판단하는 단계;를 더 포함하는,
홈페이지 위변조 탐지 방법.
8. The method of claim 7,
Wherein the step of determining whether the web site is forged or falsified comprises:
Determining that the block node has been modified if the flag of the block node of the first block tree is abnormal and the flags of the child node are all normal;
Determining that the block node is newly created when the flag of the block node of the first block tree is abnormal and the child node is not present; And
Further comprising: determining that a child node of which the flag is abnormal has been modified when the flag of the block node of the first block tree is abnormal and one or more of the child nodes are abnormal,
How to detect forgery of homepage.
KR1020130080859A 2013-07-10 2013-07-10 Security Assurance Management System and Web Page Monitoring Method KR101464736B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130080859A KR101464736B1 (en) 2013-07-10 2013-07-10 Security Assurance Management System and Web Page Monitoring Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130080859A KR101464736B1 (en) 2013-07-10 2013-07-10 Security Assurance Management System and Web Page Monitoring Method

Publications (1)

Publication Number Publication Date
KR101464736B1 true KR101464736B1 (en) 2014-11-27

Family

ID=52291851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130080859A KR101464736B1 (en) 2013-07-10 2013-07-10 Security Assurance Management System and Web Page Monitoring Method

Country Status (1)

Country Link
KR (1) KR101464736B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160077747A (en) * 2014-12-24 2016-07-04 주식회사 파수닷컴 Apparatus and method for protecting contents included in a Hyper-text Markup Language document
KR101761513B1 (en) 2016-06-13 2017-07-26 한남대학교 산학협력단 Method and system for detecting counterfeit and falsification using image
KR101899049B1 (en) 2017-08-23 2018-09-14 (주)에프원시큐리티 Method for detecting forgery and falsification of website and management system for forgery and falsification of website
KR20210061918A (en) * 2019-11-20 2021-05-28 주식회사 지행아이티 Method of securing web application and apparatus thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120049570A (en) * 2010-11-09 2012-05-17 한양대학교 산학협력단 Method and apparatus for detecting smartphone virus using cloud security architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120049570A (en) * 2010-11-09 2012-05-17 한양대학교 산학협력단 Method and apparatus for detecting smartphone virus using cloud security architecture

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160077747A (en) * 2014-12-24 2016-07-04 주식회사 파수닷컴 Apparatus and method for protecting contents included in a Hyper-text Markup Language document
KR101640902B1 (en) 2014-12-24 2016-07-19 주식회사 파수닷컴 Apparatus and method for protecting contents included in a Hyper-text Markup Language document
KR101761513B1 (en) 2016-06-13 2017-07-26 한남대학교 산학협력단 Method and system for detecting counterfeit and falsification using image
KR101899049B1 (en) 2017-08-23 2018-09-14 (주)에프원시큐리티 Method for detecting forgery and falsification of website and management system for forgery and falsification of website
KR20210061918A (en) * 2019-11-20 2021-05-28 주식회사 지행아이티 Method of securing web application and apparatus thereof
KR102399759B1 (en) * 2019-11-20 2022-05-19 주식회사 지행아이티 Method of securing web application and apparatus thereof

Similar Documents

Publication Publication Date Title
Aliero et al. An algorithm for detecting SQL injection vulnerability using black-box testing
CN104767757B (en) Various dimensions safety monitoring method and system based on WEB service
CN111401416B (en) Abnormal website identification method and device and abnormal countermeasure identification method
CN106101145B (en) A kind of website vulnerability detection method and device
CN112003838B (en) Network threat detection method, device, electronic device and storage medium
US9871826B1 (en) Sensor based rules for responding to malicious activity
CN106411578A (en) Website monitoring system and method applicable to power industry
KR100894331B1 (en) Anomaly Detection System and Method of Web Application Attacks using Web Log Correlation
CN113542279A (en) Network security risk assessment method, system and device
Zhang et al. Multicriteria decision and machine learning algorithms for component security evaluation: library‐based overview
KR101464736B1 (en) Security Assurance Management System and Web Page Monitoring Method
Touseef et al. Analysis of automated web application security vulnerabilities testing
Samaila et al. Performance evaluation of the SRE and SBPG components of the IoT hardware platform security advisor framework
CN116881979A (en) Method, device and equipment for detecting data safety compliance
Dharam et al. Runtime monitoring technique to handle tautology based SQL injection attacks
CN115499240A (en) Data processing method, device, equipment and medium
Scandariato et al. Towards a measuring framework for security properties of software
Mouelhi et al. Tailored shielding and bypass testing of web applications
Aldea et al. Software vulnerabilities integrated management system
Wijayanto et al. Analysis of Vulnerability Webserver Office Management of Information And Documentation Diskominfo using OWASP Scanner
Bo et al. Tom: A threat operating model for early warning of cyber security threats
Kahtan et al. Evaluation dependability attributes of web application using vulnerability assessments tools
CN112804192A (en) Method, apparatus, electronic device, program, and medium for monitoring hidden network leakage
Shah et al. Efficient classification of true positive and false positive xss and csrf vulnerabilities reported by the testing tool
Chim et al. A RISK-BASED LAYERED DEFENCE FOR MANAGING THE TRUSTED INSIDER THREAT.

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171110

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180911

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 6