KR102528593B1 - 비정상 프로세스 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 - Google Patents

비정상 프로세스 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102528593B1
KR102528593B1 KR1020210108113A KR20210108113A KR102528593B1 KR 102528593 B1 KR102528593 B1 KR 102528593B1 KR 1020210108113 A KR1020210108113 A KR 1020210108113A KR 20210108113 A KR20210108113 A KR 20210108113A KR 102528593 B1 KR102528593 B1 KR 102528593B1
Authority
KR
South Korea
Prior art keywords
information
machine learning
learning model
dynamic library
memory area
Prior art date
Application number
KR1020210108113A
Other languages
English (en)
Other versions
KR20230026115A (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 KR1020210108113A priority Critical patent/KR102528593B1/ko
Priority to US17/456,529 priority patent/US20230057138A1/en
Publication of KR20230026115A publication Critical patent/KR20230026115A/ko
Application granted granted Critical
Publication of KR102528593B1 publication Critical patent/KR102528593B1/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
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Virology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

실시예의 비정상 프로세서 식별 장치는 메모리 영역 정보를 수집하는 메모리 정보 수집부와, 상기 메모리 영역 정보를 기초로 기 학습된 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 식별부를 포함할 수 있다.
실시예는 프로세스의 메모리 영역 정보를 기반해 각 프로세스에 대해 차별화된 모델을 생성하고 모든 프로세스에 대해 동일한 규칙을 적용하는 방식에 비해 비정상 프로세스에 대한 식별 능력을 향상시킬 수 있다.

Description

비정상 프로세스 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램{APPARATUS, METHOD, COMPUTER-READABLE STORAGE MEDIUM AND COMPUTER PROGRAM FOR IDENTIFYING ABNORMAL PROCESS}
실시예는 비정상 프로세서를 식별하기 위한 비정상 프로세서 식별 장치 및 방법에 관한 것이다.
일반적으로, 프로세스 삽입 기술은 윈도우즈 운영체제에서 사용하는 기술로 프로세스 메모리 영역에 악성 행위가 담긴 코드를 삽입해 악성행위를 수행한다. 이러한 악성행위는 하나의 프로세스로 동작하는 것이 아닌 정상 프로세스 메모리 영역에 존재하는 일부 코드로 수행된다는 점에서 프로세스 단위로 악성행위를 수행하는 것보다 강력한 은닉 기능을 얻고 백신을 우회하기 위해 사용한다.
종래 비정상 프로세스 식별 방법은 프로세스의 메모리 영역 속성과 메모리 영역의 바이너리에 대해 규칙 기반 식별을 진행한다. 여기서, 메모리 영역의 속성은 메모리 영역의 권한, 유형, 태그를 의미한다. 또한, 바이너리는 메모리가 실제로 포함하고 있는 데이터를 의미한다.
메모리 영역 분석은 바이너리에 대해 규칙 기반으로 분석한다. 즉 바이너리의 정해진 위치에 정해진 값이 존재하면 프로세스 삽입이 발생했을 수 있다고 판정한다. 예를 들어 실행 가능한 파일의 매직 헤더인 ‘MZ’ 값이 바이너리에 존재하는 경우 비정상 프로세스로 식별한다.
메모리 속성 분석은 메모리의 권한, 유형, 태그에 대해 규칙 기반으로 분석한다. 즉 분석 대상 프로세스의 메모리 영역이 특정한 권한과 태그를 가지고 있다면 비정상 프로세스 식별에 반영한다. 예를 들어 메모리 영역이 읽기, 쓰기, 실행 권한을 모두 가지고 있는 경우는 비정상 프로세스 판단의 주요 규칙에 해당한다.
종래의 비정상 프로세스 식별 방법은 규칙 기반이기 때문에 많은 오탐(False Positive)이 발생한다. 프로세스 삽입은 악의적인 의도로 사용할 수도 있지만 프로세스의 정상 행위 도중 프로세스 삽입 기술을 사용해 규칙 기반으로 판정 시 비정상일 가능성이 높은 메모리 영역을 생성할 수 있기 때문이다.
즉, 종래의 비정상 프로세스 식별 방법은 정상적인 행위로서 프로세스 삽입 기술을 사용하는 프로세스의 특이성은 반영하지 못한다. 또한 동적 라이브러리 삽입 기술에 대한 분석은 진행하지 않아 해당 기술을 통해 프로세스 삽입을 진행한 경우 식별할 수 없다.
상술한 문제점을 해결하기 위해, 실시예는 오탐에 의해 비정상 프로세서를 식별하지 못하는 것을 방지하기 위한 비정상 프로세서 식별 장치 및 방법을 제공하는 것을 그 목적으로 한다.
실시예의 비정상 프로세서 식별 장치는 메모리 영역 정보를 수집하는 메모리 정보 수집부와, 상기 메모리 영역 정보를 기초로 기 학습된 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 식별부를 포함할 수 있다.
상기 메모리 영역 정보는 메모리 영역의 권한에 대해 단어 빈도-역 문서 빈도(TF-IDF)로 변환한 정보, 프로세스 메모리 유형, 프로세스 메모리 영역 바이너리에 대한 유사도 및 메모리 사용 권한 정보 중 적어도 하나 이상을 포함할 수 있다.
상기 머신러닝 모델은 정상 프로세서의 메모리 영역 정보 및 비정상 프로세서의 메모리 영역 정보를 레이블 데이터 및 입력 데이터로 이용하여 기 학습된 것일 수 있다.
또한, 실시예의 비정상 프로세서 식별 장치는 메모리의 동적 라이브러리 정보를 수집하는 메모리 정보 수집부와, 상기 동적 라이브러리 정보를 기초로 기 학습된 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 식별부를 포함할 수 있다.
상기 동적 라이브러리 정보는 동적 라이브러리의 전자서명 여부 및 동적 라이브러리의 이전 사용 기록 정보를 포함할 수 있다.
상기 머신러닝 모델은 정상 프로세서의 동적 라이브러리 정보 및 비정상 프로세서의 동적 라이브러리 정보를 레이블 데이터 및 입력 데이터로 이용하여 기 학습된 것일 수 있다.
또한, 실시예의 비정상 프로세서 식별 장치는 메모리 영역 정보 및 메모리의 동적 라이브러리 정보를 수집하는 메모리 정보 수집부와, 상기 메모리 영역 정보를 기초로 기 학습된 제1 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 제1 식별부와, 상기 동적 라이브러리 정보를 기초로 기 학습된 제2 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 제2 식별부와, 상기 제1 식별부에서 식별된 비정상 프로세서 또는 상기 제2 식별부에서 식별된 비정상 프로세서 중 어느 하나를 기초로 최종 비정상 프로세서를 판단하는 판단부를 포함할 수 있다.
상기 판단부는 상기 제1 식별부에서 식별된 비정상 프로세서 또는 상기 제2 식별부에서 식별된 비정상 프로세서 중 어느 하나에 가중치를 부여하여 최종 비정상 프로세서를 판단할 수 있다.
또한, 실시예는 비정상 프로세서 식별 장치에서 수행되는 비정상 프로세서 식별 방법에 있어서, 메모리 영역 정보 및 메모리의 동적 라이브러리 정보를 수집하는 단계와, 상기 메모리 영역 정보를 기초로 기 학습된 제1 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계와, 상기 동적 라이브러리 정보를 기초로 기 학습된 제2 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계와, 상기 제1 머신러닝 모델을 이용하여 식별된 비정상 프로세서 및 상기 제2 머신러닝 모델을 이용하여 식별된 비정상 프로세서 중 어느 하나를 기초로 최종 비정상 프로세서를 판단하는 단계를 포함할 수 있다.
상기 메모리 영역 정보는 메모리 영역의 권한에 대해 단어 빈도-역 문서 빈도(TF-IDF)로 변환한 정보, 프로세스 메모리 유형, 프로세스 메모리 영역 바이너리에 대한 유사도 및 메모리 사용 권한 정보 중 적어도 하나 이상을 포함할 수 있다.
상기 동적 라이브러리 정보는 동적 라이브러리의 전자서명 여부 및 동적 라이브러리의 이전 사용 기록 정보를 포함할 수 있다.
또한, 실시예는 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 메모리 영역 정보 및 메모리의 동적 라이브러리 정보를 수집하는 단계와, 상기 메모리 영역 정보를 기초로 기 학습된 제1 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계와, 상기 동적 라이브러리 정보를 기초로 기 학습된 제2 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계와, 상기 제1 머신러닝 모델을 이용하여 식별된 비정상 프로세서 및 상기 제2 머신러닝 모델을 이용하여 식별된 비정상 프로세서 중 어느 하나를 기초로 최종 비정상 프로세서를 판단하는 단계를 포함하는 동작을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
또한, 실시예는 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 메모리 영역 정보 및 메모리의 동적 라이브러리 정보를 수집하는 단계와, 상기 메모리 영역 정보를 기초로 기 학습된 제1 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계와, 상기 동적 라이브러리 정보를 기초로 기 학습된 제2 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계와, 상기 제1 머신러닝 모델을 이용하여 식별된 비정상 프로세서 및 상기 제2 머신러닝 모델을 이용하여 식별된 비정상 프로세서 중 어느 하나를 기초로 최종 비정상 프로세서를 판단하는 단계를 포함하는 동작을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
실시예는 프로세스의 메모리 영역 정보를 기반해 각 프로세스에 대해 차별화된 모델을 생성하고 모든 프로세스에 대해 동일한 규칙을 적용하는 방식에 비해 비정상 프로세스에 대한 식별 능력을 향상시킬 수 있다.
또한, 실시에는 종래의 비정상 프로세스 식별기에서 제공하지 않는 동적 라이브러리 삽입 기술에 대한 식별도 제공할 수 있다.
또한, 실시예는 정 메모리 영역만 탐색해 기존 기술 대비 향상된 속도를 가질 수 있다.
도 1은 실시예에 따른 비정상 프로세서 식별 장치를 나타낸 블록도이다.
도 2는 다른 실시예에 따른 비정상 프로세서 식별 장치를 나타낸 블록도이다.
도 3은 실시예에 따른 비정상 프로세서 식별 방법을 나타낸 순서도이다.
이하, 도면을 참조하여 실시예를 상세히 설명하기로 한다.
도 1은 실시예에 따른 비정상 프로세서 식별 장치를 나타낸 블록도이다.
도 1을 참조하면, 실시예에 따른 비정상 프로세서 식별 장치(100)는 메모리 정보 수집부(110)와, 제1 식별부(130)와, 제2 식별부(150)를 포함할 수 있다.
메모리 정보 수집부(110)는 메모리 영역 정보 및 동적 라이브러리 정보를 수집할 수 있다. 메모리 영역 정보 및 동적 라이브러리 정보는 머신러닝 모델의 입력으로 사용될 정보일 수 있으며, 메모리로부터 수신된 정보를 변환시킨 정보일 수 있다.
메모리 영역 정보는 메모리 영역의 권한에 대해 단어 빈도-역 문서 빈도(TF-IDF)로 변환한 정보, 프로세스 메모리 유형, 프로세스 메모리 영역 바이너리에 대한 유사도 및 메모리 사용 권한 정보를 포함할 수 있다.
메모리의 동적 라이브러리 정보는 동적 라이브러리의 전자서명 여부 및 동적 라이브러리의 이전 사용 기록 정보를 포함할 수 있다.
제1 식별부(130)는 메모리 영역 정보를 기초로 비정상 프로세서를 식별할 수 있다. 제1 식별부(130)는 기학습된 제1 머신러닝 모델(120)을 이용하여 비정상 프로세서를 식별할 수 있다. 제1 머신러닝 모델(120)은 정상 프로세서의 메모리 영역 정보와 비정상 프로세서의 메모리 영역 정보를 레이블 데이터 및 입력 데이터로 이용하여 기학습될 수 있다. 제1 머신러닝 모델(120)외에 신경망, 딥러닝 모델 등 다양한 인공지능 모델이 사용될 수 있다.
한편, 제2 식별부(150)는 동적 라이브러리 정보를 기초로 비정상 프로세서를 식별할 수 있다. 제2 식별부(150)는 기학습된 제2 머신러닝 모델(140)을 이용하여 비정상 프로세서를 식별할 수 있다. 제2 머신러닝 모델(140)은 정상 프로세서의 동적 라이브러리 정보와 비정상 프로세서의 동적 라이브러리 정보를 레이블 데이터 및 입력 데이터로 이용하여 기학습될 수 있다. 제2 머신러닝 모델(140)외에 신경망, 딥러닝 모델 등 다양한 인공지능 모델이 사용될 수 있다.
제1 머신러닝 모델(120) 및 제2 머신러닝 모델(140)은 별도의 머신러닝 모델 생성기에 의해 생성될 수 있다. 이와 다르게, 제1 머신러닝 모델(120) 및 제2 머신러닝 모델(140)은 외부에서 생성된 모델일 수도 있다.
실시예는 메모리 영역 정보 또는 동적 라이브러리 정보를 이용함으로써, 비정상 프로세서를 효과적으로 식별할 수 있는 효과가 있다.
다른 실시예에 따르면, 비정상 프로세서의 식별은 메모리 영역 정보 및 동적 라이브러리 정보를 모두 고려할 수 있다.
도 2는 다른 실시예에 따른 비정상 프로세서 식별 장치를 나타낸 블록도이다.
도 2에 도시된 바와 같이, 다른 실시예에 따른 비정상 프로세서 식별 장치(200)는 메모리 정보 수집부(210)와, 제1 식별부(230)와, 제2 식별부(250)와, 판단부(260)를 포함할 수 있다.
메모리 정보 수집부(210)는 메모리 영역 정보 및 동적 라이브러리 정보를 수집할 수 있다. 메모리 영역 정보 및 동적 라이브러리 정보는 머신러닝 모델의 입력으로 사용될 정보일 수 있으며, 메모리로부터 수신된 정보를 변환시킨 정보일 수 있다.
메모리 영역 정보는 메모리 영역의 권한에 대해 단어 빈도-역 문서 빈도(TF-IDF)로 변환한 정보, 프로세스 메모리 유형, 프로세스 메모리 영역 바이너리에 대한 유사도 및 메모리 사용 권한 정보를 포함할 수 있다.
메모리의 동적 라이브러리 정보는 동적 라이브러리의 전자서명 여부 및 동적 라이브러리의 이전 사용 기록 정보를 포함할 수 있다.
제1 식별부(230)는 메모리 영역 정보를 기초로 비정상 프로세서를 식별할 수 있다. 제1 식별부(230)는 기학습된 제1 머신러닝 모델(220)을 이용하여 비정상 프로세서를 식별할 수 있다. 제1 머신러닝 모델(230)은 정상 프로세서의 메모리 영역 정보와 비정상 프로세서의 메모리 영역 정보를 레이블 데이터 및 입력 데이터로 이용하여 기학습될 수 있다. 제1 머신러닝 모델(230)외에 신경망, 딥러닝 모델 등 다양한 인공지능 모델이 사용될 수 있다.
한편, 제2 식별부(250)는 동적 라이브러리 정보를 기초로 비정상 프로세서를 식별할 수 있다. 제2 식별부(250)는 기학습된 제2 머신러닝 모델(240)을 이용하여 비정상 프로세서를 식별할 수 있다. 제2 머신러닝 모델(240)은 정상 프로세서의 동적 라이브러리 정보와 비정상 프로세서의 동적 라이브러리 정보를 레이블 데이터 및 입력 데이터로 이용하여 기학습될 수 있다. 제2 머신러닝 모델(240)외에 신경망, 딥러닝 모델 등 다양한 인공지능 모델이 사용될 수 있다.
판단부(260)는 제1 식별부(230)에서 식별된 비정상 프로세서 또는 상기 제2 식별부(250)에서 식별된 비정상 프로세서 중 어느 하나를 기초로 최종 비정상 프로세서를 판단할 수 있다.
비정상 프로세서를 식별할 경우, 제1 식별부(230)를 통해 비정상 프로세서로 식별되었으나, 제2 식별부(250)에서는 비정상 프로세서가 식별되지 않을 경우가 발생될 수 있다. 판단부(260)는 제1 식별부(230) 또는 제2 식별부(250)에 가중치를 부여하여 최종 비정상 프로세서를 식별할 수 있다.
예컨대, 제1 식별부(230)에 가중치를 부여한 상태에서 제1 식별부(230)를 통해 비정상 프로세서로 식별되고, 제2 식별부(250)에서는 비정상 프로세서가 식별되지 않을 경우, 판단부(260)는 비정상 프로세서가 식별되었음을 판단할 수 있다.
이와 다르게, 제1 식별부(230)에 가중치를 부여한 상태에서 제1 식별부(230)를 통해 비정상 프로세서로 식별되지 않고, 제2 식별부(250)에서는 비정상 프로세서가 식별되었을 경우, 판단부(260)는 비정상 프로세서가 비식별되었음을 판단할 수 있다.
이와 다르게, 판단부(260)는 제1 식별부(230)에서 식별한 비정상 프로세서 정보 및 제2 식별부(250)에서 식별한 비정상 프로세서 정보를 기 학습된 제3 머신러닝 모델(미도시)에 입력으로 하여 최종 비정상 프로세서를 식별할 수도 있다.
도 3은 실시예에 따른 비정상 프로세서 식별 방법을 나타낸 순서도이다.
도 3을 참조하면, 실시예에 따른 비정상 프로세서 식별 방법은 메모리 영역 정보 및 메모리의 동적 라이브러리 정보를 수집하는 단계(S100)와, 상기 메모리 영역 정보를 기초로 기 학습된 제1 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계(S200)와, 상기 동적 라이브러리 정보를 기초로 기 학습된 제2 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계(S300)와, 상기 제1 머신러닝 모델을 이용하여 식별된 비정상 프로세서 및 상기 제2 머신러닝 모델을 이용하여 식별된 비정상 프로세서 중 어느 하나를 기초로 최종 비정상 프로세서를 판단하는 단계(S400)를 포함할 수 있다. 여기서, 단계(S400)는 생략될 수도 있다.
단계(S100)에서, 메모리 영역 정보 및 동적 라이브러리 정보 중 적어도 하나 또는 두 정보를 모두 수집할 수 있다.
단계(S200)에서, 비정상 프로세서는 메모리 영역 정보를 기초로 식별할 수 있다. 이를 위해 제1 머신러닝 모델을 이용할 수 있다.
단계(S300)에서, 비정상 프로세서는 동적 라이브러리 정보를 기초로 식별할 수 있다. 이를 위해 제2 머신러닝 모델을 이용할 수 있다.
상기와 같이, 비정상 프로세서 식별 방법은 메모리 영역 정보를 기초로 비정상 프로세서를 식별하거나, 동적 라이브러리 정보를 기초로 비정상 프로세서를 식별할 수 있다.
단계(S400)는 제1 머신러닝 모델을 이용하여 식별된 비정상 프로세서 및 제2 머신러닝 모델을 이용하여 식별된 비정상 프로세서 중 어느 하나를 기초로 최종 비정상 프로세서를 판단할 수 있다. 단계(S400)는 가중치 제3 머신러닝 모델을 이용하여 최종 비정상 프로세서를 판단할 수 있다. 단계(S400)는 생략될 수도 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 메모리(내장 메모리 또는 외장 메모리))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램)로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치를 포함할 수 있다. 상기 명령이 제어부에 의해 실행될 경우, 제어부가 직접, 또는 상기 제어부의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, 비일시적은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다.
일 실시예에 따르면, 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서, 메모리 영역 정보 및 메모리의 동적 라이브러리 정보를 수집하는 단계와, 상기 메모리 영역 정보를 기초로 기 학습된 제1 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계와, 상기 동적 라이브러리 정보를 기초로 기 학습된 제2 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계와, 상기 제1 머신러닝 모델을 이용하여 식별된 비정상 프로세서 및 상기 제2 머신러닝 모델을 이용하여 식별된 비정상 프로세서 중 어느 하나를 기초로 최종 비정상 프로세서를 판단하는 단계를 수행하기 위한 동작을 포함하는 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
일 실시예에 따르면, 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서, 메모리 영역 정보 및 메모리의 동적 라이브러리 정보를 수집하는 단계와, 상기 메모리 영역 정보를 기초로 기 학습된 제1 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계와, 상기 동적 라이브러리 정보를 기초로 기 학습된 제2 머신러닝 모델을 이용하여 비정상 프로세서를 식별하는 단계와, 상기 제1 머신러닝 모델을 이용하여 식별된 비정상 프로세서 및 상기 제2 머신러닝 모델을 이용하여 식별된 비정상 프로세서 중 어느 하나를 기초로 최종 비정상 프로세서를 판단하는 단계를 수행하기 위한 동작을 포함하는 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
상기에서는 도면 및 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 실시예의 기술적 사상으로부터 벗어나지 않는 범위 내에서 실시예는 다양하게 수정 및 변경시킬 수 있음은 이해할 수 있을 것이다.
110: 메모리 정보 수집부
120: 제1 머신러닝 모델
130: 제1 식별부
140: 제2 머신러닝 모델
150: 제2 식별부

Claims (13)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 메모리 영역 정보 및 메모리의 동적 라이브러리 정보를 수집하는 메모리 정보 수집부;
    상기 메모리 영역 정보를 기초로 기 학습된 제1 머신러닝 모델을 이용하여 비정상 프로세스를 식별하는 제1 식별부;
    상기 동적 라이브러리 정보를 기초로 기 학습된 제2 머신러닝 모델을 이용하여 비정상 프로세스를 식별하는 제2 식별부; 및
    상기 제1 식별부에서 식별된 비정상 프로세스 및 상기 제2 식별부에서 식별된 비정상 프로세스를 기초로 최종 비정상 프로세스를 판단하는 판단부;
    를 포함하되,
    상기 메모리 영역 정보는,
    메모리 영역의 권한에 대해 단어 빈도-역 문서 빈도(TF-IDF)로 변환한 정보, 프로세스 메모리 유형, 프로세스 메모리 영역 바이너리에 대한 유사도 및 메모리 사용 권한 정보를 포함하고,
    상기 동적 라이브러리 정보는,
    동적 라이브러리의 전자서명 여부 및 동적 라이브러리의 이전 사용 기록 정보를 포함하고,
    상기 제1 머신러닝 모델은,
    정상 프로세스의 메모리 영역 정보 및 비정상 프로세스의 메모리 영역 정보를 레이블 데이터 및 입력 데이터로 이용하여 학습되고,
    상기 제2 머신러닝 모델은,
    정상 프로세스의 동적 라이브러리 정보 및 비정상 프로세스의 동적 라이브러리 정보를 레이블 데이터 및 입력 데이터로 이용하여 학습되는 것을 특징으로 하는 비정상 프로세스 식별 장치.
  8. 제7항에 있어서,
    상기 판단부는 상기 제1 식별부에서 식별된 비정상 프로세스 및 상기 제2 식별부에서 식별된 비정상 프로세스 중 적어도 하나에 가중치를 부여하여 최종 비정상 프로세스를 판단하는 비정상 프로세스 식별 장치.
  9. 비정상 프로세스 식별 장치에서 수행되는 비정상 프로세스 식별 방법에 있어서,
    메모리 영역 정보 및 메모리의 동적 라이브러리 정보를 수집하는 단계;
    상기 메모리 영역 정보를 기초로 기 학습된 제1 머신러닝 모델을 이용하여 비정상 프로세스를 식별하고, 상기 동적 라이브러리 정보를 기초로 기 학습된 제2 머신러닝 모델을 이용하여 비정상 프로세스를 식별하는 단계; 및
    상기 제1 머신러닝 모델을 이용하여 식별된 비정상 프로세스 및 상기 제2 머신러닝 모델을 이용하여 식별된 비정상 프로세스를 기초로 최종 비정상 프로세스를 판단하는 단계를 포함하되,
    상기 메모리 영역 정보는,
    메모리 영역의 권한에 대해 단어 빈도-역 문서 빈도(TF-IDF)로 변환한 정보, 프로세스 메모리 유형, 프로세스 메모리 영역 바이너리에 대한 유사도 및 메모리 사용 권한 정보를 포함하고,
    상기 동적 라이브러리 정보는,
    동적 라이브러리의 전자서명 여부 및 동적 라이브러리의 이전 사용 기록 정보를 포함하고,
    상기 제1 머신러닝 모델은,
    정상 프로세스의 메모리 영역 정보 및 비정상 프로세스의 메모리 영역 정보를 레이블 데이터 및 입력 데이터로 이용하여 학습되고,
    상기 제2 머신러닝 모델은,
    정상 프로세스의 동적 라이브러리 정보 및 비정상 프로세스의 동적 라이브러리 정보를 레이블 데이터 및 입력 데이터로 이용하여 학습되는 것을 특징으로 하는 비정상 프로세스 식별 방법.
  10. 제9항에 있어서,
    상기 판단하는 단계는,
    상기 제1 머신러닝 모델을 이용하여 식별된 비정상 프로세스 및 상기 제2 머신러닝 모델을 이용하여 식별된 비정상 프로세스 중 적어도 하나에 가중치를 부여하여 최종 비정상 프로세스를 판단하는 단계를 포함하는 비정상 프로세스 식별 방법.
  11. 삭제
  12. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    메모리 영역 정보 및 메모리의 동적 라이브러리 정보를 수집하는 단계;
    상기 메모리 영역 정보를 기초로 기 학습된 제1 머신러닝 모델을 이용하여 비정상 프로세스를 식별하고, 상기 동적 라이브러리 정보를 기초로 기 학습된 제2 머신러닝 모델을 이용하여 비정상 프로세스를 식별하는 단계; 및
    상기 제1 머신러닝 모델을 이용하여 식별된 비정상 프로세스 및 상기 제2 머신러닝 모델을 이용하여 식별된 비정상 프로세스를 기초로 최종 비정상 프로세스를 판단하는 단계;
    를 포함하는 동작을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되,
    상기 메모리 영역 정보는,
    메모리 영역의 권한에 대해 단어 빈도-역 문서 빈도(TF-IDF)로 변환한 정보, 프로세스 메모리 유형, 프로세스 메모리 영역 바이너리에 대한 유사도 및 메모리 사용 권한 정보를 포함하고,
    상기 동적 라이브러리 정보는,
    동적 라이브러리의 전자서명 여부 및 동적 라이브러리의 이전 사용 기록 정보를 포함하고,
    상기 제1 머신러닝 모델은,
    정상 프로세스의 메모리 영역 정보 및 비정상 프로세스의 메모리 영역 정보를 레이블 데이터 및 입력 데이터로 이용하여 학습되고,
    상기 제2 머신러닝 모델은,
    정상 프로세스의 동적 라이브러리 정보 및 비정상 프로세스의 동적 라이브러리 정보를 레이블 데이터 및 입력 데이터로 이용하여 학습되는 것을 특징으로 하는 컴퓨터 판독 가능한 기록매체.
  13. 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    메모리 영역 정보 및 메모리의 동적 라이브러리 정보를 수집하는 단계;
    상기 메모리 영역 정보를 기초로 기 학습된 제1 머신러닝 모델을 이용하여 비정상 프로세스를 식별하고, 상기 동적 라이브러리 정보를 기초로 기 학습된 제2 머신러닝 모델을 이용하여 비정상 프로세스를 식별하는 단계; 및
    상기 제1 머신러닝 모델을 이용하여 식별된 비정상 프로세스 및 상기 제2 머신러닝 모델을 이용하여 식별된 비정상 프로세스를 기초로 최종 비정상 프로세스를 판단하는 단계;
    를 포함하는 동작을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되,
    상기 메모리 영역 정보는,
    메모리 영역의 권한에 대해 단어 빈도-역 문서 빈도(TF-IDF)로 변환한 정보, 프로세스 메모리 유형, 프로세스 메모리 영역 바이너리에 대한 유사도 및 메모리 사용 권한 정보를 포함하고,
    상기 동적 라이브러리 정보는,
    동적 라이브러리의 전자서명 여부 및 동적 라이브러리의 이전 사용 기록 정보를 포함하고,
    상기 제1 머신러닝 모델은,
    정상 프로세스의 메모리 영역 정보 및 비정상 프로세스의 메모리 영역 정보를 레이블 데이터 및 입력 데이터로 이용하여 학습되고,
    상기 제2 머신러닝 모델은,
    정상 프로세스의 동적 라이브러리 정보 및 비정상 프로세스의 동적 라이브러리 정보를 레이블 데이터 및 입력 데이터로 이용하여 학습되는 것을 특징으로 하는 컴퓨터 프로그램.
KR1020210108113A 2021-08-17 2021-08-17 비정상 프로세스 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 KR102528593B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210108113A KR102528593B1 (ko) 2021-08-17 2021-08-17 비정상 프로세스 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
US17/456,529 US20230057138A1 (en) 2021-08-17 2021-11-24 Apparatus and method for identifying abnormal processor and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210108113A KR102528593B1 (ko) 2021-08-17 2021-08-17 비정상 프로세스 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20230026115A KR20230026115A (ko) 2023-02-24
KR102528593B1 true KR102528593B1 (ko) 2023-05-04

Family

ID=85229369

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210108113A KR102528593B1 (ko) 2021-08-17 2021-08-17 비정상 프로세스 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Country Status (2)

Country Link
US (1) US20230057138A1 (ko)
KR (1) KR102528593B1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10341374B1 (en) * 2018-11-20 2019-07-02 Sift Science, Inc. Systems and methods detecting and mitigating anomalous shifts in a machine learning model
US11423146B2 (en) * 2019-08-27 2022-08-23 Nec Corporation Provenance-based threat detection tools and stealthy malware detection
LU101770B1 (en) * 2020-05-05 2021-11-05 Microsoft Technology Licensing Llc Memory page markings as logging cues for processor-based execution tracing
EP3930281A1 (en) * 2020-06-26 2021-12-29 F-Secure Corporation Threat control method and system
US11599342B2 (en) * 2020-09-28 2023-03-07 Red Hat, Inc. Pathname independent probing of binaries

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Ali Ghasempour et al., "Permission Extraction Framework for Android Malware Detection"(2020.)*
Chang Seon Lee et al., "A method for preventing online games hacking using memory monitoring"(2020.12.)*
Dae Glendowne, "Automating Malware Detection in Windows Memory Images using Machine Learning"(2015.)*

Also Published As

Publication number Publication date
KR20230026115A (ko) 2023-02-24
US20230057138A1 (en) 2023-02-23

Similar Documents

Publication Publication Date Title
US11481492B2 (en) Method and system for static behavior-predictive malware detection
WO2018179765A1 (ja) 情報処理装置、情報処理方法、及びコンピュータ可読記憶媒体
CN112860484A (zh) 容器运行时异常行为检测、模型训练方法及相关装置
EP3350741B1 (en) Detecting software attacks on processes in computing devices
JP6201792B2 (ja) 情報処理装置及び情報処理プログラム
CN101183414A (zh) 一种程序检测的方法、装置及程序分析的方法
CN110968437A (zh) 一种基于Java智能合约的单个合约并行执行的方法、装置、设备及介质
US11816224B2 (en) Assessing and managing computational risk involved with integrating third party computing functionality within a computing system
CN107506622B (zh) 一种基于内存对象访问序列的软件动态胎记及抄袭检测方法
CN111597553A (zh) 病毒查杀中的进程处理方法、装置、设备及存储介质
CN111046349A (zh) 一种so库文件加固识别方法、智能终端及存储介质
US20210150358A1 (en) System and method for controlling confidential information
KR102528593B1 (ko) 비정상 프로세스 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
CN107885489A (zh) 一种快速检测实名登记数据指标的方法和系统
CN116484390A (zh) 一种基于元数据和动态插桩技术的堆漏洞攻击检测方法、设备及介质
CN111949514A (zh) 一种模型预测方法、装置及存储介质
CN111737090B (zh) 日志仿真方法、装置、计算机设备和存储介质
CN112199163B (zh) 分析解释例程的虚拟指令方法、装置、设备及存储介质
CN112613072A (zh) 基于档案大数据的信息管理方法、管理系统及管理云平台
CN110659501A (zh) 漏洞处理跟踪方法、装置、计算机系统及可读存储介质
CN113849785B (zh) 针对应用程序的移动终端信息资产使用行为识别方法
KR102491925B1 (ko) 프로그램 분석 장치 및 방법
EP4261721A1 (en) Method and devices for determining data access restrictions
US20240119137A1 (en) Protection of a machine-learning model
US20240119347A1 (en) Training a bidirectional encoder representations from transformers (bert) model to generate a software representation from an intermediate representation of a software package

Legal Events

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