Skip to main content
QUICK REVIEW

[논문 리뷰] Deep Learning Based Cryptographic Primitive Classification

Gregory D. Hill, Xavier Bellekens|arXiv (Cornell University)|2017. 09. 25.
Advanced Malware Detection Techniques참고 문헌 14인용 수 11
한 줄 요약

이 논문은 동적 제어 흐름 트레이스를 분석하여 컴파일된 바이너리에서 암호화 원리를 분류하는 데 사용하는 딥러닝 프레임워크인 CryptoKnight를 제안한다. 다변량 오브스큐레이션을 사용하여 OpenSSL 원리를 사용해 합성된 바이너리로 훈련된 모델는 최소한의 하이퍼파라미터 튜닝으로 AES, RC4, Blowfish, MD5 및 RSA 유형을 91%의 정확도로 식별한다.

ABSTRACT

Cryptovirological augmentations present an immediate, incomparable threat. Over the last decade, the substantial proliferation of crypto-ransomware has had widespread consequences for consumers and organisations alike. Established preventive measures perform well, however, the problem has not ceased. Reverse engineering potentially malicious software is a cumbersome task due to platform eccentricities and obfuscated transmutation mechanisms, hence requiring smarter, more efficient detection strategies. The following manuscript presents a novel approach for the classification of cryptographic primitives in compiled binary executables using deep learning. The model blueprint, a DCNN, is fittingly configured to learn from variable-length control flow diagnostics output from a dynamic trace. To rival the size and variability of contemporary data compendiums, hence feeding the model cognition, a methodology for the procedural generation of synthetic cryptographic binaries is defined, utilising core primitives from OpenSSL with multivariate obfuscation, to draw a vastly scalable distribution. The library, CryptoKnight, rendered an algorithmic pool of AES, RC4, Blowfish, MD5 and RSA to synthesis combinable variants which are automatically fed in its core model. Converging at 91% accuracy, CryptoKnight is successfully able to classify the sample algorithms with minimal loss.

연구 동기 및 목표

  • 악성 바이너리 내 암호화 원리의 자동 탐지를 가능하게 하여 증가하는 암호 랜섬웨어 위협에 대응한다.
  • 정적 및 동적 분석의 한계를 극복하기 위해 딥러닝을 활용해 컴파일된 실행 파일 내 오브스큐레이션된 암호화 행동을 탐지한다.
  • 수동 역공학 없이 표준 및 커스터마이징된 암호화 구현을 모두 분류할 수 있는 확장 가능한 자동 시스템을 개발한다.
  • 수동 기능 엔지니어링을 종료된 엔드 투 엔드 학습으로 대체하여 인간의 실수를 최소화하고 분석 시간을 단축한다.
  • 절차적 생성된 다양한 바이너리 버전으로 훈련을 통해 알려지지 않은 암호화 기능의 빠른 분류를 가능하게 한다.

제안 방법

  • 다양한 길이의 제어 흐름 진단을 동적 바이너리 추적에서 추출한 후, 동적 컨볼루션 신경망(DCNN)을 사용해 처리한다.
  • CryptoKnight 라이브러리를 사용해 핵심 OpenSSL 원리(AES, RC4, Blowfish, MD5, RSA)를 다변량 오브스큐레이션 기법과 병합하여 합성 암호화 바이너리를 생성한다.
  • 절차적 생성을 통해 다양한 오브스큐레이션 패턴을 가진 레이블이 부여된 바이너리 샘플의 광범위하고 확장 가능한 데이터셋을 생성하여 DCNN을 훈련시킨다.
  • 제어 흐름 트레이스를 내장된 연산을 가진 순차적 데이터로 표현함으로써, 오브스큐레이션에도 불구하고 시간 불변 패턴을 학습할 수 있도록 한다.
  • 사전 결합된 함수 시퀀스에 대해 지도 학습 방식으로 모델을 훈련시되, 암호화 행동과 비암호화 계산 간의 구분에 집중한다.
  • 분류 오차를 최소화하면서도 오브스큐레이션된 변형 간 일반화 능력을 유지하는 손실 함수를 사용해 모델을 최적화한다.

실험 결과

연구 질문

  • RQ1동적 제어 흐름 트레이스를 사용하여 딥러닝 모델이 컴파일된 바이너리 내 암호화 원리를 정확하게 분류할 수 있는가?
  • RQ2절차적 생성된 합성 데이터셋은 다양한 오브스큐레이션 기법에 일반화할 수 있도록 모델을 훈련시키는 데 얼마나 효과적인가?
  • RQ3컴파일된 실행 파일 내 제어 흐름 및 데이터 흐름 오브스큐레이션에도 불구하고 DCNN이 암호화 행동을 얼마나 잘 탐지할 수 있는가?
  • RQ4표준 및 커스터마이징된 암호화 구현, 포함해 내부적으로 작성된 변형에 대해 모델의 성능은 어떠한가?
  • RQ5최소한의 하이퍼파라미터 튜닝과 낮은 분석 오버헤드로 프레임워크가 암호화 기능을 탐지할 수 있는가?

주요 결과

  • DCNN 모델은 AES, RC4, Blowfish, MD5 및 RSA를 포함한 다양한 암호화 원리에 대해 91%의 분류 정확도를 달성했다.
  • 외부에서 확보한 버전과 내부적으로 작성된 버전을 포함한 RC4 및 Blowfish의 모든 구현을 성공적으로 탐지했다.
  • 바이너리당 분석 시간은 최대 1분 이내였으며, 수동 역공학보다 훨씬 빠르고 이전의 동적 인스트루멘테이션 방법보다도 더 효율적이었다.
  • 엔트로피 기반 특징에 의존하지 않아도 높은 정확도를 유지했으며, 엔트로피를 제외한 경우에도 83.3%의 정확도를 기록했다.
  • 합성 데이터 생성 파이프라인은 과적합 없이 오브스큐레이션된 변형 간에 강력한 일반화를 가능하게 하여 확장성과 모델 안정성을 입증했다.
  • 특히 오브스큐레이션 및 커스터마이징된 암호화 구현을 다룰 때 인간의 간섭을 줄이고 자동화 수준을 높인 이전의 접근 방식을 뛰어넘는 성능을 보였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.