KR101810762B1 - 클라우드 환경에서 hdfs 기반의 도커 컨테이너 보안 로그 분석 방법 및 시스템 - Google Patents

클라우드 환경에서 hdfs 기반의 도커 컨테이너 보안 로그 분석 방법 및 시스템 Download PDF

Info

Publication number
KR101810762B1
KR101810762B1 KR1020160007273A KR20160007273A KR101810762B1 KR 101810762 B1 KR101810762 B1 KR 101810762B1 KR 1020160007273 A KR1020160007273 A KR 1020160007273A KR 20160007273 A KR20160007273 A KR 20160007273A KR 101810762 B1 KR101810762 B1 KR 101810762B1
Authority
KR
South Korea
Prior art keywords
container
containers
docker
log data
data
Prior art date
Application number
KR1020160007273A
Other languages
English (en)
Other versions
KR20170067118A (ko
Inventor
이강효
오희국
Original Assignee
한양대학교 에리카산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 에리카산학협력단 filed Critical 한양대학교 에리카산학협력단
Publication of KR20170067118A publication Critical patent/KR20170067118A/ko
Application granted granted Critical
Publication of KR101810762B1 publication Critical patent/KR101810762B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F17/30144
    • G06F17/30194
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

클라우드 환경에서 HDFS 기반의 도커 컨테이너 보안 로그 분석 방법은 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(fluentd agent)에서, 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 수집하는 단계; 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 모니터링 도커 컨테이너에 탑재된 적어도 하나의 플루언티드 수집기(fluentd collector)로 전송하는 단계; 및 상기 모니터링 도커 컨테이너에서, 상기 모니터링 도커 컨테이너에 연결된 HDFS(hadoop distributed file system)의 복수의 노드들 각각에 포함되는 데이터 노드에 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 분산 저장하는 단계를 포함한다.

Description

클라우드 환경에서 HDFS 기반의 도커 컨테이너 보안 로그 분석 방법 및 시스템{DOCKER CONTAINER SECURITY LOG ANALYSIS METHOD AND SYSTEM BASED ON HADOOP DISTRIBUTED FILE SYSTEM IN CLOUD ENVIRONMENT}
아래의 실시예들은 클라우드 환경에서 HDFS(hadoop distributed file system) 기반의 도커 컨테이너(docker container) 보안 로그 분석 시스템 및 그 방법에 관한 것으로, 보다 구체적으로 도커 컨테이너가 수행될 때 발생되는 로그 데이터를 HDFS를 이용하여 저장 및/또는 관리하는 기술이다.
최근 IoT(internet of things) 환경으로의 변화에 따라, 클라우드 업체들은 IaaS(infrastructure as a service)와 PaaS(platform as a service)를 함께 서비스하는 하이브리드 형태의 클라우드 서비스를 제공하기 시작했다. 여기서, 클라우드 컴퓨팅은 IoT를 구성하기 위한 핵심 기술 중 하나로서, 다양한 디바이스에서 애플리케이션을 설치하여 성능을 향상시키는 가상화 기술을 기반으로 한다.
특히, IoT 기기들은 기존의 컴퓨터에 비해 제한적인 계산능력과 자원을 갖기 때문에, 기존의 컴퓨터에서 구현되는 가상 머신을 이용한 가상화 기술은 IoT 환경에 적합하지 않다.
이에, 컨테이너 기반 가상화 기술인 도커(docker)가 제안되었다. 도커 컨테이너는 애프리케이션을 격리하여 애플리케이션 별로 프로세스가 실행되도록 지원함으로써, 제한된 계산능력 아래 운용될 수 있고, 호스트 운영체제의 커널을 공유함으로써, 제한된 자원만을 이용할 수 있다.
이와 같은 도커 컨테이너는 호스트 운영체제를 공유하여 사용하기 때문에, 애플리케이션이 실행되는 과정에서 외부로부터 악의적인 공격 또는 침입이 발생되는 경우, 호스트 운영체제에 직접적인 피해를 입히는 단점이 있다.
따라서, 도커 컨테이너가 수행될 때 발생되는 로그 데이터에 기반하여 도커 컨테이너로부터 발생되는 악의적인 공격 또는 침입을 탐지하는 기술이 요구되었다.
그러나 도커 컨테이너에 기존의 로그 데이터를 수집 및 관리하는 기술을 적용한 경우, 로그 데이터를 수집 및 분석하는데, 네트워크 지연, 데이터베이스 SQL 구문분석, 색인 업데이트 및 디스크 정보 작성으로 인하여 로컬 디스크에 파일을 작성할 때 보다 더 많은 비용이 발생된다.
이에, 악의적인 공격 또는 침입을 탐지하기 위하여 로그 데이터를 처리하는 과정에서, 로그 데이터를 효율적으로 분석 및 관리하는 기술이 요구된다.
따라서, 아래의 실시예들은 악의적인 공격 또는 침입을 탐지하기 위하여 로그 데이터를 처리하는 과정에서, 로그 데이터를 효율적으로 분석 및 관리하는 기술을 제안한다.
일실시예들은 HDFS를 이용함으로써, 도커 컨테이너의 로그 데이터를 효율적으로 분석하고 관리하는 도커 컨테이너 보안 로그 분석 방법 및 시스템을 제공한다.
구체적으로, 일실시예들은 로그 데이터를 HDFS에 분산 저장함으로써, 로그 데이터를 효율적으로 분석하고 관리하는 도커 컨테이너 보안 로그 분석 방법 및 시스템을 제공한다.
일실시예에 따르면, 클라우드 환경에서 HDFS 기반의 도커 컨테이너(docker container) 보안 로그 분석 방법은 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(fluentd agent)에서, 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 수집하는 단계; 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 모니터링 도커 컨테이너에 탑재된 적어도 하나의 플루언티드 수집기(fluentd collector)로 전송하는 단계; 및 상기 모니터링 도커 컨테이너에서, 상기 모니터링 도커 컨테이너에 연결된 HDFS(hadoop distributed file system)의 복수의 노드들 각각에 포함되는 데이터 노드에 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 분산 저장하는 단계를 포함한다.
상기 HDFS의 복수의 노드들 각각에 포함되는 데이터 노드에 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 분산 저장하는 단계는 상기 모니터링 도커 컨테이너에서, 상기 모니터링 도커 컨테이너의 마스터 노드에 포함되는 네임 노드에 상기 분산 저장되는 복수의 도커 컨테이너들 각각의 로그 데이터에 대한 메타 데이터 정보를 기록하는 단계를 포함할 수 있다.
상기 복수의 도커 컨테이너들 각각의 로그 데이터를 수집하는 단계는 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 비정형 데이터 형식으로부터 정형 데이터 형식으로 변환하는 전처리를 수행하는 단계를 포함할 수 있다.
상기 복수의 도커 컨테이너들 각각의 로그 데이터를 모니터링 도커 컨테이너에 탑재된 적어도 하나의 플루언티드 수집기로 전송하는 단계는 상기 전처리된 복수의 도커 컨테이너들 각각의 로그 데이터를 JSON(javascript object notation) 포맷으로 변환하는 단계; 및 상기 JSON 포맷으로 변환된 복수의 도커 컨테이너들 각각의 로그 데이터를 상기 적어도 하나의 플루언티드 수집기로 전송하는 단계를 더 포함할 수 있다.
상기 HDFS의 복수의 노드들 각각에 포함되는 데이터 노드에 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 분산 저장하는 단계는 상기 복수의 도커 컨테이너들 각각의 로그 데이터가 분산 저장되는 시간을 기록하는 단계를 더 포함할 수 있다.
일실시예들은 HDFS를 이용함으로써, 도커 컨테이너의 로그 데이터를 효율적으로 분석하고 관리하는 도커 컨테이너 보안 로그 분석 방법 및 시스템을 제공할 수 있다.
구체적으로, 일실시예들은 로그 데이터를 HDFS에 분산 저장함으로써, 로그 데이터를 효율적으로 분석하고 관리하는 도커 컨테이너 보안 로그 분석 방법 및 시스템을 제공할 수 있다.
따라서, 일실시예들은 효율적으로 분석하고 관리되는 로그 데이터를 기반으로 도커 컨테이너로부터 발생되는 악의적인 공격 또는 침입을 탐지하는 도커 컨테이너 보안 로그 분석 방법 및 시스템을 제공할 수 있다.
도 1은 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템을 나타낸 도면이다.
도 2는 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템의 동작을 설명하기 위한 도면이다.
도 3은 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템의 전처리 동작을 설명하기 위한 도면이다.
도 4는 일실시예에 따른 도커 컨테이너 보안 로그 분석 방법을 나타낸 플로우 차트이다.
도 5는 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템을 나타낸 블록도이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
또한, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템을 나타낸 도면이다.
도 1을 참조하면, 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템(100)은 도커 컨테이너(110)와 연결되어, 도커 컨테이너(110)로부터 발생되는 악의적인 공격 또는 침입을 탐지한다.
여기서, 도커 컨테이너(110)는 하이버파이저가 가지는 제한된 계산능력 및 제한된 자원 아래 애플리케이션을 격리함으로써, 애플리케이션 별로 프로세스가 실행되도록 지원한다.
구체적으로, 도커 컨테이너(110)는 하드웨어를 가상화한 하이퍼바이저 상에서 운용되는 가상 머신(120)과 같이 애플리케이션 각각에 게스트 운영체제를 지원하는 대신에, 하이버파이저와 무관하게 신속한 가상화를 지원하여 호스트의 운영체제를 공유하며 운용된다. 예를 들어, 도커 컨테이너(110)는 리눅스 컨테이너를 통해 CPU, RAM, 파일 시스템, 스토리지 또는 네트워크 등의 자원을 할당 받아 애플리케이션이 독립적으로 실행되도록 지원할 수 있다.
이와 같은 도커 컨테이너(110)에 의해 애플리케이션이 실행되는 과정에서 외부로부터 악의적인 공격 또는 침입이 발생되는 경우, 도커 컨테이너(110)의 로그 데이터가 기록 또는 저장되는 보안 이벤트의 타임라인 정보가 재구성됨으로써, 도커 컨테이너(110)로부터 발생되는 악의적인 공격 또는 침입이 탐지될 수 있다.
따라서, 도커 컨테이너 보안 로그 분석 시스템(100)은 도커 컨테이너(110)가 수행될 때 발생되는 로그 데이터를 수집, 분석 및 관리 함으로써, 도커 컨테이너(110)로부터 발생되는 악의적인 공격 또는 침입을 탐지할 수 있다.
구체적으로, 도커 컨테이너 보안 로그 분석 시스템(100)은 도커 컨테이너(110)에 탑재되어 도커 컨테이너(110)의 로그 데이터를 수집하는 플루언티드 에이전트(fluentd agent)(111), 플루언티드 에이전트(111)로부터 도커 컨테이너(110)의 로그 데이터를 수신하여 저장 및 분석을 수행하는 모니터링 도커 컨테이너(130) 및 모니터링 도커 컨테이너(130)와 연결되어 도커 컨테이너(110)의 로그 데이터가 분산 저장되는 HDFS((hadoop distributed file system)(131)를 포함한다.
이 때, 도커 컨테이너 보안 로그 분석 시스템(100)은 탑재된 적어도 하나의 플루언티드 수집기(fluentd collector)(132)를 통하여 MapReduce, Mahout, Elasticsearch 및 Kibana 등의 모듈을 기반으로 후술되는 로그 데이터 수집, 분석 및 저장 등의 동작을 수행할 수 있다. 이에 대한 상세한 설명은 도 2를 참조하여 기재하기로 한다.
또한, 도커 컨테이너 보안 로그 분석 시스템(100)은 도커 컨테이너(110)뿐만 아니라, 가상 머신(120)에도 플루언티드 에이전트(121)를 탑재함으로써, 가상 머신(120)이 수행될 때 발생되는 로그 데이터를 수집, 분석 및 관리하여, 가상 머신(120)으로부터 발생되는 악의적인 공격 또는 침입을 방지할 수도 있다.
도면에는 모니터링 도커 컨테이너(130) 안에 HDFS(131)가 포함되는 경우로 도시되었으나, 이에 제한되거나 한정되지 않고, HDFS(131)는 모니터링 도커 컨테이너(130)와 구별되는 별도의 모듈로 구비되어 모니터링 도커 컨테이너(130)와 연결될 수 있다.
도 2는 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템의 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템(200)은 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210), 플루언티드 에이전트(210)와 연결된 모니터링 도커 컨테이너(220) 및 모니터링 도커 컨테이너(220)와 연결된 HDFS(230)를 포함한다.
복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)는 복수의 도커 컨테이너들 각각이 수행될 때 발생되는 로그 데이터를 수집한다. 예를 들어, 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)는 복수의 도커 컨테이너들 각각이 실행됨에 따라 로그 데이터가 생성되는 경우에만 로그 데이터를 수집할 수 있다. 다른 예를 들면, 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)는 복수의 도커 컨테이너들 각각이 실행됨에 따라 로그 데이터가 생성되는 경우와 무관하게, 미리 설정된 시간 간격에 따라 로그 데이터를 수집할 수도 있다.
이 때, 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)는 수집된 로그 데이터를 비정형(unstructured) 데이터 형식으로부터 정형(structured) 데이터 형식으로 변환하는 전처리를 수행할 수 있다. 이에 대한 상세한 설명은 도 3을 참조하여 기재하기로 한다.
이와 같이 전처리된 로그 데이터는 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)에 의해 모니터링 도커 컨테이너(220)에 탑재된 적어도 하나의 플루언티드 수집기(221)로 전송된다. 예를 들어, 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)는 전처리된 복수의 도커 컨테이너들 각각의 로그 데이터를 JSON(javascript object notation) 포맷으로 변환하여 모니터링 도커 컨테이너(220)에 탑재된 적어도 하나의 플루언티드 수집기(221)로 전송할 수 있다. 따라서, 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)가 모니터링 도커 컨테이너(220)에 탑재된 적어도 하나의 플루언티드 수집기(221)로 로그 데이터를 전송하는 과정에서의 네트워크 비용이 크게 감소될 수 있다.
또한, 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)는 모니터링 도커 컨테이너(220)에 탑재된 적어도 하나의 플루언티드 수집기(221)로 복수의 도커 컨테이너들 각각의 로그 데이터를 전송할 뿐만 아니라, 로그 데이터를 생성한 도커 컨테이너의 네임 또는 서비스 네임을 태그로 지정하여 함께 전송함으로써, 모니터링 도커 컨테이너(220)에서 로그 데이터의 근원지를 파악하도록 할 수 있다.
또한, 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)는 전처리된 로그 데이터를 모니터링 도커 컨테이너(220)에 탑재된 적어도 하나의 플루언티드 수집기(221)로 전송하는 과정에서, 복수의 도커 컨테이너들 각각의 파일 시스템(HDFS(230)와 구별되는 파일 시스템으로, 복수의 도커 컨테이너들 각각에 포함되거나 연결된 파일 시스템을 의미함)에 tailing 방식으로 저장할 수 있다.
모니터링 도커 컨테이너(220)는 적어도 하나의 플루언티드 수집기(221)에서 수신되는 복수의 도커 컨테이너들 각각의 로그 데이터를 HDFS(230)의 복수의 노드들(230) 각각에 포함되는 데이터 노드(231)에 분산 저장한다.
구체적으로, 모니터링 도커 컨테이너(220)는 복수의 도커 컨테이너들 각각의 로그 데이터를 JobTracker 및 TaskTracker를 통하여 복수의 노드들(230) 각각에 포함되는 데이터 노드(231)에 분산 저장하고, 분산 저장되는 로그 데이터에 대한 메타 데이터 정보를 모니터링 도커 컨테이너(220)의 마스터 노드(222)에 포함되는 네임 노드(223)에 기록할 수 있다. 여기서, 모니터링 도커 컨테이너(220)는 상술한 분산 저장 동작을 미리 설정된 시간 간격에 따라 수행할 수 있다.
또한, 모니터링 도커 컨테이너(220)는 복수의 도커 컨테이너들 각각의 로그 데이터를 분산 저장하는 과정에서, 복수의 도커 컨테이너들 각각의 로그 데이터가 분산 저장되는 시간을 기록할 수 있다.
따라서, 모니터링 도커 컨테이너(220)는 HDFS(230)의 복수의 노드들(230) 각각에 포함되는 데이터 노드(231)에 분산 저장되는 복수의 도커 컨테이너들 각각의 로그 데이터 및/또는 모니터링 도커 컨테이너(220)가 분산 저장되는 시간에 기초하여, 복수의 도커 컨테이너들 각각에서 공격 또는 침입이 발생되었는지를 탐지할 수 있다.
특히, 복수의 노드들(230) 각각에 포함되는 데이터 노드(231)에는 복수의 도커 컨테이너들 각각의 로그 데이터뿐만 아니라, 로그 데이터를 생성한 도커 컨테이너의 네임 또는 서비스 네임도 같이 저장되기 때문에, 공격 또는 침입이 발생되는 로그 데이터의 근원지가 파악될 수 있다.
또한, 모니터링 도커 컨테이너(220)는 공격 또는 침입이 발생되었는지 여부를 탐지하는 과정에서, 복수의 노드들(230) 각각에 포함되는 데이터 노드(231)에 분산 저장된 복수의 도커 컨테이너들 각각의 로그 데이터뿐만 아니라, 복수의 도커 컨테이너들 각각의 파일 시스템에 저장된 복수의 도커 컨테이너들 각각의 로그 데이터를 추가적으로 활용할 수도 있다.
즉, 도커 컨테이너 보안 로그 분석 시스템(200)은 복수의 도커 컨테이너들 각각의 로그 데이터를 HDFS(230)의 복수의 노드들(230) 각각에 포함되는 데이터 노드(231)에 분산 저장할 뿐만 아니라, 복수의 도커 컨테이너들 각각의 파일 시스템에 저장함으로써, 내고장성을 가질 수 있다.
또한, 적어도 하나의 플루언티드 수집기(221)에서 수신되는 복수의 도커 컨테이너들 각각의 로그 데이터가 대용량인 경우, 모니터링 도커 컨테이너(220)는 복수의 도커 컨테이너들 각각의 로그 데이터를 미리 설정된 정크 파일의 기본 단위로 분할한 뒤, 분할된 로그 데이터를 복수의 노드들(230) 각각에 포함되는 데이터 노드(231)에 분산 저장할 수 있다.
이와 같이 도커 컨테이너 보안 로그 분석 시스템(200)은 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)를 통하여 복수의 도커 컨테이너들 각각의 로그 데이터를 수집하고, HDFS(230)를 이용하여 저장 및 관리함으로써, 복수의 도커 컨테이너들 각각에서 공격 또는 침입이 발생되었는지를 탐지하고, 탐지 결과를 사용자에게 시각화된 통계치의 그래프로 제공하며, 공격 또는 침입의 이벤트에 대한 타임라인 정보를 재구성할 수 있다.
또한, 도커 컨테이너 보안 로그 분석 시스템(200)은 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)와 연결되어 상술한 동작을 수행할 뿐만 아니라, 가상 머신에 탑재된 플루언티드 에이전트와 연결되어 상술한 동작을 수행할 수도 있다. 이러한 경우, 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(210)가 가상 머신에 탑재된 플루언티드 에이전트로 대체됨으로써, 상술한 동작이 적용될 수 있다.
도 3은 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템의 전처리 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템에 포함되는 플루언티드 에이전트(플루언티드 에이전트는 복수의 도커 컨테이너들 각각에 탑재됨)는 복수의 도커 컨테이너들 각각에서 수집되는 로그 데이터를 비정형 데이터 형식으로부터 정형 데이터 형식으로 변환하는 전처리를 수행할 수 있다.
예를 들어, 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트는 도면과 같이, remote 서버 네임을 나타내는 remote, host 서버 네임을 나타내는 host, 시스템 사용자 계정을 나타내는 user, 로그 생성 시간을 나타내는 time, HTTP method를 나타내는 method, 생성되는 로그 데이터의 경로를 나타내는 path, HTTP 상태 코드를 나타내는 code, 로그 데이터의 크기를 나타내는 size, HTTP referer를 나타내는 referrer, 플루언티드 에이전트 네임을 나타내는 agent 또는 HTTP forwarder를 나타내는 forwarder 등의 속성에 기초하여, 로그 데이터를 비정형 데이터 형식으로부터 정형 데이터 형식으로 변환하는 전처리를 수행할 수 있다.
도 4는 일실시예에 따른 도커 컨테이너 보안 로그 분석 방법을 나타낸 플로우 차트이다. 이하, 도커 컨테이너 보안 로그 분석 방법은 도커 컨테이너 보안 로그 분석 시스템에 포함되는 각 구성부를 통하여 수행된다.
도 4를 참조하면, 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템은 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(fluentd agent)를 통하여, 복수의 도커 컨테이너들 각각의 로그 데이터를 수집한다(410).
이 때, 410 단계에서, 도커 컨테이너 보안 로그 분석 시스템은 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트를 통하여, 복수의 도커 컨테이너들 각각의 로그 데이터를 비정형 데이터 형식으로부터 정형 데이터 형식으로 변환하는 전처리를 수행할 수 있다.
또한, 410 단계에서, 도커 컨테이너 보안 로그 분석 시스템은 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트를 통하여, 복수의 도커 컨테이너들 각각의 파일 시스템에 전처리된 복수의 도커 컨테이너들 각각의 로그 데이터를 저장할 수도 있다.
그 다음, 도커 컨테이너 보안 로그 분석 시스템은 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트를 통하여, 복수의 도커 컨테이너들 각각의 로그 데이터를 모니터링 도커 컨테이너에 탑재된 적어도 하나의 플루언티드 수집기(fluentd collector)로 전송한다(420).
420 단계에서, 도커 컨테이너 보안 로그 분석 시스템은 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트를 통하여, 복수의 도커 컨테이너들 각각의 로그 데이터를 생성한 도커 컨테이너의 네임 또는 서비스 네임을 태그로 지정하여 복수의 도커 컨테이너들 각각의 로그 데이터와 함께 전송할 수 있다.
또한, 420 단계에서, 도커 컨테이너 보안 로그 분석 시스템은 복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트를 통하여, 전처리된 복수의 도커 컨테이너들 각각의 로그 데이터를 JSON(javascript object notation) 포맷으로 변환한 후, JSON 포맷으로 변환된 복수의 도커 컨테이너들 각각의 로그 데이터를 적어도 하나의 플루언티드 수집기로 전송할 수 있다.
그 후, 도커 컨테이너 보안 로그 분석 시스템은 모니터링 도커 컨테이너를 통하여, 모니터링 도커 컨테이너에 연결된 HDFS(hadoop distributed file system)의 복수의 노드들 각각에 포함되는 데이터 노드에 복수의 도커 컨테이너들 각각의 로그 데이터를 분산 저장한다(430).
이 때, 430 단계에서, 도커 컨테이너 보안 로그 분석 시스템은 모니터링 도커 컨테이너를 통하여, 분산 저장되는 복수의 도커 컨테이너들 각각의 로그 데이터에 대한 메타 데이터 정보를 모니터링 도커 컨테이너의 마스터 노드에 포함되는 네임 노드에 기록할 수 있다.
또한, 430 단계에서, 도커 컨테이너 보안 로그 분석 시스템은 모니터링 도커 컨테이너를 통하여, 복수의 도커 컨테이너들 각각의 로그 데이터가 분산 저장되는 시간을 기록할 수 있다.
도 5는 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템을 나타낸 블록도이다.
도 5를 참조하면, 일실시예에 따른 도커 컨테이너 보안 로그 분석 시스템은 플루언티드 에이전트(510), 모니터링 도커 컨테이너(520) 및 HDFS(530)를 포함한다.
플루언티드 에이전트(510)는 복수의 도커 컨테이너들 각각에 탑재되어, 복수의 도커 컨테이너들 각각의 로그 데이터를 수집한다.
여기서, 플루언티드 에이전트(510)는 복수의 도커 컨테이너들 각각의 로그 데이터를 비정형 데이터 형식으로부터 정형 데이터 형식으로 변환하는 전처리를 수행할 수 있다.
또한, 플루언티드 에이전트(510)는 복수의 도커 컨테이너들 각각의 파일 시스템에 전처리된 복수의 도커 컨테이너들 각각의 로그 데이터를 저장할 수도 있다.
플루언티드 에이전트(510)는 복수의 도커 컨테이너들 각각의 로그 데이터를 모니터링 도커 컨테이너(520)에 탑재된 적어도 하나의 플루언티드 수집기(도면에는 도시되지 않음)로 전송한다.
이 때, 플루언티드 에이전트(510)는 복수의 도커 컨테이너들 각각의 로그 데이터를 생성한 도커 컨테이너의 네임 또는 서비스 네임을 태그로 지정하여 복수의 도커 컨테이너들 각각의 로그 데이터와 함께 전송할 수 있다.
또한, 플루언티드 에이전트(510)는 전처리된 복수의 도커 컨테이너들 각각의 로그 데이터를 JSON 포맷으로 변환한 후, JSON 포맷으로 변환된 복수의 도커 컨테이너들 각각의 로그 데이터를 적어도 하나의 플루언티드 수집기로 전송할 수 있다.
모니터링 도커 컨테이너(520)는 모니터링 도커 컨테이너(520)에 연결된 HDS(530)의 복수의 노드들 각각에 포함되는 데이터 노드에 복수의 도커 컨테이너들 각각의 로그 데이터를 분산 저장한다.
이 때, 모니터링 도커 컨테이너(520)는 분산 저장되는 복수의 도커 컨테이너들 각각의 로그 데이터에 대한 메타 데이터 정보를 모니터링 도커 컨테이너(520)의 마스터 노드(도면에 도시되지 않음)에 포함되는 네임 노드에 기록할 수 있다.
또한, 모니터링 도커 컨테이너(520)는 복수의 도커 컨테이너들 각각의 로그 데이터가 분산 저장되는 시간을 기록할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (5)

  1. 클라우드 환경에서 HDFS 기반의 도커 컨테이너(docker container) 보안 로그 분석 방법에 있어서,
    복수의 도커 컨테이너들 각각에 탑재된 플루언티드 에이전트(fluentd agent)에서, 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 수집하는 단계;
    상기 복수의 도커 컨테이너들 각각의 로그 데이터를 모니터링 도커 컨테이너에 탑재된 적어도 하나의 플루언티드 수집기(fluentd collector)로 전송하는 단계; 및
    상기 모니터링 도커 컨테이너에서, 상기 모니터링 도커 컨테이너에 연결된 HDFS(hadoop distributed file system)의 복수의 노드들 각각에 포함되는 데이터 노드에 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 분산 저장하는 단계
    를 포함하고,
    상기 HDFS의 복수의 노드들 각각에 포함되는 데이터 노드에 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 분산 저장하는 단계는
    상기 모니터링 도커 컨테이너에서, 상기 모니터링 도커 컨테이너의 마스터 노드에 포함되는 네임 노드에 상기 분산 저장되는 복수의 도커 컨테이너들 각각의 로그 데이터에 대한 메타 데이터 정보를 기록하는 단계
    를 포함하는 도커 컨테이너 보안 로그 분석 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 복수의 도커 컨테이너들 각각의 로그 데이터를 수집하는 단계는
    상기 복수의 도커 컨테이너들 각각의 로그 데이터를 비정형 데이터 형식으로부터 정형 데이터 형식으로 변환하는 전처리를 수행하는 단계
    를 포함하는 도커 컨테이너 보안 로그 분석 방법.
  4. 제3항에 있어서,
    상기 복수의 도커 컨테이너들 각각의 로그 데이터를 모니터링 도커 컨테이너에 탑재된 적어도 하나의 플루언티드 수집기로 전송하는 단계는
    상기 전처리된 복수의 도커 컨테이너들 각각의 로그 데이터를 JSON(javascript object notation) 포맷으로 변환하는 단계; 및
    상기 JSON 포맷으로 변환된 복수의 도커 컨테이너들 각각의 로그 데이터를 상기 적어도 하나의 플루언티드 수집기로 전송하는 단계
    를 더 포함하는 도커 컨테이너 보안 로그 분석 방법.
  5. 제1항에 있어서,
    상기 HDFS의 복수의 노드들 각각에 포함되는 데이터 노드에 상기 복수의 도커 컨테이너들 각각의 로그 데이터를 분산 저장하는 단계는
    상기 복수의 도커 컨테이너들 각각의 로그 데이터가 분산 저장되는 시간을 기록하는 단계
    를 더 포함하는 도커 컨테이너 보안 로그 분석 방법.
KR1020160007273A 2015-12-07 2016-01-20 클라우드 환경에서 hdfs 기반의 도커 컨테이너 보안 로그 분석 방법 및 시스템 KR101810762B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150173563 2015-12-07
KR20150173563 2015-12-07

Publications (2)

Publication Number Publication Date
KR20170067118A KR20170067118A (ko) 2017-06-15
KR101810762B1 true KR101810762B1 (ko) 2017-12-19

Family

ID=59217462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160007273A KR101810762B1 (ko) 2015-12-07 2016-01-20 클라우드 환경에서 hdfs 기반의 도커 컨테이너 보안 로그 분석 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101810762B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190066516A (ko) 2017-12-05 2019-06-13 숭실대학교산학협력단 도커 컨테이너 관리 시스템 및 방법, 이를 수행하기 위한 기록매체
KR20200048562A (ko) 2018-10-30 2020-05-08 삼성에스디에스 주식회사 보안 로그 전처리 장치 및 방법
US10762049B1 (en) 2018-05-15 2020-09-01 Splunk Inc. Extracting machine data generated by an isolated execution environment from a chunk of data generated by an isolated execution environment manager
US11003765B2 (en) 2018-06-11 2021-05-11 Tmax A&C Co., Ltd Container-based integrated management system
US11113301B1 (en) 2018-05-15 2021-09-07 Splunk Inc. Generating metadata for events based on parsed location information of data chunks of an isolated execution environment
US11886455B1 (en) 2018-09-28 2024-01-30 Splunk Inc. Networked cloud service monitoring
US11941421B1 (en) 2021-07-09 2024-03-26 Splunk Inc. Evaluating and scaling a collection of isolated execution environments at a particular geographic location

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770066B (zh) * 2017-10-20 2020-06-02 成都精灵云科技有限公司 一种跨主机、跨VLAN、跨集群的Docker容器导流方法
CN107948203B (zh) * 2017-12-29 2019-09-13 平安科技(深圳)有限公司 一种容器登录方法、应用服务器、系统及存储介质
US11307980B2 (en) 2018-04-20 2022-04-19 Seagate Technology Llc Distributed data storage system with passthrough operations
US11269537B2 (en) 2018-06-29 2022-03-08 Seagate Technology Llc Software containers with security policy enforcement at a data storage device level
CN110941434A (zh) * 2018-09-21 2020-03-31 中国石油化工股份有限公司 基于容器技术的地震处理软件部署方法
KR102160119B1 (ko) * 2018-11-07 2020-09-25 숭실대학교산학협력단 도커 컨테이너 로그 분석 프레임워크 장치 및 이를 이용한 특성 분석 방법
CN109684038B (zh) * 2018-12-18 2020-12-08 网易(杭州)网络有限公司 Docker服务容器日志的处理方法、装置和电子设备
CN109902070B (zh) * 2019-01-22 2023-12-12 华中师范大学 一种面向WiFi日志数据的解析存储搜索方法
CN111930700B (zh) * 2020-07-13 2024-05-31 车智互联(北京)科技有限公司 一种分布式日志处理方法、服务器、系统和计算设备
US11677778B2 (en) 2020-10-19 2023-06-13 Oracle International Corporation Protecting data in non-volatile storages provided to clouds against malicious attacks
CN112764878B (zh) * 2021-01-13 2024-04-23 中科曙光(南京)计算技术有限公司 一种基于深度学习的大数据一体机容器集群风险预测方法
CN113485896A (zh) * 2021-07-22 2021-10-08 京东方科技集团股份有限公司 容器状态的监控方法、装置、系统和介质
KR102426889B1 (ko) * 2022-01-05 2022-07-29 주식회사 이글루코퍼레이션 대용량 이벤트 로그에 대한 로그 타입별 데이터 분석 처리 장치, 방법 및 프로그램

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190066516A (ko) 2017-12-05 2019-06-13 숭실대학교산학협력단 도커 컨테이너 관리 시스템 및 방법, 이를 수행하기 위한 기록매체
KR102016238B1 (ko) 2017-12-05 2019-08-29 숭실대학교산학협력단 도커 컨테이너 관리 시스템 및 방법, 이를 수행하기 위한 기록매체
US10762049B1 (en) 2018-05-15 2020-09-01 Splunk Inc. Extracting machine data generated by an isolated execution environment from a chunk of data generated by an isolated execution environment manager
US11113301B1 (en) 2018-05-15 2021-09-07 Splunk Inc. Generating metadata for events based on parsed location information of data chunks of an isolated execution environment
US11238012B1 (en) 2018-05-15 2022-02-01 Splunk Inc. Log data extraction from data chunks of an isolated execution environment
US11829330B2 (en) 2018-05-15 2023-11-28 Splunk Inc. Log data extraction from data chunks of an isolated execution environment
US11003765B2 (en) 2018-06-11 2021-05-11 Tmax A&C Co., Ltd Container-based integrated management system
US11886455B1 (en) 2018-09-28 2024-01-30 Splunk Inc. Networked cloud service monitoring
KR20200048562A (ko) 2018-10-30 2020-05-08 삼성에스디에스 주식회사 보안 로그 전처리 장치 및 방법
US11941421B1 (en) 2021-07-09 2024-03-26 Splunk Inc. Evaluating and scaling a collection of isolated execution environments at a particular geographic location

Also Published As

Publication number Publication date
KR20170067118A (ko) 2017-06-15

Similar Documents

Publication Publication Date Title
KR101810762B1 (ko) 클라우드 환경에서 hdfs 기반의 도커 컨테이너 보안 로그 분석 방법 및 시스템
US10498857B2 (en) System interaction monitoring and component scaling
US10999407B1 (en) Service group interaction management
Barika et al. Orchestrating big data analysis workflows in the cloud: research challenges, survey, and future directions
US10560465B2 (en) Real time anomaly detection for data streams
US10341355B1 (en) Confidential malicious behavior analysis for virtual computing resources
US9098408B2 (en) Ticket consolidation for multi-tiered applications
US11936661B2 (en) Detecting malicious beaconing communities using lockstep detection and co-occurrence graph
US9977898B1 (en) Identification and recovery of vulnerable containers
US10191792B2 (en) Application abnormality detection
US9766995B2 (en) Self-spawning probe in a distributed computing environment
KR20150056266A (ko) 공장 운영 관리용 정형 및 비정형의 빅데이터 엔진 및 처리 방법
US10360614B1 (en) Assessing and rating deployments of resources
Solaimani et al. Online anomaly detection for multi‐source VMware using a distributed streaming framework
Pătraşcu et al. Logging framework for cloud computing forensic environments
US11316879B2 (en) Security protection for a host computer in a computer network using cross-domain security-relevant information
US9912545B2 (en) High performance topology resolution for non-instrumented nodes
US10567469B1 (en) Embedding hypermedia resources in data interchange format documents
KR101505468B1 (ko) 클라우드 컴퓨팅 환경 내 데이터 비교 처리 방법 및 시스템
US10536390B1 (en) Requesting embedded hypermedia resources in data interchange format documents
US20150373078A1 (en) On-demand helper operator for a streaming application
US10992742B2 (en) Managing asset placement with respect to a distributed computing environment having a set of hosts
KR101630088B1 (ko) 가상머신의 라이프사이클 모니터링 방법 및 그 장치
US9436523B1 (en) Holistic non-invasive evaluation of an asynchronous distributed software process
US20200136927A1 (en) Enterprise cloud usage and alerting system

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant