Deep Learning Paper Review: Malware Detection
No | 기본지식 내용 | 유투브 |
1 | 배치 정규화(Batch Normalization) | 강좌 |
2 | LSTM 쉽게 이해하기 | 강좌 |
3 | Sequence Data를 위한 RNN & LSTM | 강좌 |
Paper Review
Robust Intelligent Malware Detection Using Deep Learning
AUTHOR: R. VINAYAKUMAR, MAMOUN ALAZAB(Senior Member, IEEE), K. P. SOMAN, PRABAHARAN POORNACHANDRAN3, AND SITALAKSHMI VENKATRAMAN
DATA: April 18, 2019.
[ABSTRACT]
악성 소프트웨어(멀웨어)의 공격으로 인한 보안 침해는 디지털 시대에 중요한 보안 문제를 야기하며 계속 확대되고 있다. 멀웨어 공격의 폭발적인 증가로 인해 많은 컴퓨터 사용자, 기업 및 정부가 영향을 받고 있는 가운데, 멀웨어 탐지가 여전히 뜨거운 연구 주제가 되고 있다. 현재 멀웨어 시그니처 및 동작 패턴에 대한 정적 및 동적 분석을 채택하고 있는 멀웨어 탐지 솔루션은 시간이 오래 걸리고, 알 수 없는 멀웨어를 실시간으로 식별하는데는 효과적이지 않은 것으로 입증되었다. 최근의 멀웨어는 다형성, 변형성 및 기타 회피 기술을 사용하여 멀웨어의 동작을 빠르게 변경하고 다수의 새로운 멀웨어를 생성한다. 이러한 새로운 멀웨어는 주로 기존 멀웨어의 변형이며, 효과적인 멀웨어 분석을 위해, 최근 기계 학습 알고리즘(MLA)이 채택되고 있다. 그러나 이러한 접근 방식은 광범위한 특성(Feature) 엔지니어링, 특성(Feature) 학습 및 특성(Feature) 표현이 필요하기 때문에 많은 시간이 소요된다. 딥러닝과 같은 고급 MLA를 사용하면 특성(Feature) 엔지니어링 단계를 완전히 피할 수 있다. 이러한 방향으로 최근 보고된 연구 결과는 실시간 상황에서 실제 사용을 제한하는 편향된 학습(훈련) 데이터로 알고리즘의 성능을 보여준다. 효과적인 제로 데이 멀웨어 탐지를 위한, 새로운 향상된 방법에 도달하려면 편향을 완화하고 이러한 방법을 독립적으로 평가해야 한다. 여러 연구 문헌상의 격차를 메우기 위해, 본 논문에서는 첫째, 다양한 공용 및 개인 데이터셋을 사용하여 멀웨어 탐지, 분류 및 분류를 위한 기존 MLA와 딥러닝 아키텍처를 평가한다. 둘째, 공공 및 민간 데이터셋의 서로 다른 분할을 통해 다른 시간 척도를 사용하여 모델을 학습(훈련)하고 테스트함으로써 실험 분석에서 제거된 모든 데이터셋 편향을 제거한다. 셋째, MLA와 딥러닝 아키텍처가 효과적인 제로 데이 멀웨어 탐지 모델에 도달할 수 있도록 최적의 파라미터를 갖춘 새로운 이미지 처리 기술을 제안하는 데 큰 기여를 했다. 우리의 모델에 대한 포괄적인 비교 연구는 제안된 딥러닝 아키텍처가 기존의 MLA를 능가한다는 것을 입증한다. 빅데이터 환경에 적용된 정적, 동적 및 이미지 처리 기반 하이브리드 접근 방식을 위한 시각화와 딥러닝 아키텍처를 결합하는, 우리의 참신한 기술은 강력한 제로 데이 멀웨어 감지를 실현하는 최초의 기술입니다. 전반적으로 본 논문에서는 실시간 구축을 위해, 확장 가능한 하이브리드 딥러닝 프레임워크를 사용하여 멀웨어를 시각적 그리고 효과적으로 탐지할 수 있는 방법을 제시했다.
INDEX TERMS Cyber security, cybercrime, malware detection, static and dynamic analysis, artificial intelligence, machine learning, deep learning, image processing, scalable and hybrid framework.
I. INTRODUCTION
4차 산업혁명의 디지털 세계에서 기술의 급속한 발전은 기업과 개인의 일상 활동에 많은 영향을 미치고 있다. 사물 인터넷(IoT)과 애플리케이션은 정보 사회의 현대적 개념의 발전으로 이어지고 있다. 그러나 사이버 범죄자들이 경제적 이득을 위해 기밀 데이터를 도용하고 시스템에 대한 서비스 거부를 야기하기 위해, 개인 PC와 네트워크를 공격함에 따라 보안 문제가 산업혁명의 이점을 실현하는데 큰 도전이 되고 있다. 이러한 공격자는 악성 소프트웨어 또는 멀웨어를 사용하여 시스템의 심각한 위협과 취약성을 유발한다[1]. 멀웨어는 OS(운영 체제)에 해를 입히기 위한 컴퓨터 프로그램이다. 멀웨어는 용도와 동작에 따라 애드웨어, 스파이웨어, 바이러스, 웜, 트로이 목마, 루트킷, 백도어, 랜섬웨어, C&C(명령 및 제어) 봇과 같은 다양한 이름을 가진다. 멀웨어 탐지 및 완화는 사이버 보안 분야에서 계속 진화하고 있는 문제이며, 연구원들이 새로운 기술을 개발함과 동시에 멀웨어 작성자들은 탐지를 회피하는 능력을 향상시키고 있다.
A. RESEARCH BACKGROUND
모리스 웜이 1988~89년에 처음으로 컴퓨터 바이러스로 등장했을 때, 바이러스 백신 소프트웨어 프로그램은 수시로 업데이트되는 바이러스 정의 데이터베이스와 일치하는 멀웨어의 존재를 탐지하기 위해 고안되었다. 이를 시그니처 기반 멀웨어 탐지라고 하며, 이를 통해 휴리스틱 검색을 수행하여 멀웨어의 동작을 식별할 수도 있었다. 그러나 그러한 기존 접근법의 주요 과제는 새로운 변형 멀웨어가 코드 난독화와 같은 바이러스 방지 회피 기술을 사용하게 되므로써, 그러한 시그니처 기반 접근법은 제로 데이 멀웨어를 감지할 수 없는 상황이다[2]. 시그니처 기반 멀웨어 탐지 시스템은 정적 및 동적 분석을 사용하여 멀웨어를 역설계하고 이에 대한 시그니처를 할당하기 위해 광범위한 도메인 수준의 지식이 필요하다. 또한, 시그니처 기반 시스템은 멀웨어를 역설계하는데 더 많은 시간이 소요되며, 이 기간 동안 공격자가 시스템을 침입할 수 있다. 또한 서명 기반 시스템은 새로운 유형의 멀웨어를 탐지하지 못한다.
보안 연구원들은 해커들이 주로 다형성과 변형을 시그니처 기반 탐지에 대한 난독화 기술로 사용한다는 것을 밝혀냈다. 이 문제를 해결하기 위해 소프트웨어 도구를 사용하여 수동으로 코드를 풀고 API 호출을 분석한다. 이 프로세스는 리소스 집약적인 작업이기 때문에 [3]에서는 API 호출을 추출하고 4단계 방법론을 사용하여 악성 특성(Feature)을 분석하는 자동화된 시스템을 제시하였다. 1단계에서는 멀웨어의 패킹을 푼다. 2단계에서 바이너리 실행 파일이 디스어셈블된다. 3단계에는 API 호출 추출이 포함된다. 4단계에는 API 호출 매핑 및 통계 기능 분석이 포함된다. 이는 10배 교차 검증을 통해 양성 실행파일 및 멀웨어 실행 파일의 대규모 샘플에서 추출된 n-gram 기능을 갖춘 SVM과 같은 기계 학습 알고리즘(MLA)을 통합하는 5단계 방법론을 사용하여 [4]에서 향상되었다. 이후 [5]에서는 멀웨어 탐지를위한 다양한 고전적인 머신러닝 분류기의 비교 연구가 수행되었고 제로 데이 멀웨어 감지를 위한 프레임워크가 제안되었다. 멀웨어 변형을 다루기 위해, API 호출 순서와 API 호출의 출현 빈도는 유사성 기반 마이닝 및 기계 학습 방법으로 전달되었다 [7]. 상세한 실험 분석은 대규모 데이터셋에 대해 수행되었으며, 제안된 통합 프레임 워크에서 멀웨어 바이너리의 기능을 추출했다. [8]에서는 API 호출 기능과 SVM (Support Vector Machine) 및 MRMRF (Maximum-Relevance Minimum-Redundancy Filter) 휴리스틱의 하이브리드를 사용하여 향상된 멀웨어 탐지를위한 새로운 기능 선택 접근 방식을 제시했다. 최근 알려지지 않은 멀웨어 공격이 증가함에 따라 난독화된 멀웨어에 대한 자세한 정보가 [6]에 의해 논의되고 많은 연구자들이 멀웨어 탐지를위한 MLA를 개선하고 있다 [9].이것은 우리의 연구동기를 형성시킨다.
B. NEED FOR THE STUDY
기계 학습 알고리즘(MLA)은 특성(Feature) 엔지니어링, 특성(Feature) 선택 및 특성(Feature) 표현 방법에 따라 달라진다. 해당 클래스의 특성(Feature) 집합을 사용하여 양성 코드와 멀웨어 사이에 분리 평면을 생성하기 위해 모델을 학습(훈련)하는 데 사용된다. 이 분리 평면은 멀웨어를 탐지하여 해당 멀웨어 제품군으로 분류하는데 도움이 된다. 특성(Feature) 엔지니어링과 특성(Feature) 선택 방법 모두 도메인 수준의 지식이 필요하다. 정적 및 동적 분석을 통해 다양한 특성(Feature)을 얻을 수 있다. 정적 분석은 실행하지 않고 바이너리 프로그램에서 정보를 캡처하는 방법이다. 동적 분석은 격리된 환경의 런타임에서 멀웨어 동작을 모니터링하는 프로세스이다. 동적 분석의 복잡성과 다양한 이슈는 [10]에서 자세히 논의한다. 동적 분석은 멀웨어 탐지 시스템에 대한 효율적인 장기 솔루션이 될 수 있다. 동적 분석은 악성 페이로드가 전달될 수 있는 동작을 분석하는데 많은 시간이 걸리기 때문에 엔드 포인트 실시간 멀웨어 탐지에 배포 할 수 없다. 동적 분석을 기반으로한 멀웨어 탐지 방법은 정적으로 수집된 데이터와 비교할 때 난독화 방법보다 더 강력하다. 가장 일반적인 상용 멀웨어 방지 솔루션은 정적 및 동적 분석 접근 방식의 혼합을 사용한다.
기존 머신러닝 기반 멀웨어 탐지 시스템의 주요 문제는 광범위한 도메인 수준의 지식이 필요한 특성(Feature) 엔지니어링, 특성(Feature) 학습 및 특성(Feature) 표현 기술에 의존한다는 것이다 [11] ~ [13]. 또한 공격자가 특성(Feature)을 알게 되면 멀웨어 탐지기를 쉽게 피할 수 있다[14].
성공하기 위해, MLA는 다양한 멀웨어 패턴을 가진 데이터를 필요로 한다. 멀웨어 분석 연구를 위해 공개적으로 제공되는 벤치마크 데이터는 보안 및 개인 정보 보호 문제로 인해 매우 적은 양이다. 데이터셋은 거의 없지만 대부분 구식이기 때문에 각 데이터셋마다 혹평이 있다. 머신러닝 기반 멀웨어 분석의 발표된 결과 중 많은 수가 자체 데이터셋을 사용했다. 멀웨어 데이터셋을 크롤링하기 위해 공개적으로 사용 가능한 소스가 존재하더라도 연구를 위한 적절한 데이터셋을 준비하는 것은 어려운 작업이다. 이러한 문제는 실시간으로 배포할 수 있는 일반 머신러닝 기반 멀웨어 분석 시스템을 개발할 때 발생하는 주요 단점이다. 더 중요한 것은, 데이터 과학 기법을 적용할 때 주목할 만한 문제가 [15]에서 상세히 논의되었다는 점이다.
최근 신경망의 개선된 모델인, 딥러닝은 자연 언어 처리(NLP), 컴퓨터 비전, 음성 처리 및 기타 많은 분야에서 기존의 MLA를 능가하고 있다[16]. 학습(훈련) 과정 동안, 그것은 실수로부터 배울 수 있는 능력과 함께 깊은 은닉 계층에서 특성(Feature)의 높은 수준의 표현을 포착하려고 노력한다. MLA는 점점 더 많은 데이터를 볼수록 출력이 감소하는 반면, 딥러닝은 새로운 패턴을 캡처하고 이미 캡처 된 패턴과의 연관성을 설정하여 작업의 성능을 향상시킨다. 사이버 보안을 개선하기 위한 멀웨어 분석의 딥러닝 아키텍처의 적용에 관한 연구는 거의 없다[13], [11], [12], [17], [18], [18]~[24]. 그러나, 최근 4.0 산업혁명 시기에는 멀웨어의 수가 빠르게 증가하고 있다. 실시간으로 지속적으로 멀웨어를 수집하면 빅데이터가 생성되기 때문에 기존 접근 방식은 스토리지 요구사항과 효율적인 의사 결정 시간이 매우 높아 확장성이 떨어진다. 멀웨어 분석을 해결하려 할 때, 확장 가능하고 분산적인 아키텍처가 없기 때문에 현재의 연구에서는 알고리즘을 조사하고, 확장 가능한 아키텍처, 즉 ScaleMalNet을 개발하게 되었다.
C. MAJOR CONTRIBUTIONS OF THE STUDY
여러 연구 문헌상의 격차를 메우기 위해, 이 논문에서는 ScaleMalNet이라고 하는 확장 가능한 멀웨어 감지용 딥러닝 네트워크 아키텍처를 빅데이터 기술을 활용하여 다양한 멀웨어 샘플을 처리할 수 있는 기능을 제안한다. 전반적으로 현재 연구의 주요 기여는 다음과 같다 :
- 확장 가능한 하이브리드 프레임 워크, 즉 ScaleMalNet의 새로운 제안은 분산 방식으로 다양한 소스에서 멀웨어 샘플을 수집하고 분산 방식으로 전처리를 적용 할 수 있도록한다. 이 프레임 워크에는 실시간 및 주문형으로 많은 수의 멀웨어 샘플을 처리할 수있는 기능이 있다.
- 멀웨어 분류를 위한 새로운 이미지 처리 기법 제안.
- ScaleMalNet은 2단계 접근 방식을 따른다. 첫 번째 단계에서는 실행 파일을 정적 및 동적 분석을 사용하여 멀웨어 또는 합법적 파일로 분류하고, 두 번째 단계에서는 멀웨어 실행 파일을 해당 멀웨어 계열로 분류한다.
- 다양한 멀웨어 분석 모델을 벤치마킹하여 기존 MLA 및 딥러닝 아키텍처에 대한 독립적인 성능 평가.
논문의 나머지 부분은 다음과 같이 구성되어 있다. "섹션 II"에서는 멀웨어 분석에 전통적으로 사용되는 다양한 접근 방식을 고려하여 주요 맬웨어 분류 모델을 검토한다. "섹션 III"에서는 이 연구 배경에 대한 통찰력을 얻기 위해 딥러닝 아키텍처를 소개한다. "섹션 IV"는 이 연구에서 딥러닝을 위한 구현 아키텍처와 분류기의 성능을 평가하는 데 사용되는 통계적 측정을 제시한다. "섹션 V"에서는 정적 분석을 기반으로 딥러닝을 사용하여 멀웨어를 분류하는 실험과 관찰을 설명한다. "섹션 VI"에서는 동적 분석을 기반으로 딥러닝을 사용하여 멀웨어를 분류하기 위해 얻은 실험 연구 및 결과에 대해 설명한다. "섹션 VII"에서는 멀웨어 분류에 사용된 새로운 이미지 처리 기술에 기반한 딥러닝 아키텍처의 실험 결과를 제시한다. "섹션 VIII"에서는 ScaleMalNet에 대해 자세히 설명한다. 마지막으로 "섹션 IX"에서는 이 연구의 결론과 향후 작업을 제공한다.
II. MALWARE CLASSIFICATION MODELS
이 섹션에서는 일반적으로 정적 및 동적 분석을 사용하는 멀웨어 탐지용으로 채택된 일부 인기 분류모델의 장단점과 최근 몇 년간의 변형에 대해 설명한다. 하지만 빅데이터를 사용하면 향상된 데이터 시각화와 효과적인 의사결정을 위해 이미지 처리 기술을 고려하는 것이 더욱 중요하다. 이러한 방법에 대한 충분한 이해는 이 논문에 제시된 연구의 기초가 된다.
A. MALWARE CLASSIFICATION USING STATIC ANALYSIS
여러 보안 연구자들이 정적 멀웨어 감지를 위해 PE(Portable Executive File)에 대한 도메인 수준의 지식을 적용했다. 현재, 바이트 n-grams과 문자열 분석은 도메인 수준 지식이 없는 정적 멀웨어 감지에 가장 일반적으로 사용되는 두 가지 방법이다. 그러나, n-gram 접근방식은 계산 비용이 많이 들고 성능이 상당히 낮다[25]. 멀웨어와 무해한 파일을 구별하기 위해 기계학습 모델을 구축할 때 필요한 기능을 추출하기 위해 도메인 수준의 지식을 적용하는 것은 종종 어렵다. 이것은 Windows 운영 체제가 자체 사양 및 표준을 일관되게 강요하지 않기 때문이다 [9]. 수시로 사양과 표준이 지속적으로 변경되기 때문에 멀웨어 탐지 시스템은 향후 보안 요구 사항을 충족할 수 있도록 리비전을 보장한다. 이것을 해결하기 위해 [26]에서는 PE 파일의 구문 분석 정보에서 얻은 특성(Feature)을 사용하여 기계 학습 알고리즘(MLA)을 적용했다. 그들은 원시 바이트 히스토그램, [19]에서 가져온 바이트 엔트로피 히스토그램과 같은 불가지론적 특성(Feature)의 포맷과 더불어 문자열 추출을 사용했다. MalConv[11]는 이러한 기존의 기계 학습 모델을 딥러닝 접근방식과 비교했다. 딥러닝 모델은 더 많은 탐색과 추가 연구가 필요하기 때문에 원시 파일 및 관련 코드는 물론 특성(Feature)이 포함된 데이터셋을 공개적으로 사용할 수 있게 되었다.
기존의 완전 연결 네트워크 및 딥러닝의 RNN (Recurrent Neural Network) 모델은 전통적으로 PE 헤더 파일의 300 바이트 정보로 멀웨어를 탐지하는 데 사용되었다 [9]. 이후, [12]는 많은 바이트의 긴 실행 파일에 컨볼루션 신경 네트워크 (CNN)를 사용했으며, 이전 연구에 기반한 두 가지 테스트에서 일관된 결과를 얻었다 [25]. 도메인 수준의 지식을 사용하여 [26]은 몇 가지 특성(Feature)을 추출했고, 그 성과가 MalConv[11] 딥러닝 접근방식과 동등하다는 것을 보여주었다. Malconv 모델의 성능은 기존 아키텍처를 수정함으로써 향상되었다 [12]. 우리는 딥러닝 기능이 완전히 실현되지 않았다고 생각하며, 본 연구에서는 딥러닝을 통합하기 위한 Windows-Static Brain-Droid(WSBD) 모델의 적용을 제안한다.
이 연구에서는 WSBD를 사용하여 비공개로 수집된 무해한 샘플 및 멀웨어 샘플과 [26]의 공개적으로 사용 가능한 데이터 셋을 함께 벤치마킹된 모델 [11], [26] 및 [12]에서 성능을 평가하며, [11]과 [12]에서의 기존 딥러닝 아키텍처의 몇 가지 변형을 소개한다. 또한 딥러닝 기법을 사용하여 [26]에서 얻은 도메인 수준 특성(Feature)에 대한 다양한 고전적인 기계 학습 분류기의 성능을 딥러닝 기반을 사용하여 비교한다.
B. MALWARE CLASSIFICATION USING DYNAMIC ANALYSIS
동적 분석을 기반으로한 멀웨어 분석 방법은 정적 분석에 비해 난독화 방법에 더 강력하다. [20]에서는 5분 API 호출의 특성(Feature)을 추출하여 동적 분석을 사용한 분류를 위해 CNN에 전달하였다. 그들은 약 170개의 샘플을 사용하였으며, 품질측정으로 AUC (Area under Curve)에 대하여 0.96을 얻었다. [21]에서는 비공개적으로 수집된 다수의 양성코드 및 멀웨어 샘플에서 API 호출 기능 셋이 있는 얕은 피드포워드 네트워크를 얻었다. 기존 접근 방식에 비해 성능이 우수하지만 실시간 배포에 중요한 실행 속도에 대한 연구가 부족하다. [22]에서는 멀웨어의 언어를 학습하기 위해 ESN (Echo State Network) 및 RNN을 사용한 실험이 수행되었다. 대부분의 실험에서 ESN은 RNN에 비해 잘 수행되었다. [23]에서는 네트워크 통신과 관련하여 멀웨어 실행을 중지할 시기를 결정하기 위한 실험이 실시되었다. 이 방법은 기존 방법에 비해 총 소요 시간을 67% 단축했다.[24]에서는 RNN과 그 변형 Long-short Term Memory(LSTM) 및 CNN이 API 호출 시퀀스를 특징으로 하는 멀웨어 분류에 사용되었다. 기존 방법의 주요 문제점은 실행 중 동작을 분석하는데 더 많은 시간이 소요된다는 것이다. [24]에서는, 시스템 호출 시퀀스를 사용한 멀웨어 분류를 위해 CNN과 RNN의 하이브리드가 사용되었다. 이러한 시스템 호출은 동적 분석에서 얻었으며, 이들의 방법은 SVM 및 HMM (hidden markov model)과 같이 이전에 사용된 알고리즘보다 성능이 우수한 것으로 보고된다. 그러나 우리는 실시간으로 멀웨어를 탐지하는데 있어 실행 시간의 중요성에 대해 논의하지 못하는 것이 주요 단점으로 꼽힌다. [13]에서는 두 개의 다른 데이터셋을 사용하는 RNN을 기반으로 하는 방법을 제안했다. 그들은 또한 다른 고전적인 기계 학습 분류기의 성능을 평가했다. 그들은 5초의 실행 시간으로 94%의 정확도를 보고했다.
많은 연구에서 정적, 동적 및 Hybdrid 분석을 기반으로 멀웨어 탐지 기술을 비교했다. [27]에서는 특성(Feature) 셋의 정적 및 동적 분석에 HMM을 사용하고 탐지율에 대한 비교 연구가 상당수의 멀웨어 제품군에 대해 수행되었다. 그들은 동적 분석이 일반적으로 최고의 탐지율을 산출했다고 보고했다. 이 연구에서는 Windows 멀웨어 분류에 가장 적합한 알고리즘을 파악하기 위해 다양한 기존 MLA 및 딥러닝 아키텍처의 효율성을 평가하는 WDBD(Windows-Brain-Draid) 모델을 제안한다. 우리는 서로 다른 실행 시간 동안 캡처되는 서로 다른 수의 멀웨어와 양성 샘플을 포함하는 두 개의 서로 다른 데이터셋을 사용한다.
C. MALWARE CLASSIFICATION USING IMAGE PROCESSING TECHNIQUES
멀웨어 공격이 증가하고 있으며, 최근에는 알려진 멀웨어 제품군의 기존 멀웨어 변종으로 새로운 멀웨어가 쉽게 생성된다. 이 문제를 해결하려면 멀웨어를 제품군으로 분류하는데 도움이 될 수 있는 유사한 특성(Feature)을 학습하는 것이 중요하다. [28]~[32], [34], [35]에서 수행된 여러 연구에서는 대부분의 멀웨어 변종이 멀웨어 분류에 사용되는 디지털 신호 및 이미지 처리 기술을 통해 구조적으로 유사하다는 사실을 활용했다. 그들은 멀웨어 바이너리를 그레이 스케일 이미지로 변환했으며 동일한 멀웨어 제품군의 멀웨어가 레이아웃과 텍스처가 매우 유사한 것으로 보인다고 보고했다. 이미지 처리 기술은 디스어셈블리나 코드 실행이 필요하지 않기 때문에 정적 및 동적 분석에 비해 속도가 빠르다. 이러한 접근 방식의 가장 큰 장점은 압축된 멀웨어를 처리할 수 있으며 운영 체제에 관계없이 다양한 멀웨어에서 작동할 수 있다는 것이다. 실험 결과, 대규모 멀웨어 데이터베이스에서 98%의 분류 정확도를 보였으며, 널리 사용되는 난독화 기술인 암호화에도 탄력적이다. 그들은 추가 연구를 위해 벤치마크된 데이터인 Malimg를 공개했다. 또한, 유사성 메트릭을 활용하여 바이너리 실행 파일을 분석할 수 있는 온라인 멀웨어 검색 및 검색 시스템인 SARVAM (Search and RetrieVAl of Malware)을 발표했다. 또한, 신호 처리를 기반으로 하는 멀웨어 유사성 탐지 프레임워크인 SigMal도 발표했다. 압축 및 압축 해제 된 샘플을 모두 처리할 있으므로 리소스를 집중적으로 사용하는 압축 풀기 프로세스를 피할 수 있다. 특성(Feature) 기반 신호 처리의 정확도를 높이기 위해 PE 구조에 대한 정보를 기반으로하는 휴리스틱이 사용되었다. 실험 결과, SigMal의 성능이 정확도 측면에서 다른 모든 정적 멀웨어 탐지 방법을 능가하는 것으로 나타났다.
최근 Malimg 데이터셋은 기존 MLA에 대한 고급 기계 학습 알고리즘(MLA)의 유효성을 평가하는 데 사용된다. 다양한 신호 및 이미지 처리 기술을 따르는 대신, 딥러닝 알고리즘의 애플리케이션은 Malimg 데이터셋[17], [18]을 사용하여 멀웨어 분류로 변환된다. [17]에서는 SVM과 CNN 및 RNN 변형과 같은 딥러닝 아키텍처의 조합을 적용했다. 그들은 학습(훈련)을 위해 80%, 테스트를 위해 20%로 데이터셋을 무작위로 분할했으며 다른 방법에 비해 GRU와 SVM의 조합이 잘 수행되었다고 주장했다. 최근 [18]은 ResNet-50, VGG16, VGG-19와 같은 다양한 CNN 아키텍처와 Malimg 및 비공개 수집 데이터셋에 적용된 이전 학습을 상세 분석했다. 이 연구에서는 멀웨어 분류를 위한 이미지 처리 접근 방식과 함께 딥러닝을 활용하는 DeepImageMalDetect(DIMD)를 제안한다. 제안된 아키텍처의 성능은 다른 딥러닝 아키텍처 및 기존 머신러닝 분류기와 비교된다. 이러한 모든 방법은 벤치마크 데이터셋에서 평가되며, 최근에 수집된 개인 멀웨어 샘플에서도 이러한 방법의 성능이 표시된다.
마지막으로 WSBD(Windows-Static-Brain-Droid), WDBD(Windows-Brain-Droid), DIMD(DeepImage Maldetect)로 구성된 ScaleMalNet이라는 하이브리드 멀웨어 분석 시스템을 제안한다. 이를 통해 실시간으로 멀웨어를 보다 정확하게 탐지할 수 있다. 딥러닝 아키텍처, 구현 아키텍처 및 다양한 접근 방식의 분석에 대한 세부정보는 다음과 같다.
III. DEEP LEARNING ARCHITECTURES
딥러닝 또는 딥 뉴럴 네트워크(DNN)는 뇌가 작동하는 방식에서 영감을 얻어 인공지능의 서브 모듈을 형성한다. 딥러닝 아키텍처의 주요 강점은 데이터가 대량일 때, 데이터의 의미를 이해하고 도메인 전문가의 지식 없이도 새로운 데이터로 파생된 의미를 자동으로 조정할 수 있는 기능이다. 컨볼루션 신경망(CNN)과 순환 신경망(RNN)은 실제 시나리오에 주로 적용되는 두 가지 유형의 딥러닝 아키텍처이다. 일반적으로 CNN 아키텍처는 공간 데이터에 사용되고 RNN 아키텍처는 시간 데이터에 사용된다. CNN과 LSTM의 조합은 공간 및 시간 데이터 분석에 사용된다. 다양한 딥러닝 아키텍처의 배후에 있는 개념들은 수학적인 방법으로 논의된다. 모든 수학적인 식은 [16]에서 가져 왔다.
A. DEEP NEURAL NETWORK (DNN)
그림 1 : n개의 은닉 계층이 있는 DNN 아키텍처 |
![]() |
피드포워드 신경망(FFN)은 그래프가 노드와 에지로 구성된 방향 그래프를 생성한다[16]. FFN은 사이클을 형성하지 않고 한 노드에서 다른 노드로 에지를 따라 정보를 전달한다. 다중 계층 퍼셉트론(MLP)은 3개 이상의 계층, 특히 1개 이상의 입력 계층, 1개 이상의 은닉 계층 및 각 계층이 많은 뉴런을 가지고 있는 출력 계층을 포함하는 FFN의 일종으로, 수학적 표기법 단위로 불린다. 은닉 계층 수는 하이퍼 파라미터 튜닝 방식에 따라 선택된다. 정보는 과거 값을 고려하지 않고 한 계층에서 다른 계층으로 순방향으로 변환된다. 게다가, 각 계층의 뉴런들은 완전히 연결되어 있다. 은닉 계층이 n개인 MLP는 다음과 같이 수학적으로 공식화할 수 있다 :
H는 숨겨진 계층을 정의한다. 이러한 은닉 계층을 쌓는 방식을 일반적으로 딥 뉴럴 네트워크 (DNN)라고 한다. <그림 1>은 n개의 은닉 계층이 있는 DNN 아키텍처의 그림 표현을 보여준다. 입력 x = x1, x2, ...xp-1, xp 및 출력 o = o1, o2, ...oc-1, oc가 필요하다. 각 은닉 계층은 ReLU (Rectified Linear Unit)를 비선형 활성화 함수를 사용한다. 이는 소멸 상태 및 오류 기울기 문제를 줄이는 데 도움이 된다 [36]. ReLU는 더 능숙하고 전체 학습(훈련) 과정을 가속화 할 수 있는 것으로 밝혀졌다. ReLU는 다음과 같이 수학적으로 정의된다 :
여기서 x는 입력을 나타낸다.
B. CONVOLUTIONAL NEURAL NETWORK (CNN)
컨벌루션 네트워크 또는 컨볼루션 신경망 또는 CNN은 주로 이미지 처리 분야에서 사용되는 고전적인 피드 포워드 네트워크 (FFN)를 보완한다 [16]. <그림 2>에 나와 있으며, 모든 연결과 은닉 계층 및 해당 유닛은 표시되지 않는다. 여기서 m은 필터의 수를 나타내고, ln은 입력 특성(Feature)의 수를 나타내며, p는 감소된 특성(Feature) 차원을 나타낸다. 이는 풀링 길이에 따라 달라진다.
그림 2 : 멀웨어 디텍션을 위한 CNN 아키텍처 |
![]() |
본 연구에서, CNN 네트워크는 Convolution 1D 계층, Pooling 1D 계층 및 완전 연결 계층으로 구성된다. CNN 네트워크에는 1D 계층을 풀링하고 완전히 연결된 계층을 1개 이상 포함하는 컨볼루션 1D 계층이 있을 수 있다. 컨벌루션 1D 계층에서는 필터는 1D 시퀀스 데이터 위로 이동하여 최적의 특성(Feature)을 추출한다. 각 필터에서 추출된 특성(Feature)은 특성(Feature) 맵이라는 새로운 특성(Feature) 셋으로 그룹화 된다. 필터의 수와 길이는 하이퍼 파라미터 튜닝 방법에 따라 선택된다. 이것은 차례로 각 요소에 대해 비선형 활성화 함수인 ReLU를 사용한다. 최적 특성(Feature)의 차원은 최대 풀링, 최소 풀링 또는 평균 풀링을 사용하는 풀링 1D 계층을 사용하여 축소된다. 선택한 지역 내의 최대 출력을 최대 풀링에서 선택하므로 이 작업에서는 최대 풀링을 채택한다. 마지막으로, CNN 네트워크는 분류를 위해 완전히 연결된 계층을 포함한다. 완전히 연결된 계층에서, 각각의 뉴런은 다른 모든 뉴런과의 연결을 포함한다. 풀링 1D 계층 특성(Feature)을 완전히 연결된 계층으로 전달하는 대신 시퀀스 관련 정보를 캡처하기 위해 반복 계층인 LSTM에도 제공할 수 있다. 마지막으로 LSTM 특성(Feature)은 분류를 위해 완전히 연결된 계층으로 전달된다.
C. RECURRENT STRUCTURES
그림 3 : Architecture of RNN unit (left) and LSTM memory block (right). |
![]() |
반복 구조는 데이터의 시퀀스 정보를 학습(훈련)하는 기능이 있다. 잘 알려진 반복 구조는 RNN (Recurrent Neural Network)과 LSTM (Long Short Term Memory)이다 [16]. <그림 3>은 RNN 유닛과 LSTM 메모리 블록을 묘사한 CNN의 아키텍처를 보여준다. RNN은 신호가 입력에서 출력으로 한 방향으로만 흐르는 피드 포워드 네트워크와는 다르다. 데이터가 시퀀스로 표현 될 때, RNN은 위치 메모리를 처리하는 데 사용된다. 이 네트워크에서 계층의 출력은 다음 입력에 추가된 후 동일한 계층에 공급된다. 이는 시간에 대한 신호의 정보를 제어한다. RNN은 데이터 패턴이 시간에 따라 변경되는 경우 가장 적합한 네트워크이다.
RNN의 전이 함수는 tf로 표시된다. 각 시간 단계 t에서 은닉 상태 벡터 ht는 다음과 같이 추정된다 :
역전파 중에 전환 함수 tf는 모델이 여러 단계를 통해 전파될 때, 기울기가 사라지는 문제로 들어간다. 이것은 시간이 지남에 따라 정보의 붕괴로 이어질 수 있다. 이를 극복하기 위해, 그래디언트 클리핑 및 게이팅 메커니즘이 도입되었다 [16]. LSTM 네트워크는 메모리 블록 및 게이팅 기능(function)으로 장기적인 종속성을 처리하는 데 도움이되는 RNN 유형이다. 메모리 셀은 메모리처럼 동작하는 메모리 블록의 일부이며, 입력, 출력 및 망각 게이트와 같은 여러 게이팅 기능을 사용하여 제어된다. 시간 단계 t에서 LSTM 단위의 계산은 수학적으로 다음과 같이 정의됩니다 :
여기서 xt는 입력 벡터, ht는 은닉 상태 벡터, ct는 셀 상태 벡터, ot는 출력 벡터, 입력 벡터, ft는 잊어 버린 상태 벡터, w와 b의 항은 각각 가중치와 편향(바이어스)을 나타낸다.
IV. IMPLEMENTATION ARCHITECTURE AND STATISTICAL MEASURES
실험 분석을 위해 채택된 구현 아키텍처는 실시간 분산 Apache Spark (https://spark.apache.org/) 클러스터 컴퓨팅 플랫폼이다. 이 연구를 위해 프로토타입 모델이 개발되었으며, 기밀성을 보호하기 위해 구현된 확장 가능한 프레임워크의 요약만 제공한다. Apache spark 클러스터 컴퓨팅 프레임워크는 Apache Hadoop YARN (Yet Another Resource Negotiator) (https://hadoop.apache.org/)를 통해 설정된다. 이 프레임워크는 태스크를 효율적으로 배포, 실행 및 수집하는데 도움이 된다. 각 시스템에는 1Gbps 이더넷 네트워크에서 실행되는 사양 (32GB RAM, 2TB 하드 디스크, Intel (R) Xeon (R) CPU E3-1220 v3 @ 3.10GHz)이 있다. Apache Spark 클러스터의 기본 단위를 시스템인 노드로 정의한다. 개발된 프레임워크는 마스터 노드, 슬레이브 노드 및 데이터 스토리지 노드의 3 가지 종류의 노드로 구성된다. 마스터 노드(Cm)는 프레임워크의 모든 노드를 제어한다. 사용자는 마스터 노드 인터페이스를 통해 시스템과 통신 할 수 있다. 데이터 스토리지 노드에서 데이터를 검색하고 전처리 및 세분화를 수행한다. 이렇게하면 워크로드가 다른 슬레이브 노드로 분산되고 최종적으로 다른 모든 슬레이브 노드의 출력이 집계된다. 슬레이브 노드(C)는 마스터 노드에서 전처리 된 데이터를 검색한다. 데이터를 병렬로 조사해야 할 많은 양이 있을 수 있다. 마스터-슬레이브 노드 프레임워크는 컴퓨팅을 매우 빠르게 유지하고 데이터 크기에 따라 조정된다. 데이터 저장소 노드(Cd)는 데이터를 저장하는데 사용된다. 또한 슬레이브 노드 역할도 한다. 이것은 매일 데이터를 추적하고 데이터를 매일, 매주 및 매월 단위로 집계한다. 제안된 확장 가능한 아키텍처를 확장하여 훨씬 더 많은 양의 네트워크 이벤트 정보를 분류할 수 있다. 모든 딥러닝 모델은 Keras [38]와 함께 TensorFlow [37]를 사용하여 구현된다. 모든 고전적인 기계 학습 알고리즘 (MLA)은 Scikitlearn을 사용하여 구현된다 [39]. 딥러닝 아키텍처와 관련된 모든 실험은 GPU 지원 TensorFlow 시스템에서 실행된다.
본 연구에서는 분류기의 성능을 평가하기 위해 Accuracy (Accuracy ∈ [0, 1]), Precision (Precision ∈ [0, 1]), Recall (Recall ∈ [0, 1]) 및 F1-score (F1-score ∈ [0, 1]) 점수 등의 표준 메트릭를 고려했다. 이러한 메트릭은 True Positive(TP), True Negative(TN), False Positive(FP) 및 FN(False Negative) [참 양성 (TP), 참 음성 (TN), 거짓 양성 (FP), 거짓 음성 (FN)]을 기반으로 추정된다.
TP는 멀웨어 애플리케이션으로 올바르게 식별된 멀웨어 애플리케이션 샘플의 수, TN은 양성 애플리케이션 샘플로 올바르게 식별된 양성 애플리케이션 샘플의 수, FP는 멀웨어 애플리케이션 샘플로 잘못 분류된 양성 애플리케이션 샘플의 수, FN은 멀웨어 애플리케이션의 수를 나타낸다. 샘플이 무해한 애플리케이션 샘플로 잘못 분류되었다. Accuracy, Precision, Recall, F1-score 등의 측정지표는 다음과 같이 정의된다 :
이진 분류기의 해석을 식별하기 위해 가장 일반적으로 사용되는 진단 도구 중 하나는 ROC (수신기 작동 특성) 곡선이다. ROC 곡선은 기본적으로 각 등급의 표본이 균형을 이룰 때 사용된다. 가장 일반적으로 AUC [곡선 아래의 면적] (Area under the curve)는 ROC 곡선을 비교하는데 사용된다. AUC는 이름에서 알 수 있듯이 ROC 곡선 아래 영역이다. 특히 클래스 간의 분리 정도를 측정한다. AUC는 다음과 같이 정의된다 :
AUC가 높을수록 모델이 클래스를 정확하게 예측한다는 것을 나타낸다.
ROC를 생성하기 위해 Y축의 참 양성 비율 (TPR ∈ [0, 1])과 X축의 거짓 양성 비율 (FPR ∈ [0, 1]) 사이의 트레이드 오프를 추정했다. 범위는 [0, 1]이다. 여기서
그리고
V. MALWARE DETECTION USING DEEP LEARNING BASED ON STATIC ANALYSIS
우리는 정적 분석에 기반한 딥러닝 아키텍처를 벤치마킹하기 위해 평가 서브 모듈을 채택한다. 정적 PE(Portable Executive File) 멀웨어 탐지 및 분류를 위한 다양한 기존 머신러닝 및 딥러닝의 성능은 Ember라고 하는 공개 데이터셋과 함께 양성 및 멀웨어의 비공개 샘플로 평가된다. 딥러닝 아키텍처의 변형은 하이퍼 파라미터 튜닝 접근 방식을 신중하게 따름으로써 제안된다. 다양한 기존 MLA (머신러닝 알고리즘) 및 딥러닝 아키텍처에 대해 다양한 실험을 수행한다. 딥러닝 아키텍처와 관련된 실험은 다양한 학습률 [0.01~0.5]로 1,000 에포크까지 실행된다. 기존 머신러닝과 딥러닝의 모든 모델들은 성능에서 미미한 차이를 가지고 있다. 따라서, 일반적으로 WSBD(Windows-Static-Brain-Droid)라고 하는 하이브리드 시스템 파이프라인을 통합함으로써 멀웨어 탐지 성능을 향상시킬 수 있다. WSBD는 기존의 머신러닝 모델과 딥러닝 모델로 구성된다. WSBD는 조직 수준에서 배포하여 멀웨어를 실시간으로 효과적으로 탐지할 수 있다.
A. DESCRIPTION OF DATASET
기존 머신러닝 및 딥러닝 아키텍처의 효과를 평가하려면 다양한 샘플로 대규모 데이터셋을 생성해야한다. 멀웨어 탐지를 위한 사이버 보안 연구를 위해 공개적으로 사용 가능한 데이터셋은 개인과 조직의 개인 정보 보호 정책으로 인해 매우 제한적이다. 시간이 지남에 따라 멀웨어의 증가로인해 한 소스에서 모든 유형의 멀웨어 제품군을 보유하기가 점점 더 어려워지고 있다. 많은 연구자들이 연구 결과를 공동작업하려고 하지만 여전히 필요한 모든 샘플을 획득할 수 있는 단일 데이터셋이나 저장소가 없다. 이 연구에서 공개적으로 사용 가능한 데이터셋 Ember는 70,140 개의 양성 파일과 69,860 개의 멀웨어 파일이 포함된 서브 집합과 함께 사용된다. 이 데이터셋은 Scikit-Learn을 사용하여 60% 학습(훈련)과 40% 테스트로 무작위로 나뉜다. 학습(훈련) 데이터 셋에는 42,140개의 양성 파일과 41,860개의 멀웨어 파일이 포함되어 있다. 테스트 데이터셋에는 28,000개의 양성 파일과 28,000개의 멀웨어 파일이 포함되어 있다. 이러한 샘플은 VirusTotal (https://www.virustotal.com/), VirusShare (https://virusshare.com/)과 양성 및 멀웨어 샘플의 비공개 수집 샘플에서 얻었다. 다음 전처리 단계를 사용하여 실험 분석을 수행하기 위한 데이터셋을 준비한다 :
No | Name | Contents |
1 | Ember | 도메인 수준 지식을 사용하여 구문 분석된 PE 파일의 다양한 기능과 원시 바이트 히스토그램, 바이트 엔트로피 히스토그램과 같은 포맷 제한이 없는 특성(Feature)을 [26]에서 가져오고 문자열을 추출하여 LightGBM 모델로 전달한다. LightGBM 모델의 성능은 MalConv 모델에 비해 우수하므로 LightGBM에서 GBDT (Gradient boosed Decision Tree)를 사용하며 기본 파라미터는 트리 당 31개의 leaf를 가진 100 개의 tree로 구성된다. 다음으로이 작업에서는 Ember 데이터셋을 사용하여 멀웨어 분류를위한 기존 MLA 및 DNN의 성능을 평가한다. |
2 | MalConv | MalConv는 [11]에서 제안한 멀웨어 탐지 아키텍처로, (1) 전처리 (2) 컨볼루션 (3) 완전 연결의 3가지 섹션으로 구성된다. 전처리 섹션에서 바이너리 파일의 원시 바이트 시퀀스가 임베딩 계층으로 전달된다. 임베딩 계층은 임베딩 사전의 크기로 257개, 임베딩 차원으로 8개를 포함한다. 임베딩 계층은 바이트를 고정 길이 특성(Feature) 벡터 표현으로 매핑한다. Convolution 섹션에서 MalConv는 두 개의 Convolution 1D 계층을 포함한다. 각 컨볼루션 1D 계층에는 512개(커널 크기 4, 128개 필터) 단위와 500개 진폭이 포함되어 있다. 이러한 컨볼루션 계층은 게이트 컨볼루션 접근 방식을 따른다. 컨볼루션 계층은 4000을 풀링 길이로 사용하여 차원을 줄이고 정보 부족 문제를 처리하는 시간 적 최대 풀링을 따른다. 완전 연결 섹션은 완전히 연결된 2개의 계층으로 구성된다. 첫 번째 완전히 연결된 계층은 128개의 유닛을 포함하며, 두 번째 완전히 연결된 계층은 시그모이드 비선형 활성화 기능을 가진 1개의 유닛을 포함한다. SVM은 LSTM으로 분류하기 위해 마지막 계층에서 사용된다. |
3 | Variants of MalConv | MalConv 모델의 SELU 비선형 활성화 함수에 약간의 변화가 있고, DeConv 정규화가 [12]에 의해 제거되었다. 컨볼루션 섹션에는 두 개의 컨볼루션 계층이 포함되어 있다. 최대 풀링에 이어 또 다른 두 개의 컨볼루션 계층이 포함된다. 처음 두 개의 컨볼루션 계층에는 보폭이 4인 32개의 단위가 포함되고 다음 두 개의 컨볼루션 계층에는 보폭이 8인 16개의 단위가 포함된다. 마지막 두 계층은 4개의 완전히 연결된 계층으로 구성된 글로벌 평균 풀링을 따른다. |
4 | Other variants of MalConv | 여기에는 4가지 다른 딥러닝 아키텍처가 채택되어 있다. 두 개의 딥러닝 아키텍처는 MalConv[11]의 변형이고, 다른 두 개의 딥러닝 아키텍처는 MalConv의 변형[12]이다. MalConv에 추가된 30개의 메모리 블록과 Global maxpooling 및 Global 평균이 각각 통합된 MalConv의 변형으로 LSTM 계층의 수정 사항을 소개한다. 마지막으로 LSTM 계층의 특성(Feature)들은 분류를 위해 SVM으로 전달된다. SVM에서 c와 커널 함수 값은 각각 1.0과 rbf로 설정된다. |
B. DATA ANALYSIS AND RESULTS
위에서 언급한 기존 딥러닝 아키텍처의 변형에 대해 수행된 다양한 실험에서 얻은 데이터 분석 및 결과를 제시한다 [11], [12], [26]. 도메인 차원의 Logistic Regression (LR), Navie Bayes (NB), K-Nearest Neighbor (KNN), Decision Tree (DT), Ada Boost (AB), Random Forest (RF) 및 Support Vector Machine 등 기존의 다양한 머신러닝 분류기와 Deep Neural Network의 성능을 평가하기 위해 Ember 데이터셋을 활용한 다양한 실험을 실시하였다. 모든 기존 MLA는 sickit-learn 머신러닝 라이브러리에서 제공하는 기본 파라미터를 사용했다. 처음에는 DNN에 대해 두 번의 실험을 실행하여 200 epoch까지 단위 수에 대한 최적의 파라미터를 알아냈다. 이 실험에서는 손실 함수로 Adam 옵티마이저와 이진 교차 엔트로피를 사용했다. 이 DNN은 입력 계층, 출력 계층, 그리고 범위 내의 유닛과 완전히 연결된 계층을 포함한다 [32-5,120]. 완전히 연결된 계층은 그라디언트 문제가 사라지고 소멸하는 것을 방지하는데 도움이되는 ReLU 활성화 함수를 사용했다. 4,608개의 DNN이 최고 성능을 달성했으며, 은닉 유닛 수가 4,608개에서 5,120개 및 5,632개로 증가할 때 성능이 저하되었다. 따라서, 은닉 유닛 수는 4,608개로 설정한다. 이후, 최적의 학습 속도를 확인하기 위해, 학습률이 [0.01-0.05]인 100개의 에포크 범위의 학습 속도로 DNN에 대한 두 가지 실험 추적을 실행했다. 학습률이 0.01인 DNN 네트워크는 다른 학습률에 비해 양호한 성능을 보였다. 나중에 DNN 네트워크 구조를 식별하기 위해 DNN 1 ~ 12개 계층에 대해 100개의 에포크까지 두 번의 실험을 실행한다. 처음에, 완전히 연결된 모든 계층은 4,608개의 은닉 유닛을 사용했으며 DNN 10 계층은 다른 DNN 네트워크에 비해 성능이 우수했다. 나중에 우리는 계층 수를 늘리는 것과 함께 유닛의 수를 줄였다. 마지막으로 10개의 완전히 연결된 계층의 뉴런은 각각 4,608개, 4,096개, 3,584개, 3,072개, 2,560개, 2,048개, 1,536개, 1,024개, 512개, 128개의 은닉 유닛으로 설정된다. 0.01 드롭아웃과 배치 정규화는 완전히 연결된 계층 사이에 배치되므로 오버핏(과적합)하를 방지하고 학습(훈련) 중 학습 속도를 높일 수 있다. 일반적으로 드롭아웃은 뉴런과 뉴런의 연결을 무작위로 제거한다. DNN을 사용한 실험이 드롭아웃과 배치정규화 없이 실행되었을 때, DNN 모델은 오버핏(과적합)을 초래하고 학습(훈련)에 더 많은 시간이 소요되었다. Sigmoid는 0 또는 1로 나타나는 출력 계층에서 사용되며, 여기서 0은 양성, 1은 멀웨어를 나타낸다. DNN 네트워크의 자세한 파라미터는 <표 1>에서 보여진다.
표 1 : Detailed configuration details of deep neural network (DNN) |
![]() |
<표 2>는 정확도 측면에서 한계 차이가 있는 모든 모델의 세부 결과를 보여준다. 모든 모델 중에서 MalConv의 변형 모델이 더 나은 성능을 보였다. 도메인 수준 특성(Feature)을 갖춘 Ember 데이터셋의 성능은 Malconv보다 뛰어났으며, Malconv는 하이퍼 파라미터 튜닝 방법을 통해 성능을 향상시킬 수 있다. 더 중요한 것은 DNN이 다른 기존 MLA와 Malconv 아키텍처보다 우수한 성능을 보인다는 것이다. 이 연구에 사용된 데이터셋은 Ember의 서브셋이며 데이터셋이 균형을 이룬다. 그러나 대부분의 경우 양성 및 멀웨어 클래스는 데이터 샘플 배포가 불균형하다. 이것은 데이터 마이닝 기술을 사용하여 제어 할 수 있다 [45]. 기존 딥러닝 아키텍처의 변형 성능은 Ember 및 Malconv에 더 가깝습니다.
표 2 : Detailed test results. |
![]() |
마지막으로, 이 연구에서는 전체 바이트 시퀀스에 대한 기존의 머신러닝 모델 및 딥러닝 아키텍처와 도메인 레벨 지식을 혼합한 것을 실시간으로 사용하여 멀웨어를 효과적으로 탐지할 수 있음을 시사한다(<그림 4> 참조).
그림 4 : Proposed deep learning architecture based on static analysis - windows-static-brain-droid (WSBD). |
![]() |
이 연구의 한계는 기존 딥러닝 아키텍처의 변형에 대해 하이퍼 파라미터 튜닝 방법에 대한 상세한 분석이 채택되지 않았다는 것이다. 따라서, 이것은 향후 멀웨어 탐지 성능을 개선할 수 있는 여지가 남아 있다.
VI. MALWARE DETECTION USING DEEP LEARNING BASED ON DYNAMIC ANALYSIS
Windows 멀웨어 탐지를 위한 동적 분석을 기반으로한 기존의 기계 학습 알고리즘(MLA)과 딥러닝 아키텍처를 비교하기 위한 평가 서브 모듈을 제시한다. 모든 모델은 동적 분석을 통해 수집된 행동 데이터에 대해 검토된다 [13]. 딥 네트워크에 대한 파라미터는 다양한 학습률 [0.01-0.5]로 최대 1,000개 에포크까지 수행된 다양한 실험의 시도를 통해 하이퍼 파라미터 선택 접근방식을 따라 선택된다. 딥러닝 아키텍처는 모든 유형의 실험에서 기존의 MLA를 능가했다. 이는 이러한 딥 모델이 둘 이상의 은닉 계층으로 전달하여 최적의, 높은 레벨 및 추상적 특성(Feature) 표현을 학습할 수 있기 때문이다. 가장 잘 수행 된 모델의 결과는 완전히 다른 학습(훈련) 및 테스트에 사용되는 분할 방법론으로 인해서 [13]과 직접 비교할 수 없다. 실행 후, 처음 5초 이내에 기존 MLA와 딥러닝 아키텍처 모두 실행 파일이 정상인지 악의인지 탐지할 수 있다.
A. DESCRIPTION OF DATASET
우리는 이전 연구에서 두 가지 유형의 데이터셋을 사용했다 [13]. 데이터셋 1은 머신 활동 데이터를 수집하기 위해, Java 라이브러리 Sigar (https://github.com/hyperic/sigar)에 작성된 사용자 지정 패키지와 함께 Cuckoo Sandbox (https://cuckoosandbox.org/)를 사용하는 Virtual Box (https://www.virtualbox.org/) 가상 시스템을 사용하여 수집되었다. 가상 머신의 용량은 2GB RAM, 25GB 스토리지, 64비트 Windows 7을 실행하는 단일 CPU 코어이다. 데이터셋 2는 머신 활동 데이터를 수집하기 위해, Python 라이브러리 Psutil8에 작성된 사용자 지정 패키지와 함께 Cuckoo Sandbox를 사용하여 Virtual Box 가상 머신에서 수집되었다. 가상 머신의 용량은 8GB RAM, 25GB 스토리지, 64 비트 Windows 운영 체제를 실행하는 단일 CPU 코어입니다. 데이터셋 1 및 데이터셋 2의 자세한 통계는 <표 3>에 나와 있다.
표 3 : Statistics of datasets. |
![]() |
B. DATA ANALYSIS AND RESULTS
우리는 멀웨어 탐지율이 향상되도록 딥러닝 모델에 대한 최적의 파라미터를 식별하는 하이퍼 파라미터 기법을 채택하고 있다. 처음에 학습(훈련) 데이터셋은 무작위로 70% 학습(훈련)과 30% 검증으로 분할된다. 검증 데이터는 서로다른 에포크에 걸쳐 학습(훈련) 정확도를 관찰하는데 도움이 되었다. 마지막으로, 학습(훈련)된 모델의 성능을 테스트 데이터셋에서 평가한다. 네트워크 파라미터의 경우, 기본 CNN과 DNN 모델로 학습율을 높이기 위해 은닉 유닛에 대해 세 번의 실험을 실행한다. CNN과 DNN 모델 실험에서는 모두 Adam을 옵티마이저로 사용하고, 이진 교차 엔트로피를 손실 함수로 사용했다. 두 모델 모두 입력 계층, 은닉 계층, 출력 계층과 같은 3개의 계층으로 구성되어 있다. 입력 계층에서, 두 모델은 10개의 다른 특성(Feature)에 대해 10개의 뉴런을 포함하고 출력 계층에는 1개의 시그모이드 활성화 함수를 가진 1개의 뉴런이 포함되어 있다. DNN에 대한 은닉 유닛을 찾기 위해, [4-128] 범위의 뉴런에 대해 다양한 실험이 실행된다. 64개의 뉴런을 사용한 실험에서, DNN은 다른 뉴런에 비해 잘 수행되었다. CNN의 필터 수를 알아내기 위해, [4-64] 범위의 필터에 대해 3번의 실험을 실행한다. 필터 32개가 장착된 CNN 네트워크는 다른 필터에 비해 성능이 우수했다. 이러한 파마미터들은 학습률에 대한 최적의 파라미터를 식별하기 위해 수행되었고, 네트워크 파라미터에 대한 다양한 실험 구성은 학습률이 한계 [0.01-0.5] 이내로 이루어졌다. 대부분의 경우, 낮은 학습률과 관련된 실험의 성과가 실행 파일을 양성 또는 멀웨어로 식별하는데 양호한 것으로 확인되었다. 학습(훈련) 시간과 멀웨어 탐지율을 검토하여 나머지 실험에서는 학습률 0.01을 사용한다.
DNN과 CNN에 대한 최적의 네트워크 구조를 알아내기 위해, DNN / CNN 1, 2, 3, 4, 5개의 계층을 사용하였고, 100 에포크에 걸쳐 다양한 네트워크 토폴로지에 대해 3번의 실험을 실행하였다. 다른 네트워크 토폴로지에 비해 4개의 계층으로 구성된 DNN 모델과 1개의 계층으로 구성된 CNN 모델이 우수한 성능을 보였다. DNN에서는 오버핏(과적합)을 줄이고 학습(훈련) 속도를 높이기 위해 드롭아웃 0.01 및 배치 정규화 개념을 채택했다. CNN에서 드롭아웃 0.3은 두 번째 계층 이전에 사용되었다. DNN과 CNN 모델에서 게층 수가 증가하자 멀웨어 탐지율이 낮아졌다. 이것은 오버핏(과적합) 때문이다. 파라미터 수가 적은 DNN 및 CNN 모델은 최대 100 에포크까지 우수한 멀웨어 탐지율을 달성했지만, 더 복잡한 딥러닝 모델은 1,000 에포크까지로 실행될 때, 가장 높은 멀웨어 탐지율을 달성했다. Windows 멀웨어 감지를 위한 동적 분석을 기반으로 제안된 딥러닝 아키텍처의 기능 블록 다이어그램은 <그림 5>에 나와 있다. 실행 파일이 동적 분석 단계로 전달되어 다양한 특성(Feature)을 추출한다. 이러한 특성(Feature)들은 다양한 기존 MLA 및 딥러닝 아키텍처로 전달되어 양성 및 멀웨어 파일의 특성(Feature)을 학습한다. CNN과 DNN 모델 모두 Adam 옵티 마이저, 시그모이드 비선형 활성화 함수, 이진 교차 엔트로피 손실 함수를 사용했다. ReLU는 컨볼루션 및 완전 연결 계층에서 활성화 함수로 사용된다. 시그모이드와 이진 교차 엔트로피는 수학적으로 다음과 같이 정의된다 :
여기서 x는 입력을 정의하고, pd는 예측 확률이고, ed는 예상 클래스 레이블이다.
그림 5 : Proposed deep learning architecture based on dynamic analysis - windows-dynamic-brain-droid (WDBD) |
![]() |
자세한 테스트 결과는 <표 4>에 보여지며, 데이터셋 1 및 데이터셋 2에 대한 ROC 곡선은 각각 <그림 6> (a) 및 <그림 6> (b)에 나와 있다. 비교 연구를 위해 데이터셋 1과 데이터셋 2에서 다양한 기존 MLA를 평가한다. 이러한 알고리즘의 경우 하이퍼 파라미터 튜닝 방법이 아닌 Scikit-learn의 기본 파라미터가 사용되었다. 따라서 다양한 고전적 MLA의 성능은 하이퍼 파라미터 튜닝 방법을 따름으로써 더욱 향상 될 수 있다. 두 데이터셋 모두에서 딥 모델이 기존의 MLA보다 성능이 우수했다. 또한 CNN 모델은 DNN 모델보다 성능이 뛰어났다.
이 서브 모듈에서는 Windows 멀웨어 탐지를 위한 다양한 기존 MLA 및 딥러닝 아키텍처에 대한 비교 연구가 수행된다. 딥러닝 아키텍처는 2개의 서로 다른 데이터셋으로 수행된 모든 유형의 실험에서 기존 MLA를 능가했다. 이러한 모델은 실행 후 처음 5초 이내에 실행 파일을 멀웨어 또는 무해한 것으로 탐지 할 수 있다. 보고된 결과는 학습(훈련)을 촉진하거나 기존 아키텍처에 몇 개의 계층을 더 쌓음으로써 향후 연구 작업으로 더욱 개선될 수 있다. 또한 기존 데이터에 새로운 기능을 추가 할 수 있으며 이러한 탐색은 향후 연구에 전념한다.
표 4 : Test results. |
![]() |
그림 6 : ROC curve for (a) Data set 1, (b) Data set 2. |
![]() |
VII. MALWARE FAMILY CATEGORIZATION USING DEEP LEARNING BASED ON IMAGE PROCESSING
우리는 멀웨어 분류를 위한 CNN (convolutional neural network)과 LSTM (long short term memory) 하이브리드 파이프라인이 있는 이미지 처리 기술을 기반으로한 새로운 DIMD(DeepImage Mal Detect)를 딥러닝 모델로 제안한다. 제안된 방법에서는 멀웨어 제품군 분류에 대한 딥러닝과 함께 시각화를 사용한다. 이 방법은 멀웨어 파일을 이미지로 변환하기 위해 기존 방법 [43]과 [44]에서 따랐던 특성(Feature) 공학을 완전히 피한다. 제안된 방법은 원시 바이트에서 작동하고 디스어셈블리 또는 실행을 완전히 방지하므로 정적 및 동적 분석에 비해 빠르다. 기존 방법 [43, 44]에 비해 두 번째 장점은 제안된 방법이 압축된 멀웨어에 대해 불가지론적이라는 점이다. 다시 말해, 압축을 푼 멀웨어의 압축된 멀웨어 변종에는 시각적 유사성이 포함될 수 있다.
일반적으로 유사한 기술을 별도로 수행하여 다양한 운영 체제(OS)에 대한 멀웨어 탐지를 개발한다. 제안된 방법은 Windows, Android Linux 등과 같은 다양한 OS의 멀웨어에서 작업할 수 있는 기능을 가지고 있다.
멀웨어 이미지 생성 방법은 처음에 [40]에 의해 제안되었다. 바이너리 개체의 데이터를 그레이 스케일 영상으로 나타낼 수 있다. 여기서 영상 픽셀 색상과 연결된 각 바이트는 검은색의 경우 0이고 흰색의 경우 255이며 다른 모든 값은 회색의 중간 음영이다. 또한 멀웨어 이미지 분석을 통해 데이터의 여러 부분을 쉽게 구분할 수 있다고 보고했다. 이 접근방식은 단편 분류, 파일 유형 식별, 원시 데이터 유형의 절제를 요구하는 방법 및 영역 위치의 내용 식별과 같은 다양한 작업에 적용될 수 있다.
[33]에서 멀웨어는 부호없는 8비트 정수를 읽어 그레이 스케일 이미지로 변환되었다. 이미지의 너비는 파일 크기에 따라 정의되며, 너비와 파일 크기에 따라 높이가 달라질 수 있다. [41]에서 제안한 방법에 따라 멀웨어 이미지는 32×32의 2차원(2D) 매트릭스로 크기가 조정되고 1x1024 크기의 배열로 매핑되었다. 각 특성(Feature) 배열은 L2 정규화를 사용하여 정규화된다.
우리는 벤치마크 데이터셋인 Malimg [17], [33] 및 비공개로 수집된 멀웨어 샘플에 대한 기존 MLA와 딥러닝 알고리즘을 사용하여 비교 연구를 수행했다.
A. DESCRIPTION OF DATASET
여기에 사용되는 두 가지 유형의 데이터셋은 Malimg (데이터셋 1)와 비공개로 수집된 샘플 (데이터셋 2)이다. Malimg 데이터셋에는 25개의 다양한 멀웨어 제품군의 9,339개의 멀웨어 샘플이 포함되어 있다. 데이터셋의 자세한 통계는 <표 5>에 보여 진다. 데이터셋은 멀웨어 바이너리를 매트릭스로 변환하여 구성되었다. 이 매트릭스에는 부호없는 8비트 정수가 있다. 이 매트릭스는 [0, 255], 0은 검정, 255는 흰색 범위의 값을 포함하는 회색조 이미지로 시각화 할 수 있습니다. 2D 매트릭스를 1D 벡터 형식으로 변환하여 1x1024 크기의 배열을 얻었다. L2 정규화는 새로 형성된 데이터에 사용됩니다. 다음으로, 데이터셋은 무작위로 70% 학습(훈련) 데이터셋과 30% 테스트 데이터셋으로 나뉘 었으며,이 두 데이터셋에는 각 멀웨어 제품군에 대한 샘플이 포함되어 있다.
표 5 : Description of Data set 1, Malimg. |
![]() |
데이터셋 2는 VirusSign (http://www.virussign.com/) 및 VirusShare (https://virusshare.com/)에서 1년 동안 수집되었다. VirusTotal을 사용하여 약 15,512개의 멀웨어 샘플 및 멀웨어 샘플의 바이러스 백신 레이블을 얻었다. 11 AVclass [42] 도구를 사용하여 멀웨어 샘플의 라벨을 지정했다. 이러한 샘플은 10개의 멀웨어 제품군으로 분류된다. 데이터셋의 자세한 통계는 <표 6>에 나와 있다.
표 6 : Description of Data set 2 |
![]() |
B. DATA ANALYSIS AND RESULTS
그림 7 : Proposed deep learning architecture based on Image processing - deep image mal detect (DIMD). |
![]() |
표 7 : Detailed configuration details of CNN 1, CNN 2, CNN 1 + LSTM and CNN 2 + LSTM. |
![]() |
제안된 아키텍처인 DeepImageMalDetect (DIMD)는 <그림 7>에 나와 있다. 두 데이터셋 모두 멀웨어 데이터 분석을 위해 다양한 기존 머신러닝 알고리즘(MLA)과 딥러닝 아키텍처의 성능을 평가했다. 대부분의 사례에서, 딥러닝 아키텍처는 기존의 MLA를 능가했다. 모든 딥러닝 아키텍처를 위해 범주형 교차 엔트로피 손실 함수와 함께 Adam Optimizer 및 Softmax 활성화 함수를 도입하였다. 최적의 딥러닝 아키텍처의 자세한 구성은 <표 7>에 나와 있다. 실험 설계 및 얻은 결과는 다음과 같다 :
1) Dataset 1, Malimg에 대한 실험: 딥러닝 아키텍처의 파라미터와 구조에 대한 최적의 값을 선택하기 위해 Dataset 1을 이용한 다양한 실험을 수행하였다. 처음에 70% 학습(훈련)은 50% 학습(훈련)과 20% 검증으로 무작위로 나뉘었다. 필터 수에 적합한 파라미터를 찾기 위해 필터 16, 32, 64에 대해 3번의 실험을 실시했고, 한 계층 CNN 네트워크에 대해 필터 길이 3을 실행했으며, 풀 길이 2를 사용한 최대 풀링과 완전히 연결된 계층이 뒤따르는 실험을 실행하였다.
완전히 연결된 계층에는 소프트맥스 활성화 함수를 가진 25개의 뉴런이 포함되어 있다. 이 실험은 배치 크기가 32로 100 epoch까지 실행되었다. 검증 데이터셋에서 테스트한 결과, 64개의 필터와 3개의 필터 길이를 가진 CNN 네트워크가 최고의 정확도를 보여주었다. 동일한 실험에서 0.5의 드롭아웃이 완전히 연결된 계층보다 앞에 배치되었다. 이는 오버핏(과적합)을 방지하는 데 도움이되었다. 드롭아웃 없이 CNN을 사용한 실험은 결국 오버핏(과적합)이 되었다. 적절한 학습률을 찾기 위해 0.01-0.5 범위의 다양한 학습률에 대해 두 번의 실험을 실행했다. 학습률이 0.01인 실험이 잘 수행되었다. 학습률이 낮은 실험은 50에포크까지 실험을 실행했을 때 높은 학습률에 비해 정확도가 떨어졌다. 200 epoch까지 실행했을 때 낮은 학습률이 잘 수행되었다. 계산 시간과 정확도에 따라 나머지 실험에서는 학습률을 0.01로 설정했다.
네트워크 구조를 결정하기 위해, 1, 2, 3개의 계층으로 구성된 3가지 유형의 CNN 네트워크가 사용되었다. CNN의 모든 네트워크 토폴로지에 대해 4번의 실험이 실시되었다. 이 실험들은 150 epoch까지 실행되었다. CNN이 2개 계층으로 구성된 CNN 네트워크는 좋은 성과를 거두었다. CNN 3개 계층의 성능은 실험이 300 epoch까지 실험을 진행해도 CNN 2개 계층과 동일하게 유지되었다. 두 번째 실험에서는 CNN 계층의 출력이 반복 계층인 LSTM으로 전달되었다. 메모리 블록의 수를 결정하기 위해 메모리 블록 18, 36, 70 및 100에 대해 세 번의 실험을 실행했습니다. 70개의 메모리 블록을 사용한 실험은 다른 실험들에 비해 잘 수행되었다.
그림 8 : Training accuracy of various deep learning architectures on malware categorization. | 그림 9 : Training loss of various deep learning architectures on malware categorization. |
![]() |
![]() |
머신러닝과 딥러닝 모델에는 두 단계가 있다. 이러한 모든 모델은 학습(훈련) 데이터를 사용하여 학습(훈련)되고 테스트 데이터셋으로 평가된다. 학습(훈련) 손실함수는 학습(훈련) 중에 모니터링되며, c + 1이 c보다 손실함수가 개선되면 해당 epoch 모델이 저장된다. 1,000 epoch에 걸친 모든 딥러닝 아키텍처의 학습(훈련) 정확도는 <그림 8>에 나와 있다. 모든 딥러닝 아키텍처의 학습(훈련) 손실은 <그림 9>에 나와 있다. 우리는 CNN2와 CNN-LSTM2 아키텍처가 150 epoch에 걸쳐 최적의 정확도를 달성했다고 관찰한다. CNN 1 계층은 1,000 epoch까지 정확도가 향상되었다. 이는 파라미터 수가 적은 네트워크가 수렴하거나 최적의 성능을 얻기 위해 더 많은 epoch가 필요하다는 것을 보여준다. CNN 2계층은 epoch 210에 대해 최적의 성능을 달성했으며, 그 후 네트워크의 오버핏(과적합)으로 인해 갑작스런 감소가 나타났다. 마지막으로, CNN 2계층은 1,000 epoch 동안 다른 모든 아키텍처에 비해 우수한 성과를 거두었다. 테스트하는 동안 테스트 데이터가 저장된 모든 모델에 전달되었고 정확도 (Accuracy), 정밀도 (Precision), 리콜 (Recall) 및 f1-Score를 추정했다. 결과는 <표 8>에 보여진다. <표 9, 11>은 각각 기존 MLA와 딥러닝 아키텍처에 대한 각 클래스의 TPR과 FPR 측면에서 상세한 테스트 결과를 포함하고 있다. 기존의 모든 MLA 중에서 SBM은 잘 수행되었으며, 특히 멀웨어 계열 C2Lop.P, Lolyda.AT, Swizzor.gen! I 및 VB.AT에 대해 높은 TPR과 낮은 FPR을 나타냈다. 더 중요한 것은 딥러닝 아키텍처에 비해 멀웨어 계열 VB.AT에 대해 더 나은 TPR 및 FPR을 보여 주었다는 것이다. 따라서 딥러닝 아키텍처에서 전이 학습을 적용하면 멀웨어 탐지 및 분류 성능을 향상시킬 수 있다. LSTM을 사용하는 CNN 2계층의 성능은 멀웨어 계열인 Malex.gen! J, Obfuscator.AD, Rbot! gen, Skintrim.N, Swizzor.gen! E, VB.AT 및 Yuner.A를 제외하고는 TPR이 높고 FPR이 낮다. 이는 주로 이러한 클래스에 더 적은 수의 샘플이 포함되어 있고 다른 아키텍처에 비해 감소된 LSTM 아키텍처로 CNN 2 계층의 성능이 오버핏(과적합)되기 때문이다. 또 다른 중요한 이유는 이러한 멀웨어 제품군이 다른 클래스에 비해 제품군 수가 적다는 것이다. 따라서 딥러닝에서 비용에 민감한 접근방식을 적용하면 학습(훈련) 중에 불균형 데이터를 쉽게 처리할 수 있다[45].
표 8 : Detailed test results for Data set 1. |
![]() |
표 9 : Detailed Data set 1 test results of various classical machine learning classifiers. |
![]() |
표 10 : Confusion matrix for CNN 2 + LSTM architecture. |
![]() |
표 11 : Detailed Data set 1 test results of CNN 1, CNN 2, CNN 1 + LSTM and CNN 2 + LSTM architectures. |
![]() |
정확도 측정은 분류 모델의 성능에 대한 세부 정보를 숨긴다. Malimg 데이터셋은 매우 불균형적이므로, <표 10>에 나온 것과 같은 성능을 이해하기 위해 혼돈 매트릭스를 사용하고 오류율을 다음과 같이 계산했다.
멀웨어 Adialer.C, Agent.FYI, Alueron.gen! J, Autorun.K, Dontovo.A, Fakerean, Instantaccess, Lolyda.AA 2, Lolyda.AA 3, Lolyda.AT, Obfuscator.AD, ! gen, Yuner.A, Rbot의 오류율은 0이다. 이는 모델이 이러한 멀웨어의 전체 동작을 학습(훈련)했음을 나타낸다. Allaple.A 멀웨어에서 분류 모델은 885개 중 871개 샘플을 올바르게 분류했으며 8개 샘플은 Allaple.L 멀웨어로 잘못 분류되었다. 이는 두 멀웨어 모두 유사성이 높으며, 가장 중요한 것은 '웜' 멀웨어 제품군에 속한다는 것을 나타낸다. 이 분류 모델은 멀웨어 C2Lop.P, Swizzor.gen!G, Swizzor.gen! E, Swizzor.gen! i에 대해 가장 높은 오류율을 달성했다. C2Lop.P의 10개 샘플은 C2Lop.gen! G와 Swizzor.gen! E로 동일하게 잘못 분류된다. 더 흥미로운 것은 C2Lop.P 및 C2Lop.gen! G는’Trozan’ 멀웨어 제품군에 속하고 Swizzor.gen! E는’Trojan Downloader’멀웨어 제품군에 속한다. Swizzor.gen! E 및 Swizzor.gen! I 멀웨어 샘플은 서로 잘못 분류된다. 이는 두 멀웨어가 유사한 특성(Feature)을 많이 갖고 있으며, 둘 다 동일한 멀웨어 패밀리 'Trozan Downloader'에 속한다는 것을 보여준다. 또한, 더욱 흥미롭게도 두 멀웨어 제품군의 샘플은 C2Lop.P 및 C2Lop.gen! G 멀웨어로 잘못 분류되었다. 이는 분류 모델이 C2Lop.P, C2Lop.gen! G, Swizzor.gen! E, Swizzor.gen! I 멀웨어 간의 숨겨진 특성(Feature)을 정확하게 학습하기 위해 이러한 멀웨어 계열의 추가 샘플이 거의 필요하지 않을 수 있음을 나타낸다.
2) Dataset 2에 대한 실험, 비공개로 채취한 샘플 : 학습 알고리즘을 평가하기 위한 통계적 방법으로 교차 검증을 채택하는 것은 일반적인 관행이다. 데이터를 학습(훈련) 및 테스트로 분할한다. 학습(훈련) 알고리즘은 학습(훈련) 데이터에 대해 학습(훈련)되고 테스트 데이터에 대해 평가된다. 기본 형식은 k-fold 교차 검증이다. 이것은 데이터를 동일한 길이의 k 그룹으로 분할한다. 학습(훈련)에 사용되는 k-1 폴더 그룹과 나머지 하나의 폴더는 테스트에 사용되며, 이 프로세스는 k 학습(훈련)에 대해 반복된다. 10-fold 교차 검증의 세부 결과는 <표 12>에 보여진다. 딥러닝 아키텍처를 위한 최적의 파라미터와 구조는 하이퍼 파라미터 튜닝을 통해 선택할 수 있다. 모든 딥러닝 아키텍처의 자세한 파라미터 세부 정보는 ??? 에서 확인할 수 있다. CNN의 필터 개수에 대한 최적의 파라미터를 선택하기 위해, 처음에 CNN의 필터 16, 32, 64에 대해 두 번의 실험을 실행한다. 이 아키텍처는 입력 계층, 컨볼루션, 풀링 및 완전히 연결된 계층으로 구성된다. 모든 실험은 200 에포크 동안 실행되었다. 64개의 필터를 사용한 실험은 잘 수행되었고 필터를 128개로 늘렸을 때 성능이 저하되었다. 따라서 나머지 CNN 실험에 64개의 필터가 설정된다. 최적의 학습률을 선택하기 위해, [0.01-0.5] 범위의 학습률에 대해 3번의 실험을 시행한다. 학습률이 0.05인 실험은 잘 수행되었다. CNN의 네트워크 구조를 선택하기 위해, 우리는 CNN 1, CNN 2, CNN 3 계층 네트워크로 세 번의 실험을 실행한다. CNN 2 계층 네트워크는 다른 네트워크에 비해 잘 수행되었다. 또한, CNN 특성(Feature)은 분류를 위해 완전히 연결된 계층 대신 LSTM 계층으로 전달된다. LSTM에는 50개의 메모리 블록이 포함되어 있다. 이것은 차례로 시퀀스 관련 정보를 얻고 분류를 위해 완전히 연결된 계층으로 전달된다.
표 12 : Detailed results for Data set 2. |
![]() |
C. DEEPIMAGEMALDETECT (DIMD)
제안된 DIMD(DeepImage Mal Detect) 모델의 개요는 <그림 7>에 나와 있다. 이것은 시간적 및 공간적 특성(Feature)을 추출하는데 도움이 되는 CNN-LSTM 파이프라인을 사용한다. 아키텍처는 3개의 계층으로 구성된다. 입력 계층에서, 멀웨어는 이미지 형식으로 변환되고 [33], 이러한 이미지는 1D 벡터로 변환된다 [17]. 길이가 1024인 이러한 1D 벡터는 필터 길이가 3인 64 개의 필터, 풀링 길이가 2인 최대 풀링, 필터 길이가 3인 128개의 필터가 있는 컨볼루션 계층, 풀링 길이가 2인 최대 풀링으로 구성된 CNN 계층에 대한 입력을 형성하고, 70개의 메모리 블록과 드롭 아웃 0.1 및 완전 연결 계층이있는 LSTM 계층이다. 드롭 아웃은 오버핏(과적합)을 완화하는 데 사용된다. 연결과 함께 유닛을 무작위로 제거한다. 완전히 연결된 계층에는 활성화 함수 Softmax를 갖춘 25개의 유닛이 포함되어 있다. Softmax는 다음과 같이 정의된다.
여기서 SF는 Softmax 활성화 함수를 정의하고 x는 입력을 정의한다.
완전히 연결된 계층은 범주적 교차 엔트로피를 손실 함수로 사용하며 다음과 같이 추정된다.
여기서 pd는 실제 확률 분포이고, ed는 예측 확률 분포이다. 우리는 범주 교차 엔트로피의 손실을 최소화하기 위해 Adam을 최적화 도구로 사용했다.
이 서브 모듈에서는 멀웨어 분류를 위해 기존의 MLA 및 딥러닝 아키텍처와 함께 영상 처리 기술을 적용한다. 기존 MLA 및 딥러닝 아키텍처의 효율성은 벤치마크 데이터셋과 비공개로 수집된 멀웨어 샘플에서 평가된다. 딥러닝 아키텍처는 기존의 MLA보다 성능이 뛰어났다. 이 방법은 패킹 및 운영 체제에 구애받지 않는다. 또한 가상 환경 내에서 분해하거나 실행할 필요가 없기 때문에 정적 및 동적 분석에 비해 시간이 적게 소요된다. 또한, 멀웨어 분류를 위한 CNN과 LSTM(CNN-LSTM) 파이프 라인을 포함하는 DIMD (DeepImageMalDetect)를 제안한 서브 모듈은 10겹 교차 검증을 통해 데이터셋 1에서 96.3%의 가장 높은 정확도를 달성했다. 보고된 결과는 매우 복잡한 딥러닝 아키텍처를 사용하고 하이퍼 파라미터 기술을 신중하게 따름으로써 더욱 향상될 수 있다.
하이퍼 파라미터 선택 기법을 따라 기존의 기계 학습과 딥러닝 알고리즘 모두에 대해 최적의 파라미터를 설정된다. 딥러닝 알고리즘은 기존의 MLA에 비해 성능이 우수했다. 또한 하이브리드 네트워크 CNN-LSTM은 다른 모든 알고리즘에 비해 우수한 성능을 보였다. 이는 기존 방법을 능가하는 96.3 %의 정확도를 보여주었다. 주된 이유는 CNN-LSTM이 공간적 특성(Feature)과 시간적 특성(Feature)을 모두 포착할 수 있기 때문이다. DIMD는 바이너리의 디스어셈블리, 디컴파일, 디난독화 또는 실행을 완전히 방지하는 기존 방법에 비해 멀웨어 분류에 효과적인 방법이다. 하이퍼 파라미터는 성능 향상에 중요한 역할을 하므로 최적의 파라미터를 찾으면 보고된 결과를 더욱 향상시킬 수 있다.
빠르게 발전하는 기술, 특히 ICT 시스템은 일반적으로 빅데이터라고 불리는 방대한 양의 데이터를 생성한다. 빅데이터의 특성은 대용량, 다양성, 속도가 크고 정확성이 크기 때문에 머신러닝 알고리즘과 딥러닝 아키텍처를 적용하는데 있어 많은 어려운 문제를 야기한다. 이를 위해서는 데이터 마이닝 및 정보 처리 개념이 필요하다. 딥러닝에서 자동 인코더는 차원 감소를 위해 가장 일반적으로 사용되는 방법이며, 기존 기계 학습에서 차원 감소를 위해 가장 일반적으로 사용되는 고전적인 방법은 PCA (Principal Component Analysis)와 SVD (Singular Value Decomposition) 이다. 최근에는 사이버 보안 애플리케이션을 위한 오토인코더의 애플리케이션이 채택되고 있다 [16]. 오토인코더는 다양한 기능 셋의 잠재적 표현을 학습하는 생성 모델입니다. ICT 시스템이 생성하는 데이터의 양이 시스템의 극히 일부에서 매우 크기 때문에, 이 시간 내에 상당한 성능을 얻으려면 정보를 손실하지 않고 데이터를 사전 처리해야 한다. 이 때문에 이 시스템은 감독되지 않은 방식으로 중요한 특성(Feature)을 학습하고 네트워크 트래픽 분석에 적합한 것으로 밝혀졌다. 오토인코더는 차원 감소 기술로도 사용할 수 있다. 더 나은 분류율을 얻기 위한 차원 감소 기법은 이 연구에서 제안된 방법의 성능을 향상시키기 위해 향후 작업으로 남아있다. 모든 실험에 대한 소스 코드와 학습(훈련)된 모델은 추가 연구를 위해 공개적으로 제공된다 (https://github.com/vinayakumarr/DeepImageMalDetect-DIMD).
VIII. PROPOSED ARCHITECTURE - SCALEMALNET
본 연구에서 수행된 엄격한 실험 결과는 다양한 데이터 소스에서 내부적으로 데이터를 수집하고 기존 머신러닝, 딥러닝과 같은 자가 학습 기술을 사용하는 체계적인 프로세스를 따르는 멀웨어 분석 시스템인 ScaleMalNet을 제안하는데 도움이 되었다. 또한, 이미지 처리 기술을 사용하여 멀웨어를 해당 멀웨어 제품군으로 정확하게 탐지, 분류 및 분류한다. 이 프레임워크는 확장성이 뛰어나 다양한 소스에서 멀웨어 샘플을 손쉽게 수집하고 분산된 방식으로 전처리를 적용한다. 이 프레임워크는 멀웨어 탐지, 분류 및 분류와 같은 멀웨어 분석에 자체 학습(훈련) 기술을 통합한다. 딥러닝 아키텍처의 성능은 기존의 기계 학습 알고리즘(MLA)을 통해 평가되며, 성능 향상은 일관적으로 관찰된다. 프레임워크의 첫 번째 단계에서는 정적 및 동적 분석을 사용하는 멀웨어 탐지 시스템이 있다. 두 번째 단계에서는 첫 번째 단계의 탐지된 멀웨어를 두 번째 단계로 통과시켜 해당 멀웨어 제품군을 분류한다. 이러한 ScaleMalNet 아키텍처는 <그림 10>에 보여진다.
그림 10 : Proposed deep learning architecture for real-time malware analysis. |
![]() |
IX. CONCLUSION
이 논문에서는 멀웨어 감지를 위한 정적 분석, 동적 분석 및 이미지 처리 기술을 기반으로 기존의 머신러닝 알고리즘(MLA)과 딥러닝 아키텍처를 평가하고 제로 데이 멀웨어를 감지, 분류 및 분류할 수 있는 확장성이 뛰어난 ScaleMalNet이라는 프레임워크를 설계했다. 이 프레임워크는 최종 사용자 호스트에서 수집된 멀웨어에 대한 딥러닝을 적용하고 멀웨어 분석을 위한 2단계 프로세스를 따른다. 첫 번째 단계에서는 멀웨어 분류를 위해 정적 및 동적 분석을 혼합하여 적용했다. 두 번째 단계에서는 이미지 처리 방식을 사용하여 멀웨어를 해당하는 멀웨어 범주로 그룹화했다. 이 연구에서 공개적으로 사용 가능한 벤치 마크 데이터셋과 비공개로 수집된 데이터셋 모두에 모델의 변형을 적용하여 수행한 다양한 실험 분석은 딥러닝 기반 방법론이 기존 MLA를 능가하는 것으로 나타났다. 개발된 프레임워크는 실시간으로 많은 수의 멀웨어를 분석할 수 있으며, 기존 아키텍처에 몇 개의 계층을 더 쌓아서 더 많은 멀웨어를 분석할 수 있도록 확장되었다. 향후 연구에서는 기존 데이터에 추가할 수 있는 새로운 기능을 통해 이러한 변화를 탐구해야 한다. 이 작업의 주요 발견, 약점 및 향후 범위는 다음과 같이 요약 할 수 있다 :
- 2 단계 프로세스 확장형 멀웨어 탐지 프레임워크가 제안되었다. 제안된 프레임워크는 1단계에서 멀웨어를 탐지하고 2단계에서 멀웨어를 해당 카테고리로 분류하는 딥러닝 기반 최첨단 방법을 사용한다.
- 딥러닝 아키텍처를 통해 얻은 성능은 정적, 동적 및 이미지 처리 기반의 멀웨어 탐지 및 분류에서 기존 MLA보다 성능이 월등히 뛰어났다. 그러나 동적 분석 기반의 멀웨어 탐지 연구에서는 도메인 지식 추출 기능에 딥러닝 아키텍처가 적용된다. 이것은 런타임에 바이너리 파일에 대한 메모리 덤프를 수집한 다음, 메모리 덤프 파일을 그레이스케일 이미지로 매핑하면 이 문제를 방지할 수 있다.
- 딥러닝 기반 멀웨어 식별 연구를 통한 이미지 처리에서 멀웨어는 고정된 크기의 이미지로 변환된 후, 평면화되었다. 향후 작업에서는 모든 크기의 영상을 입력으로 사용할 수 있도록 SPP(공간 피라미드 풀링) 계층을 사용할 수 있다. 이것은 가변 스케일에서 특성(Feature)을 학습하고 서브 샘플링 계층과 완전히 연결된 계층 사이에 배치하여 모델의 유연성을 향상시킬 수 있다.
- Malimg 데이터셋의 멀웨어 계열은 매우 불균형하다. 멀티 클래스 멀웨어 제품군 불균형 문제를 처리하기 위해 비용에 민감한 접근 방식을 따를 수 있다. 이를 통해 딥러닝 아키텍처의 역방향 전파 학습(훈련) 방법론에 비용 항목을 손쉽게 도입할 수 있다. 주로 비용 항목은 샘플 수가 많은 클래스에 대해서는 낮은 값을 제공하고 샘플 수가 적은 클래스에 대해서는 높은 값을 제공하는 분류 중요성을 나타낸다.
- 딥러닝 아키텍처는 적대적인 환경에서 취약하다 [16]. 생성적 적대 네트워크는 테스트 중에 샘플을 생성하는데 사용할 수 있거나, 배포 단계에서 딥러닝 아키텍처를 쉽게 속일 수 있다. 제안된 연구에서 딥러닝 아키텍처의 견고성은 논의되지 않았다.이것은 멀웨어 장애가 안전에 중요한 환경에서 중요한 애플리케이션이기 때문에 향후 작업을 향한 중요한 방향 중 하나이다. 한 번의 잘못된 분류는 Organization에 여러 가지 피해를 입힐 수 있다.
[딥러닝 공부할 때 알아야 기본]
- LSTM은 무엇의 약자인가? LSTM은 RNN과 다르게 3개의 게이트를 가지고 있다 각각 무엇인가?
- 주파수 공간에서 Full Band가 가지고 있는 특성과 Sub Band가 가지고 있는 특성은 무엇인가?