KR102617219B1 - Apparatus and method of penetration test utilizing malware - Google Patents

Apparatus and method of penetration test utilizing malware Download PDF

Info

Publication number
KR102617219B1
KR102617219B1 KR1020230120042A KR20230120042A KR102617219B1 KR 102617219 B1 KR102617219 B1 KR 102617219B1 KR 1020230120042 A KR1020230120042 A KR 1020230120042A KR 20230120042 A KR20230120042 A KR 20230120042A KR 102617219 B1 KR102617219 B1 KR 102617219B1
Authority
KR
South Korea
Prior art keywords
malicious code
mock
code
penetration test
techniques
Prior art date
Application number
KR1020230120042A
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 KR1020230120042A priority Critical patent/KR102617219B1/en
Application granted granted Critical
Publication of KR102617219B1 publication Critical patent/KR102617219B1/en

Links

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer And Data Communications (AREA)

Abstract

악성 코드를 이용한 침투 테스트 수행 방법 및 장치가 제공된다. 상기 악성 코드를 이용한 침투 테스트 수행 장치는 하나 이상의 인스트럭션을 저장하는 메모리, 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써 악성 코드 내에 탑재된 공격 전술(Tactics), 기법(Techniques), 및 절차(Process)를 식별하고, 상기 악성 코드로부터 시스템에 악영향을 끼치는 공격 전술, 기법, 또는 절차에 관한 바이너리 코드와 C2 서버 접속 기능에 관한 바이너리 코드를 제거하고, 상기 악성 코드 내에 모의 해킹에 필요한 공격 전술, 기법 또는 절차에 관한 바이너리 코드와 모의 해킹용 C2 서버 접속 기능에 관한 바이너리 코드를 추가하여 모의 악성 코드를 생성하고, 상기 모의 악성 코드를 침투 테스트의 표적 시스템에 설치하고 원격으로 침투 테스트를 수행할 수 있다.A method and device for performing a penetration test using malicious code are provided. The device for performing a penetration test using malicious code includes a memory that stores one or more instructions, and one or more processors that execute the one or more instructions stored in the memory, and the one or more processors execute the one or more instructions to detect malicious code. Identify the attack tactics, techniques, and processes embedded in the code, and identify the binary code and C2 server connection function related to the attack tactics, techniques, or procedures that adversely affect the system from the malicious code. The binary code related to the mock hacking is removed, and the binary code related to the attack tactics, techniques or procedures necessary for mock hacking and the binary code related to the C2 server access function for mock hacking are added to the malicious code to create a mock malicious code, and the mock malicious code is created. You can install the code on the target system of the penetration test and perform the penetration test remotely.

Description

악성 코드를 이용한 침투 테스트 방법 및 장치{APPARATUS AND METHOD OF PENETRATION TEST UTILIZING MALWARE}Penetration testing method and device using malicious code {APPARATUS AND METHOD OF PENETRATION TEST UTILIZING MALWARE}

본 발명은 악성 코드를 이용한 침투 테스트 방법 및 장치에 관한 것이다.The present invention relates to a penetration testing method and device using malicious code.

정보통신기술(Information & Communication Technology, ICT)의 발달로 인하여 다양한 사이버보안 위협이 증가하고 있다. 따라서, 정보 시스템의 보안 문제로 인한 심각한 재정적 손실이나 인명 피해가 발생할 수 있다.Due to the development of Information & Communication Technology (ICT), various cybersecurity threats are increasing. Therefore, serious financial losses or human casualties may occur due to security problems in information systems.

종래에 보안 취약점을 찾기 위해 모의 해킹을 실행하는 침투 테스트가 제안되었지만, 보다 실전적인 침투 테스트를 수행하는 방법이 필요하다.In the past, penetration tests that perform mock hacking to find security vulnerabilities have been proposed, but a more practical method of performing penetration tests is needed.

등록특허공보 제10-1639869호, 2016.07.14.Registered Patent Publication No. 10-1639869, 2016.07.14.

본 발명이 해결하고자 하는 과제는 악성 코드를 이용한 침투 테스트 방법 및 장치를 제공하는 것이다.The problem to be solved by the present invention is to provide a penetration testing method and device using malicious code.

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

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 악성 코드를 이용한 침투 테스트 수행 장치는 하나 이상의 인스트럭션을 저장하는 메모리, 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써 악성 코드 내에 탑재된 공격 전술(Tactics), 기법(Techniques), 및 절차(Process)를 식별하고, 상기 악성 코드로부터 시스템에 악영향을 끼치는 공격 전술, 기법, 또는 절차에 관한 바이너리 코드와 C2 서버 접속 기능에 관한 바이너리 코드를 제거하고, 상기 악성 코드 내에 모의 해킹에 필요한 공격 전술, 기법 또는 절차에 관한 바이너리 코드와 모의 해킹용 C2 서버 접속 기능에 관한 바이너리 코드를 추가하여 모의 악성 코드를 생성하고, 상기 모의 악성 코드를 침투 테스트의 표적 시스템에 설치하고 원격으로 침투 테스트를 수행한다.An apparatus for performing a penetration test using malicious code according to one aspect of the present invention for solving the above-described problem includes a memory that stores one or more instructions, and one or more processors that execute the one or more instructions stored in the memory, The one or more processors execute the one or more instructions to identify attack tactics, techniques, and processes embedded in the malicious code, and execute the attack tactics and techniques that adversely affect the system from the malicious code. , or remove the binary code related to the procedure and the binary code related to the C2 server connection function, and within the malicious code, the binary code related to the attack tactics, techniques or procedures necessary for mock hacking and the binary code related to the C2 server connection function for mock hacking. is added to create mock malicious code, install the mock malicious code on the target system of the penetration test, and perform the penetration test remotely.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 침투 테스트 수행 장치에 의해서 수행되는 방법으로서, 악성 코드 내에 탑재된 공격 전술(Tactics), 기법(Techniques), 및 절차(Process)를 식별하는 단계, 상기 악성 코드로부터 시스템에 악영향을 끼치는 공격 전술, 기법, 또는 절차에 관한 바이너리 코드와 C2 서버 접속 기능에 관한 바이너리 코드를 제거하는 단계, 상기 악성 코드 내에 모의 해킹에 필요한 공격 전술, 기법 또는 절차에 관한 바이너리 코드와 모의 해킹용 C2 서버 접속 기능에 관한 바이너리 코드를 추가하여 모의 악성 코드를 생성하는 단계, 및 상기 모의 악성 코드를 침투 테스트의 표적 시스템에 설치하고 원격으로 침투 테스트를 수행하는 단계를 포함한다.A method performed by a penetration testing apparatus according to one aspect of the present invention to solve the above-described problem, comprising the step of identifying attack tactics, techniques, and processes mounted in malicious code. , removing binary code related to attack tactics, techniques, or procedures that adversely affect the system and binary code related to the C2 server connection function from the malicious code, including attack tactics, techniques, or procedures necessary for mock hacking within the malicious code. Generating simulated malicious code by adding binary code related to the C2 server connection function for mock hacking and installing the simulated malicious code on the target system of the penetration test and remotely performing the penetration test. do.

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

본 발명은 악성 코드를 활용하여 보다 실전적인 공격을 가능하게 하면서도 위험한 부분을 제거하여 안전성을 확보할 수 있다.The present invention enables more practical attacks by utilizing malicious code, while ensuring safety by removing dangerous parts.

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

도 1은 본 발명의 일 실시예에 따른 악성 코드를 이용한 침투 테스트 수행 장치를 간략하게 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 모의 악성 코드를 생성하는 장치 및 침투 테스트를 수행하는 장치를 간략하게 나타낸 도면이다.
도 3 내지 5는 본 발명의 일 실시예에 따라, 침투 테스트 수행 장치에서 수행되는 악성 코드를 이용한 침투 테스트 방법을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따라, 악성 코드에서 시스템에 악영향을 끼치는 바이너리 코드를 제거하고, 악성 코드 내에 모의 해킹에 필요한 바이너리 코드를 추가하는 과정을 간략하게 나타낸 도면이다.
Figure 1 is a diagram briefly showing a device for performing a penetration test using malicious code according to an embodiment of the present invention.
Figure 2 is a diagram briefly showing a device for generating simulated malicious code and a device for performing a penetration test according to an embodiment of the present invention.
3 to 5 are diagrams showing a penetration testing method using malicious code performed in a penetration testing apparatus, according to an embodiment of the present invention.
Figure 6 is a diagram briefly illustrating the process of removing binary code that adversely affects the system from malicious code and adding binary code necessary for mock hacking to the malicious code, according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to provide a general understanding of the technical field to which the present invention pertains. It is provided to fully inform the skilled person of the scope of the present invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for describing embodiments and is not intended to limit the invention. As used herein, singular forms also include plural forms, unless specifically stated otherwise in the context. As used in the specification, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other elements in addition to the mentioned elements. Like reference numerals refer to like elements throughout the specification, and “and/or” includes each and every combination of one or more of the referenced elements. Although “first”, “second”, etc. are used to describe various components, these components are of course not limited by these terms. These terms are merely used to distinguish one component from another. Therefore, it goes without saying that the first component mentioned below may also be a second component within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings commonly understood by those skilled in the art to which the present invention pertains. Additionally, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless clearly specifically defined.

본 발명을 설명함에 있어서 관련된 공지 기술에 대하여 통상의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.In describing the present invention, detailed descriptions of related known technologies will be omitted if they are obvious to those skilled in the art and are judged to unnecessarily obscure the gist of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.

도 1은 본 발명의 일 실시예에 따른 악성 코드를 이용한 침투 테스트 수행 장치를 간략하게 나타낸 도면이다.Figure 1 is a diagram briefly showing a device for performing a penetration test using malicious code according to an embodiment of the present invention.

도 1을 참조하면, 침투 테스트 수행 장치(100)는 모의 악성 코드를 생성하고, 생성된 모의 악성 코드를 침투 테스트의 표적 시스템(200)에 설치하여 침투 테스트를 수행할 수 있다.Referring to FIG. 1 , the penetration test performing device 100 may generate simulated malicious code and install the generated simulated malicious code in the target system 200 of the penetration test to perform the penetration test.

침투 테스트 수행 장치(100)는 침투 테스트의 표적 시스템(200)과 물리적 및/또는 논리적으로 분리되어 있을 수 있다. 따라서, 침투 테스트 수행 장치(100)는 생성된 모의 악성 코드를 침투 테스트의 표적 시스템에 설치하여 원격으로 침투 테스트를 수행할 수 있다.The penetration test performing device 100 may be physically and/or logically separated from the penetration test target system 200. Accordingly, the penetration test performing device 100 can remotely perform a penetration test by installing the generated simulated malicious code in the target system of the penetration test.

침투 테스트의 표적 시스템(200)은 침투 테스트, 즉 시스템의 취약점을 찾기 위한 모의 사이버 공격이 실행되는 대상 시스템으로, 서버를 포함할 수 있다. 일 실시예에서, 침투 테스트의 표적 시스템(200)은 사용자에 의해 임의의 환경으로 설정된 시스템일 수 있다. 침투 테스트의 표적 시스템(200)은 테스트 목적, 환경, 목표 등에 따라 특정 환경으로 설정될 수 있다. The target system 200 of the penetration test is a target system on which a penetration test, that is, a simulated cyber attack to find system vulnerabilities, is executed, and may include a server. In one embodiment, the target system 200 of the penetration test may be a system set to any environment by the user. The target system 200 for penetration testing may be set to a specific environment according to test purpose, environment, goals, etc.

네트워크(300)는 임의의 형태의 데이터 및 신호 등을 송수신할 수 있는 임의의 유무선 통신 네트워크를 포함할 수 있다. 구체적으로, 네트워크(300)는 침투 테스트 수행 장치(100)와 침투 테스트의 표적 시스템(200) 간에 데이터 및 신호 등을 송수신할 수 있는 유무선 통신 네트워크를 포함할 수 있다.The network 300 may include any wired or wireless communication network capable of transmitting and receiving arbitrary types of data and signals. Specifically, the network 300 may include a wired or wireless communication network capable of transmitting and receiving data and signals between the penetration test performing device 100 and the penetration test target system 200.

한편, 침투 테스트 수행 장치(100)는 하나 이상의 프로세서(110), 메모리(120) 및 통신부(130)를 포함할 수 있다.Meanwhile, the penetration test performing device 100 may include one or more processors 110, memory 120, and communication unit 130.

프로세서(110)는 하나 이상의 코어로 구성될 수 있다. 프로세서(110)는 침투 테스트 수행 장치(100)의 전체적인 동작을 제어할 수 있다. 프로세서(110)는 메모리(120)에 저장된 하나 이상의 인스트럭션을 판독하여 본 개시의 일 실시예에 따른 악성 코드를 이용한 침투 테스트를 수행할 수 있다.Processor 110 may consist of one or more cores. The processor 110 may control the overall operation of the penetration testing apparatus 100. The processor 110 may read one or more instructions stored in the memory 120 and perform a penetration test using malicious code according to an embodiment of the present disclosure.

메모리(120)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 정보 및 통신부(130)를 통해 수신한 임의의 형태의 정보를 저장할 수 있다. 메모리(120)는 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체를 포함할 수 있다. 메모리(120)는 프로세서(110)에 의해 실행되는 하나 이상의 인스트럭션을 저장할 수 있다.The memory 120 may store any type of information generated or determined by the processor 110 and any type of information received through the communication unit 130. The memory 120 includes random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, and CD-ROM. , or any type of computer-readable recording medium well known in the art to which the present invention pertains. Memory 120 may store one or more instructions executed by processor 110.

통신부(130)는 임의의 형태의 데이터, 정보 및 신호 등을 송수신할 수 있는 임의의 유무선 통신 네트워크를 포함할 수 있다. 통신부(130)는 외부 장치와 통신을 수행할 수 있다. 외부 장치는 예를 들어, 침투 테스트의 표적 시스템(서버 등)일 수 있다.The communication unit 130 may include any wired or wireless communication network capable of transmitting and receiving any type of data, information, and signals. The communication unit 130 can communicate with an external device. An external device could be, for example, the target system of a penetration test (a server, etc.).

도 2를 참조하면, 침투 테스트 수행 장치(100)와 모의 악성코드 생성 장치(400)는 물리적 및/또는 논리적으로 분리되어 있을 수 있다. 따라서, 침투 테스트 수행 장치(100)는 모의 악성코드 생성 장치(400)로부터 모의 악성 코드를 수신하고, 수신한 모의 악성 코드를 이용하여 침투 테스트의 표적 시스템(200)에 설치하여 침투 테스트를 수행할 수 있다.Referring to FIG. 2, the penetration test performing device 100 and the simulated malicious code generating device 400 may be physically and/or logically separated. Therefore, the penetration test performing device 100 receives the simulated malicious code from the simulated malicious code generating device 400 and installs it in the target system 200 of the penetration test using the received simulated malicious code to perform the penetration test. You can.

모의 악성 코드 생성 장치(400)는 하나 이상의 프로세서(410), 메모리(420) 및 통신부(430)를 포함할 수 있다.The simulated malicious code generating device 400 may include one or more processors 410, memory 420, and communication unit 430.

프로세서(410)는 하나 이상의 코어로 구성될 수 있다. 프로세서(410)는 모의 악성 코드 생성 장치(400)의 전체적인 동작을 제어할 수 있다. 프로세서(410)는 메모리(420)에 저장된 하나 이상의 인스트럭션을 판독하여 본 개시의 일 실시예에 따른 모의 악성 코드를 생성할 수 있다.The processor 410 may consist of one or more cores. The processor 410 may control the overall operation of the simulated malicious code generating device 400. The processor 410 may read one or more instructions stored in the memory 420 and generate simulated malicious code according to an embodiment of the present disclosure.

메모리(420)는 프로세서(410)가 생성하거나 결정한 임의의 형태의 정보 및 통신부(430)를 통해 수신한 임의의 형태의 정보를 저장할 수 있다. 메모리(420)는 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체를 포함할 수 있다. 메모리(420)는 프로세서(410)에 의해 실행되는 하나 이상의 인스트럭션을 저장할 수 있다.The memory 420 may store any type of information generated or determined by the processor 410 and any type of information received through the communication unit 430. The memory 420 includes RAM (Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), flash memory, hard disk, removable disk, and CD-ROM. , or any type of computer-readable recording medium well known in the art to which the present invention pertains. Memory 420 may store one or more instructions executed by processor 410.

통신부(430)는 임의의 형태의 데이터, 정보 및 신호 등을 송수신할 수 있는 임의의 유무선 통신 네트워크를 포함할 수 있다. 통신부(430)는 침투 테스트 수행 장치(100)와 통신할 수 있다.The communication unit 430 may include any wired or wireless communication network capable of transmitting and receiving any type of data, information, and signals. The communication unit 430 may communicate with the penetration test performing device 100.

다음으로, 본 발명의 일 실시예에 따라, 침투 테스트 수행 장치(100)의 프로세서(110)(또는, 모의 악성코드 생성 장치(400)의 프로세서(410))에 의해 수행되는 침투 테스트의 구체적인 방법을 후술하도록 한다. Next, according to an embodiment of the present invention, a specific method of penetration testing performed by the processor 110 of the penetration test performing device 100 (or the processor 410 of the simulated malicious code generating device 400) will be described later.

도 3 내지 6은 본 발명의 일 실시예에 따라, 침투 테스트 수행 장치에서 수행되는 악성 코드를 이용한 침투 테스트 방법을 나타낸 도면이다. 도 3 내지 6에 도시되는 단계들은 예시적인 단계들이다. 따라서, 본 개시의 사사의 범위를 벗어나지 않는 한도에서 도 3 내지 5의 단계들 중 일부가 생략되거나 추가적인 단계들이 존재할 수 있다는 점 또한 당업자에게 명백할 것이다. 도 3 내지 5에서 도시되는 흐름도는 예를 들어, 침투 테스트 수행 장치(100)(또는, 모의 악성코드 생성 장치(400))에 의해 수행될 수 있다.3 to 6 are diagrams showing a penetration testing method using malicious code performed in a penetration testing apparatus, according to an embodiment of the present invention. The steps shown in FIGS. 3 to 6 are exemplary steps. Accordingly, it will be clear to those skilled in the art that some of the steps in FIGS. 3 to 5 may be omitted or additional steps may be present without departing from the scope of the present disclosure. The flowcharts shown in FIGS. 3 to 5 may be performed, for example, by the penetration test performing device 100 (or the simulated malicious code generating device 400).

침투 테스트 수행 장치(100)의 프로세서(110)는 악성 코드 내에 탑재된 공격 전술(Tactics), 기법(Techniques), 및 절차(Process)를 식별할 수 있다(S110).The processor 110 of the penetration test performing device 100 can identify attack tactics, techniques, and processes mounted within the malicious code (S110).

프로세서(110)는 사전 개발된 악성코드 분석 시스템(예를 들어, sandbox 등)을 이용하여, 공격 가능한 전술, 기법, 절차에 대한 정보가 목록화된 프레임워크(예를 들어, MITRE ATT&CK 등)에 따라 악성 코드 내에 탑재된 공격 전술, 기법, 절차 등의 바이너리 코드 및/또는 각 바이너리 코드의 위치를 식별할 수 있다.The processor 110 uses a pre-developed malware analysis system (e.g., sandbox, etc.) to list information on possible attack tactics, techniques, and procedures in a framework (e.g., MITER ATT&CK, etc.). Accordingly, the binary code such as attack tactics, techniques, and procedures embedded in the malicious code and/or the location of each binary code can be identified.

악성 코드는 사용자에게 해악을 끼치는 악의적 목적으로 만들어진 모든 코드의 총칭일 수 있다. 악성 코드는 악성 프로그램일 수 있으며, 공격 전술, 기법, 절차 등을 포함할 수 있다.Malicious code can be a general term for all code created for malicious purposes that causes harm to users. Malicious code can be a malicious program and can include attack tactics, techniques, procedures, etc.

공격 전술은 공격자의 공격 목표에 따른 행동을 나타내는 정보를 의미할 수 있다. 예를 들어, 공격 전술은 정찰(Reconnaissance), 자원 개발(Resource Development), 초기 접근(Initial Access), 실행(Execution), 지속(Persistence), 권한 상승(Privilege Escalation), 방어 회피(Defense Evasion), 자격증명 획득(Credential Access), 발견(Discovery), 측면 이동(Lateral Movement), 수집(Collection), C2(Command and Control), 데이터유출(Exfiltration), 영향(impact) 등을 포함할 수 있다.Attack tactics may refer to information indicating actions according to the attacker's attack goal. For example, attack tactics include Reconnaissance, Resource Development, Initial Access, Execution, Persistence, Privilege Escalation, Defense Evasion, It may include Credential Access, Discovery, Lateral Movement, Collection, Command and Control (C2), Exfiltration, Impact, etc.

정찰은 공격 대상에 대한 정보 수집 및 이해 단계로, 대상 네트워크 및 시스템을 조사하고 취약점을 찾기 위해 정보를 수집하는 것을 의미할 수 있다.Reconnaissance is the stage of gathering and understanding information about the target of an attack, and can mean collecting information to investigate the target network and system and find vulnerabilities.

자원 개발은 공격에 사용될 도구 및 인프라를 준비하는 단계로, 공격에 필요한 악성 코드나 도구를 개발하거나 획득하는 것을 의미할 수 있다.Resource development is the stage of preparing tools and infrastructure to be used in an attack, and may mean developing or acquiring malicious code or tools necessary for an attack.

초기 접근은 시스템 내로 침투하는 첫 번째 단계로, 취약점을 활용하거나 사회 공학 기술을 사용하여 원격으로 시스템에 접근하는 것을 의미할 수 있다.Initial access is the first step into infiltrating a system and may mean accessing the system remotely by exploiting vulnerabilities or using social engineering techniques.

실행은 악성 코드나 스크립트를 실행하여 시스템 내에서 원하는 작업을 수행하는 것을 의미할 수 있다.Execution can mean executing malicious code or scripts to perform desired actions within the system.

지속은 시스템에 장기적인 접근을 유지하기 위해 백도어나 다른 메커니즘을 설치하거나 설정하는 것을 의미할 수 있다.Persistence may mean installing or setting up backdoors or other mechanisms to maintain long-term access to the system.

권한 상승은 시스템 내에서 더 높은 권한을 얻기 위해 다양한 기술 활용하는 것을 의미할 수 있다.Escalation of privilege can mean utilizing various techniques to gain higher privileges within a system.

방어 회피는 탐지를 회피하고 분석을 어렵게 만드는 기술을 활용하여 보안 시스템을 회피하는 것을 의미할 수 있다.Defense evasion can mean evading security systems by utilizing techniques that evade detection and make analysis difficult.

자격증명 획득은 시스템 내의 유효한 계정 정보를 획득하거나 크랙된 암호를 사용하여 인증을 우회하는 것을 의미할 수 있다.Obtaining credentials may mean obtaining valid account information within the system or bypassing authentication using a cracked password.

발견은 시스템 내의 정보 및 자원을 탐색하여 공격을 계획하고 확장하는 것일 수 있다.Discovery can be exploring information and resources within a system to plan and expand attacks.

측면 이동은 시스템 내에서 이동하여 더 많은 호스트 또는 자원에 접근하는 것으로, 원격에서 시스템에 침투하는 공격일 수 있다.Lateral movement involves moving within a system to access more hosts or resources, which can be an attack that penetrates a system from a remote location.

수집은 훔친 정보나 데이터를 수집하거나 검사하기 위해 시스템 내에서 작업을 수행하는 것을 의미할 수 있다.Collection can mean performing actions within a system to collect or examine stolen information or data.

C2(Command and Control)는 원격 서버나 인프라를 사용하여 원격으로 시스템을 조작하고 제어하는 것을 의미할 수 있다.C2 (Command and Control) can refer to remotely manipulating and controlling a system using a remote server or infrastructure.

데이터 유출은 탈취한 데이터를 외부로 전송하거나 유출하는 것으로, 실제 해커에게 정보를 전송할 위험이 있을 수 있다.Data leakage refers to transmitting or leaking stolen data externally, and there may be a risk of transmitting information to actual hackers.

영향은 시스템 또는 데이터를 손상시키거나 서비스의 가용성을 저해하기 위해 작업을 수행하는 것으로, 공격의 최종 목표를 실행하는 것이므로 위험할 수 있다.The impact can be dangerous because it executes the end goal of the attack, taking action to damage systems or data or impede the availability of a service.

기법은 공격자가 목표에 대한 공격 전술을 달성하기 위한 기술을 나타내는 정보를 의미할 수 있다.Techniques may refer to information indicating techniques for an attacker to achieve attack tactics against a target.

절차는 기법을 구체적으로 실행하기 위한 방법을 설명하는 정보를 의미할 수 있다.A procedure may refer to information that describes how to specifically execute a technique.

일 실시예에서, 프로세서(110)는 분석 시스템이 아닌 룰 기반의 알고리즘을 이용하여, 시스템에 악영향을 끼치는 공격 전술과 위험하지 않은 공격 전술을 식별할 수 있다. 예를 들어, 프로세서(110)는 악성 코드의 공격 전술 중에서 정찰(Reconnaissance), 자원 개발(Resource Development), 실행(Execution), 지속(Persistence), 권한 상승(Privilege Escalation), 방어 회피(Defense Evasion), 자격증명 획득(Credential Access), 발견(Discovery) 등을 위험하지 않은 공격 전술로 식별할 수 있다.In one embodiment, the processor 110 may use a rule-based algorithm rather than an analysis system to identify attack tactics that have a negative impact on the system and attack tactics that are not dangerous. For example, the processor 110 uses Reconnaissance, Resource Development, Execution, Persistence, Privilege Escalation, and Defense Evasion among the attack tactics of malicious code. , Credential Access, Discovery, etc. can be identified as non-dangerous attack tactics.

프로세서(110)는 악성 코드로부터 시스템에 악영향을 끼치는 공격 전술, 기법, 또는 절차에 관한 바이너리 코드와 C2 서버 접속 기능에 관한 바이너리 코드를 제거할 수 있다(S120).The processor 110 may remove binary code related to attack tactics, techniques, or procedures that have a negative impact on the system and binary code related to the C2 server connection function from malicious code (S120).

시스템에 악영향을 끼치는 공격 전술은 초기 접근, 측면 이동, 데이터유출, 영향 등을 포함할 수 있다. 따라서, 프로세서(110)는 초기 접근, 측면 이동, 데이터유출, 영향에 관한 바이너리 코드와 C2 서버 접속 기능에 관한 바이너리 코드를 제거할 수 있다.Attack tactics that adversely affect the system may include early access, lateral movement, data exfiltration, and influence. Accordingly, the processor 110 can remove binary code related to initial access, lateral movement, data leakage, and impact, and binary code related to the C2 server connection function.

바이너리 코드의 제거는 해당 바이너리 코드를 삭제하는 것을 의미할 수도 있다.Removing binary code may mean deleting the binary code.

바이너리 코드의 제거는 바이너리 코드에 포함된 비트들을 각각 “0”으로 변경하여, 0으로 이루어진 바이너리 코드로 변경하는 것을 의미할 수 있다. 0으로 이루어진 바이너리 코드는 의미없는 코드, 즉, 더미코드일 수 있다. 프로세서(110)는 바이너리 코드를 삭제하지 않고 더미코드로 변경함으로써, 바이너리 코드의 삭제로 인하여 발생될 수 있는 코드의 실행과 관련된 문제를 미연에 예방할 수 있다.Removing the binary code may mean changing each bit included in the binary code to “0” and changing it to a binary code made up of 0s. A binary code consisting of 0 may be a meaningless code, that is, a dummy code. The processor 110 changes the binary code to a dummy code without deleting it, thereby preventing problems related to code execution that may occur due to deletion of the binary code.

추가적인 실시예에서, 프로세서(110)는 악성 코드로부터 시스템에 악영향을 끼치는 공격 전술, 기법, 또는 절차에 관한 바이너리 코드와 C2 서버 접속 기능에 관한 바이너리 코드를 비활성화시킬 수 있다.In additional embodiments, processor 110 may disable binary code relating to attack tactics, techniques, or procedures that adversely affect the system from malicious code and binary code relating to C2 server access functionality.

비활성화는 바이너리 코드에서 공격자에 의해서 호출되는 부분을 삭제하는 것을 의미할 수 있다. 프로세서(110)는 바이너리 코드의 전체를 삭제하지 않고 공격자에 의해서 호출되는 부분만 삭제함으로써, 바이너리 코드의 전체 삭제로 인하여 발생될 수 있는 코드의 실행과 관련된 문제를 미연에 예방할 수 있다.Disabling may mean deleting the part of the binary code that is called by the attacker. The processor 110 does not delete the entire binary code, but only deletes the part called by the attacker, thereby preventing problems related to code execution that may occur due to the entire deletion of the binary code.

C2 서버는 명령 및 제어(Command & Control) 서버로, 악성 코드나 해킹 그룹과 같은 공격자가 원격으로 제어하고 명령을 전달하기 위해 사용하는 서버일 수 있다. 프로세서(110)는 C2 서버 접속 기능에 관한 바이너리 코드를 제거 또는 비활성화시킴으로써, 사이버 공격을 하는 공격자(예를 들어, 해커 등)가 악성코드의 C2 서버 접속 기능을 활용하여 시스템에 악영향을 끼치는 것을 방지하고 악성 코드의 재사용에 있어서의 안정성을 확보할 수 있다.A C2 server is a command and control server, which can be a server used by attackers, such as malware or hacking groups, to remotely control and deliver commands. The processor 110 removes or disables the binary code related to the C2 server access function, thereby preventing cyberattackers (e.g., hackers, etc.) from adversely affecting the system by utilizing the C2 server access function of malicious code. and ensures stability in the reuse of malicious code.

프로세서(110)는 악성 코드 내에 모의 해킹에 필요한 공격 전술, 기법 또는 절차에 관한 바이너리 코드와 모의 해킹용 C2 서버 접속 기능에 관한 바이너리 코드를 추가하여 모의 악성 코드를 생성할 수 있다(S130).The processor 110 can generate simulated malicious code by adding binary code regarding attack tactics, techniques, or procedures necessary for mock hacking and binary code regarding the C2 server connection function for mock hacking to the malicious code (S130).

모의 해킹용 C2 서버는 침투 테스트를 수행하는 공격자(예를 들어, 화이트 해커 등)의 명령에 따라 동작할 수 있다. 공격자는 표적 시스템에 원격 명령을 보내거나, 추가적인 모의 해킹용 악성 코드를 다운로드하거나, 특정 데이터를 외부로 유출하기 위하여 모의 해킹용 C2 서버를 활용할 수 있다.A C2 server for penetration testing can operate according to the commands of an attacker (for example, a white hacker, etc.) performing a penetration test. An attacker can use a C2 server for mock hacking to send remote commands to the target system, download additional malicious code for mock hacking, or leak specific data to the outside world.

모의 해킹용 C2 서버는 침투 테스트 수행 장치(100)에 포함되거나, 침투 테스트 수행 장치(100)와 별도로 존재할 수 있다. 모의 해킹용 C2 서버는 침투 테스트 수행 장치(100)와 별도로 존재하는 경우, 침투 테스트 수행 장치(100)에 의해 제어될 수도 있다.The C2 server for mock hacking may be included in the penetration testing device 100 or may exist separately from the penetration testing device 100. If the C2 server for mock hacking exists separately from the penetration testing device 100, it may be controlled by the penetration testing device 100.

모의 해킹용 C2 서버 접속 기능에 관한 바이너리 코드는 침투 테스터와 모의 악성 코드 간의 통신이 클라이언트와 서버 간 상호 인증을 이용하도록 할 수 있다. 예를 들어, 모의 해킹용 C2 서버 접속 기능에 관한 바이너리 코드는 침투 테스터와 모의 악성 코드 간의 통신에서 인증서를 이용한 상호 인증을 수행하도록 할 수 있다. 따라서, 프로세서(110)는 모의 해킹용 C2 서버 접속 기능에 관한 바이너리 코드를 이용하여 침투 테스터와 모의 악성 코드 간의 통신에서 인증서를 이용한 상호 인증을 수행하도록 할 수 있다.The binary code for the C2 server connection function for mock hacking can enable communication between the penetration tester and the simulated malicious code to use mutual authentication between the client and server. For example, the binary code for the C2 server access function for mock hacking can perform mutual authentication using a certificate in communication between the penetration tester and the mock malicious code. Accordingly, the processor 110 can perform mutual authentication using a certificate in communication between the penetration tester and the simulated malicious code using a binary code related to the C2 server connection function for mock hacking.

프로세서(110)는 모의 악성 코드 내에 침투 테스트의 종료시 스스로 삭제되는 기능에 관한 바이너리 코드를 추가할 수 있다. 따라서, 프로세서(110)는 침투 테스트 종료 후, 침투 테스트의 표적 시스템에서 모의 악성 코드로 인한 오류, 공격 등이 발생하지 않도록 할 수 있다.The processor 110 may add binary code for a function that deletes itself upon completion of the penetration test within the simulated malicious code. Accordingly, the processor 110 can prevent errors, attacks, etc. due to simulated malicious code from occurring in the target system of the penetration test after the penetration test is completed.

프로세서(110)는 모의 악성 코드를 침투 테스트의 표적 시스템(200)에 설치하고 원격으로 침투 테스트를 수행할 수 있다(S140).The processor 110 may install simulated malicious code on the target system 200 of the penetration test and remotely perform the penetration test (S140).

도 4를 참조하면, 프로세서(110)는 상술한 S130 이후, 하나 이상의 모의 악성 코드를 포함하는 모의 악성 코드 리스트를 생성할 수 있다(S150).Referring to FIG. 4, after S130 described above, the processor 110 may generate a simulated malicious code list including one or more simulated malicious codes (S150).

프로세서(110)는 각 모의 악성 코드 내에 탑재된 공격 전술, 기법 또는 절차에 관한 제1 메타 데이터와 모의 해킹용 C2 서버 접속 방법에 관한 제2 메타 데이터를 생성하여 관리할 수 있다(S160). 예를 들어, 프로세서(110)는 메모리에 제1 메타 데이터 및 제2 메타 데이터를 저장할 수 있다. 프로세서(110)는 침투 테스트용 모의 악성 코드를 축적 관리할 수 있다. The processor 110 may generate and manage first metadata regarding attack tactics, techniques, or procedures installed in each simulated malicious code and second metadata regarding a method of accessing the C2 server for mock hacking (S160). For example, the processor 110 may store first metadata and second metadata in memory. The processor 110 can accumulate and manage simulated malicious code for penetration testing.

이로써, 프로세서(110)는 침투 테스트용 모의 악성 코드를 축적 관리함으로써, 침투 테스트를 수행할 경우, 새로 생성하지 않고 축적된 모의 악성 코드를 활용할 수 있다.Accordingly, the processor 110 accumulates and manages simulated malicious code for penetration testing, so that when performing a penetration test, the accumulated simulated malicious code can be utilized without creating a new one.

프로세서(110)는 제1 메타 데이터 또는 제2 메타 데이터를 이용하여 모의 악성 코드 리스트내에서 표적 시스템에 상응하는 모의 악성 코드를 식별할 수 있다(S170). 예를 들어, 프로세서(110)는 침투 테스트 과정에서 표적 시스템에 대해서 식별한 정보(예를 들어, 운영체제, 설치된 보안 소프트웨어 등)를 토대로 사용 가능한 모의 악성 코드를 검색할 수 있다.The processor 110 may identify the simulated malicious code corresponding to the target system within the simulated malicious code list using the first metadata or the second metadata (S170). For example, the processor 110 may search for available mock malicious code based on information identified about the target system during a penetration test (eg, operating system, installed security software, etc.).

프로세서(110)는 식별된 모의 악성 코드를 침투 테스트의 표적 시스템(200)에 설치하고 원격으로 침투 테스트를 수행할 수 있다(S140).The processor 110 may install the identified simulated malicious code into the target system 200 of the penetration test and remotely perform the penetration test (S140).

도 5를 참조하면, 프로세서(110)는 상술한 S130 이후, 모의 악성 코드 내에 침투 테스트의 종료시 스스로 삭제되는 기능에 관한 바이너리 코드를 추가할 수 있다(S180).Referring to FIG. 5, after S130 described above, the processor 110 may add binary code for a function that deletes itself upon completion of the penetration test into the simulated malicious code (S180).

이로써, 프로세서(110)는 침투 테스트 종료 후, 침투 데이터의 표적 시스템에서 모의 악성 코드로 인한 오류, 공격 등이 발생하지 않도록 할 수 있다.Accordingly, the processor 110 can prevent errors, attacks, etc. due to simulated malicious code from occurring in the target system of the penetration data after the penetration test is completed.

추가적인 실시예에서, 프로세서(110)는 모의 악성 코드를 서로 상이한 환경으로 구성된 복수의 침투 테스트의 표적 시스템들에 각각 설치하고 원격으로 동시에 침투 테스트를 수행할 수 있다. 프로세서(110)는 침투 테스트를 상이한 표적 시스템들에서 병렬적으로 수행함으로써, 다양한 환경에서의 침투 테스트를 짧은 시간에 수행할 수 있다.In an additional embodiment, the processor 110 may install simulated malicious code on a plurality of penetration test target systems configured in different environments and remotely simultaneously perform the penetration test. The processor 110 can perform penetration tests in various environments in a short time by performing penetration tests on different target systems in parallel.

도 6은 본 발명의 일 실시예에 따라, 악성 코드에서 시스템에 악영향을 끼치는 바이너리 코드를 제거하고, 악성 코드 내에 모의 해킹에 필요한 바이너리 코드를 추가하는 과정을 간략하게 나타낸 도면이다.Figure 6 is a diagram briefly illustrating the process of removing binary code that adversely affects the system from malicious code and adding binary code necessary for mock hacking to the malicious code, according to an embodiment of the present invention.

도 6을 참조하면, 프로세서(110)는 악성 코드(610)에서 시스템에 악영향을 끼치는 공격 전술 기법, 또는 절차에 관한 바이너리 코드 및 C2 서버 접속 기능에 관한 바이너리 코드(611)를 삭제함으로써, 해당 바이너리 코드들이 삭제된 악성 코드(620)를 획득할 수 있다.Referring to FIG. 6, the processor 110 deletes the binary code 611 related to the C2 server connection function and the binary code related to the attack tactic or procedure that adversely affects the system from the malicious code 610, thereby Malicious code 620 from which the codes have been deleted can be obtained.

프로세서(110)는 해당 바이너리 코드들이 삭제된 악성 코드(620)에 모의 해킹용 바이너리 코드(631)를 추가함으로써, 침투테스트용 악성코드(630)를 생성할 수 있다.The processor 110 can generate the malicious code 630 for penetration testing by adding the binary code 631 for simulation hacking to the malicious code 620 from which the corresponding binary codes have been deleted.

도 1 내지 도 6을 참조하여 상술한 바와 같이, 본 발명의 일 실시예에 따른 침투 테스트 수행 장치(100)는 악성 코드를 활용하여 보다 실전적인 공격을 가능하게 하면서도 위험한 부분을 제거하여 안전성을 확보할 수 있다.As described above with reference to FIGS. 1 to 6, the penetration testing apparatus 100 according to an embodiment of the present invention enables a more practical attack by utilizing malicious code while ensuring safety by removing dangerous parts. can do.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of the method or algorithm described in connection with embodiments of the present invention may be implemented directly in hardware, implemented as a software module executed by hardware, or a combination thereof. The software module may be RAM (Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), Flash Memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.

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

Claims (10)

하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 하나 이상의 프로세서를 포함하고,
상기 하나 이상의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써
악성 코드 내에 탑재된 공격 전술(Tactics), 기법(Techniques), 및 절차(Process)를 식별하고,
상기 악성 코드로부터 시스템에 악영향을 끼치는 공격 전술, 기법, 또는 절차에 관한 바이너리 코드와 C2 서버 접속 기능에 관한 바이너리 코드를 제거하고,
상기 악성 코드 내에 모의 해킹에 필요한 공격 전술, 기법 또는 절차에 관한 바이너리 코드와 모의 해킹용 C2 서버 접속 기능에 관한 바이너리 코드를 추가하여 모의 악성 코드를 생성하고,
하나 이상의 모의 악성 코드를 포함하는 모의 악성 코드 리스트를 생성하고,
각 모의 악성 코드 내에 탑재된 공격 전술, 기법 또는 절차에 관한 제1 메타 데이터와 모의 해킹용 C2 서버 접속 방법에 관한 제2 메타 데이터를 생성하여 관리하고,
상기 제1 메타 데이터 또는 상기 제2 메타 데이터를 이용하여 상기 모의 악성 코드 리스트내에서 침투 테스트의 표적 시스템에 상응하는 모의 악성 코드를 식별하고,
상기 모의 악성 코드를 상기 표적 시스템에 설치하고 원격으로 침투 테스트를 수행하는 것을 특징으로 하는,
악성 코드를 이용한 침투 테스트 수행 장치.
A memory that stores one or more instructions; and
Comprising one or more processors executing the one or more instructions stored in the memory,
The one or more processors execute the one or more instructions
Identify attack tactics, techniques, and processes embedded within malicious code,
Remove binary code related to attack tactics, techniques, or procedures that adversely affect the system and binary code related to the C2 server connection function from the malicious code,
A mock malicious code is created by adding a binary code regarding the attack tactics, techniques or procedures required for mock hacking and a binary code for a C2 server access function for mock hacking into the malicious code,
Generate a mock malicious code list containing one or more mock malicious codes,
Create and manage first metadata about the attack tactics, techniques, or procedures installed in each mock malicious code and second metadata about the method of accessing the C2 server for mock hacking,
Identifying a mock malicious code corresponding to a target system of a penetration test in the mock malicious code list using the first metadata or the second metadata,
Characterized by installing the simulated malicious code on the target system and remotely performing a penetration test,
A device for performing penetration testing using malicious code.
삭제delete 삭제delete 제1항에 있어서,
상기 모의 해킹용 C2 서버 접속 기능에 관한 바이너리 코드는 침투 테스터와 모의 악성 코드 간의 통신이 클라이언트와 서버 간 상호 인증을 이용하도록 하는,
악성 코드를 이용한 침투 테스트 수행 장치.
According to paragraph 1,
The binary code for the C2 server connection function for mock hacking allows communication between the penetration tester and the mock malicious code to use mutual authentication between the client and the server.
A device for performing penetration testing using malicious code.
제1항에 있어서,
상기 하나 이상의 프로세서는,
상기 모의 악성 코드 내에 상기 침투 테스트의 종료시 스스로 삭제되는 기능에 관한 바이너리 코드를 추가하는,
악성 코드를 이용한 침투 테스트 수행 장치.
According to paragraph 1,
The one or more processors:
Adding binary code for a function that deletes itself at the end of the penetration test within the mock malicious code,
A device for performing penetration testing using malicious code.
침투 테스트 수행 장치에 의해서 수행되는 방법으로서,
악성 코드 내에 탑재된 공격 전술(Tactics), 기법(Techniques), 및 절차(Process)를 식별하는 단계;
상기 악성 코드로부터 시스템에 악영향을 끼치는 공격 전술, 기법, 또는 절차에 관한 바이너리 코드와 C2 서버 접속 기능에 관한 바이너리 코드를 제거하는 단계;
상기 악성 코드 내에 모의 해킹에 필요한 공격 전술, 기법 또는 절차에 관한 바이너리 코드와 모의 해킹용 C2 서버 접속 기능에 관한 바이너리 코드를 추가하여 모의 악성 코드를 생성하는 단계;
하나 이상의 모의 악성 코드를 포함하는 모의 악성 코드 리스트를 생성하는 단계;
각 모의 악성 코드 내에 탑재된 공격 전술, 기법 또는 절차에 관한 제1 메타 데이터와 모의 해킹용 C2 서버 접속 방법에 관한 제2 메타 데이터를 생성하여 관리하는 단계;
상기 제1 메타 데이터 또는 상기 제2 메타 데이터를 이용하여 상기 모의 악성 코드 리스트내에서 침투 테스트의 표적 시스템에 상응하는 모의 악성 코드를 식별하는 단계; 및
상기 모의 악성 코드를 상기 표적 시스템에 설치하고 원격으로 침투 테스트를 수행하는 단계를 포함하는 것을 특징으로 하는,
악성 코드를 이용한 침투 테스트 수행 방법.
A method performed by a penetration test performing device,
Identifying attack tactics, techniques, and processes embedded within malicious code;
Removing binary code related to attack tactics, techniques, or procedures that adversely affect the system and binary code related to a C2 server connection function from the malicious code;
Generating simulated malicious code by adding binary code related to attack tactics, techniques or procedures required for mock hacking and binary code related to C2 server access function for mock hacking into the malicious code;
generating a mock malicious code list including one or more simulated malicious codes;
Creating and managing first metadata about attack tactics, techniques, or procedures installed in each simulated malicious code and second metadata about a method of accessing a C2 server for mock hacking;
Identifying a simulated malicious code corresponding to a target system of a penetration test in the simulated malicious code list using the first metadata or the second metadata; and
Characterized in that it includes the step of installing the simulated malicious code on the target system and remotely performing a penetration test,
How to perform a penetration test using malware.
삭제delete 삭제delete 제6항에 있어서,
상기 모의 해킹용 C2 서버 접속 기능에 관한 바이너리 코드는 침투 테스터와 모의 악성 코드 간의 통신이 클라이언트와 서버 간 상호 인증을 이용하도록 하는,
악성 코드를 이용한 침투 테스트 수행 방법.
According to clause 6,
The binary code for the C2 server connection function for mock hacking allows communication between the penetration tester and the mock malicious code to use mutual authentication between the client and the server.
How to perform a penetration test using malware.
제6항에 있어서,
상기 모의 악성 코드를 생성하는 단계는,
상기 모의 악성 코드 내에 상기 침투 테스트의 종료시 스스로 삭제되는 기능에 관한 바이너리 코드를 추가하는 단계를 포함하는,
악성 코드를 이용한 침투 테스트 수행 방법.
According to clause 6,
The step of generating the mock malicious code is,
Including adding binary code for a function that deletes itself at the end of the penetration test into the mock malicious code,
How to perform a penetration test using malware.
KR1020230120042A 2023-09-09 2023-09-09 Apparatus and method of penetration test utilizing malware KR102617219B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230120042A KR102617219B1 (en) 2023-09-09 2023-09-09 Apparatus and method of penetration test utilizing malware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230120042A KR102617219B1 (en) 2023-09-09 2023-09-09 Apparatus and method of penetration test utilizing malware

Publications (1)

Publication Number Publication Date
KR102617219B1 true KR102617219B1 (en) 2023-12-27

Family

ID=89377671

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230120042A KR102617219B1 (en) 2023-09-09 2023-09-09 Apparatus and method of penetration test utilizing malware

Country Status (1)

Country Link
KR (1) KR102617219B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014179025A (en) * 2013-03-15 2014-09-25 Ntt Communications Corp Connection destination information extraction device, connection destination information extraction method, and connection destination information extraction program
KR101460589B1 (en) * 2014-04-10 2014-11-12 한국정보보호연구소 주식회사 Server for controlling simulation training in cyber warfare
KR101639869B1 (en) 2014-08-04 2016-07-14 (주)엔토빌소프트 Program for detecting malignant code distributing network
KR102223775B1 (en) * 2019-11-15 2021-03-05 국방과학연구소 Control system for cyber warfare training and control method thereof
KR20230091529A (en) * 2021-12-16 2023-06-23 (주)유엠로직스 Threat hunting system and method for against social issue-based advanced persistent threat using genetic algorithm

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014179025A (en) * 2013-03-15 2014-09-25 Ntt Communications Corp Connection destination information extraction device, connection destination information extraction method, and connection destination information extraction program
KR101460589B1 (en) * 2014-04-10 2014-11-12 한국정보보호연구소 주식회사 Server for controlling simulation training in cyber warfare
KR101639869B1 (en) 2014-08-04 2016-07-14 (주)엔토빌소프트 Program for detecting malignant code distributing network
KR102223775B1 (en) * 2019-11-15 2021-03-05 국방과학연구소 Control system for cyber warfare training and control method thereof
KR20230091529A (en) * 2021-12-16 2023-06-23 (주)유엠로직스 Threat hunting system and method for against social issue-based advanced persistent threat using genetic algorithm

Similar Documents

Publication Publication Date Title
McIntosh et al. Ransomware mitigation in the modern era: A comprehensive review, research challenges, and future directions
EP3820115B1 (en) Method and apparatus for defending against attacks, device and storage medium
US10257220B2 (en) Verifying success of compromising a network node during penetration testing of a networked system
Gao et al. Understanding the evolution of android app vulnerabilities
WO2018084808A1 (en) Computer-implemented method and data processing system for testing device security
Pols et al. The unified kill chain
Bojjagani et al. VAPTAi: a threat model for vulnerability assessment and penetration testing of android and iOS mobile banking apps
US10372907B2 (en) System and method of detecting malicious computer systems
KR102180098B1 (en) A malware detecting system performing monitoring of malware and controlling a device of user
US11611572B2 (en) System and method of processing information security events to detect cyberattacks
Gunawan et al. On the review and setup of security audit using Kali Linux
KR20170091989A (en) System and method for managing and evaluating security in industry control network
Yadav et al. Penetration testing framework for iot
Falade et al. Vulnerability analysis of digital banks' mobile applications
CN112398787B (en) Mailbox login verification method and device, computer equipment and storage medium
KR102617219B1 (en) Apparatus and method of penetration test utilizing malware
Rashid et al. Finding bugs in Android application using genetic algorithm and apriori algorithm
US10372905B1 (en) Preventing unauthorized software execution
EP3926501B1 (en) System and method of processing information security events to detect cyberattacks
CN114143052A (en) Network defense system risk assessment method based on controllable intrusion simulation
Hagar Security owasp iot information pointer and logging events
RU2587426C2 (en) System and method of detecting directed attack on corporate infrastructure
Al-Zadjali Penetration testing of vulnerability in android Linux kernel layer via an open network (Wi-Fi)
Cheng et al. The TaintDroid Based Honeypot Monitoring System for Embedded Device
KR102614309B1 (en) Apparatus and method of endpoint attack detection

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant