Skip to main content
QUICK REVIEW

[논문 리뷰] Interdiction in Practice -- Hardware Trojan Against a High-Security USB Flash Drive

Pawel Swierczynski, Marc Fyrbiak|IACR Cryptology ePrint Archive|2019. 10. 01.
Physical Unclonable Functions (PUFs) and Hardware Security인용 수 4
한 줄 요약

이 논문은 상용 FIPS-140-2 레벨 2 인증을 받은 USB 플래시 드라이브에 FPGA 비트스트림을 조작하여 처음으로 실용적인 하드웨어 트로이 목마를 삽입한 바 있다. 이로 인해 AES-256 XTS 암호화는 선형적이고 암호해석 가능한 함수로 변환되었으며, 단지 32개의 알려진 평문-암호문 쌍만으로도 사용자 데이터를 복구할 수 있었다. 이는 비트스트림 수정이 고보안 장치에 대한 현실적인 위협임을 입증한다.

ABSTRACT

As part of the revelations about the NSA activities, the notion of interdiction has become known to the public: the interception of deliveries to manipulate hardware in a way that backdoors are introduced. Manipulations can occur on the firmware or at hardware level. With respect to hardware, FPGAs are particular interesting targets as they can be altered by manipulating the corresponding bitstream which configures the device. In this paper, we demonstrate the first successful real-world FPGA hardware Trojan insertion into a commercial product. On the target device, a FIPS-140-2 level 2 certified USB flash drive from Kingston, the user data are encrypted using AES-256 in XTS mode, and the encryption/decryption is processed by an off-the-shelf SRAM-based FPGA. Our investigation required two reverse-engineering steps, related to the proprietary FPGA bitstream and to the firmware of the underlying ARM CPU. In our Trojan insertion scenario, the targeted USB flash drive is intercepted before being delivered to the victim. The physical Trojan insertion requires the manipulation of the SPI flash memory content, which contains the FPGA bitstream as well as the ARM CPU code. The FPGA bitstream manipulation alters the exploited AES-256 algorithm in a way that it turns into a linear function which can be broken with 32 known plaintext-ciphertext pairs. After the manipulated USB flash drive has been used by the victim, the attacker is able to obtain all user data from the ciphertexts. Our work indeed highlights the security risks and especially the practical relevance of bitstream modification attacks that became realistic due to FPGA bitstream manipulations.

연구 동기 및 목표

  • 상용으로 인증된 고보안 USB 플래시 드라이브에 실질적인 하드웨어 트로이 목마를 삽입할 수 있는지의 가능성을 조사하기 위해.
  • 신뢰할 수 있는 장치에 사용되는 FPGA의 비트스트림 조작이 초래하는 보안 위험을 평가하기 위해.
  • FIPS-140-2 레벨 2 인증 제품조차도 저수준의 FPGA 논리 수정을 통해 악용될 수 있음을 입증하기 위해.
  • XTS 모드에서 약화된 AES-256 구현체에 대한 암호해석의 실용성을 평가하기 위해.

제안 방법

  • 킹스턴 데이터트래블러 5000 USB 플래시 드라이브의 특수한 Xilinx FPGA 비트스트림을 역공학하였다.
  • 비트스트림 내의 AES-256 IP 코어를 수정하여 선형 함수로 전환함으로써, 이를 암호해석에 취약하게 만들었다.
  • 정상적인 작동 중에 평문-암호문 쌍과 초기 섹터 번호를 캡처하는 하드웨어 트로이 목마를 삽입하였다.
  • 캡처한 쌍을 나중에 유출하기 위해 SPI 플래시에 저장할 악성 펌웨어 패킷을 작성하였다.
  • XTS 모드의 특성을 활용하여 단지 32개의 알려진 쌍만으로도 모든 암호문을 복호화하였다.
  • 수정된 장치에서 실질적으로 평문 복구를 성공적으로 검증하였다.

실험 결과

연구 질문

  • RQ1FPGA 비트스트림 조작을 통해 상용의 FIPS-140-2 레벨 2 인증을 받은 USB 플래시 드라이브에 하드웨어 트로이 목마를 성공적으로 삽입할 수 있는가?
  • RQ2실제 고보안 장치에서 FPGA 비트스트림을 수정하는 것이 실질적인 영향을 미치는가?
  • RQ3저수준 논리 수정을 통해 암호학적으로 안전한 AES-256 구현체를 어느 정도까지 약화시킬 수 있는가?
  • RQ4기본 AES 코어가 선형화된 상태에서 XTS 모드가 데이터를 얼마나 효과적으로 보호하는가?
  • RQ5FPGA 기반 보안 시스템에서 이러한 비트스트림 기반 공격을 방지하기 위한 대응 조치는 무엇인가?

주요 결과

  • FIPS-140-2 레벨 2 인증을 받은 USB 드라이브의 FPGA 비트스트림을 성공적으로 역공학하고 수정하여 AES-256 코어를 약화시켰다.
  • 수정된 AES-256 코어는 선형 함수로 변환되어 단지 32개의 알려진 평문-암호문 쌍으로도 암호해석에 취약해졌다.
  • 공격은 실질적으로 구현되었으며, 암호화된 데이터에서 평문 복구가 성공적으로 검증되었다.
  • 악성 펌웨어는 필요한 암호학적 쌍을 SPI 플래시를 통해 캡처하고 유출하여 전체 데이터 복구를 가능하게 하였다.
  • 이 공격은 비트스트림 조작이 고신뢰성 시스템에서도 현실적인 위협임을 보여주며, 특히 FPGA가 마스터 장치로 기능할 경우 더욱 심각한 위험이 있음을 시사한다.
  • 본 연구는 비트스트림 무결성 보호, 하드웨어 기반 자기 테스트, HSM 지원 검증이 보안 임베디드 시스템에서 매우 중요하다는 점을 강조한다.

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

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

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

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