Skip to main content
QUICK REVIEW

[논문 리뷰] Learning to Reverse DNNs from AI Programs Automatically

Simin Chen, Hamed Khanpour|arXiv (Cornell University)|2022. 05. 20.
Advanced Malware Detection Techniques인용 수 6
한 줄 요약

NNReverse는 엣지 디바이스의 컴파일된 AI 프로그램에서 기계어 코드로부터 깊이 신경망(DNN)을 자동으로 뒤집는 학습 기반 방법이다. 이는 기계어 코드에서 계층의 의미를 추론함으로써 DNN를 복원한다. 세밀한 임베딩 모델을 사용하여 구문과 구조적 의미를 통합함으로써 고정밀도 기능 유사성 검색을 달성하여 실제 모델인 ResNet-18과 VGG-19와 같은 모델에서 정확도 손실 없이 전체 DNN 재구성 가능하다.

ABSTRACT

With the privatization deployment of DNNs on edge devices, the security of on-device DNNs has raised significant concern. To quantify the model leakage risk of on-device DNNs automatically, we propose NNReverse, the first learning-based method which can reverse DNNs from AI programs without domain knowledge. NNReverse trains a representation model to represent the semantics of binary code for DNN layers. By searching the most similar function in our database, NNReverse infers the layer type of a given function's binary code. To represent assembly instructions semantics precisely, NNReverse proposes a more fine-grained embedding model to represent the textual and structural-semantic of assembly functions.

연구 동기 및 목표

  • 컴파일된 모델이 역설계 공격에 노출될 수 있는 온디바이스 DNN 배포 환경에서 증가하는 모델 泄密 위험을 해결하기 위해.
  • 수동 분석이나 도메인 전문 지식 없이 기계어 코드에서 DNN의 역설계를 자동화하기 위해.
  • 다양한 하드웨어 플랫폼에서 어셈블리 함수의 텍스트적 및 구조적 의미를 모두 포괄하는 표현 모델을 개발하기 위해.
  • 기계어 함수를 알려진 계층 유형에 매핑함으로써 컴파일된 AI 프로그램에서 정확하고 자동화된 DNN 아키텍처 재구성 가능하게 하기 위해.
  • 향후 온디바이스 DNN 보안 분야의 연구를 지원하기 위해 네 가지 하드웨어 플랫폼을 아우르는 8만 개의 디컴파일된 DNN 함수로 구성된 공개 데이터셋을 제공하기 위해.

제안 방법

  • NNReverse는 오프라인 단계와 온라인 단계로 구성된 이중 단계 접근법을 사용한다. 오프라인 단계에서는 디컴파일된 DNN 커널 함수의 데이터베이스를 구축하고 의미 표현 모델을 훈련하며, 온라인 단계에서는 알려지지 않은 DNN를 역설계한다.
  • 이 방법은 어셈블리 지시어의 텍스트적 의미와 제어 흐름 그래프(CFG)의 구조적 구조를 동시에 인코딩하는 새로운 세밀한 임베딩 모델을 도입한다.
  • 임베딩 모델은 단어 수준 표현(예: Skip-gram 또는 CBOW 사용)과 그래프 기반의 구조적 인코딩을 결합하여 의미의 정확도를 향상시킨다.
  • 학습된 임베딩을 사용하여 기능 유사도를 계산하고, 데이터베이스에서 가장 의미적으로 유사한 알려진 기능을 검색함으로써 계층 유형을 추론한다.
  • 이 방법은 다양한 하드웨어 플랫폼(예: Android, Intel, ARM, AArch64)에서 훈련된 표현 모델을 사용하여 다중 플랫폼 간 DNN 역설계가 가능하다.
  • 재구성 단계에서는 추론된 계층 유형과 파rameter를 사용하여 정확도 손실 최소화로 전체 DNN 아키텍처를 재구성한다.

실험 결과

연구 질문

  • RQ1도메인 전문 지식이나 수동 역설계 없이 기계어 코드에서 학습 기반 방법이 컴파일된 AI 프로그램으로부터 DNN를 자동으로 뒤집을 수 있는가?
  • RQ2구문과 구조적 의미를 통합한 세밀한 임베딩 모델이 다양한 하드웨어 플랫폼에서 어셈블리 함수의 기능적 의미를 얼마나 잘 포착하는가?
  • RQ3제안된 방법이 원본 모델과의 정확도 손실을 기준으로 하여 DNN 아키텍처를 얼마나 높은 정밀도로 재구성할 수 있는가?
  • RQ4임베딩 차원과 컨텍스트 길이와 같은 하이퍼파라미터 설정에 따라 표현 모델의 성능에 얼마나 민감한가?
  • RQ5제안된 임베딩 기법은 저수준 코드 표현에서 흔히 발생하는 OOV(Out-of-Vocabulary) 문제를 줄일 수 있는가?

주요 결과

  • 모든 하드웨어 플랫폼에서 기존의 word2vec, doc2vec, asm2vec와 같은 베이스라인 방법에 비해 NNReverse는 이진 기능 매핑에서 유의미하게 높은 F1 스코어를 기록한다.
  • 입력-출력 비교를 통해 확인된 결과, LeNet-5, ResNet-18, VGG-11, WideResNet-50와 같은 실제 세계의 DNN를 정확도 손실 없이 성공적으로 재구성하였다.
  • 임베딩 차원(100–300)과 컨텍스트 길이(3–7)의 다양한 설정에서도 안정된 성능을 유지하여 하이퍼파라미터 설정에 대해 낮은 민감도를 보였다.
  • 텍스트적 및 구조적 임베딩을 조합하면 30개의 케이스 중 20개에서 기능 유사도 정확도가 향상되어 구조적 정보의 상호 보완적 가치를 입증하였다.
  • 세밀한 임베딩 모델은 각 지시어를 별개의 단어로 간주하는 것보다 OOV 비율을 감소시켰으며, 특히 Intel 및 ARM 플랫폼에서 두드러진 효과를 보였다.
  • 절단 실험 결과, 구조적 정보만을 사용한 임베딩는 성능이 열등하며, 텍스트와 구조의 조합이 가장 우수한 성능을 내어 설계 선택의 타당성을 입증하였다.

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

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

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

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