KR102679203B1 - Vulnerability diagnosis method provided by diagnosis server - Google Patents

Vulnerability diagnosis method provided by diagnosis server Download PDF

Info

Publication number
KR102679203B1
KR102679203B1 KR1020220021182A KR20220021182A KR102679203B1 KR 102679203 B1 KR102679203 B1 KR 102679203B1 KR 1020220021182 A KR1020220021182 A KR 1020220021182A KR 20220021182 A KR20220021182 A KR 20220021182A KR 102679203 B1 KR102679203 B1 KR 102679203B1
Authority
KR
South Korea
Prior art keywords
diagnosis
vulnerability
client
vulnerability diagnosis
procedure
Prior art date
Application number
KR1020220021182A
Other languages
Korean (ko)
Other versions
KR20230124189A (en
Inventor
조서연
김미란
김예리
김성한
이윤지
양환석
Original Assignee
중부대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중부대학교 산학협력단 filed Critical 중부대학교 산학협력단
Priority to KR1020220021182A priority Critical patent/KR102679203B1/en
Priority to PCT/KR2022/020749 priority patent/WO2023158086A1/en
Publication of KR20230124189A publication Critical patent/KR20230124189A/en
Application granted granted Critical
Publication of KR102679203B1 publication Critical patent/KR102679203B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본 발명은, 클라이언트의 과거 진단 결과 및 원격지의 관리자에 따라 선택되는 점검 항목으로 이루어진 동적 취약점 진단 절차를 수행하는 방식, 진단 결과 기반의 모의 공격을 수행하는 방식, 취약점 진단 절차 중에 중요 시스템파일에 접근되는 일 이 없도록 예외 처리하는 방식 실현을 통해, 새로운 방식의 취약점 진단 기술을 구현/수행함으로써, 취약점 진단 절차를 수행함에 있어서 진단 결과의 신뢰도를 높이고 진단 과정에서의 불필요한 부하 및 비용을 절감할 수 있는 방안을 제안하고 있다.The present invention is a method of performing a dynamic vulnerability diagnosis procedure consisting of check items selected according to the client's past diagnosis results and a remote administrator, a method of performing a mock attack based on the diagnosis results, and a method of performing a simulated attack based on the diagnosis results, and accessing important system files during the vulnerability diagnosis procedure. By implementing and implementing a new method of vulnerability diagnosis technology by implementing an exception handling method to prevent anything from happening, we can increase the reliability of the diagnosis results when performing the vulnerability diagnosis procedure and reduce unnecessary load and costs in the diagnosis process. A plan is being proposed.

Description

진단서버에 의해 제공되는 취약점 진단 방법{VULNERABILITY DIAGNOSIS METHOD PROVIDED BY DIAGNOSIS SERVER}Vulnerability diagnosis method provided by the diagnosis server {VULNERABILITY DIAGNOSIS METHOD PROVIDED BY DIAGNOSIS SERVER}

본 발명은 악성 공격으로부터 보안이 취약할 수 있는 보안 취약점을 점검/진단하는 기술에 관한 것이다.The present invention relates to technology for checking/diagnosing security vulnerabilities that may result in security vulnerabilities from malicious attacks.

악성 행위를 수행하여 공격을 감행하는 악성코드의 종류는 더욱 다양해지고 있으며, 인터넷 사용인구의 증가와 함께 이러한 악성 공격에 의한 보안 사고(해킹 및 침해 사고) 역시 빈번히 일어나고 있다. The types of malware that perform malicious acts and carry out attacks are becoming more diverse, and with the increase in the number of Internet users, security incidents (hacking and infringement incidents) caused by these malicious attacks are also occurring frequently.

이에, 안전한 컴퓨팅 환경을 위해, 다양한 방식의 악성코드 진단 방안 및 보안 취약점 점검 방안들이 등장하였다.Accordingly, in order to create a safe computing environment, various types of malware diagnosis methods and security vulnerability inspection methods have emerged.

보안 취약점 점검이란, 정보 시스템에 불법적인 사용자의 접근을 허용할 수 있는 위협이나 점검 대상 시스템에서 관리하는 중요 데이터의 유출, 변조, 삭제에 대한 위협이 발생할 수 있는 사항들에 대하여 점검하는 것으로, 점검 대상 시스템에 보안 취약점이 존재하고 있는지에 대한 점검 작업을 수행한 후 점검대상시스템의 보안수준을 분석하는 것을 지칭한다.Security vulnerability inspection refers to checking for threats that may allow illegal user access to the information system or threats to leak, falsify, or delete important data managed in the system being inspected. This refers to analyzing the security level of the system being inspected after performing a check to see if security vulnerabilities exist in the target system.

기존의 보안 취약점 점검 방안은, 점검 대상이 되는 클라이언트(예: PC, 네트워크 장비 등)를 선택하고 기 정해진 진단 기준에 따른 점검을 수행하여, 클라이언트에 보안 취약점이 존재하는지 여부를 점검하는 방식이다.The existing security vulnerability inspection method is to select a client to be inspected (e.g., PC, network equipment, etc.) and perform an inspection according to predetermined diagnostic criteria to check whether a security vulnerability exists in the client.

이와 같은 기존의 보안 취약점 점검 방안은, 진단 기준에 따른 점검을 수행하여 보안 취약점 존재 여부의 점검 결과를 얻을 뿐, 그 점검 결과의 신뢰도에 대한 검증이 이루어지지 않고 있다.Such existing security vulnerability inspection methods only obtain inspection results for the presence or absence of security vulnerabilities by performing inspections according to diagnostic standards, but do not verify the reliability of the inspection results.

이에, 기존 방식으로는, 보안 취약점 점검이 원격지의 관리자에 의해 진행될 경우 관리자에 따라 그 점검 결과의 정확도 및 정당성이 달라질 수 있는 한계, 또는 단순히 진단 기준에 따른 점검 결과에 대해 보다 강력한 정확도가 필요한 상황이나 이를 만족시키기 어려운 한계가 있다.Accordingly, with the existing method, when security vulnerability inspection is conducted by a remote administrator, the accuracy and legitimacy of the inspection results may vary depending on the administrator, or simply a situation in which stronger accuracy is needed for inspection results based on diagnostic criteria. However, there are limitations that make it difficult to satisfy this.

이 외에도, 기존 방식으로는, 보안 취약점 점검 과정 중에 접근해선 안 되는 중요 시스템파일에 접근하게 되는 경우가 발생할 경우 이를 예외 처리하지 못하여, 점검 결과의 신뢰도가 낮아질 뿐 아니라 클라이언트 내 시스템에 치명적인 상황을 야기시키는 문제까지도 발생할 수 있다.In addition, with the existing method, if an important system file that should not be accessed is accessed during the security vulnerability check process, it cannot be treated as an exception, which not only lowers the reliability of the check results but also causes a fatal situation in the client's system. Problems may even arise.

이 밖에도, 기존 방식으로는, 동일 클라이언트에 대해 매번 동일하게 보안 취약점 점검을 수행하므로, 보안 취약점 점검 과정에서의 불필요한 부하 및 비용이 소요되는 한계도 있을 수 있다. In addition, with the existing method, security vulnerability checks are performed identically for the same client every time, so there may be limitations in unnecessary load and cost during the security vulnerability check process.

이에, 본 발명에서는, 클라이언트(예: PC, 네트워크 장비 등)에 대한 보안 취약점 점검을 수행함에 있어, 점검 결과의 신뢰도를 높이고 더 나아가 점검 과정에서의 불필요한 부하 및 비용을 절감할 수 있는 방식의 취약점 점검(진단) 기술을 제안하고자 한다.Accordingly, in the present invention, when performing security vulnerability checks on clients (e.g. PCs, network equipment, etc.), vulnerabilities are improved in a way that increases the reliability of the inspection results and further reduces unnecessary load and costs in the inspection process. We would like to propose inspection (diagnosis) technology.

본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 해결하고자 하는 과제는, 클라이언트(예: PC, 네트워크 장비 등)에 대한 보안 취약점 점검을 수행함에 있어, 점검 결과의 신뢰도를 높이고 더 나아가 점검 과정에서의 불필요한 부하 및 비용을 절감할 수 있는 새로운 방식의 취약점 점검(진단) 기술을 제공하는데 있다.The present invention was created in consideration of the above circumstances, and the problem to be solved by the present invention is to increase the reliability of the inspection results and further improve the reliability of the inspection results when performing security vulnerability checks on clients (e.g. PCs, network equipment, etc.). The goal is to provide a new type of vulnerability inspection (diagnosis) technology that can reduce unnecessary load and costs during the inspection process.

상기 목적을 달성하기 위한 본 발명의 일 관점에 따른 진단서버에 의해 제공되는 취약점 진단 방법은, 진단을 요청하는 클라이언트로, 원격지의 관리자가 웹기반 터미널 에뮬레이터 기반의 접속 서비스(SSH)를 이용하여 접속되도록 하는 접속 단계; 상기 관리자에 의한 특정 스크립트를 상기 클라이언트로 전달하여, 상기 클라이언트에서 상기 특정 스크립트를 실행하도록 하는 실행 단계; 상기 특정 스크립트 실행을 통해, 상기 클라이언트에서 취약점 진단 절차가 수행되게 하는 절차 수행 단계; 상기 취약점 진단 절차에 따라 생성되는 진단 결과 데이터가 웹에서 표시 가능한 형태로 가공된 후 데이터 베이스(DB)에 저장되도록 하는 저장 단계; 및 상기 클라이언트가 로그인을 통해 상기 진단서버에 접속하면, 상기 DB 내 저장 데이터를 기반으로 상기 클라이언트의 고객 페이지에서 적어도 하나 이상의 진단 결과 데이터에 따른 취약점 진단 보고서를 열람할 수 있게 하는 열람 단계를 포함한다.The vulnerability diagnosis method provided by the diagnosis server according to one aspect of the present invention to achieve the above purpose is to connect a remote administrator to a client requesting diagnosis using a web-based terminal emulator-based connection service (SSH). A connection step that makes it possible; An execution step of delivering a specific script by the manager to the client and executing the specific script on the client; A procedure performing step of performing a vulnerability diagnosis procedure on the client by executing the specific script; A storage step of processing the diagnosis result data generated according to the vulnerability diagnosis procedure into a form that can be displayed on the web and then storing it in a database (DB); And when the client connects to the diagnostic server through login, it includes a viewing step of allowing the client to view a vulnerability diagnosis report according to at least one diagnosis result data on the client's customer page based on the stored data in the DB. .

구체적으로, 상기 취약점 진단 절차에는 기 설정된 다수의 점검 항목이 포함되며, 상기 절차 수행 단계는, 상기 다수의 점검 항목 중에서, 상기 DB에서 조회되는 상기 클라이언트의 과거 진단 결과 데이터 및 상기 클라이언트의 진단 요청을 처리하는 원격지의 관리자 중 적어도 하나에 따라 선택되는 점검 항목으로 이루어지는 취약점 진단 절차가 수행되도록 할 수 있다.Specifically, the vulnerability diagnosis procedure includes a plurality of preset check items, and the procedure execution step includes, among the plurality of check items, the client's past diagnosis result data searched in the DB and the client's diagnosis request. A vulnerability diagnosis procedure consisting of check items selected according to at least one of the processing remote administrators may be performed.

구체적으로, 상기 취약점 진단 절차에 따른 진단 결과를 근거로, 상기 클라이언트에서 취약점으로 확인되는 특정 점검 항목과 관련하여 기 설정된 모의 공격을 수행하는 단계를 더 포함하며; 상기 저장 단계는, 상기 DB에 저장되는 진단 결과 데이터와 상기 모의 공격 수행 결과가 함께 저장되도록 하거나, 상기 DB에 저장되는 진단 결과 데이터에 상기 모의 공격 수행 결과를 반영 및 처리한 후 저장되도록 할 수 있다.Specifically, based on the diagnosis result according to the vulnerability diagnosis procedure, it further includes performing a preset mock attack in relation to a specific check item identified as a vulnerability in the client; In the storage step, the diagnostic result data stored in the DB and the mock attack execution result can be stored together, or the mock attack execution result can be reflected and processed in the diagnostic result data stored in the DB and then stored. .

구체적으로, 상기 절차 수행 단계는, 기 특정된 중요 파일에 대해서는 상기 취약점 진단 절차 수행 중에 접근되는 일이 없도록 예외 처리하며, 상기 특정된 중요 파일은, 상기 클라이언트의 파일시스템의 데이터 구조로부터 확인되는 파일 생성시점 및 파일 위치 중 적어도 하나를 근거로, 루트 파일시스템(root filesystem) 생성 시점에 생성된 것으로 식별되는 파일일 수 있다.Specifically, in the procedure execution step, an exception is processed for pre-specified important files so that they are not accessed during the vulnerability diagnosis procedure, and the specified important files are files confirmed from the data structure of the client's file system. It may be a file identified as being created at the time of creation of the root file system, based on at least one of creation time and file location.

구체적으로, 상기 특정된 중요 파일은, 노드로 식별되는 위치에 블록 단위로 파일을 저장하는 데이터 구조로부터, 블록 및 I-노드 비트맵에서 파일 데이터가 가장 먼저 저장되는 가장 작은 블록 및 I-노드 넘버 중 적어도 하나의 생성시간을 확인하고, 블록 및 I-노드 비트맵으로부터, 상기 확인한 생성시간과 같은 생성시간을 가지며 기 설정된 임계 블록 및 I-노드 넘버 중 적어도 하나 보다 작은 넘버를 가지는 파일을 확인하여, 상기 루트 파일시스템 생성 시점에 생성된 파일로 식별될 수 있다.Specifically, the specified important file is the smallest block and I-node number where the file data is stored first in the block and I-node bitmap, from a data structure that stores the file in blocks at a location identified as a node. Check the creation time of at least one of the block and I-node bitmaps, and check the file that has the same creation time as the confirmed creation time and a number smaller than at least one of the preset critical block and I-node numbers. , can be identified as a file created at the time of creation of the root file system.

본 발명의 실시 예들에 따르면, 클라이언트의 과거 진단 결과 및 원격지의 관리자에 의한 경우 관리자에 따라 선택되는 점검 항목으로 취약점 진단 절차를 수행하는 방식, 진단 결과 기반의 모의 공격을 수행하는 방식, 취약점 진단 절차 중에 중요 시스템파일에 접근되는 일 이 없도록 예외 처리하는 방식 실현을 통해, 새로운 방식의 취약점 진단 기술을 구현해 내고 있다.According to embodiments of the present invention, a method of performing a vulnerability diagnosis procedure using the client's past diagnosis results and check items selected by the manager in the case of a remote manager, a method of performing a simulated attack based on the diagnosis result, and a vulnerability diagnosis procedure. We are implementing a new vulnerability diagnosis technology by implementing an exception handling method to prevent access to important system files.

이로써, 본 발명에 따르면, 보안 취약점을 진단하는데 있어, 진단 결과의 신뢰도를 높이고 진단 과정에서의 불필요한 부하 및 비용을 절감할 수 있는 효과를 도출할 수 있다.As a result, according to the present invention, when diagnosing a security vulnerability, it is possible to increase the reliability of the diagnosis result and reduce unnecessary load and cost in the diagnosis process.

도 1은 본 발명의 일 실시 예에 따른 취약점 진단 시스템의 구조를 보여주는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 취약점 진단 방법이 동작하는 흐름을 보여주는 흐름도이다.
도 3 및 도 4는 본 발명의 취약점 진단 방법에 의해 얻을 수 있는 진단 결과 데이터(가공 전/후)를 보여주는 예시도이다.
1 is a diagram showing the structure of a vulnerability diagnosis system according to an embodiment of the present invention.
Figure 2 is a flow chart showing the operation flow of the vulnerability diagnosis method according to an embodiment of the present invention.
Figures 3 and 4 are exemplary diagrams showing diagnosis result data (before/after processing) that can be obtained by the vulnerability diagnosis method of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention. While describing each drawing, similar reference numerals are used for similar components.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this application are only used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that it does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the technical field to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted in an ideal or excessively formal sense unless explicitly defined in the present application. No.

이하, 첨부된 도면을 참조하여 본 발명에 대하여 설명한다.Hereinafter, the present invention will be described with reference to the attached drawings.

본 발명은, 악성 공격으로부터 보안이 취약할 수 있는 보안 취약점을 점검/진단하는 기술에 관한 것이다.The present invention relates to technology for checking/diagnosing security vulnerabilities that may result in security vulnerabilities from malicious attacks.

악성 행위를 수행하여 공격을 감행하는 악성코드의 종류는 더욱 다양해지고 있으며, 인터넷 사용인구의 증가와 함께 이러한 악성 공격에 의한 보안 사고(해킹 및 침해 사고) 역시 빈번히 일어나고 있다. The types of malware that perform malicious acts and carry out attacks are becoming more diverse, and with the increase in the number of Internet users, security incidents (hacking and infringement incidents) caused by these malicious attacks are also occurring frequently.

이에, 안전한 컴퓨팅 환경을 위해, 다양한 방식의 악성코드 진단 방안 및 보안 취약점 점검 방안들이 등장하였다.Accordingly, in order to create a safe computing environment, various types of malware diagnosis methods and security vulnerability inspection methods have emerged.

보안 취약점 점검이란, 정보 시스템에 불법적인 사용자의 접근을 허용할 수 있는 위협이나 점검 대상 시스템에서 관리하는 중요 데이터의 유출, 변조, 삭제에 대한 위협이 발생할 수 있는 사항들에 대하여 점검하는 것으로, 점검 대상 시스템에 보안 취약점이 존재하고 있는지에 대한 점검 작업을 수행한 후 점검대상시스템의 보안수준을 분석하는 것을 지칭한다.Security vulnerability inspection refers to checking for threats that may allow illegal user access to the information system or threats to leak, falsify, or delete important data managed in the system being inspected. This refers to analyzing the security level of the system being inspected after performing a check to see if security vulnerabilities exist in the target system.

기존의 보안 취약점 점검 방안은, 점검 대상이 되는 클라이언트(예: PC, 네트워크 장비 등)를 선택하고 기 정해진 진단 기준에 따른 점검을 수행하여, 클라이언트에 보안 취약점이 존재하는지 여부를 점검하는 방식이다.The existing security vulnerability inspection method is to select a client to be inspected (e.g., PC, network equipment, etc.) and perform an inspection according to predetermined diagnostic criteria to check whether a security vulnerability exists in the client.

이와 같은 기존의 보안 취약점 점검 방안은, 진단 기준에 따른 점검을 수행하여 보안 취약점 존재 여부의 점검 결과를 얻을 뿐, 그 점검 결과의 신뢰도에 대한 검증이 이루어지지 않고 있다.Such existing security vulnerability inspection methods only obtain inspection results for the presence or absence of security vulnerabilities by performing inspections according to diagnostic standards, but do not verify the reliability of the inspection results.

이에, 기존 방식으로는, 보안 취약점 점검이 원격지의 관리자에 의해 진행될 경우 관리자에 따라 그 점검 결과의 정확도 및 정당성이 달라질 수 있는 한계, 또는 단순히 진단 기준에 따른 점검 결과에 대해 보다 강력한 정확도가 필요한 상황이나 이를 만족시키기 어려운 한계가 있다.Accordingly, with the existing method, when security vulnerability inspection is conducted by a remote administrator, the accuracy and legitimacy of the inspection results may vary depending on the administrator, or simply a situation in which stronger accuracy is needed for inspection results based on diagnostic criteria. However, there are limitations that make it difficult to satisfy this.

이 외에도, 기존 방식으로는, 보안 취약점 점검 과정 중에 접근해선 안 되는 중요 시스템파일에 접근하게 되는 경우가 발생할 경우 이를 예외 처리하지 못하여, 점검 결과의 신뢰도가 낮아질 뿐 아니라 클라이언트 내 시스템에 치명적인 상황을 야기시키는 문제까지도 발생할 수 있다.In addition, with the existing method, if an important system file that should not be accessed is accessed during the security vulnerability check process, it cannot be treated as an exception, which not only lowers the reliability of the check results but also causes a fatal situation in the client's system. Problems may even arise.

이 밖에도, 기존 방식으로는, 동일 클라이언트에 대해 매번 동일하게 보안 취약점 점검을 수행하므로, 보안 취약점 점검 과정에서의 불필요한 부하 및 비용이 소요되는 한계도 있을 수 있다. In addition, with the existing method, security vulnerability checks are performed identically for the same client every time, so there may be limitations in unnecessary load and cost during the security vulnerability check process.

이에, 본 발명에서는, 클라이언트(예: PC, 네트워크 장비 등)에 대한 보안 취약점 점검을 수행함에 있어, 점검 결과의 신뢰도를 높이고 더 나아가 점검 과정에서의 불필요한 부하 및 비용을 절감할 수 있는 방식의 취약점 점검(진단) 기술을 제안하고자 한다.Accordingly, in the present invention, when performing security vulnerability checks on clients (e.g. PCs, network equipment, etc.), vulnerabilities are improved in a way that increases the reliability of the inspection results and further reduces unnecessary load and costs in the inspection process. We would like to propose inspection (diagnosis) technology.

더 정확히 설명하면, 본 발명에서는, 클라이언트(예: PC, 네트워크 장비 등)에 대한 보안 취약점 점검을 수행함에 있어, 점검 결과의 신뢰도를 높이고 점검 과정에서의 불필요한 부하 및 비용을 절감할 수 있는 구체화된 기술 구성을 제안/실현함으로써, 새로운 방식의 취약점 진단 기술을 구현하고자 한다.To be more precise, in the present invention, when performing a security vulnerability check on a client (e.g., PC, network equipment, etc.), a concrete method is provided to increase the reliability of the check results and reduce unnecessary load and costs during the check process. By proposing/implementing a technical configuration, we aim to implement a new type of vulnerability diagnosis technology.

먼저, 도 1을 참조하여, 본 발명에서 제안하는 취약점 진단 시스템에 대하여 설명하겠다.First, with reference to FIG. 1, the vulnerability diagnosis system proposed by the present invention will be described.

도 1에 도시된 바와 같이, 본 발명에 따른 취약점 진단 시스템은, 점검(진단) 대상이 되는 클라이언트(예: PC, 네트워크 장비 등)에 해당될 수 있는 사용자, 원격지에서 취약점 진단 절차를 진행할 수 있는 관리자, 그리고 본 발명의 취약점 진단 방안을 관장하는 진단서버(100) 및 DB를 포함하여 구성될 수 있다.As shown in Figure 1, the vulnerability diagnosis system according to the present invention includes a user who can be a client (e.g., PC, network equipment, etc.) subject to inspection (diagnosis), and a user who can perform the vulnerability diagnosis procedure from a remote location. It may be configured to include an administrator, a diagnostic server 100 and a DB that manage the vulnerability diagnosis method of the present invention.

즉, 본 발명의 취약점 진단 시스템은, 도 1에 도시된 각 구성들 간의 유기적인 통신 및 동작을 기반으로, 클라이언트(예: PC, 네트워크 장비 등)에 대한 취약점 진단을 수행함에 있어, 진단 결과의 신뢰도를 높이고 진단 과정에서의 불필요한 부하 및 비용을 절감할 수 있는 구체화된 기술 구성을 실현할 수 있다.In other words, the vulnerability diagnosis system of the present invention performs vulnerability diagnosis on clients (e.g., PCs, network equipment, etc.) based on the organic communication and operation between each component shown in FIG. 1, and provides information on the diagnosis results. It is possible to realize a detailed technical configuration that can increase reliability and reduce unnecessary load and costs in the diagnostic process.

이하에서는, 도 1을 참조하여, 본 발명의 취약점 진단 시스템(취약점 진단 방법)에 의한 취약점 진단 시나리오의 일 예를 조금 더 구체적으로 설명하겠다.Below, with reference to FIG. 1, an example of a vulnerability diagnosis scenario by the vulnerability diagnosis system (vulnerability diagnosis method) of the present invention will be described in more detail.

본 발명에서 진단서버(100)는 취약점 진단 방안을 관장하는 서버로서, 일명 IR(Inform Relief) System이라 칭할 수 있다.In the present invention, the diagnostic server 100 is a server that manages vulnerability diagnosis methods, and can be referred to as an IR (Inform Relief) System.

본 발명에서는, 진단서버(100)에서 제공하는 웹 페이지에 사용자가 회원 가입 후 로그인을 한 후, 사용자는 자신의 PC(이하, 클라이언트라 함)에 대한 정보를 입력하고 취약점 진단을 요청할 수 있다(1).In the present invention, after the user registers and logs in to the web page provided by the diagnostic server 100, the user can enter information about his or her PC (hereinafter referred to as client) and request vulnerability diagnosis ( One).

이렇게 되면, 본 발명에서는, 원격지의 관리자가 사용자의 정보(이하, 클라이언트 정보라 함)을 토대로, 기반 터미널 에뮬레이터 기반의 접속 서비스(Secure Shell, SSH)를 이용하여 해당 클라이언트에 접속하게 된다(2).In this case, in the present invention, a remote administrator connects to the client using a terminal emulator-based connection service (Secure Shell, SSH) based on the user's information (hereinafter referred to as client information) (2) .

이후, 본 발명에서 원격지의 관리자는 cmd에서 관리자 컴퓨터의 바탕화면에 있던 특정 스크립트(이하, IR.tar라 함)를, scp 명령어를 사용하여 사용자의 PC 즉 진단 대상의 클라이언트에 전달한다(2).Afterwards, in the present invention, the remote administrator uses cmd to transfer a specific script (hereinafter referred to as IR.tar) on the desktop of the administrator's computer to the user's PC, that is, the diagnosis target client, using the scp command (2) .

본 발명에서 사용자의 PC 즉 진단 대상의 클라이언트에서는, 특정 스크립트 즉 IR.tar의 압출을 풀고 실행하면 클라이언트에서 취약점 진단 절차가 시작될 수 있다. 즉, 클라이언트에서 IR.tar 실행을 통해 취약점 진단 절차가 수행되는 것이다.In the present invention, on the user's PC, that is, the client to be diagnosed, the vulnerability diagnosis procedure can be started on the client by unzipping and executing a specific script, that is, IR.tar. In other words, the vulnerability diagnosis process is performed by executing IR.tar on the client.

그리고 본 발명에서는, 클라이언트에서 취약점 진단 절차가 끝나면, 취약점 진단 절차에 따른 진단 결과 데이터가 생성된다. 예를 들면, 진단 결과 데이터는, 날짜 + IP주소.txt 형태로서, 모든 결과가 들어있는 txt 파일로 생성될 수 있다.And in the present invention, when the vulnerability diagnosis procedure is completed in the client, diagnosis result data according to the vulnerability diagnosis procedure is generated. For example, diagnostic result data can be created as a txt file containing all results in the form of date + IP address.txt.

아울러, 웹에서 사용자(고객)가 볼 수 있는 형태로 데이터를 가공해야 하기 때문에, 본 발명에서 클라이언트에서는, 취약점 진단 절차를 통해 생성된 진단 결과 데이터(예: 날짜 + IP주소.txt 파일)를 가공시켜 줄 "./final_DB.sh"라는 스크립트를 실행시켜 진단 결과 데이터(예: 날짜 + IP주소.txt 파일)를 웹에서 표시 가능한 형태로 가공한 후, mysql 명령어를 이용하여 DB에 저장하며 진단 완료를 처리할 수 있다(3).In addition, because data must be processed into a form that users (customers) can view on the web, in the present invention, the client processes the diagnosis result data (e.g. date + IP address.txt file) generated through the vulnerability diagnosis procedure. Run the script called "./final_DB.sh" to process the diagnosis result data (e.g. date + IP address.txt file) into a format that can be displayed on the web, and then save it to the DB using the mysql command to complete the diagnosis. can be processed (3).

이후, 본 발명에서는, 사용자(고객)가 로그인을 통해 진단서버(100)에 접속하면, 사용자(고객)의 마이 페이지에서 앞서 진행한 취약점 진단 절차의 진단 결과 데이터에 따른 취약점 진단 보고서를 열람할 수 있다(4).Thereafter, in the present invention, when the user (customer) logs in and accesses the diagnostic server 100, the user (customer) can view a vulnerability diagnosis report based on the diagnosis result data of the previously performed vulnerability diagnosis procedure on the user's (customer) My Page. There is (4).

이렇듯, 본 발명에서는, 진단 대상의 클라이언트(예: PC, 네트워크 장비 등)에 취약점 진단 Agent를 설치하지 않고, 원격지의 관리자(또는 매니저)에 의한 명령어나 스크립트 전송을 통해 취약점 진단 절차가 진행(시작, 수행, 가공, 완료)되는 방식을 기본 구성으로 한다.As such, in the present invention, the vulnerability diagnosis procedure is carried out (started) by transmitting a command or script by a remote administrator (or manager) without installing a vulnerability diagnosis agent on the client (e.g. PC, network equipment, etc.) to be diagnosed. , performed, processed, completed) is the basic configuration.

즉, 본 발명에서는, 사용자(고객)가 웹 서비스(예: 마이 페이지)를 통해서, 관리자에 의해 진행된 취약점 진단에 따른 취약점 진단 보고서(예: 발견된 취약점들 및 상세 원인 분석부터 해결방법까지)를 열람할 수 있게 한다.That is, in the present invention, a user (customer) receives a vulnerability diagnosis report (e.g., from discovered vulnerabilities and detailed cause analysis to solutions) according to the vulnerability diagnosis conducted by the administrator through a web service (e.g., My Page). Make it available for viewing.

이로 인해, 본 발명의 취약점 진단 시스템에 따르면, 보안상의 위협을 급감시킬 수 있고, 관리자가 효율적으로 클라이언트 시스템을 안전한 상태로 유지 시킬 수 있다. 이 외에도 본 발명에서는, 진단서버(100, IR System)가 갖는 부가적인 그래픽 인터페이스를 통한 편리한 사용성과 사용자가 보기 편하도록 만들어진 진단 결과 제공 등의 효과를 기대할 수 있다. For this reason, according to the vulnerability diagnosis system of the present invention, security threats can be drastically reduced, and administrators can efficiently maintain the client system in a safe state. In addition, in the present invention, effects such as convenient usability through the additional graphic interface of the diagnostic server (100, IR System) and provision of diagnostic results that are easy for users to view can be expected.

그리고, 본 발명의 취약점 진단 시스템 특히 진단서버(100, IR System) 도입 시, 주요기반시설, 금융기반 시설 등 취약점 점검/진단과 관련된 법적 보안 규제 준수를 만족하게 되고, 주기적인 취약점 점검/진단을 통한 보안 사고에 대한 사전예방을 강화할 수 있다. In addition, when introducing the vulnerability diagnosis system of the present invention, especially the diagnosis server (100, IR System), compliance with legal security regulations related to vulnerability inspection/diagnosis of major infrastructure, financial infrastructure, etc. is satisfied, and periodic vulnerability inspection/diagnosis is performed. Prevention of security incidents can be strengthened through

더 나아가, 본 발명에서는, 전술한 바와 같은 클라이언트(예: PC, 네트워크 장비 등)에 대한 보안 취약점 진단을 수행함에 있어, 진단 결과의 신뢰도를 높이고 진단 과정에서의 불필요한 부하 및 비용을 절감할 수 있는 구체화된 기술 구성을 실현하는데 특징이 있다.Furthermore, in the present invention, when performing security vulnerability diagnosis for clients (e.g., PCs, network equipment, etc.) as described above, it is possible to increase the reliability of the diagnosis results and reduce unnecessary load and costs in the diagnosis process. It is characterized by realizing a concrete technical configuration.

이하에서는, 본 발명에서 실현하는 특징 기술 구성에 대해, 도 2를 참조하여 설명하겠다.In the following, the feature technology configuration realized in the present invention will be described with reference to FIG. 2.

도 2에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 취약점 진단 방법에서는, 사용자가 자신의 PC(이하, 클라이언트라 함)를 통해 진단서버(100)에 접속 및 로그인한 후 PC 즉 클라이언트에 대해 취약점 진단에서 요구하는 정보를 입력 및 취약점 진단을 요청할 수 있다(S10).As shown in FIG. 2, in the vulnerability diagnosis method according to an embodiment of the present invention, the user accesses and logs in to the diagnostic server 100 through his or her PC (hereinafter referred to as the client) and then logs in to the PC, that is, the client. You can input the information required for vulnerability diagnosis and request vulnerability diagnosis (S10).

이렇게 되면, 본 발명의 일 실시 예에 따른 취약점 진단 방법에서 진단서버(100)는, 전술과 같이 취약점 진단을 요청하는 클라이언트로, 원격지의 관리자가 웹기반 터미널 에뮬레이터 기반의 접속 서비스를 이용하여 접속되도록 한다(S20).In this case, in the vulnerability diagnosis method according to an embodiment of the present invention, the diagnosis server 100 is a client that requests vulnerability diagnosis as described above, and allows a remote administrator to connect using a connection service based on a web-based terminal emulator. Do it (S20).

본 발명에서는, 리눅스(Linux) 운영체제를 기반으로 구체적인 실시 예들을 설명하고 있다.In the present invention, specific embodiments are described based on the Linux operating system.

즉, 본 발명의 일 실시 예에 따른 취약점 진단 방법에서 진단서버(100)는, 접속 및 로그인한 관리자가 취약점 진단을 요청하는 클라이언트의 정보를 토대로 웹기반 터미널 에뮬레이터(예: shell in a box)를 띄워 리눅스 OS에서 지원하는 접속 서비스(SSH) 기반의 접속을 시도하면, 해당 클라이언트에 접속되도록 할 수 있다.That is, in the vulnerability diagnosis method according to an embodiment of the present invention, the diagnosis server 100 uses a web-based terminal emulator (e.g., shell in a box) based on the information of the client that the connected and logged in administrator requests vulnerability diagnosis. If you launch it and attempt a connection based on the connection service (SSH) supported by the Linux OS, you can connect to the client.

물론, 본 발명에서는, 리눅스가 아닌 다른 운영체제 예컨대 윈도의 OS의 경우라면, 윈도우 OS에서 지원하는 접속 서비스(예: Xshell, PuTTY, iTerm 등)를 이용하여 원격지의 관리자가 클라이언트에 접속되도록 할 수도 있다.Of course, in the present invention, in the case of an operating system other than Linux, such as a Windows OS, a remote administrator can connect to the client using a connection service (e.g., Xshell, PuTTY, iTerm, etc.) supported by the Windows OS. .

다만 이하 설명에서는, 설명의 편의 상 계속해서 리눅스 OS를 기반으로 하여 실시 예를 설명하겠다.However, in the following description, for convenience of explanation, the embodiment will be described based on the Linux OS.

본 발명의 일 실시 예에 따른 취약점 진단 방법에서 진단서버(100)는, 원격지의 관리자가 클라이언트에 접속되면, 관리자에 의한 특정 스크립트를 해당클라이언트로 전달하여, 해당 클라이언트에서 특정 스크립트를 실행할 수 있게 한다(S30).In the vulnerability diagnosis method according to an embodiment of the present invention, when a remote administrator connects to a client, the diagnostic server 100 delivers a specific script by the administrator to the client, allowing the client to execute the specific script. (S30).

즉, 본 발명의 일 실시 예에 따른 취약점 진단 방법에서 진단서버(100)는, 클라이언트에 접속된 원격의 관리자(컴퓨터) 바탕화면에 있던 특정 스크립트(이하, IR.tar라 함)를 scp 명령어를 사용하여 전송하면, 특정 스크립트 즉 IR.tar를 진단 대상의 클라이언트 즉 관리자가 접속된 상태의 클라이언트로 전달할 수 있다. That is, in the vulnerability diagnosis method according to an embodiment of the present invention, the diagnostic server 100 executes the scp command to execute a specific script (hereinafter referred to as IR.tar) on the desktop of a remote administrator (computer) connected to the client. When transmitted, a specific script, i.e. IR.tar, can be delivered to the client being diagnosed, that is, the client to which the administrator is connected.

이에, 본 발명에서는, 특정 스크립트 즉 IR.tar를 전달받은 클라이언트에서, IR.tar의 압출을 풀고 실행하면 클라이언트에서 취약점 진단 절차가 시작될 수 있다(S40). Accordingly, in the present invention, the vulnerability diagnosis procedure can be started in the client by unzipping and executing a specific script, that is, IR.tar, in the client that has received the IR.tar (S40).

즉, 본 발명의 일 실시 예에 따른 취약점 진단 방법에서 진단서버(100)는, 클라이언트에서 IR.tar 실행을 통해 취약점 진단 절차가 수행되도록 함으로써, 클라이언트에 보안 취약점이 존재하는지 여부가 점검/진단되도록 한다(S50).That is, in the vulnerability diagnosis method according to an embodiment of the present invention, the diagnosis server 100 performs a vulnerability diagnosis procedure by executing IR.tar on the client to check/diagnose whether a security vulnerability exists in the client. Do it (S50).

이때, 본 발명에서는, 취약점 진달 절차에 따른 진단 결과의 신뢰도를 향상시키고 불필요한 부하 및 비용 소요를 최소화하기 위한 다음의 기술 구성들을 제안한다.At this time, the present invention proposes the following technical configurations to improve the reliability of diagnosis results according to the vulnerability diagnosis procedure and minimize unnecessary load and cost.

구체적인 실시 예를 설명하면, 본 발명의 경우, 취약점 진단 절차에는 기 설정된 다수의 점검 항목이 포함되는 것으로 정의한다.To describe a specific embodiment, in the case of the present invention, the vulnerability diagnosis procedure is defined as including a number of preset check items.

이에 구체적인 실시 예에 따르면, 본 발명의 일 실시 예에 따른 취약점 진단 방법에서 진단서버(100)는, IR.tar 실행을 통해 클라이언트에서 취약점 진단 절차가 수행되도록 함에 있어, 취약점 진단 절차에 기 설정된 다수의 점검 항목 중에서, DB에서 조회되는 해당 클라이언트의 과거 진단 결과 데이터 및 해당 클라이언트의 진단 요청을 처리하는 원격지의 관리자 중 적어도 하나에 따라 선택되는 점검 항목으로 이루어지는 취약점 진단 절차가 수행되도록 할 수 있다(S50).According to a specific embodiment, in the vulnerability diagnosis method according to an embodiment of the present invention, the diagnosis server 100 performs a vulnerability diagnosis procedure on the client through IR.tar execution, using a number of preset vulnerability diagnosis procedures. Among the check items, a vulnerability diagnosis procedure consisting of check items selected according to at least one of the client's past diagnosis result data searched in the DB and the remote administrator processing the client's diagnosis request can be performed (S50 ).

예를 들어, 점검 항목 선택 및 선택된 점검 항목으로 이루어진 동적 취약점 진단 절차가 수행되도록 하는 주체는, 관리자 측일 수도 있고, 클라이언트에서 실행되는 특정 스크립트(예: IR.tar)이거나 진단서버(100)일 수 있다.For example, the entity that selects check items and performs a dynamic vulnerability diagnosis procedure consisting of the selected check items may be the administrator, a specific script (e.g. IR.tar) running on the client, or the diagnostic server (100). there is.

구체적인 일 예를 들면, 진단서버(100)는, DB에서 조회되는 해당 클라이언트의 과거 진단 결과 데이터를 근거로, 취약점 진단 절차에 기 설정된 다수의 점검 항목 중에서 적어도 하나의 점검 항목을 선택할 수 있다.As a specific example, the diagnosis server 100 may select at least one check item from a plurality of check items preset in the vulnerability diagnosis procedure, based on past diagnosis result data of the client searched in the DB.

앞서 설명한 바 있듯이, DB(도 1 참조)에는, 클라이언트 별로 기 수행한 취약점 진단 절차에 대한 진단 결과 데이터(+ 취약점 진단 보고서)가 저장/관리되고 있다. As previously explained, in the DB (see Figure 1), diagnosis result data (+ vulnerability diagnosis report) for the vulnerability diagnosis procedure previously performed for each client is stored/managed.

이에, 본 발명에서 진단서버(100)는, 관리자에 의한 특정 스크립트 즉 IR.tar를 클라이언트로 전달하는 시점에 해당 클라이언트의 과거 진단 결과 데이터를 DB에서 조회할 수 있으며, 조회된 과거 진단 결과 데이터를 근거로 과거 일정 기간(예: N 개월, 또는 직접부터 N회의 과거 취약점 진단 절차) 동안에 취약점이 존재하지 않는다고 판단(예: 진단 결과 "만족")된 점검 항목을 취약점 진단 절차에 기 설정된 다수의 점검 항목에서 제외하고 남은 점검 항목을 선택할 수 있다.Accordingly, in the present invention, the diagnostic server 100 can search the client's past diagnostic result data in the DB at the time a specific script, that is, IR.tar, is delivered to the client by the administrator, and retrieve the searched past diagnostic result data. Based on this, a number of inspection items preset in the vulnerability diagnosis procedure are checked to determine that no vulnerability exists (e.g., "satisfactory" as a result of the diagnosis) over a certain period of time (e.g., N months, or N times from the past vulnerability diagnosis procedure). You can select the remaining inspection items to exclude from the items.

즉, 과거 일정 기간(예: N 개월, 또는 직접부터 N회의 과거 취약점 진단 절차) 동안에 취약점이 존재하지 않는다고 판단(예: 진단 결과 "만족")된 점검 항목은, 현 시점에 수행할 취약점 진단 절차에 포함시키더라도 취약점이 존재하지 않는다고 판단(예: 진단 결과 "만족")될 가능성이 높으므로, 진단 대상의 점검 항목에서 제외하는 것이다.In other words, check items for which it was determined that a vulnerability does not exist (e.g., the diagnosis result is “satisfied”) during a certain period of time (e.g., N months, or N times of past vulnerability diagnosis procedures) are determined to be the vulnerability diagnosis procedure to be performed at the current time. Even if it is included in the list, there is a high possibility that it will be judged that the vulnerability does not exist (e.g., the diagnosis result is “satisfied”), so it is excluded from the inspection items for diagnosis.

그리고, 진단서버(100)는, 클라이언트의 과거 진단 결과 데이터를 근거로 선택된 점검 항목들로 이루어지는 취약점 진단 절차가 수행되도록 할 수 있다.In addition, the diagnosis server 100 can perform a vulnerability diagnosis procedure consisting of check items selected based on the client's past diagnosis result data.

이렇게 되면, 본 발명에서는, 동일 클라이언트에 대해 매번 동일하게 보안 취약점 진단 절차를 수행하는 기존과 달리, 동일 클라이언트에 대해 취약점이 존재하지 않는다고 판단(예: 진단 결과 "만족")될 가능성이 높은 점검 항목을 제외한 나머지 점검 항목으로 선택/이루어진 동적인 취약점 진단 절차를 수행함으로써, 보안 취약점 진단 과정에서의 불필요한 부하 및 비용 소요를 최소화하여 줄이는 효과를 기대할 수 있다.In this case, in the present invention, unlike the existing method of performing the same security vulnerability diagnosis procedure for the same client every time, the inspection items are likely to determine that no vulnerability exists for the same client (e.g., the diagnosis result is “satisfied”). By performing a dynamic vulnerability diagnosis procedure selected/constructed with the remaining check items excluding , the effect of minimizing and reducing unnecessary load and costs in the security vulnerability diagnosis process can be expected.

또 다른 일 예를 들면, 진단서버(100)는, 클라이언트의 진단 요청을 처리하는 원격지의 관리자를 근거로, 취약점 진단 절차에 기 설정된 다수의 점검 항목 중에서 적어도 하나의 점검 항목을 선택할 수 있다.As another example, the diagnostic server 100 may select at least one check item from a plurality of check items preset in the vulnerability diagnosis procedure based on the remote administrator processing the client's diagnosis request.

구체적으로, 본 발명에서 진단서버(100)는, 원격지의 관리자가 클라이언트로의 접속 서비스(SSH) 기반 접속을 시도하는 시점에 해당 관리자에 대한 레벨 또는 전문성 점수 또는 권한 등을 확인할 수 있다. 이를 위해서는, 기 정의된 정책에 따라서, 관리자 별로 과거에 진행했던 취약점 진단 절차들에 대한 평가가 이루어지고 평가에 따른 레벨 또는 전문성 점수 또는 권한 등이 부여될 수 있다.Specifically, in the present invention, the diagnostic server 100 can check the level, expertise score, or authority of the remote manager at the time when the remote manager attempts a connection service (SSH)-based connection to the client. To this end, according to a predefined policy, the vulnerability diagnosis procedures performed in the past are evaluated for each manager, and a level or expertise score or authority can be granted according to the evaluation.

이에, 진단서버(100)는, 관리자에 대해 확인한 레벨 또는 전문성 점수 또는 권한 등을 근거로, 레벨 또는 전문성 점수 또는 권한 등이 높을수록 보안 이슈가 큰 점검 항목을 단계적으로 선택할 수 있게 하는 방식으로, 취약점 진단 절차에 기 설정된 다수의 점검 항목 중에서 적어도 하나의 점검 항목을 선택할 수 있다.Accordingly, the diagnostic server 100, based on the level or expertise score or authority confirmed for the administrator, allows step-by-step selection of inspection items with greater security issues as the level or expertise score or authority increases, At least one check item can be selected from a number of check items preset in the vulnerability diagnosis procedure.

그리고, 진단서버(100)는, 관리자를 근거로 선택된 점검 항목들로 이루어지는 취약점 진단 절차가 수행되도록 할 수 있다.In addition, the diagnostic server 100 can perform a vulnerability diagnosis procedure consisting of inspection items selected based on the administrator.

이렇게 되면, 본 발명에서는, 동일 클라이언트에 대해 매번 동일하게 보안 취약점 진단 절차를 수행하는 기존과 달리, 금번 관리자의 레벨 또는 전문성 점수 또는 권한 등에 따라 선택되는 점검 항목으로 이루어진 동적인 취약점 진단 절차를 수행함으로써, 관리자에 따라 달라질 수 있는 진단 결과의 정확도 및 정당성, 보안 이슈를 만족시켜 진단 결과의 신뢰도를 향상시키는 효과를 기대할 수 있다.In this case, in the present invention, unlike the existing method of performing the same security vulnerability diagnosis procedure for the same client every time, by performing a dynamic vulnerability diagnosis procedure consisting of check items selected according to the administrator's level, expertise score, or authority, etc. , the effect of improving the reliability of the diagnosis results can be expected by satisfying the accuracy, legitimacy, and security issues of the diagnosis results, which can vary depending on the administrator.

물론, 진단서버(100)는, 클라이언트의 과거 진단 결과 데이터 및 해당 클라이언트의 진단 요청을 처리하는 원격지의 관리자를 조합(필요 시 과거 진단 결과 데이터 및 관리자 각각에 가중치를 적용)하여, 그 조합 결과를 근거로 취약점 진단 절차에 기 설정된 다수의 점검 항목 중 점검 항목을 선택하여 선택된 점검 항목들로 이루어지는 취약점 진단 절차가 수행되도록 할 수도 있다.Of course, the diagnosis server 100 combines the client's past diagnosis result data and a remote manager that processes the client's diagnosis request (if necessary, applies weight to each of the past diagnosis result data and the manager) and provides the combined result. As a basis, it is possible to select a check item among a number of check items preset in the vulnerability diagnosis procedure and perform a vulnerability diagnosis procedure consisting of the selected check items.

한편, 본 발명의 일 실시 예에 따른 취약점 진단 방법에서 진단서버(100)는, 전술과 같이 IR.tar 실행을 통해 클라이언트에서 취약점 진단 절차가 수행되도록 함에 있어, 기 특정된 중요 파일에 대해서는 상기 취약점 진단 절차 수행 중에 접근되는 일이 없도록 예외 처리하도록 한다(S50).Meanwhile, in the vulnerability diagnosis method according to an embodiment of the present invention, the diagnosis server 100 performs a vulnerability diagnosis procedure on the client by executing IR.tar as described above, and detects the vulnerability for a previously specified important file. Handle exceptions to prevent access while performing diagnostic procedures (S50).

여기서, 특정된 중요 파일은, 클라이언트의 파일시스템의 데이터 구조로부터 확인되는 파일 생성시점 및 파일 위치 중 적어도 하나를 근거로, 루트 파일시스템(root filesystem) 생성 시점에 생성된 것으로 식별되는 파일인 것으로 설명할 수 있다.Here, the specified important file is described as a file identified as being created at the time of creation of the root file system, based on at least one of the file creation time and file location confirmed from the data structure of the client's file system. can do.

안전한 컴퓨팅 환경을 위해 진행되는 취약점 진단 절차는 진단 항목이 달라지거나 진단 방식은 달라질 수 있겠지만, 결국 그 성능에 가장 중요한 영향을 미치는 공통된 점은 클라이언트 내 시스템에 영향을 미치지 않으면서도 신뢰도 높은 진단 결과를 얻는 것이라 하겠다.The vulnerability diagnosis process conducted for a safe computing environment may have different diagnostic items or different diagnostic methods, but the common point that ultimately has the most important impact on performance is obtaining highly reliable diagnostic results without affecting the system within the client. I would say it is.

즉, 취약점 진단 과정 중에 접근해선 안 되는 중요 시스템파일에 접근하게 되는 경우가 발생한다면, 클라이언트 시스템에 치명적인 상황을 야기시키는 문제가 발생될 수 있고 점검 결과의 신뢰도 역시 낮아질 것이다.In other words, if an important system file that should not be accessed is accessed during the vulnerability diagnosis process, a problem that causes a fatal situation in the client system may occur and the reliability of the inspection results will also be lowered.

이에, 취약점 진단 절차 수행 중에 접근되는 일 없이 예외 처리해야만 하는 중요 파일(이하, 중요 시스템파일)은 반드시 식별/판단될 수 있어야만 한다.Accordingly, important files (hereinafter referred to as important system files) that must be treated as exceptions without being accessed during the vulnerability diagnosis procedure must be identified/determined.

예를 들면, 윈도우 OS의 경우, OS 제작사가 배포한 중요 시스템파일에 대해서는 제작사의 디지털서명(또는 인증서)을 가지고 있어, 해당 디지털서명을 통해 예외 처리해야만 하는 중요 시스템파일인지 여부를 식별/판단할 수 있도록 하고 있다.For example, in the case of Windows OS, important system files distributed by the OS manufacturer have the manufacturer's digital signature (or certificate), and the digital signature can be used to identify/determine whether they are important system files that must be treated as exceptions. We are making it possible.

이러한 점을 고려하여, 본 발명에서 진단서버(100)는, 윈도우 OS의 경우, 전술과 같이 IR.tar 실행을 통해 클라이언트에서 취약점 진단 절차가 수행되도록 함에 있어, 디지털서명(또는 인증서)를 통해 식별되는 중요 시스템파일에 대해서는 취약점 진단 절차 수행 중에 접근되는 일이 없도록 예외 처리하도록 할 수 있다.Considering this, in the present invention, in the case of Windows OS, the diagnostic server 100 is identified through a digital signature (or certificate) in performing the vulnerability diagnosis procedure on the client through IR.tar execution as described above. For important system files, exceptions can be made to prevent them from being accessed during the vulnerability diagnosis process.

헌데, 리눅스 OS의 경우, 윈도우 OS와 달리 디지털서명(또는 인증서)을 지원하고 있지 않기 때문에, 예외 처리해야만 하는 중요 시스템파일을 식별/판단해내기 어렵다. However, in the case of Linux OS, unlike Windows OS, it does not support digital signatures (or certificates), so it is difficult to identify/determine important system files that must be treated as exceptions.

이러한 점을 고려하여, 본 발명에서 진단서버(100)는, 리눅스 OS의 경우, 전술과 같이 IR.tar 실행을 통해 클라이언트에서 취약점 진단 절차가 수행되도록 함에 있어, 클라이언트의 파일시스템의 데이터 구조로부터 확인되는 파일 생성시점 및 파일 위치 중 적어도 하나를 근거로, 루트 파일시스템(root filesystem) 생성 시점에 생성된 것으로 식별되는 파일을 중요 시스템파일로 판단하고, 이러한 중요 시스템파일에 대해서는 취약점 진단 절차 수행 중에 접근되는 일이 없도록 예외 처리하도록 할 수 있다.Considering this, in the present invention, in the case of a Linux OS, the diagnostic server 100 performs a vulnerability diagnosis procedure on the client by executing IR.tar as described above, by checking the data structure of the client's file system. Based on at least one of the file creation time and file location, files identified as being created at the time of root file system creation are determined to be important system files, and these important system files are accessed during the vulnerability diagnosis procedure. You can handle exceptions to prevent this from happening.

예를 들어, 중요 시스템파일을 식별 및 취약점 진단 절차 수행 중에 접근되는 일이 없도록 예외 처리하도록 하는 주체는, 클라이언트에서 실행되는 특정 스크립트(예: IR.tar)이거나 진단서버(100)일 수 있다.For example, the entity that handles exceptions to prevent important system files from being accessed during identification and vulnerability diagnosis procedures may be a specific script (e.g., IR.tar) running on the client or the diagnostic server 100.

보다 구체적으로 설명하면, 리눅스 OS에서 사용되고 있는 파일시스템의 기본적인 데이터 구조는, 부트 블록과 여러 개의 블록 그룹(0,1,...,n)으로 구성될 수 있다.To be more specific, the basic data structure of the file system used in the Linux OS may consist of a boot block and several block groups (0, 1,...,n).

각각의 블록 그룹은, 슈퍼 블록, 그룹 디스크립터, 블록 비트맵, I-노드 비트맵, 그리고 디렉토리 및 데이터 블록으로 구성된다.Each block group consists of a super block, group descriptor, block bitmap, I-node bitmap, and directory and data blocks.

이러한 블록 그룹의 구조는, 주요 데이터와 파일 데이터 의 집약도를 높여주기 때문에 파일을 저장할 때 단편화를 줄여주며, 디스크 I/O와 관련한 응답 속도를 줄여줄 수 있는 계기가 된다.This block group structure increases the intensity of key data and file data, thereby reducing fragmentation when saving files and providing an opportunity to reduce the response speed related to disk I/O.

본 발명에서는, 이러한 파일시스템의 데이터 구조에서 특히 블록 비트맵 및 I-노드 비트맵을 활용한다.In the present invention, block bitmap and I-node bitmap are particularly utilized in the data structure of this file system.

블록 비트맵은, 블록 그룹의 구조에서 그룹 디스크립터의 다음에 위치한다. 블록 비트맵은, 말 그대로 블록의 사용(할당) 상태를 비트로 표현하여 나타낸 것이다. 블록 그룹 내에 존재하는 각각의 블록은 블록 비트맵에서 하나하나의 비트에 해당한다. 그래서 특정 블록이 사용되고 있으면 블록 비트맵의 해당 블록의 인덱스가 할당(사용)된 상태임을 나타내게 된다.The block bitmap is located after the group descriptor in the block group structure. A block bitmap literally expresses the use (allocation) status of a block in bits. Each block within a block group corresponds to one bit in the block bitmap. Therefore, if a specific block is being used, the index of the corresponding block in the block bitmap indicates that it is allocated (used).

여기서, 블록 그룹의 데이터 구조에서는, 낮은 넘버의 블록부터 차례대로 사용(할당)하는 특징이 있다.Here, the data structure of the block group has the characteristic of using (allocating) blocks in order starting from the lowest numbered blocks.

Ext filesystem에서 파일 데이터가 저장되는 곳은 I-노드 데이터 구조이다. 모든 파일들과 디렉토리들은 각각 1개의 I-노드를 할당하고 있으며, 모든 I-노드들은 고유한 주소(또는 인덱스)를 가지고 있다.In the Ext filesystem, file data is stored in the I-node data structure. All files and directories are assigned one I-node each, and all I-nodes have a unique address (or index).

따라서, 리눅스 OS에서 사용되고 있는 기본적인 파일시스템의 데이터 구조는, I-노드로 식별되는 위치에 블록 단위로 파일을 저장하는 데이터 구조라 할 수 있다.Therefore, the data structure of the basic file system used in the Linux OS can be said to be a data structure that stores files in block units at a location identified as an I-node.

I-노드 비트맵은, 블록 비트맵과 마찬가지로, 해당 블록 그룹이 관리하는 모든 I-노드의 사용(할당) 상태를 비트로 표현하여 나타낸 것이다. 즉, 블록 그룹 내에 존재하는 각각의 I-노드는 I-노드 비트맵에서 하나하나의 비트에 해당한다. 그래서 특정 I-노드가 사용되고 있으면 I-노드 비트맵의 해당 I-노드의 인덱스가 할당(사용)된 상태임을 나타내게 된다.The I-node bitmap, like the block bitmap, expresses the usage (allocation) status of all I-nodes managed by the corresponding block group in bits. In other words, each I-node within a block group corresponds to one bit in the I-node bitmap. Therefore, if a specific I-node is being used, the index of the corresponding I-node in the I-node bitmap indicates that it is allocated (used).

여기서, 블록 그룹의 데이터 구조에서는, 낮은 넘버의 I-노드부터 차례대로 사용(할당)하는 특징이 있다.Here, the data structure of the block group has the characteristic of using (allocating) sequentially starting from the I-node with the lowest number.

다시 중요 시스템파일을 식별/판단하는 방식을 설명하면, 진단서버(100)는, 클라이언트의 파일시스템의 데이터 구조로부터, 블록 비트맵 및 I-노드 비트맵에서 파일 데이터가 가장 먼저 저장되는 가장 작은 블록 넘버 및 I-노드 넘버 중 적어도 하나의 생성시간을 확인할 수 있게 한다. 이때의 생성시간은, 파일 생성시점을 의미할 것이다.To explain the method of identifying/determining important system files again, the diagnostic server 100 determines the smallest block in which file data is stored first in the block bitmap and I-node bitmap from the data structure of the client's file system. It is possible to check the creation time of at least one of the number and I-node number. The creation time at this time will mean the time of file creation.

그리고, 진단서버(100)는, 블록 비트맵 및 I-노드 비트맵으로부터, 상기 확인한 생성시간과 같은 생성시간을 가지며 기 설정된 임계 블록 넘버 및 I-노드 넘버 중 적어도 하나 보다 작은 넘버를 가지는 파일을 확인할 수 있게 한다. 이때의 넘버는 파일 위치를 의미할 것이다.And, the diagnosis server 100, from the block bitmap and the I-node bitmap, creates a file with a creation time equal to the confirmed creation time and a number smaller than at least one of the preset critical block number and the I-node number. Allows you to check. The number at this time will indicate the file location.

여기서, 기 설정된 임계 블록 넘버 및 I-노드 넘버는, 클라이언트 내 파일시스템의 실제 중요 시스템파일 모두에 대하여 블록 및 I-노드를 사용(할당)하는 경우, 최대로 사용하게 되는 블록 넘버 및 I-노드 넘버와 동일하거나 일정 크기 큰 넘버로 기 설정되는 것이 바람직하다.Here, the preset critical block number and I-node number are the maximum used block number and I-node when blocks and I-nodes are used (allocated) for all actual important system files of the file system within the client. It is desirable to preset the number to be the same as the number or to be a certain size larger.

이에, 진단서버(100)는, 블록 비트맵 및 I-노드 비트맵에서 가장 작은 블록 넘버 및 I-노드 넘버 중 적어도 하나의 생성시간, 그리고 임계 블록 넘버 및 I-노드 넘버 중 적어도 하나 보다 작은 넘버를 가지는 것으로 확인되는 파일을, 루트 파일시스템 생성 시점에 생성된 파일로 식별하게 하여, 이 파일 즉 중요 시스템파일에 대해서는 취약점 진단 절차 수행 중에 접근되는 일이 없도록 예외 처리하도록 할 수 있다.Accordingly, the diagnosis server 100 determines the creation time of at least one of the smallest block number and I-node number in the block bitmap and the I-node bitmap, and a number smaller than at least one of the critical block number and the I-node number. By identifying files that are confirmed to have , as files created at the time the root file system is created, exceptions can be processed for these files, that is, important system files, to prevent them from being accessed during the vulnerability diagnosis process.

이렇게 되면, 본 발명에서는, 중요 시스템파일을 식별하고 보안 취약점 진단 과정 중에 중요 시스템파일에 접근되는 일 이 없도록 예외 처리하는 취약점 진단 절차를 수행함으로써, 진단 결과의 신뢰도를 향상시키고 아울러 클라이언트 시스템에 치명적인 상황을 야기시키는 문제 발생을 회피하는 효과를 기대할 수 있다.In this case, in the present invention, by performing a vulnerability diagnosis procedure that identifies important system files and handles exceptions to prevent access to important system files during the security vulnerability diagnosis process, it improves the reliability of the diagnosis results and prevents critical situations for the client system. The effect of avoiding problems that cause problems can be expected.

계속해서 설명하면, 본 발명의 일 실시 예에 따른 취약점 진단 방법에서 진단서버(100)는, S50단계에서 수행되는 취약점 진단 절차에 따라 생성되는 진단 결과 데이터가 DB(도 1 참조)에 저장/관리될 수 있도록 한다.To continue the explanation, in the vulnerability diagnosis method according to an embodiment of the present invention, the diagnosis server 100 stores/manages the diagnosis result data generated according to the vulnerability diagnosis procedure performed in step S50 in the DB (see FIG. 1). make it possible

구체적으로 설명하면, 본 발명에서는, 클라이언트에서 취약점 진단 절차가 끝나면, 취약점 진단 절차에 따른 진단 결과 데이터가 생성된다. 예를 들면, 진단 결과 데이터는, 날짜 + IP주소.txt 형태로서, 모든 결과가 들어있는 txt 파일로 생성될 수 있다.Specifically, in the present invention, when the vulnerability diagnosis procedure is completed in the client, diagnosis result data according to the vulnerability diagnosis procedure is generated. For example, diagnostic result data can be created as a txt file containing all results in the form of date + IP address.txt.

이때 본 발명의 일 실시 예에 따른 취약점 진단 방법에서는, 생성된 진단 결과 데이터가 웹에서 표시 가능한 형태로 가공된 후 DB(도 1 참조)에 저장되도록 한다.At this time, in the vulnerability diagnosis method according to an embodiment of the present invention, the generated diagnosis result data is processed into a form that can be displayed on the web and then stored in a DB (see FIG. 1).

즉, 이에 클라이언트에서는, 취약점 진단 절차를 통해 생성된 진단 결과 데이터(예: 날짜 + IP주소.txt 파일)를 가공시켜 줄 "./final_DB.sh"라는 스크립트를 실행시켜 진단 결과 데이터(예: 날짜 + IP주소.txt 파일)를 웹에서 표시 가능한 형태로 가공한 후(S60), mysql 명령어를 이용하여 DB에 저장할 수 있다(S80).In other words, the client executes a script called "./final_DB.sh" that will process the diagnostic result data (e.g. date + IP address.txt file) generated through the vulnerability diagnosis procedure to process the diagnostic result data (e.g. date + IP address.txt file) can be processed into a format that can be displayed on the web (S60) and then saved in the DB using the mysql command (S80).

예를 들어, 진단 결과 데이터가 가공 후 DB에 저장되도록 하는 주체는 클라이언트에서 실행되는 특정 스크립트(예: IR.tar)이거나 진단서버(100)일 수 있다.For example, the entity that processes the diagnostic result data and stores it in the DB may be a specific script (e.g. IR.tar) running on the client or the diagnostic server 100.

도 3는 본 발명의 취약점 진단 방법에 의해 얻을 수 있는 진단 결과 데이터의 일 예를 도시하고 있다.Figure 3 shows an example of diagnosis result data that can be obtained by the vulnerability diagnosis method of the present invention.

그리고, 도 4는 도 3의 진단 결과 데이터가 웹에서 표시 가능한 형태로 가공된 이후를 보여주는 일 예시도이다.And, Figure 4 is an example diagram showing the diagnostic result data of Figure 3 after it has been processed into a form that can be displayed on the web.

계속해서 설명하면, 본 발명의 일 실시 예에 따른 취약점 진단 방법에서 진단서버(100)는, 사용자(클라이언트)가 로그인을 통해 진단서버(100)에 접속하면, DB 내 저장 데이터를 기반으로 고객 페이지(마이 페이지)에서 앞서 진행한 취약점 진단 절차의 진단 결과 데이터에 따른 취약점 진단 보고서를 열람할 수 있게 한다(S90).To continue the explanation, in the vulnerability diagnosis method according to an embodiment of the present invention, when a user (client) connects to the diagnosis server 100 by logging in, the diagnostic server 100 creates a customer page based on data stored in the DB. (My Page) allows you to view the vulnerability diagnosis report based on the diagnosis result data of the previously performed vulnerability diagnosis procedure (S90).

도 4에서 알 수 있듯이, 취약점 진단 보고서에는, 사용자의 회원 정보, 진단 결과, 상세 결과가 포함될 수 있으며, 상세 결과에는 진행한 점검 항목 별로 항목 코드, 중요도, 점검 현황, 진단 결과, 그리고 조치 사항(해결방법)이 포함되어, 사용자는 취약점 진단 보고서를 통해 자신의 PC(클라이언트)에서 발견된 취약점들 및 상세 원인 분석부터 해결방법까지 확인할 수 있게 된다.As can be seen in Figure 4, the vulnerability diagnosis report may include the user's membership information, diagnosis results, and detailed results. The detailed results include item code, importance, inspection status, diagnosis results, and action taken for each inspection item performed ( Solutions) are included, allowing users to check the vulnerabilities found on their PC (client), detailed cause analysis, and solutions through the vulnerability diagnosis report.

한편, 취약점 진달 절차에 따른 진단 결과의 신뢰도를 향상시키기 위한 또 다른 실시 예를 설명하면, 본 발명의 일 실시 예에 따른 취약점 진단 방법에서 진단서버(100)는, 진단 결과 데이터가 생성된 시점(가공 이전)에, 금번 진단 결과 데이터를 근거로 해당 클라이언트에서 취약점으로 확인되는 특정 점검 항목과 관련하여 기 설정된 모의 공격을 수행해 볼 수 있다(S70).Meanwhile, to describe another embodiment to improve the reliability of the diagnosis result according to the vulnerability diagnosis procedure, in the vulnerability diagnosis method according to an embodiment of the present invention, the diagnosis server 100 is used at the point when the diagnosis result data is generated ( Before processing), based on this diagnosis result data, a preset mock attack can be performed in relation to specific check items identified as vulnerabilities in the relevant client (S70).

예를 들어, 도 4를 참조하여 설명하면, 진단서버(100)는, 항목 코드 U-01, U-04, U-45와 같이 진단 결과가 "부분만족"인 점검 항목과 관련하여, 해당 점검 항목 별로 기 설정된 모의 공격을 수행할 수 있고, 또는 중요도가 "상"이면서 진단 결과가 "부분만족"인 점검 항목과 관련하여, 해당 점검 항목 별로 기 설정된 모의 공격을 수행할 수도 있고, 중요도가 "상"인 점검 항목 모두에 대해 해당 점검 항목 별로 기 설정된 모의 공격을 수행할 수도 있다.For example, if described with reference to FIG. 4, the diagnostic server 100 performs the corresponding inspection in relation to inspection items for which the diagnostic result is “partially satisfactory,” such as item codes U-01, U-04, and U-45. A pre-set mock attack can be performed for each item, or, in relation to a check item with an importance level of "High" and a diagnosis result of "Partially Satisfactory", a pre-set mock attack can be performed for each check item, and a pre-set mock attack can be performed for each check item with an importance level of "High" For all of the "normal" inspection items, a preset mock attack can be performed for each inspection item.

그리고, 진단서버(100)는, 해당 클라이언트에 대한 금번 진단 결과 데이터가 DB에 저장될 때 모의 공격 수행 결과가 함께 저장되도록 할 수 있고, 또는 DB에 저장되는 금번 진단 결과 데이터에 모의 공격 수행 결과를 반영 및 처리한 후 저장되도록 할 수 있다(S80).In addition, the diagnostic server 100 may allow the simulation attack performance results to be stored together when the current diagnosis result data for the client is stored in the DB, or may store the mock attack performance results in the current diagnosis result data stored in the DB. It can be saved after reflection and processing (S80).

이렇게 되면, 본 발명에서는, 사용자(클라이언트)가 로그인을 통해 진단서버(100)에 접속하여 웹 상의 고객 페이지(마이 페이지)를 통해, 취약점 진단 절차를 수행하여 얻어지는 진단 결과에서 더 나아가 모의 공격 수행 결과까지 반영된 취약점 진단 보고서를 조회할 수 있도록 제공함으로써, 단순한 진단 결과 보다 더 강력한 정확도가 필요한 상황까지도 만족시켜 취약점 진단의 신뢰도를 향상시키는 효과를 기대할 수 있다.In this case, in the present invention, the user (client) accesses the diagnostic server 100 through login and performs a vulnerability diagnosis procedure through the customer page (My Page) on the web, and furthermore, the results of performing a mock attack are obtained. By providing a way to view the vulnerability diagnosis report that reflects the results, it is possible to expect the effect of improving the reliability of vulnerability diagnosis by satisfying even situations that require stronger accuracy than simple diagnosis results.

이상 설명한 바와 같이, 본 발명의 실시 예들에 따르면, 클라이언트의 과거 진단 결과 및 원격지의 관리자에 따라 선택되는 점검 항목으로 이루어진 동적 취약점 진단 절차를 수행하는 방식, 진단 결과 기반의 모의 공격을 수행하는 방식, 취약점 진단 절차 중에 중요 시스템파일에 접근되는 일 이 없도록 예외 처리하는 방식 실현을 통해, 새로운 방식의 취약점 진단 기술을 구현해 내고 있다.As described above, according to embodiments of the present invention, a method of performing a dynamic vulnerability diagnosis procedure consisting of check items selected according to the client's past diagnosis results and a remote administrator, a method of performing a mock attack based on the diagnosis result, We are implementing a new type of vulnerability diagnosis technology by implementing an exception handling method to prevent access to important system files during the vulnerability diagnosis process.

이로써, 본 발명에 따르면, 전술과 같이 구현한 새로운 방식의 취약점 진단 기술을 통해 취약점 진단을 수행함으로써, 취약점 진단 절차를 수행함에 있어서 진단 결과의 신뢰도를 높이고 진단 과정에서의 불필요한 부하 및 비용을 절감할 수 있는 효과를 도출할 수 있다.Accordingly, according to the present invention, by performing vulnerability diagnosis through a new vulnerability diagnosis technology implemented as described above, it is possible to increase the reliability of the diagnosis result when performing the vulnerability diagnosis procedure and reduce unnecessary load and cost in the diagnosis process. possible effects can be derived.

본 발명의 실시 예에 따르는 취약점 진단 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The vulnerability diagnosis method according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described with specific details such as specific components and limited embodiments and drawings, but this is only provided to facilitate a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , those skilled in the art can make various modifications and variations from this description.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be limited to the described embodiments, and the scope of the patent claims described later as well as all things that are equivalent or equivalent to the scope of this patent claim shall fall within the scope of the spirit of the present invention. .

100 : 진단서버(IR System)100: Diagnostic server (IR System)

Claims (5)

진단서버에 의해 제공되는 취약점 진단 방법에 있어서,
진단을 요청하는 클라이언트로, 원격지의 관리자가 웹기반 터미널 에뮬레이터 기반의 접속 서비스(SSH)를 이용하여 접속되도록 하는 접속 단계;
상기 관리자에 의한 특정 스크립트를 상기 클라이언트로 전달하여, 상기 클라이언트에서 상기 특정 스크립트를 실행하도록 하는 실행 단계;
상기 특정 스크립트 실행을 통해, 상기 클라이언트에서 취약점 진단 절차가 수행되게 하며 기 특정된 중요 파일에 대해서는 상기 취약점 진단 절차 수행 중에 접근되는 일이 없도록 예외 처리하는 절차 수행 단계;
상기 취약점 진단 절차에 따라 생성되는 진단 결과 데이터가 웹에서 표시 가능한 형태로 가공된 후 데이터 베이스(DB)에 저장되도록 하는 저장 단계를 포함하며;
상기 특정된 중요 파일은,
루트 파일시스템(root filesystem) 생성 시점에 생성된 것으로 식별되는 파일로서,
I-노드로 식별되는 위치에 블록 단위로 파일을 저장하는 데이터 구조로부터, 블록 비트맵 및 I-노드 비트맵에서 파일 데이터가 가장 먼저 저장되는 가장 작은 블록 넘버 및 I-노드 넘버 중 적어도 하나의 생성시간을 확인하고,
블록 비트맵 및 I-노드 비트맵으로부터, 상기 확인한 생성시간과 같은 생성시간을 가지며 기 설정된 임계 블록 넘버 및 I-노드 넘버 중 적어도 하나 보다 작은 넘버를 가지는 것으로 확인되는 파일인 것을 특징으로 하는 취약점 진단 방법.
In the vulnerability diagnosis method provided by the diagnosis server,
A connection step of allowing a remote administrator to connect to the client requesting diagnosis using a web-based terminal emulator-based connection service (SSH);
An execution step of delivering a specific script by the manager to the client and executing the specific script on the client;
Executing the specific script to perform a vulnerability diagnosis procedure on the client and processing an exception so that a pre-specified important file is not accessed during the vulnerability diagnosis procedure;
It includes a storage step of processing the diagnosis result data generated according to the vulnerability diagnosis procedure into a form that can be displayed on the web and then storing it in a database (DB);
The important files specified above are:
A file identified as being created at the time the root filesystem was created,
From a data structure that stores a file in blocks at a location identified as an I-node, generating at least one of the smallest block number and I-node number where the file data is stored first in the block bitmap and the I-node bitmap. check the time,
Vulnerability diagnosis, characterized in that the file is confirmed to have a creation time equal to the confirmed creation time and a number smaller than at least one of the preset critical block number and I-node number from the block bitmap and the I-node bitmap. method.
제 1 항에 있어서,
상기 취약점 진단 절차에는 기 설정된 다수의 점검 항목이 포함되며,
상기 절차 수행 단계는,
상기 다수의 점검 항목 중에서, 상기 DB에서 조회되는 상기 클라이언트의 과거 진단 결과 데이터 및 상기 클라이언트의 진단 요청을 처리하는 원격지의 관리자 중 적어도 하나에 따라 선택되는 점검 항목으로 이루어지는 취약점 진단 절차가 수행되도록 하는 것을 특징으로 하는 취약점 진단 방법.
According to claim 1,
The vulnerability diagnosis procedure includes a number of preset check items,
The steps for carrying out the above procedure are:
Among the plurality of check items, performing a vulnerability diagnosis procedure consisting of check items selected according to at least one of the client's past diagnosis result data searched in the DB and a remote administrator processing the client's diagnosis request. Featured vulnerability diagnosis method.
제 1 항에 있어서,
상기 취약점 진단 절차에 따른 진단 결과를 근거로, 상기 클라이언트에서 취약점으로 확인되는 특정 점검 항목과 관련하여 기 설정된 모의 공격을 수행하는 단계를 더 포함하며;
상기 저장 단계는,
상기 DB에 저장되는 진단 결과 데이터와 상기 모의 공격 수행 결과가 함께 저장되도록 하거나, 상기 DB에 저장되는 진단 결과 데이터에 상기 모의 공격 수행 결과를 반영 및 처리한 후 저장되도록 하는 것을 특징으로 하는 취약점 진단 방법.
According to claim 1,
Based on the diagnosis result according to the vulnerability diagnosis procedure, it further includes performing a preset mock attack in relation to a specific check item identified as a vulnerability in the client;
The storage step is,
A vulnerability diagnosis method characterized in that the diagnostic result data stored in the DB and the mock attack execution results are stored together, or the diagnostic result data stored in the DB reflects and processes the mock attack execution results and then stores them. .
제 1 항에 있어서,
상기 클라이언트가 로그인을 통해 상기 진단서버에 접속하면, 상기 DB 내 저장 데이터를 기반으로 상기 클라이언트의 고객 페이지에서 적어도 하나 이상의 진단 결과 데이터에 따른 취약점 진단 보고서를 열람할 수 있게 하는 열람 단계를 더 포함하는 것을 특징으로 하는 취약점 진단 방법.
According to claim 1,
When the client connects to the diagnostic server through login, it further includes a viewing step of allowing the client to view a vulnerability diagnosis report according to at least one diagnosis result data on the customer page of the client based on the stored data in the DB. A vulnerability diagnosis method characterized by:
삭제delete
KR1020220021182A 2022-02-18 2022-02-18 Vulnerability diagnosis method provided by diagnosis server KR102679203B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220021182A KR102679203B1 (en) 2022-02-18 2022-02-18 Vulnerability diagnosis method provided by diagnosis server
PCT/KR2022/020749 WO2023158086A1 (en) 2022-02-18 2022-12-19 Method by which diagnosis server diagnoses vulnerability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220021182A KR102679203B1 (en) 2022-02-18 2022-02-18 Vulnerability diagnosis method provided by diagnosis server

Publications (2)

Publication Number Publication Date
KR20230124189A KR20230124189A (en) 2023-08-25
KR102679203B1 true KR102679203B1 (en) 2024-06-26

Family

ID=87578794

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220021182A KR102679203B1 (en) 2022-02-18 2022-02-18 Vulnerability diagnosis method provided by diagnosis server

Country Status (2)

Country Link
KR (1) KR102679203B1 (en)
WO (1) WO2023158086A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100918370B1 (en) * 2008-05-23 2009-09-21 주식회사 나우콤 Web management system and the method thereof
KR102176324B1 (en) * 2020-03-19 2020-11-10 주식회사 이글루시큐리티 Automatic Target Recognition And Screening System For Security Vulnerability Check and Its Method
KR102186127B1 (en) * 2020-05-11 2020-12-03 (주)케이엔비씨 Hacking simulation training method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100918370B1 (en) * 2008-05-23 2009-09-21 주식회사 나우콤 Web management system and the method thereof
KR102176324B1 (en) * 2020-03-19 2020-11-10 주식회사 이글루시큐리티 Automatic Target Recognition And Screening System For Security Vulnerability Check and Its Method
KR102186127B1 (en) * 2020-05-11 2020-12-03 (주)케이엔비씨 Hacking simulation training method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same

Also Published As

Publication number Publication date
KR20230124189A (en) 2023-08-25
WO2023158086A1 (en) 2023-08-24

Similar Documents

Publication Publication Date Title
US9219739B2 (en) Reputation based access control
RU2568295C2 (en) System and method for temporary protection of operating system of hardware and software from vulnerable applications
US7788730B2 (en) Secure bytecode instrumentation facility
US9063899B2 (en) Security in virtualized computer programs
US7899882B2 (en) System and method for providing remote forensics capability
US7743414B2 (en) System and method for executing a permissions recorder analyzer
US9147073B2 (en) System and method for automatic generation of heuristic algorithms for malicious object identification
US7664924B2 (en) System and method to secure a computer system by selective control of write access to a data storage medium
US20160036847A1 (en) Methods and systems for automated network scanning in dynamic virtualized environments
US20060101517A1 (en) Inventory management-based computer vulnerability resolution system
RU2606559C1 (en) System and method for optimizing of files antivirus checking
KR20080051161A (en) Expert system analysis and graphical display of privilege elevation pathways in a computing environment
RU2697950C2 (en) System and method of detecting latent behaviour of browser extension
US20100153671A1 (en) System and method to secure a computer system by selective control of write access to a data storage medium
US11494493B1 (en) Software verification for network-accessible applications
KR101620601B1 (en) Method for conducting security check, Computer program for the same, and Recording medium storing computer program for the same
CN112805708A (en) Securing selected disks on a computer system
US20240220637A1 (en) Managing the loading of sensitive modules
RU2738334C1 (en) Method and system for making decision on need for automated response to incident
US11620129B1 (en) Agent-based detection of fuzzing activity associated with a target program
Kupsch et al. First principles vulnerability assessment
Reantongcome et al. Securing and trustworthy blockchain-based multi-tenant cloud computing
US7690036B2 (en) Special group logon tracking
JP4342242B2 (en) Secure file sharing method and apparatus
US11783049B2 (en) Automated code analysis tool

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right