KR101512456B1 - 배양기반 악성코드 분석시스템의 네트워크를 통한 os재로딩 방법 - Google Patents

배양기반 악성코드 분석시스템의 네트워크를 통한 os재로딩 방법 Download PDF

Info

Publication number
KR101512456B1
KR101512456B1 KR1020130162045A KR20130162045A KR101512456B1 KR 101512456 B1 KR101512456 B1 KR 101512456B1 KR 1020130162045 A KR1020130162045 A KR 1020130162045A KR 20130162045 A KR20130162045 A KR 20130162045A KR 101512456 B1 KR101512456 B1 KR 101512456B1
Authority
KR
South Korea
Prior art keywords
culture
analysis
malicious code
agent
malicious
Prior art date
Application number
KR1020130162045A
Other languages
English (en)
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 KR1020130162045A priority Critical patent/KR101512456B1/ko
Application granted granted Critical
Publication of KR101512456B1 publication Critical patent/KR101512456B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

Abstract

본 발명에 따른 배양 기반 악성코드 분석시스템은 배양 에이젼트를 감염시켜 악성코드를 배양하고 분석하는 배양 기반 악성코드 분석시스템에 관한 것으로, 각 배양분석 에이젼트들의 OS(Operating System) 이미지를 저장하고 셧다운된 배양분석 에이젼트가 발생할 때마다 부팅을 위한 소정의 웨이크업 신호를 해당 배양분석 에이젼트로 전송하는 분석관리 서버와, 상기 분석관리 서버의 웨이크업 신호에 따라 부팅이 진행되면 분석관리 서버로부터 자신의 OS이미지를 로드하여 악성코드 배양으로 감염된 OS를 즉시 복원한 후, 새로운 악성코드를 배양하고 분석하는 적어도 하나의 배양분석 에이젼트와, 상기 적어도 하나의 배양분석 에이젼트로부터 외부로 나갈 수 있는 악성 트래픽을 차단하기 위해, 네트워크의 트래픽 대역을 제한하는 라우터를 포함하여 구성된다.
본 발명은 악성코드의 안전한 배양과 분석을 위한 네트워크 및 호스트 운용환경을 제공하여, 가상머신 환경에서는 활동하지 않는 안티 가상머신 악성코드에 대비할 수 있는 배양기반 악성코드 분석시스템을 구현하였다.
본 발명은, 배양분석이 완료된 배양 에이젼트가 원격 호스트에 저장된 자신의 OS 이미지를 로드하여 빠른 시간내에 깨끗하게 감염되지 않은 상태의 OS로 복원한 후 새로운 악성코드의 배양 및 분석을 수행할 수 있다.

Description

배양기반 악성코드 분석시스템의 네트워크를 통한 OS재로딩 방법 {METHOD FOR RELOADING OS THROUGH network ON ANALYSIS SYTEM OF MALICIOUS CODE BASED ON CULTURE}
본 발명은 악성코드 분석 시스템에 관한 것으로, 특히 배양기반의 악성코드 분석 시스템에 관한 것이다.
악성코드란 악의적인 목적을 위해 작성된 실행 가능한 코드의 통칭으로 자기 복제 능력과 감염 대상 유무에 따라 바이러스, 웜, 트로이목마 등으로 분류된다.
맬웨어(malware, malicious software), 악성 프로그램(malicious Program)이라고도 하는 악성코드는 그 증상이나 유포 방법이 복잡해지고 지능화하고 있어 기존 안티바이러스 프로그램은 다양한 악성코드를 진단·치료할 수 있는 통합보안 프로그램으로 기능이 확장되고 있다.
악성코드의 대표격인 바이러스는 프로그램, 실행 가능한 어느 일부분 혹은 데이터에 자기 자신 혹은 변형된 자신을 복사하는 명령어들의 조합이라고 정의된다. 감염대상 프로그램 혹은 코드를 변형해 바이러스 코드 혹은 일부 코드를 복제해 감염시키고 다른 대상을 감염시킴으로써 확산된다.
웜은 다른 프로그램의 감염없이 자신 혹은 변형된 자신을 복사하는 명령어들의 조합이라고 정의된다. 웜은 네트워크 어웨어 바이러스(Network Aware virus)라고 불리기도 한다. 웜은 기억장소에 코드 형태로 존재하거나 혹은 실행파일로 존재하며 실행되면 파일이나 코드 자체를 다른 시스템으로 복사한다.
트로이목마는 컴퓨터의 프로그램 내에 사용자는 알 수 없도록 프로그래머가 고의로 포함시킨 자기 자신을 복사하지 않는 명령어들의 조합이라고 정의된다. 고의로 포함시켰다는 점에서 프로그램의 버그(bug)와 다르며, 자신을 복사하지 않는다는 점에서 바이러스나 웜과도 약간 다르다. 
악성코드는 매일 수천 건씩 발생하고 있으며, 발견된 바이러스가 신종인지 변종인지 분석하고 변종인 경우에는 이전 코드와의 유사성이 어느 정도인지 체계적으로 분류하는 작업이 필요하다.
악성코드의 분석은 일반적으로, VM웨어나 버츄얼 박스와 같은 가상머신 모니터링 애플리케이션을 이용하게 된다. 통제 가능한 OS환경 하에서, 악성코드를 실행시켜 감염된 OS를 분석하는 것이다.
최근, 발견된 악성코드들 중, 가상머신을 통해 유포를 시도하는 악성코드나 VM웨어와 같은 가상머신 모니터링 애플리케이션에 반응하여 활동을 중단하는 방식으로 악성코드 분석툴의 검색을 피하는 진화된 악성코드들이 발견되고 있다.
점차 다양하고 진화된 악성코드의 출현에 대비하여, 악성코드에 의한 피해 막고 신속히 대응할 수 있는 분석 시스템과 치료 기술에 관한 연구와 기술개발이 절실히 요구된다.
종래의 경우, 악성코드 분석을 위해 VM웨어나 버츄얼 박스와 같은 통제 가능한 OS환경 즉, 가상머신을 띄워놓고 악성코드를 실행시켜 감염된 OS를 분석하였다. 그러나, 해킹기술이 점차 고도화되면서 가상머신 모니터링 애플리케이션과 가상머신 환경에서는 활동하지 않는 안티 가상머신 악성코드가 출현하였고, 이러한 안티 가상머신 악성코드의 분석을 위해서는 실제 네트워크 환경과 OS환경에서 대규모의 악성코드를 동시 분석할 수 있는 시스템과 방법이 연구되고 있으며 치료기술 개발에 많은 노력을 기울이고 있다.
본 발명은 이러한 종래의 문제점을 해결하기 위해 안출된 것으로, 악성코드의 안전한 배양과 분석을 위한 네트워크 및 호스트 운용환경을 구현한 배양기반 악성코드 분석시스템을 제공하는데 그 목적이 있다.
본 발명의 다른 목적은, 배양분석이 완료된 배양 에이젼트가 원격 호스트에 저장된 자신의 OS 이미지를 로드하여 빠르게 OS를 복원한 후 새로운 악성코드의 배양 및 분석을 수행할 수 있도록 하는 배양기반 악성코드 분석시스템을 제공하는데 있다.
본 발명의 부가적인 특성 및 이점들은 아래의 설명에 기재될 것이며, 부분적으로는 상기 설명에 의해 명백해지거나 본 발명의 실행을 통해 숙지될 것이다. 본 발명의 목표 및 다른 이점들은 특히 아래 기재된 설명 및 부가된 도면뿐만 아니라 청구항에서 지적한 구조에 의해 구현될 것이다.
본 발명은 악성코드의 안전한 배양과 분석을 위한 네트워크 및 호스트 운용환경을 제공하여, 가상머신 환경에서는 활동하지 않는 안티 가상머신 악성코드에 대비할 수 있는 배양기반 악성코드 분석시스템을 구현하였다.
본 발명은, 배양분석이 완료된 배양 에이젼트가 원격 호스트에 저장된 자신의 OS 이미지를 로드하여 빠른 시간내에 깨끗하게 감염되지 않은 상태의 OS로 복원한 후 새로운 악성코드의 배양 및 분석을 수행할 수 있다.
본 발명은 또한, 악성코드에 감염된 배양 에이젼트의 OS를 1분 내지 2분의 짧은 시간안에 깨끗한 상태로 자동 재 복원하여 해커의 활동을 제한할 수 있도록 시스템을 구현함으로써, 2차 해커공격을 위해 활동할 수 있는 시간적인 여유를 제한시키고, 디도스(DDoS) 같은 외부 공격이 발생하더라도 짧은 시간 내에 공격을 중단시킬 수 있도록 하였다.
도1은 본 발명에 따른 배양기반 악성코드 분석시스템의 구성도.
도2a는 본 발명에 따른 네트워크 기반 트래픽 제어에 관한 예시도.
도2b는 본 발명에 따른 네트워크 기반 트래픽 제어에 관한 흐름도.
도3은 본 발명에 따라 호스트 기반 악성코드의 활동을 제한하는 방법을 나타낸 도면.
도4는 본 발명의 네트워크를 통한 OS재로딩 방법을 나타낸 예시도.
도5는 본 발명의 스냅샷 기반 악성코드 분석 방법을 나타낸 예시도.
도6은 본 발명의 시분할을 통한 악성코드 동시분석 방법을 나타낸 예시도.
도7은 본 발명의 시분할을 통한 악성코드 동시분석 방법의 절차를 나타낸 도면.
도8은 본 발명에 따른 시분할 분석 및 에이젼트 분산 배양 및 관리방법에 관한 예시도.
도9는 본 발명의 에이젼트 분산요청에 관한 예시도.
도10은 본 발명에 따른 배양 기반 악성코드 분석시스템의 배양 분석 결과 관리에 관한 예시도.
도11은 본 발명의 악성코드 업데이트 여부분석 방법에 대한 흐름도.
도12는 "배양분석 현황/조회"메뉴에 따른 디스플레이 화면의 예시도.
도13은 "배양분석 요청"메뉴에 따른 디스플레이 화면의 예시도.
도14는 "운영/관리"메뉴에 따른 디스플레이 화면의 예시도.
도15는 본 발명의 데이터 저장을 위한 DB 테이블 구성을 나타낸 예시도.
도16은 각 테이블간의 연결관계를 나타낸 연결 구성도.
이하, 본 발명의 바람직한 실시 예를 도면을 참조하여 설명하면 다음과 같다.
도1은 본 발명에 따른 배양기반 악성코드 분석시스템의 구성도로서, 시스템의 구성 및 단위 시스템 별 역할을 나타내기 위한 도면이다.
배양기반 악성코드 분석기법은 악성코드의 활동을 시간 흐름(Timeline)의 관점으로 분석하여, 악성코드의 업데이트 등 변화활동을 모니터링하는 기술이다.
도1에 도시된 바와 같이, 본 발명에 따른 악성코드 분석시스템은 라우터(100), 스위치(200), 다수의 배양 에이젼트(300), 분석관리 서버(400), 그리고 웹 데이터베이스 서버(500)를 포함하여 구성된다.
상기 라우터(100)는 본 발명에 따른 악성코드 분석시스템의 트래픽을 차단한다. 라우터(100)는 악성코드 분석 중에 DDoS 등 외부로 발생할 수 있는 악성 트래픽에 대한 예방조치로써, 배양 네트워크에서 외부로 나가는 트래픽 대역(Bandwidth)을 56Kbps 이하(또는 60PPS 이하)로 제한한다. 그리고, 외부접속이 56kbps 이하로 제어될 수 있도록 QoS 환경을 구축한다.
상기 라우터부(100)는 배양분석 에이젼트 IP별로 트래픽 제어를 수행한다.
상기 스위칭부(200)는 네트워크 트래픽 미러링을 위해 배양 에이젼트들 (300)과 분석관리 서버(400)간의 연결을 스위칭한다.
상기 다수의 배양 에이젼트(300)는 적어도 하나 이상의 악성코드들을 풀(Pool)로 구성하고, 배양분석을 위해 상기 풀 내의 각 악성코드에 대한 MD5를 산출하고 조회하여 분석대상 악성코드가 신규 악성코드인지를 판정하고, 각 악성코드의 실행에 의해 생성된 파일들의 리스트를 생성하고 그 리스트 파일의 MD5를 산출하고 조회하여 분석대상 악성코드가 업데이트된 것인지 여부를 판정한다.
배양 에이젼트(300)는 스냅샷 기반의 악성코드 분석(예: 파일 또는 프로세스의 업데이트 이력 분석 등)을 수행한다.
또한, 배양 에이젼트(300)는 적어도 하나 이상의 악성코드들을 풀(Pool)로 구성하고, 배양분석을 위해 상기 풀 내의 각 악성코드에 시간을 나누어 할당하고, 풀내 각 악성코드들을 상기 각각 할당된 시간동안 분석하고 그 분석현황과 결과를 상기 분석관리 서버(400)측에 전달한다. 배양 에이젼트(300)는 이와 같이 시간자원 분할 할당방식을 이용하여, 대규모 악성코드의 동시 분석이 가능하다.
배양 에이젼트(300)는 또한, 상기 분석관리 서버(400)의 웨이크업 신호에 따라 부팅이 진행되면 분석관리 서버(400)로부터 자신의 OS이미지를 로드하여 악성코드 배양으로 감염된 OS를 즉시 복원한 후, 새로운 악성코드를 배양하고 분석한다.
상기 분석관리 서버(400)는 망을 통해 배양 에이젼트들을 제어하고, 배양 에이젼트들의 악성코드 분석현황과 결과를 관리한다.
분석관리 서버(400)는 각 배양분석 에이젼트(300)들의 OS(Operating System) 이미지를 저장(관리)하고 네트워크 부팅을 통해, 셧다운된 배양 에이젼트(300)를 부팅시키고 해당 배양 에이젼트(300)가 감염된 OS를 빠르게 복원할 수 있도록 감염되지 않은 깨끗한 OS이미지를 제공한다.
분석관리 서버(400)는 분석대상 악성코드를 다수의 배양 에이젼트(300) 측에 분산하여 분석을 요청하고 그 결과를 관리하며, 또한, 미러링 기반 네트워크 활동 모니터링을 수행한다.
상기 웹 데이터베이스 서버(500)는 본 발명에 따른 배양 기반 악성코드 분석시스템의 일종의 저장소로서, 미러링 통한 악성 트래픽 분석과정에서, 배양 에이젼트(300)가 캡쳐한 IP, TCP, UDP, 포트 및 컨텐츠 내용의 바이너리(Binary) 및 텍스트(Text)를 저장한다. 그리고, 각 배양 에이젼트(300)의 분석현황 및 결과 정보를 저장한다.
도2a는 본 발명에 따른 네트워크 기반 트래픽 제어에 관한 예시도이고, 도2b는 본 발명에 따른 네트워크 기반 트래픽 제어에 관한 흐름도이다.
본 발명은 악성코드의 안전한 배양을 위한 네트워크 및 호스트 환경을 구현하였다.
본 발명은 일단, 악성코드 분석 중에 DDoS 등과 같이 외부로 발생할 수 있는 악성트래픽에 대한 예방조치로써, 배양 네트워크에서 외부로 나가는 트래픽 대역(Bandwidth)을 56Kbps로 제한시킨다. 그리고, 외부접속이 56kbps미만으로 제어될 수 있도록 배양 네트워크 게이트웨이 즉, 라우터부(100)에서 QoS 환경을 구현한다.
본 발명에 따른 라우터부(100)는 배양분석 에이젼트 IP별로 트래픽을 제어한다.
본 발명은 또한, 도3에 도시된 바와 같이, 악성코드를 감염시킨 후 1분 내지 2분의 짧은 주기동안 OS를 깨끗한 이미지로 자동 재 복원하여 해커의 활동을 제한할 수 있도록 구현하였다. 상기 배양분석 에이젼트(300)는 감염된 악성코드의 분석을 2분 내에 완료하고, OS를 깨끗한 이미지로 복원시킨다. 도3은 본 발명에 따라 호스트 기반 악성코드의 활동을 제한하는 방법을 나타낸 도면이다.
본 발명은 상기 악성코드에 감염된 배양분석 에이젼트(300) 내에서, 해커가 2차 공격을 위해 활동할 수 있는 시간적인 여유를 제한시키고, 디도스(DDoS) 같은 외부 공격이 발생하더라도 짧은 시간 내에 공격을 중단시킬 수 있다.
도4는 본 발명의 네트워크를 통한 OS재로딩 방법을 나타낸 예시도이다.
배양 에이젼트(300)는 여러 개의 악성코드를 분석해야 하는 경우, 하나의 악성코드를 배양/분석 후 다음 악성코드를 배양하기 위해서는 악성코드 실행으로 인해 감염된 OS를 감염전의 상태로 복원해야 하고, 이러한 OS복원을 반복적으로 수행하기 위해서, 본 발명은 네트워크 부팅방법과 네트워크를 통한 OS재로딩 방법을 채용하였다.
네트워크를 통한 OS재로딩 방법은, 도4에 도시된 바와 같이 원격지의 네트워크 호스트(예: 분석관리 서버(400))에 각 배양 에이젼트(300)들의 OS 이미지를 저장하고 배양분석 에이젼트(300)의 부팅 시 네트워크를 통해 상기 저장된 OS이미지를 로딩한다.
OS 재로딩 방법은 안티 가상머신 악성코드에 대한 분석을 위해, 네트워크 부팅기술(or PXE(Preboot Execution Environment)부팅)을 적용한다.
상기 분석관리 서버(400)는 각 배양분석 에이젼트(300)들의 OS(Operating System) 이미지를 저장하고 셧다운된 배양분석 에이젼트가 발생할 때마다 부팅을 위한 소정의 웨이크업 신호를 해당 배양분석 에이젼트로 전송한다.
그리고, 배양분석 에이젼트(300)는 네트워크를 통해 분석관리 서버(400)로부터 웨이크업 신호를 입력받고, 입력된 웨이크업 신호에 따라 부팅을 수행한다. 그리고, OS 이미지가 저장되어 있는 원격 호스트(예: 분석관리 서버(400))에 접속하여, 해당 OS이미지를 로드한다. 부팅 후 배양 에이젼트(300) 상에서 발생하는 OS의 변경사항은 해당 배양 에이젼트(300)의 램(RAM)에만 적용되도록 하고 원격 호스트(예: 분석관리 서버(400))에 저장된 OS이미지에 반영되지 않도록 한다.
도5는 본 발명의 스냅샷 기반 악성코드 분석 방법을 나타낸 예시도이다.
본 발명은 감염에 관한 분석을 방해하는 악성코드를 분석하기 위하여 스냅샷 방식의 분석방법을 구현하였다.
도5에 도시된 바와 같이, 본 발명은 배양 에이젼트(300)의 OS환경이 악성코드의 감염없는 깨끗한 상태일 때 파일, 프로세스 OS 구조를 스냅샷한 후, 해당 배양 에이젼트(300)를 악성코드로 감염시키고 감염된 배양 에이젼트(300)의 OS구조를 분석하여, 감염 전,후의 차이를 파악한다. 배양 에이젼트(300)의 OS 구조를 분석한 후, 분석관리 서버(400)는 네트워크 부팅을 진행한다.
스냅샷은 특정 시점의 파일 시스템 또는 볼륨 이미지를 유지할 수 있는 기법으로, 본 발명에 따른 분석관리 서버(400)는 배양 기반 악성코드 분석을 위해, 스냅샷을 이용한 온라인 백업을 수행한다.
본 발명에 따른 배양 기반 악성코드 분석시스템은 네트워크 미러링 통한 악성 트래픽 분석방법을 구현하였다.
배양 에이젼트(300)의 악성코드를 분석한 후 발생하는 트래픽에 대해, 상기 분석관리 서버(400)는 트래픽 미러링 방식을 통하여 상기 발생된 트래픽들을 캡쳐하여 분석한다.
상기 미러링 통한 악성 트래픽 분석방법은 악성코드의 네트워크 모니터링 분석 감지를 방지한다.
상기 미러링 통한 악성 트래픽 분석과정에서, 배양 에이젼트(300)는 IP, TCP, UDP, 포트 및 컨텐츠 내용을 캡쳐하며, 해당 내용들을 바이너리(Binary) 및 텍스트(Text)로 저장하고 상기 웹 데이터베이스 서버(500) 측에 전달한다.
한편, 분석관리 서버(400)는 트래픽으로부터 소스(Source) IP를 추출하여 분석이 진행 중인 배양 에이젼트를 파악한다. 그리고, 캡쳐한 정보를 상기 배양 에이젼트의 분석 결과와 매칭시킨다.
도6은 본 발명의 시분할을 통한 악성코드 동시분석 방법을 나타낸 예시도이다.
본 발명에 따른 배양 기반 악성코드 분석시스템은 대규모 악성코드의 동시분석을 위해, 배양 에이젼트의 시간자원(Time Resource)을 분할 할당하는 방법을 구현하였다.
하나의 악성코드 배양분석을 위해서는 한 대의 배양 에이젼트가 필요하여 대규모 악성코드 분석을 위해서는 많은 수의 배양 에이젼트(300)가 필요하나, 본 발명에 따라 시간자원(Time Resource)을 분할 할당하는 방법을 적용하면, 소수의 배양 에이젼트만으로도 대규모로 악성코드를 분석할 수 있다.
본 발명은 분석대상의 악성코드 샘플들(예: A~G악성코드)을 풀(Pool)로 구성하며, 도6에 도시된 바와 같이, 배양분석을 위해 분석대상 풀(Pool) 내의 각 악성코드에 시간을 나누어 할당한다. 그러면, 배양 에이젼트(300)는 시간 흐름(Timeline)에 따른 라운드 로빈방식으로 상기 풀(Pool)내 악성코드들(예: A~G 악성코드)의 분석을 수행한다.
도7은 본 발명의 시분할을 통한 악성코드 동시분석 방법의 절차를 나타낸 도면이다.
도7에 도시된 바와 같이, 본 발명에 따른 분석관리 서버(400)는 우선, 배양 에이젼트(300) 측으로 악성코드 분석을 요청한다. 이때, 분석관리 서버(400)는 분석대상 풀(Pool) 전체의 동시분석을 요청하거나, 특정 악성코드(예: 'I악성코드')의 분석을 요청할 수 있다.
만일, 배양 에이젼트(300)가 이미 악성코드 동시분석을 수행 중이고, 분석관리 서버(400)가 특정 악성코드(예: 'I악성코드')의 분석을 요청한 것이라면, 배양 에이젼트(300)는 상기 분석관리 서버(400)의 요청에 따라 상기 분석대상 악성코드(예: 'I악성코드')를 분석대상 풀(Pool)에 추가하고, 시간 흐름(Timeline)에 따른 라운드 로빈방식으로 풀(Pool)내 악성코드들(예: A ~ I악성코드)의 분석을 수행한다.
본 발명은 대규모 악성코드 분석을 진행하는 경우, 시간자원(Time Resource) 분할 할당과 함께 에이젼트 분산 요청/관리 환경을 구현할 수 있다. 이 경우, 도8에 도시된 바와 같이 분석관리 서버(400)는 분석대상 악성코드를 다수의 배양 에이젼트(300) 측에 분산하여 분석을 요청하고 그 결과를 관리하게 된다. 도8은 본 발명에 따른 시분할 분석 및 에이젼트 분산 배양 및 관리방법에 관한 예시도이다.
그리고, 배양 에이젼트(300)는 상기 분석관리 서버(400)가 요청한 악성코드들을 대상으로 풀(Pool)을 형성하고, 풀(Pool) 내의 각 악성코드들을 시간 흐름(Timeline)에 따른 라운드 로빈방식으로 분석을 수행한다.
도9는 본 발명의 에이젼트 분산요청에 관한 예시도이다.
도9에 도시된 바와 같이, 본 발명에 따른 분석관리 서버(400)는 외부로부터 유입된 악성코드 샘플을 MD5(Message-Digest algorithm 5)로 변환하여 임의 폴더(예: "Total_Sample 폴더")에 저장한다.
이후, 서버(400)는 상기 폴더(예: "Total_Sample폴더")에서 소정 개수(예: 200개)의 샘플을 추려내고, MD5 파일명 앞부분의 문자를 확인하여 배양 에이전트 별 풀(Pool)에 저장한다.
도9는 4대의 배양 에이젼트(300a~300d)를 운용하는 경우에 관한 에이젼트 분산 배양/관리방법을 나타낸 것이며, MD5 파일명 앞부분의 문자(숫자)를 확인하여 0 내지 3인 경우 첫번째 배양 에이젼트의 풀(Agent1_Pool)에 저장(배정) 하고, 4 내지 7인 경우 두번째 배양 에이젼트의 풀(Agent2_Pool)에 배정하고, 8 내지 B(11)인 경우 세번째 배양 에이젼트의 풀(Agent3_Pool)에 배정하고, C(12) 내지 F(15)인 경우 네번째 배양 에이젼트의 풀(Agent4_Pool)에 배정한다.
이후, 분석 관리서버(400)는 자신의 에이젼트 풀(Pool) 폴더에 저장되어 있는 파일들(악성코드 샘플)을 원격지의 각 배양 에이젼트(300a ~ 300d)에 구비된 분석대상 풀(Agent_Pool) 폴더로 전송한다. 그리고, 각 배양 에이젼트(300a ~ 300d)는 자신의 분석대상 풀(Agent_Pool) 내 각 악성코드들을 시간 흐름(Time line)의 라운드 로빈방식에 따라 분석한다.
도10은 본 발명에 따른 배양 기반 악성코드 분석시스템의 배양 분석 결과 관리에 관한 예시도이다.
본 발명에 따른 배양 에이젼트(300)는 악성코드 분석이 완료되면, 상기 분석 관리서버(400)의 해당 MD5 폴더 내에 있는 파일을 참조하여, 업데이트 내용이 있는지 여부를 체크한다. 상기 체크결과 업데이트 내용이 있을 경우, 상기 분석 관리서버(400)에 해당 업데이트 정보를 저장하고, 데이터 베이스(예: 웹 데이터베이스 서버(500) 등)에도 업데이트 정보를 입력(전송)한다.
도11은 본 발명의 악성코드 업데이트 여부분석 방법에 대한 흐름도이다.
본 발명의 배양 기반 악성코드 분석시스템을 구성하는 각 배양 에이젼트(300)는 시분할에 따른 라운드 로빈방식으로 풀(Pool)내 악성코드들을 분석한다. 즉, 각 배양 에이젼트(300)들은 시간을 분할하여 풀(Pool)내의 악성코드들에게 할당하고, 라운드 로빈방식으로 도11의 절차를 각 악성코드에 적용한다.
도11에 도시된 바와 같이, 배양 에이젼트(300)는 우선, 악성코드 파일에 대한 MD5를 산출하고 기존의 MD5들 중, 상기 산출된 MD5와 동일한 MD5가 존재하는지를 조회한다. (S110) 만일, 동일한 MD5가 존재하지 않을 경우, 배양 에이젼트(300)는 해당 악성코드 파일이 분석된 적이 없었던 것으로 판정하여 신규 악성코드로 분류한다. (S130) 그리고 해당 악성코드를 실행한다.
이후, 상기 악성코드 실행에 의해 파일(들)이 생성되면, 생성된 파일들을 모니터하고 분석한 결과를 저장한다. (S140~S150) 또한, 상기 악성코드의 네트워크 이벤트를 모니터하고 분석한 결과를 저장한다. (S160)
한편, 배양 에이젼트(300)는 상기 악성코드 실행에 의해 생성된 파일들의 리스트를 생성한다. 그리고, 그 생성된 리스트 파일에 대한 MD5를 산출한다. (S170)
이때, 산출된 MD5가 기존에는 없는 새로운 MD5인 경우, 배양 에이젼트(300)는 해당 악성코드가 업데이트된 것으로 판정한다. (S180, S210) 그러나, 상기 산출된 MD5가 기존에 존재하는 MD5인 경우, 해당 악성코드의 네트워크 접속시도가 있었는지 여부를 체크한다. (S180, S190)
그리고, 상기 네트워크 접속시도가 처음인 경우 배양 에이젼트(300)는 해당 악성코드가 업데이트된 것으로 판정한다. (S200, S210) 그러나 상기 네트워크 접속시도가 처음이 아닌 경우 풀(Pool)내 다른 악성코드의 분석을 위해 해당 악성코드의 분석을 종료한다.
도12 내지 도14는 본 발명에 따른 배양 기반 악성코드 분석시스템의 GUI메뉴에 관한 예시도이다.
도12 내지 도14에 도시된 바와 같이, 본 발명에 따른 배양 기반 악성코드 분석시스템의 주요 웹 GUI 메뉴(M)는 "배양분석 현황/조회"메뉴, "배양분석 요청"메뉴, "운영/관리"메뉴를 포함하여 구성되며, 분석관리 서버(400) 측에 마련된 시스템 프로그램의 사용자 인터페이스이다.
상기 "배양분석 현황/조회"메뉴가 선택(입력)되면, 관리자는 도12에 도시된 바와 같이 프로그램 화면을 통해 배양분석의 진행현황과 결과를 확인할 수 있다. 즉, 프로그램 화면을 통해 관리자는 분석 요청시간, 요청 구분, 악성코드MD5, 배양분석 진행현황을 확인할 수 있다. 도12는 "배양분석 현황/조회"메뉴에 따른 디스플레이 화면의 예시도이다.
상기 "배양분석 요청"메뉴가 선택(입력)되면, 관리자는 도13에 도시된 바와 같이, 프로그램 화면을 통해 관리자가 분석을 원하는 악성코드를 업로드하고, 분석 진행현황을 확인할 수 있다. 도13은 "배양분석 요청"메뉴에 따른 디스플레이 화면의 예시도이다. 도13의 디스플레이 화면에서, "결과보기"아이콘이 선택(입력) 되면, 관리자는 상세한 배양분석 결과를 확인할 수 있다.
상기 "운영/관리"메뉴가 선택(입력)되면, 관리자는 도14에 도시된 바와 같이 프로그램 화면을 통해 에이젼트 운영현황을 모니터링하고 데이터 베이스(예: 웹 데이터베이스 서버(500) 등) 및 외부시스템 연동설정을 정의할 수 있다. 도14는 "운영/관리"메뉴에 따른 디스플레이 화면의 예시도이다.
도15는 본 발명의 데이터 저장을 위한 DB 테이블 구성을 나타낸 예시도이다.
본 발명은 데이터 저장 테이블을 도15에 도시된 바와 같이 설계하여 분석한 결과정보를 저장하고 조회할 수 있도록 하였다.
도15의 a)는 배양 분석결과 저장 메인 테이블이고, 도15의 b)는 파일 분석결과 저장 테이블이고, 도15의 c)는 네트워크 분석결과 저장 테이블이고, 도15의 d)는 프로세스 분석결과 저장 테이블을 나타낸 것이다. 그리고, 도16은 각 테이블간의 연결관계를 나타낸 연결 구성도이다.
본 발명은 도면에 도시된 실시 예(들)를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형이 이루어질 수 있으며, 상기 설명된 실시예(들)의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상에서 설명한 바와 같이, 본 발명은 악성코드의 안전한 배양과 분석을 위한 네트워크 및 호스트 운용환경을 제공하여, 가상머신 환경에서는 활동하지 않는 안티 가상머신 악성코드에 대비할 수 있는 배양기반 악성코드 분석시스템을 구현하였다.
본 발명은, 배양분석이 완료된 배양 에이젼트가 원격 호스트에 저장된 자신의 OS 이미지를 로드하여 빠른 시간내에 깨끗하게 감염되지 않은 상태의 OS로 복원한 후 새로운 악성코드의 배양 및 분석을 수행할 수 있다.
본 발명은 또한, 악성코드에 감염된 배양 에이젼트의 OS를 1분 내지 2분의 짧은 시간안에 깨끗한 상태로 자동 재 복원하여 해커의 활동을 제한할 수 있도록 시스템을 구현함으로써, 2차 해커공격을 위해 활동할 수 있는 시간적인 여유를 제한시키고, 디도스(DDoS) 같은 외부 공격이 발생하더라도 짧은 시간 내에 공격을 중단시킬 수 있도록 하였다.
100 : 라우터부
200 : 스위칭부
300 : 관제 시스템
400 : 분석관리 서버
500 : 웹 데이터베이스 서버

Claims (6)

  1. 배양 에이젼트를 감염시켜 악성코드를 배양하고 분석하는 배양 기반 악성코드 분석시스템에 있어서,
    각 배양분석 에이젼트(300)들의 OS(Operating System) 이미지를 저장하고 셧다운된 배양분석 에이젼트가 발생할 때마다 부팅을 위한 소정의 웨이크업 신호를 해당 배양분석 에이젼트로 전송하는 분석관리 서버(400)와;
    상기 분석관리 서버의 웨이크업 신호에 따라 부팅이 진행되면 분석관리 서버로부터 자신의 OS이미지를 로드하여 악성코드 배양으로 감염된 OS를 즉시 복원한 후, 새로운 악성코드를 배양하고 분석하는 적어도 하나의 배양분석 에이젼트(300)와;
    상기 적어도 하나의 배양분석 에이젼트(300)로부터 외부로 나갈 수 있는 악성 트래픽을 차단하기 위해, 네트워크의 트래픽 대역을 제한하는 라우터(100)를 포함하여 구성되는 것을 특징으로 하는 배양 기반 악성코드 분석시스템.
  2. 제1항에 있어서, 상기 라우터(100)는
    네트워크의 트래픽 대역을 56Kbps 이하 또는 60PPS 이하로 제한하는 것을 특징으로 하는 배양 기반 악성코드 분석시스템.
  3. 제1항에 있어서, 상기 배양 에이젼트(300)는
    적어도 하나 이상의 악성코드들을 풀(Pool)로 구성하고, 시간 흐름(Timeline)에 따른 라운드 로빈방식으로 상기 풀(Pool)내 악성코드들의 분석을 수행하는 것을 특징으로 하는 배양 기반 악성코드 분석시스템.
  4. 제1항에 있어서, 상기 적어도 하나의 배양 에이젼트(300)는
    적어도 하나 이상의 악성코드들을 풀(Pool)로 구성하며, 배양분석을 위해 상기 풀 내의 각 악성코드에 시간을 나누어 할당하고, 풀(Pool)내 특정 악성코드를 상기 할당된 시간동안 분석하고 할당된 시간이 경과하면 풀 내의 다른 악성코드 분석을 위해 셧다운하는 것을 특징으로 하는 배양 기반 악성코드 분석시스템.
  5. 분석관리 서버(400)가 각 배양 에이젼트(300)들의 OS(Operating System) 이미지를 저장하는 과정과;
    배양 에이젼트에 셧다운이 발생하면, 분석관리 서버(400)가 부팅을 위한 소정의 웨이크업 신호를 해당 배양 에이젼트로 전송하는 과정과;
    상기 전송된 웨이크업 신호에 따라 배양분석 에이젼트가 부팅을 진행하며 분석관리 서버에 접속하는 과정과;
    배양 에이젼트가 상기 분석관리 서버로부터 감염되지 않은 자신의 OS이미지를 로드하는 과정과;
    배양 에이젼트가 상기 로드한 OS이미지를 이용하여 감염된 OS를 즉시 복원한 후, 새로운 악성코드를 배양하고 분석하는 과정을 포함하여 이루어지는 것을 특징으로 하는 배양 기반 악성코드 분석시스템의 OS재로딩 방법.
  6. 제5항에 있어서, 상기 웨이크업 신호를 배양 에이젼트로 전송하는 과정은,
    배양 에이젼트가 적어도 하나 이상의 악성코드들을 풀(Pool)로 구성하는 과정과;
    배양 에이젼트가 배양분석을 위해 상기 풀 내의 각 악성코드에 시간을 나누어 할당하는 과정과;
    배양 에이젼트가 풀(Pool)내 특정 악성코드를 상기 할당된 시간동안 분석하고 분석현황과 결과를 상기 분석관리 서버(400)측에 전달하는 과정과;
    배양 에이젼트가 풀 내의 다른 악성코드 분석을 위해 셧다운하는 과정과;
    분석관리 서버(400)가 부팅을 위한 소정의 웨이크업 신호를 해당 배양 에이젼트로 전송하는 과정을 포함하여 이루어지는 것을 특징으로 하는 배양 기반 악성코드 분석시스템의 OS재로딩 방법.
KR1020130162045A 2013-12-24 2013-12-24 배양기반 악성코드 분석시스템의 네트워크를 통한 os재로딩 방법 KR101512456B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130162045A KR101512456B1 (ko) 2013-12-24 2013-12-24 배양기반 악성코드 분석시스템의 네트워크를 통한 os재로딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130162045A KR101512456B1 (ko) 2013-12-24 2013-12-24 배양기반 악성코드 분석시스템의 네트워크를 통한 os재로딩 방법

Publications (1)

Publication Number Publication Date
KR101512456B1 true KR101512456B1 (ko) 2015-04-16

Family

ID=53053317

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130162045A KR101512456B1 (ko) 2013-12-24 2013-12-24 배양기반 악성코드 분석시스템의 네트워크를 통한 os재로딩 방법

Country Status (1)

Country Link
KR (1) KR101512456B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101710684B1 (ko) * 2015-09-10 2017-03-02 (주) 세인트 시큐리티 가상 환경에서는 실행되지 않는 악성 코드를 분석할 수 있는 os 이미지의 복구 시스템 및 방법
KR101787470B1 (ko) 2016-02-15 2017-11-16 한국전자통신연구원 Usb로 연결된 외부 장치 기반의 악성코드 분석 장치 및 이를 이용한 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006011552A (ja) * 2004-06-22 2006-01-12 Lac Co Ltd コンピュータウィルス情報収集装置、コンピュータウィルス情報収集方法、及びプログラム
JP2007334536A (ja) * 2006-06-14 2007-12-27 Securebrain Corp マルウェアの挙動解析システム
KR20110131627A (ko) * 2010-05-31 2011-12-07 한국전자통신연구원 악성 코드 진단 및 복구 장치, 그리고 이를 위한 단말 장치
KR20120051215A (ko) * 2010-11-12 2012-05-22 단국대학교 산학협력단 컴퓨터 바이러스 배양 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006011552A (ja) * 2004-06-22 2006-01-12 Lac Co Ltd コンピュータウィルス情報収集装置、コンピュータウィルス情報収集方法、及びプログラム
JP2007334536A (ja) * 2006-06-14 2007-12-27 Securebrain Corp マルウェアの挙動解析システム
KR20110131627A (ko) * 2010-05-31 2011-12-07 한국전자통신연구원 악성 코드 진단 및 복구 장치, 그리고 이를 위한 단말 장치
KR20120051215A (ko) * 2010-11-12 2012-05-22 단국대학교 산학협력단 컴퓨터 바이러스 배양 방법 및 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101710684B1 (ko) * 2015-09-10 2017-03-02 (주) 세인트 시큐리티 가상 환경에서는 실행되지 않는 악성 코드를 분석할 수 있는 os 이미지의 복구 시스템 및 방법
KR101787470B1 (ko) 2016-02-15 2017-11-16 한국전자통신연구원 Usb로 연결된 외부 장치 기반의 악성코드 분석 장치 및 이를 이용한 방법
US10366226B2 (en) 2016-02-15 2019-07-30 Electronics And Telecommunications Research Institute Malicious code analysis device and method based on external device connected via USB cable

Similar Documents

Publication Publication Date Title
US11736530B2 (en) Framework for coordination between endpoint security and network security services
EP3430556B1 (en) System and method for process hollowing detection
US10630643B2 (en) Dual memory introspection for securing multiple network endpoints
KR101535502B1 (ko) 보안 내재형 가상 네트워크 제어 시스템 및 방법
CN109076063B (zh) 在云环境中保护动态和短期虚拟机实例
US11870811B2 (en) Trusted execution security policy platform
EP3214568B1 (en) Method, apparatus and system for processing cloud application attack behaviours in cloud computing system
EP3120279B1 (en) Integrity assurance and rebootless updating during runtime
US10289837B2 (en) Log information generation apparatus and recording medium, and log information extraction apparatus and recording medium
EP2860657B1 (en) Determining a security status of potentially malicious files
US10678918B1 (en) Evaluating malware in a virtual machine using copy-on-write
US10826919B2 (en) Methods and cloud-based systems for protecting devices from malwares
CN109074450B (zh) 威胁防御技术
US9613210B1 (en) Evaluating malware in a virtual machine using dynamic patching
US11113086B1 (en) Virtual system and method for securing external network connectivity
KR101512462B1 (ko) 배양기반 악성코드 분석시스템의 악성코드 업데이트 여부분석 방법
KR101512456B1 (ko) 배양기반 악성코드 분석시스템의 네트워크를 통한 os재로딩 방법
KR101998205B1 (ko) 분산 가상환경을 이용한 악성 파일 분석 장치 및 방법
KR101512454B1 (ko) 시분할 방식의 배양기반 악성코드 분석시스템
WO2023223352A1 (en) System and method for facilitating behavioral analysis of malwares
JP2023177332A (ja) コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法
CN117439814A (zh) 一种基于att&ck的网络安全事件联动处置系统及方法

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180410

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190404

Year of fee payment: 5