KR20230055096A - 전자 장치의 사이버 보안 리포트 생성 방법 - Google Patents

전자 장치의 사이버 보안 리포트 생성 방법 Download PDF

Info

Publication number
KR20230055096A
KR20230055096A KR1020210138378A KR20210138378A KR20230055096A KR 20230055096 A KR20230055096 A KR 20230055096A KR 1020210138378 A KR1020210138378 A KR 1020210138378A KR 20210138378 A KR20210138378 A KR 20210138378A KR 20230055096 A KR20230055096 A KR 20230055096A
Authority
KR
South Korea
Prior art keywords
information
behavior
malicious
malicious code
sdo
Prior art date
Application number
KR1020210138378A
Other languages
English (en)
Other versions
KR102535251B1 (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 KR1020210138378A priority Critical patent/KR102535251B1/ko
Publication of KR20230055096A publication Critical patent/KR20230055096A/ko
Application granted granted Critical
Publication of KR102535251B1 publication Critical patent/KR102535251B1/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
    • 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/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 Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer And Data Communications (AREA)

Abstract

데이터베이스로부터 공격자 정보를 포함하는 CTI(Cyber Threat Intelligence, 사이버 위협 인텔리전스) 정보를 확인하고, CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위(Malicious behavior)를 확인하고, 공격자 정보, 악성코드 카테고리 및 대표적 악성 행위 사이의 관계 정보를 포함하는 사이버 보안 리포트를 생성하는 전자 장치 및 그의 동작 방법을 제공한다.

Description

전자 장치의 사이버 보안 리포트 생성 방법{CYBER SECURITY REPORT GENERATION METHOD OF ELECTRONIC APPARATUS}
본 개시는 전자 장치의 사이버 보안 리포트 생성 방법에 관한 것이다.
사이버 보안을 위협하는 공격이 지속적으로 증가하고 발전함에 따라 공격 행위 및 공격자의 의도를 분석할 수 있는 효율적인 보안 매커니즘의 개발이 필요하다. 이러한 보안 메커니즘을 개발하려면 일반적으로 공격자의 정보가 포함된 CTI (Cyber Threat Intelligence, 사이버 위협 인텔리전스) 데이터를 수집하거나 공격자가 사용한 악성코드의 행위를 분석하여 CTI 데이터를 기반으로 사이버 보안 리포트를 작성해야 한다. 그러나 실제로 공유되는 CTI 는 공격자가 사용한 악성코드 해시 정보만을 포함한다. 또한, 급속도로 성장하는 악성코드에 반하여 실제로 악성코드 행위 분석 및 CTI 데이터 작성은 경험이 풍부한 소수의 보안 분석가가 수동으로 구성해야하는 제약이 따른다.
본 발명에 따르면, 악성 코드 해시 등 한정된 정보를 처리하여 공격 분석에 도움이 되는 보다 다양한 정보를 포함한 보안 리포트를 생성할 수 있다. 또한, 사이버 보안 리포트 생성 프로세스가 자동화 될 수 있다.
본 발명이 이루고자 하는 기술적 과제는 상기된 바와 같은 과제로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
일 실시예에 따라, 전자 장치의 사이버 보안 리포트 생성 방법에 있어서, 데이터베이스로부터 공격자 정보를 포함하는 CTI(Cyber Threat Intelligence, 사이버 위협 인텔리전스) 정보를 확인하는 단계; 상기 CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위(Malicious behavior)를 확인하는 단계; 및 상기 공격자 정보, 상기 악성코드 카테고리 및 상기 대표적 악성 행위 사이의 관계 정보를 포함하는 사이버 보안 리포트를 생성하는 단계를 포함할 수 있다.
일 실시예에 따라, 전자 장치로서, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써, 데이터베이스로부터 공격자 정보를 포함하는 CTI정보를 확인하고, 상기 CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위를 확인하고, 상기 공격자 정보, 상기 악성코드 카테고리 및 상기 대표적 악성 행위 사이의 관계 정보를 포함하는 사이버 보안 리포트를 생성하는 프로세서를 포함할 수 있다.
일 실시예에 따라, 컴퓨터로 읽을 수 있는 기록매체는 상술한 동작 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 비일시적 기록매체를 포함할 수 있다.
기타 실시예들의 구체적인 사항은 상세한 설명 및 도면들에 포함된다.
본 개시에 따른 사이버 보안 리포트 생성 방법 및 장치는, 다양한 출처로부터 CTI 정보를 수집하여 데이터에 포함된 악성코드의 행위 분석을 용이하게 한다.
또한, 본 개시에 따르면, 악성코드 분석을 통해서 자동으로 사이버 보안 리포트를 생성하여 보안 분석가가 별도로 위협 데이터를 분석하는 작업을 하지 않더라도 사이버 위협을 용이하게 분석 및 탐지할 수 있는 이점이 있다.
발명의 효과는 이상에서 언급한 효과만으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있다.
도 1 은 본 개시에 따른 전자 장치를 나타낸다.
도 2 는 본 개시에 따른 실시예의 개략적인 정보 흐름을 나타낸다.
도 3 은 본 개시에 따른 정보의 구체적인 실시예와 변환과정을 나타낸다.
도 4 는 본 개시에 따른 정보의 구체적인 실시예와 변환과정을 나타낸다.
도 5 는 본 개시에 따른 방법의 일 실시예를 나타낸다.
본 개시에 기술된 실시예는 본 개시를 제한하는 것이 아니라 예시하는 것이고, 통상의 기술자는 첨부된 청구범위에 의해 정의된 본 개시의 범주를 벗어나지 않으면서, 다수의 대안적인 실시예를 설계할 수 있다. 실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
달리 반대되는 기재가 없는 한, 본 명세서에서 "악성코드"또는 "멀웨어(Malware)"는 사용자의 컴퓨터 시스템에 악영향을 끼칠 수 있는 모든 소프트웨어를 총칭한다.
달리 반대되는 기재가 없는 한, 본 명세서에서 "CTI(Cyber Threat Intelligence) 정보"또는 "사이버 위협 인텔리전스"는 현존하거나 발생 가능한 사이버 위협에 대한 공격자 정보, 맥락(context), 메커니즘, 지표, 예상결과 및 실행 가능한 조언 등을 포함하는 증거 기반(evidence based)의 지식을 의미한다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 반대되는 기재가 존재하지 않는 한, 단수는 물론 복수를 모두 포함한다.
본 명세서 전체에서 어떤 부분이 어떤 구성요소들 또는 어떤 단계들을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 어떤 부분이 구성요소들 또는 단계들을 반드시 모두 포함해야 하는 것은 아니고, 청구범위 또는 명세서 전체에 열거된 것 이외의 구성요소 또는 단계가 포함되는 것을 배제하는 것도 아니며, 단지 이들을 더 포함할 수 있음을 의미한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 서수를 포함하는 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 문맥상 명세서의 일 부분에서 일 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 명세서의 다른 부분에서 제2 구성요소로 명명될 수 있고, 반대로 제2 구성요소도 명세서의 다른 부분에서 제1 구성요소로 명명될 수 있다.
본 명세서에서 "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 명세서(특히 청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 재배열되어 행해질 수 있고, 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 통상의 기술자는 본 명세서에 개시된 실시예에 설계 조건 및 팩터에 따라 다양한 수정, 조합 및 변경을 부가하여 특허청구범위 또는 그 균등물의 범주에 속하는 새로운 실시예를 구성할 수 있다.
이하에서는 도면을 참조하여 본 개시의 실시예를 설명한다.
도 1 는 본 개시의 적어도 하나의 실시예를 실행하는데 사용될 수 있는 전자 장치(100)의 예시적이고 단순화된 블록도를 나타낸다. 다양한 실시예에서, 전자 장치(100)는 본 개시에서 서술된 임의의 시스템 또는 방법을 구현하는데 사용될 수 있다. 예를 들어, 전자 장치(100)는 데이터 서버, 웹 서버, 휴대용 컴퓨팅 디바이스, 개인용 컴퓨터, 태블릿 컴퓨터, 워크스테이션, 휴대폰, 스마트 폰(smart phone) 또는 아래에서 서술되는 임의의 다른 디바이스를 포함하는 임의의 전자 장치로서 사용되도록 구성될 수 있다.
전자 장치(100)는 메모리(120) 및 메모리(120)와 통신하도록 구성될 수 있는 하나 이상의 캐시 메모리 및 메모리 제어기를 갖는 하나 이상의 프로세서(110)를 포함할 수 있다. 추가적으로, 전자 장치(100)는 하나 이상의 포트(예컨대, USB(Universal Serial Bus), 헤드폰 잭, 라이트닝(Lightning) 커넥터, 썬더볼트(Thunderbolt) 커넥터 등)를 통해 전자 장치(100)에 연결될 수 있는 다른 디바이스를 포함할 수 있다. 전자 장치(100)에 연결될 수 있는 디바이스는 광섬유 커넥터를 수용하도록 구성되는 복수의 포트를 포함할 수 있다. 도시된 전자 장치(100)의 구성은 디바이스의 바람직한 실시예를 예시할 목적으로 특정 예시로서만 의도된다. 도시된 전자 장치(100)에는 본 실시예들과 관련된 구성요소들만이 도시되어 있다. 따라서, 전자 장치(100)에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 당해 기술분야의 통상의 기술자에게 자명하다.
프로세서(110)는 전자 장치(100)가 본 개시에서 서술된 임의의 실시예의 단계 또는 기능을 제공하도록 하기 위해 이용될 수 있다. 예를 들어, 프로세서(110)는 전자 장치(100) 내의 메모리(120)에 저장된 프로그램들을 실행함으로써, 전자 장치(100)를 전반적으로 제어한다. 프로세서(110)는 전자 장치(100) 내에 구비된 CPU(central processing unit), GPU(graphics processing unit), AP(application processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다.
메모리(120)는 전자 장치(100) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 메모리(120)는 전자 장치(100)에서 프로세서(110)를 통해 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 또한, 메모리(120)는 본 개시의 적어도 하나의 실시예의 기능을 제공할 수 있는 기본 프로그래밍 및 데이터 구조를 저장하는 것은 물론, 본 개시의 실시예의 기능을 제공할 수 있는 애플리케이션들(프로그램, 코드 모듈, 명령어), 드라이버들 등을 저장할 수 있다. 메모리(120)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
도 2 는 본 개시에 따른 실시예의 개략적인 정보 흐름을 나타낸다.
일 실시예에서, 전자 장치(100)의 프로세서(110)는 데이터베이스로부터 공격자 정보를 포함하는 CTI(Cyber Threat Intelligence, 사이버 위협 인텔리전스) 정보를 확인할 수 있다. 데이터베이스는 전자 장치(100)의 메모리(120) 또는 전자 장치(100) 외부에 존재하는 서버 등에 저장된 것일 수 있다. 예를 들면, 프로세서(110)는 오픈 TAXII(Trusted Automated Indicator Information) 서버(210)로부터 CTI 정보를 수신하고, 수신된 CTI 정보를 STIX(Structured Threat Information eXpression) 형식으로 데이터베이스에 저장할 수 있다.
도 2 에서는 CTI 정보를 공유하는 보안 커뮤니티로서 TAXII 커뮤니티를 예로 들어, 오픈 TAXII 서버(210)로부터 CTI 정보를 제공받는 경우를 기술하였으나, 본 개시는 이에 한정되지 않으며, TAXII 커뮤니티 이외의 임의의 사이버 보안 커뮤니티로부터 공유되는 사이버 위협 정보를 오픈 TAXII 서버(210) 이외의 임의의 장치 또는 서버로부터 수신하는 경우 역시 본 개시의 범위에 포함된다. 여기서 수신하는 CTI 정보는 TAXII 프로토콜을 이용하여 TAXII 클라이언트로 전송될 수 있다. 도 2 에서는 CTI 데이터의 교환 포맷의 예로 TAXII 프로토콜을 기술하였지만, 본 개시는 이에 한정되지 않으며, TAXII 프로토콜 이외의 사이버 위협 정보를 교환하기 위한 임의의 통신 프로토콜이 본 개시의 범위에 포함된다.
일 실시예에서, 데이터베이스는 내부 데이터베이스(230)일 수 있다. 예를 들어, 내부 데이터베이스(230)은 전자 장치(100)의 메모리에 저장된 것일 수 있다. 상술한 바와 마찬가지로, TAXII 클라이언트(220)는 단지 이해의 편의를 위해 도 2 의 실시예를 기술하기 위한 것일 뿐, 본 개시의 클라이언트는 단지 TAXII 클라이언트(220)만으로 한정되지 않고, 사이버 위협 정보를 공유하는 임의의 서버로부터 임의의 프로토콜을 이용하여 사이버 위협 정보를 수신할 수 있는 임의의 클라이언트가 될 수 있다. 또한, 본 개시의 CTI 데이터를 내부 데이터베이스(230)에 저장하는 형식은 STIX 형식에 한정되지 않고, 공격자 정보 및 악성코드 정보 등의 사이버 위협 정보를 기술할 수 있는 임의의 형식이 본 개시에 포함된다.
일 실시예에서, 프로세서(110)는 TAXII 클라이언트(220)를 통해 수신한 CTI 정보를 전자 장치(100)의 외부 데이터베이스에 저장할 수 있다. 이 경우, 전자 장치(100)의 프로세서(110)는 외부 데이터베이스와 통신할 수 있는 수단을 추가로 구비하여, 통신 수단을 이용하여 외부 데이터베이스에 주기적 또는 비주기적으로 CTI 정보의 전송을 요청하고, CTI 정보를 수신할 수 있다. 이는 전자 장치(100)의 메모리(120)가 충분하지 않더라도 많은 CTI 정보를 저장할 수 있는 이점이 있다.
일 실시예에서, 프로세서(110)는 CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위(Malicious behavior)를 확인할 수 있다. 여기서 악성코드 카테고리의 대표적 악성 행위는, 특정한 카테고리의 악성코드를 대표할 수 있는 적어도 하나의 행위를 의미한다. 구체적으로, 대표적 악성 행위는 공격자 정보에 의존할 수 있다. 예를 들어, 특정한 실행 파일을 실행하는 행위가 공격자 "Lazarus"가 "njRAT" 카테고리를 이용하는 공격의 대표적 악성 행위가 될 수 있다.
일 실시예에서, 프로세서(110)가 CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위를 확인하는 작업의 주기는 프로세서(110)가 데이터베이스로부터 공격자 정보를 포함하는 CTI 정보를 확인하는 작업의 주기에 의존하지 않을 수 있다. 구체적으로, 프로세서(110)가 CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위를 확인하는 작업의 주기는 CTI 정보가 내부 데이터베이스(230)에 저장되는 작업의 주기에 의존하지 않을 수 있다. 예를 들어, 프로세서(110)는 오픈 TAXII 서버(210)로부터 CTI 정보를 수신하고, 수신된 CTI 정보를 STIX 형식으로 데이터베이스에 주기적 혹은 비주기적으로 수 회 저장한 다음, 수 회 저장된 CTI 정보 각각을 하나의 CTI 정보로 합치고, 합쳐진 CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위를 확인할 수 있다. 이는 수 개의 CTI 정보를 합친 것에 대한 사이버 보안 리포트를 생성할 수 있는 이점이 있다.
일 실시예에서, CTI 정보는 악성코드 카테고리에 속하는 악성코드에 관한 악성코드 정보를 포함하고, 악성코드 정보는 악성코드의 해시(Hash) 정보를 포함하고, 프로세서(110)는 해시 정보를 악성코드 분석 도구(240)로 분석하여 악성코드의 행위 정보를 확인할 수 있다. 여기서 악성코드 카테고리는 Virus, Worm, Trojan, Ransomware, njRAT, Razy, AgentTesla 및 Bladabindi 등 알려진 악성코드의 카테고리를 포함할 수 있다. 악성코드 분석 도구(240)는 악성코드의 해시, 악성코드를 포함하는 URL(Uniform Resource Locator) 또는 악성코드 파일 그 자체를 입력 받아, 악성코드가 속하는 악성코드 카테고리가 무엇인지 출력하고, 악성코드가 실행되었을 때 컴퓨터 시스템에서 실행하는 구체적인 행위가 어떤 것인지 출력하는 프로그램 또는 웹사이트(Virustotal 등)를 포함한다. 예를 들어, 악성코드 분석 도구(240)는 가상 머신(Virtual machine) 또는 샌드박스(Sandboxes) 등 사용자 네트워크로부터 격리된 시스템 환경에서 실제로 악성코드를 실행하고, 실행한 악성코드의 행위를 기록하는 동적 분석(Dynamic Analysis) 도구일 수 있다. 다른 예를 들어, 악성코드 분석 도구(240)는 악성코드를 실제로 실행하지 않고 악성코드의 카테고리를 파악하는 정적 분석 도구일 수 있다. 이 경우, 정적 분석 도구는 악성코드의 해시 정보를 입력 받아 온라인 데이터베이스에서 이를 검색하는 도구, 악성코드의 문자열(String) 정보를 추출하여 URL 또는 이메일 정보를 추출하여 악성 여부를 확인하는 도구, 악성코드 실행파일을 역컴파일(Reverse Compliling) 또는 디스어셈블(Disassembling)하여 악성코드의 시맨틱(semantic)을 확인하는 도구, 안티바이러스 스캐너(Antivirus Scanner) 등이 있을 수 있다.
일 실시예에서, 프로세서(110)는 악성코드의 해시 정보를 기초로 악성코드 분석 도구(240)를 이용하여 행위 분석 리포트를 확인할 수 있다. 예를 들어, 행위 분석 리포트는 JSON(JavaScript Object Notation) 포맷일 수 있다. 행위 분석 리포트는 악성코드가 실행되었을 때, 컴퓨터 시스템에서 실행하는 구체적인 행위를 포함할 수 있다. 예를 들어, 행위 분석 리포트는 특정한 IP(Internet Protocol) 주소로 HTTP(HyperText Transfer Protocol) 요청을 송신하거나, 사용자 컴퓨터 시스템의 특정한 파일을 실행 또는 삭제하는 행위 등을 포함할 수 있다. 도 2 에 나타난 실시예에서, 행위 분석 리포트는 JSON 포맷인 경우를 기술하였으나, 악성코드의 행위를 나타낼 수 있는 알려진 임의의 포맷이 본 개시의 범위에 포함된다.
악성코드는 사용자 컴퓨터 시스템에서 하나 이상의 행위를 실행할 수 있으며, 하나 이상의 행위 중 컴퓨터 시스템에 악영향을 미치는 악성 행위(Malicious Behavior)를 포함할 수 있다. 따라서 일 실시예에서, 프로세서(110)는 악성코드 행위 규칙(251)을 이용하여 행위 정보에 포함된 악성 행위를 확인할 수 있다. 악성코드 행위 규칙(251)은 악성 행위의 예시를 나열한 목록일 수 있다. 악성코드 행위 규칙(251)은 의심스러운 실행 파일을 실행하는 행위를 포함할 수 있고, 악의적인 URL 또는 블랙리스트에 있는 IP 주소와 통신하는 등의 행위를 포함할 수도 있다. 예를 들어, 악성코드 행위 규칙(251)의 목록에는 의심스러운 파일인 "00029849.exe" 파일을 실행하는 행위가 포함될 수 있다. 이 경우 특정한 악성코드를 악성코드 분석 도구(240)가 분석한 결과인 행위 정보에 그 악성코드가 "00029849.exe"를 실행하는 행위를 한다는 정보가 포함된다면, 프로세서(110)는 악성코드 행위 규칙(251)을 검색하여 "00029849.exe"를 실행하는 행위가 악성 행위임을 확인하고, 행위 정보에 포함된 특정한 악성코드의 행위 중 "00029849.exe"를 실행하는 행위를 악성 행위로 확인할 수 있다.
한편, 악성코드의 행위 정보에는 정상적인 시스템 파일 등이 수행하는 정상 행위(Benign Behavior)가 포함될 수 있다. 정상 행위가 사이버 보안 리포트에 포함된다면, 사용자 또는 보안 분석가의 혼란을 야기할 수 있으므로, 프로세서(110)는 정상 행위 규칙(252)를 이용하여 악성코드 분석 도구(240)로부터 분석된 악성코드 행위 정보에서 정상 행위를 제외할 수 있다. 정상 행위 규칙(252)는 정상 행위의 예시를 나열한 목록일 수 있다. 정상 행위 규칙(252)는 시스템 실행 파일 또는 보안과 관련된 검증된 파일을 실행하는 행위를 포함할 수 있고, 검증된 URL 또는 IP 주소와 통신하는 등의 행위를 포함할 수도 있다. 예를 들어, 정상 행위 규칙(252)의 목록에는 검증된 IP 주소인 "23.36.85.183"로 HTTP 요청을 보내는 행위가 포함될 수 있다. 이 경우 특정한 악성코드를 악성코드 분석 도구(240)가 분석하여 출력한 분석 리포트에 그 악성코드가 "23.36.85.183"로 HTTP 요청을 보내는 행위를 한다는 정보가 포함된다면, 프로세서(110)는 정상 행위 규칙(252)을 검색하여 "23.36.85.183"로 HTTP 요청을 보내는 행위가 정상 행위임을 확인하고, 분석 리포트에 포함된 특정한 악성코드의 행위 중 "23.36.85.183"로 HTTP 요청을 보내는 행위를 정상 행위로 확인한 다음, 그 특정한 악성 코드의 행위 정보가 포함된 분석 리포트에서 "23.36.85.183"로 HTTP 요청을 보내는 행위를 제외할 수 있다.
일 실시예에서, 정상 행위 규칙은 정상 파일(Benign file)을 악성코드 분석 도구로 분석한 결과를 기초로 결정될 수 있다. 예를 들어, 위의 예시에서, "23.36.85.183"로 HTTP 요청을 보내는 행위는 사전에 사용자 시스템의 특정 시스템 파일을 악성코드 분석 도구로 분석하여 그 특정 시스템 파일이 하는 행위를 정상 행위 규칙(252)에 추가한 것일 수 있다. 이 실시예는 정상 행위 규칙을 수동으로 생성하지 않아도 되는 이점을 가진다.
악성 행위 규칙(251)은 복수의 악성코드 분석 도구로부터 악성 코드를 분석한 결과를 기초로 생성될 수 있다. 복수의 악성코드 분석 도구 중 어떤 악성코드 분석 도구는 특정한 파일 또는 해시를 악성코드로 판정할 수도 있지만, 또 다른 악성코드 분석 도구는 그 특정한 파일 또는 해시를 악성코드로 판정하지 않을 수도 있다. 예를 들어, 특정한 파일이 정상적인 시스템 파일임에도 불구하고 악성코드 분석 도구가 이를 악성 코드로 판정하고, 이를 기초로 그 정상 파일의 정상 행위를 악성코드 행위 규칙(251) 목록에 포함시킬 수 있다. 이러한 경우, 사용자는 악성코드 행위 규칙(251)보다 정상 행위 규칙(252)를 우선하도록 할 수 있다. 이에 따라 일 실시예에서, 프로세서(110)는 악성코드 행위 규칙(251)을 이용하여 확인된 악성 행위 중에서 정상 행위 규칙(252)를 이용하여 정상 행위를 제외할 수 있다. 이는 사용자가 정상적인 파일을 악성코드로 오인하는 등의 문제를 사전에 방지할 수 있는 이점이 있다.
일 실시예에서, 악성 행위 규칙(251) 및 정상 행위 규칙(252) 중 적어도 어느 하나는, 본 개시에 따른 방법이 실행되기 이전에 미리 정의된 것일 수도 있고, 본 개시에 따른 방법이 실행되는 도중 업데이트되어 그 내용이 변경될 수도 있다. 다만 이 경우, 프로세서(110)는 악성 행위 규칙(251) 및 정상 행위 규칙(252) 중 적어도 어느 하나가 업데이트 되었음을 확인하고, CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위를 확인하는 단계를 처음부터 다시 실행할 수 있다.
일 실시예에서, 프로세서(110)는 적어도 하나의 악성 행위 각각에 대해, 악성 행위가 악성코드 카테고리에 속하는 적어도 하나의 악성코드에서 나타난 발생 횟수를 기초로 악성코드 카테고리의 대표적 악성 행위를 결정할 수 있다. 구체적으로, 프로세서(110)는 적어도 하나의 악성 행위 각각에 대해, 악성 행위가 악성코드 카테고리에 속하는 적어도 하나의 악성코드에서 나타난 발생 횟수를 확인하고, 발생 횟수 중 가장 많은 것에 대응하는 악성 행위를 악성코드 카테고리의 대표적 악성 행위로 결정할 수 있다. 구체적으로, 프로세서(110)는 악성코드 대표 행위 추출 도구(250)를 이용하여, 악성코드 분석 도구로부터 출력된 행위 분석 리포트, 악성코드 행위 규칙(251) 및 정상 행위 규칙(252)을 기초로 적어도 하나의 악성 행위를 확인하고, 악성 행위 각각에 대해 특정 악성코드 카테고리에 속하는 적어도 하나의 악성코드에서 나타난 횟수를 세어, 그 특정 악성코드 카테고리에서 가장 많이 발생한 행위를 그 특정 악성코드 카테고리의 대표 악성 행위로 결정할 수 있다. 예를 들어, 프로세서(110)는 행위 분석 리포트에 "Trojan" 카테고리에 속하는 악성코드가 20개 포함되는 것을 확인하고, 20개의 악성코드가 실행한 모든 악성 행위에 대해 블랙리스트 IP인 "41.105.21.116"로 HTTP 요청을 한 횟수가 15회인 것을 확인하고, 이 HTTP 요청이 20개 악성코드가 실행한 모든 악성 행위 중 가장 많이 실행된 악성 행위인 것을 확인했다면, "41.105.21.116"으로 HTTP 요청을 하는 행위를 "Trojan" 카테고리의 악성코드의 대표적 악성 행위로 결정할 수 있다. 일 실시예에서, 대표적 악성 행위는 공격자 정보에도 의존할 수 있다. 예를 들어, 위의 예시에서, 프로세서(110)가 행위 분석 리포트에 포함된 "Trojan" 카테고리에 속하는 20개의 악성코드가 모두 공격자 "Lazarus"에 의한 공격에서 비롯된 것임을 확인하였다면, 프로세서(110)는 "41.105.21.116"로 HTTP 요청을 하는 행위가 공격자 "Lazarus"에 의한 "Trojan" 공격의 대표적 악성 행위라고 결정할 수 있다.
다른 실시예에서, 프로세서(110)는 적어도 하나의 악성 행위 각각에 대해, 악성 행위가 악성코드 카테고리에 속하는 적어도 하나의 악성코드에서 나타난 발생 횟수를 확인하고, 각 악성 행위의 카테고리 별로 부여된 가중치를 곱한 결과를 서로 비교하여 가장 큰(혹은 가장 작은) 결과 값에 대응하는 악성 행위를 악성코드 카테고리의 대표적 악성 행위로 결정할 수 있다. 예를 들어, 사용자는 "HTTP 요청" 카테고리에 속하는 악성 행위의 가중치를 1로 하고, "파일 삭제" 카테고리에 속하는 악성 행위의 가중치를 2로 하는 가중치 리스트를 데이터베이스에 미리 저장할 수 있다. 이 경우, 위의 예시에서, 프로세서(110)가 "Trojan" 카테고리에 속하는 20개의 악성코드의 악성 행위 중 "41.105.21.116"로 HTTP 요청을 한 횟수가 15회이고, "00024345.dat"파일을 삭제한 횟수가 10회임을 확인했다면, 프로세서(110)는 가중치 리스트에서 "HTTP 요청" 카테고리에 속하는 악성 행위의 가중치가 1이고, "파일 삭제" 카테고리에 속하는 악성 행위의 가중치를 2임을 확인하고, "41.105.21.116"로 HTTP 요청을 한 횟수 및 "00024345.dat"파일을 삭제한 횟수에 각각 1과 2를 곱한 결과인 15와 20을 서로 비교하여, 20이 더 크므로 "00024345.dat"파일을 삭제한 행위를 "Trojan" 카테고리의 악성코드의 대표적 악성 행위로 결정할 수 있다. 이는 각 악성 행위 카테고리 별로 공격의 심각성을 다르게 판단해야 할 경우 심각성을 반영하여 사이버 보안 리포트를 생성할 수 있는 이점이 있다.
일 실시예에서, 프로세서(110)는 공격자 정보, 악성코드 카테고리 및 대표적 악성 행위 사이의 관계 정보를 포함하는 사이버 보안 리포트를 생성할 수 있다. 구체적으로, 도 2 에 따라, 프로세서(110)는 악성코드 대표 행위 추출 도구(250)에서 출력된 대표적 악성 행위에 대한 정보를 기초로, 리포트 생성 규칙(261)을 이용하여 공격자 정보, 악성코드 카테고리 및 대표적 악성 행위 사이의 관계 정보를 포함하는 사이버 보안 리포트를 생성할 수 있다.
보다 구체적으로, 관계 정보는 사용 관계 정보, 행동 패턴 정보 및 관측 정보를 포함하고, 사용 관계 정보는 공격자 정보의 공격자가 악성코드 카테고리에 속하는 악성코드를 사용한다는 정보를 포함하고, 행동 패턴 정보는 대표적 악성 행위에 관한 정보를 기초로 정의된 공격자의 행동 패턴 및 악성코드 카테고리에 속하는 악성코드의 행동 패턴 중 적어도 하나에 관한 정보를 포함하고, 관측 정보는 대표적 악성 행위에 관련된 엔티티(entities)에 관한 정보를 포함할 수 있다.
사용 관계 정보는 어떤 공격자가 어떤 카테고리의 악성코드를 사용하는지를 정의하는 정보를 포함할 수 있다. 예를 들어, 사용 관계 정보는 공격자 "Lazarus"는 악성코드 카테고리 "Trojan" 공격을 한다는 정보를 포함할 수 있다.
행동 패턴 정보는 특정한 악성코드 카테고리에 속하는 악성코드의 대표적 악성 행위를 그 악성코드 카테고리에 속하는 악성코드의 행동 패턴으로서 포함할 수 있다. 이 때, 확인된 대표적 악성 행위와 관련된 파일, 시스템 및 네트워크와 같은 엔티티(entities)에 관한 정보가 행동 패턴 정보의 기반 정보로서 관측 정보에 포함될 수 있다. 예를 들어, 프로세서(110)가 데이터베이스로부터 확인한 제1 CTI 정보를 기초로 악성코드 카테고리 "Trojan"에 속하는 악성코드의 대표적 악성 행위가 "00024345.dat"파일을 삭제하는 행위임을 확인했다면, 프로세서(110)는 이를 악성코드 카테고리 "Trojan"의 행동 패턴으로 결정하여 이를 행동 패턴 정보에 포함시킬 수 있다. 또한 프로세서(110)는 "00024345.dat"파일을 삭제하는 행위에 관련된 엔티티인"00024345.dat"파일을 관측 정보에 포함시킬 수 있다. 일 실시예에서, 행동 패턴 정보 및 관측 정보는, 복수의 CTI 정보를 기초로 각각 확인된 악성코드 카테고리의 대표적 악성 행위가 누적되어 생성된 것일 수 있다. 예를 들어, 위 예시에서, 프로세서(110)가 제2 CTI 정보를 기초로 악성코드 카테고리 "Trojan"에 속하는 악성코드의 대표적 악성 행위가 "sys_001.exe"파일을 삭제하는 행위임을 추가로 확인했다면, 프로세서(110)는 이를 행동 패턴 정보에 추가로 포함시킬 수 있다. 따라서 이 경우, "00024345.dat"파일을 삭제하는 행위 및 "sys_001.exe"파일을 삭제하는 행위 모두가 악성코드 카테고리 "Trojan"의 행동 패턴이 된다. 위에서와 마찬가지로, 프로세서(110)는 "sys_001.exe"파일을 삭제하는 행위를 행동 패턴 정보의 기반 정보로서 관측 정보에 추가로 포함시킬 수 있다. 따라서 이 경우, 관측 정보에는 각 악성 행위의 엔티티인 "00024345.dat"파일 및 "sys_001.exe"파일 모두가 포함될 수 있다.
일 실시예에서, 행동 패턴 정보는 특정한 공격자 정보에 의존적인 정보일 수 있다. 예를 들어, 위 예시에서, 프로세서(110)는 공격자 "Lazarus"에 의하여 행해진 악성코드 카테고리 "Trojan"에 속하는 악성코드의 대표적 악성 행위가 "00024345.dat"파일을 삭제하는 행위임을 확인하고, 이를 공격자 "Lazarus"에 의한 "Trojan" 공격의 행동 패턴이라고 결정한 다음, 이를 행동 패턴 정보에 포함시킬 수 있다.
일 실시예에서, 프로세서(110)는 리포트 생성 규칙을 이용하여 대표적 악성 행위를 인디케이터(Indicator) SDO(STIX(Structured Threat Information eXpression) Domain Object)및 관측 데이터(Observed Data) SDO로 매핑하고, 공격자 정보를 위협 행위자(Threat actor) SDO로 매핑하고, 악성코드 카테고리를 멀웨어(Malware) SDO로 매핑하고, 사용 관계 정보는 위협 행위자 SDO 및 상기 멀웨어 SDO 사이의 사용(use) 관계 정보를 포함하고, 행동 패턴 정보는 위협 행위자 SDO 및 인디케이터 SDO 사이 또는 멀웨어 SDO 및 인디케이터 SDO 사이의 인디케이트(indicate) 관계 정보를 포함하고, 관측 정보는 인디케이터 SDO 및 관측 데이터 SDO 사이의 기반(based-on) 관계 정보를 포함할 수 있다. STIX는 CTI 정보의 교환을 위한 포맷의 일종이며, 교환의 효율성을 위해 객체 별로 적어도 하나의 속성을 가지는 SDO 또는 STIX 도메인 객체가 정의된다. SDO에는 위협 행위자 SDO, 멀웨어 SDO, 인디케이터 SDO 및 관측 데이터 SDO 등이 포함될 수 있다.
위협 행위자는 악의적 의도를 가지고 악성코드를 활용하여 사용자 시스템에 위협을 가한다고 의심받는 개인, 단체 또는 조직을 의미하며, 위협 행위자 SDO는 행위자의 명칭, 활동 시기, 목적, 역할 및 활동 이유 등을 속성으로 포함할 수 있다.
멀웨어 SDO는 악성 코드의 명칭 또는 카테고리, 활동 시기, 실행되는 운영 체제 및 구현 언어 등을 속성으로 포함할 수 있다.
인디케이터는 위협 행위자 또는 멀웨어의 공격 패턴을 의미하며, 그 위협 행위자 또는 그 멀웨어를 특정하기 위한 증거이다. 인디케이터 SDO는 패턴의 타입 또는 카테고리, 패턴의 버전 및 패턴의 유효 기간 등을 속성으로 포함할 수 있다.
관측 데이터는 파일, 시스템 및 네트워크와 같은 엔티티에 관련된 사이버 보안에 대한 정보를 전달한다. 예를 들어, 관측 데이터는 엔티티에 관련된 IP 주소, 네트워크 연결, 파일 및 레지스트리 키(Registry key) 등과 같은 관측 객체에 관한 정보를 가질 수 있다. 관측 데이터 SDO는 관측 객체, 첫번째/마지막 관측 시기 및 관측 횟수 등을 속성으로 포함할 수 있다.
사용자 또는 보안 관리자가 리포트로부터 보다 유의미한 정보를 얻을 수 있도록 하기 위하여, 본 개시에 따른 방법의 실행 결과물인 사이버 보안 리포트는 위에서 기술한 SDO 사이의 관계 정보(STIX Relation Objects, SRO)를 포함할 수 있다.
위협 행위자 SDO 및 멀웨어 SDO 사이의 사용 관계 정보는 어떤 위협 행위자가 어떤 카테고리의 악성코드를 사용하는지를 정의하는 정보를 포함할 수 있다.
위협 행위자 SDO 및 인디케이터 SDO 사이 또는 멀웨어 SDO 및 인디케이터 SDO 사이의 인디케이트 관계 정보는 인디케이터 SDO가 특정한 위협 행위자 또는 특정한 멀웨어를 지시한다는 정보를 포함할 수 있다. 즉, 이 경우 인디케이터는 특정한 위협 행위자 또는 특정한 멀웨어의 증거가 된다.
인디케이터 SDO 및 관측 데이터 SDO 사이의 기반 관계 정보는 인디케이터가 특정한 관측 데이터에서 유래한 정보에 기반을 둔다는 정보를 포함할 수 있다. 예를 들어, 사용자 컴퓨터에 추가적인 멀웨어를 다운로드하는 관측 데이터인 "00024345.exe"파일에 대해, 특정한 인디케이터는 "00024345.exe"파일을 생성하는 악성 행위를 "Trojan" 카테고리의 멀웨어의 패턴 정보로 포함할 수 있다. 이 인디케이터가 생성되기 위해서는 "00024345.exe"파일을 생성하는 행위가 "Trojan" 카테고리의 멀웨어의 악성 행위라고 판단하게 된 기반 정보가 필요하다. 이 기반 정보는 "00024345.exe"파일을 악성코드 분석 도구 등으로 분석하여, "00024345.exe"파일이 사용자 컴퓨터에 추가적인 멀웨어를 다운로드한다고 확인했다는 정보를 포함할 수 있다. 따라서 이 경우, 관측 데이터인 "00024345.exe"파일을 분석한 정보를 기반으로 인디케이터가 생성되었다는 기반 관계 정보를 정의할 수 있다.
도 3 및 도 4 는 예시적인 시나리오에 따라, 본 개시에 따른 일 실시예에서정보의 구체적인 실시예와 변환과정을 나타낸다. 도 3 에 따라, 프로세서(110)는 데이터베이스로부터 CTI 정보(310)를 확인할 수 있다. CTI 정보(310)는 공격자 정보(311) 및 악성코드 해시 정보(313)를 포함할 수 있다. 공격자 정보(311)에는 개별 공격자 정보(312)가 포함될 수 있다. 이 경우, 개별 공격자는 "Lazarus"만 존재한다. 악성코드 해시 정보(313)는 제1 악성코드 해시 정보(314) 및 제2 악성코드 해시 정보(315)를 포함할 수 있다. 이 경우 제1 악성코드는 "njRAT" 카테고리의 악성코드이고, 제2 악성코드는 "Trojan" 카테고리의 악성코드일 수 있다.
단계 S310에 따라, 프로세서(110)는 CTI 정보(310)에 포함된 악성코드 해시 정보(313)를 악성코드 분석 도구로 분석하여 악성코드의 행위 분석 리포트(320)를 확인할 수 있다. 행위 분석 리포트(320)는 제1 악성코드 해시 정보(314) 및 제2 악성코드 해시 정보(315)를 동적으로 분석한 행위 정보를 포함할 수 있다. 각 행위 정보는 행위 카테고리에 따라 분류될 수 있다. 예를 들어, 행위 분석 리포트(320)는 IP 주소로의 통신(321), 프로그램 실행(324), URL 접속(326) 및 뮤텍스(Mutex) 생성(327) 등을 포함할 수 있다. IP 주소와의 통신(321) 카테고리에는 제1 IP 주소(322) 및 제2 IP 주소(323)가 포함될 수 있다. 프로그램 실행(324) 카테고리에는 제1 프로그램명(325)이 포함될 수 있다.
단계 S320에 따라, 프로세서(110)는 정상 행위 규칙(330)을 이용하여 행위 분석 리포트(320)에 포함된 정상 행위를 제외하고, 악성코드 행위 규칙(340)을 이용하여 행위 분석 리포트(320)에 포함된 악성 행위(350)를 확인할 수 있다. 정상 행위 규칙(330)에는 제1 IP 주소(322)로의 통신 행위가 포함될 수 있다. 악성 코드 행위 규칙(340)에는 제2 IP 주소(341)로의 통신 행위 및 제1 프로그램명(342)를 가지는 프로그램의 실행 행위가 포함될 수 있다. 제1 IP 주소(322)로의 통신 행위는 정상 행위 규칙(330)에 포함되기 때문에, 프로세서(110)는 이를 확인한 다음, 악성 행위(350)에서 제1 IP 주소(322)로의 통신 행위를 제외할 수 있다. 제2 IP 주소(341)로의 통신 행위 및 제1 프로그램명(342)를 가지는 프로그램의 실행 행위는 악성 코드 행위 규칙(340)에 포함되기 때문에, 프로세서(110)는 이를 확인한 다음, 악성 행위(350)에 제2 IP 주소(352)로의 통신 행위 및 제1 프로그램명(358)를 가지는 프로그램의 실행 행위를 포함시킬 수 있다. 악성 행위(350)는 개별 악성 행위(351, 357) 별로 공격자 정보(353), 악성코드 카테고리(354) 및 악성코드 해시 정보(355)를 포함할 수 있다. 프로세서(110)는 행위 분석 리포트(320)에 포함된 적어도 하나의 악성 행위 각각에 대해, 악성 행위가 상기 악성코드 카테고리에 속하는 적어도 하나의 악성코드에서 나타난 발생 횟수(356, 359)를 확인할 수 있다.
도 4 에 따르면, 프로세서(110)는 악성 행위(450)에서 발생 횟수 중 가장 많은 것(455)에 대응하는 악성 행위를 악성코드 카테고리의 상기 대표적 악성 행위(451)로 결정할 수 있다. 대표적 악성 행위(451)는 값 정보(452), 공격자 정보(453), 악성코드 카테고리(454), 발생 횟수(455) 및 악성코드 해시 정보(456)를 포함할 수 있다. 단계 S430에 따라, 프로세서(110)는 리포트 생성 규칙을 이용하여 대표적 악성 행위(451)를 인디케이터 SDO(463) 및 관측 데이터 SDO(464)로 매핑하고, 공격자 정보(453)를 위협 행위자(Threat actor) SDO(461)로 매핑하고, 악성코드 카테고리(454)를 멀웨어(Malware) SDO(462)로 매핑할 수 있다. 각 SDO들(460)은 고유의 id를 가질 수 있다.
프로세서(110)는 사이버 보안 리포트(480)에 포함시킬 관계 정보를 확인할 수 있다. 관계 정보에는 위협 행위자 SDO(461) 및 멀웨어 SDO(462) 사이의 사용 관계 정보(471), 위협 행위자 SDO(461) 및 인디케이터 SDO(463) 사이의 인디케이트 관계 정보(473), 멀웨어 SDO(462) 및 인디케이터 SDO(463) 사이의 인디케이트 관계 정보(472) 및 인디케이터 SDO(463) 및 관측 데이터 SDO(464) 사이의 기반 관계 정보(474)가 포함될 수 있다.
단계 S440에 따라, 프로세서(110)는 SDO들(460)의 정보 및 관계 정보를 포함하는 사이버 보안 리포트(480)를 생성할 수 있다. 사이버 보안 리포트(480)는 리포트 객체(481)를 포함할 수 있고, 리포트 객체(481)는 각 SDO들의 id를 포함할 수 있다. 사이버 보안 리포트(480)는 리포트 객체(481)에 포함되는 각 SDO들을 더 포함할 수 있다.
도 5 는 일 실시예에 따른 전자 장치(100)의 동작 방법을 나타낸다. 도 5 의 동작 방법의 각 단계는 도 1 의 전자 장치(100)에 의해 수행될 수 있으므로, 도 1 과 중복되는 내용에 대해서는 설명을 생략한다.
단계 S510에서, 전자 장치(100)는 데이터베이스로부터 공격자 정보를 포함하는 CTI 정보를 확인할 수 있다.
전자 장치(100)는 오픈 TAXII 서버로부터 CTI 정보를 수신하고, 수신된 CTI 정보를 STIX 형식으로 데이터베이스에 저장할 수 있다.
단계 S520에서, 전자 장치(100)는 CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위를 확인할 수 있다.
CTI 정보는 악성코드 카테고리에 속하는 악성코드에 관한 악성코드 정보를 포함하고, 악성코드 정보는 악성코드의 해시 정보를 포함하고, 전자 장치(100)는 해시 정보를 악성코드 분석 도구로 분석하여 악성코드의 행위 정보를 확인하고, 악성코드 행위 규칙을 이용하여 행위 정보에 포함된 악성 행위를 확인하고, 확인된 적어도 하나의 악성 행위를 기초로 악성코드 카테고리의 대표적 악성 행위를 결정할 수 있다.
전자 장치(100)는 적어도 하나의 악성 행위 각각에 대해, 악성 행위가 악성코드 카테고리에 속하는 적어도 하나의 악성코드에서 나타난 발생 횟수를 확인하고, 발생 횟수 중 가장 많은 것에 대응하는 악성 행위를 악성코드 카테고리의 대표적 악성 행위로 결정할 수 있다.
전자 장치(100)는 정상 행위 규칙을 이용하여 행위 정보에서 정상 행위를 제외할 수 있다.
정상 행위 규칙은 정상 파일을 악성코드 분석 도구로 분석한 결과를 기초로 결정될 수 있다.
전자 장치(100)는 해시 정보를 기초로 악성코드 분석 도구를 이용하여 JSON포맷의 행위 분석 리포트를 확인할 수 있다.
단계 S530에서, 전자 장치(100)는 공격자 정보, 악성코드 카테고리 및 대표적 악성 행위 사이의 관계 정보를 포함하는 사이버 보안 리포트를 생성할 수 있다.
관계 정보는 사용 관계 정보, 행동 패턴 정보 및 관측 정보를 포함하고, 사용 관계 정보는 공격자 정보의 공격자가 악성코드 카테고리에 속하는 악성코드를 사용한다는 정보를 포함하고, 행동 패턴 정보는 대표적 악성 행위에 관한 정보를 기초로 정의된 공격자의 행동 패턴 및 악성코드 카테고리에 속하는 악성코드의 행동 패턴 중 적어도 하나에 관한 정보를 포함하고, 관측 정보는 대표적 악성 행위에 관련된 엔티티(entities)에 관한 정보를 포함할 수 있다.
전자 장치(100)는 리포트 생성 규칙을 이용하여 대표적 악성 행위를 인디케이터 SDO 및 관측 데이터 SDO로 매핑하고, 공격자 정보를 위협 행위자 SDO로 매핑하고, 악성코드 카테고리를 멀웨어 SDO로 매핑하고, 사용 관계 정보는 위협 행위자 SDO 및 멀웨어 SDO 사이의 사용 관계 정보를 포함하고, 행동 패턴 정보는 위협 행위자 SDO 및 인디케이터 SDO 사이 또는 멀웨어 SDO 및 인디케이터 SDO 사이의 인디케이트 관계 정보를 포함하고, 관측 정보는 인디케이터 SDO 및 관측 데이터 SDO 사이의 기반 관계 정보를 포함할 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어, 소프트웨어, 또는 이들의 조합들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 데이터 처리 또는 이들의 조합 등을 위하여 종래 기술을 채용할 수 있다.

Claims (11)

  1. 전자 장치의 사이버 보안 리포트 생성 방법에 있어서,
    데이터베이스로부터 공격자 정보를 포함하는 CTI(Cyber Threat Intelligence, 사이버 위협 인텔리전스) 정보를 확인하는 단계;
    상기 CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위(Malicious behavior)를 확인하는 단계; 및
    상기 공격자 정보, 상기 악성코드 카테고리 및 상기 대표적 악성 행위 사이의 관계 정보를 포함하는 사이버 보안 리포트를 생성하는 단계를 포함하는, 사이버 보안 리포트 생성 방법.
  2. 제1항에 있어서,
    상기 CTI 정보는 상기 악성코드 카테고리에 속하는 악성코드에 관한 악성코드 정보를 포함하고,
    상기 악성코드 정보는 상기 악성코드의 해시(Hash) 정보를 포함하고,
    상기 대표적 악성 행위를 확인하는 단계는,
    상기 해시 정보를 악성코드 분석 도구로 분석하여 상기 악성코드의 행위 정보를 확인하는 단계;
    악성코드 행위 규칙을 이용하여 상기 행위 정보에 포함된 악성 행위를 확인하는 단계; 및
    확인된 적어도 하나의 악성 행위를 기초로 상기 악성코드 카테고리의 대표적 악성 행위를 결정하는 단계를 포함하는, 사이버 보안 리포트 생성 방법.
  3. 제2항에 있어서,
    상기 결정하는 단계는,
    상기 적어도 하나의 악성 행위 각각에 대해, 악성 행위가 상기 악성코드 카테고리에 속하는 적어도 하나의 악성코드에서 나타난 발생 횟수를 확인하는 단계; 및
    발생 횟수 중 가장 많은 것에 대응하는 악성 행위를 상기 악성코드 카테고리의 상기 대표적 악성 행위로 결정하는 단계를 포함하는, 사이버 보안 리포트 생성 방법.
  4. 제2항에 있어서,
    상기 결정하는 단계는,
    정상 행위 규칙을 이용하여 상기 행위 정보에서 정상 행위를 제외하는 단계를 포함하는, 사이버 보안 리포트 생성 방법.
  5. 제4항에 있어서,
    상기 정상 행위 규칙은 정상 파일(Benign file)을 악성코드 분석 도구로 분석한 결과를 기초로 결정되는, 사이버 보안 리포트 생성 방법.
  6. 제2항에 있어서,
    상기 악성코드의 행위 정보를 확인하는 단계는,
    상기 해시 정보를 기초로 악성코드 분석 도구를 이용하여 JSON(JavaScript Object Notation) 포맷의 행위 분석 리포트를 확인하는 단계를 포함하는, 사이버 보안 리포트 생성 방법.
  7. 제1항에 있어서,
    상기 관계 정보는 사용 관계 정보, 행동 패턴 정보 및 관측 정보를 포함하고,
    상기 사용 관계 정보는 상기 공격자 정보의 공격자가 상기 악성코드 카테고리에 속하는 악성코드를 사용한다는 정보를 포함하고,
    상기 행동 패턴 정보는 상기 대표적 악성 행위에 관한 정보를 기초로 정의된 상기 공격자의 행동 패턴 및 상기 악성코드 카테고리에 속하는 악성코드의 행동 패턴 중 적어도 하나에 관한 정보를 포함하고,
    상기 관측 정보는 상기 대표적 악성 행위에 관련된 엔티티(entities)에 관한 정보를 포함하는, 사이버 보안 리포트 생성 방법.
  8. 제7항에 있어서,
    상기 사이버 보안 리포트를 생성하는 단계는,
    리포트 생성 규칙을 이용하여 상기 대표적 악성 행위를 인디케이터(Indicator) SDO(STIX(Structured Threat Information eXpression) Domain Object)및 관측 데이터(Observed Data) SDO로 매핑하고, 상기 공격자 정보를 위협 행위자(Threat actor) SDO로 매핑하고, 상기 악성코드 카테고리를 멀웨어(Malware) SDO로 매핑하는 단계를 포함하고,
    상기 사용 관계 정보는 상기 위협 행위자 SDO 및 상기 멀웨어 SDO 사이의 사용(use) 관계 정보를 포함하고,
    상기 행동 패턴 정보는 상기 위협 행위자 SDO 및 상기 인디케이터 SDO 사이 또는 상기 멀웨어 SDO 및 상기 인디케이터 SDO 사이의 인디케이트(indicate) 관계 정보를 포함하고,
    상기 관측 정보는 상기 인디케이터 SDO 및 상기 관측 데이터 SDO 사이의 기반(based-on) 관계 정보를 포함하는, 사이버 보안 리포트 생성 방법.
  9. 제1항에 있어서,
    오픈 TAXII(Trusted Automated Indicator Information) 서버로부터 CTI 정보를 수신하는 단계; 및
    수신된 CTI 정보를 STIX 형식으로 상기 데이터베이스에 저장하는 단계를 더 포함하는, 사이버 보안 리포트 생성 방법.
  10. 전자 장치로서,
    적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행함으로써,
    데이터베이스로부터 공격자 정보를 포함하는 CTI(Cyber Threat Intelligence, 사이버 위협 인텔리전스) 정보를 확인하고,
    상기 CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위(Malicious behavior)를 확인하고,
    상기 공격자 정보, 상기 악성코드 카테고리 및 상기 대표적 악성 행위 사이의 관계 정보를 포함하는 사이버 보안 리포트를 생성하는 프로세서를 포함하는, 전자 장치.
  11. 사이버 보안 리포트 생성 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체로서,
    상기 사이버 보안 리포트 생성 방법은,
    데이터베이스로부터 공격자 정보를 포함하는 CTI(Cyber Threat Intelligence, 사이버 위협 인텔리전스) 정보를 확인하는 단계;
    상기 CTI 정보를 기초로 악성코드 카테고리의 대표적 악성 행위(Malicious behavior)를 확인하는 단계; 및
    상기 공격자 정보, 상기 악성코드 카테고리 및 상기 대표적 악성 행위 사이의 관계 정보를 포함하는 사이버 보안 리포트를 생성하는 단계를 포함하는, 비일시적 기록매체.
KR1020210138378A 2021-10-18 2021-10-18 전자 장치의 사이버 보안 리포트 생성 방법 KR102535251B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210138378A KR102535251B1 (ko) 2021-10-18 2021-10-18 전자 장치의 사이버 보안 리포트 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210138378A KR102535251B1 (ko) 2021-10-18 2021-10-18 전자 장치의 사이버 보안 리포트 생성 방법

Publications (2)

Publication Number Publication Date
KR20230055096A true KR20230055096A (ko) 2023-04-25
KR102535251B1 KR102535251B1 (ko) 2023-05-26

Family

ID=86101834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210138378A KR102535251B1 (ko) 2021-10-18 2021-10-18 전자 장치의 사이버 보안 리포트 생성 방법

Country Status (1)

Country Link
KR (1) KR102535251B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180097824A (ko) * 2017-02-24 2018-09-03 성균관대학교산학협력단 악성코드 검출을 위한 자동 규칙 생성방법, 장치, 시스템 및 이를 기록한 컴퓨터로 판독가능한 기록매체
KR20200066003A (ko) * 2018-11-30 2020-06-09 한국전자통신연구원 엔드포인트의 비정상 행위를 분석하는 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180097824A (ko) * 2017-02-24 2018-09-03 성균관대학교산학협력단 악성코드 검출을 위한 자동 규칙 생성방법, 장치, 시스템 및 이를 기록한 컴퓨터로 판독가능한 기록매체
KR20200066003A (ko) * 2018-11-30 2020-06-09 한국전자통신연구원 엔드포인트의 비정상 행위를 분석하는 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Daegeon Kim and Huy Kang Kim, "Automated Dataset Generation System for Collaborative Research of Cyber Threat Analysis", Security and Communication Networks, Vol. 2019(2019.09.)* *

Also Published As

Publication number Publication date
KR102535251B1 (ko) 2023-05-26

Similar Documents

Publication Publication Date Title
US11882137B2 (en) Network security blacklist derived from honeypot statistics
US12041091B2 (en) System and methods for automated internet- scale web application vulnerability scanning and enhanced security profiling
JP6522118B2 (ja) 制御システムにおけるサイバーセキュリティリスクの動的定量化
US11647037B2 (en) Penetration tests of systems under test
CN109074454B (zh) 基于赝象对恶意软件自动分组
CN108353083B (zh) 用于检测域产生算法(dga)恶意软件的系统及方法
EP3455773A1 (en) Inferential exploit attempt detection
KR102396237B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
JP7531816B2 (ja) イメージ基盤悪性コード検知方法および装置とこれを利用する人工知能基盤エンドポイント脅威検知および対応システム
US20240054210A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
CN113497786A (zh) 一种取证溯源方法、装置以及存储介质
KR20230103275A (ko) 사이버 보안 위협 정보 처리 장치, 사이버 보안 위협 정보 처리 방법 및 사이버 보안 위협 정보 처리하는 프로그램을 저장하는 저장매체
JP2016099857A (ja) 不正プログラム対策システムおよび不正プログラム対策方法
AU2019298538A1 (en) Generation device, generation method, and generation program
JP2017123142A (ja) フィッシング・スクリプトを検出するためのシステム及び方法
US20240054215A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
US20230252146A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
US20230252144A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
CN116896468A (zh) 网络攻击事件的防护策略确定方法及相关设备
RU2587424C1 (ru) Способ контроля приложений
KR102535251B1 (ko) 전자 장치의 사이버 보안 리포트 생성 방법
US20230048076A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
KR102396236B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
JP5386015B1 (ja) バグ検出装置およびバグ検出方法
JPWO2020170345A1 (ja) 履歴出力装置、制御方法、及びプログラム

Legal Events

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