KR102164915B1 - System for generating security topology of cloud computing - Google Patents

System for generating security topology of cloud computing Download PDF

Info

Publication number
KR102164915B1
KR102164915B1 KR1020200070623A KR20200070623A KR102164915B1 KR 102164915 B1 KR102164915 B1 KR 102164915B1 KR 1020200070623 A KR1020200070623 A KR 1020200070623A KR 20200070623 A KR20200070623 A KR 20200070623A KR 102164915 B1 KR102164915 B1 KR 102164915B1
Authority
KR
South Korea
Prior art keywords
security
vpc
topology
information
analysis unit
Prior art date
Application number
KR1020200070623A
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 KR1020200070623A priority Critical patent/KR102164915B1/en
Application granted granted Critical
Publication of KR102164915B1 publication Critical patent/KR102164915B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to a cloud security topology generation system, which includes: an API communication unit for collecting an application programming interface (API) for one virtual private cloud (VPC) corresponding to a first user account by collecting API communication with a cloud service provider system; an information classification unit that analyzes an API for one VPC collected through the API communication unit and classifies information included in the API into VPC configuration information and security policy information; a VPC configuration analysis unit that analyzes the VPC configuration information to identify objects constituting a corresponding VPC, and determines a relationship between the objects; a basic topology configuration unit that generates a basic security topology expressing objects constituting a VPC and a relationship between the objects by using information on the relationship between the objects analyzed by the VPC configuration analysis unit; a security policy analysis unit that interworks with the VPC configuration analysis unit to identify objects constituting the corresponding VPC, and analyzes the security policy information applied to the corresponding VPC to determine a network connection state between objects, and whether security policies collide each other and policies are duplicated for each virtual server; a connection topology construction unit that processes and resolves collision of security policies and duplication of policies for each virtual server according to set priorities of security policies, and generates a final security topology by displaying the network connection state between objects on the basic security topology; and an output unit that transmits the final security topology to the outside.

Description

클라우드 보안토폴로지 생성 시스템{SYSTEM FOR GENERATING SECURITY TOPOLOGY OF CLOUD COMPUTING}Cloud security topology creation system {SYSTEM FOR GENERATING SECURITY TOPOLOGY OF CLOUD COMPUTING}

본 발명은 클라우드 컴퓨팅 환경에서 VPC(Virtual Private Cloud)에 대한 보안토폴로지를 생성하여 컴퓨터 또는 모바일 등에 표시할 수 있게 하는 시스템에 관한 것이다.The present invention relates to a system for generating a security topology for a VPC (Virtual Private Cloud) in a cloud computing environment and displaying it on a computer or mobile device.

클라우드 컴퓨팅은 기업 입장에서 별도의 투자없이 빠르고 원하는 만큼 IT 자원을 확보할 수 있어서 각광받고 있다. 현재 클라우드 컴퓨팅을 제공하는 대표적인 업체는 아마존, 마이크로소프트, 구글, 오라클 등이 있으며, 아마존은 AWS(Amazon Web Services), 구글은 GCP(Google Cloud Platform), 마이크로소프트는 Azure, 오라클은 OCI(Oracle Cloud Infrastructure)로 명명되는 클라우드 컴퓨팅 서비스를 제공하고 있다.Cloud computing is in the spotlight because it allows companies to secure as many IT resources as they want without additional investment. Currently, representative companies that provide cloud computing include Amazon, Microsoft, Google, and Oracle.Amazon is AWS (Amazon Web Services), Google is GCP (Google Cloud Platform), Microsoft is Azure, and Oracle is OCI (Oracle Cloud). Infrastructure), it provides a cloud computing service.

이러한 클라우드 컴퓨팅은 기존 물리적인 환경을 대부분 논리적인 환경으로 개발하여 제공함으로써 관리자가 컴퓨터를 통한 클릭만으로도 생성이 가능한 매우 유연한 논리적 시스템 또는 서비스이다. 따라서 누구나 쉽게 접근이 가능하고, 가상 서버를 만들거나 수정하거나 삭제하기가 용이하다.Such cloud computing is a very flexible logical system or service that can be created with just a click through a computer by an administrator by developing and providing most of the existing physical environments as logical environments. Therefore, anyone can easily access it, and it is easy to create, modify, or delete virtual servers.

하지만 이런 환경이 반대로 갑작스런 가상 서버의 생성, 삭제, 변경으로 연결되어, 보안 또는 운영적인 문제가 발생할 경우 관리자가 실시간 확인하고 대응하기가 어려우며, 여러 보안적인 취약점을 내포하고 있다. However, if this environment is reversed by sudden creation, deletion, or modification of a virtual server, and security or operational problems occur, it is difficult for an administrator to check and respond in real time, and it contains several security vulnerabilities.

또한 클라우드 컴퓨팅은 논리적 인프라 특성상 복잡한 설정이 필요하고, 텍스트 및 표를 이용하여 내용이 구성되어 가시성이 부족하기 때문에 관리자가 쉽게 운영하기가 어려운 특성이 있으며, 이로 인해 사람의 실수에 의해 설정 오류가 자주 발생하고 보안 사고의 원인이 되기도 한다.In addition, cloud computing requires complex settings due to the nature of the logical infrastructure, and it is difficult for administrators to operate easily because the contents are organized using text and tables, and thus, it is difficult to operate. It occurs and can also cause security incidents.

이러한 문제점을 해결하기 위하여, 클라우드 컴퓨팅을 통해 VPC(Virtual Private Cloud)를 구축한 업체에서는 VPC에 대한 토폴로지를 만들어 설정 오류나 보안 사고를 방지하고 있다.In order to solve this problem, companies that have built a Virtual Private Cloud (VPC) through cloud computing have created a topology for the VPC to prevent configuration errors or security incidents.

그런데, 현재 VPC에 대한 토폴로지는 전문가에 의해 일일이 수작업으로 만들어지고 있어, 작업 시간이 오래 걸리고, 만들어진 토폴로지에 대한 검증이 어려우며, VPC 내의 객체나 보안 정책이 변경되는 경우에 만들어진 토폴로지를 수정하는 것이 어려운 문제가 있다.However, currently, the topology for the VPC is manually created by experts, so it takes a long time to work, it is difficult to verify the created topology, and it is difficult to modify the created topology when objects or security policies in the VPC are changed. there is a problem.

본 발명이 해결하고자 하는 과제는 클라우드 가상 서버와 가상 네트워크 장비, 방화벽 등 보안 장비간의 연결성과 정책을 시각화하여 토폴로지 형태로 보여줌으로써 관리자가 직관적으로 상황을 인지하고 빠르고 정확하게 대응할 수 있는 클라우드 보안토폴로지 생성 시스템을 제공하는 것이다.The problem to be solved by the present invention is a cloud security topology generation system that allows administrators to intuitively recognize the situation and respond quickly and accurately by visualizing connectivity and policies between security devices such as cloud virtual servers, virtual network devices, and firewalls, and showing them in topology. Is to provide.

본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.The technical problem to be achieved by this embodiment is not limited to the technical problem as described above, and other technical problems may be inferred from the following embodiments.

상기 과제를 해결하기 위한 실시 예에 따른 본 발명은 클라우드사업자 시스템과 API(Application Programming Interface) 통신을 수집하여 제1 사용자 계정에 대응하는 하나의 VPC(Virtual Private Cloud)에 대한 API를 수집하는 API 통신부, 상기 API 통신부를 통해 수집된 하나의 VPC에 대한 API를 분석하여 API에 포함된 정보를 VPC 구성정보와 보안정책정보로 분류하는 정보 분류부, 상기 VPC 구성정보를 분석하여 해당 VPC를 구성하는 객체들을 식별하고, 객체간의 관계를 파악하는 VPC구성 분석부, 상기 VPC구성 분석부에서 분석한 객체간의 관계에 대한 정보를 이용하여 VPC를 구성하는 객체 및 객체간의 관계를 표현한 기본 보안토폴로지를 생성하는 기본토폴로지 구성부, 상기 VPC구성 분석부와 연동하여 해당 VPC를 구성하는 객체들을 파악하고, 해당 VPC에 적용된 보안정책정보를 분석하여 객체간의 네트워크 연결 상태와 가상서버별 보안정책의 충돌 및 정책 중복여부를 파악하는 보안정책 분석부, 상기 보안정책 분석부에서 분석한 분석결과와 가상서버별 보안정책의 충돌 및 정책 중복여부에 대한 정보를 수신하고 이를 이용하여 각 가상서버 각각에 대하여 하나의 가상서버를 기준으로 다른 모든 가상서버와의 인바운드 및 아웃바운드 트래픽 허용/거부 여부를 검증하여 각 가상서버의 개별 네트워크 연결 정보를 파악하고, 가상서버별 개별 네트워크 연결 정보를 기본 보안토폴로지 상에 표시한 최종 보안토폴로지를 생성하는 연결토폴로지 구성부, 그리고 상기 최종 보안토폴로지를 외부로 전송하는 출력부를 포함하는 클라우드 보안토폴로지 생성 시스템을 제공한다.The present invention according to an embodiment for solving the above problem is an API communication unit that collects an API for one VPC (Virtual Private Cloud) corresponding to a first user account by collecting API (Application Programming Interface) communication with a cloud provider system , An information classification unit that analyzes the API for one VPC collected through the API communication unit and classifies the information included in the API into VPC configuration information and security policy information, and an object constituting the VPC by analyzing the VPC configuration information A basic security topology that expresses the objects constituting the VPC and the relationship between the objects using information on the relationship between the objects and the VPC configuration analysis unit that identifies them and understands the relationship between objects, and the relationship between the objects analyzed by the VPC configuration analysis unit. By interworking with the topology configuration unit and the VPC configuration analysis unit, the objects constituting the VPC are identified, and the security policy information applied to the corresponding VPC is analyzed to determine whether the network connection status between the objects and the security policy for each virtual server conflict and whether or not there is a policy overlap. Receives the security policy analysis unit to be identified, the analysis result analyzed by the security policy analysis unit, and information on the collision of security policies for each virtual server and whether or not the policy is overlapped, and uses this to refer to one virtual server for each virtual server. By verifying whether or not to allow/deny inbound and outbound traffic with all other virtual servers, the individual network connection information of each virtual server is identified, and the final security topology by displaying the individual network connection information for each virtual server on the basic security topology. It provides a cloud security topology generation system including a connection topology configuration unit to generate and an output unit for transmitting the final security topology to the outside.

상기 보안정책 분석부는 VPC에 포함된 각 네트워크 ACL을 분석하여 해당 네트워크 ACL과 연결된 서브넷 각각에 대한 네트워크 연결 정보를 파악하는 NACL 분석부, 각 보안그룹의 보안정책을 분석하여 각 보안그룹의 회원으로 참가된 모든 가상서버 각각에 대한 네트워크 연결 정보를 파악하는 SG 분석부, 그리고 상기 NACL 분석부의 분석한 결와 상기 SG 분석부의 분석 결과를 비교하여 가상서버별 보안정책의 충돌 및 정책 중복여부를 파악하는 오류 분석부를 포함할 수 있다.The security policy analysis unit analyzes each network ACL included in the VPC to determine the network connection information for each subnet connected to the corresponding network ACL, and participates as a member of each security group by analyzing the security policy of each security group. An SG analysis unit that checks the network connection information for each of all virtual servers, and an error analysis that identifies the conflict of security policies for each virtual server and whether the policy overlaps by comparing the analysis result of the NACL analysis unit with the analysis result of the SG analysis unit May contain wealth.

상기 보안정책 분석부는 각 가상서버의 자체에 설정된 보안정책을 분석하여 해당 가상서버에 대한 네트워크 연결 정보를 파악하는 HFW(Host FireWall) 분석부를 더 포함할 수 있으며, 이 경우에 상기 오류 분석부는 상기 NACL 분석부, 상기 SG 분석부 및 상기 HFW 분석부의 분석 결과를 비교하여 가상서버별 보안정책의 충돌 및 정책 중복여부를 파악할 수 있다.The security policy analysis unit may further include a HFW (Host FireWall) analysis unit that analyzes the security policy set in each virtual server to determine network connection information for the corresponding virtual server. In this case, the error analysis unit is the NACL By comparing the analysis results of the analysis unit, the SG analysis unit, and the HFW analysis unit, it is possible to determine whether or not there is a conflict of a security policy for each virtual server and a policy overlap.

상기 연결토폴로지 구성부는 가상서버별 보안정책의 충돌 및 정책 중복여부에 대한 정보를 수신를 수신하는 경우에 네트워크 ACL의 보안정책을 가장 높은 우선순위로 하여 보안정책의 충돌 및 보안정책의 중복을 해결할 수 있다.The connection topology configuration unit can resolve the conflict of security policy and overlapping of security policy by making the security policy of the network ACL the highest priority when receiving information about the conflict of security policy for each virtual server and whether or not the policy is duplicated. .

상기 연결토폴로지 구성부는 가상서버별 보안정책의 충돌 및 정책 중복여부에 대한 정보를 수신를 수신하는 경우에 네트워크 ACL의 보안정책을 가장 높은 우선순위로 하고 가상서버의 자체에 설정된 보안정책을 가장 낮은 우선순위로 하여 상기 보안정책의 충돌 및 보안정책의 중복을 해결할 수 있다.The connection topology configuration unit sets the security policy of the network ACL as the highest priority and the security policy set in the virtual server itself as the lowest priority when receiving information on the collision of each virtual server security policy and whether or not the policy is duplicated. Thus, the conflict of the security policy and the overlapping of the security policy can be solved.

발명의 실시 예에 따르면, 본 발명은 자동으로 특정 업체의 VPC에 대한 보안토폴로지를 생성하고, 보안정책이나 새로운 객체 생성/삭제시에 즉각적으로 보안토폴로지에 반영하여 새로운 보안토폴로지를 생성할 수 있게 한다.According to an embodiment of the present invention, the present invention automatically creates a security topology for a VPC of a specific company, and when a security policy or a new object is created/deleted, it is immediately reflected in the security topology so that a new security topology can be created. .

또한, 본 발명의 실시 예에 따르면, 본 발명은 보안토폴로지를 통해 네트워크 연결정보의 확인이 가능하고, 보안 관점에서의 연결(차단, 허용)을 확인하는 것이 가능하다.In addition, according to an embodiment of the present invention, it is possible to check network connection information through a security topology, and to check connection (blocking, permission) from a security point of view.

도 1 및 도 2는 일반적인 클라우드 컴퓨팅 네트워크의 구성을 보인 도면이다.
도 3은 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성시스템의 네트워크 환경을 보인 도면이다.
도 4는 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성시스템의 블록 구성도이다.
도 5는 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성시스템에서 보안정책 분석부의 내부 블록 구성도이다.
도 6은 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성 방법을 보인 순서도이다.
도 7은 본 발명의 실시 예에 따른 개별 네트워크 연결정보를 파악을 위한 검증 동작 설명을 위한 도면이다.
도 8은 도 7의 트래픽 환경에서 수행하는 검증 동작을 보인 순서도이다.
도 9는 본 발명의 실시 예에 따른 VPC 구조를 표시한 기본 보안토폴로지에 대한 도면이다.
도 10은 본 발명의 실시 예에 따른 VPC 구조와 네트워크 연결을 함께 표시한 보안토폴로지에 대한 도면이다.
1 and 2 are diagrams showing the configuration of a general cloud computing network.
3 is a diagram showing a network environment of a cloud security topology generation system according to an embodiment of the present invention.
4 is a block diagram of a cloud security topology generation system according to an embodiment of the present invention.
5 is an internal block diagram of a security policy analysis unit in a cloud security topology generation system according to an embodiment of the present invention.
6 is a flow chart showing a method of generating a cloud security topology according to an embodiment of the present invention.
7 is a view for explaining a verification operation for identifying individual network connection information according to an embodiment of the present invention.
8 is a flow chart showing a verification operation performed in the traffic environment of FIG. 7.
9 is a diagram of a basic security topology showing a VPC structure according to an embodiment of the present invention.
10 is a diagram of a security topology in which a VPC structure and a network connection are displayed together according to an embodiment of the present invention.

아래에서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자들(이하, 통상의 기술자들)이 본 발명을 용이하게 실시할 수 있도록, 첨부되는 도면들을 참조하여 몇몇 실시 예가 명확하고 상세하게 설명될 것이다. 또한, 명세서에서 사용되는 "부" 이라는 용어는 하드웨어 구성요소 또는 회로를 의미할 수 있다.In the following, some embodiments will be described clearly and in detail with reference to the accompanying drawings so that those with ordinary knowledge in the technical field to which the present invention pertains (hereinafter, ordinary technicians) can easily implement the present invention. will be. In addition, the term "unit" used in the specification may mean a hardware component or circuit.

이하에서는 첨부한 도면을 참조로 하여 본 발명의 실시 예에 따른 클라우드 보안 토폴로지 생성 시스템을 설명한다.Hereinafter, a cloud security topology generation system according to an embodiment of the present invention will be described with reference to the accompanying drawings.

도 1 및 도 2는 일반적인 클라우드 컴퓨팅 네트워크의 구성을 보인 도면으로, 아마존의 클라우드 네트워크를 일 예로 한 것이다. 또한 도 2의 클라우드 네트워크는 단일 가용영역(AZ: Availability Zone) VPC을 일 예로 한 것이다.1 and 2 are diagrams showing the configuration of a general cloud computing network, taking Amazon's cloud network as an example. In addition, the cloud network of FIG. 2 is a single Availability Zone (AZ) VPC as an example.

도 1 및 도 2를 참고하면, 클라우드 사업자가 제공하는 클라우드 컴퓨팅 네트워크는 복수의 지역(region)(10)으로 구분되고, 복수의 지역(10) 각각은 복수의 가용영역(AZ: Availability Zone)(20)을 포함한다. 여기서, 현재 하나의 지역(10) 내에 포함되는 가용영역(20)은 최대 3개 정도이다.1 and 2, a cloud computing network provided by a cloud provider is divided into a plurality of regions 10, and each of the plurality of regions 10 includes a plurality of Availability Zones (AZs) ( 20). Here, the number of available areas 20 currently included in one area 10 is about three at most.

그리고 복수의 가용용역(20) 각각은 복수의 VPC(30)를 포함하고 있다.In addition, each of the plurality of available service areas 20 includes a plurality of VPCs 30.

각각의 VPC(30)는 외부와의 통신을 위한 게이트웨이(31), 네트워크 ACL(Access Control List)(32), 복수의 가상서버(331)를 가지고 있는 복수의 서브넷(33) 및 동일한 보안정책을 가지는 가상서버를 하나의 그룹으로 관리하는 복수의 보안그룹(SG: Security Group)(34)을 포함한다. 여기서, 네트워크 ACL(NACL)은 서브넷(subnet)에 대한 보안을 담당하는 방화벽이고, 보안그룹은 같은 보안 정책을 가지는 가상서버들에 적용되는 방화벽이다.Each VPC 30 has a gateway 31 for communication with the outside, a network access control list (ACL) 32, a plurality of subnets 33 having a plurality of virtual servers 331, and the same security policy. The branch includes a plurality of security groups (SG) 34 for managing the virtual server as a group. Here, the network ACL (NACL) is a firewall in charge of security for a subnet, and the security group is a firewall applied to virtual servers having the same security policy.

복수의 VPC(30) 각각은 동일한 구조를 가질 수 있지만, 거의 대부분이 서로 다른 구조를 가진다. 여기서, VPC(30)의 구조는 VPC(30)를 구성하는 객체의 개수, 객체간의 관계 등을 의미한다.Each of the plurality of VPCs 30 may have the same structure, but most of them have a different structure. Here, the structure of the VPC 30 means the number of objects constituting the VPC 30, a relationship between the objects, and the like.

VPC(30) 구조에서의 객체는 게이트웨이, 네트워크 ACL, 서브넷, 가상서버 및 보안그룹 등과 같이 VPC(30)를 구성하는 장치 및 보안정책이며, 객체간의 관계는 하나의 VPC(30)가 보유한 서브넷(33)의 개수, 각 서브넷(33) 내의 가상서버(331)의 개수, 보안그룹(34)의 개수, 각각의 가상서버가 참여한 보안그룹이 무엇인지에 대한 식별, 각각의 서브넷을 기준으로 다른 객체와의 네트워크 연결관계, 각각의 가상서버를 기준으로 다른 객체와의 네트워크 연결관계 등이다.Objects in the VPC 30 structure are devices and security policies that make up the VPC 30, such as gateways, network ACLs, subnets, virtual servers, and security groups, and the relationship between the objects is a subnet held by one VPC 30 ( 33), the number of virtual servers 331 in each subnet 33, the number of security groups 34, identification of what security groups each virtual server participates in, different objects based on each subnet Network connection relationship with and, network connection relationship with other objects based on each virtual server.

여기서, 일반적으로 클라우드 사업자의 회원 즉, 업체는 적어도 하나의 VPC를 생성하여 사용한다. 본 발명에서는 하나의 VPC를 기준으로 보안토폴로지를 생성하며, 만약 업체가 2개의 VPC를 가지는 경우에는 2개의 VPC 각각에 대한 보안토폴로지를 생성한다.Here, in general, a member of a cloud provider, that is, a company creates and uses at least one VPC. In the present invention, a security topology is created based on one VPC, and if a company has two VPCs, a security topology for each of the two VPCs is created.

이하에서는 도 3 내지 도 8을 참조하여 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성 시스템을 설명한다.Hereinafter, a cloud security topology generation system according to an embodiment of the present invention will be described with reference to FIGS. 3 to 8.

도 3은 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성시스템의 네트워크 환경을 보인 도면이다. 도 3을 참고하면, 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성시스템(100)은 아마존 또는 구글 또는 마이크로소프트 또는 오라클 등에서 클라우드 컴퓨팅 서비스를 위해 운영하는 클라우드 사업자 시스템(200)과 API(Application Programming Interface) 통신을 수행하여 하나의 VPC에 대한 API 정보를 수집한다. 여기서, API 통신이란 API 정보를 획득하기 위한 통신 방법을 총칭한다.3 is a diagram showing a network environment of a cloud security topology generation system according to an embodiment of the present invention. Referring to FIG. 3, a cloud security topology generation system 100 according to an embodiment of the present invention includes a cloud operator system 200 and an API (Application Programming Interface) operated for cloud computing services by Amazon, Google, Microsoft, or Oracle. ) Collects API information for one VPC by performing communication. Here, API communication is a generic term for a communication method for obtaining API information.

본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성시스템(100)은 수집한 VPC의 API 정보를 이용하여 해당 VPC에 대한 보안토폴로지를 생성하고, 생성한 보안토폴로지를 웹브라우저가 탑재된 사용자 단말(300)에 제공한다. 사용자 단말(300)은 데스크탑, 노트북, 모바일 등 일 수 있다.The cloud security topology creation system 100 according to an embodiment of the present invention creates a security topology for a corresponding VPC by using the collected API information of the VPC, and uses the generated security topology into a user terminal 300 equipped with a web browser. To provide. The user terminal 300 may be a desktop, a laptop computer, or a mobile device.

도 4를 참조로 하여 클라우드 보안토폴로지 생성시스템을 보다 구체적으로 설명한다. 도 4는 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성시스템의 블록 구성도이다.The cloud security topology generation system will be described in more detail with reference to FIG. 4. 4 is a block diagram of a cloud security topology generation system according to an embodiment of the present invention.

도 4를 참고하면, 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성시스템(100)은 API 통신부(110), 정보 분류부(120), VPC구성 분석부(130), 보안정책 분석부(140), 기본토폴로지 구성부(140), 연결토폴로지 구성부(160) 및 출력부(170)를 포함한다. 그리고 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성시스템(100)은 데이터를 저장하는 메모리를 구성으로 하고 있으나, 설명의 편의를 위해 생략하였다.Referring to FIG. 4, the cloud security topology generation system 100 according to an embodiment of the present invention includes an API communication unit 110, an information classification unit 120, a VPC configuration analysis unit 130, and a security policy analysis unit 140. , A basic topology configuration unit 140, a connection topology configuration unit 160, and an output unit 170. In addition, the cloud security topology generation system 100 according to an exemplary embodiment of the present invention has a memory for storing data, but is omitted for convenience of description.

API 통신부(110)는 클라우드사업자 시스템(200)과 API 통신을 수행하여 제1 사용자 계정에 대응하는 하나의 VPC에 대한 API를 수집한다. 상기 제1 사용자 계정은 클라우드사업자 시스템(200)에서 회원에게 제공하는 접속 및 인증을 위한 식별정보이다. 상기 하나의 VPC에 대한 API에는 클라우드 계정 정보, 클라우드 서버 정보 및 네트워크 소속 정보를 포함하는 자산 정보, 클라우드 방화벽 종류 및 각 방화벽의 정책 정보, 그리고 각 보안그룹의 정책정보를 포함하는 정책정보, VPC 속한 리전 및 가용영역, VPC 식별정보, 해당 VPC가 포함하고 있는 각 서브넷의 식별정보, 서브넷 각각이 포함하고 있는 가상서버의 식별정보 등을 포함하는 네트워크 정보 및 자동 생성된 가상서버들에 대한 정보인 오토스케일링 정보 등이 포함되어 있다.The API communication unit 110 performs API communication with the cloud service provider system 200 to collect an API for one VPC corresponding to the first user account. The first user account is identification information for access and authentication provided to a member from the cloud service provider system 200. The API for one VPC includes cloud account information, cloud server information, asset information including network affiliation information, cloud firewall type and policy information of each firewall, and policy information including policy information of each security group, belonging to the VPC. Auto, network information including region and availability zone, VPC identification information, identification information of each subnet included in the VPC, identification information of virtual servers included in each subnet, and information about automatically generated virtual servers. It includes scaling information and the like.

정보 분류부(120)는 API 통신부(110)를 통해 수집된 하나의 VPC에 대한 API를 분석하여 API에 포함된 정보를 VPC 구성에 대한 정보(이하 'VPC 구성정보'라 함)와 보안정책에 대한 정보(이하 '보안정책정보'라 함)로 분류한다. VPC 구성정보는 클라우드 계정 정보, 클라우드 서버 정보 및 네트워크 소속 정보를 포함하는 자산 정보, 해당 VPC가 포함하고 있는 각 서브넷의 식별정보, 서브넷 각각이 포함하고 있는 가상서버의 식별정보 등을 포함하는 네트워크 정보 및 자동 생성된 가상서버들에 대한 정보인 오토스케일링 정보 등을 포함한다. The information classification unit 120 analyzes the API for one VPC collected through the API communication unit 110 and converts the information included in the API into information on the VPC configuration (hereinafter referred to as'VPC configuration information') and security policy. Information (hereinafter referred to as'security policy information'). VPC configuration information is network information including cloud account information, asset information including cloud server information and network belonging information, identification information of each subnet included in the VPC, identification information of virtual servers included in each subnet, etc. And auto-scaling information, which is information on automatically generated virtual servers.

보안정책정보는 해당 VPC에 적용된 방화벽의 보안정책에 대한 정보로서, 네트워크 ACL의 정책정보 및 각 보안그룹의 정책정보를 포함하는 정책정보 등을 포함한다. 또한 보안정책정보는 HFW(Host FireWall, 호스트 방화벽)의 보안정책을 더 포함할 수 있다. HFW은 하나의 가상서버에 적용되는 방화벽으로, 개별 가상서버마다 보유하는 방화벽이다.The security policy information is information on the security policy of the firewall applied to the corresponding VPC, and includes policy information of network ACLs and policy information including policy information of each security group. In addition, the security policy information may further include a security policy of HFW (Host FireWall). HFW is a firewall applied to one virtual server, and it is a firewall held for each virtual server.

VPC구성 분석부(130)는 VPC 구성정보를 분석하여 해당 VPC를 구성하는 객체들을 식별하고, 객체간의 관계를 파악한다. VPC구성 분석부(130)에 의해, 해당 VPC가 보유한 서브넷(33)의 개수, 각 서브넷(33) 내의 가상서버(331)의 개수, 보안그룹(34)의 개수, 각각의 가상서버가 참여한 보안그룹이 무엇인지에 대한 식별 등이 파악된다.The VPC configuration analysis unit 130 analyzes the VPC configuration information to identify objects constituting the corresponding VPC, and determines the relationship between the objects. By the VPC configuration analysis unit 130, the number of subnets 33 owned by the VPC, the number of virtual servers 331 in each subnet 33, the number of security groups 34, security in which each virtual server participates Identification of what the group is, etc. are identified.

보안정책 분석부(140)는 VPC구성 분석부(130)와 연동하여 해당 VPC를 구성하는 객체들을 파악하고, 보안정책정보를 분석하여 객체간의 네트워크 연결 상태를 파악한다. The security policy analysis unit 140 interlocks with the VPC configuration analysis unit 130 to identify objects constituting a corresponding VPC, and analyzes security policy information to determine a network connection state between the objects.

보안정책 분석부(140)의 구체적인 동작을 도 5를 참조로 하여 설명한다.A detailed operation of the security policy analysis unit 140 will be described with reference to FIG. 5.

도 5는 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성시스템에서 보안정책 분석부(140)의 내부 블록 구성도이다. 도 5를 참고하면, 보안정책 분석부(140)는 NACL(Network Access Control List) 분석부(141), SG(보안그룹, Security Group) 분석부(142), HFW 분석부(143) 및 오류 분석부(144)를 포함한다.5 is an internal block diagram of the security policy analysis unit 140 in the cloud security topology generation system according to an embodiment of the present invention. Referring to FIG. 5, the security policy analysis unit 140 includes a network access control list (NACL) analysis unit 141, a security group (SG) analysis unit 142, an HFW analysis unit 143, and an error analysis. Includes part 144.

NACL 분석부(141)는 VPC에 포함된 각 네트워크 ACL(도 5의 (a) 참조)을 분석하여 모든 서브넷 각각에 대한 네트워크 연결 정보 즉, 인바운드 및 아웃바운드 트래픽 허용 또는/및 거부 규칙을 파악하고, 파악한 네트워크 연결 정보를 오류 분석부(144)와 연결토폴로지 구성부(160)에 제공한다. 여기서, 네트워크 ACL은 IP 프로토콜, 서비스 포트 및/또는 원본/대상 IP 주소에 따라 트래픽을 허용 또는 거부하는 정렬된 규칙을 포함하고 있다.The NACL analysis unit 141 analyzes each network ACL included in the VPC (refer to Fig. 5 (a)) to determine network connection information for each of all subnets, that is, inbound and outbound traffic allow or/and denial rules. , Provides the determined network connection information to the error analysis unit 144 and the connection topology configuration unit 160. Here, the network ACL includes ordered rules that allow or deny traffic according to IP protocol, service port, and/or source/destination IP address.

SG 분석부(142)는 각 보안그룹(SG)의 보안정책(도 5의 (b) 참조)을 분석하여 각 보안그룹(SG)의 회원으로 참가된 모든 가상서버 각각에 대한 네트워크 연결 정보 즉, 인바운드 및 아웃바운드 트래픽 허용 또는/및 거부 규칙을 파악하고, 파악한 네트워크 연결 정보를 오류 분석부(144)와 연결토폴로지 구성부(160)에 제공한다. 보안그룹(SG)의 보안정책에는 IP 프로토콜, 서비스 포트 및/또는 원본/대상 IP 주소에 따라 트래픽을 허용 또는 거부하는 정렬된 규칙을 포함하고 있다.The SG analysis unit 142 analyzes the security policy of each security group (SG) (see Fig. 5(b)), and network connection information for each of all virtual servers participating as members of each security group (SG), that is, Inbound and outbound traffic allow or/and reject rules are identified, and the determined network connection information is provided to the error analysis unit 144 and the connection topology configuration unit 160. The security policy of the security group (SG) includes sorted rules that allow or deny traffic according to IP protocol, service port, and/or source/destination IP address.

HFW 분석부(143)는 각 가상서버의 HFW의 보안정책(도 5의 (c) 참조)을 분석하여 해당 가상서버에 대한 네트워크 연결 정보 즉, 인바운드 및 아웃바운드 트래픽 허용 또는/및 거부 규칙을 파악하고, 파악한 네트워크 연결 정보를 오류 분석부(144)와 연결토폴로지 구성부(160)에 제공한다. 각 가상서버의 HFW의 보안정책에는 IP 프로토콜, 서비스 포트 및/또는 원본/대상 IP 주소에 따라 트래픽을 허용 또는 거부하는 정렬된 규칙을 포함하고 있다. HFW 분석부(143)는 제작자에 의해 생략이 가능하다.The HFW analysis unit 143 analyzes the HFW security policy of each virtual server (see Fig. 5(c)) to identify network connection information for the virtual server, that is, inbound and outbound traffic allow or/and reject rules And, the determined network connection information is provided to the error analysis unit 144 and the connection topology configuration unit 160. Each virtual server's HFW security policy includes sorted rules that allow or deny traffic according to IP protocol, service port, and/or source/destination IP address. HFW analysis unit 143 can be omitted by the manufacturer.

오류 분석부(144)는 NACL 분석부(141)에서 파악한 각 서브넷의 인바운드 및 아웃바운드 트래픽 허용 또는/및 거부 규칙과 SG 분석부(142)의 분석한 각 가상서버의 인바운드 및 아웃바운드 트래픽 허용 또는/및 거부 규칙을 분석하여 서브넷별 및 가상서버별 보안정책의 충돌 및 정책 중복여부를 파악한다. 또한 HFW의 보안정책을 추가로 이용하는 경우, 오류 분석부(144)는 NACL 분석부(141), SG 분석부(142) 및 HFW 분석부(143)의 분석 결과를 통해 서브넷별 및 가상서버별 보안정책의 충돌 및 정책 중복여부를 파악하고, 파악한 결과를 연결토폴로지 구성부(160)에 제공한다. 한편, 오류 분석부(144)는 파악한 충돌 및 중복에 대한 결과를 사용자의 요청시에 화면상에 표시되도록 할 수 있다.The error analysis unit 144 allows inbound and outbound traffic of each subnet determined by the NACL analysis unit 141 or/and rejection rules and inbound and outbound traffic of each virtual server analyzed by the SG analysis unit 142 or Analyzes / and rejection rules to determine whether security policy conflicts and policy overlaps for each subnet and virtual server. In addition, when additionally using the HFW security policy, the error analysis unit 144 provides security for each subnet and virtual server through the analysis results of the NACL analysis unit 141, SG analysis unit 142, and HFW analysis unit 143. Conflicts of policies and policy duplication are identified, and the result of the determination is provided to the connection topology configuration unit 160. Meanwhile, the error analysis unit 144 may display a result of the identified collision and overlap on the screen at the request of the user.

기본토폴로지 구성부(140)는 VPC구성 분석부(130)에서 분석한 VPC를 구성하는 객체간의 관계에 대한 정보를 이용하여 기본토폴로지를 구성하고 생성하여 메모리에 저장한다. 기본토폴로지 구성부(140)에 의해 생성된 기본토폴로지의 일 예가 도 9에 도시되어 있다.The basic topology configuration unit 140 constructs and creates a basic topology using information on the relationship between objects constituting the VPC analyzed by the VPC configuration analysis unit 130 and stores it in memory. An example of a basic topology generated by the basic topology construction unit 140 is shown in FIG. 9.

도 9는 본 발명의 실시 예에 따른 VPC 구조를 표시한 기본 보안토폴로지에 대한 도면으로, 멀티 가용영역 VPC를 일 예로 한 것이다. 도 7을 참고하면, 기본 보안토폴로지는 하나의 VPC(30)를 대상으로 생성되며, 하나의 VPC(30) 내에 포함된 복수의 서브넷(33)을 표시한다. 그리고 복수의 서브넷(33) 중 가중영역(20)이 다른 서브넷(33)이 구분되어져 표시된다.9 is a diagram for a basic security topology showing a VPC structure according to an exemplary embodiment of the present invention, taking a multi-availability zone VPC as an example. Referring to FIG. 7, a basic security topology is created for one VPC 30 and displays a plurality of subnets 33 included in one VPC 30. In addition, among the plurality of subnets 33, the weighted area 20 is divided and displayed.

그리고 각 서브넷(33)에는 포함하는 가상서버(331)가 갯수만큼 표시된다. 물론 하나의 서브넷(33)에 포함된 가상서버(331)의 개수가 많은 경우에 확대 기능을 부가하여 해당 서브넷(33)을 클릭하는 경우에 전체화면으로 확대되어 표시되도록 할 수 있다. 또한 각 서브넷(33)에서 A, B, C로 표기한 박스영역은 동일한 보안그룹의 가상서버임을 나타낸다. 또한 서브넷(33)에서 AS라고 표시된 박스영역은 해당 박스영역(AS)에 포함된 가상서버(331)가 오토스케일링에 의해 생성된 가상서버 그룹임을 나타낸다.In addition, the number of virtual servers 331 included in each subnet 33 is displayed. Of course, when the number of virtual servers 331 included in one subnet 33 is large, an enlargement function may be added so that when the corresponding subnet 33 is clicked, it is enlarged and displayed on the full screen. In addition, the box areas marked A, B, and C in each subnet 33 represent virtual servers of the same security group. In addition, the box area marked AS in the subnet 33 indicates that the virtual server 331 included in the corresponding box area AS is a virtual server group created by autoscaling.

다음으로, 연결토폴로지 구성부(160)는 기본토폴로지 구성부(150)에서 생성한 기본 보안토폴로지를 수신하고, 보안정책 분석부(140)에서 분석한 분석결과와 가상서버(331)별 보안정책의 충돌 및 정책 중복여부에 대한 정보를 수신하고 이를 이용하여 각 가상서버 각각에 대하여 하나의 가상서버를 기준으로 다른 모든 가상서버와의 인바운드 및 아웃바운드 트래픽 허용/거부 여부를 검증한다. 그리고 연결토폴로지 구성부(160)는 상기 검증을 통해 하나의 가상서버에 대한 인바운드 및 아웃바운드 트래픽 허용/거부 여부를 포함하는 각 가상서버의 네트워크 연결 정보(이하 '개별 네트워크 연결정보'라 함)를 파악하고, 가상서버별 개별 네트워크 연결 정보를 기본 보안토폴로지 상에 표시한 최종 보안토폴로지를 생성한다. 이렇게 생성된 최종 보안토폴로지는 메모리에 저장되고 출력부(180)를 통해 사용자 단말(300)에 제공된다.Next, the connection topology configuration unit 160 receives the basic security topology generated by the basic topology configuration unit 150, and the analysis result analyzed by the security policy analysis unit 140 and the security policy for each virtual server 331 are It receives information on collision and policy duplication, and uses it to verify whether inbound and outbound traffic is allowed/denied with all other virtual servers on the basis of one virtual server for each virtual server. In addition, the connection topology configuration unit 160 stores network connection information (hereinafter referred to as'individual network connection information') of each virtual server including whether to allow/reject inbound and outbound traffic to one virtual server through the verification. It identifies and creates a final security topology that displays individual network connection information for each virtual server on the basic security topology. The resulting security topology is stored in the memory and provided to the user terminal 300 through the output unit 180.

여기서, 연결토폴로지 구성부(160)는 가상서버(331)별 보안정책의 충돌 및 정책 중복여부에 대한 정보를 수신를 수신하는 경우에 인바운드 트래픽에 대해서는 네트워크 ACL의 보안정책을 가장 높은 우선순위로 하여 보안정책의 충돌 및 중복을 해결하고, 아웃바운드 트래픽에 대해서는 HFW의 보안정책을 가장 높은 우선 순위로 하여 보안정책보안그룹의 보안정책의 충돌 및 중복을 해결한다. 물론 HFW의 보안정책을 이용하지 않으면, 아웃바운드 트래픽에 대해서는 보안그룹의 보안정책을 가장 우선 순위로 한다.Here, when the connection topology configuration unit 160 receives information on the collision of the security policy for each virtual server 331 and information on whether or not the policy is duplicated, the security policy of the network ACL is the highest priority for inbound traffic. Conflicts and duplication of policies are resolved, and conflicts and duplication of security policies of the security policy security group are resolved by making HFW's security policy the highest priority for outbound traffic. Of course, if HFW's security policy is not used, the security group's security policy is the highest priority for outbound traffic.

한편, 연결포톨로지 구성부(160)는 가상서버별 네트워크 연결 정보를 파악시에 보안정책의 오류가 발견되면 발견된 오류를 오류 분석부(144)에 알리도록 할 수 있다.Meanwhile, when an error in a security policy is found when determining network connection information for each virtual server, the connection portal configuration unit 160 may inform the error analysis unit 144 of the found error.

연결토폴로지 구성부(160)에 의해 생성된 최종 보안토폴로지가 도 10에 일 예가 도시되어 있다. 도 10은 본 발명의 실시 예에 따른 VPC 구조와 네트워크 연결을 함께 표시한 보안토폴로지에 대한 도면이다. 도 10은 도 9에 도시된 기본 보안토폴로지와 동일한 기본 보안토폴로지를 표시하고 있으며, 그에 따라 도면 부호는 생략한다.An example of the final security topology generated by the connection topology construction unit 160 is shown in FIG. 10. 10 is a diagram of a security topology in which a VPC structure and a network connection are displayed together according to an embodiment of the present invention. 10 shows the same basic security topology as the basic security topology shown in FIG. 9, and accordingly, reference numerals are omitted.

도 10을 참고하면, 하나의 가상서버(331)을 클릭하면 해당 가상서버(331)에 대한 개별 네트워크 연결정보가 표시된 네트워크 연결정보 화면창(A10)이 표시된다. 네트워크 연결정보 화면창(A10)에는 해당 가상서버(331)에 대한 개별 네트워크 연결 정보 즉, 인바운드 및 아웃바운드 트래픽의 개수와 각 트래픽에 대한 허용 또는 거부, 프로토콜, 포트, 소스 및 체크 표시가 표시되어 있다. 도 10의 화면창(A10)에는 1번, 2번, 3번을 포함하는 4개의 트래픽이 표시되어 있다.Referring to FIG. 10, when one virtual server 331 is clicked, a network connection information screen window A10 in which individual network connection information for the corresponding virtual server 331 is displayed is displayed. In the network connection information window (A10), individual network connection information for the virtual server 331, that is, the number of inbound and outbound traffic, allow or deny for each traffic, protocol, port, source, and check mark are displayed. have. Four traffics including No. 1, No. 2, and No. 3 are displayed on the screen A10 of FIG. 10.

그리고 화면창에서 1번에 대한 '체크' 표시를 클릭하면, 4번 화면이 표시되고, 1번 트래픽에 대한 검증을 시작하여 해당 가상서버(331)에 관련된 HFW, 보안그룹 및 네트워크 ACL이 보안정책을 각각 검증하며, 선택한 가상서버(331)의 보안정책이 모두 정상이면 1-1번의 네트워크 연결선이 표시된다. 여기서 체크 표시의 클릭에 따른 트래픽 검증 동작은 생략이 가능하다.And if you click the'check' mark for No. 1 in the screen window, screen No. 4 is displayed, and the verification of traffic No. 1 starts, and the HFW, security group, and network ACL related to the virtual server 331 are set to the security policy. Is verified, and if all security policies of the selected virtual server 331 are normal, the network connection line 1-1 is displayed. Here, the traffic verification operation according to the click of the check mark may be omitted.

4번 화면에서 '결과'는 정책 검증 로직에 따라 여러개의 인터페이스 중 하나라도 성공이면 '정상'으로 표시하고, 설정 보안정책이 통신 불가이면 '차단'으로 표시하며, 포트, 소스(대상)의 여러 개 중 일부분 성공일 경우에 '부분'으로 표시하고, VPC 내 존재하지 않은 IP 에 대한 정책일 경우(실 통신이 불가능하여 정책이 의미 없는 경우)에 '검토'라고 표시한다.In the 4th screen,'Result' is displayed as'normal' if any one of several interfaces is successful according to the policy verification logic, and'blocked' if the set security policy is not able to communicate, and various ports and sources (targets) If some of them are successful, they are marked as'partial', and if the policy is for an IP that does not exist in the VPC (if the policy is meaningless because communication is impossible), it is marked as'review.

4번 화면에서 '결과'항목이 '차단'으로 표시되면, '차단사유'항목에 그 이유가 기재된다.If the'Result' item is displayed as'Blocked' on screen 4, the reason is described in the'Blocked Reason' item.

마지막으로, 출력부(180)는 사용자 단말(300)로 최종 보안토폴로지를 전송하는 수단으로, 예컨대, 유선 또는 무선의 통신모듈일 수 있다.Finally, the output unit 180 is a means for transmitting the final security topology to the user terminal 300, and may be, for example, a wired or wireless communication module.

이하에서는 도 6 내지 도 8을 참조로 하여 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성 방법을 설명한다. 도 6은 본 발명의 실시 예에 따른 클라우드 보안토폴로지 생성 방법을 보인 순서도이다.Hereinafter, a cloud security topology generation method according to an embodiment of the present invention will be described with reference to FIGS. 6 to 8. 6 is a flow chart showing a method of generating a cloud security topology according to an embodiment of the present invention.

보안토폴로지 생성시스템(100)은 클라우드 사업자 시스템(200)에 접속하고(S601), A 사업자의 계정정보를 제공하여(S602), A 사업자의 계정정보에 대응하는 API를 수신한다(S603).The security topology generation system 100 accesses the cloud operator system 200 (S601), provides account information of the A operator (S602), and receives an API corresponding to the account information of the A operator (S603).

보안토폴로지 생성시스템(100)은 API에 포함된 제1 사업자의 VPC에 대한 정보를 VPC 구성정보와 보안정책정보로 분류하고(S604), VPC 구성정보를 이용하여 해당 VPC를 이루는 객체들 및 각 객체들간의 관계를 파악한다(S605).The security topology creation system 100 classifies the information on the VPC of the first provider included in the API into VPC configuration information and security policy information (S604), and uses the VPC configuration information to form objects and each object. The relationship between them is determined (S605).

그리고 보안토폴로지 생성시스템(100)은 VPC를 이루는 객체들 및 각 객체들간의 관계를 이용하여 기본 보안토폴로지를 생성한다(S606).In addition, the security topology creation system 100 generates a basic security topology by using the objects constituting the VPC and the relationship between the objects (S606).

보안토폴로지 생성시스템(100)은 네트워크 ACL의 보안정책을 분석하여 서브넷의 네트워크 연결정보를 파악하고, 보안그룹의 보안정책를 분석하여 보안그룹별 각 가상서버의 네트워크 연결정보를 파악한다(S607).The security topology generation system 100 analyzes the security policy of the network ACL to determine the network connection information of the subnet, and analyzes the security policy of the security group to determine the network connection information of each virtual server for each security group (S607).

그리고 보안토폴로지 생성시스템(100)은 ACL의 보안정책과 보안그룹의 보안그룹의 네트워크 연결정보를 비교하고 분석하여 트래픽의 충돌이나 중복을 파악한다(S608).In addition, the security topology generation system 100 compares and analyzes the security policy of the ACL and the network connection information of the security group of the security group to identify traffic collisions or overlaps (S608).

보안토폴로지 생성시스템(100)은 S607 과정 및 S608 과정을 통해 파악한 정보를 이용하여 하나의 가상서버를 기준으로 다른 모든 가상서버와의 트래픽 허용 또는 차단 여부를 검증하여 하나의 가상서버에 대한 개별 네트워크 연결정보를 파악한다(S609).The security topology generation system 100 verifies whether to allow or block traffic with all other virtual servers based on one virtual server by using the information identified through the S607 process and S608 process to connect an individual network to one virtual server. The information is grasped (S609).

그런 다음, 보안토폴로지 생성시스템(100)은 개별 네트워크 연결정보를 기본 보안토폴로지에 반영하여 최종 보안토폴로지를 생성한다(S610).Then, the security topology generation system 100 generates a final security topology by reflecting the individual network connection information to the basic security topology (S610).

이하에서는 연결토폴로지 구성부(160)에서 수행하는 개별 네트워크 연결 정보를 생성하기 위한 검증 동작을 도 7 및 도 8을 참조로 하여 설명한다. Hereinafter, a verification operation for generating individual network connection information performed by the connection topology configuration unit 160 will be described with reference to FIGS. 7 and 8.

도 7은 본 발명의 실시 예에 따른 개별 네트워크 연결정보를 파악을 위한 검증 동작 설명을 위한 도면으로, 제1 가상서버의 개별 네트워크 연결정보를 파악하는 일 예를 보인 도면이다.7 is a diagram for explaining a verification operation for identifying individual network connection information according to an embodiment of the present invention, and is a diagram illustrating an example of identifying individual network connection information of a first virtual server.

연결토폴로지 구성부(160)는 하나의 VPC 내의 모든 가상서버에 대하여 개별 네트워크 연결정보를 파악하고, 파악한 개별 네트워크 연결정보를 기본 보안토폴로지에 반영한다.The connection topology configuration unit 160 identifies individual network connection information for all virtual servers in one VPC, and reflects the identified individual network connection information to the basic security topology.

개별 네트워크 연결정보를 파악(검증)하는 방법은 대상이 되는 하나의 가상서버(대상 가상서버라고 칭한다)와 다른 하나의 가상서버 간의 트래픽 허용 또는 차단 여부를 파악하고, 다시 대상 가상서버와 또 다른 하나의 가상서버 간의 트래픽 허용 차단 여부를 파악하며, 이러한 과정을 대상 가상서버와 다른 모든 가상서버 간의 트래픽 허용 차단 여부가 파악될 때까지 반복한다.The method of identifying (verifying) individual network connection information is to determine whether traffic between the target virtual server (referred to as the target virtual server) and the other virtual server is allowed or blocked, and then the target virtual server and the other Whether or not traffic is allowed or blocked between virtual servers of is determined, and this process is repeated until it is determined whether or not traffic is allowed to be blocked between the target virtual server and all other virtual servers.

그리고 하나의 대상 가상서버에 대한 개별 네트워크 연결정보의 파악이 완료되면, 다른 하나의 가상서버를 대상 가상서버로 설정하고 검증과정을 반복한다. 이러한 검증 과정은 모든 가상서버를 대상서버로 설정될때까지 반복한다.And when the identification of individual network connection information for one target virtual server is completed, another virtual server is set as the target virtual server and the verification process is repeated. This verification process is repeated until all virtual servers are configured as target servers.

이러한 검증과정의 일 예를 도 7 및 도 8을 참고로 설명한다.An example of such a verification process will be described with reference to FIGS. 7 and 8.

도 7을 참고하면, 제1 가상서버에서 제2 가상서버로 트래픽 차단 또는 허용 여부를 과정으로, 제1 가상서버가 대상 가상서버가 된다. 이때 제1 가상서버에서 제2 가상서버로의 트래픽은 제1 가상서버에 대한 아웃바운드 입장과 제2 가상서버에 대한 인바운드 입장이 동시에 반영된다.Referring to FIG. 7, in the process of whether to block or allow traffic from the first virtual server to the second virtual server, the first virtual server becomes the target virtual server. At this time, the traffic from the first virtual server to the second virtual server reflects the outbound entry to the first virtual server and the inbound entry to the second virtual server at the same time.

도 8을 참고하면, 연결토폴로지 구성부(160)는 제1 가상서버를 대상 가상서버로 설정하고 제1 가상서버에 대한 개별 네트워크 연결정보의 검증을 시작한다(S801).Referring to FIG. 8, the connection topology configuration unit 160 sets a first virtual server as a target virtual server and starts verifying individual network connection information for the first virtual server (S801).

우선 연결토폴로지 구성부(160)는 제1 가상서버가 속한 제1 보안그룹의 보안정책을 파악하고(S802), 제2 가상서버로의 아웃바운드 트래픽이 허용인지를 판단한다(S803). 연결토폴로지 구성부(160)는 트래픽이 차단이면 제1 가상서버에서 제2 가상서버로의 트래픽이 차단인 것으로 파악하고 제2 가상서버에 대한 검증을 종료한다.First, the connection topology configuration unit 160 determines the security policy of the first security group to which the first virtual server belongs (S802), and determines whether outbound traffic to the second virtual server is allowed (S803). If the traffic is blocked, the connection topology configuration unit 160 determines that the traffic from the first virtual server to the second virtual server is blocked, and ends verification of the second virtual server.

반면에, 연결토폴로지 구성부(160)는 트래픽 허용이면 제1 가상서버가 속한 제1 서브넷의 보안정책을 가지고 있는 제1 NACL(네트워크 ACL)의 보안정책을 파악하고(S804), 제2 가상서버가 속한 제2 서브넷으로의 아웃바운드 트래픽이 허용인지를 판단한다(S805). On the other hand, if traffic is allowed, the connection topology configuration unit 160 determines the security policy of the first NACL (network ACL) having the security policy of the first subnet to which the first virtual server belongs (S804), and the second virtual server It is determined whether outbound traffic to the second subnet belongs to is allowed (S805).

연결토폴로지 구성부(160)는 제2 서브넷으로의 트래픽이 차단이면 검증을 종료하고, 제2 서브넷으로의 트래픽이 허용이면 제2 서브넷의 보안정책을 가지고 있는 제2 NACL의 보안정책을 파악한다(S806). 그리고 연결토폴로지 구성부(160)는 제1 서브넷으로부터 제2 서브넷으로 전송되는 인바운드 트래픽에 대하여 허용인지 또는 차단인지를 판단한다(S807).If the traffic to the second subnet is blocked, the connection topology configuration unit 160 terminates the verification, and if the traffic to the second subnet is allowed, it determines the security policy of the second NACL having the security policy of the second subnet ( S806). In addition, the connection topology configuration unit 160 determines whether inbound traffic transmitted from the first subnet to the second subnet is allowed or blocked (S807).

연결토폴로지 구성부(160)는 제1 서브넷에 대한 인바운드 트래픽이 차단이면 검증을 종료하고, 허용이면 제2 가상서버가 속한 제2 보안그룹의 보안정책을 파악하고(S808), 제1 가상서버로부터 전송되는 인바운드 트래픽에 대하여 허용인지 또는 차단인지를 판단한다(S809).If the inbound traffic to the first subnet is blocked, the connection topology configuration unit 160 ends the verification, and if allowed, determines the security policy of the second security group to which the second virtual server belongs (S808), and from the first virtual server. It is determined whether the transmitted inbound traffic is allowed or blocked (S809).

연결토폴로지 구성부(160)는 S809 과정의 판단에서 차단이면 검증을 종료하고, 연결이면 제1 가상서버와 제2 가상서버간의 네트워크 연결이 성공이라고 판단한다(S810).In the determination of step S809, the connection topology configuration unit 160 terminates the verification if it is blocked, and if it is connected, determines that the network connection between the first virtual server and the second virtual server is successful (S810).

상기 설명들은 본 발명을 구현하기 위한 예시적인 구성들 및 동작들을 제공하도록 의도된다. 본 발명의 기술 사상은 위에서 설명된 실시 예들뿐만 아니라, 위 실시 예들을 단순하게 변경하거나 수정하여 얻어질 수 있는 구현들도 포함할 것이다. 또한, 본 발명의 기술 사상은 위에서 설명된 실시 예들을 앞으로 용이하게 변경하거나 수정하여 달성될 수 있는 구현들도 포함할 것이다.The above description is intended to provide exemplary configurations and operations for implementing the present invention. The technical idea of the present invention will include not only the embodiments described above, but also implementations that can be obtained by simply changing or modifying the above embodiments. In addition, the technical idea of the present invention will also include implementations that can be achieved by easily changing or modifying the embodiments described above.

100: 보안토폴로지 생성시스템 200: 클라우드 사업자 시스템
300: 사용자 단말 110: API 통신부
120: 정보 분류부 130: VPC구성 분석부
140: 보안정책 분석부 150: 기본토폴로지 구성부
160: 연결토폴로지 구성부 170: 출력부
141: NACL 분석부 142: SG 분석부
143: HFW 분석부 144: 오류 분석부
10: 지역(region) 20: 가용영역(AZ)
30: VPC 31: 게이트웨이
32: 네트워크 ACL 33: 서브넷
34: 보안그룹 331: 가상서버
100: security topology generation system 200: cloud operator system
300: user terminal 110: API communication unit
120: information classification unit 130: VPC configuration analysis unit
140: security policy analysis unit 150: basic topology configuration unit
160: connection topology configuration unit 170: output unit
141: NACL analysis unit 142: SG analysis unit
143: HFW analysis unit 144: Error analysis unit
10: region 20: available area (AZ)
30: VPC 31: gateway
32: network ACL 33: subnet
34: security group 331: virtual server

Claims (5)

클라우드사업자 시스템과 API(Application Programming Interface) 통신을 수집하여 제1 사용자 계정에 대응하는 하나의 VPC(Virtual Private Cloud)에 대한 API를 수집하는 API 통신부,
상기 API 통신부를 통해 수집된 하나의 VPC에 대한 API를 분석하여 API에 포함된 정보를 VPC 구성정보와 보안정책정보로 분류하는 정보 분류부,
상기 VPC 구성정보를 분석하여 해당 VPC를 구성하는 객체들을 식별하고, 객체간의 관계를 파악하는 VPC구성 분석부,
상기 VPC구성 분석부에서 분석한 객체간의 관계에 대한 정보를 이용하여 VPC를 구성하는 객체 및 객체간의 관계를 표현한 기본 보안토폴로지를 생성하는 기본토폴로지 구성부,
상기 VPC구성 분석부와 연동하여 해당 VPC를 구성하는 객체들을 파악하고, 해당 VPC에 적용된 보안정책정보를 분석하여 객체간의 네트워크 연결 상태와 가상서버별 보안정책의 충돌 및 정책 중복여부를 파악하는 보안정책 분석부,
상기 보안정책 분석부에서 분석한 분석결과와 가상서버별 보안정책의 충돌 및 정책 중복여부에 대한 정보를 수신하고 이를 이용하여 각 가상서버 각각에 대하여 하나의 가상서버를 기준으로 다른 모든 가상서버와의 인바운드 및 아웃바운드 트래픽 허용/거부 여부를 검증하여 각 가상서버의 개별 네트워크 연결 정보를 파악하고, 가상서버별 개별 네트워크 연결 정보를 기본 보안토폴로지 상에 표시한 최종 보안토폴로지를 생성하는 연결토폴로지 구성부, 그리고
상기 최종 보안토폴로지를 외부로 전송하는 출력부를 포함하는 클라우드 보안토폴로지 생성 시스템.
An API communication unit that collects API (Application Programming Interface) communication with the cloud service provider system and collects API for one VPC (Virtual Private Cloud) corresponding to the first user account,
An information classification unit that analyzes the API for one VPC collected through the API communication unit and classifies the information included in the API into VPC configuration information and security policy information,
A VPC configuration analysis unit that analyzes the VPC configuration information to identify objects constituting the corresponding VPC, and identifies the relationship between the objects,
A basic topology configuration unit that creates a basic security topology expressing the relationship between objects and objects constituting a VPC using information on the relationship between objects analyzed by the VPC configuration analysis unit,
A security policy that identifies the objects constituting the VPC by interworking with the VPC configuration analysis unit, and analyzes the security policy information applied to the VPC to determine whether the network connection status between objects and the security policy for each virtual server conflict and whether or not there is a policy overlap Analysis Department,
Receives the analysis result analyzed by the security policy analysis unit and information on the collision of security policies for each virtual server and whether or not the policy is duplicated, and uses this to interact with all other virtual servers based on one virtual server for each virtual server. A connection topology configuration unit that verifies whether inbound and outbound traffic is allowed/denied, identifies individual network connection information of each virtual server, and creates a final security topology that displays individual network connection information for each virtual server on the basic security topology, And
Cloud security topology generation system comprising an output unit for transmitting the final security topology to the outside.
제1항에서,
상기 보안정책 분석부는,
VPC에 포함된 각 네트워크 ACL을 분석하여 해당 네트워크 ACL과 연결된 서브넷 각각에 대한 네트워크 연결 정보를 파악하는 NACL 분석부,
각 보안그룹의 보안정책을 분석하여 각 보안그룹의 회원으로 참가된 모든 가상서버 각각에 대한 네트워크 연결 정보를 파악하는 SG 분석부, 그리고
상기 NACL 분석부의 분석한 결과와 상기 SG 분석부의 분석 결과를 비교하여 가상서버별 보안정책의 충돌 및 정책 중복여부를 파악하는 오류 분석부를 포함하는 클라우드 보안토폴로지 생성 시스템.
In claim 1,
The security policy analysis unit,
NACL analysis unit that analyzes each network ACL included in the VPC to determine network connection information for each subnet connected to the corresponding network ACL,
An SG analysis unit that analyzes the security policy of each security group and identifies the network connection information for each of the virtual servers participating as members of each security group
Cloud security topology generation system comprising an error analysis unit for comparing the analysis result of the NACL analysis unit and the analysis result of the SG analysis unit to determine whether the security policy conflict and policy overlap for each virtual server.
제2항에서,
상기 보안정책 분석부는,
각 가상서버의 자체에 설정된 보안정책을 분석하여 해당 가상서버에 대한 네트워크 연결 정보를 파악하는 HFW(Host FireWall) 분석부를 더 포함하고,
이 경우에 상기 오류 분석부는 상기 NACL 분석부, 상기 SG 분석부 및 상기 HFW 분석부의 분석 결과를 비교하여 가상서버별 보안정책의 충돌 및 정책 중복여부를 파악하는 클라우드 보안토폴로지 생성 시스템.
In paragraph 2,
The security policy analysis unit,
Further comprising an HFW (Host FireWall) analysis unit that analyzes the security policy set in each virtual server itself and identifies network connection information for the corresponding virtual server,
In this case, the error analysis unit compares the analysis results of the NACL analysis unit, the SG analysis unit, and the HFW analysis unit to determine whether a security policy conflict or overlapping policy for each virtual server is identified.
제2항에서,
상기 연결토폴로지 구성부는 가상서버별 보안정책의 충돌 및 정책 중복여부에 대한 정보를 수신하는 경우에 네트워크 ACL의 보안정책을 가장 높은 우선순위로 하여 보안정책의 충돌 및 보안정책의 중복을 해결하는 클라우드 보안토폴로지 생성 시스템.
In paragraph 2,
The connection topology configuration unit sets the security policy of the network ACL as the highest priority when receiving information on the conflict of security policies for each virtual server and whether or not the policies are duplicated, and a cloud security that resolves the conflict of security policies and the overlap of security policies. Topology generation system.
제3항에서,
상기 연결토폴로지 구성부는 가상서버별 보안정책의 충돌 및 정책 중복여부에 대한 정보를 수신하는 경우에 네트워크 ACL의 보안정책을 가장 높은 우선순위로 하고 가상서버의 자체에 설정된 보안정책을 가장 낮은 우선순위로 하여 상기 보안정책의 충돌 및 보안정책의 중복을 해결하는 클라우드 보안토폴로지 생성 시스템.
In paragraph 3,
The connection topology configuration unit sets the security policy of the network ACL with the highest priority and the security policy set in the virtual server with the lowest priority when receiving information on the collision of the security policy for each virtual server and whether the policy is duplicated. A cloud security topology creation system that solves the conflict of the security policy and the overlapping of the security policy.
KR1020200070623A 2020-06-11 2020-06-11 System for generating security topology of cloud computing KR102164915B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200070623A KR102164915B1 (en) 2020-06-11 2020-06-11 System for generating security topology of cloud computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200070623A KR102164915B1 (en) 2020-06-11 2020-06-11 System for generating security topology of cloud computing

Publications (1)

Publication Number Publication Date
KR102164915B1 true KR102164915B1 (en) 2020-10-13

Family

ID=72885070

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200070623A KR102164915B1 (en) 2020-06-11 2020-06-11 System for generating security topology of cloud computing

Country Status (1)

Country Link
KR (1) KR102164915B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220078313A (en) 2020-12-03 2022-06-10 에스케이텔레콤 주식회사 Method and apparatus for analyzing weak point of cloud resource
KR102579705B1 (en) 2022-04-30 2023-09-15 (주)아스트론시큐리티 Apparatus for Visualizing Security Topology of Cloud and Integrated System for Managing Operation and Security of Cloud Workload Using the Same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110025728A (en) * 2009-06-04 2011-03-11 유니시스 코포레이션 Secure custom application cloud computing architecture
KR20140056005A (en) * 2012-10-30 2014-05-09 삼성에스디에스 주식회사 Data transit control between distributed systems in terms of security
KR101987664B1 (en) * 2018-07-19 2019-06-11 나무기술 주식회사 Monitoring method for multi-cluster and application on cloud platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110025728A (en) * 2009-06-04 2011-03-11 유니시스 코포레이션 Secure custom application cloud computing architecture
KR20140056005A (en) * 2012-10-30 2014-05-09 삼성에스디에스 주식회사 Data transit control between distributed systems in terms of security
KR101987664B1 (en) * 2018-07-19 2019-06-11 나무기술 주식회사 Monitoring method for multi-cluster and application on cloud platform

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220078313A (en) 2020-12-03 2022-06-10 에스케이텔레콤 주식회사 Method and apparatus for analyzing weak point of cloud resource
KR102579705B1 (en) 2022-04-30 2023-09-15 (주)아스트론시큐리티 Apparatus for Visualizing Security Topology of Cloud and Integrated System for Managing Operation and Security of Cloud Workload Using the Same

Similar Documents

Publication Publication Date Title
US11831491B2 (en) System and methods to validate issue detection and classification in a network assurance system
CN105684391B (en) Access control rule based on label automatically generates
US11509532B2 (en) Switch triggered traffic tracking
US20090198707A1 (en) System and method for managing firewall log records
US20060101518A1 (en) Method to generate a quantitative measurement of computer security vulnerabilities
CN113014427B (en) Network management method and device and storage medium
US10778465B1 (en) Scalable cloud switch for integration of on premises networking infrastructure with networking services in the cloud
US11489745B2 (en) Methods, systems and computer readable media for providing a declarative network monitoring environment
US10652280B2 (en) User interface features for enterprise security management
KR20230091203A (en) Automated packetless network reachability analysis
KR102164915B1 (en) System for generating security topology of cloud computing
KR100904557B1 (en) Unification management system for different types of firewalls and method therof
US20210176125A1 (en) Programmable switching device for network infrastructures
WO2004047402A1 (en) Management of network security domains
US11848796B2 (en) Aggregator apparatus for standardized access to a plurality of network segments of a field bus system
CN102694667A (en) Method supporting user autonomous deployment of network and system thereof
Datta et al. Network automation: Enhancing operational efficiency across the network environment
US20230353462A1 (en) Apparatus for visualizing security topology of cloud and integrated system for managing operation and security of cloud workload using the same
US20090158386A1 (en) Method and apparatus for checking firewall policy
KR102649648B1 (en) Firewall policy application automation server, system having the same, and method using the same
Das et al. Alarm Coloring and Grouping algorithm for root cause analysis
US12010099B1 (en) Identity-based distributed cloud firewall for access and network segmentation
Wiberg Identifying supervisory control and data acquisition (SCADA) systems on a network via remote reconnaissance
Rawal et al. Networking All-In-One for Dummies
Zheng An OpenFlow-Based Approach to Cloud Architecture for Detecting Network Security Events

Legal Events

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