KR20130085457A - 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법 - Google Patents
멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법 Download PDFInfo
- Publication number
- KR20130085457A KR20130085457A KR1020110126963A KR20110126963A KR20130085457A KR 20130085457 A KR20130085457 A KR 20130085457A KR 1020110126963 A KR1020110126963 A KR 1020110126963A KR 20110126963 A KR20110126963 A KR 20110126963A KR 20130085457 A KR20130085457 A KR 20130085457A
- Authority
- KR
- South Korea
- Prior art keywords
- security data
- tenant
- security
- data
- storage unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법이 제공된다. 보안데이터 저장부는 멀티 테넌시 환경에서 테넌트들이 서비스들을 사용하면서 발생한 보안과 관련된 데이터(이하, ‘보안데이터’라 함)를 저장하고, 보안데이터 분석부는 보안데이터 저장부에 저장된 보안데이터와 보안데이터가 발생된 서비스의 ID를 보안데이터를 발생한 테넌트의 ID에 매핑하여 테넌트 별 보안데이터 저장부에 저장할 수 있다.
Description
본 발명은 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법에 관한 것으로, 보다 상세하게는 테넌트 별로 보안데이터를 관리 및 제공할 수 있는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법에 관한 것이다.
하드웨어, 운영체제, 미들웨어, 어플리케이션 등과 같은 소프트웨어를 서비스 제공자의 데이터센터에 설치하고, 인터넷을 통해 데이터센터에 서비스의 형태(As a Service)로 접속하여 각종 소프트웨어를 임대 형태로 사용하는 Cloud Computing이 각광받고 있다. Cloud Computing의 가장 큰 장점은 IT 자원관리 및 사용 비용의 절감이며, 이러한 비용 절감을 위하여 여러 테넌트들은 하나의 통합된 IT 자원을 공유하는 Multi-tenancy 환경을 배경으로 작동한다. 이로써, 개별 테넌트가 부담하는 IT 자원 사용 비용이 줄어들게 된다.
그러나, 여러 테넌트들이 IT 자원을 공유하게 되면서, 다른 테넌트 사용자의 데이터 접근 또는 테넌트 사용자들 중 허락되지 않은 사용자의 접근 및 테넌트 별 특화된 보안관제의 부재 등 다양한 보안과 관련된 문제가 부각되고 있다.
본 발명적 개념의 예시적 실시예에 따르면, 다수의 테넌트가 각종 IT 자원을 공유하는 멀티 테넌시 환경에서 수집되는 보안 정보를 테넌트 별로 분류하여 저장하고 분석할 수 있는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법을 제공하는 것이다.
본 발명적 개념의 다른 예시적 실시 예에 따르면, 멀티 테넌시 환경에서 테넌트들이 서비스들을 사용하면서 발생한 보안과 관련된 데이터(이하, ‘보안데이터’라 함)를 저장하는 보안데이터 저장부; 및 상기 보안데이터 저장부에 저장된 보안데이터와 상기 보안데이터가 발생된 서비스의 ID를 상기 보안데이터를 발생한 테넌트의 ID에 매핑하여 테넌트 별 보안데이터 저장부에 저장하는 보안데이터 분석부;를 포함하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치가 제공될 수 있다.
상기 보안데이터 분석부는, 상기 보안데이터 저장부에 저장된 보안데이터로부터 상기 보안데이터를 발생시킨 사용자의 ID 및 상기 사용자가 소속된 테넌트의 ID 중 적어도 하나를 추출하고, 상기 테넌트 별 보안데이터 저장부는, 상기 보안데이터를 상기 추출된 사용자의 ID 및 상기 테넌트의 ID 중 적어도 하나에 매핑하여 저장할 수 있다.
상기 테넌트들의 ID와 상기 테넌트들에 속한 사용자들의 ID를 매핑하여 저장하는 사용자 ID 저장부;를 더 포함하며, 상기 보안데이터 분석부는, 상기 보안데이터로부터 상기 사용자의 ID만 추출된 경우, 상기 사용자 ID 저장부로부터 상기 추출된 사용자의 ID에 매핑된 테넌트의 ID를 확인하고, 상기 테넌트 별 보안데이터 저장부는, 상기 보안데이터를 상기 추출된 사용자의 ID 및 상기 확인된 테넌트의 ID에 매핑하여 저장할 수 있다.
상기 테넌트들의 ID와, 상기 테넌트들이 사용가능한 서비스들의 ID를 매핑하여 저장하는 서비스 ID 저장부;를 더 포함하며, 상기 보안데이터 분석부는, 상기 서비스 ID 저장부로부터 상기 추출된 테넌트의 ID에 매핑된 서비스의 ID를 추출하고, 상기 테넌트 별 보안데이터 저장부는, 상기 보안데이터와, 상기 추출된 사용자의 ID 및 상기 테넌트의 ID 중 적어도 하나와, 상기 추출된 서비스의 ID를 상기 추출된 테넌트의 ID를 기준으로 서로 매핑하여 저장할 수 있다.
상기 보안데이터 분석부는, 상기 보안데이터가 로그인과 관련된 데이터인 경우, 세션 내 속성값, 브라우저의 쿠키값 및 요청 파라미터의 값 중 적어도 하나를 이용하여 상기 보안데이터 저장부에 저장된 보안데이터로부터 상기 사용자의 ID를 추출할 수 있다.
상기 보안데이터가 로그인과 관련된 데이터가 아닌 경우, 상기 보안데이터에는 상기 사용자의 ID 및 상기 테넌트의 ID 중 적어도 하나가 사전에 지정된 방식에 의해 추가되어 수집되며, 상기 보안데이터 분석부는, 상기 보안데이터 저장부에 저장된 보안데이터로부터 상기 사용자의 ID 및 상기 테넌트의 ID 중 적어도 하나를 추출할 수 있다.
상기 보안데이터 저장부에 저장된 보안데이터 중 오류데이터를 제거하고, 상기 오류데이터가 제거된 보안데이터를 제2보안데이터 저장부에 저장하는 오류데이터 제거부;를 더 포함할 수 있다.
상기 테넌트들마다 공통으로 발생하는 공통 보안데이터를 수집하는 제1수집부; 및 상기 테넌트들마다 상이하게 발생하는 개별 보안데이터를 수집하는 제2수집부;를 더 포함하며, 상기 개별 보안데이터는 상기 테넌트들의 ID 및 상기 개별 보안데이터를 발생시킨 사용자의 ID 중 적어도 하나를 포함할 수 있다.
상기 보안데이터를 수집하는데 필요한 수집항목들로 이루어진 복수 개의 설명정보들을 저장하는 수집항목 저장부; 및 상기 수집항목 저장부에 저장된 복수 개의 설명정보들 중 적어도 하나를 상기 제1수집부 및 상기 제2수집부로 제공하여 상기 보안데이터의 수집을 요청하고, 상기 보안데이터를 수신하여 상기 보안데이터 저장부에 저장하는 데이터 통합부;를 더 포함할 수 있다.
상기 수집항목들은 상기 테넌트가 사용하는 상기 서비스의 ID, 상기 서비스를 사용하는 테넌트의 ID, 상기 수집된 보안데이터의 종류를 나타내는 데이터 타입, 상기 수집된 보안데이터가 수행되고 있는 가상 머신의 ID 및 상기 수집된 보안데이터를 생성한 소프트웨어 서버의 ID 중 적어도 하나를 포함할 수 있다.
외부로부터 상기 복수 개의 설명정보들 중 조회를 원하는 타겟 설명정보와, 상기 보안데이터의 조회를 요청하는 신호가 수신되면, 상기 수신된 타겟 설명정보에 매핑되어 저장된 보안데이터를 상기 테넌트 별 보안데이터 저장부로부터 조회하고, 조회 결과를 상기 외부에게 보고하는 조회부;를 더 포함할 수 있다.
한편, 본 발명적 개념의 다른 예시적 실시 예에 따르면, 멀티 테넌시 환경에서 테넌트들이 서비스들을 사용하면서 발생한 보안과 관련된 데이터(이하, ‘보안데이터’라 함)를 보안데이터 저장부에 저장하는 단계; 및 상기 저장된 보안데이터와 상기 보안데이터가 발생된 서비스의 ID를 상기 보안데이터를 발생한 테넌트의 ID에 매핑하여 보안관제 정보로서 테넌트 별 보안데이터 저장부에 저장하는 단계;를 포함하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법이 제공될 수 있다.
본 발명적 개념의 하나 이상의 예시적 실시 예에 따르면, 멀티 테넌시 환경에서 수집되는 보안데이터를 테넌트 별로 분류, 저장 및 리포팅함으로써 테넌트 별로 각 테넌트가 사용하는 서비스에 대한 보안관제 서비스를 제공할 수 있다.
또한, 본 발명적 개념의 하나 이상의 예시적 실시 예에 따르면, 멀티 테넌시 환경에서 각 테넌트 별로 보안데이터를 수집 및 분석함으로써 클라우드 서비스의 보안에 대한 불안 요소를 해결할 수 있다.
또한, 본 발명적 개념의 하나 이상의 예시적 실시 예에 따르면, 일정 주기로 각 테넌트 별로 각기 다른 특화된 보안 리포팅 서비스를 제공함으로써 서비스의 보안 현황에 대해 보다 정확하고 신속히 파악할 수 있으며, 보안 정책에 위반되는 문제가 발생할 경우 알림을 통해 각 테넌트와 멀티 테넌시 기반의 플랫폼 관리자에게 알려주어 신속히 해결 할 수 있도록 도와줄 수 있다.
도 1은 본 발명적 개념의 예시적 제1실시예에 따른 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치를 포함하는 시스템을 도시한 도면,
도 2는 본 발명적 개념의 예시적 제2실시예에 따른 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치를 포함하는 멀티 테넌트 SaaS 운영 플랫폼을 도시한 도면,
도 3은 본 발명적 개념의 예시적 제1실시예에 따른 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법을 설명하기 위한 흐름도, 그리고,
도 4는 도 3의 S345단계에서 보안관제 정보를 생성하는 방법을 구체적으로 설명하기 위한 흐름도이다.
도 2는 본 발명적 개념의 예시적 제2실시예에 따른 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치를 포함하는 멀티 테넌트 SaaS 운영 플랫폼을 도시한 도면,
도 3은 본 발명적 개념의 예시적 제1실시예에 따른 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법을 설명하기 위한 흐름도, 그리고,
도 4는 도 3의 S345단계에서 보안관제 정보를 생성하는 방법을 구체적으로 설명하기 위한 흐름도이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다.
본 명세서에서 제1, 제2 등의 용어가 구성요소들을 기술하기 위해서 사용된 경우, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시예들은 그것의 상보적인 실시예들도 포함한다.
또한, 제1 엘리먼트 (또는 구성요소)가 제2 엘리먼트(또는 구성요소) 상(ON)에서 동작 또는 실행된다고 언급될 때, 제1 엘리먼트(또는 구성요소)는 제2 엘리먼트(또는 구성요소)가 동작 또는 실행되는 환경에서 동작 또는 실행되거나 또는 제2 엘리먼트(또는 구성요소)와 직접 또는 간접적으로 상호 작용을 통해서 동작 또는 실행되는 것으로 이해되어야 할 것이다.
어떤 엘리먼트, 구성요소, 장치, 또는 시스템이 프로그램 또는 소프트웨어로 이루어진 구성요소를 포함한다고 언급되는 경우, 명시적인 언급이 없더라도, 그 엘리먼트, 구성요소, 장치, 또는 시스템은 그 프로그램 또는 소프트웨어가 실행 또는 동작하는데 필요한 하드웨어(예를 들면, 메모리, CPU 등)나 다른 프로그램 또는 소프트웨어(예를 들면 운영체제나 하드웨어를 구동하는데 필요한 드라이버 등)를 포함하는 것으로 이해되어야 할 것이다.
또한 어떤 엘리먼트(또는 구성요소)가 구현됨에 있어서 특별한 언급이 없다면, 그 엘리먼트(또는 구성요소)는 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어 어떤 형태로도 구현될 수 있는 것으로 이해되어야 할 것이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명적 개념을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명적 개념을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명적 개념을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명적 개념을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명적 개념을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
먼저, 용어 “멀티 테넌시(Multi-Tenancy)”는 컴퓨팅 환경에서 가상화 기술 및 동일한 인프라 스트럭쳐를 기반으로 멀티 테넌트가 서비스를 공유하는 것으로서, 소프트웨어의 단일 인스턴스를 실행해서 복수 개의 클라이언트 또는 기업과 조직 등의 테넌트에게 서비스를 제공하는 것을 의미한다. 멀티 테넌시 환경의 예로는 SaaS Platform, 클라우드 서비스 시스템, 또는 클라우드 서비스 센터를 들 수 있다.
“멀티 테넌트(Multi-Tenant)”는 복수 개의 테넌트를 의미하며, 하나의 테넌트는 서비스를 사용하는 하나의 그룹으로서, 예를 들어, 하나의 기업일 수 있다. 따라서, 하나의 테넌트에는 다수의 사용자가 포함된다.
도 1은 본 발명적 개념의 예시적 제1실시예에 따른 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치(100)를 포함하는 시스템을 도시한 도면이다.
도 1에 예시적으로 도시된 시스템은 멀티 테넌트 SaaS 운영 플랫폼(10), 로그 저장부(20), 수집부(30), 조회 요청부(40) 및 테넌트의 보안관제를 위한 장치(100)를 포함할 수 있다.
멀티 테넌트 SaaS 운영 플랫폼(10)은 서비스를 제공하는 SaaS 프로바이더와 연결되어 SaaS 프로바이더로부터의 서비스를 멀티 테넌트에게 제공하는 플랫폼으로 동작할 수 있다. SaaS 프로바이더는 SaaS 방식을 이용하여 테넌트에게 제공할 클라우드 서비스를 멀티 테넌트 SaaS 운영 플랫폼(10)으로 제공하는 서비스 공급업체이다.
로그 저장부(20)와 수집부(30)는 클라우드 센터 내의 서버, 클라우드 센터 외의 시스템 DB, 테넌트의 서버, WEB(World Wide Web) 서버, WAS(Web Application Server) 또는 DB(Database) 서버 등 다양한 곳에 설치될 수 있다. 또는, 수집부(30)는 테넌트의 보안관제를 위한 장치(100) 내에 포함될 수도 있다.
로그 저장부(20)는 멀티 테넌시 환경에서 테넌트들이 멀티 테넌트 SaaS 운영 플랫폼(10)에 접속하여 서비스 또는 서비스의 어플리케이션을 사용하면서 남긴 보안데이터를 저장할 수 있다. 로그 저장부(20)에 저장된 보안데이터는 수집부(30)가 수집하기 위한 수집 대상으로 사용된다. 보안데이터의 예로는 사용자가 접속한 네트워크에서 발생한 네트워크 로그, 시스템 로그, OS(Operating System) 로그, 시스템 혹은 서버에 로그인을 하면서 발생한 접근정보, 어플리케이션 사용 중 발생한 로그 등 다양하며, 로그 DB(database) 형태로 저장되거나 로그 파일 형태로 저장될 수 있다.
로그 저장부(20)는 제1저장부(21) 및 제2저장부(22)를 포함할 수 있다.
제1저장부(21)에는 가상머신, 물리머신 및 하이퍼바이저(Hypervisor)에 대해 모든 테넌트들에게 공통으로 적용되는 또는 공통으로 발생되는 공통 보안데이터가 저장될 수 있다. 공통 보안데이터의 예로는, 시스템 로그(syslog), OS 로그, Network 로그, 센터내부 사용자 접근 정보, 방화벽 로그, Network Intrusion Prevention System의 로그, 각 가상머신 간의 비정상적인 Traffic 정보 로그, 이벤트와 같은 시스템 어플리케이션 로그, WEB/WAS 서버 접근정보 로그 등 다양하다. 예를 들어, 테넌트가 서비스와 관련된 웹 어플리케이션이 구동되는 WAS에 접속하면, WAS는 웹 어플리케이션 구동 시 요청 건수, 요청에 대한 응답 시간, 요청에 대한 수행 내용, 어플리케이션이 데이터베이스에 질의한 내용 및 질의에 수행된 시간 등을 보안데이터로서 제1저장부(21)에 저장할 수 있다. ‘요청 건수’는 WAS에서 제공하는 서비스의 실제 사용자(즉, 테넌트에 속하는 구성원)가 WAS에게 보낸 서비스의 사용 요청 회수이다. 상술한 공통 보안데이터의 예와 후술할 개별 보안데이터의 예는 설명정보에 포함된 수집항목들 중 데이터 타입에 해당할 수 있다.
제2저장부(22)에는 서비스를 사용하는 테넌트 별로 적용 또는 발생되는 개별 보안데이터가 저장될 수 있다. 개별 보안데이터의 예로는, I.A.M(Identity & Access Management)에서 넘겨 주는 SSO(Single Sign-On) 로그, 멀티 테넌시를 지원하는 DB 접근제어 관련 로그, 어플리케이션에 특화된 접근 정보(예: 세션 정보), DB 로그 등 다양하다.
수집부(30)는 멀티 테넌시 환경에서 발생되는 보안데이터를 로그 저장부(20)로부터 수집할 수 있다. 이를 위해, 수집부(30)는 제1수집부(31) 및 제2수집부(32)를 포함할 수 있다.
제1수집부(31)는 시스템 에이전트의 실행에 의해 동작하며, 테넌트들마다 공통으로 발생하는 공통 보안데이터를 제1저장부(21)에 접근하여 수집할 수 있다.
제2수집부(32)는 어플리케이션 에이전트의 실행에 의해 동작하며, 테넌트들마다 상이하게 발생하는 개별 보안데이터를 제2저장부(22)에 접근하여 수집할 수 있다.
제1수집부(31)와 제2수집부(32)는 후술할 데이터 통합부(130)의 지시에 기초하여 공통 보안데이터와 개별 보안데이터를 수집할 수 있다. 제2수집부(32)는 개별 보안데이터에 서비스를 사용하여 보안데이터를 발생시킨 사용자의 ID 또는 사용자가 소속된 테넌트의 ID를 태그 형태로 추가 기재할 수 있다. 따라서, 제2수집부(32)에서 수집하는 개별 보안데이터에는 로그를 발생시킨 사용자의 정보(사용자의 ID 및 테넌트의 ID 중 적어도 하나)가 포함되어 있을 수 있다.
조회 요청부(40)는 수집부(30)에 의해 수집된 보안데이터의 조회를 테넌트의 보안관제를 위한 장치(100)에게 요청하고, 요청에 대응하는 리포트를 제공받을 수 있다.
한편, 본 발명적 개념의 예시적 제1실시예에 따른 테넌트의 보안관제를 위한 장치(100)는, 사용자 ID(Identification) 제공부(105), 서비스 ID 제공부(110), 사용자 ID 저장부(115), 서비스 ID 저장부(120), 수집항목 저장부(125), 데이터 통합부(130), 제1보안데이터 저장부(135), 오류데이터 제거부(140), 제2보안데이터 저장부(145), 보안데이터 분석부(150), 테넌트 별 보안데이터 저장부(155) 및 조회부(160)를 포함할 수 있다.
먼저, 테넌트의 보안관제를 위한 장치(100)는 멀티 테넌시 환경에서 테넌트들이 서비스들을 사용하면서 발생한 보안과 관련된 데이터(이하, ‘보안데이터’라 함)를 저장하고, 저장된 보안데이터와 보안데이터가 발생된 서비스의 ID를 보안데이터를 발생한 테넌트의 ID에 매핑하여 보안관제 정보로서 저장할 수 있다. 또한, 테넌트의 보안관제를 위한 장치(100)는 외부의 요청에 의해, 저장된 보안관제 정보에 대한 보고서를 작성하여 외부에게 보고할 수 있다.
이러한, 테넌트의 보안관제를 위한 장치(100)는 보안데이터를 수집, 저장 및 조회하기 위해, 1. 초기 데이터 저장 동작, 2. 에이전트의 초기 구동 및 보안데이터 수집 동작, 3. 저장된 보안데이터의 정제 동작, 4. 정제된 보안데이터를 분석하여 테넌트 별로 보안관제 데이터를 준비하는 동작 및 5. 테넌트 별 보안관제 데이터를 조회하는 동작으로 크게 구분될 수 있다.
1. 초기 데이터 저장 동작
초기 데이터 저장 동작은 테넌트의 보안관제를 위한 장치(100)가 테넌트 별 보안관제 정보를 제공하는데 필요한 다양한 정보를 준비하거나 업데이트하는 동작일 수 있다.
사용자 ID 제공부(105)는 다양한 서비스들을 사용할 수 있는 사용자들이 소속된 테넌트들의 ID를 멀티 테넌트 SaaS 운영 플랫폼(10)으로부터 통신 프로토콜을 위해 가져오거나, 플랫폼(10)에서 제공하는 API를 사용하여 가져올 수 있다. 즉, 사용자 ID 제공부(105)는 사용자들 각각의 ID와 각 사용자가 소속된 테넌트 ID를 플랫폼(10)으로부터 가져올 수 있다. 그리고, 사용자 ID 제공부(105)는 가져온 사용자들 각각의 ID와 각 사용자가 소속된 테넌트 ID를 사용자 ID 저장부(115)에 매핑하여 저장할 수 있다.
서비스 ID 제공부(110)는 각 테넌트가 계약을 통해 사용하고 있는 서비스들의 ID를 플랫폼(10)으로부터 통신 프로토콜을 위해 가져오거나, 플랫폼(10)에서 제공하는 API를 사용하여 가져올 수 있다. 즉, 서비스 ID 제공부(110)는 테넌트 별 사용가능한 서비스의 ID와 테넌트에 소속된 사용자들의 ID를 플랫폼(10)으로부터 가져올 수 있다. 그리고, 서비스 ID 제공부(110)는 가져온 사용자들 각각의 ID와 각 테넌트에 소속딘 사용자들이 사용가능한 서비스들의 ID를 서비스 ID 저장부(120)에 매핑하여 저장할 수 있다.
사용자 ID 제공부(105)와 서비스 ID 제공부(110)는 주기적으로 플랫폼(10)으로부터 해당하는 정보를 가져와 각각 사용자 ID 저장부(115)와 서비스 ID 저장부(120)를 업데이트할 수 있다.
사용자 ID 저장부(115)에는 사용자 ID 제공부(105)가 플랫폼(10)으로부터 가져온 테넌트들의 ID와 테넌트들에 속한 사용자들의 ID가 매핑되어 저장될 수 있다. 즉, 사용자 ID 저장부(115)에는 어떤 사용자 ID가 어떤 테넌트에 속하는지에 대한 매핑 정보가 저장될 수 있다.
[표 1]은 사용자 ID 저장부(115)에 저장된 테이블의 일 예를 보여준다.
테넌트 ID(Tn) | 사용자 ID(Un) | |
1 | T1 | U11, U12, U13, U14 |
2 | T2 | U21, U22, U23, U24, U25 |
3 | T3 | U31, U32, U33 |
4 | T4 | U41, U42, U43, U44, U45, U46 |
… | … | … |
n | Tn | Un1, Un2, Un3 |
[표 1]을 참조하면, 제1테넌트(T1)에는 사용자 ID가 U11, U12, U13, U14인 사용자들이 소속되어 있음을 알 수 있다. 멀티 테넌시 환경에서 테넌트가 추가 또는 삭제되거나, 각 테넌트의 구성원들이 추가 또는 삭제되면, 사용자 ID 저장부(115)도 업데이트될 수 있다.
서비스 ID 저장부(120)에는 서비스 ID 제공부(110)가 플랫폼(10)으로부터 가져온 테넌트들에 소속된 사용자들의 ID와, 사용자들(즉, 사용자들이 소속된 테넌트들)이 사용가능한 서비스들의 ID가 매핑되어 저장될 수 있다. 즉, 서비스 ID 저장부(120)에는 각 테넌트가 계약을 통해 사용하고 있는 서비스들의 매핑 정보가 저장될 수 있다.
[표 2]는 서비스 ID 저장부(120)에 저장된 테이블의 일 예를 보여준다.
사용자 ID(Sn) | 서비스 ID(Sn) | |
1 | U11, U12, U13, U14 | S1,S2, S4 |
2 | U21, U22, U23, U24, U25 | S2, S3, S4 |
3 | U31, U32, U33 | S1, S2, S5 |
4 | U41, U42, U43, U44, U45, U46 | S1, S2, S3, S4, S5 |
… | … | … |
n | Un1, Un2, Un3 | S1, S3, S5, S7 |
[표 2]를 참조하면, 제1테넌트(T1)에 소속된 사용자들은 서비스 ID가 S1, S2, S4인 서비스들을 사용할 수 있다. 이는, 제1테넌트(T1)는 서비스 ID가 S1, S2, S4인 서비스들을 사용할 수 있도록 플랫폼(10)과 계약을 맺었음을 의미한다. 멀티 테넌시 환경에서 테넌트가 추가 또는 삭제되거나, SaaS 프로바이더와 플랫폼(10) 간의 계약이 체결 또는 종료되어 사용가능한 서비스가 변경되면, 서비스 ID 저장부(120)도 업데이트될 수 있다.
수집항목 저장부(125)에는 수집부(30)가 보안데이터를 수집하는데 필요한 수집항목들로 이루어진 복수 개의 설명정보들과, 복수 개의 설명정보들에 할당되는 메타정보 ID들이 서로 매핑되어 저장될 수 있다.
각 설명정보를 이루는 수집항목들은 테넌트가 어떠한 서비스를 사용하는지를 나타내는 서비스 ID, 각 서비스를 어떠한 테넌트가 사용하는지를 나타내는 테넌트 ID, 수집된 보안데이터의 종류를 나타내는 데이터 타입, 수집된 보안데이터와 관련된 서비스가 어떠한 가상머신에서 수행되었는지를 나타내는 가상 머신 ID 및 수집된 보안데이터가 어떠한 소프트웨어 인스턴스에서 발생하였는지를 나타내는 소프트웨어 서버 ID 중 적어도 하나와, 서비스 ID, 테넌트 ID, 데이터 타입, 가상머신 ID 및 소프트웨어 서버 ID 이외의 필요한 항목들을 더 포함할 수 있다.
[표 3]은 수집항목 저장부(125)에 저장된 메타정보 ID와 설명정보의 일 예를 보여준다.
메타정보 ID | 설명정보 | |
1 | M1 | 제1설명정보([S1, T1, DT1, VT1, SW1]) |
2 | M2 | 제2설명정보([S2, T1, DT1, VT2, SW2]) |
3 | M3 | 제3설명정보([S3, T3, DT3, VT3, SW3]) |
… | … | … |
n | Mn | 제n설명정보([Sn, Tn, DTn, VTn, SWn]) |
[표 3]에서, Sn은 제n서비스 ID, Tn은 제n테넌트 ID, DTn은 제n데이터 타입, VTn은 제n가상머신 ID, SWn은 제n소프트웨어 서버 ID, Mn은 제n메타정보 ID이다. 제1설명정보를 이루는 수집항목들은 제1서비스 ID(S1), 제1테넌트 ID(T1), 제1데이터 타입(DT1), 제1가상머신 ID(VT1) 및 제1SW 서버 ID(SW1)를 포함하며, n은 0, 1, 2, 3, …, k(k는 양수)이다. 제1설명정보는 제1메타정보 ID(M1)에 매핑되어 있다. 또한, 제1설명정보와 제2설명정보의 수집항목들 중 테넌트의 ID는 T1으로서 동일하며, 그 외의 수집항목들은 서로 다름을 알 수 있다. 이는, 복수 개의 설명정보들을 이루는 수집항목들은 일부는 동일할 수도 있음을 의미한다. 멀티 테넌시 환경에서 SaaS 프로바이더 또는 테넌트와 같은 구성요소들이 추가 또는 삭제되면, 수집항목 저장부(125)에 저장된 수집항목도 설명정보들 별로 업데이트될 수 있다.
2. 에이전트의 초기 구동 및 보안데이터 수집 동작
데이터 통합부(130)는 수집항목 저장부(125)에 저장된 복수 개의 설명정보들 중 적어도 하나를 수집부(30)로 제공하여 필요한 보안데이터의 수집을 요청하고, 수집부(30)에 의해 수집된 보안데이터를 수신하여 제1보안데이터 저장부(135)에 저장할 수 있다.
자세히 설명하면, 데이터 통합부(130)는 수집부(30)가 보안데이터를 수집하는데 필요한 수집항목에 대한 정보, 즉, 설명정보를 수집항목 저장부(125)에서 확인하여 수집부(30)에게 전송할 수 있다. 데이터 통합부(130)가 수집부(30)에게 전송하는 설명정보의 수집항목들은 [서비스 ID, 가상머신 ID, SW 서버 ID, 데이터 타입]을 포함할 수 있다. 또한, 데이터 통합부(130)는 수집부(30)로 전송한 설명정보의 메타정보 ID를 오류데이터 제거부(140)에게도 전달할 수 있다.
제1수집부(31)는 시스템 에이전트의 실행에 의해 동작하며, 설명정보 즉, 수집항목들이 수신되면, 보안데이터를 수집하기 이전에, 시스템 에이전트의 초기 실행 시 초기 로드 동작을 수행할 수 있다. 시스템 에이전트는 제1수집부(31)가 보안데이터를 수집하기 위해 가동되는 실행파일의 일종일 수 있다.
제1수집부(31)는 시스템 에이전트의 구동을 위해, 데이터 통합부(130)로부터 제공된 설명정보에 포함된 수집항목들을 제1수집부(31)의 내부 메모리(미도시)에 로드하여 저장할 수 있다. 로딩되는 하나의 설명정보는 보안데이터를 설명하는 수집항목들로 이루어지며, 수집항목들은 서비스 ID, 가상머신 ID, 데이터 타입 및 SW 서버 ID 중 적어도 하나를 포함할 수 있다. 즉, 하나의 설명정보는 ‘서비스 ID, 가상머신 ID, SW 서버 ID, 데이터 타입’ 중 적어도 하나로 이루어진 하나의 세트일 수 있으며, 복수 개의 설명정보들을 로딩할 수 있다. 예를 들어, 데이터 통합부(130)가 [표 3]중 제1설명정보에 해당하는 수집항목들을 수집부(30)에게 요청한 경우, 수집부(30)는 [S1, T1, DT1, VT1, SW1]을 수집부(30)의 내부 메모리(미도시)에 로드하여 저장할 수 있다.
그리고, 제1수집부(31)는 저장된 수집항목들을 참조하여 수집항목들에 해당하는 보안데이터를 로그 저장부(20)로부터 수집하고, 수집된 보안데이터를 데이터 통합부(130)에게 전달할 수 있다.
한편, 제2수집부(32)는 보안데이터를 수집하기 위한 어플리케이션 에이전트의 실행에 의해 동작하며, 보안데이터를 수집하기 이전에, 어플리케이션 에이전트의 초기 실행 시 초기 로드 동작을 수행할 수 있다. 어플리케이션 에이전트는 제2수집부(32)가 보안데이터를 수집하기 위해 가동되는 실행파일의 일종일 수 있다.
제2수집부(153)는 어플리케이션 에이전트의 구동에 필요한 데이터 통합부(130)로부터 제공된 설명정보에 포함된 수집항목들을 제2수집부(32)의 내부 메모리(미도시)에 로드하여 저장할 수 있다. 설명정보들을 저장하는 동작은 제1수집부(31)를 참조하여 자세히 설명하였으므로 생략한다.
또한, 제2수집부(32)는 사용자 ID 및 테넌트 ID 중 적어도 하나를 수집된 보안데이터나 로그 저장부(20)로부터 획득하기 위한 질의문을 데이터 통합부(130)로부터 더 제공받아 내부 메모리(미도시)에 로딩하거나, 어플리케이션 에이전트의 실행파일로부터 로딩하여 저장할 수 있다. 제2수집부(32)는 질의문에 해당하는 데이터를 로그 저장부(20)로부터 획득할 수 있다.
또한, 제2수집부(32)는 질의문에 의해 조회된 보안데이터 중 어떠한 칼럼 또는 어떠한 필드가 사용자 ID 또는 테넌트 ID를 나타내는지에 대한 정보를 데이터 통합부(130)로부터 더 제공받아 내부 메모리(미도시)에 로딩하거나, 어플리케이션 에이전트의 실행파일로부터 로딩하여 저장할 수 있다. 수집항목들에 해당하는 보안데이터가 수집되면, 제2수집부(32)는 수집된 보안데이터 중 사용자 ID 또는 테넌트 ID를 확인하고, 후술할 보안데이터 분석부(150)가 ID를 식별할 수 있는 태그를 보안데이터에 추가할 수 있다.
그리고, 제2수집부(32)는 저장된 수집항목들을 참조하여 수집항목들에 해당하는 보안데이터를 로그 저장부(20)로부터 수집하고, 수집된 보안데이터를 데이터 통합부(130)에게 전달할 수 있다.
데이터 통합부(130)는 수집부(30)로부터 전달받은 보안데이터를 통합하여 제1보안데이터 저장부(135)에 저장할 수 있다.
만약, 수집부(30)가 보안데이터가 저장된 서버 또는 가상머신의 성능 이슈에 의해 서버 또는 가상머신에 설치되지 못한 경우, 데이터 통합부(130)는 폴링(polling) 방식으로 수집항목들에 해당하는 보안데이터를 로그 저장부(20)로부터 직접 수집하여 제1보안데이터 저장부(135)에 저장할 수도 있다.
3. 저장된 보안데이터의 정제 동작-
Data
Cleansing
Process
오류데이터 제거부(140)는 제1보안데이터 저장부(135)에 저장된 보안데이터 중 오류데이터를 제거하고, 오류데이터가 제거된 보안데이터를 제2보안데이터 저장부(145)에 저장할 수 있다.
자세히 설명하면, 오류데이터 제거부(140)는 제1보안데이터 저장부(135)로부터 보안데이터를 전달받아 오류데이터를 제거하고, 수집항목 저장부(125)로부터 보안데이터의 수집에 사용된 적어도 하나의 설명정보를 전달받을 수 있다. 또는, 오류데이터 제거부(140)는 데이터 통합부(130)로부터 제공받은 보안데이터 수집에 사용된 설명정보들의 메타정보 ID들에 해당하는 설명정보들을 수집항목 저장부(125)로부터 직접 읽어올 수 있다.
그리고, 오류데이터 제거부(140)는 전달받은 설명정보를 이용하여, 오류데이터가 제거된 보안데이터의 포맷을 보안데이터 분석부(150)에서 사용가능한 형태로 규격화하여 정리할 수 있다. 예를 들어, 수집부(30)가 제1설명정보에 해당하는 보안데이터를 수집한 경우, 오류데이터 제거부(140)는 수집항목 저장부(125)로부터 제1설명정보(또는 제1설명정보에 포함된 수집항목들)를 전달받거나, M1(제1메타정보 ID)에 해당하는 제1설명정보를 읽어와, 제1설명정보의 형태, 즉, [S1, T1, DT1, VT1, SW1]에 맞게 오류데이터가 제거된 보안데이터를 규격화할 수 있다.
오류데이터는 보안데이터에 사전에 설정된 규격 또는 포맷과 상충하지 않는 데이터로서, 오류데이터 제거부(140)는 보다 정확하고 유용한 보안데이터를 얻기 위해 오류데이터를 제거할 수 있다. 오류데이터 제거부(140)가 오류데이터를 선별하는 기준은 다음의 예를 들 수 있다.
- 허용 문자 확인
오류데이터 제거부(140)는 예상 문자가 해당 필드에 존재하는지의 여부에 따라 오류데이터를 선별할 수 있다. 예를 들어, 보안데이터의 숫자 필드에는 숫자 0~9, 소수점, 마이너스 기호, 쉼표 등만 기재되도록 허용되어 있는 경우, 그 외의 기호가 문자가 숫자 필드에 기재되어 있으면, 오류데이터 제거부(140)는 이 보안데이터를 오류데이터로서 판단하여 제거할 수 있다.
- 데이터 형식 확인
오류데이터 제거부(140)는 보안데이터에 입력된 데이터의 형식을 확인하고, 필드에 저장되어야 할 데이터 형식과 일치하는지의 여부에 따라 오류데이터를 선별할 수 있다. 예를 들어, 오류데이터 제거부(140)는 문자 ‘O’가 숫자 ‘0’ 대신 입력된 경우, 오류데이터 제거부(140)는 이 보안데이터를 오류데이터로서 판단하여 제거할 수 있다.
- 형식 또는 사진 확인
오류데이터 제거부(140)는 보안데이터의 형식이 지정된 형식(template)에 맞는지를 확인하여 오류데이터를 선별할 수 있다. 지정된 형식은 날짜 형식, 서비스 ID 형식, 테넌트 ID 형식 등 다양하다. 예를 들어, 지정된 날짜 형식이 ‘DD/MM/YYYY’이나, 보안데이터에는 ‘DD-MM-YY’로 날짜가 기재되어 있으면, 오류데이터 제거부(140)는 이 보안데이터를 오류데이터로서 판단하여 제거할 수 있다.
- 범위 체크
오류데이터 제거부(140)는 서비스 ID와 같은 데이터 값이 지정된 범위 내에 존재하는지에 따라 오류데이터를 선별할 수 있다.
- 맞춤법 및 문법 검사
오류데이터 제거부(140)는 보안데이터의 맞춤법 또는 문법을 검사하여 오류데이터를 선별할 수 있다.
제2보안데이터 저장부(145)는 오류데이터 제거부(140)에 오류데이터가 제거되고, 데이터 포맷이 정리된(즉, 규격화된) 보안데이터를 저장할 수 있다.
4. 정제된 보안데이터를 분석하여
테넌트
별로 보안관제 데이터를 준비하는 동작-
Tenant
-
aware
Analysis
Process
보안데이터 분석부(150)는 제2보안데이터 저장부(145)에 저장된 보안데이터와, 보안데이터가 발생된 서비스의 ID를 보안데이터를 발생시킨 테넌트의 ID에 매핑하여 테넌트 별 보안데이터 저장부(155)에 저장할 수 있다.
보안데이터 분석부(150)는 보안데이터를 발생시킨 사용자의 ID 또는 사용자가 소속된 테넌트의 ID가 제2보안데이터 저장부(145)에 저장된 보안데이터에 매핑되어 있지 않은 경우, 사용자 ID 저장부(115)와 서비스 ID 저장부(120)에 저장된 정보들을 이용하여 어떤 테넌트(또는 사용자)가 어떤 서비스들을 사용하였는지에 대한 정보를 획득할 수 있다. 즉, 보안데이터 분석부(150)는 사용자 ID 저장부(115)에 저장된 테넌트 별 사용자 ID와, 제2보안데이터 저장부(145)에 저장된 보안데이터를 서비스 ID 저장부(120)에 저장된 사용자 별 서비스 ID와 매핑시킴으로써, 테넌트 별로 보안관제 정보를 생성할 수 있다. 보안관제 정보는 테넌트가 사용하는 서비스들의 보안관제 기능을 위해 테넌트 별로 정리되는 정보일 수 있다.
[표 4]는 테넌트 별 보안데이터 저장부(155)에 저장된 테이블의 일 예이다.
테넌트 ID(Tn) | 보안관제 정보 | |
1 | T1 | [S1, U12, 제1보안데이터] [S2, U13, 제2보안데이터] |
2 | T2 | [S4, U21, 제3보안데이터] |
3 | T3 | [S3, U31, U35, 제4보안데이터] [S2, U32, 제5보안데이터] |
4 | T4 | [S3, 제6보안데이터] |
[표 4]를 참조하면, 제1테넌트(T1)에 대해 저장된 보안관제 정보는 두 개로서, 그 중 [S1, U12, 제1보안데이터]는 제1테넌트에 소속된 사용자(ID가 U12임)가 제1서비스(S1)를 사용함으로써 제1보안데이터가 발생하였다는 정보를 제공하고 있다. 이때, 테넌트 별 보안데이터 저장부(155)에 저장되는 보안데이터는 오류데이터 제거부(140)에 의해 해당하는 설명정보의 포맷에 맞게 정리되어 있는 형태를 갖는다.
또는, 보안데이터 분석부(150)는 보안데이터가 저장된 제2보안데이터 저장부(145)의 어드레스를 확인하고, 확인된 어드레스와 보안데이터가 발생된 서비스의 ID를 보안데이터를 발생시킨 테넌트의 ID에 매핑하여 테넌트 별 보안데이터 저장부(155)에 [표 5]와 같이 저장할 수 있다. 이러한 경우, 보안데이터를 저장하는 메모리의 용량을 감소시켜 메모리 사용 효율을 높일 수 있다.
테넌트 ID(Tn) | 보안관제 정보 | |
1 | T1 | [S1, U12, ADD3] [S2, U13, ADD11] |
2 | T2 | [S4, U21, ADD2] |
3 | T3 | [S3, U31, U35, ADD20] [S2, U32, ADD15] |
4 | T4 | [S3, ADD5] |
[표 5]를 참조하면, 제1테넌트(T1)에 대해 저장된 보안관제 정보는 두 개로서, 그 중 [S1, U12, ADD3]은 제1테넌트에 소속된 사용자(ID가 U12임)가 제1서비스(S1)를 사용함으로써 발생한 제1보안데이터가 제2보안데이터 저장부(145)의 ADD3이라는 어드레스에 저장되어 있다는 정보를 제공하고 있다.
한편, [표 4]와 같은 테넌트 별 보안관제 정보를 생성하기 위해 보안데이터 분석부(150)는 다음과 같이 동작할 수 있다.
1. 보안데이터 분석부(150)는 제2보안데이터 저장부(145)에 저장된 보안데이터에 사용자 ID가 기재되어 있는지 확인할 수 있다.
2. 사용자 ID가 기재되어 있지 않으면, 보안데이터 분석부(150)는 보안데이터로부터 보안데이터를 발생시킨 사용자의 ID 및 사용자가 소속된 테넌트의 ID 중 적어도 하나를 추출할 수 있다.
2.1 보안데이터가 로그인과 관련된 로그일 경우, 보안데이터 분석부(150)는 세션(Session) 내 속성값, 브라우저의 쿠키(browser cookie)값 및 요청 파라미터(request parameter)의 값 중 적어도 하나를 이용하여 사용자 ID를 추출할 수 있다. 세션은 사용자와 컴퓨터 또는 다수의 컴퓨터들 간의 대화를 위한 논리적 연결 시, 한 응용프로그램의 가동을 시작해서 종료할 때까지의 시간을 나타낸다. 이러한 세션이 형성될 때 세션 내 속성값에는 세션과 관계된 사용자 ID 또는 테넌트 ID를 나타내는 로그가 생성될 수 있다. 브라우저의 쿠키값은 인터넷 웹사이트의 방문기록을 남겨 사용자와 웹사이트 사이를 매개해 주는 정보로서, 사용자가 웹사이트에 접속할 때 생성되는 정보를 기록하는 임시 파일이다. 이때, 사용자가 웹사이트를 접속하면 사용자의 ID와 비밀번호를 기록하는 쿠키가 생성된다. 요청 파라미터는 사용자의 접근 요구를 기술한 매개 변수, 즉, 어플리케이션과 같은 프로그램 내부에 존재하는 특정 인수로서, 어떤 사용자가 어떤 파라미터를 요구했는지에 대한 정보를 포함한다.
2.2 반면, 보안데이터가 로그인 외의 로그일 경우, 보안데이터에는 사용자의 ID 및 테넌트의 ID 중 적어도 하나가 사전에 지정된 태깅 방식에 의해 수집부(30)에 의해 추가로 기재되어 전송되므로, 보안데이터 분석부(150)는, 보안데이터 중 사전에 지정된 태그로부터 사용자 ID 및 테넌트 ID 중 적어도 하나를 추출할 수 있다.
3. 1에서 사용자 ID가 확인되거나, 또는 2에서 보안데이터를 발생시킨 사용자의 ID가 추출되면, 보안데이터 분석부(150)는 추출된 사용자 ID가 소속된 테넌트의 ID가 보안데이터에 추가로 기재되어 있는지 확인할 수 있다.
4. 보안데이터에 테넌트 ID가 기재되어 있지 않으면, 즉, 보안데이터로부터 사용자 ID만 추출된 경우, 보안데이터 분석부(150)는 추출된 사용자 ID에 매핑된 테넌트의 ID를 사용자 ID 저장부(115)로부터 확인할 수 있다.
5. 보안데이터 분석부(150)는 1에서 확인된 사용자 ID 또는 2에서 추출된 사용자 ID 중 하나와, 3에서 확인된 테넌트 ID 또는 4에서 추출된 테넌트 ID 중 하나를 보안데이터와 매핑시키고, 매핑된 데이터를 테넌트 별로 정렬할 수 있다.
6. 보안데이터 분석부(150)는 서비스 ID 저장부(120)로부터 확인된 또는 추출된 사용자 ID에 매핑된 서비스 ID를 추출하고, 추출된 서비스 ID를 5에서 정렬된 데이터와 매핑하여 테넌트 별 보안데이터 저장부(155)에 저장할 수 있다.
7. 따라서, 테넌트 별 보안데이터 저장부(155)는, 보안데이터와, 보안데이터를 발생시킨 사용자 ID 및 테넌트의 ID와, 추출된 서비스의 ID를 추출된 사용자의 ID와 테넌트의 ID를 기준으로 서로 매핑하여 [표 4]와 같이 저장할 수 있다. 이로써, 테넌트 별 보안관제 정보가 생성되어 저장된다.
8. 한편, 2.2에서, 수집부(30)가 보안데이터에 테넌트 ID만을 추가로 기재한 경우, 보안데이터 분석부(150)는 보안데이터를 발생시킨 사용자를 확인할 수 없으므로, 보안데이터를 테넌트 별로 분류하여 테넌트 별 보안데이터 저장부(155)에 저장할 수 있다. 예를 들어, [표 4]에서 제4테넌트(T4)의 보안관제 정보에는 사용자 ID가 매핑되어 있지 않음을 알 수 있다.
9. 또한, 보안데이터 분석부(150)는 보안관제 정보의 통계, 보고, 알림 기능을 담당할 수 있다. 이를 위해, 보안데이터 분석부(150)는 테넌트 별로 리포트 및 통계보고서를 생성하고, 보안 사고가 발생할 경우, 해당 테넌트의 관리자와 플랫폼(10)의 관리자에게 이메일 통보, SMS(Short Message Service) 등의 방법을 이용하여 실시간으로 알려줄 수 있다. 보안 사고는 외부 침입, 해킹 또는 다른 테넌트 사용자의 접근 등의 경우 등 다양하다. 예를 들어, 외부 침입 및 해킹은 보안 사고를 감지할 수 있는 장비 또는 알고리즘이 구축되는 경우 본 실시예와 결합되어 알림기능을 제공할 수 있다. 다른 테넌트 사용자의 접근 여부는, 보안데이터 분석부(150)가 주기적으로 테넌트 별 보안데이터 저장부(155)에 저장된 데이터와 사용자 ID 저장부(115)에 저장된 데이터를 확인하여 알 수 있으며, 이런 방법으로 내부의 기준이 되는 로우 데이터와 가공된 데이터를 비교하여 보안 사고를 확인하고 알림기능을 제공할 수 있다. 내부의 기준이 되는 로우 데이터는 사용자 ID 저장부(115)에 저장된 데이터이거나, 또는 서비스 ID 저장부()에 저장된 데이터일 수 있으며, 가공된 데이터는 테넌트 별 보안데이터 저장부(155)에 저장된 데이터일 수 있다.
5.
테넌트
별 보안관제 데이터를 조회하는 동작
조회부(160)는 조회 요청부(40)와 같은 외부로부터 적어도 하나의 설명정보와, 검색 항목과, 보안데이터의 조회를 요청하는 신호를 수신할 수 있다. 조회부(160)는 수신된 설명정보와 검색 항목에 대응하는 보안데이터를 테넌트 별 보안데이터 저장부(155)로부터 조회하고, 조회된 결과를 각 테넌트 ID 별로 가공하여 조회 요청부(40)에게 제공할 수 있다. 조회 요청부(40)로부터 수신되는 적어도 하나의 설명정보는 테넌트 ID, 서비스 ID, 가상머신 ID, 데이터 타입 및 SW 서버 ID 중 적어도 하나를 포함하며, 경우에 따라 일부는 생략되거나 다른 항목이 추가될 수 있다. 또한, 조회 요청부(40)로부터 수신되는 검색 항목은 보안데이터의 수집 시각 범위 및 보안데이터의 타입 중 적어도 하나를 포함할 수 있다. 이러한 경우, 수집부(30)는 보안데이터가 수집된 시각에 대한 정보를 더 데이터 통합부(130)에게 제공할 수 있다.
조회 요청부(40)는 조회부(160)로부터 제공받은 조회 결과를 각 테넌트 ID에 해당하는 테넌트의 관리자, 사용자 또는 다른 시스템으로 제공할 수 있다.
도 2는 본 발명적 개념의 예시적 제2실시예에 따른 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치를 포함하는 멀티 테넌트 SaaS 운영 플랫폼을 도시한 도면이다.
도 2에 예시적으로 도시된 멀티 테넌트 SaaS 운영 플랫폼은 크게 보안 관리 대상, 보안 관제 시스템 및 보안 포탈을 포함할 수 있다. 도 1에 도시된 제1실시예와 도 2에 도시된 제2실시예의 차이점은 도 1의 경우, 수집부(30), 조회 요청부(40) 및 테넌트의 보안관제를 위한 장치(100)는 멀티 테넌트 SaaS 운영 플랫폼(10)과 구별되나, 도 2에서는 수집부(30)에 해당하는 보안 관리 대상, 조회 요청부(40) 및 테넌트의 보안관제를 위한 장치(100)에 해당하는 보안 관제 시스템과 보안 포탈이 멀티 테넌트 SaaS 운영 플랫폼에 포함되는 것이다. 즉, 도 2의 경우, 테넌트의 보안관제를 위한 장치(100)는 멀티 테넌트 SaaS 운영 플랫폼에서도 사용될 수 있음을 의미한다.
그 외, 도 2에 도시된 수집항목 저장부(210), 데이터 통합부(220), 제1보안데이터 저장부(230), 오류데이터 제거부(240), 제2보안데이터 저장부(250), 사용자 ID 저장부(260), 보안데이터 분석부(270), 테넌트 별 보안데이터 저장부(280), 조회부(290) 및 조회 요청부(295)의 동작은 도 1을 참조하여 설명한 테넌트의 보안관제를 위한 장치(100)의 구성요소와 동일하므로 상세한 설명은 생략한다.
도 2를 참조하면, 보안 관리 대상에 설치된 시스템 에이전트와 어플리케이션 에이전트는 보안 관리 대상 내의 로그 저장부로부터 보안데이터를 수집하고, 각각의 보안데이터 전송에 적합한 전송 프로토콜을 이용하여 보안데이터를 데이터 통합부(130)로 전송할 수 있다. 이때, 시스템 에이전트와 어플리케이션 에이전트는 전송하는 보안데이터의 종류에 따라 다른 프로토콜을 적응적으로 사용할 수 있다. 예를 들어, 시스템 A에 설치된 에이전트들은 Syslog-ng 프로토콜을 이용하여 OS(Operation System) log나 Syslog와 같은 보안데이터를 전송하고, 시스템 B에 설치된 에이전트들은 SNMP(Simple Network Management Protocol)를 이용하여 네트워크 로그인 보안데이터를 전송하며, 시스템 C에 설치된 에이전트들은 SFTP(Secure File transfer protocol)를 이용하여 시스템 로그와 같은 보안데이터를 전송할 수 있다.
데이터 통합부(220)는 보안데이터 분석부(270)에서 필요로 하는 보안데이터를 제1보안데이터 저장부(230)에 저장할 수 있다.
오류데이터 제거부(240)는 제1보안데이터 저장부(230)에 저장된 보안데이터를 정제화 및 규격화할 수 있다. 오류데이터 제거부(240)는 보안데이터 중 오류데이터를 제거하고, 수집항목 저장부(210)에 저장된 보안데이터 수집 시 사용한 설명정보를 참조하여 보안데이터를 규격화할 수 있다. 오류데이터 제거부(240)는 규격화된 보안데이터를 제2보안데이터 저장부(250)에 저장할 수 있다.
보안데이터 분석부(270)는 제2보안데이터 저장부(250)에 저장된 보안데이터를, 보안데이터를 발생시킨 사용자가 소속된 테넌트의 ID와 매핑하고, 테넌트 별로 보안데이터를 분석하여 테넌트 별 보안데이터 저장부(280)에 저장할 수 있다. 또한, 보안데이터 분석부(270)는 테넌트 별로 분석된 보안데이터를 해당 테넌트의 관리자에게 리포팅하거나 알림 기능을 제공할 수 있다.
도 3은 본 발명적 개념의 예시적 실시예에 따른 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법을 설명하기 위한 흐름도이다.
도 3에 도시된 테넌트의 보안관제를 위한 방법을 수행하기 위해 예시적으로 도시된 장치의 수집부, 데이터 통합부, 오류데이터 제거부, 보안데이터 통합부, 조회부 및 조회 요청부는 도 1을 참조하여 설명한 시스템의 각 구성요소일 수 있으며, 설명의 편의를 위해 일부 상세한 설명은 생략한다.
도 3을 참조하면, 데이터 통합부는 기저장된 복수 개의 설명정보들 중 적어도 하나를 수집부로 제공하여 보안데이터의 수집을 요청할 수 있다(S305). S305단계에서 제공되는 적어도 하나의 설명정보는 서비스 ID, 가상머신 ID, SW 서버 ID 및 데이터 타입 중 적어도 하나의 수집항목을 포함할 수 있다.
수집부는 적어도 하나의 설명정보를 저장하고 시스템 에이전트와 어플리케이션 에이전트를 구동한다(S310).
수집부는 저장된 적어도 하나의 설명정보에 포함된 수집항목들에 해당하는 보안데이터를 수집하고(S315), 수집된 보안데이터를 데이터 통합부에게 전송할 수 있다(S320).
데이터 통합부는 S320단계에 의해 수신되는 보안데이터를 제1보안데이터 저장부에 저장한다(S325).
오류데이터 제거부는 제1보안데이터 저장부에 저장된 보안데이터를 읽어와 보안데이터 중 오류데이터를 제거하고, 오류데이터가 제거된 보안데이터를 해당하는 설명정보에 기초하여 규격화할 수 있다(S330, S335). ‘해당하는 설명정보’는 보안데이터를 수집하는데 사용된 설명정보를 의미한다.
오류데이터 제거부는 규격화된 보안데이터를 보안데이터 분석부에게 전송한다(S340).
보안데이터 분석부는 S340단계에 의해 전송받은 보안데이터를 테넌트 별로 정렬하여 서비스의 보안관제를 제공하는데 사용되는 정보를 생성 및 저장할 수 있다(S345).
그리고, 보안데이터 분석부는 일정 주기마다 테넌트 별로 생성된 서비스의 보안관제 정보를 분석하여 통계 보고서를 생성하고 해당 테넌트의 관리자에게 보고할 수 있다(S350).
한편, 조회 요청부는 적어도 하나의 설명정보와, 검색 항목과, 보안데이터의 조회를 조회부에게 요청할 수 있다(S355).
조회부는 조회 요청부에 요청에 따라, 수신된 설명정보와 검색 항목에 대응하는 보안데이터를 S345단계에서 생성된 보안관제 정보로부터 조회하고(S360), 조회된 결과를 각 테넌트 ID 별로 가공하여 조회 요청부에게 제공할 수 있다(S365).
도 4는 도 3의 S345단계에서 보안관제 정보를 생성하는 방법을 구체적으로 설명하기 위한 흐름도이다.
도 4를 참조하면, 보안데이터 분석부는 S335단계에 의해 규격화된 보안데이터에 사용자 ID가 저장되어 있는지 확인할 수 있다(S405). 사용자 ID는 보안데이터와 관련된 서비스를 사용한 사용자의 ID이다.
사용자 ID가 저장되어 있지 않으면(S405-N), 보안데이터 분석부는 보안데이터가 로그인과 관련된 로그인지 확인한다(S410).
보안데이터가 로그인과 관련된 로그이면(S410-Y), 보안데이터 분석부는 세션 내 속성값, 브라우저의 쿠키값 및 요청 파라미터의 값 중 적어도 하나를 이용하여 사용자 ID를 추출할 수 있다(S415).
S415단계에서 사용자 ID가 추출되면, 보안데이터 분석부는 사용자 ID에 해당하는 사용자가 소속된 테넌트의 ID가 보안데이터에 추가로 저장되어 있는지 확인할 수 있다(S420).
보안데이터에 테넌트 ID가 저장되어 있지 않으면(S420-N), 보안데이터 분석부는 사용자 ID 저장부로부터 사용자 ID에 매핑되어 있는 테넌트 ID를 확인할 수 있다(S425).
보안데이터 분석부는 S405단계에서 확인된 보안데이터에 저장된 사용자 ID 또는 S415단계에서 추출된 사용자 ID 중 하나와, S420단계에서 확인된 보안데이터에 저장된 테넌트 ID 또는 S425단계에서 확인된 테넌트 ID 중 하나를 보안데이터와 매핑하여 저장할 수 있다(S430).
한편, S410단계에서 보안데이터가 로그인 외의 로그일 경우(S420-N), 보안데이터 분석부는 보안데이터로부터 사용자 ID 및 테넌트 ID 중 적어도 하나를 추출할 수 있다(S435). 이는, 보안데이터가 로그인 외의 로그로 로그 저장부에 저장된 경우, 수집부는 보안데이터에 사용자 ID 및 테넌트 ID 중 적어도 하나를 태그 형태로 추가로 기재하여 전송하기 때문이다.
S435단계에서 사용자 ID만 추출된 경우(S440), 보안데이터 분석부는 S425단계로 진입할 수 있다.
또한, S435단계에서 사용자 ID와 테넌트 ID 모두 추출된 경우(S445), 보안데이터 분석부는 S430단계로 진입할 수 있다.
또한, S435단계에서 테넌트 ID만 추출된 경우(S450), 보안데이터 분석부는 보안데이터와 테넌트 ID를 매핑하여 저장할 수 있다(S455).
한편, 보안데이터 분석부는 모든 보안데이터에 대해 S405단계 내지 S455단계가 적용되었는지를 확인할 수 있다(S460).
미적용된 보안데이터가 있으면(S460-N), 보안데이터 분석부는 다음 보안데이터를 추출하고(S465), S405단계로 진입할 수 있다.
또한, 모든 보안데이터에 대해 S405단계 내지 S455단계가 적용되었으면(S460-Y), 보안데이터 분석부는 S430단계에서 매핑된 모든 데이터를 테넌트 ID 별로 정렬할 수 있다(S470). 즉, 보안데이터가 100개인 경우, S405단계 내지 S465단계의 반복에 의해, S430단계에서 매핑되는 데이터는 최대 100개일 수 있으며, 보안데이터 분석부는 100개의 매핑된 데이터를 테넌트 ID 별로 정렬할 수 있다.
보안데이터 분석부는 서비스 ID 저장부로부터 각 테넌트 ID에 매핑된 서비스들의 ID를 확인하고(S475), S470단계에서 테넌트 ID 별로 정렬된 데이터에 해당 서비스 ID를 매핑하여 보안관제 정보를 서비스 별로 생성한 후 저장할 수 있다(S480). S480단계에서, 보안데이터 분석부는 테넌트 ID 별로 정렬된 데이터 중 보안데이터와 관련된 서비스를 판단하고, 판단된 서비스에 해당하는 ID를 매핑할 수 있다.
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 멀티 테넌트 SaaS 운영 플랫폼 20: 로그 저장부
30: 수집부
100: 테넌트의 보안관제를 위한 장치
105: 사용자 ID 제공부 110: 서비스 ID 제공부
115: 사용자 ID 저장부 120: 서비스 ID 저장부
125: 수집항목 저장부 130: 데이터 통합부
135: 제1보안데이터 저장부 140: 오류데이터 제거부
145: 제2보안데이터 저장부 150: 보안데이터 분석부
155: 테넌트 별 보안데이터 저장부 160: 조회부
165: 조회 요청부
30: 수집부
100: 테넌트의 보안관제를 위한 장치
105: 사용자 ID 제공부 110: 서비스 ID 제공부
115: 사용자 ID 저장부 120: 서비스 ID 저장부
125: 수집항목 저장부 130: 데이터 통합부
135: 제1보안데이터 저장부 140: 오류데이터 제거부
145: 제2보안데이터 저장부 150: 보안데이터 분석부
155: 테넌트 별 보안데이터 저장부 160: 조회부
165: 조회 요청부
Claims (20)
- 멀티 테넌시 환경에서 테넌트들이 서비스들을 사용하면서 발생한 보안과 관련된 데이터(이하, ‘보안데이터’라 함)를 저장하는 보안데이터 저장부; 및
상기 보안데이터 저장부에 저장된 보안데이터와 상기 보안데이터가 발생된 서비스의 ID를 상기 보안데이터를 발생한 테넌트의 ID에 매핑하여 테넌트 별 보안데이터 저장부에 저장하는 보안데이터 분석부;를 포함하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치. - 제1항에 있어서,
상기 보안데이터 분석부는, 상기 보안데이터 저장부에 저장된 보안데이터로부터 상기 보안데이터를 발생시킨 사용자의 ID 및 상기 사용자가 소속된 테넌트의 ID 중 적어도 하나를 추출하고,
상기 테넌트 별 보안데이터 저장부는, 상기 보안데이터를 상기 추출된 사용자의 ID 및 상기 테넌트의 ID 중 적어도 하나에 매핑하여 저장하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치. - 제2항에 있어서,
상기 테넌트들의 ID와 상기 테넌트들에 속한 사용자들의 ID를 매핑하여 저장하는 사용자 ID 저장부;를 더 포함하며,
상기 보안데이터 분석부는, 상기 보안데이터로부터 상기 사용자의 ID만 추출된 경우, 상기 사용자 ID 저장부로부터 상기 추출된 사용자의 ID에 매핑된 테넌트의 ID를 확인하고,
상기 테넌트 별 보안데이터 저장부는, 상기 보안데이터를 상기 추출된 사용자의 ID 및 상기 확인된 테넌트의 ID에 매핑하여 저장하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치. - 제2항 또는 제3항에 있어서,
상기 테넌트들의 ID와, 상기 테넌트들이 사용가능한 서비스들의 ID를 매핑하여 저장하는 서비스 ID 저장부;를 더 포함하며,
상기 보안데이터 분석부는, 상기 서비스 ID 저장부로부터 상기 추출된 테넌트의 ID에 매핑된 서비스의 ID를 추출하고,
상기 테넌트 별 보안데이터 저장부는, 상기 보안데이터와, 상기 추출된 사용자의 ID 및 상기 테넌트의 ID 중 적어도 하나와, 상기 추출된 서비스의 ID를 상기 추출된 테넌트의 ID를 기준으로 서로 매핑하여 저장하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치. - 제2항에 있어서,
상기 보안데이터 분석부는, 상기 보안데이터가 로그인과 관련된 데이터인 경우, 세션 내 속성값, 브라우저의 쿠키값 및 요청 파라미터의 값 중 적어도 하나를 이용하여 상기 보안데이터 저장부에 저장된 보안데이터로부터 상기 사용자의 ID를 추출하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치. - 제2항에 있어서,
상기 보안데이터가 로그인과 관련된 데이터가 아닌 경우, 상기 보안데이터에는 상기 사용자의 ID 및 상기 테넌트의 ID 중 적어도 하나가 사전에 지정된 방식에 의해 추가되어 수집되며,
상기 보안데이터 분석부는, 상기 보안데이터 저장부에 저장된 보안데이터로부터 상기 사용자의 ID 및 상기 테넌트의 ID 중 적어도 하나를 추출하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치. - 제1항에 있어서,
상기 보안데이터 저장부에 저장된 보안데이터 중 오류데이터를 제거하고, 상기 오류데이터가 제거된 보안데이터를 제2보안데이터 저장부에 저장하는 오류데이터 제거부;를 더 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치. - 제1항에 있어서,
상기 테넌트들마다 공통으로 발생하는 공통 보안데이터를 수집하는 제1수집부; 및
상기 테넌트들마다 상이하게 발생하는 개별 보안데이터를 수집하는 제2수집부;를 더 포함하며,
상기 개별 보안데이터는 상기 테넌트들의 ID 및 상기 개별 보안데이터를 발생시킨 사용자의 ID 중 적어도 하나를 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치. - 제8항에 있어서,
상기 보안데이터를 수집하는데 필요한 수집항목들로 이루어진 복수 개의 설명정보들을 저장하는 수집항목 저장부; 및
상기 수집항목 저장부에 저장된 복수 개의 설명정보들 중 적어도 하나를 상기 제1수집부 및 상기 제2수집부로 제공하여 상기 보안데이터의 수집을 요청하고, 상기 보안데이터를 수신하여 상기 보안데이터 저장부에 저장하는 데이터 통합부;를 더 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치. - 제9항에 있어서,
상기 수집항목들은 상기 테넌트가 사용하는 상기 서비스의 ID, 상기 서비스를 사용하는 테넌트의 ID, 상기 수집된 보안데이터의 종류를 나타내는 데이터 타입, 상기 수집된 보안데이터가 수행되고 있는 가상 머신의 ID 및 상기 수집된 보안데이터를 생성한 소프트웨어 서버의 ID 중 적어도 하나를 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치. - 제9항에 있어서,
외부로부터 상기 복수 개의 설명정보들 중 조회를 원하는 타겟 설명정보와, 상기 보안데이터의 조회를 요청하는 신호가 수신되면, 상기 수신된 타겟 설명정보에 매핑되어 저장된 보안데이터를 상기 테넌트 별 보안데이터 저장부로부터 조회하고, 조회 결과를 상기 외부에게 보고하는 조회부;를 더 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치. - 멀티 테넌시 환경에서 테넌트들이 서비스들을 사용하면서 발생한 보안과 관련된 데이터(이하, ‘보안데이터’라 함)를 보안데이터 저장부에 저장하는 단계; 및
상기 저장된 보안데이터와 상기 보안데이터가 발생된 서비스의 ID를 상기 보안데이터를 발생한 테넌트의 ID에 매핑하여 보안관제 정보로서 테넌트 별 보안데이터 저장부에 저장하는 단계;를 포함하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법. - 제12항에 있어서,
상기 보안관제 정보로서 저장하는 단계는,
상기 보안데이터 저장부에 저장된 보안데이터로부터 상기 보안데이터를 발생시킨 사용자의 ID 및 상기 사용자가 소속된 테넌트의 ID 중 적어도 하나를 추출하는 단계; 및
상기 보안데이터를 상기 추출된 사용자의 ID 및 상기 테넌트의 ID 중 적어도 하나에 매핑하여 상기 테넌트 별 보안데이터 저장부에 저장하는 단계;를 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법. - 제13항에 있어서,
상기 보안관제 정보로서 저장하는 단계는,
상기 추출하는 단계에서 상기 사용자의 ID만 추출된 경우, 상기 테넌트들의 ID와 상기 테넌트들에 속한 사용자들의 ID를 매핑하여 저장한 사용자 ID 저장부로부터 상기 추출된 사용자의 ID에 매핑된 테넌트의 ID를 확인하는 단계; 및
상기 보안데이터를 상기 추출된 사용자의 ID 및 상기 확인된 테넌트의 ID에 매핑하여 상기 테넌트 별 보안데이터 저장부에 저장하는 단계;를 더 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법. - 제13항 또는 제14항에 있어서,
상기 보안관제 정보로서 저장하는 단계는,
상기 테넌트들의 ID와, 상기 테넌트들이 사용가능한 서비스들의 ID를 매핑하여 저장한 서비스 ID 저장부로부터 상기 추출된 테넌트의 ID에 매핑된 서비스의 ID를 추출하는 단계; 및
상기 보안데이터와, 상기 추출된 사용자의 ID 및 상기 테넌트의 ID 중 적어도 하나와, 상기 추출된 서비스의 ID를 상기 추출된 테넌트의 ID를 기준으로 서로 매핑하여 상기 테넌트 별 보안데이터 저장부에 저장하는 단계;를 더 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법. - 제12항에 있어서,
상기 보안데이터 저장부에 저장된 보안데이터 중 오류데이터를 제거하는 단계; 및
상기 오류데이터가 제거된 보안데이터를 제2보안데이터 저장부에 저장하는 단계;를 더 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법. - 제12항에 있어서,
상기 테넌트들마다 공통으로 발생하는 공통 보안데이터를 수집하는 단계; 및
상기 테넌트들마다 상이하게 발생하는 개별 보안데이터를 수집하는 단계;를 더 포함하며,
상기 개별 보안데이터는 상기 테넌트들의 ID 및 상기 개별 보안데이터를 발생시킨 사용자의 ID 중 적어도 하나를 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법. - 제17항에 있어서,
수집항목 저장부-상기 보안데이터를 수집하는데 필요한 수집항목들로 이루어진 복수 개의 설명정보들을 저장-에 저장된 복수 개의 설명정보들 중 적어도 하나를 상기 제1수집부 및 상기 제2수집부로 제공하여 상기 보안데이터의 수집을 요청하는 단계;를 더 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법. - 제18항에 있어서,
상기 수집항목들은 상기 테넌트가 사용하는 상기 서비스의 ID, 상기 서비스를 사용하는 테넌트의 ID, 상기 수집된 보안데이터의 종류를 나타내는 데이터 타입, 상기 수집된 보안데이터가 수행되고 있는 가상 머신의 ID 및 상기 수집된 보안데이터를 생성한 소프트웨어 서버의 ID 중 적어도 하나를 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법. - 제18항에 있어서,
외부로부터 상기 복수 개의 설명정보들 중 조회를 원하는 타겟 설명정보와, 상기 보안데이터의 조회를 요청하는 신호가 수신되는 단계;
상기 수신된 타겟 설명정보에 매핑되어 저장된 보안데이터를 상기 테넌트 별 보안데이터 저장부로부터 조회하는 단계; 및
조회 결과를 상기 외부에게 보고하는 단계;를 더 포함하는 것을 특징으로 하는 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110126963A KR101361243B1 (ko) | 2011-11-30 | 2011-11-30 | 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110126963A KR101361243B1 (ko) | 2011-11-30 | 2011-11-30 | 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130085457A true KR20130085457A (ko) | 2013-07-30 |
KR101361243B1 KR101361243B1 (ko) | 2014-02-12 |
Family
ID=48995623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110126963A KR101361243B1 (ko) | 2011-11-30 | 2011-11-30 | 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101361243B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10057273B1 (en) * | 2016-03-30 | 2018-08-21 | EMC IP Holding Company LLC | System and method for ensuring per tenant mutual exclusion of data and administrative entities with low latency and high scale |
KR102338652B1 (ko) * | 2021-10-08 | 2021-12-14 | 주식회사 이글루시큐리티 | 멀티 클라우드 환경에서 템플릿을 이용한 자동 디플로이 방법 |
KR20230150581A (ko) | 2022-04-22 | 2023-10-31 | 주식회사 이글루코퍼레이션 | 멀티테넌시 보안관제시스템 및 그 방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102088303B1 (ko) * | 2016-12-14 | 2020-03-12 | 한국전자통신연구원 | 클라우드 기반 가상 보안서비스 제공 장치 및 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100838799B1 (ko) | 2007-03-09 | 2008-06-17 | 에스케이 텔레콤주식회사 | 해킹 현상을 검출하는 종합보안관리 시스템 및 운용방법 |
KR101316902B1 (ko) * | 2009-12-22 | 2013-10-18 | 한국전자통신연구원 | 멀티테넌시를 지원하기 위한 확장된 자바가상머신 및 이를 이용한 멀티테넌시 처리 방법 |
KR101059058B1 (ko) * | 2010-07-29 | 2011-08-24 | 삼성에스디에스 주식회사 | 위치 기반 서비스 접근 제어 장치, 방법 및 시스템 |
KR101201629B1 (ko) * | 2010-08-17 | 2012-11-14 | 삼성에스디에스 주식회사 | 멀티테넌시 환경에서 테넌트 별 보안 관제를 위한 클라우드 컴퓨팅 시스템 및 그 방법 |
-
2011
- 2011-11-30 KR KR1020110126963A patent/KR101361243B1/ko active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10057273B1 (en) * | 2016-03-30 | 2018-08-21 | EMC IP Holding Company LLC | System and method for ensuring per tenant mutual exclusion of data and administrative entities with low latency and high scale |
KR102338652B1 (ko) * | 2021-10-08 | 2021-12-14 | 주식회사 이글루시큐리티 | 멀티 클라우드 환경에서 템플릿을 이용한 자동 디플로이 방법 |
KR20230150581A (ko) | 2022-04-22 | 2023-10-31 | 주식회사 이글루코퍼레이션 | 멀티테넌시 보안관제시스템 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR101361243B1 (ko) | 2014-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2244418B1 (en) | Database security monitoring method, device and system | |
KR101239401B1 (ko) | 보안 시스템의 로그 분석 시스템 및 방법 | |
KR102033169B1 (ko) | 지능형 보안로그 분석방법 | |
WO2008028163A2 (en) | Security monitoring tool for computer network | |
JP6160064B2 (ja) | 適用判定プログラム、障害検出装置および適用判定方法 | |
CN113127199B (zh) | 负载均衡配置方法、装置、设备及存储介质 | |
CN103384888A (zh) | 用于恶意软件的检测和扫描的系统和方法 | |
US8799923B2 (en) | Determining relationship data associated with application programs | |
CN109379390B (zh) | 一种基于全流量的网络安全基线生成方法 | |
US11178160B2 (en) | Detecting and mitigating leaked cloud authorization keys | |
KR101361243B1 (ko) | 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법 | |
US20130279497A1 (en) | Method for correlating messages across multiple protocols in a telecommunication network | |
EP3623983A1 (en) | Method and device for identifying security threats, storage medium, processor and terminal | |
CN112463772B (zh) | 日志处理方法、装置、日志服务器及存储介质 | |
CN108462598A (zh) | 一种日志生成方法、日志分析方法及装置 | |
CN111740868A (zh) | 告警数据的处理方法和装置及存储介质 | |
CN102253948A (zh) | 在多源信息系统中搜索信息的方法和装置 | |
WO2011161835A1 (ja) | 原因分析構成変更のための方法および装置 | |
CN112714118B (zh) | 网络流量检测方法和装置 | |
CN108650123B (zh) | 故障信息记录方法、装置、设备和存储介质 | |
US20240020391A1 (en) | Log-based vulnerabilities detection at runtime | |
CN108989086B (zh) | OpenStack平台中的Open vSwitch违规端口操作自动发现与追溯系统 | |
KR20090019573A (ko) | 웹서버 취약점 점검 장치 및 방법 | |
US10466984B2 (en) | Identifying and associating computer assets impacted by potential change to a particular computer asset | |
CN114969450A (zh) | 一种用户行为分析方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170102 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171213 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190102 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20200121 Year of fee payment: 7 |