KR20220036312A - Method for providing virtual computing environment, and apparatus implementing the same method - Google Patents

Method for providing virtual computing environment, and apparatus implementing the same method Download PDF

Info

Publication number
KR20220036312A
KR20220036312A KR1020200175981A KR20200175981A KR20220036312A KR 20220036312 A KR20220036312 A KR 20220036312A KR 1020200175981 A KR1020200175981 A KR 1020200175981A KR 20200175981 A KR20200175981 A KR 20200175981A KR 20220036312 A KR20220036312 A KR 20220036312A
Authority
KR
South Korea
Prior art keywords
vdi
information
analysis
program
computing environment
Prior art date
Application number
KR1020200175981A
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 삼성에스디에스 주식회사
Publication of KR20220036312A publication Critical patent/KR20220036312A/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/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/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 일 실시예에 따른 가상 컴퓨팅 환경에서의 프로그램 취약점 분석을 위해 컴퓨팅 장치에 의해 수행되는 방법은, 사용자의 단말로부터 보안 취약점 분석을 수행하기 위한 VDI(Virtual Desktop Infrastructure)의 생성 요청이 수신되면, 복수의 분석 대상 프로그램들 중 상기 사용자에 의해 선택된 분석 대상 프로그램에 액세스 가능한 VDI를 생성하는 단계, 및 상기 VDI에 접속한 상기 사용자에 의해 상기 선택된 분석 대상 프로그램에 대한 분석이 완료되면, 상기 분석에 의해 생성되는 데이터를 이용하여 상기 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공하는 단계를 포함한다.A method performed by a computing device to analyze program vulnerabilities in a virtual computing environment according to an embodiment of the present invention is when a request for creating a VDI (Virtual Desktop Infrastructure) for performing security vulnerability analysis is received from a user terminal. , generating a VDI that can access the analysis target program selected by the user among a plurality of analysis target programs, and when the analysis of the analysis target program selected by the user accessing the VDI is completed, the analysis It includes providing information related to vulnerabilities of the selected program to be analyzed using data generated by the method.

Description

가상 컴퓨팅 환경의 제공 방법, 그리고 이를 구현하기 위한 장치{METHOD FOR PROVIDING VIRTUAL COMPUTING ENVIRONMENT, AND APPARATUS IMPLEMENTING THE SAME METHOD} Method for providing a virtual computing environment, and apparatus for implementing the same {METHOD FOR PROVIDING VIRTUAL COMPUTING ENVIRONMENT, AND APPARATUS IMPLEMENTING THE SAME METHOD}

본 발명은 가상 컴퓨팅 환경의 제공 방법, 그리고 이를 구현하기 위한 장치에 관한 것으로서, 보다 자세하게는, 해킹 대상이 되는 프로그램들을 분석하기 위한 가상 컴퓨팅 환경의 제공 방법, 그리고 이를 구현하기 위한 장치에 관한 것이다. The present invention relates to a method of providing a virtual computing environment, and a device for implementing the same. More specifically, it relates to a method of providing a virtual computing environment for analyzing programs subject to hacking, and a device for implementing the same.

버그 바운티(bug bounty)는 기업이 온라인 상에서 제공하는 서비스 및/또는 기업이 공급하는 프로그램을 해킹하여 취약점을 찾은 해커에게 포상금을 지급하는 제도로서, 기존에는 주로 운영중인 서비스 또는 프로그램에 대해 버그 바운티가 이루어졌다.Bug bounty is a system that pays a reward to hackers who find vulnerabilities by hacking services provided by companies online and/or programs provided by companies. Previously, bug bounties were mainly applied to services or programs in operation. It was done.

이로 인해 운영 서비스 자체에서 버그 바운티를 수행함에 의해 시스템에 과부하가 발생하거나 해킹으로 인해 정보가 유출되는 경우가 다수 발생하는 문제점이 있었다. As a result, there were many problems in which system overload occurred due to bug bounty performed by the operating service itself or information was leaked due to hacking.

또한, 불특정 다수에서 접근이 허용되지 않은 네트워크 환경 내의 웹 사이트 및 미출시 프로그램 등 해킹 환경에 제약이 있는 경우가 많아, 충분한 수의 다양한 참가자들을 대상으로 버그 바운티를 진행하기 어려운 경우가 존재하였다.In addition, there are many cases where there are restrictions on the hacking environment, such as websites and unreleased programs in a network environment that do not allow access to an unspecified number of people, making it difficult to conduct bug bounties for a sufficient number of diverse participants.

따라서, 운영 서비스를 제공하는 시스템의 과부하 및 정보 유출을 방지할 수 있는 버그 바운티 환경이 요구된다. 또한, 사용자가 다양한 OS 환경에서 공격에 제약 없이 버그 바운티를 수행하고, 버그 바운티 대상이 되는 프로그램을 용이하게 구성할 수 있는 방법이 필요하다.Therefore, a bug bounty environment is required to prevent overload and information leakage of systems that provide operational services. Additionally, there is a need for a method that allows users to perform bug bounties without restrictions on attacks in various OS environments and easily configure programs that are subject to bug bounties.

미국공개특허공보 제2018-0007077호(2018.01.04. 공개)U.S. Patent Publication No. 2018-0007077 (published on January 4, 2018)

본 발명이 해결하고자 하는 기술적 과제는, 프로그램의 보안 취약점 분석을 위한 모의 해킹 환경을 제공할 수 있는 가상 컴퓨팅 환경의 제공 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다. The technical problem to be solved by the present invention is to provide a method of providing a virtual computing environment capable of providing a mock hacking environment for analyzing security vulnerabilities of programs, and a device for implementing the same.

본 발명이 해결하고자 하는 다른 기술적 과제는, 보안 취약점 분석 대상이 되는 다수의 프로그램을 자동으로 용이하게 구성할 수 있는 가상 컴퓨팅 환경의 제공 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a method of providing a virtual computing environment that can automatically and easily configure a large number of programs subject to security vulnerability analysis, and a device for implementing the same.

본 발명이 해결하고자 하는 또 다른 기술적 과제는, 다양한 OS 환경에서 공격에 제약 없이 버그 바운티를 수행할 수 있고, 운영중인 서비스의 과부하 및 정보 유출을 방지할 수 있는 가상 컴퓨팅 환경의 제공 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.Another technical problem that the present invention aims to solve is a method of providing a virtual computing environment that can perform bug bounties without restrictions on attacks in various OS environments and prevent overload of running services and information leakage, and It provides a device for implementation.

본 발명이 해결하고자 하는 또 다른 기술적 과제는, 다수의 보안 취약점 분석 대상 프로그램들을 대상으로, 특정 또는 불특정 다수의 참가자들로부터 각자가 희망하는 분석 대상 프로그램에 대한 버그 바운티 참가 신청을 받아서 버그 바운티를 진행할 수 있도록 하는 온라인 플랫폼을 제공하는 것이다.Another technical problem that the present invention aims to solve is to receive applications for bug bounty participation for the program to be analyzed as desired from a number of specified or unspecified participants, targeting a large number of programs subject to security vulnerability analysis, and to proceed with the bug bounty. The goal is to provide an online platform that allows this.

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

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 가상 컴퓨팅 환경에서의 프로그램 취약점 분석을 위해 컴퓨팅 장치에 의해 수행되는 방법은, 사용자의 단말로부터 보안 취약점 분석을 수행하기 위한 VDI(Virtual Desktop Infrastructure)의 생성 요청이 수신되면, 복수의 분석 대상 프로그램들 중 상기 사용자에 의해 선택된 분석 대상 프로그램에 액세스 가능한 VDI를 생성하는 단계, 및 상기 VDI에 접속한 상기 사용자에 의해 상기 선택된 분석 대상 프로그램에 대한 분석이 완료되면, 상기 분석에 의해 생성되는 데이터를 이용하여 상기 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공하는 단계를 포함한다. In order to solve the above technical problem, a method performed by a computing device to analyze program vulnerabilities in a virtual computing environment according to an embodiment of the present invention is a VDI (Virtual Desktop) for performing security vulnerability analysis from a user's terminal. When a request for creation of Infrastructure) is received, creating a VDI accessible to an analysis target program selected by the user among a plurality of analysis target programs, and providing access to the analysis target program selected by the user connected to the VDI. When the analysis is completed, it includes providing information related to vulnerabilities of the selected program to be analyzed using the data generated by the analysis.

일 실시예로서, 상기 VDI를 생성하는 단계는, 상기 VDI 접속을 위한 정보를 생성하고, 상기 생성된 정보를 데이터베이스에 암호화하여 저장하는 단계를 포함할 수 있다.As an embodiment, the step of creating the VDI may include generating information for connecting to the VDI, and encrypting and storing the generated information in a database.

일 실시예로서, 상기 사용자 단말로 상기 VDI 접속을 위한 정보를 전송하고, 상기 정보를 이용하여 상기 사용자 단말에서 상기 VDI로의 연결 요청 시, 상기 사용자 단말과 상기 VDI 간 터널링을 제공하는 단계를 포함할 수 있다.As an embodiment, it may include transmitting information for connecting to the VDI to the user terminal and providing tunneling between the user terminal and the VDI when a connection request is made from the user terminal to the VDI using the information. You can.

일 실시예로서, 상기 분석 대상 프로그램 각각에 관한 정보를 등록하는 단계, 상기 등록된 정보를 이용하여 상기 분석 대상 프로그램을 생성하는 단계, 및 상기 생성된 분석 대상 프로그램의 엔드포인트(endpoint) 정보를 제공하는 단계를 더 포함할 수 있다. As an embodiment, registering information about each program to be analyzed, creating the program to be analyzed using the registered information, and providing endpoint information of the generated program to be analyzed. Additional steps may be included.

일 실시예로서, 상기 분석 대상 프로그램에 관한 정보는, 상기 분석 대상 프로그램의 이미지가 저장된 저장소 정보, 상기 분석 대상 프로그램의 요청 사양, 설정 정보, 환경 변수, 저장 볼륨, 및 연결 정보 중 적어도 하나를 포함할 수 있다.As an embodiment, the information about the program to be analyzed includes at least one of storage information in which the image of the program to be analyzed is stored, request specifications of the program to be analyzed, setting information, environment variables, storage volume, and connection information. can do.

일 실시예로서, 상기 VDI를 생성하는 단계는, 상기 등록된 분석 대상 프로그램에 관한 정보를 이용하여 상기 선택된 분석 대상 프로그램에 대응하는 이미지를 포함하는 상기 VDI를 생성하는 단계를 포함할 수 있다.As an embodiment, the step of generating the VDI may include generating the VDI including an image corresponding to the selected analysis target program using information about the registered analysis target program.

일 실시예로서, 상기 VDI를 통해 제한된 네트워크 상에 존재하는 분석 대상 프로그램에 액세스하는 경우, 상기 VDI 접속을 위한 정보 및 상기 등록된 분석 대상 프로그램에 관한 정보를 이용하여 상기 VDI와 상기 분석 대상 프로그램 간 연결을 설정하는 단계를 더 포함할 수 있다.As an embodiment, when accessing a program to be analyzed that exists on a restricted network through the VDI, information for accessing the VDI and information about the registered program to be analyzed are used to connect the VDI and the program to be analyzed. The step of establishing a connection may further be included.

일 실시예로서, 상기 VDI를 통해 상기 가상 컴퓨팅 환경 내에 생성된 분석 대상 프로그램에 접속하는 경우, 상기 분석 대상 프로그램의 엔드포인트 정보를 이용하여 상기 VDI와 상기 분석 대상 프로그램 간 연결을 설정하는 단계를 더 포함할 수 있다.As an embodiment, when accessing a program to be analyzed created in the virtual computing environment through the VDI, a step of establishing a connection between the VDI and the program to be analyzed using endpoint information of the program to be analyzed is further performed. It can be included.

일 실시예로서, 상기 분석에 의해 생성되는 데이터를 이용하여 상기 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공하는 단계는, 상기 VDI 상에서 기록되는 트래픽 데이터를 수집하는 단계, 및 상기 트래픽 데이터에 기초하여 상기 분석 대상 프로그램의 취약점 탐지 패턴을 추출하는 단계를 포함할 수 있다. In one embodiment, the step of providing information related to vulnerabilities of the selected analysis target program using the data generated by the analysis includes collecting traffic data recorded on the VDI, and based on the traffic data It may include extracting a vulnerability detection pattern of the analysis target program.

일 실시예로서, 상기 분석에 의해 생성되는 데이터를 이용하여 상기 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공하는 단계는, 상기 사용자의 분석이 개시된 후 생성되는 사용자 행위 데이터를 수집하는 단계, 및 상기 사용자 행위 데이터에 기초하여 상기 분석 대상 프로그램의 취약점 탐지 패턴을 추출하는 단계를 포함할 수 있다. In one embodiment, the step of providing information related to vulnerabilities of the selected analysis target program using the data generated by the analysis includes collecting user behavior data generated after the user's analysis is initiated, and It may include extracting a vulnerability detection pattern of the analysis target program based on user behavior data.

일 실시예로서, 상기 사용자 행위 데이터는, 상기 분석을 위해 상기 사용자가 사용한 툴에 관한 정보, 키(key) 로그, 파일 업로드 정보, 네트워크 연결 정보, 사용자 인증 정보 중 적어도 하나를 포함할 수 있다.In one embodiment, the user behavior data may include at least one of information about tools used by the user for the analysis, key logs, file upload information, network connection information, and user authentication information.

일 실시예로서, 상기 VDI는 상기 분석 대상 프로그램에 대한 모의 해킹을 위한 가상 컴퓨팅 환경일 수 있다.As an embodiment, the VDI may be a virtual computing environment for mock hacking of the analysis target program.

일 실시예로서, 상기 복수의 분석 대상 프로그램들에 관한 정보를 디스플레이하는 단계, 및 상기 복수의 분석 대상 프로그램들 중 적어도 하나에 대한 상기 사용자의 선택을 수신하는 단계를 더 포함할 수 있다.In one embodiment, the method may further include displaying information about the plurality of programs to be analyzed, and receiving the user's selection of at least one of the plurality of programs to be analyzed.

일 실시예로서, 상기 선택된 분석 대상 프로그램에 대한 분석의 대가를 상기 사용자에게 지급하는 단계를 더 포함할 수 있다.In one embodiment, the step of paying a fee for analysis of the selected analysis target program to the user may be further included.

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨터 판독 가능한 비일시적 기록 매체는, 컴퓨터로 하여금 상기 방법을 수행하도록 하는 컴퓨터 프로그램을 저장할 수 있다.In order to solve the above technical problem, a computer-readable non-transitory recording medium according to an embodiment of the present invention can store a computer program that causes a computer to perform the method.

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 가상 컴퓨팅 환경 제공 장치는, 외부장치와 통신하는 통신부, 저장부, 및 사용자의 단말로부터 보안 취약점 분석을 수행하기 위한 VDI(Virtual Desktop Infrastructure)의 생성 요청이 수신되면, 복수의 분석 대상 프로그램들 중 상기 사용자에 의해 선택된 분석 대상 프로그램에 액세스 가능한 VDI를 생성하는 VDI 생성 모듈, 및 상기 VDI에 접속한 상기 사용자에 의해 상기 선택된 분석 대상 프로그램에 대한 분석이 완료되면, 상기 분석에 의해 생성되는 데이터를 이용하여 상기 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공하는 VDI 분석 모듈을 포함하는 프로세서를 포함한다.In order to solve the above technical problem, a device for providing a virtual computing environment according to an embodiment of the present invention is a communication unit that communicates with an external device, a storage unit, and a VDI (Virtual Desktop Infrastructure) for performing security vulnerability analysis from the user's terminal. ), when a creation request is received, a VDI creation module that creates a VDI accessible to the analysis target program selected by the user among a plurality of analysis target programs, and the analysis target program selected by the user connected to the VDI. When the analysis is completed, a processor including a VDI analysis module provides information related to vulnerabilities of the selected analysis target program using data generated by the analysis.

일 실시예로서, 상기 VDI 생성 모듈은, 상기 VDI 접속을 위한 정보를 생성하고, 상기 생성된 정보를 데이터베이스에 암호화하여 저장할 수 있다.As an embodiment, the VDI creation module may generate information for the VDI connection, and encrypt and store the generated information in a database.

일 실시예로서, 상기 VDI 생성 모듈은, 상기 사용자 단말로 상기 VDI 접속을 위한 정보를 전송하고, 상기 정보를 이용하여 상기 사용자 단말에서 상기 VDI로의 연결 요청 시, 상기 사용자 단말과 상기 VDI 간 터널링을 제공할 수 있다.In one embodiment, the VDI creation module transmits information for the VDI connection to the user terminal, and uses the information to perform tunneling between the user terminal and the VDI when a connection request is made from the user terminal to the VDI. can be provided.

일 실시예로서, 상기 VDI 분석 모듈은, 상기 VDI 상에서 기록되는 트래픽 데이터를 수집하고, 상기 트래픽 데이터에 기초하여 상기 분석 대상 프로그램의 취약점 탐지 패턴을 추출할 수 있다.As an embodiment, the VDI analysis module may collect traffic data recorded on the VDI and extract a vulnerability detection pattern of the analysis target program based on the traffic data.

일 실시예로서, 상기 VDI 분석 모듈은, 상기 사용자의 분석이 개시된 후 생성되는 사용자 행위 데이터를 수집하고, 상기 사용자 행위 데이터에 기초하여 상기 분석 대상 프로그램의 취약점 탐지 패턴을 추출할 수 있다.As an embodiment, the VDI analysis module may collect user behavior data generated after the user's analysis is started, and extract a vulnerability detection pattern of the analysis target program based on the user behavior data.

도 1은 본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공을 위한 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 가상 컴퓨팅 환경 제공 장치의 구성을 도시한 블록도이다.
도 3 및 도 4는 본 발명의 다른 실시예에 따른 가상 컴퓨팅 환경 제공 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 몇몇 실시예에 따른 프로그램 취약점 분석을 위한 전체 비즈니스 프로세스를 도시한 예이다.
도 6은 본 발명의 몇몇 실시예에 따른 장치가 수행하는 동작별 프로세스를 도시한 예이다.
도 7은 본 발명의 몇몇 실시예에 따른 VDI의 생성 및 삭제를 위한 동작의 흐름을 도시한 예이다.
도 8은 본 발명의 몇몇 실시예에 따른 VDI의 접속을 위한 동작의 흐름을 도시한 예이다.
도 9는 본 발명의 몇몇 실시예에 따른 프로그램의 등록 및 생성을 위한 동작의 흐름을 도시한 예이다.
도 10은 본 발명의 몇몇 실시예에 따른 VDI에서의 프로그램 접속을 위한 동작의 흐름을 도시한 예이다.
도 11은 본 발명의 몇몇 실시예에 따른 VDI 로깅 분석을 위한 동작의 흐름을 도시한 예이다.
도 12는 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다.
1 is a configuration diagram of a system for providing a virtual computing environment according to an embodiment of the present invention.
Figure 2 is a block diagram showing the configuration of an apparatus for providing a virtual computing environment according to an embodiment of the present invention.
3 and 4 are flowcharts for explaining a method of providing a virtual computing environment according to another embodiment of the present invention.
Figure 5 is an example illustrating the entire business process for program vulnerability analysis according to some embodiments of the present invention.
Figure 6 is an example illustrating a process for each operation performed by a device according to some embodiments of the present invention.
Figure 7 is an example illustrating the flow of operations for creating and deleting VDI according to some embodiments of the present invention.
Figure 8 is an example showing the flow of operations for VDI connection according to some embodiments of the present invention.
Figure 9 is an example showing the flow of operations for registering and creating a program according to some embodiments of the present invention.
Figure 10 is an example showing the flow of operations for program access in VDI according to some embodiments of the present invention.
Figure 11 is an example showing the flow of operations for VDI logging analysis according to some embodiments of the present invention.
12 is a hardware configuration diagram of an example computing device capable of implementing methods according to some embodiments of the present invention.

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

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.When adding reference numerals to components in each drawing, it should be noted that identical components are given the same reference numerals as much as possible even if they are shown in different drawings. Additionally, in describing the present disclosure, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present disclosure, the detailed description will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings that can be commonly understood by those skilled in the art to which this disclosure pertains. Additionally, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless clearly specifically defined. The terminology used herein is for the purpose of describing embodiments and is not intended to limit the disclosure. As used herein, singular forms also include plural forms, unless specifically stated otherwise in the context.

또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.Additionally, in describing the components of the present disclosure, terms such as first, second, A, B, (a), and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, sequence, or order of the component is not limited by the term. When a component is described as being “connected,” “coupled,” or “connected” to another component, that component may be directly connected or connected to that other component, but there is another component between each component. It will be understood that elements may be “connected,” “combined,” or “connected.”

명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used in the specification, “comprises” and/or “comprising” refers to the presence of one or more other components, steps, operations and/or elements. or does not rule out addition.

이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, several embodiments of the present disclosure will be described in detail with reference to the attached drawings.

도 1은 본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공을 위한 시스템의 구성도이다. 도 1을 참조하면, 본 발명의 실시예에 따른 시스템은 가상 컴퓨팅 환경 제공 장치(1) 및 데이터베이스 서버(30)로 구성되고, 가상 컴퓨팅 환경 제공 장치(1)는 사용자 단말(10) 또는 관리자 단말(20)과 연결될 수 있다. 여기서, 사용자 단말(10)은 예컨대 버그 바운티(bug bounty) 진행 시 가상 컴퓨팅 환경 제공 장치(1)에 접속하여 보안 취약점 분석을 수행하는 업체 또는 화이트 해커의 단말 장치일 수 있다. 또한, 관리자 단말(20)은 예컨대 보안 취약점 분석의 대상이 되는 프로그램을 구성할 수 있는 권한을 가진 관리자의 단말장치일 수 있다. 1 is a configuration diagram of a system for providing a virtual computing environment according to an embodiment of the present invention. Referring to FIG. 1, the system according to an embodiment of the present invention consists of a virtual computing environment providing device 1 and a database server 30, and the virtual computing environment providing device 1 is a user terminal 10 or an administrator terminal. It can be connected to (20). Here, the user terminal 10 may be, for example, a terminal device of a white hacker or a company that connects to the virtual computing environment providing device 1 and performs security vulnerability analysis during a bug bounty. Additionally, the administrator terminal 20 may be, for example, a terminal device of an administrator who has the authority to configure a program that is the subject of security vulnerability analysis.

가상 컴퓨팅 환경 제공 장치(1)는 프로그램의 취약점 분석을 위한 가상 컴퓨팅 환경을 제공하는 장치로서, 예컨대 서버 장치, PC, 노트북 등과 같은 컴퓨팅 장치로 구현될 수 있다. The virtual computing environment providing device 1 is a device that provides a virtual computing environment for analysis of program vulnerabilities, and may be implemented as a computing device such as a server device, PC, laptop, etc.

데이터베이스 서버(30)는 가상 컴퓨팅 환경 제공 장치(1)와 네트워크를 통해 연결된 별도의 DB 서버로 구현될 수 있고, 특정 유형의 DB 서버로 한정되지 않는다. 일 실시예로서, 데이터베이스 서버(30)는 가상 컴퓨팅 환경 제공 장치(1)에서 VDI를 통해 액세스 가능한 분석 대상 프로그램에 대응하는 이미지를 저장하는 저장소(Repository)로 구현될 수 있다. The database server 30 may be implemented as a separate DB server connected to the virtual computing environment providing device 1 through a network, and is not limited to a specific type of DB server. As an embodiment, the database server 30 may be implemented as a repository that stores images corresponding to analysis target programs accessible through VDI in the virtual computing environment providing device 1.

또한, 데이터베이스 서버(30)는 가상 컴퓨팅 환경 제공 장치(1)에서 VDI 접속에 의한 로그 데이터 분석을 통해 제공되는 프로그램의 취약점과 관련한 정보들을 저장하는 위협 인텔리전스(TI: Threat intelligence) DB로 구현될 수 있다. In addition, the database server 30 can be implemented as a threat intelligence (TI) DB that stores information related to vulnerabilities of programs provided through log data analysis through VDI connection in the virtual computing environment providing device 1. there is.

가상 컴퓨팅 환경 제공 장치(1)는 사용자의 단말(10)로부터 보안 취약점 분석을 수행하기 위한 VDI의 생성 요청이 수신되면, 복수의 분석 대상 프로그램 중 사용자 단말(10)의 사용자에 의해 선택된 분석 대상 프로그램에 액세스 가능한 VDI를 생성한다. 이 때, 사용자에 의해 선택되는 분석 대상 프로그램은 관리자 단말(20)에 의해 등록 및 생성될 수 있다.When a request for creating a VDI for performing a security vulnerability analysis is received from the user's terminal 10, the virtual computing environment providing device 1 selects an analysis target program selected by the user of the user terminal 10 from among a plurality of analysis target programs. Create an accessible VDI. At this time, the analysis target program selected by the user may be registered and created by the administrator terminal 20.

일 실시예로서, 가상 컴퓨팅 환경 제공 장치(1)는 VDI 접속을 위한 정보로서, 예컨대 ID, 패스워드, IP, 포트, 및 VDI ID 등의 정보를 생성된 VDI에 할당할 수 있다. 이에 따라, 사용자 단말(10)은 VDI 접속을 위한 정보를 제공 받고, 이를 통해 사용자 단말(10)에서 생성된 VDI에 접속할 수 있다. As an embodiment, the virtual computing environment providing device 1 may allocate information for VDI connection, such as ID, password, IP, port, and VDI ID, to the created VDI. Accordingly, the user terminal 10 is provided with information for VDI connection, and can access the VDI created in the user terminal 10 through this.

가상 컴퓨팅 환경 제공 장치(1)는 VDI에 접속한 사용자 단말(10)의 사용자에 의해 선택된 분석 대상 프로그램에 대한 분석이 완료되면, 분석에 의해 생성되는 데이터를 이용하여 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공한다. 이 때, 분석 대상 프로그램의 취약점과 관련한 정보는 관리자 단말(20)의 요청에 따라 제공될 수 있다. When the analysis of the analysis target program selected by the user of the user terminal 10 connected to the VDI is completed, the virtual computing environment providing device 1 uses the data generated by the analysis to determine the vulnerabilities of the selected analysis target program. Provides information. At this time, information related to vulnerabilities of the analysis target program may be provided upon request from the administrator terminal 20.

일 실시예로서, 가상 컴퓨팅 환경 제공 장치(1)는 VDI 상에서 기록되는 트래픽 데이터와 사용자의 분석이 개시된 후 생성되는 사용자 행위 데이터 중 적어도 하나를 이용하여 분석 대상 프로그램의 취약점 탐지 패턴을 추출할 수 있다. As an embodiment, the virtual computing environment providing device 1 may extract a vulnerability detection pattern of a program to be analyzed using at least one of traffic data recorded on the VDI and user behavior data generated after user analysis is initiated. .

상기와 같이 본 발명의 실시예에 따른 시스템의 구성에 의해, 프로그램의 보안 취약점 분석을 위한 모의 해킹 환경을 제공할 있다. 또한, 다양한 OS 환경에서 공격에 제약 없이 버그 바운티를 수행할 수 있고, 운영중인 서비스의 과부하 및 정보 유출을 방지할 수 있다. As described above, by configuring the system according to the embodiment of the present invention, it is possible to provide a simulated hacking environment for analyzing security vulnerabilities of programs. In addition, bug bounties can be performed without restrictions on attacks in various OS environments, and overload of running services and information leaks can be prevented.

도 2는 본 발명의 일 실시예에 따른 가상 컴퓨팅 환경 제공 장치의 구성을 도시한 블록도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공 장치(1)는 통신부(14), 저장부(15), 및 프로세서(11)를 포함하고, 통신부(14)를 통해 사용자 단말(10), 관리자 단말(20), 및 데이터베이스 서버(30)와 연결될 수 있다. Figure 2 is a block diagram showing the configuration of an apparatus for providing a virtual computing environment according to an embodiment of the present invention. Referring to FIG. 2, the device 1 for providing a virtual computing environment according to an embodiment of the present invention includes a communication unit 14, a storage unit 15, and a processor 11, and provides a user terminal through the communication unit 14. (10), it can be connected to the administrator terminal 20, and the database server 30.

통신부(14)는 사용자 단말(10), 관리자 단말(20), 및 데이터베이스 서버(30)와 유선 또는 무선 통신방식을 이용하여 통신한다. 통신부(14)는 이더넷(Ethernet) 등과 같은 유선 통신방식으로 통신하거나, 와이파이(Wi-Fi) 또는 블루투스(Bluetooth) 등과 같은 무선 통신방식으로 통신할 수 있다. 통신부(14)가 통신하는 방식은 이에 한정되지 않고, 다른 통신방식을 이용하여 통신할 수도 있다.The communication unit 14 communicates with the user terminal 10, the administrator terminal 20, and the database server 30 using a wired or wireless communication method. The communication unit 14 may communicate using a wired communication method such as Ethernet, or a wireless communication method such as Wi-Fi or Bluetooth. The method by which the communication unit 14 communicates is not limited to this, and communication may be performed using other communication methods.

저장부(15)는 가상 컴퓨팅 환경 제공 장치(1)에서 생성된 VDI의 접속을 위한 정보를 저장한다. 예컨대, 저장부(15)는 생성된 VDI 접속을 위한 정보로서, VDI 각각에 할당되는 ID, 패스워드, IP, 포트, 및 VDI ID 등의 정보를 저장할 수 있다. The storage unit 15 stores information for accessing the VDI created by the virtual computing environment providing device 1. For example, the storage unit 15 may store information such as ID, password, IP, port, and VDI ID assigned to each VDI as information for the created VDI connection.

또한, 저장부(15)는 가상 컴퓨팅 환경 제공 장치(1)에서 생성된 VDI를 통해 연결되는 분석 대상 프로그램에 관한 정보를 저장한다. 이 때 저장되는 분석 대상 프로그램에 관한 정보는, 분석 대상 프로그램의 이미지가 저장된 저장소 정보, 분석 대상 프로그램의 요청 사양, 설정 정보, 환경 변수, 저장 볼륨, 및 연결 정보 중 적어도 하나를 포함할 수 있다.Additionally, the storage unit 15 stores information about programs to be analyzed that are connected through the VDI created by the virtual computing environment providing device 1. At this time, the information about the analysis target program stored may include at least one of storage information in which the image of the analysis target program is stored, request specifications of the analysis target program, setting information, environment variables, storage volume, and connection information.

프로세서(11)는 VDI 생성 모듈(12) 및 VDI 분석 모듈(13)을 포함하고, 이 외에 분석 대상 프로그램의 등록 및 생성과 관련된 추가적인 모듈을 더 포함할 수 있다. The processor 11 includes a VDI creation module 12 and a VDI analysis module 13, and may further include additional modules related to registration and creation of programs to be analyzed.

VDI 생성 모듈(12)은 사용자 단말(10)로부터 보안 취약점 분석을 수행하기 위한 VDI의 생성 요청이 수신되면, 복수의 분석 대상 프로그램들 중 사용자 단말(10)의 사용자에 의해 선택된 분석 대상 프로그램에 액세스 가능한 VDI를 생성한다. 이 때, VDI는, 분석 대상 프로그램에 대한 모의 해킹을 위한 가상 컴퓨팅 환경일 수 있다.When a VDI creation request for performing security vulnerability analysis is received from the user terminal 10, the VDI creation module 12 accesses the analysis target program selected by the user of the user terminal 10 from among a plurality of analysis target programs. Create as much VDI as possible. At this time, VDI may be a virtual computing environment for mock hacking of the analysis target program.

일 실시예로서, VDI 생성 모듈(12)은 VDI 접속을 위한 정보를 생성하고, 생성된 정보를 저장부(15)에 암호화하여 저장할 수 있다. 이 때, VDI 접속을 위한 정보는, VDI 각각에 할당되는 ID, 패스워드, IP, 포트, 및 VDI ID 등을 포함할 수 있다.As an embodiment, the VDI creation module 12 may generate information for VDI connection, encrypt and store the generated information in the storage unit 15. At this time, information for VDI connection may include an ID, password, IP, port, and VDI ID assigned to each VDI.

일 실시예로서, VDI 생성 모듈(12)은 사용자 단말(10)로 VDI 접속을 위한 정보를 전송하고, 상기 정보를 이용하여 사용자 단말(10)에서 VDI로의 연결 요청 시, 사용자 단말(10)과 VDI 간 터널링을 제공할 수 있다.As an embodiment, the VDI creation module 12 transmits information for VDI connection to the user terminal 10, and uses the information to connect the user terminal 10 to the VDI when requesting a connection from the user terminal 10 to the VDI. Tunneling between VDIs can be provided.

일 실시예로서, 프로세서(11)는 분석 대상 프로그램 각각에 관한 정보를 등록하고, 상기 등록된 정보를 이용하여 상기 분석 대상 프로그램을 생성하고, 상기 생성된 분석 대상 프로그램의 엔드포인트(endpoint) 정보를 제공할 수 있다. 여기서, 엔드포인트(endpoint) 정보는, 예컨대 분석 대상 프로그램에 접속할 수 있는 URL 정보, 또는 IP와 포트(Port) 정보를 포함할 수 있다.As an embodiment, the processor 11 registers information about each program to be analyzed, creates the program to be analyzed using the registered information, and provides endpoint information of the generated program to be analyzed. can be provided. Here, the endpoint information may include, for example, URL information that can access the analysis target program, or IP and port information.

또한, 분석 대상 프로그램에 관한 정보는, 분석 대상 프로그램의 이미지가 저장된 저장소 정보, 상기 분석 대상 프로그램의 요청 사양, 설정 정보, 환경 변수, 저장 볼륨, 및 연결 정보 중 적어도 하나를 포함할 수 있다. Additionally, the information about the program to be analyzed may include at least one of storage information in which the image of the program to be analyzed is stored, request specifications of the program to be analyzed, setting information, environment variables, storage volume, and connection information.

일 실시예로서, VDI 생성 모듈(12)은 등록된 분석 대상 프로그램에 관한 정보를 이용하여 선택된 분석 대상 프로그램에 대응하는 이미지를 포함하는 VDI를 생성할 수 있다.As an embodiment, the VDI creation module 12 may generate a VDI including an image corresponding to the selected analysis target program using information about the registered analysis target program.

일 실시예로서, 프로세서(11)는 VDI를 통해 제한된 네트워크 상에 존재하는 분석 대상 프로그램에 액세스하는 경우, VDI 접속을 위한 정보 및 등록된 분석 대상 프로그램에 관한 정보를 이용하여 VDI와 상기 분석 대상 프로그램 간 연결을 설정할 수 있다.As an embodiment, when accessing a program to be analyzed that exists on a restricted network through a VDI, the processor 11 uses information for VDI access and information about the registered program to be analyzed to connect the VDI and the program to be analyzed. A connection can be established between

다른 실시예로서, 프로세서(11)는 VDI를 통해 가상 컴퓨팅 환경 내에 생성된 분석 대상 프로그램에 접속하는 경우, 분석 대상 프로그램의 엔드포인트 정보를 이용하여 상기 VDI와 상기 분석 대상 프로그램 간 연결을 설정할 수 있다.As another embodiment, when the processor 11 accesses a program to be analyzed created in a virtual computing environment through a VDI, the processor 11 may establish a connection between the VDI and the program to be analyzed using endpoint information of the program to be analyzed. .

일 실시예로서, VDI 분석 모듈(13)은 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공함에 있어, VDI 상에서 기록되는 트래픽 데이터를 수집하고, 수집된 트래픽 데이터에 기초하여 분석 대상 프로그램의 취약점 탐지 패턴을 추출할 수 있다.In one embodiment, the VDI analysis module 13 collects traffic data recorded on the VDI in providing information related to vulnerabilities of the selected analysis target program, and detects a vulnerability detection pattern of the analysis target program based on the collected traffic data. can be extracted.

또한, VDI 분석 모듈(13)은 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공함에 있어, 사용자의 분석이 개시된 후 생성되는 사용자 행위 데이터를 수집하고, 수집된 사용자 행위 데이터에 기초하여 분석 대상 프로그램의 취약점 탐지 패턴을 추출할 수 있다. 여기서, 사용자 행위 데이터는, 예컨대 분석을 위해 사용자가 VDI 환경 내에서 사용한 툴에 관한 정보, VDI 환경 내에서 입력한 키 로그, 파일 업로드 정보, 네트워크 연결 정보, 사용자 인증 정보 중 적어도 하나를 포함할 수 있다.In addition, in providing information related to vulnerabilities of the selected analysis target program, the VDI analysis module 13 collects user behavior data generated after the user's analysis is initiated, and analyzes the analysis target program based on the collected user behavior data. Vulnerability detection patterns can be extracted. Here, the user behavior data may include at least one of, for example, information about tools used by the user within the VDI environment for analysis, key logs entered within the VDI environment, file upload information, network connection information, and user authentication information. there is.

상기와 같이 본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공 장치(1)의 구성에 의해, 프로그램의 보안 취약점 분석을 위한 모의 해킹 환경을 제공할 수 있다. 또한, 보안 취약점 분석 대상이 되는 다수의 프로그램을 용이하게 구성하여, 다양한 OS 환경에서 공격에 제약 없이 버그 바운티를 수행하도록 할 수 있다.As described above, by configuring the virtual computing environment providing device 1 according to an embodiment of the present invention, a simulated hacking environment for analyzing security vulnerabilities of a program can be provided. In addition, it is possible to easily configure multiple programs that are subject to security vulnerability analysis, allowing bug bounties to be performed without restrictions on attacks in various OS environments.

도 3 및 도 4는 본 발명의 다른 실시예에 따른 가상 컴퓨팅 환경 제공 방법을 설명하기 위한 순서도이다.3 and 4 are flowcharts for explaining a method of providing a virtual computing environment according to another embodiment of the present invention.

본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공 방법은 도 12에 도시된 컴퓨팅 장치(100)에 의하여 실행될 수 있고, 예컨대 가상 컴퓨팅 환경 제공 장치(1)에 의해 실행될 수 있다. 본 실시예에 따른 방법을 실행하는 상기 컴퓨팅 장치(100)는 응용 프로그램 실행 환경을 구비한 컴퓨팅 장치일 수 있다. 본 발명의 실시예에 따른 방법에 포함되는 일부 동작의 수행 주체에 대한 기재가 생략될 수 있으며, 그러한 경우 그 주체는 상기 컴퓨팅 장치(100)임을 유의한다.The method for providing a virtual computing environment according to an embodiment of the present invention may be executed by the computing device 100 shown in FIG. 12, for example, by the virtual computing environment providing device 1. The computing device 100 that executes the method according to this embodiment may be a computing device equipped with an application execution environment. Note that description of the subject performing some operations included in the method according to the embodiment of the present invention may be omitted, and in such case, the subject is the computing device 100.

도 3을 참조하면, 먼저, 동작 S31에서, 사용자의 단말(10)로부터 보안 취약점 분석을 수행하기 위한 VDI(Virtual Desktop Infrastructure)의 생성 요청이 수신되면, 복수의 분석 대상 프로그램들 중 상기 사용자에 의해 선택된 분석 대상 프로그램에 액세스 가능한 VDI가 생성된다. 여기서, VDI는 분석 대상 프로그램에 대한 모의 해킹을 위한 가상 컴퓨팅 환경으로서 제공될 수 있다.Referring to FIG. 3, first, in operation S31, when a request for creating a VDI (Virtual Desktop Infrastructure) for performing security vulnerability analysis is received from the user's terminal 10, among a plurality of analysis target programs, the user A VDI accessible to the selected analysis target program is created. Here, VDI can be provided as a virtual computing environment for mock hacking of the program to be analyzed.

일 실시예로서, 동작 S31은, 예컨대 온라인 상에서 웹 서비스의 형태로 제공되는 버그 바운티 플랫폼 상에서 복수의 분석 대상 프로그램들에 관한 정보를 디스플레이하는 동작과, 상기 버그 바운티 플랫폼 상에서 상기 복수의 분석 대상 프로그램들 중 적어도 하나에 대한 사용자의 선택을 수신하는 동작을 더 포함할 수 있다.As an embodiment, operation S31 includes, for example, an operation of displaying information about a plurality of programs to be analyzed on a bug bounty platform provided online in the form of a web service, and displaying information about a plurality of programs to be analyzed on the bug bounty platform. It may further include receiving the user's selection for at least one of the options.

일 실시예로서, 동작 S31은, VDI 접속을 위한 정보가 생성되고, 상기 생성된 정보가 데이터베이스에 암호화되어 저장되는 동작을 포함할 수 있다. As an embodiment, operation S31 may include generating information for VDI connection and encrypting and storing the generated information in a database.

일 실시예로서, 상기 방법은, 사용자 단말(10)로 VDI 접속을 위한 정보를 전송하고, 상기 정보를 이용하여 사용자 단말(10)에서 VDI로의 연결 요청 시, 사용자 단말(10)과 VDI 간 터널링(tunneling)이 제공되는 동작을 포함할 수 있다. As an embodiment, the method transmits information for VDI connection to the user terminal 10, and tunnels between the user terminal 10 and the VDI when the user terminal 10 requests a connection to the VDI using the information. (tunneling) may include operations provided.

일 실시예로서, 상기 방법은, 분석 대상 프로그램 각각에 관한 정보가 등록되는 동작, 상기 등록된 정보를 이용하여 상기 분석 대상 프로그램이 생성되는 동작, 및 상기 생성된 분석 대상 프로그램의 엔드포인트(endpoint) 정보가 제공되는 동작을 포함할 수 있다. 여기서, 분석 대상 프로그램에 관한 정보는, 상기 분석 대상 프로그램의 이미지가 저장된 저장소 정보, 상기 분석 대상 프로그램의 요청 사양, 설정 정보, 환경 변수, 저장 볼륨, 및 연결 정보 중 적어도 하나를 포함할 수 있다.As an embodiment, the method includes an operation of registering information about each program to be analyzed, an operation of generating the program to be analyzed using the registered information, and an endpoint of the generated program to be analyzed. It may include actions in which information is provided. Here, the information about the program to be analyzed may include at least one of storage information in which the image of the program to be analyzed is stored, request specifications of the program to be analyzed, setting information, environment variables, storage volume, and connection information.

일 실시예로서, 동작 S31은, 등록된 분석 대상 프로그램에 관한 정보를 이용하여 선택된 분석 대상 프로그램에 대응하는 이미지를 포함하는 VDI가 생성되는 동작을 포함할 수 있다.As an embodiment, operation S31 may include an operation of generating a VDI including an image corresponding to the selected analysis target program using information about the registered analysis target program.

일 실시예로서, 상기 방법은, VDI를 통해 제한된 네트워크 상에 존재하는 분석 대상 프로그램에 액세스하는 경우, VDI 접속을 위한 정보 및 상기 등록된 분석 대상 프로그램에 관한 정보를 이용하여 VDI와 분석 대상 프로그램 간 연결이 설정되는 동작을 포함할 수 있다.As an embodiment, the method, when accessing a program to be analyzed that exists on a restricted network through a VDI, uses information for VDI access and information about the registered program to be analyzed to connect the VDI to the program to be analyzed. May include actions where a connection is established.

또한, 상기 방법은, VDI를 통해 가상 컴퓨팅 환경 내에 생성된 분석 대상 프로그램에 접속하는 경우, 분석 대상 프로그램의 엔드포인트 정보를 이용하여 VDI와 상기 분석 대상 프로그램 간 연결이 설정되는 동작을 포함할 수 있다. In addition, the method may include, when accessing a program to be analyzed created in a virtual computing environment through a VDI, establishing a connection between the VDI and the program to be analyzed using endpoint information of the program to be analyzed. .

다음으로, 동작 S32에서, VDI에 접속한 사용자에 의해 선택된 분석 대상 프로그램에 대한 분석이 완료되면, 분석에 의해 생성되는 데이터를 이용하여 선택된 분석 대상 프로그램의 취약점과 관련한 정보가 제공된다.Next, in operation S32, when the analysis of the analysis target program selected by the user accessing the VDI is completed, information related to the vulnerability of the selected analysis target program is provided using the data generated by the analysis.

일 실시예로서, 도 4를 참조하면, 동작 S32는, 동작 S321과 동작 S322를 더 포함할 수 있다. As an example, referring to FIG. 4, operation S32 may further include operations S321 and S322.

동작 S321에서, 사용자에 의해 VDI 환경 내에서 분석 대상 프로그램에 대한 분석이 개시된 후 생성되는 사용자 행위 데이터가 수집된다. 다음으로, 동작 S322에서, 수집된 사용자 행위 데이터에 기초하여 분석 대상 프로그램의 취약점 탐지 패턴이 추출된다. 여기서, 사용자 행위 데이터는, 예컨대, 분석을 위해 상기 사용자가 VDI 환경 내에서 사용한 툴에 관한 정보, VDI 환경 내에서 입력한 키 로그, 파일 업로드 정보, 네트워크 연결 정보, 사용자 인증 정보 중 적어도 하나를 포함할 수 있다.In operation S321, user behavior data generated after analysis of an analysis target program within the VDI environment is initiated by the user is collected. Next, in operation S322, a vulnerability detection pattern of the analysis target program is extracted based on the collected user behavior data. Here, the user behavior data includes, for example, at least one of information about tools used by the user within the VDI environment for analysis, key logs entered within the VDI environment, file upload information, network connection information, and user authentication information. can do.

일 실시예로서, 동작 S32는, VDI 상에서 기록되는 트래픽 데이터가 수집되는 동작, 및 트래픽 데이터에 기초하여 분석 대상 프로그램의 취약점 탐지 패턴이 추출되는 동작을 포함할 수도 있다. As an embodiment, operation S32 may include an operation of collecting traffic data recorded on the VDI, and an operation of extracting a vulnerability detection pattern of a program to be analyzed based on the traffic data.

일 실시예로서, 동작 S32는, 선택된 분석 대상 프로그램에 대한 분석의 대가를 상기 사용자에게 지급하는 동작을 더 포함할 수 있다. 구체적으로, 사용자의 분석에 의해 발견된 분석 대상 프로그램의 각각의 보안 취약점에 대하여, 사전에 약정된 소정의 포상금 등이 사용자에게 제공될 수 있다. 상기 소정의 포상금은 보안 취약점의 중요도, 위험성, 및/또는 신규성 등의 다양한 기준에 따라 사전에 결정된 기준에 의해 결정될 수 있다. 일 실시예에서, 상기 포상금 등은 상기 버그 바운티 플랫폼 상에서 지급될 수 있다. As an example, operation S32 may further include paying the user a fee for analysis of the selected analysis target program. Specifically, for each security vulnerability of the analysis target program discovered through the user's analysis, a predetermined reward, etc. may be provided to the user. The predetermined reward may be determined according to predetermined criteria according to various criteria such as importance, risk, and/or novelty of the security vulnerability. In one embodiment, the bounty, etc. may be paid on the bug bounty platform.

상기와 같이 본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공 방법에 의해, 프로그램의 보안 취약점 분석을 위한 모의 해킹 환경을 제공할 수 있고, 다양한 OS 환경에서 공격에 제약 없이 버그 바운티를 수행할 수 있다.As described above, by the method of providing a virtual computing environment according to an embodiment of the present invention, a mock hacking environment for analyzing security vulnerabilities of programs can be provided, and bug bounties can be performed without restrictions on attacks in various OS environments.

도 5는 본 발명의 몇몇 실시예에 따른 프로그램 취약점 분석을 위한 전체 비즈니스 프로세스를 도시한 예이다. 도 5를 참조하면, 가상 컴퓨팅 환경 제공 장치(1)는, 기업 관리자(511), 화이트 해커(512), 및 플랫폼 담당자(513)가 접속하는 버그 바운티 플랫폼의 웹 서비스(52)를 통해 프로그램의 보안 취약점 분석을 수행하는 프로세스를 제공할 수 있다. Figure 5 is an example illustrating the entire business process for program vulnerability analysis according to some embodiments of the present invention. Referring to FIG. 5, the virtual computing environment providing device 1 provides the program through the web service 52 of the bug bounty platform accessed by the corporate manager 511, white hacker 512, and platform manager 513. A process for performing security vulnerability analysis can be provided.

기업 관리자(511)가 웹 서비스(52)에 접속하여 자사의 프로그램을 가상 서비스로 생성하기 위한 정보를 입력(522)하면, 가상 컴퓨팅 환경 제공 장치(1)는 해킹을 위한 VDI를 생성(532)하고, 화이트 해커(512)들이 생성된 VDI를 통해 가상 서비스로 생성된 프로그램에 접속할 수 있도록 한다.When the corporate manager 511 accesses the web service 52 and inputs information to create its program as a virtual service (522), the virtual computing environment providing device 1 creates a VDI for hacking (532) And, white hackers 512 are able to access the program created as a virtual service through the created VDI.

화이트 해커(512)는 웹 서비스(52)에 접속하여 해킹 대상인 프로그램 리스트(541)를 조회하고, 이 중 선택한 프로그램의 가상 서비스를 해당 VDI를 통해 접속(542)하여 해킹 공격(543)을 시도할 수 있다. 즉, 화이트 해커(512)의 해킹 공격은 해당 VDI에서만 가능하고, 해당 VDI의 접속은 특정 브라우저 환경에서 웹 서비스(52)를 통해 이루어질 수 있다. The white hacker 512 accesses the web service 52, searches the list of programs subject to hacking 541, and attempts a hacking attack 543 by accessing the virtual service of the selected program through the corresponding VDI (542). You can. In other words, the white hacker 512's hacking attack is possible only on the corresponding VDI, and access to the corresponding VDI can be made through the web service 52 in a specific browser environment.

일 실시예로서, VDI는, 다양한 OS 중에서 화이트 해커(512)가 선택한 OS에 해킹에 필요한 툴이 탑재되어 생성된 이미지로 제공될 수 있다. As an example, VDI may be provided as an image created by installing tools necessary for hacking on an OS selected by the white hacker 512 among various OSs.

또한, VDI는, 화이트 해커(512)의 해킹 공격에 의해 생성되는 로그 데이터의 기록이 가능하고, 로그 데이터는 해킹 공격이 성공한 이후에 해킹 공격에 대한 리포트 작성 및 제출(544)을 위한 근거 자료로 사용될 수 있다. In addition, VDI can record log data generated by a hacking attack by a white hacker (512), and the log data serves as basis for writing and submitting a report on the hacking attack (544) after the hacking attack is successful. can be used

플랫폼 담당자(513)는 화이트 해커(512)에 의해 제출된 리포트를 평가(551)하고, 이에 대해 포상금을 지급(552)할 수 있다. 또한, 플랫폼 담당자(513)는 VDI를 통한 해킹 공격에 의해 생성된 로그 데이터를 분석하는 VDI 로깅 분석(553)을 수행함에 의해, 프로그램의 취약점 패턴을 감지하고, 자체 위협 인텔리전스(TI: threat intelligence) DB를 구축하여 차별적인 서비스를 제공할 수 있다. 또한, 플랫폼 담당자(513)는 버그 바운티 대상이 되는 프로그램들을 생성하고 관리할 수 있다. The platform manager 513 may evaluate (551) the report submitted by the white hacker (512) and pay a reward (552). In addition, the platform manager 513 performs VDI logging analysis 553, which analyzes log data generated by a hacking attack through VDI, detects program vulnerability patterns, and uses its own threat intelligence (TI) By building a DB, you can provide differentiated services. Additionally, the platform manager 513 can create and manage programs subject to bug bounties.

도 6은 본 발명의 몇몇 실시예에 따른 장치가 수행하는 동작별 프로세스를 도시한 예이다. 도 6을 참조하면, 본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공 장치(1)는 가상 컴퓨팅 환경에서 프로그램 취약점 분석을 위한 복수의 동작(61, 62, 63, 64)을 수행한다. Figure 6 is an example illustrating a process for each operation performed by a device according to some embodiments of the present invention. Referring to FIG. 6, the device 1 for providing a virtual computing environment according to an embodiment of the present invention performs a plurality of operations 61, 62, 63, and 64 for analyzing program vulnerabilities in the virtual computing environment.

일 실시예로서, 가상 컴퓨팅 환경 제공 장치(1)는 VDI의 생성 및 삭제(61), VDI의 접속(62), 프로그램의 등록 및 생성(63), VDI에서의 프로그램 접속(64), 및 VDI 로깅 분석(65)과 같은 동작을 수행할 수 있다. As an embodiment, the virtual computing environment providing device 1 includes VDI creation and deletion (61), VDI connection (62), program registration and creation (63), program connection in VDI (64), and VDI Operations such as logging analysis (65) can be performed.

도 7은 본 발명의 몇몇 실시예에 따른 VDI의 생성 및 삭제를 위한 동작의 흐름을 도시한 예이다. 도 7을 참조하면, 본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공 장치(1)는 사용자 단말(10)의 요청에 따라 VDI를 생성 또는 삭제하는 동작(61)을 수행할 수 있다. Figure 7 is an example illustrating the flow of operations for creating and deleting VDI according to some embodiments of the present invention. Referring to FIG. 7, the device 1 for providing a virtual computing environment according to an embodiment of the present invention may perform an operation 61 of creating or deleting a VDI according to a request from the user terminal 10.

도시된 예에서, 사용자 단말(10)로부터 신규 VDI의 생성 요청이 수신되면, 웹 서비스(71)는 예컨대 CPU, Memory, Disk, Protocol 등의 VDI 사양에 관한 정보를 포함하여 VDI API(72)에 신규 VDI의 생성을 요청(S71)한다. In the illustrated example, when a request for creating a new VDI is received from the user terminal 10, the web service 71 includes information about VDI specifications such as CPU, Memory, Disk, Protocol, etc. to the VDI API 72. Request the creation of a new VDI (S71).

VDI API(72)가 전달된 VDI 사양을 확인한 후 VDI의 ID 및 패스워드를 할당하여 신규 VDI를 생성(S72)하면, 생성된 VDI에 신규 IP 및 포트(Port)가 할당(S73)된다. After the VDI API 72 confirms the delivered VDI specifications and assigns the VDI ID and password to create a new VDI (S72), a new IP and port are assigned to the created VDI (S73).

VDI API(72)는 VDI의 생성 완료 시 웹 서비스(71)로 생성된 VDI에 관한 정보, 예컨대 ID, 패스워드, IP, Port, VDI ID 등을 전달(S74)하고, 웹 서비스(71)는 전달 받은 VDI에 관한 정보를 데이터베이스에 암호화하여 저장한다. When the VDI is created, the VDI API 72 delivers (S74) information about the VDI created by the web service 71, such as ID, password, IP, port, VDI ID, etc., and the web service 71 delivers. Information about the received VDI is encrypted and stored in the database.

일 실시예로서, 사용자 단말(10)로부터 VDI의 삭제 요청이 수신되면, 웹 서비스(71)는 VDI에 관한 정보를 포함하여 VDI API(72)에 VDI의 삭제를 요청(S711)한다.As an embodiment, when a VDI deletion request is received from the user terminal 10, the web service 71 requests the VDI API 72 to delete the VDI including information about the VDI (S711).

VDI API(72)가 전달된 VDI에 관한 정보를 확인한 후, 해당 VDI의 삭제를 완료(S721)하면, 삭제된 VDI에 대한 IP 및 포트(Port)의 할당이 해제(S731)된다. After the VDI API 72 confirms the information about the transmitted VDI and completes the deletion of the VDI (S721), the IP and port allocation for the deleted VDI is released (S731).

VDI API(72)는 VDI의 삭제 완료 시 웹 서비스(71)로 VDI의 삭제 상태를 전달(S741)하고, 웹 서비스(71)는 삭제된 VDI에 관한 정보를 데이터베이스에서 삭제한다.When deletion of the VDI is completed, the VDI API 72 transmits the deletion status of the VDI to the web service 71 (S741), and the web service 71 deletes information about the deleted VDI from the database.

도 8은 본 발명의 몇몇 실시예에 따른 VDI의 접속을 위한 동작의 흐름을 도시한 예이다. 도 8을 참조하면, 본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공 장치(1)는 사용자 단말(10)의 요청에 따라 원격 데스크톱의 게이트웨이(gateway)(81)과 데몬(daemon) 프로그램(82)을 통해 VDI에 접속하는 동작(62)을 수행할 수 있다. Figure 8 is an example showing the flow of operations for VDI connection according to some embodiments of the present invention. Referring to FIG. 8, the virtual computing environment providing device 1 according to an embodiment of the present invention provides a remote desktop gateway 81 and a daemon program 82 at the request of the user terminal 10. The operation 62 of connecting to the VDI can be performed.

도시된 예에서, 사용자 단말(10)의 사용자는 웹 서비스(71)를 통해 전달 받은 VDI에 관한 정보, 즉 ID, 패스워드, IP, Port, Protocol 등을 포함하여 게이트웨이(81)에 연결을 요청(S81)한다. In the illustrated example, the user of the user terminal 10 requests a connection to the gateway 81 including information about the VDI received through the web service 71, that is, ID, password, IP, Port, Protocol, etc. S81).

이 때, 게이트웨이(81)에서 연결 요청이 확인되면, 사용자 단말(10)과 게이트웨이(81) 간 터널링이 수립(S82)되고, 게이트웨이(81)는 원격 데스크톱의 데몬 프로그램(82)에 VDI에 관한 정보를 포함하여 연결을 요청(S83)한다. At this time, when the connection request is confirmed by the gateway 81, tunneling is established between the user terminal 10 and the gateway 81 (S82), and the gateway 81 provides information about the VDI to the daemon program 82 of the remote desktop. Request a connection including information (S83).

데몬 프로그램(82)은 신규 커넥션(connection) ID를 생성하고, 전달된 VDI에 관한 정보를 이용하여 VDI(73)에 연결(S84)한다. VDI(73)의 연결이 완료되면, 게이트웨이(81)와 데몬 프로그램(82) 간 터널링이 수립(S85)된다.The daemon program 82 creates a new connection ID and connects to the VDI 73 using information about the delivered VDI (S84). When the connection of the VDI 73 is completed, tunneling between the gateway 81 and the daemon program 82 is established (S85).

이에 따라, 사용자 단말(10)과 게이트웨이(81) 간, 게이트웨이(81)와 데몬 프로그램(82) 간 터널링을 통해 사용자 단말(10)과 VDI(73) 간 양방향 통신이 이루어지고(S86), 사용자 단말(10)의 브라우저에 VDI 화면이 표시될 수 있다. Accordingly, two-way communication is achieved between the user terminal 10 and the VDI 73 through tunneling between the user terminal 10 and the gateway 81, and between the gateway 81 and the daemon program 82 (S86), and the user A VDI screen may be displayed on the browser of the terminal 10.

도 9는 본 발명의 몇몇 실시예에 따른 프로그램의 등록 및 생성을 위한 동작의 흐름을 도시한 예이다. 도 9를 참조하면, 본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공 장치(1)는 관리자 단말(20)의 요청에 따라 VDI를 통해 액세스 가능한 분석 대상 프로그램을 등록 및 생성하는 동작(63)을 수행할 수 있다. Figure 9 is an example showing the flow of operations for registering and creating a program according to some embodiments of the present invention. Referring to FIG. 9, the device 1 for providing a virtual computing environment according to an embodiment of the present invention performs an operation 63 of registering and creating an analysis target program accessible through VDI at the request of the administrator terminal 20. can do.

도시된 예에서, 관리자 단말(20)의 관리자는 웹 서비스(71)를 통해 분석 대상 프로그램의 정보를 포함하여 프로그램 API(92)에 분석 대상 프로그램의 신규 생성을 요청(S91)한다. 이 때, 분석 대상 프로그램은 복수 개의 컨테이너로 구동될 수 있고, 각 컨테이너 별로 분석 대상 프로그램의 정보가 등록될 수 있다. In the illustrated example, the manager of the manager terminal 20 requests the program API 92 to create a new analysis target program including information on the analysis target program through the web service 71 (S91). At this time, the program to be analyzed may be driven in a plurality of containers, and information of the program to be analyzed may be registered for each container.

일 실시예로서, 분석 대상 프로그램의 정보는, 분석 대상 프로그램의 이미지가 저장된 저장소(Repository)에 관한 정보, 분석 대상 프로그램이 구동되기 위한 CPU, Memory 등의 요청 사양, 분석 대상 프로그램의 설정 정보(Config), 분석 대상 프로그램의 환경 변수(ENV), 분석 대상 프로그램의 데이터 및 파일을 저장하기 위한 저장 볼륨(Volume), 및 분석 대상 프로그램의 내부 연결 정보(Link) 중 적어도 하나를 포함할 수 있다.As an embodiment, the information on the analysis target program includes information about the repository where the image of the analysis target program is stored, request specifications such as CPU and memory for running the analysis target program, and setting information (Config) of the analysis target program. ), an environment variable (ENV) of the program to be analyzed, a storage volume (Volume) for storing data and files of the program to be analyzed, and internal link information (Link) of the program to be analyzed.

프로그램 API(92)는 분석 대상 프로그램의 신규 생성 요청에 응답하여, 분석 대상 프로그램의 이미지가 저장된 저장소(Repository)(95)로부터 이미지를 다운로드하고, 다운로드한 이미지를 비공개 저장소(93)에 업로드(S92) 한다. The program API 92 responds to a request to create a new program to be analyzed, downloads the image from the Repository 95 where the image of the program to be analyzed is stored, and uploads the downloaded image to the private repository 93 (S92) ) do.

또한, 프로그램 API(92)는 비공개 저장소(93)에 이미지가 정상 업로드되면 복수의 컨테이너에 의해 구동되는 분석 대상 프로그램(94)의 생성을 요청(S93)한다. In addition, when the image is normally uploaded to the private storage 93, the program API 92 requests the creation of an analysis target program 94 driven by a plurality of containers (S93).

분석 대상 프로그램(94)의 생성이 완료되면, 컨테이너로부터 분석 대상 프로그램의 URL 또는 IP, Port 등과 같은 엔드포인트(endpoint) 정보가 제공(S94)되고, 프로그램 API(92)는 이러한 분석 대상 프로그램의 엔드포인트 정보를 웹 서비스(71)에 전달(S95)하고, 웹 서비스(71)는 전달 받은 엔드포인트 정보를 데이터베이스에 암호화하여 저장한다. When the creation of the analysis target program 94 is completed, endpoint information such as URL, IP, Port, etc. of the analysis target program is provided from the container (S94), and the program API 92 is the endpoint of the analysis target program. The point information is delivered to the web service 71 (S95), and the web service 71 encrypts and stores the received endpoint information in the database.

이에 따라, 관리자 단말(20)의 요청에 따라 VDI를 통해 액세스 가능한 분석 대상 프로그램을 등록 및 생성할 수 있게 된다. Accordingly, it is possible to register and create analysis target programs accessible through VDI at the request of the administrator terminal 20.

일 실시예로서, 분석 대상 프로그램은, 이미 제한된 네트워크 상에 구성되어 있는 프로그램의 정보만을 등록하는 방식으로 VDI를 통해 연결될 수 있다. 다른 실시예로서, 분석 대상 프로그램은, 해킹을 위한 가상 컴퓨팅 환경 내에 비공개 프로그램을 등록 및 생성하는 방식으로 VDI를 통해 연결될 수 있다. As an example, the analysis target program may be connected through VDI by registering only information about programs already configured on a limited network. As another embodiment, the analysis target program may be connected through VDI by registering and creating a private program in a virtual computing environment for hacking.

도 10은 본 발명의 몇몇 실시예에 따른 VDI에서의 프로그램 접속을 위한 동작의 흐름을 도시한 예이다. 도 10을 참조하면, 본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공 장치(1)는 사용자 단말(10)의 요청에 따라 생성된 VDI를 통해 분석 대상 프로그램에 접속하는 동작(64)을 수행함에 의해, 비공개 버그바운티 환경을 제공할 수 있다. Figure 10 is an example showing the flow of operations for program access in VDI according to some embodiments of the present invention. Referring to FIG. 10, the device 1 for providing a virtual computing environment according to an embodiment of the present invention performs an operation 64 of accessing a program to be analyzed through a VDI generated at the request of the user terminal 10. , can provide a private bug bounty environment.

일 실시예로서, 해킹존 인프라(641)에 구현된 VDI(73)에서 제한된 네트워크(642) 상에 존재하는 분석 대상 프로그램(94)에 접속하는 방식으로 비공개 버그바운티 환경을 제공할 수 있다. As an example, a private bug bounty environment can be provided by accessing the analysis target program 94 existing on the restricted network 642 from the VDI 73 implemented in the hacking zone infrastructure 641.

이 경우, 분석 대상 프로그램(94)의 등록이 완료되면, 제한된 네트워크(642)를 관리하는 프로그램 담당자는 VDI(73)의 접속 정보를 확인하여 인바운드(Inbound) 연결 설정을 수행하고, 해킹존 인프라(641)를 관리하는 해킹존 담당자는 분석 대상 프로그램(94)의 등록 정보를 확인하여 아웃바운드(Outbound) 연결 설정을 수행할 수 있다.In this case, when the registration of the analysis target program 94 is completed, the program person in charge of managing the restricted network 642 checks the connection information of the VDI 73, performs inbound connection settings, and hacking zone infrastructure ( The hacking zone manager who manages 641) can check the registration information of the analysis target program 94 and perform outbound connection settings.

다른 실시예로서, 해킹존 인프라(643)에 구현된 VDI(73)에서 해킹존 인프라(643) 내에 가상으로 생성된 분석 대상 프로그램(94)에 접속하는 방식으로 비공개 버그바운티 환경을 제공할 수 있다.As another embodiment, a private bug bounty environment can be provided by accessing the analysis target program 94 virtually created within the hacking zone infrastructure 643 from the VDI 73 implemented in the hacking zone infrastructure 643. .

이 경우, 해킹존 인프라(643) 내에 가상의 분석 대상 프로그램(94)의 생성이 완료되면, 분석 대상 프로그램(94)의 생성 시 제공된 엔드포인트(endpoint) 정보를 이용하여 VDI(73)와 프로그램(94) 간 인바운드 및 아웃바운드 연결이 이루어질 수 있다. In this case, when the creation of the virtual analysis target program 94 in the hacking zone infrastructure 643 is completed, the VDI 73 and the program ( 94) Inbound and outbound connections can be made between.

상기 실시예에 따라, 제한된 네트워크 환경에 존재하거나 가상 컴퓨팅 환경에 생성된 분석 대상 프로그램을 VDI를 통해 접속하여 보안 취약점 분석을 수행할 수 있는 비공개 버그바운티 환경을 제공할 수 있다.According to the above embodiment, a private bug bounty environment can be provided in which security vulnerability analysis can be performed by accessing analysis target programs existing in a limited network environment or created in a virtual computing environment through VDI.

도 11은 본 발명의 몇몇 실시예에 따른 VDI 로깅 분석을 위한 동작의 흐름을 도시한 예이다. 도 11을 참조하면, 본 발명의 실시예에 따른 가상 컴퓨팅 환경 제공 장치(1)는 VDI(73)를 통해 분석 대상 프로그램(94)에 접속하여 보안 취약점 분석을 수행 시 생성되는 데이터를 이용하여 로깅(logging) 분석을 수행할 수 있다. Figure 11 is an example showing the flow of operations for VDI logging analysis according to some embodiments of the present invention. Referring to FIG. 11, the device 1 for providing a virtual computing environment according to an embodiment of the present invention accesses the analysis target program 94 through the VDI 73 and logs it using data generated when performing security vulnerability analysis. (logging) analysis can be performed.

일 실시예로서, 가상 컴퓨팅 환경 제공 장치(1)는 VDI (73)에서 분석 대상 프로그램(94)에 접속 시 기록되는 패킷 또는 트래픽 데이터를 수집(111)할 수 있다. 또한, 가상 컴퓨팅 환경 제공 장치(1)는 분석 대상 프로그램에 대한 사용자의 분석이 개시된 후 생성되는 사용자 행위 데이터를 수집할 수 있다. As an example, the virtual computing environment providing device 1 may collect (111) packet or traffic data recorded when accessing the analysis target program 94 in the VDI 73. Additionally, the virtual computing environment providing device 1 may collect user behavior data generated after the user's analysis of the analysis target program begins.

상기와 같이 패킷 또는 트래픽 데이터와 사용자 행위 데이터를 포함하는 로그 데이터(112) 수집이 완료되면, 분석 모듈(114)은 외부로부터 제공되는 CVE 취약점 데이터와, OWASP(The Open Web Application Security Project)에서 선정한 웹 취약점 패턴 정보 등(113)을 이용하여, 분석 대상 프로그램의 취약점 탐지 패턴을 감지하고, 감지된 패턴에 기초하여 취약점 룰셋(rule set) 정보를 생성할 수 있다. Once the collection of log data 112 including packet or traffic data and user behavior data is completed as described above, the analysis module 114 collects the CVE vulnerability data provided from the outside and the vulnerability data selected by OWASP (The Open Web Application Security Project). Using web vulnerability pattern information, etc. 113, the vulnerability detection pattern of the analysis target program can be detected, and vulnerability rule set information can be generated based on the detected pattern.

또한, 분석 모듈(114)은 예컨대 화이트 해커가 VDI를 통한 해킹 공격의 결과를 분석하여 제출한 유효 리포트와 로그 데이터(112)를 비교 및 검증하고, 이를 자체 위협 인텔리전스(TI: threat intelligence) DB를 구축하기 위한 데이터로 가공할 수 있다.In addition, the analysis module 114 compares and verifies the valid report and log data 112 submitted by, for example, a white hacker by analyzing the results of a hacking attack through VDI, and uses its own threat intelligence (TI: threat intelligence) DB. It can be processed into data for construction.

이를 통해 위협 인텔리전스 DB에 저장되는 데이터를 이용하여 해당 프로그램을 서비스하는 기업의 담당자에게 신규 취약점 패턴 및 조치 가이드 정보를 제공할 수 있게 된다. Through this, it is possible to use data stored in the threat intelligence DB to provide new vulnerability patterns and action guide information to personnel at companies that service the program.

도 12는 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다. 도 12에 도시된 바와 같이, 컴퓨팅 장치(100)는 하나 이상의 프로세서(101), 버스(107), 네트워크 인터페이스(102), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램(105)을 로드(load)하는 메모리(103)와, 컴퓨터 프로그램(105)를 저장하는 스토리지(104)를 포함할 수 있다. 다만, 도 12에는 본 발명의 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 12에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 12 is a hardware configuration diagram of an example computing device capable of implementing methods according to some embodiments of the present invention. As shown in FIG. 12, the computing device 100 loads one or more processors 101, a bus 107, a network interface 102, and a computer program 105 performed by the processor 101. It may include a memory 103 that stores a computer program 105 and a storage 104 that stores a computer program 105. However, only components related to the embodiment of the present invention are shown in Figure 12. Accordingly, anyone skilled in the art to which the present invention pertains can recognize that other general-purpose components may be included in addition to the components shown in FIG. 12.

프로세서(101)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.The processor 101 controls the overall operation of each component of the computing device 100. The processor 101 is at least one of a Central Processing Unit (CPU), Micro Processor Unit (MPU), Micro Controller Unit (MCU), Graphic Processing Unit (GPU), or any type of processor well known in the art of the present invention. It can be configured to include. Additionally, the processor 101 may perform operations on at least one application or program to execute methods/operations according to various embodiments of the present invention. Computing device 100 may include one or more processors.

메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(104)로부터 하나 이상의 프로그램(105)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 로직(또는 모듈)이 메모리(103) 상에 구현될 수 있다. 메모리(103)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.The memory 103 stores various data, instructions and/or information. The memory 103 may load one or more programs 105 from the storage 104 to execute methods/operations according to various embodiments of the present invention. For example, when the computer program 105 is loaded into memory 103, logic (or modules) may be implemented on memory 103. An example of the memory 103 may be RAM, but is not limited thereto.

버스(107)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(107)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.Bus 107 provides communication functionality between components of computing device 100. The bus 107 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.

네트워크 인터페이스(102)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 네트워크 인터페이스(102)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(102)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The network interface 102 supports wired and wireless Internet communication of the computing device 100. The network interface 102 may support various communication methods other than Internet communication. To this end, the network interface 102 may be configured to include a communication module well known in the art of the present invention.

스토리지(104)는 하나 이상의 컴퓨터 프로그램(105)을 비임시적으로 저장할 수 있다. 스토리지(104)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다. Storage 104 may non-transitory store one or more computer programs 105. The storage 104 may include non-volatile memory such as flash memory, a hard disk, a removable disk, or any type of computer-readable recording medium well known in the art to which the present invention pertains.

컴퓨터 프로그램(105)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 프로세서(101)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.The computer program 105 may include one or more instructions implementing methods/operations according to various embodiments of the present invention. When the computer program 105 is loaded into the memory 103, the processor 101 can perform methods/operations according to various embodiments of the present invention by executing the one or more instructions.

지금까지 도 1 내지 도 12를 참조하여 본 발명의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 발명의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, various embodiments of the present invention and effects according to the embodiments have been mentioned with reference to FIGS. 1 to 12. The effects according to the technical idea of the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below.

지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical idea of the present invention described so far can be implemented as computer-readable code on a computer-readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). You can. The computer program recorded on the computer-readable recording medium can be transmitted to another computing device through a network such as the Internet and installed on the other computing device, and thus can be used on the other computing device.

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though all the components constituting the embodiments of the present invention have been described as being combined or operated in combination, the technical idea of the present invention is not necessarily limited to these embodiments. That is, as long as it is within the scope of the purpose of the present invention, all of the components may be operated by selectively combining one or more of them.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although operations are shown in the drawings in a specific order, it should not be understood that the operations must be performed in the specific order shown or sequential order or that all illustrated operations must be performed to obtain the desired results. In certain situations, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be construed as necessarily requiring such separation, and the program components and systems described may generally be integrated together into a single software product or packaged into multiple software products. You must understand that it exists.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although embodiments of the present invention have been described above with reference to the attached drawings, those skilled in the art will understand that the present invention can be implemented in other specific forms without changing the technical idea or essential features. I can understand that there is. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. The scope of protection of the present invention shall be interpreted in accordance with the claims below, and all technical ideas within the equivalent scope shall be construed as being included in the scope of rights of the technical ideas defined by the present invention.

Claims (20)

가상 컴퓨팅 환경에서의 프로그램 취약점 분석을 위해 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
사용자의 단말로부터 보안 취약점 분석을 수행하기 위한 VDI(Virtual Desktop Infrastructure)의 생성 요청이 수신되면, 복수의 분석 대상 프로그램들 중 상기 사용자에 의해 선택된 분석 대상 프로그램에 액세스 가능한 VDI를 생성하는 단계; 및
상기 VDI에 접속한 상기 사용자에 의해 상기 선택된 분석 대상 프로그램에 대한 분석이 완료되면, 상기 분석에 의해 생성되는 데이터를 이용하여 상기 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공하는 단계를 포함하는,
가상 컴퓨팅 환경의 제공 방법.
In a method performed by a computing device to analyze program vulnerabilities in a virtual computing environment,
When a request for creating a VDI (Virtual Desktop Infrastructure) for performing security vulnerability analysis is received from a user's terminal, creating a VDI accessible to an analysis target program selected by the user among a plurality of analysis target programs; and
When the analysis of the selected program to be analyzed is completed by the user accessing the VDI, providing information related to vulnerabilities of the selected program to be analyzed using the data generated by the analysis.
Method of providing a virtual computing environment.
제1 항에 있어서,
상기 VDI를 생성하는 단계는,
상기 VDI 접속을 위한 정보를 생성하고, 상기 생성된 정보를 데이터베이스에 암호화하여 저장하는 단계를 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to claim 1,
The step of creating the VDI is,
Including generating information for the VDI connection, encrypting and storing the generated information in a database,
Method of providing a virtual computing environment.
제2항에 있어서,
상기 사용자 단말로 상기 VDI 접속을 위한 정보를 전송하고, 상기 정보를 이용하여 상기 사용자 단말에서 상기 VDI로의 연결 요청 시, 상기 사용자 단말과 상기 VDI 간 터널링을 제공하는 단계를 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to paragraph 2,
Transmitting information for the VDI connection to the user terminal, and using the information to provide tunneling between the user terminal and the VDI when requesting a connection from the user terminal to the VDI,
Method of providing a virtual computing environment.
제1 항에 있어서,
상기 분석 대상 프로그램 각각에 관한 정보를 등록하는 단계;
상기 등록된 정보를 이용하여 상기 분석 대상 프로그램을 생성하는 단계; 및
상기 생성된 분석 대상 프로그램의 엔드포인트(endpoint) 정보를 제공하는 단계를 더 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to claim 1,
registering information about each of the analysis target programs;
generating the analysis target program using the registered information; and
Further comprising providing endpoint information of the generated analysis target program,
Method of providing a virtual computing environment.
제4 항에 있어서,
상기 분석 대상 프로그램에 관한 정보는,
상기 분석 대상 프로그램의 이미지가 저장된 저장소 정보, 상기 분석 대상 프로그램의 요청 사양, 설정 정보, 환경 변수, 저장 볼륨, 및 연결 정보 중 적어도 하나를 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to clause 4,
Information about the program subject to analysis above,
Containing at least one of storage information where the image of the analysis target program is stored, request specifications of the analysis target program, setting information, environment variables, storage volume, and connection information,
Method of providing a virtual computing environment.
제4 항에 있어서,
상기 VDI를 생성하는 단계는,
상기 등록된 분석 대상 프로그램에 관한 정보를 이용하여 상기 선택된 분석 대상 프로그램에 대응하는 이미지를 포함하는 상기 VDI를 생성하는 단계를 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to clause 4,
The step of creating the VDI is,
Comprising the step of generating the VDI including an image corresponding to the selected analysis target program using information about the registered analysis target program,
Method of providing a virtual computing environment.
제4 항에 있어서,
상기 VDI를 통해 제한된 네트워크 상에 존재하는 분석 대상 프로그램에 액세스하는 경우, 상기 VDI 접속을 위한 정보 및 상기 등록된 분석 대상 프로그램에 관한 정보를 이용하여 상기 VDI와 상기 분석 대상 프로그램 간 연결을 설정하는 단계를 더 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to clause 4,
When accessing a program to be analyzed that exists on a restricted network through the VDI, establishing a connection between the VDI and the program to be analyzed using information for accessing the VDI and information about the registered program to be analyzed. Containing more,
Method of providing a virtual computing environment.
제4 항에 있어서,
상기 VDI를 통해 상기 가상 컴퓨팅 환경 내에 생성된 분석 대상 프로그램에 접속하는 경우, 상기 분석 대상 프로그램의 엔드포인트 정보를 이용하여 상기 VDI와 상기 분석 대상 프로그램 간 연결을 설정하는 단계를 더 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to clause 4,
When accessing a program to be analyzed created in the virtual computing environment through the VDI, establishing a connection between the VDI and the program to be analyzed using endpoint information of the program to be analyzed, further comprising:
Method of providing a virtual computing environment.
제1 항에 있어서,
상기 분석에 의해 생성되는 데이터를 이용하여 상기 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공하는 단계는,
상기 VDI 상에서 기록되는 트래픽 데이터를 수집하는 단계; 및
상기 트래픽 데이터에 기초하여 상기 분석 대상 프로그램의 취약점 탐지 패턴을 추출하는 단계를 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to claim 1,
The step of providing information related to vulnerabilities of the selected analysis target program using the data generated by the analysis,
collecting traffic data recorded on the VDI; and
Comprising the step of extracting a vulnerability detection pattern of the analysis target program based on the traffic data,
Method of providing a virtual computing environment.
제1 항에 있어서,
상기 분석에 의해 생성되는 데이터를 이용하여 상기 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공하는 단계는,
상기 사용자의 분석이 개시된 후 생성되는 사용자 행위 데이터를 수집하는 단계; 및
상기 사용자 행위 데이터에 기초하여 상기 분석 대상 프로그램의 취약점 탐지 패턴을 추출하는 단계를 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to claim 1,
The step of providing information related to vulnerabilities of the selected analysis target program using the data generated by the analysis,
collecting user behavior data generated after the user's analysis is initiated; and
Comprising the step of extracting a vulnerability detection pattern of the analysis target program based on the user behavior data,
Method of providing a virtual computing environment.
제10 항에 있어서,
상기 사용자 행위 데이터는,
상기 분석을 위해 상기 사용자가 사용한 툴에 관한 정보, 키 로그, 파일 업로드 정보, 네트워크 연결 정보, 사용자 인증 정보 중 적어도 하나를 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to claim 10,
The user behavior data is,
Containing at least one of information about tools used by the user for the analysis, key logs, file upload information, network connection information, and user authentication information,
Method of providing a virtual computing environment.
제1 항에 있어서,
상기 VDI는 상기 분석 대상 프로그램에 대한 모의 해킹을 위한 가상 컴퓨팅 환경인,
가상 컴퓨팅 환경의 제공 방법.
According to claim 1,
The VDI is a virtual computing environment for mock hacking of the analysis target program,
Method of providing a virtual computing environment.
제1 항에 있어서,
상기 복수의 분석 대상 프로그램들에 관한 정보를 디스플레이하는 단계; 및
상기 복수의 분석 대상 프로그램들 중 적어도 하나에 대한 상기 사용자의 선택을 수신하는 단계를 더 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to claim 1,
displaying information about the plurality of programs to be analyzed; and
Further comprising receiving the user's selection of at least one of the plurality of programs to be analyzed,
Method of providing a virtual computing environment.
제1 항에 있어서,
상기 선택된 분석 대상 프로그램에 대한 분석의 대가를 상기 사용자에게 지급하는 단계를 더 포함하는,
가상 컴퓨팅 환경의 제공 방법.
According to claim 1,
Further comprising paying a fee for analysis of the selected analysis target program to the user,
Method of providing a virtual computing environment.
컴퓨터로 하여금 제1 항 내지 제14 항 중 어느 한 항의 방법을 수행하도록 하는 컴퓨터 프로그램이 저장된,
컴퓨터 판독 가능한 비일시적 기록 매체.
A computer program is stored that causes a computer to perform the method of any one of claims 1 to 14,
A non-transitory computer-readable recording medium.
가상 컴퓨팅 환경 제공 장치에 있어서,
외부장치와 통신하는 통신부;
저장부; 및
사용자의 단말로부터 보안 취약점 분석을 수행하기 위한 VDI(Virtual Desktop Infrastructure)의 생성 요청이 수신되면, 복수의 분석 대상 프로그램들 중 상기 사용자에 의해 선택된 분석 대상 프로그램에 액세스 가능한 VDI를 생성하는 VDI 생성 모듈, 및
상기 VDI에 접속한 상기 사용자에 의해 상기 선택된 분석 대상 프로그램에 대한 분석이 완료되면, 상기 분석에 의해 생성되는 데이터를 이용하여 상기 선택된 분석 대상 프로그램의 취약점과 관련한 정보를 제공하는 VDI 분석 모듈을 포함하는 프로세서를 포함하는,
가상 컴퓨팅 환경 제공 장치.
In a device for providing a virtual computing environment,
A communication unit that communicates with external devices;
storage unit; and
When a request for creating a VDI (Virtual Desktop Infrastructure) to perform security vulnerability analysis is received from the user's terminal, a VDI creation module that creates a VDI accessible to the analysis target program selected by the user among a plurality of analysis target programs; and
When the analysis of the selected analysis target program is completed by the user accessing the VDI, the VDI analysis module provides information related to vulnerabilities of the selected analysis target program using the data generated by the analysis. Including a processor,
A device that provides a virtual computing environment.
제16 항에 있어서,
상기 VDI 생성 모듈은,
상기 VDI 접속을 위한 정보를 생성하고, 상기 생성된 정보를 데이터베이스에 암호화하여 저장하는,
가상 컴퓨팅 환경 제공 장치.
According to claim 16,
The VDI creation module is,
Generating information for the VDI connection, encrypting and storing the generated information in a database,
A device that provides a virtual computing environment.
제17항에 있어서,
상기 VDI 생성 모듈은,
상기 사용자 단말로 상기 VDI 접속을 위한 정보를 전송하고, 상기 정보를 이용하여 상기 사용자 단말에서 상기 VDI로의 연결 요청 시, 상기 사용자 단말과 상기 VDI 간 터널링을 제공하는,
가상 컴퓨팅 환경 제공 장치.
According to clause 17,
The VDI creation module is,
Transmitting information for the VDI connection to the user terminal, and using the information to provide tunneling between the user terminal and the VDI when requesting a connection from the user terminal to the VDI,
A device that provides a virtual computing environment.
제16 항에 있어서,
상기 VDI 분석 모듈은,
상기 VDI 상에서 기록되는 트래픽 데이터를 수집하고, 상기 트래픽 데이터에 기초하여 상기 분석 대상 프로그램의 취약점 탐지 패턴을 추출하는,
가상 컴퓨팅 환경 제공 장치.
According to claim 16,
The VDI analysis module is,
Collecting traffic data recorded on the VDI and extracting vulnerability detection patterns of the analysis target program based on the traffic data,
A device that provides a virtual computing environment.
제16 항에 있어서,
상기 VDI 분석 모듈은,
상기 사용자의 분석이 개시된 후 생성되는 사용자 행위 데이터를 수집하고, 상기 사용자 행위 데이터에 기초하여 상기 분석 대상 프로그램의 취약점 탐지 패턴을 추출하는,
가상 컴퓨팅 환경 제공 장치.
According to claim 16,
The VDI analysis module is,
Collecting user behavior data generated after the user's analysis is initiated, and extracting vulnerability detection patterns of the analysis target program based on the user behavior data,
A device that provides a virtual computing environment.
KR1020200175981A 2020-09-15 2020-12-16 Method for providing virtual computing environment, and apparatus implementing the same method KR20220036312A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200118675 2020-09-15
KR20200118675 2020-09-15

Publications (1)

Publication Number Publication Date
KR20220036312A true KR20220036312A (en) 2022-03-22

Family

ID=80988909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200175981A KR20220036312A (en) 2020-09-15 2020-12-16 Method for providing virtual computing environment, and apparatus implementing the same method

Country Status (1)

Country Link
KR (1) KR20220036312A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102608923B1 (en) * 2023-09-12 2023-12-01 주식회사 엔키 Apparatus and method of valuation for security vulnerability

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180007077A (en) 2016-07-12 2018-01-22 장사연 Candle for religious ceremony

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180007077A (en) 2016-07-12 2018-01-22 장사연 Candle for religious ceremony

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102608923B1 (en) * 2023-09-12 2023-12-01 주식회사 엔키 Apparatus and method of valuation for security vulnerability

Similar Documents

Publication Publication Date Title
CA2946224C (en) Method and apparatus for automating the building of threat models for the public cloud
US10009381B2 (en) System and method for threat-driven security policy controls
US9294442B1 (en) System and method for threat-driven security policy controls
US9240977B2 (en) Techniques for protecting mobile applications
US8677472B1 (en) Multi-point collection of behavioral data relating to a virtualized browsing session with a secure server
JP2019091480A (en) Image analysis and management
US20150312274A1 (en) Method and system for ensuring an application conforms with security and regulatory controls prior to deployment
CN113612740B (en) Authority management method and device, computer readable medium and electronic equipment
US11489933B2 (en) Systems and methods for gamification of SaaS applications
US20150319186A1 (en) Method and system for detecting irregularities and vulnerabilities in dedicated hosting environments
Liu et al. On manually reverse engineering communication protocols of linux-based iot systems
US10366240B1 (en) Authorization to access a server in the cloud without obtaining an initial secret
US11481478B2 (en) Anomalous user session detector
CN104702624A (en) Method and system for logging virtual machine based on Cloud Stack platform
US10387640B2 (en) Cloud based virtual computing system with license server
US10848491B2 (en) Automatically detecting a violation in a privileged access session
US10447818B2 (en) Methods, remote access systems, client computing devices, and server devices for use in remote access systems
KR20220036312A (en) Method for providing virtual computing environment, and apparatus implementing the same method
CN111245800B (en) Network security test method and device, storage medium and electronic device
CN112511562A (en) Cross-network data transmission system based on one-way isolation all-in-one machine and cloud desktop technology
CN105120010B (en) A kind of virtual machine Anti-theft method under cloud environment
US20150304237A1 (en) Methods and systems for managing access to a location indicated by a link in a remote access system
Astrida et al. Analysis and evaluation of wireless network security with the penetration testing execution standard (ptes)
US20180159886A1 (en) System and method for analyzing forensic data in a cloud system
US20180324149A1 (en) Cloud based virtual computing system with virtual network tunnel

Legal Events

Date Code Title Description
A201 Request for examination