Skip to main content
QUICK REVIEW

[논문 리뷰] Processor-Dependent Malware... and codes

Anthony Desnos, Robert Erra|arXiv (Cornell University)|2010. 11. 07.
Cellular Automata and Applications참고 문헌 10인용 수 4
한 줄 요약

이 논문은 다양한 CPU 아키텍처 간 부동소수점 산술(FPA)의 이질성에 기반하여 프로세서에 종속적인 악성 소프트웨어를 설계하는 새로운 접근법을 제안한다. 삼각함수 및 합계 계산과 같은 정교하게 설계된 수치 계산을 수행함으로써, 서로 다른 프로세서가 다른 결과를 생성함을 입증하며, 이는 악성 소프트웨어가 다양한 운영체제와 소프트웨어 환경에서도 특정 하드웨어를 고도로 정밀하게 식별하고 타깃으로 삼을 수 있음을 보여준다.

ABSTRACT

Malware usually target computers according to their operating system. Thus we have Windows malwares, Linux malwares and so on ... In this paper, we consider a different approach and show on a technical basis how easily malware can recognize and target systems selectively, according to the onboard processor chip. This technology is very easy to build since it does not rely on deep analysis of chip logical gates architecture. Floating Point Arithmetic (FPA) looks promising to define a set of tests to identify the processor or, more precisely, a subset of possible processors. We give results for different families of processors: AMD, Intel (Dual Core, Atom), Sparc, Digital Alpha, Cell, Atom ... As a conclusion, we propose two {\it open problems} that are new, to the authors' knowledge.

연구 동기 및 목표

  • 운영체제나 애플리케이션에 관계없이 하드웨어 수준의 산술 차이를 기반으로 특정 프로세서를 타깃으로 삼을 수 있는 악성 소프트웨어를 설계할 수 있는지 조사하는 것.
  • 부동소수점 산술(FPA)이 프로세서 식별을 위한 신뢰할 수 있는 지문화 기법이 될 수 있는지 탐색하는 것.
  • FPA 기반 테스트가 인텔, AMD, ARM, MIPS 등의 다양한 프로세서 패밀리 간을 고정밀도로 구분할 수 있음을 입증하는 것.
  • 특정 하드웨어에서만 작동하는 '정밀 수술' 악성 소프트웨어를 가능하게 하여 사이버 전쟁에서 새로운 공격 표면을 밝혀내는 것.
  • 두 가지 열린 문제 제안: (1) 정확한 프로세서 식별을 위한 선형 복잡도의 FPA 알고리즘 설계, (2) FPA 행동에 기반한 프로세서에 종속적인 해시 함수 생성

제안 방법

  • 프로세서 고유의 수치적 행동을 탐지하기 위해 부동소수점 산술(FPA)을 사이드 채널로 활용하며, 내재된 정밀도 및 반올림 차이를 악용한다.
  • sin(10^37 * π) 및 ∑(10^N)과 같은 수치적 표현을 사용하여 각 프로세서별 고유한 출력 서명을 생성한다.
  • 아키텍처 간 부동소수점 계산의 차이를 극대화하기 위해 π의 여러 근사값(Pi1부터 Pi4까지)을 사용한다.
  • 다양한 프로세서(인텔, AMD, ARM 아이폰, MIPS, dsPIC)에서 테스트 프로그램을 실행하고 결과를 16진수 및 10진수 형식으로 기록한다.
  • 컴파일러 및 최적화 플래그가 FPA 결과에 미치는 영향을 분석하여, 컴파일러 선택이 지문화의 해상도를 더욱 높일 수 있음을 보여준다.
  • FPA 기반 테스트를 통해 프로세서 식별을 자동화하기 위한 미래의 프레임워크로 Proc Scope Tool을 제안한다.

실험 결과

연구 질문

  • RQ1다양한 프로세서 간 부동소수점 산술의 차이를 신뢰성 있게 활용하여 서로 다른 CPU 아키텍처를 식별할 수 있는가?
  • RQ2컴파일러 버전과 최적화 설정이 부동소수점 계산 결과에 어느 정도 영향을 미치며, 이를 통해 하드웨어 지문화의 정밀도를 높일 수 있는가?
  • RQ3선형 시간, 선형 공간 복잡도를 가진 수치 알고리즘을 설계하여 FPA 행동을 통해 프로세서를 유일하게 식별할 수 있는가?
  • RQ4FPA 연산을 사용하여 동일한 입력이 다른 프로세서에서 다른 출력을 생성하는 프로세서에 종속적인 해시 함수를 구성할 수 있는가?

주요 결과

  • 인텔, AMD, ARM 아이폰, MIPS, dsPIC 등 다양한 프로세서가 sin(10^37 * π) 계산 시 서로 다른 결과를 생성하여 신뢰할 수 있는 식별이 가능함을 입증함.
  • dsPIC33FJ21 마이크로컨트롤러는 모든 π 근사값에서 동일한 결과(0xbee5)를 생성했지만, 다른 프로세서들은 명확한 분리가 있었음.
  • 0.1 + 0.1 + 0.1 == 0.3 테스트는 VAX 750를 제외한 모든 프로세서에서 false를 반환하여 아키텍처에 따라 다른 부동소수점 행동을 보임을 입증함.
  • 컴파일러 및 최적화 설정이 FPA 결과에 상당한 영향을 미치며, 이는 일반화된 합계 s(N) − N*10^N에서 N과 툴체인에 따라 값이 크게 달라짐으로써 확인됨.
  • sin(10^10 * π1) 계산 결과는 AMD, 인텔, ARM 프로세서에서 일관된 결과를 보였지만, 더 높은 거듭제곱에서는 분리가 발생하여 감지 가능한 패tern을 보임.
  • sin(10^37 * π) 계산에서 FPA 행동에 기반해 4개의 서로 다른 프로세서 하위군을 관찰하였으며, 이는 세밀한 수준의 하드웨어 지문화 가능성을 강조함.

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

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

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

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