KR101260028B1 - 악성코드 그룹 및 변종 자동 관리 시스템 - Google Patents

악성코드 그룹 및 변종 자동 관리 시스템 Download PDF

Info

Publication number
KR101260028B1
KR101260028B1 KR1020100133533A KR20100133533A KR101260028B1 KR 101260028 B1 KR101260028 B1 KR 101260028B1 KR 1020100133533 A KR1020100133533 A KR 1020100133533A KR 20100133533 A KR20100133533 A KR 20100133533A KR 101260028 B1 KR101260028 B1 KR 101260028B1
Authority
KR
South Korea
Prior art keywords
group
variant
malicious code
malware
information
Prior art date
Application number
KR1020100133533A
Other languages
English (en)
Other versions
KR20120071834A (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 KR1020100133533A priority Critical patent/KR101260028B1/ko
Priority to US13/304,981 priority patent/US20120311709A1/en
Publication of KR20120071834A publication Critical patent/KR20120071834A/ko
Application granted granted Critical
Publication of KR101260028B1 publication Critical patent/KR101260028B1/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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding

Abstract

악성코드에 대한 체계적인 관리가 가능한 악성코드 그룹 및 변종 자동 관리 시스템이 제공된다. 악성코드 그룹 및 변종 자동 관리 시스템은 악성코드 수집-분석 시스템으로부터 악성코드에 대한 분석결과를 제공받아 이를 바탕으로 악성코드에 대한 그룹 정보와 변종 정보를 추출하는 악성코드 그룹-변종 저장 모듈, 추출된 악성코드에 대한 그룹 정보와 변종 정보를 저장하는 악성코드 그룹-변종 DB, 사용자가 악성코드 그룹-변종 DB에 저장된 악성코드에 대한 그룹 정보와 변종 정보를 검색할 수 있도록 인터페이스를 제공하는 악성코드 그룹-변종 관리 모듈, 및 사용자에게 검색 결과를 출력하는 시각화 모듈을 포함하되, 악성코드 그룹-변종 관리 모듈은 악성코드 그룹-변종 DB에 저장된 악성코드에 대한 그룹 정보와 변종 정보를 이용하여, 행위 연관관계가 존재하는 악성코드들을 그룹화하여 이를 시각화 모듈을 통해 출력하고, CFG(Control Flow Graph) 유사도와 스트링(string) 유사도를 기준으로 악성코드에 대한 변종 정보를 시각화 모듈을 통해 출력한다.

Description

악성코드 그룹 및 변종 자동 관리 시스템{Automatic management system for group and mutant information of malicious code}
본 발명은 악성코드 그룹 및 변종 자동 관리 시스템에 관한 것이다.
악성코드란 악성 또는 악용 가능한 소프트웨어의 집합으로서, 바이러스, 웜, 스파이웨어, 악성 애드웨어 등 사용자와 컴퓨터에게 잠재적으로 위험이 되는 모든 소프트웨어를 총칭하는 말이다. 사전적 의미로 멀웨어(malware)는 'malicious software(악의적인 소프트웨어)'의 약자로, 사용자의 의사와 이익에 반해 시스템을 파괴하거나 정보를 유출하는 등 악의적 활동을 수행하도록 의도적으로 제작된 소프트웨어를 말한다. 국내에서는 이를 '악성코드'로 번역하며. 자기 복제와 파일 감염이 특징인 바이러스를 포함하는 더 넓은 개념이라고 할 수 있다.
이와 같은 악성코드들은 그 행위 연관관계를 기준으로 서로 그룹으로 묶을 수 있고, 또 서로 간의 변종 여부도 파악할 수 있는데, 이와 같은 그룹핑과 변종에 대한 분석은 악성 코드를 대처하는 데에 있어서 많은 시사점을 제공한다.
본 발명이 해결하고자 하는 기술적 과제는 악성코드들의 그룹 정보와 변종 정보를 체계적으로 분류하고 관리할 수 있는 악성코드 그룹 및 변종 자동 관리 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 악성코드 그룹 및 변종 자동 관리 시스템의 일 태양(aspect)은, 악성코드 수집-분석 시스템으로부터 악성코드에 대한 분석결과를 제공받아 이를 바탕으로 악성코드에 대한 그룹 정보와 변종 정보를 추출하는 악성코드 그룹-변종 저장 모듈, 추출된 악성코드에 대한 그룹 정보와 변종 정보를 저장하는 악성코드 그룹-변종 DB, 사용자가 악성코드 그룹-변종 DB에 저장된 악성코드에 대한 그룹 정보와 변종 정보를 검색할 수 있도록 인터페이스를 제공하는 악성코드 그룹-변종 관리 모듈, 및 사용자에게 검색 결과를 출력하는 시각화 모듈을 포함하되, 악성코드 그룹-변종 관리 모듈은 악성코드 그룹-변종 DB에 저장된 악성코드에 대한 그룹 정보와 변종 정보를 이용하여, 행위 연관관계가 존재하는 악성코드들을 그룹화하여 이를 시각화 모듈을 통해 출력하고, CFG(Control Flow Graph) 유사도와 스트링(string) 유사도를 기준으로 악성코드에 대한 변종 정보를 시각화 모듈을 통해 출력한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템은 하나의 악성코드에 대해 행위 연관관계가 존재하는 악성코드들을 그룹화하여 관리하고, 또 유사도에 따라 대상 악성코드의 변종 악성코드들을 체계적으로 관리한다. 따라서, 본 시스템의 사용자는 특정 악성코드에 대한 행위 연관관계가 있는 악성코드 그룹 정보와 그 변종 악성코드들을 신속하게 파악할 수 있기 때문에, 점차 다양해지고 있는 악성코드들에 대한 체계적이고 효과적인 대처가 가능하다.
도 1은 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템의 블록 구성도이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템의 악성코드 그룹-변종 DB를 구성하는 테이블들의 예시적인 관계도들이다.
도 4는 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템의 악성코드 그룹-변종 관리 모듈의 그룹 정보 검색 동작을 설명하기 위한 순서도이다.
도 5는 도 4의 그룹 정보 검색 결과를 나타낸 예시적인 출력 화면이다.
도 6은 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템의 악성코드 그룹-변종 관리 모듈의 변종 정보 검색 동작을 설명하기 위한 순서도이다.
도 7은 도 6의 변종 정보 검색 결과를 나타낸 예시적인 출력 화면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면에서 표시된 구성요소의 크기 및 상대적인 크기는 설명의 명료성을 위해 과장된 것일 수 있다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하며, "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "이루어지다(made of)"는 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하 도 1 내지 도 7을 참조하여, 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템에 대해 설명한다.
도 1은 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템의 블록 구성도이고, 도 2 및 도 3은 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템의 악성코드 그룹-변종 DB를 구성하는 테이블들의 예시적인 관계도들이다. 도 4는 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템의 악성코드 그룹-변종 관리 모듈의 그룹 정보 검색 동작을 설명하기 위한 순서도이고, 도 5는 도 4의 그룹 정보 검색 결과를 나타낸 예시적인 출력 화면이다. 도 6은 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템의 악성코드 그룹-변종 관리 모듈의 변종 정보 검색 동작을 설명하기 위한 순서도이고, 도 7은 도 6의 변종 정보 검색 결과를 나타낸 예시적인 출력 화면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템(100)은 응용 서버(200)와 DB 서버(300)를 포함할 수 있다. 여기서, 응용 서버(200)는 악성코드 그룹-변종 저장 모듈(210), 악성코드 그룹-변종 관리 모듈(220), 악성코드 그룹-변종 통계 관리 모듈(230), 악성코드 그룹-변종 공유 관리 모듈(240), 시각화 모듈(250) 및 DB 접근 모듈(260)을 포함할 수 있고, DB 서버(300)는 DB 관리 모듈(310), 악성코드 그룹-변종 DB(320), 악성코드 그룹-변종 통계 DB(340), 악성코드 그룹-변종 공유 DB(350)를 포함할 수 있다.
악성코드 그룹-변종 저장 모듈(210)은 악성코드 수집-분석 시스템(10)으로부터 악성코드에 대한 분석결과를 제공받아 이를 바탕으로 악성코드에 대한 그룹 정보와 변종 정보를 추출하는 모듈일 수 있다. 구체적으로, 악성코드 그룹-변종 저장 모듈(210)은 외부 악성코드 수집-분석 시스템(10)으로부터 악성코드에 대한 분석결과를 웹을 통해 손쉽게 정보 공유가 가능한 XML 문서 형태로 제공받고, 그 중에서 악성코드 그룹 정보와 변종 정보를 추출한 후, DB 접근 모듈(260)과 DB 관리 모듈(310)을 통하여 이를 악성코드 그룹-변종 DB(320)에 저장하는 모듈일 수 있다. 비록, 도 1에 도시하지는 않았으나, 악성코드 그룹-변종 저장 모듈(210)은 이러한 추출 및 저장 과정을 원활하게 수행하기 위해 별도의 임시 버퍼(미도시)를 추가적으로 구비할 수도 있다.
여기서, 악성코드 그룹-변종 DB(320)는 추출된 악성코드에 대한 그룹 정보와 변종 정보를 저장하는 저장소의 역할을 할 수 있는데, 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템의 악성코드 그룹-변종 DB(320)는 도 2 및 도 3에 도시된 테이블들로 구성될 수 있다.
먼저 도 2를 참조하면, 악성코드 그룹-변종 DB(320)는 악성코드 테이블(321), 악성코드 그룹관계 테이블(322), 악성코드 그룹 테이블(323), 악성코드 변종 기원(origin) 테이블(324), 악성코드 변종그룹 테이블(325), 및 비악성코드 테이블(326)을 포함할 수 있다.
악성코드 테이블(321)은 악성코드 ID를 키 값으로 가지며, 악성코드에 대한 정보를 저장하는 테이블이다. 이러한 악성코드 테이블(321)은 악성코드명, 타입, 해쉬값, 수집채널, 수집주소, 분류코드, 분석일자, 크기, 변종 기원 ID, CFG(Control Flow Graph) 유사도, 악성코드링크 등의 필드를 갖는다. 여기서 악성코드명 필드는 악성코드의 진단명을 나타내는 필드이고, 타입은 악성코드 파일의 타입을 나타내는 필드로, 예를 들어, 악성코드가 PDF인지, Script인지, txt인지 구별할 수 있게 해준다. 해쉬값 필드는 예를 들어, MD5, SHA1 등의 해쉬 함수를 이용하여 파일 전체에 대해 얻은 해쉬값을 나타내고, 수집채널 필드는 악성코드가 수집된 경로를 나타내는 필드로, 예를 들어, 악성코드 수집 경로가 스팸 메일인지, 웹인지 구별할 수 있게 해준다. 수집주소 필드는 수집된 경로에 대한 URL 주소를 나타내는 필드이고, 분류코드 필드는 악성코드를 분류하는 고유의 코드값 정보를 갖는다. 분석일자 필드는 악성코드에 대한 분석을 행한 일자를 나타내는 필드이고, 크기 필드는 악성코드의 크기 정보에 관한 필드이다. 변종 기원 ID 필드는 입력된 악성코드와 CFG(Control Flow Graph)를 이용하여 악성코드 명령어들의 유사도를 측정한 결과 가장 유사한 악성코드의 ID를 나타내는 필드이고, CFG 유사도 필드는 CFG 분석 결과를 나타내는 필드이다. 마지막으로 악성코드링크 필드는 악성코드를 다운받을 수 있는 저장 위치 주소를 나타내는 필드이다.
악성코드 그룹관계 테이블(322)은 악성코드 테이블(321)과 악성코드 그룹 테이블(323)간의 관계를 설정하는 테이블로써, 악성코드 ID와 악성코드 그룹 ID를 키 값으로 갖는다. 하나의 악성코드는 여러 악성코드 그룹에 속할 수 있기 때문에, 악성코드 그룹관계 테이블(322)과 악성코드 테이블(321)은 N:1의 관계를 가질 수 있다. 이러한 악성코드 그룹관계 테이블(322)은 악성코드 테이블(321)과 악성코드 그룹 테이블(323)을 직접 연결하는 경우, 필요에 따라서는 생략도 가능하다.
악성코드 그룹 테이블(323)은 악성코드 그룹 ID를 키 값으로 가지며, 행위 연관관계가 존재하는 악성코드들의 집합을 의미한다. 이러한 악성코드 그룹 테이블(323)은 그룹 기원 ID, 악성코드 개수, 비악성코드 개수, 분석일자 등의 필드를 갖는다. 그룹 기원 ID 필드는 행위 연관관계 중 최상위 행위를 수행하는 악성코드에 대한 ID를 나타내는 필드이며, 악성코드 개수 필드는 악성코드 그룹에 포함된 악성코드의 개수를 나타내는 필드이고, 비악성코드 개수 필드는 악성코드 그룹에 포함된 비악성코드의 개수를 나타내는 필드이다. 이에 관한 보다 자세한 설명은 추후 본 발명의 악성코드 그룹-변종 관리 모듈(220)의 동작을 설명하면서 추가적으로 하기로 한다. 이러한 악성코드 그룹 테이블(323)은 악성코드 그룹관계 테이블(322)과 1:M의 관계를 가질 수 있다. 따라서 결론적으로 악성코드 그룹 테이블(323)과 악성코드 테이블(321)은 M:N의 관계를 가질 수 있다.
악성코드 변종 기원 테이블(324)은 변종 기원 ID를 키 값으로 가지며, 변종 기원과 유사도를 갖는 변종 악성코드에 대한 정보를 저장하는 테이블이다. 이러한 악성코드 변종 기원 테이블(324)은 변종개수, 분석일자 등의 필드를 갖는다. 여기서 변종개수 필드는 변종 기원과 유사도를 갖는 변종 악성코드의 개수를 나타내는 필드이고, 분석일자는 분석이 수행된 일자를 나타내는 필드이다. 하나의 변종 기원과 유사도를 갖는 여러 가지의 악성코드가 존재할 수 있는바, 이러한 악성코드 변종 기원 테이블(324)은 악성코드 테이블(321)과 1:N의 관계를 가질 수 있다.
악성코드 변종그룹 테이블(325)은 서로 변종간인 악성코드 ID들을 키 값으로 가지며, 서로 변종 관계에 있는 악성코드간 스트링(string) 유사도를 저장하는 테이블이다. 이러한 악성코드 변종그룹 테이블(325)은 스트링 유사도 필드와 분석일자 필드를 갖는다. 스트링 유사도 필드는 앞서 설명한 바와 같이, 서로 변종 관계에 있는 악성코드간에 스트링 측면(즉, 나열된 문자열 패턴 등의 측면)에서 유사도를 계량화 하여 나타내는 필드이고, 분석일자는 분석이 수행된 일자를 나타내는 필드이다. 하나의 악성코드는 여러 변종과 스트링 유사도를 측정할 수 있는바, 이러한 악성코드 변종그룹 테이블(325)은 악성코드 테이블(321)과 N:1의 관계를 가질 수 있다.
비악성코드 테이블(326)은 비악성코드 ID를 키 값으로 가지며, 악성코드가 아닌 일반 파일에 대한 정보를 저장하는 테이블이다. 이러한 비악성코드 테이블(326)은 파일명, 타입, 해쉬값, 크기, 분석일자 및 악성코드 ID 필드를 가질 수 있는데, 이 중 파일명, 타입, 해쉬값, 크기, 분석일자 필드는 앞서 설명한 바로 그 내용이 유추 가능한바 자세한 설명은 생략하도록 한다. 악성코드 ID 필드는 현재 대상인 비악성코드(즉, 일반 파일)과 행위 연관관계가 존재하는 악성코드의 ID를 의미한다. 즉, 예를 들어 A라는 악성코드가 비악성코드인 일반 파일(예를 들어, Down2.txt)을 다운로드하게 하는 행위 특성이 있다면, 이 일반 파일(예를 들어, Down2.txt)의 악성코드 ID 필드에는 A가 저장되게 된다. 하나의 악성코드는 여러 일반 파일과 행위 연관관계가 있을 수 있는바, 이러한 비악성코드 테이블(326)은 악성코드 테이블(321)과 N:1의 관계를 가질 수 있다.
다음 도 3을 참조하면, 악성코드 그룹-변종 DB(320)는 악성코드 행위 관련 테이블들을 포함할 수 있다. 악성코드 행위 관련 테이블들은 악성 코드 행위에 따른 정보를 저장하는 테이블들로, 예를 들어, 도 3에 도시된 것과 같이 파일행위 테이블(331), 프로세스행위 테이블(332), 네트워크행위 테이블(333), 레지스트리행위 테이블(334), 메모리행위 테이블(335)을 포함할 수 있다. 각각의 테이블(331~335)은 각 행위에 따른 특성을 저장할 수 있는 다양한 필드를 가지고 있으며, 해당 행위를 수행하는 다른 악성코드 ID 필드도 가질 수 있다. 즉, B라는 악성코드가 C라는 악성코드를 다운로드 하는 행위를 할 경우, B 악성코드의 파일행위와 연관된 다른 악성코드 ID 필드에는 C가 저장된다. 하나의 악성코드는 여러가지 행위 특성을 가질 수 있는바, 이러한 악성코드 행위 관련 테이블은 악성코드 테이블(321)과 N:1의 관계를 가질 수 있다.
다시 도 1을 참조하면, 악성코드 그룹-변종 관리 모듈(220)은 사용자가 악성코드 그룹-변종 DB(320)에 저장된 악성코드에 대한 그룹 정보와 변종 정보를 검색할 수 있도록 인터페이스를 제공하는 모듈일 수 있다.
구체적으로, 사용자가 특정한 악성코드에 대해 그룹 정보를 검색할 경우, 악성코드 그룹-변종 관리 모듈(220)은 악성코드 그룹-변종 DB(320)에 저장된 그룹 정보와 변종 정보 중에서, 검색 대상인 악성코드와 행위 연관관계가 존재하는 악성코드들을 그룹화하고, 이를 시각화 모듈(250)을 통해 사용자에게 출력할 수 있다. 이하 도 4 및 도 5를 참조하여, 이러한 악성코드 그룹-변종 관리 모듈(220)의 동작에 대해 설명한다.
도 4 및 도 5를 참조하면, 검색 대상인 악성코드를 선택한다(S100). 그리고, 선택된 악성코드에 대해 행위 연관관계가 존재하는 악성코드 그룹에 대해 검색한다(S110). 여기에는 앞서 설명한 악성코드 그룹-변종 DB(320)의 악성코드 테이블(321), 악성코드 그룹관계 테이블(322) 및 악성코드 그룹 테이블(323)이 이용될 수 있다.
악성코드 그룹이 존재 한다면, 악성코드 그룹 기원을 검색한다(S130). 악성코드 그룹 기원이 검색되면, 악성코드 그룹 기원의 행위 관련 테이블을 이용하여 악성코드 그룹 기원의 행위를 검색한다(S140). 그 결과, 악성코드 그룹 기원이 행위를 통해 다른 악성코드와 관계(예를 들어, 다른 악성코드를 다운로드, 생성)를 가지면, 관계를 갖는 새로운 악성코드를 악성코드 리스트에 추가하고 이를 도 5에 도시된 것과 같이 시각화 모듈(250)을 통해 사용자에게 출력한다(S150~S180). 만약, 악성코드 그룹 기원이 행위를 통해 다른 파일과 관계를 가지나, 관계를 갖는 파일이 악성코드가 아니라면, 이를 악성코드 리스트에는 추가하지 않고 시각화 모듈(250)을 통해 출력한다(S150, S160, S180). 출력이 끝나면 다시 다른 행위와 관련되어 관계를 갖는 악성코드 및 일반 파일이 있는지 검색한다(S140).
이와 관련하여 도 5를 참조하면, 악성코드 그룹 기원 KISA-11-Worm 100110110은 Down1.txt와 KISA-23-Troy 110001100과 행위 연관관계를 갖게 되는데, Down1.txt는 악성코드가 아닌 일반 파일이므로, 악성코드 리스트에 추가되지 않고 바로 출력되며, KISA-23-Troy 110001100의 경우 악성코드이므로, 악성코드 리스트에 추가한 후 이를 출력한다.
다시 도 4를 참조하면, 악성코드 그룹 기원의 행위관련 검색 결과가 더 이상 존재하지 않는 경우, 악성코드 리스트에 저장된 악성코드를 패치한다(S190). 그 결과, 악성코드가 존재한다면, 그 악성코드에 대한 행위관련 검색을 다시 반복한다(S195). 즉, 앞의 도 5의 예에서, 악성코드 그룹 기원 KISA-11-Worm 100110110에 대한 행위 관련 검색이 끝난 경우, 이제 악성코드 리스트에 존재하는 KISA-23-Troy 110001100에 대해 악성코드 그룹 기원 KISA-11-Worm 100110110과 같은 과정을 반복한다.
악성코드 리스트에 더 이상 악성코드가 존재하지 않는 경우, 다른 악성코드 그룹을 검색한다(S195, S110). 앞서 설명한 것과 같이 검색 대상 악성코드는 행위 연관관계가 존재하는 여러 그룹에 속할 수 있는바, 검색 대상 악성코드가 속한 모든 그룹을 검색하여 도 5에 도시된 것과 같이 출력한다. 검색결과, 검색 대상 악성코드가 속한 그룹이 더 이상 검색되지 않으면, 그룹 정보 검색을 종료한다.
다음 사용자가 특정한 악성코드에 대해 변종 정보를 검색할 경우, 악성코드 그룹-변종 관리 모듈(220)은 악성코드 그룹-변종 DB(320)에 저장된 악성코드 그룹 정보와 악성코드 변종 정보 중에서, 검색 대상인 악성코드의 변종 기원 및 변종 악성코드들을 검색하고, 변종 악성코드들을 스트링 유사도를 기준으로 시각화 모듈(250)을 통해 출력할 수 있다. 이하 도 6 및 도 7을 참조하여, 이러한 악성코드 그룹-변종 관리 모듈(220)의 동작에 대해 설명한다.
도 6 및 도 7을 참조하면, 검색 대상인 악성코드를 선택한다(S200). 그리고, 선택된 악성코드에 대해 변종 기원을 검색한다(S210). 여기에서는 앞서 설명한 변종 기원 테이블(324)이 이용될 수 있다.
변종 기원이 검색되면 이를 시각화 모듈(250)을 통해, 도 7에 도시된 것과 같이 출력한다. 여기서 변종 기원은 앞서 설명한 바와 같이, 사용자가 변종 정보를 검색한 악성코드와 CFG(Control Flow Graph)를 이용하여 악성코드의 명령어들의 유사도를 측정한 결과 가장 유사한 악성코드일 수 있다.
그 다음 검색 대상인 악성코드의 변종 악성코드들을 검색한다(S230). 여기에서는 앞서 설명한 변종 그룹 테이블(325)가 이용될 수 있다. 검색 결과 변종 악성코드들이 존재하면 변종 악성코드들을 시각화 모듈(250)을 통해, 도 7에 도시된 것과 같이 출력한다(S240, S250). 이 때, 변종 악성코드들은 스트링 유사도가 높은 순서로 출력될 수 있다. 변종 그룹 테이블(325) 내에서 더 이상 변종 악성코드가 검색되지 않으면 변종 정보 검색을 종료한다.
다시 도 1을 참조하면, 악성코드 그룹-변종 통계 관리 모듈(230)은 악성코드 그룹-변종 DB(320)에 저장된 그룹 정보와 변종 정보에 대한 통계자료를 생성하는 모듈일 수 있다. 이렇게 생성된 통계자료는 악성코드 그룹-변종 통계 DB(340)에 저장될 수 있다. 한편, 악성코드 그룹-변종 통계 관리 모듈(230)은 이렇게 생성한 통계자료를 시각화 모듈(250)을 통해 사용자에게 제공할 수도 있다.
악성코드 그룹-변종 공유 관리 모듈(240)은 외부 시스템(20)으로부터 악성코드에 대한 그룹 정보와 변종 정보의 공유 요청을 제공받고, 이에 응답하여 악성코드 악성코드 그룹-변종 DB(320)에 저장된 그룹 정보와 변종 정보를 악성코드 그룹-변종 공유 DB(350)에 저장하고, 이를 외부 시스템(20)으로 전달하는 모듈일 수 있다. 악성코드에 대한 정보는 악성코드 침해사고 예방과 대응 측면에서, 외부적으로 공유하는 것이 매우 중요한데, 본 발명의 악성코드 그룹 및 변종 자동 관리 시스템에서는 이를 위해 이처럼 별도의 악성코드 그룹-변종 공유 관리 모듈(240)을 두고 있다. 이처럼 외부 시스템(20)으로 전달되는 악성코드에 대한 그룹 정보와 변종 정보는 웹을 통해 손쉽게 공유가 가능한 XML 문서 형태로 전달되므로, 악성코드들 간의 행위 연관관계를 손쉽게 파악하고 변종 정보를 빠르게 인지할 수 있기 때문에, 악성코드에 대한 효율적인 대처가 가능하다.
시각화 모듈(250)은 사용자에게 제공되는 정보를 시각화하는 모듈로서, 악성코드 그룹-변종 관리 모듈(220)을 통해 사용자가 검색한 그룹 정보 및 변종 정보와, 악성코드 그룹-변종 통계 관리 모듈(230)이 생성한 통계자료와, 악성코드 그룹-변종 공유 관리 모듈(240)이 외부 시스템(20)과 공유한 정보를 사용자가 쉽게 인지할 수 있도록 시각화하여 출력할 수 있다. 즉, 사용자가 도 5 및 도 7에 도시된 것과 같이 사용자가 검색한 악성코드에 대한 그룹 정보 및 변종 정보를 한눈에 파악할 수 있도록, 시각화 모듈(250)은 다양한 GUI(Graphic User Interface)를 가지고 있을 수 있다.
응용 서버(200)의 DB 접근 모듈(260)은 DB 서버(300)의 DB 관리 모듈(350)과 함께 DB 서버(300)에 포함된 각종 DB들(320, 340, 350)에 저장된 정보의 저장, 검색, 삭제 및 갱신에 이용된다. 즉, DB 접근 모듈(260)과 DB 관리 모듈(350)은 정보의 저장, 검색, 삭제 및 갱신에 관련된 각종 트랜잭션을 생성하고 이를 처리하는 역할을 한다.
이처럼, 본 발명의 일 실시예에 따른 악성코드 그룹 및 변종 자동 관리 시스템(100)은 하나의 악성코드에 대해 행위 연관관계가 존재하는 악성코드들을 그룹화하여 관리하고, 또 유사도에 따라 대상 악성코드의 변종 악성코드들을 체계적으로 관리한다. 따라서, 본 시스템의 사용자는 특정 악성코드에 대한 행위 연관관계가 있는 악성코드 그룹 정보와 그 변종 악성코드들을 신속하게 파악할 수 있기 때문에, 점차 다양해지고 있는 악성코드들에 대한 체계적이고 효과적인 대처가 가능하다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
10: 악성코드 수집-분석 시스템 20: 외부 시스템
100: 악성코드 그룹 및 변종 자동 관리 시스템
210: 악성코드 그룹-변종 저장 모듈
220: 악성코드 그룹-변종 관리 모듈
230: 악성코드 그룹-변종 통계 관리 모듈
240: 악성코드 그룹-변종 공유 관리 모듈
250: 시각화 모듈 260: DB 접근 모듈
310: DB 관리 모듈 320: 악성코드 그룹-변종 DB
340: 악성코드 그룹-변종 통계 DB
350: 악성코드 그룹-변종 공유 DB

Claims (8)

  1. 악성코드 수집-분석 시스템으로부터 악성코드에 대한 분석결과를 제공받아 이를 바탕으로 상기 악성코드에 대한 그룹 정보와 변종 정보를 추출하는 악성코드 그룹-변종 저장 모듈;
    상기 추출된 악성코드에 대한 그룹 정보와 변종 정보를 저장하는 악성코드 그룹-변종 DB;
    사용자가 상기 악성코드 그룹-변종 DB에 저장된 악성코드에 대한 그룹 정보와 변종 정보를 검색할 수 있도록 인터페이스를 제공하는 악성코드 그룹-변종 관리 모듈; 및
    상기 사용자에게 상기 검색 결과를 출력하는 시각화 모듈을 포함하되,
    상기 악성코드 그룹-변종 관리 모듈은 상기 악성코드 그룹-변종 DB에 저장된 악성코드에 대한 그룹 정보와 변종 정보를 이용하여, 행위 연관관계가 존재하는 악성코드들을 그룹화하여 이를 상기 시각화 모듈을 통해 출력하고, CFG(Control Flow Graph) 유사도와 스트링(string) 유사도를 기준으로 악성코드에 대한 변종 정보를 상기 시각화 모듈을 통해 출력하고,
    상기 악성코드 그룹-변종 DB는 악성코드 테이블, 악성코드 그룹 테이블, 악성코드 행위 관련 테이블, 및 변종그룹 테이블을 포함하고,
    상기 악성코드 그룹-변종 관리 모듈은,
    상기 사용자가 악성코드에 대한 그룹 정보를 검색하면 상기 악성코드 테이블로부터 상기 악성코드가 속한 그룹을 검색하고,
    상기 그룹에 대응하는 상기 악성코드 그룹 테이블로부터 악성코드 그룹 기원을 검색하고,
    상기 악성코드 그룹 기원과 행위 연관관계과 존재하는 모든 악성코드들을 상기 악성코드 행위 관련 테이블을 이용하여 검색하고,
    그 결과를 상기 시각화 모듈을 통하여 출력하는 악성코드 그룹 및 변종 자동 관리 시스템.
  2. 삭제
  3. 삭제
  4. 제 1항에 있어서,
    상기 악성코드 그룹-변종 관리 모듈은,
    상기 사용자가 악성코드에 대한 변종 정보를 검색하면 상기 악성코드 테이블로부터 상기 악성코드의 변종 기원을 검색하고,
    상기 악성코드 변종 기원을 상기 시각화 모듈을 통하여 출력하고,
    상기 변종 그룹 테이블로부터 변종 악성코드들을 검색하여 상기 시각화 모듈을 통하여 출력하되, 상기 스트링 유사도 순서로 상기 변종 악성코드들을 출력하는 악성코드 그룹 및 변종 자동 관리 시스템.
  5. 제 4항에 있어서,
    상기 악성코드의 변종 기원은 상기 사용자가 변종 정보를 검색한 악성코드와 상기 CFG(Control Flow Graph)를 이용하여 악성코드의 명령어들의 유사도를 측정한 결과 가장 유사한 악성코드인 악성코드 그룹 및 변종 자동 관리 시스템.
  6. 제 1항에 있어서,
    상기 악성코드 수집-분석 시스템으로부터 제공되는 상기 악성코드에 대한 분석결과는 XML 문서 형태로 제공되는 악성코드 그룹 및 변종 자동 관리 시스템.
  7. 제 1항에 있어서,
    상기 악성코드 그룹-변종 DB에 저장된 상기 그룹 정보와 변종 정보에 대한 통계자료를 생성하는 악성코드 그룹-변종 통계 관리 모듈과,
    외부 시스템으로부터 상기 악성코드에 대한 그룹 정보와 변종 정보에 대한 공유 요청을 제공받고, 이에 응답하여 상기 악성코드 그룹-변종 DB에 저장된 상기 그룹 정보와 변종 정보를 상기 외부 시스템으로 전달하는 악성코드 그룹-변종 공유 관리 모듈을 더 포함하는 악성코드 그룹 및 변종 자동 관리 시스템.
  8. 제 7항에 있어서,
    상기 외부 시스템으로 전달되는 상기 악성코드 그룹-변종 DB에 저장된 상기 그룹 정보와 변종 정보는 XML 문서 형태로 전달되는 악성코드 그룹 및 변종 자동 관리 시스템.
KR1020100133533A 2010-12-23 2010-12-23 악성코드 그룹 및 변종 자동 관리 시스템 KR101260028B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100133533A KR101260028B1 (ko) 2010-12-23 2010-12-23 악성코드 그룹 및 변종 자동 관리 시스템
US13/304,981 US20120311709A1 (en) 2010-12-23 2011-11-28 Automatic management system for group and mutant information of malicious codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100133533A KR101260028B1 (ko) 2010-12-23 2010-12-23 악성코드 그룹 및 변종 자동 관리 시스템

Publications (2)

Publication Number Publication Date
KR20120071834A KR20120071834A (ko) 2012-07-03
KR101260028B1 true KR101260028B1 (ko) 2013-05-06

Family

ID=46706739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100133533A KR101260028B1 (ko) 2010-12-23 2010-12-23 악성코드 그룹 및 변종 자동 관리 시스템

Country Status (2)

Country Link
US (1) US20120311709A1 (ko)
KR (1) KR101260028B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101930293B1 (ko) 2017-09-12 2018-12-18 연세대학교 산학협력단 정적 분석과 동적 분석을 이용하여 변종 악성코드를 식별하는 장치 및 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140064057A (ko) * 2012-11-19 2014-05-28 한국인터넷진흥원 웹사이트 악성여부 고속 판별방법
US8949218B2 (en) * 2012-12-26 2015-02-03 Teradata Us, Inc. Techniques for join processing on column partitioned tables
US8972381B2 (en) * 2012-12-26 2015-03-03 Teradata Us, Inc. Techniques for three-step join processing on column partitioned tables
US9710646B1 (en) * 2013-02-26 2017-07-18 Palo Alto Networks, Inc. Malware detection using clustering with malware source information
US9749336B1 (en) 2013-02-26 2017-08-29 Palo Alto Networks, Inc. Malware domain detection using passive DNS
WO2015001970A1 (ja) * 2013-07-05 2015-01-08 日本電信電話株式会社 不正アクセス検知システム及び不正アクセス検知方法
US9241010B1 (en) * 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
KR101720686B1 (ko) * 2014-10-21 2017-03-28 한국전자통신연구원 시각화 유사도 기반 악성 어플리케이션 감지 장치 및 감지 방법
KR101589652B1 (ko) * 2015-01-19 2016-01-28 한국인터넷진흥원 행위 기반 악성 코드 변종 탐지 조회 시스템 및 방법
KR101794187B1 (ko) * 2016-01-19 2017-11-06 한국인터넷진흥원 침해 사고 정보를 관리하기 위한 방법과 침해 사고 관리 시스템, 및 컴퓨터 판독 가능한 매체
KR101832295B1 (ko) * 2016-01-26 2018-02-26 한국인터넷진흥원 침해정보 인텔리젼스 분석 시스템
US20190156024A1 (en) * 2017-11-20 2019-05-23 Somansa Co., Ltd. Method and apparatus for automatically classifying malignant code on basis of malignant behavior information
KR101839747B1 (ko) * 2017-11-27 2018-03-19 한국인터넷진흥원 악성코드 정보의 시각화 장치 및 그 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069589B2 (en) * 2000-07-14 2006-06-27 Computer Associates Think, Inc.. Detection of a class of viral code
FI113499B (fi) * 2002-09-12 2004-04-30 Jarmo Talvitie Turvajärjestelmä, menetelmä ja laite tietokonevirusten torjumiseksi sekä tiedon eristämiseksi
US20050262567A1 (en) * 2004-05-19 2005-11-24 Itshak Carmona Systems and methods for computer security
US20070094734A1 (en) * 2005-09-29 2007-04-26 Mangione-Smith William H Malware mutation detector
WO2007117582A2 (en) * 2006-04-06 2007-10-18 Smobile Systems Inc. Malware detection system and method for mobile platforms
US8365286B2 (en) * 2006-06-30 2013-01-29 Sophos Plc Method and system for classification of software using characteristics and combinations of such characteristics
US8261344B2 (en) * 2006-06-30 2012-09-04 Sophos Plc Method and system for classification of software using characteristics and combinations of such characteristics
US8171554B2 (en) * 2008-02-04 2012-05-01 Yuval Elovici System that provides early detection, alert, and response to electronic threats
US8635694B2 (en) * 2009-01-10 2014-01-21 Kaspersky Lab Zao Systems and methods for malware classification
US9449175B2 (en) * 2010-06-03 2016-09-20 Nokia Technologies Oy Method and apparatus for analyzing and detecting malicious software

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
정보보호학회논문지 제19권 제2호

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101930293B1 (ko) 2017-09-12 2018-12-18 연세대학교 산학협력단 정적 분석과 동적 분석을 이용하여 변종 악성코드를 식별하는 장치 및 방법

Also Published As

Publication number Publication date
KR20120071834A (ko) 2012-07-03
US20120311709A1 (en) 2012-12-06

Similar Documents

Publication Publication Date Title
KR101260028B1 (ko) 악성코드 그룹 및 변종 자동 관리 시스템
Milajerdi et al. Poirot: Aligning attack behavior with kernel audit records for cyber threat hunting
US10685111B2 (en) File-modifying malware detection
CN106462703B (zh) 补丁文件分析系统与分析方法
US9237161B2 (en) Malware detection and identification
US8375450B1 (en) Zero day malware scanner
US9300682B2 (en) Composite analysis of executable content across enterprise network
CN102592103B (zh) 文件安全处理方法、设备及系统
US20150207811A1 (en) Vulnerability vector information analysis
US20070006310A1 (en) Systems and methods for identifying malware distribution sites
EP2560120B1 (en) Systems and methods for identifying associations between malware samples
US20120102569A1 (en) Computer system analysis method and apparatus
KR100968126B1 (ko) 웹쉘 탐지 시스템 및 웹쉘 탐지 방법
US8739283B1 (en) Automatic generation of malware clean pattern
EP3455773A1 (en) Inferential exploit attempt detection
US20150213272A1 (en) Conjoint vulnerability identifiers
KR101222178B1 (ko) 악성코드 dna 및 메타데이터 자동 관리 시스템
Huang et al. Android malware development on public malware scanning platforms: A large-scale data-driven study
Abela et al. An automated malware detection system for android using behavior-based analysis AMDA
CN111183620B (zh) 入侵调查
Li et al. Ungrafting malicious code from piggybacked android apps
Fu et al. Data correlation‐based analysis methods for automatic memory forensic
Akram et al. DroidMD: an efficient and scalable android malware detection approach at source code level
KR101328641B1 (ko) 악성코드 통합정보 생성 시스템 및 이를 포함하는 악성코드 통합관리 시스템
WO2019123757A1 (ja) 分類装置、分類方法、および、分類プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee