콜드 부트 공격 기술 및 최신 동향 분석

  • 원유승 (싱가포르 난양기술대학교 Temasek Labortories) ;
  • 한동국 (국민대학교 정보보안암호수학과.금융정보보안학과)
  • Published : 2021.02.28

Abstract

일반·보안 기기에서 개인 정보 및 비밀 정보가 많은 부분에서 취급된다. 보안 기기라고 할지라도 전원이 인가되지 않으면 데이터가 초기화되는 RAM의 물리적 특성을 고려하여, 보안영역으로 간과될 수 있다. 하지만 2008년 이후, RAM의 표면 온도를 현저히 낮추면 전원이 인가되지 않아도 RAM 데이터가 초기화되지 않는 특징을 활용한 콜드 부트 공격이 제기되어, 지금까지 활발히 연구되어 하나의 보안이 필요한 영역으로 자리매김하고 있다. 본 논문에서는 콜드 부트 공격의 방법론과 발전 동향, 콜드 부트 공격에 대한 물리적 특성 및 디스크 암호화 솔루션에 적용 가능한 콜드 부트 공격을 설명한다. 또한, 국내 연구에 간과될 수 있는 콜드 부트 공격을 고취시키기 위하여, 이에 대한 대응기법도 소개한다.

Keywords

Ⅰ. 서론

보안 매체 또는 일반 기기에서 개인 정보 보호가 이루어져야 하는 것 중 하나는 메모리이다. 데스크탑, 노트북, 스마트폰, IoT 장비는 모두 메모리를 탑재하고 있으며, 개인정보가 메모리에 영구적 또는 일시적으로 저장되기 때문이다.

하지만 2008년도 RAM에 저장된 데이터를 탈취할 수 있는 기술이 처음 제기되었다[1]. 이는 RAM의물리적 특성을 고려하여 RAM의 데이터를 탈취하는 콜드 부트 공격(Cold Boot Attack)이다. 그 수행하는 방법을 알기 위해서는 일반적인 RAM의 물리적 특성을 알아야 한다. 이는 RAM에 저장된 데이터가 전원이 인가된 상태라면, 그 데이터를 유지하려는 특성을 지닌다. 하지만, 전원이 인가되지 않으면 메모리는 초기화 상태(일반적으로 0값)로 돌아가게 된다.

그러나 전원이 인가되지 않는 경우라도 RAM의 표면 온도가 낮은 상태로 유지된다면, 저장된 데이터가 초기화되지 않고 그 상태를 온전히 유지한다. 이러한 물리적 특성을 이용한 공격방법이 콜드부트 공격으로 일컫는데, 이를 이용하여 RAM 데이터 접근에 허가되지 않은 사람이더라도 RAM 데이터를 탈취할 수 있다.

2008년 이후, 지속적으로 콜드 부트 공격에 대한 연구가 최근까지 이루어지고 있다. 블록 암호, 공개키 암호, 후양자 암호와 암호화 디스크 솔루션의 비밀 키를 콜드 부트 공격을 활용하여 취득할수 있다. 따라서 본 논문에서는 콜드 부트 공격 방법을 간략히 살펴보고, 공격 발전 동향 및 응용 분야와 함께 그 대응기법을 살펴본다.

Ⅱ. 콜드 부트 공격

앞서 언급된 것처럼 콜드 부트 공격은 공격자에게 접근이 인가되지 않은 RAM 데이터를 탈취해 오는 것이다. 이를 간단히 하면 다음과 같은 절차로 이루어진다.

1) [희생자 입장] 허가되지 않은 사용자에게 접근이 불가능한 RAM 사용(단, RAM에 전원이 인가된  상태를 유지)

2) [공격자 입장] 전원이 인가된 상태로 RAM의 표면 온도를 낮은 상태로 유지

3) [공격자 입장] 전원을 끈 후, 재부팅 후 RAM의 접근 권한 설정 전에 RAM 데이터를 탈취

1)에서 2)로 공격자가 RAM의 표면 온도를 전원이 인가된 상태로 낮은 상태(예, 영하35도)로 낮추어야 한다. RAM의 표면 온도를 낮추기 위해서는 특수장비를 활용해도 되지만, 에어 더스터 형태인 분사형 먼지 제거제로 충분히 표면 온도를 낮출 수 있다[1]. 그 이후, RAM 자체를 희생자로부터 탈취하거나 RAM이 부착된 기기를 모두 탈취한 뒤에 3)을 진행할 수 있다.

3)에서 RAM 데이터를 탈취하기 위해서는 RAM이 부착된 기기 또는 부착할 기기의 부트 시퀀스(Boot Sequence)에서 RAM을 초기화 또는 RAM 데이터 접근 권한 부여 전에, 그 값을 탈취해야 한다. 따라서 이를 위해서는 일부 부트 시퀀스를 수정하여야만 탈취할 수 있다. 만약 RAM이 탈부착이 되는 경우라면, 수정된 부트 시퀀스가 적용된 기기에 RAM을 부착하여 콜드 부트 공격을 수행할 수 있다.

Ⅲ. 기기 중심 콜드 부트 공격 발전 동향

본 장에서는 기기 중심 콜드 부트 공격 발전 동향을 설명하며, 노트북, 스마트폰, DDR3/DDR4, IoT 장비 순으로 콜드 부트 공격 동향을 살펴본다.

최초의 콜드 부트 공격[1]의 대상은 노트북으로 탈부착이 가능한 RAM에 대하여 수행하였다. 대상 노트북과 RAM의 사양은 다음 표 1과 같다.

[표 1] [1]에서의 콜드 부트 공격 대상

1.JPG 이미지

해당 노트북에 대하여 부트 시퀀스르 3가지(PXE (Preboot Execution Environment) 네트워크 부트, USB 드라이버 부트, EFI(Extensible Firmware Interface) 부트)로 접근1)하였다. 해당 부트 시퀀스를 일부 수정하여 부팅을 시작하자마자 USB 메모리를 RAM 데이터를 저장하는 방식으로 콜드 부트 공격을 수행하였다. 앞서 언급된 것처럼 노트북 모델 1종류만으로 수정된 부트 시퀀스를 활용하여 표 1에서의 RAM에 대하여 콜드 부트 공격이 또한 가능하다.

2003년에는 안드로이드 4.0이 설치된 갤럭시 넥서스 스마트폰 대상으로 콜드 부트 공격이 가능함을 증명하였다[2]. 앞선 노트북과는 달리 RAM의 탈착이 불가능하며 권한 설정없이 부트 시퀀스를 수정하기는 어렵다. 부트 시퀀스를 수정하기 위해서는 “fastboot oem unlock”을 수행해야 하는데 이는 부팅 시 스마트폰 내에 “To prevent unauthorized access to your personal data, unlocking the bootloader will also delete all personal data from your phone”라는 문구와 함께 메모리에 저장되어 있는 개인정보가 모두 지워진다. 하지만 부팅을 수행하자마자 USB 포트를 활용하여 부트 시퀀스를 수정 후(아래 부트 시퀀스 수정권한을 가정한 경우와 같은 절차), 콜드 부트 공격을 적용하면 이메일, 사진, 방문한 웹 사이트 등의 일부 개인정보가 남아있는 것을 확인할 수 있다. 즉, 부트 시퀀스를 수정 할 수 있게 권한을 주면서 RAM에 있는 모든 데이터를 삭제해야 되지만, 그렇지 않아 콜드 부트 공격이 가능한 형태이다.

11.JPG 이미지

[그림 1] 에어 더스트로 RAM의 표면 온도를 –50도로 낮춰, IBM T43p 노트북에서 콜드 부트 공격을 수행

이와 달리 이미 부트 시퀀스 수정 권한을 가정한 경우에는 콜드 부트 공격이 어렵지않게 가능하다. USB 포트를 활용하여 복구 파티션(Recovery partition)에 악의적인 코드를 삽입한 후 사용자 데이터의 암호화 키, 사용자 데이터, PIN, RAM 데이터 추출 등이 가능하다.

앞선 노트북, 스마트폰과 달리 콜드 부트 공격에 대한 대응기법이 적용된 최신 RAM(DDR3, DDR4) 대상으로 공격이 가능함을 보였다[3,4]. 최초의 콜드 부트 공격이 제안되었을 때의 RAM은 대응기법이 존재할 수 없었기 때문에, 그 이후 콜드 부트 공격에 대한 대응기법이 적용된 DDR3, DDR4가 출시되었다. 스크램블러 (Scrambler) 대응기법이 다음과 같이 메모리 구조 내에 적용되어 있다.

22.JPG 이미지

[그림 2] 복구 파티션에 삽입된 악의적은 코드를 활용한 콜드 부트 공격

그림 3에서와 같이 RAM에 데이터를 저장할 때 64 바이트 단위로 스크램블러 키(Scrambler Key)를 활용 하여 XOR 연산하여 암호화 저장한다. RAM에서 데이터를 불러올 때는 같은 방법으로 Output을 스크램블러 키로 XOR 연산하여 복호화하여 본 데이터를 활용할 수 있다. 공격자 입장에서는 Seed 값만 구할 수 있다면, 스크램블러 키를 알 수 있기 때문에 공격이 가능하다. 하지만 Seed 값은 메인보드로부터 받아서 사용하기 때문에, 새로운 메인보드로 RAM을 옮겨가거나 재부팅을하면 새로운 Seed 값으로 받아서 사용하게 된다.

33.JPG 이미지

[그림 3] DDR3, DDR4에 적용된 스크램블러 대응기법

선형 되먹임 시프트레지스터(Linear feedback shift register, LFSR)로 이루어진 PRNG 구조를 갖는 DDR3, DDR4에서는 각각 16개, 4096개의 구분 가능한 64바이트 키가 생성이 가능하다는 사실을 밝혀냈다. 공격자 입장에서 키를 추출하기 위해서, RAM 메모리가 대부분 0인 특성과 아래와 같은 스크램블러 키의 특징을 활용한다. 다시 말하면, 메모리가 0인 부분에 스크램블러 대응기법이 적용되면 스크램블러와 0값이 XOR된 값인 스크램블러 키가 온전히 저장된다.

\(\begin{array}{l} K[i: i+1] \oplus K[i+2: i+3]=K[i+8: i+9] \oplus K[i+10: i+11] \\ K[i: i+1] \oplus K[i+4: i+5]=K[i+8: i+9] \oplus K[i+12: i+13] \\ K[i: i+1] \oplus K[i+6: i+7]=K[i+8: i+9] \oplus K[i+14: i+15] \\ K[i+2: i+3] \oplus K[i+4: i+5]=K[i+10: i+11] \oplus K[i+12: i+13] \\ \text { for } i=0,16,32,48 \end{array}\)       (1)

\(k\left [ x:y \right ]\)\(x\)번째 바이트부터 \(y\)번째까지의 바이트를 의미한다. 즉, 콜드 부트 공격을 활용하여 암호화된 메모리를얻은 후, 64바이트 단위로 식(1)을 적용하여 만족한다면 메모리가 0인 부분에 스크램블러 키가 사용되었다는 것을 알 수 있다. 이러한 성질을 활용하여 약 16MB의 RAM 메모리가 덤프된다면 모든 스크램블러 키를 찾을 수 있다. 요컨대, 스크램블러 대응기법이 적용된다고 하더라도 기존의 콜드 부트 공격은 어렵지 않게 적용이 가능하다.

최근 [5]에서 IoT 장비에서 최초로 콜드 부트 공격이 가능함을 보였다. IoT 장비에서 상용적으로 많이 사용되는 라즈베리 파이(Raspberry Pi)를 대상으로 하였으며 세부 스펙은 다음 표 2와 같다.

[표 2] [5]에서의 콜드 부트 공격 대상

2.JPG 이미지

라즈베리 파이는 앞선 스마트폰과 같이 RAM이 칩에 부착된 상태이다. 하지만, 공격대상이 되는 라즈베 리 파이는 마이크로 SD카드에 OS가 설치되어 구동된다. 희생자의 마이크로 SD카드에 부트 시퀀스를 수정하기 보다는, 공격자가 수정한 부트 시퀀스가 적용된 마이크로 SD카드로 교체하여 라즈베리 파이 내에 장착된 RAM에 콜드 부트 공격을 수행하였다. 즉, 앞선 공격 절차에서 공격절차 3)의 형태가 수정되는데 이를 정리하면 다음과 같다.

3) [공격자 입장] 전원을 끈 후, 수정된 부트 시퀀스가 적용된 마이크로 SD카드로 교체 후, 재부팅 후RAM 데이터를 탈취

수정된 절차대로 콜드 부트 공격을 수행하면 라즈베리 파이 내의 RAM 데이터(512MB)를 약 5분안에 모두 탈취할 수 있다. 이는 라즈베리 파이가 취약하기도 하지만 SoC 칩인 BCM2835 칩 내에 콜드 부트 공격에 대한 대응기법이 존재하지 않아, 공격이 가능함을 보인 것이다.

Ⅳ. RAM 물리적 특성에 따른 콜드 부트 공격 결과

본 장에서는 콜드 부트 공격에 따른 RAM 데이터 복구결과를 서술한다. 앞서 설명했듯이, 콜드 부트 공격은 RAM의 전원 인가가 이루어지지 않더라도 낮은 온도에서 그 데이터를 보존하려는 성질을 이용하여 공격하는 것이다. 하지만, 낮은 온도를 유지한다고 하더라도 100% 복구율을 의미하지 않는다. 물리적 특성이므로 기기에 부착된 RAM마다 차이 또는 실험(RAM의 표면 온도)에 따라 달라질 수 있다.

[1]에서 정의했듯이, RAM 메모리의 1비트가 디폴트 값(일반적으로0)에서 그 반대값(비트1)으로 변할 확률(p1)과 비트 1에서 비트 0으로 변할 확률(p0)을 사용하여 콜드 부트 공격의 성공 확률을 나타낸다. 예를 들면, 콜드 부트 공격이 이루어지지 않고, RAM의 물리적 성질이 완벽히 이루어졌다면 기기를 재부팅하면 p0가 1이며, p1는 0일 것이다. 실제로[1]에 따르면 콜드 부트 공격을 수행하더라도, p1은 0.001(0.1%) 이하로 굉장히 작으며, p0에 대한 실험치는 밝히지 않았지만 0.1(10%)로 가정하여도 메모리 복구가 가능하다고 밝혔다. 즉 낮은 온도를 유지한 채 메모리를 복구해와도 p0와p1에 의한 비트 오류율이 존재한다.

또한, 위의 그림 4에서와 같이 영하 50도로 낮춘 후, 짧은 시간 동안의 전원 비인가는 RAM 복구 성공률 100%에 가깝다는 것을 알 수 있다.

44.JPG 이미지

[그림 4] 인피니언 SDRAM 128MB에서 표면 온도 영하 50도로 낮춘 후, 전원 비인가 시간(좌측부터 5초, 30초, 60초, 5분)에 따른 이미지 복구율

[5]에서도 라즈베리 파이 내에서 RAM의 표면 온도와 전원 비인가 시간에 따른 결과 측정하였다(그림5).

55.JPG 이미지

[그림 5] 전원 비인가 시간(Decay Time) 및 RAM 표면온도(Temperature)에 따른 RAM 데이터복구 성공률(RecoveryRatio)

약 영하 30도를 짧은 시간 동안 유지할 수 있다면, RAM의 공격 복구성공률 100%에 가깝다는 것을 알 수 있다.

이를 기반으로 라즈베리 파이 내에서 p0와 p1에 대한 확률을 측정한 결과는 다음과 같다.

표 3에서와 같이 전체 메모리가 512MB이지만 4169415680비트(약497MB)만 조사된 이유는 일부 부트 시퀀스, 캐시 메모리, POST (Power-On-Self-Test) 등을 제외한 메모리이다. 앞서 [1]에서 소개된 p0, p1보다 현저히 작은 수치라는 것을 알 수 있다.

[표3] 라즈베리 파이에서 p0, p1 확률 값

3.JPG 이미지

Ⅴ. 콜드 부트 공격의 응용

본 장에서는 콜드 부트 공격을 활용하여 RAM 메모리 탈취 후, 알고리즘의 비밀 키 복구 또는 디스크 암호화 솔루션의 키 복구를 설명한다.

5.1. 암호 알고리즘 비밀 키

블록 암호 또는 공개 키 암호 알고리즘의 비밀 키가 RAM에 저장되어 있다면, 콜드 부트 공격을 통하여 그 비밀키를 탈취할 수 있다. 하지만, 앞서 소개한 RAM의 물리적 특성으로 인해 100%를 복구하지 못할 수 있다. 따라서 비밀 키를 온전히 복구하기 위해서는 이러한 오류로부터 복구할 필요성이 제기된다. 이를 위해서는 블록 암호 알고리즘같은 경우, 다수 암호화 작업(운용 모드)으로 인해 라운드 키가 일반적으로 RAM에 저장된다고 가정한다. 따라서 키 스케쥴 특성을 이용하여 전체 키 복구를 수행한다. 또한, 공개키 암호알고리즘 같은 경우에는 비밀 키의 대수적 특징을 활용하여 전체 키를 복구한다.

DES의 경우 [1]에는 56비트 비밀 키에서 48비트의 16개 라운드 키를 갖는다. 단순히 Compression과 Permutation만 고려된 키 스케쥴 때문에, p0가 0.5이더라도 56비트 키의 틀린 비트가 있을 확률 10-9으로 현저히 낮다.

AES의 경우에도 역시 키스케쥴 특성을 활용할 수 있다. SAT solver를 로 활용하여 라운드 키 간의 대수적 관계성을 이용하면, p0(=0.7)가 높더라도 수초 내에 키 값을 복구할 수 있다[6].

공개키인 RSA의 경우에 공개 키와 비밀 키 간의 관계성을 활용하여 divde-and-conquer 전략으로 비밀 키를 복구할 수 있다. p0가 0.4이고, p1이 0.001일때 수초 내에 복구할 수 있다는 것을 보였다[7].

그 이후, NTRU도 다항식의 곱셈과 합으로 이루어진 비밀 키의 특성을 활용하여, (p0,p1)가(0.01, 0.001)일 때, 수 분에서 수 시간 내에 비밀 키를 복구하였다[8].

2018년에는 후양자 암호(Post-Qunatum Cryptography, PQC)에 대한 키 복구 방법도 연구되었다. Kyber, NewHope에 대하여 시계열/주파수계열(즉, NTT 연산 여부)에서 RAM 메모리 복구가 이루어졌느냐에 따라 공격복잡도를 계산하였다[9]. 특히, NTT를 활용하는 공격복잡도에서는 100% 키를 복구하는 것이 아닌 일정 확률로 키를 복구할 수 있다.

또한, 2019년도에는 후양자 암호 중 하나인 LUOV 대상으로 비밀 키 SEED인 32바이트에 대하여(p0,p1)가 (0.03, 0.001)이어도 서명 검증을 활용하여 비밀 키를 100% 복구할 수 있음을 밝혔다[10]. 후양자암호인 BLISS[11], McEliece[12], Supersingular Isogeny Key Encryption (SIKE)[13]에 대한 콜드 부트 공격도 유사한 방법으로 표 3와 같이 복잡도가 연구되었다.

블록 암호 및 공개키 암호 알고리즘에 대한 비밀 키가 콜드 부트 공격에 의하여 일부 에러 비트가 있는 경우, 복원하는 방법이 꾸준히 연구되고 있다. 후양자 암호의 경우에는 초기 연구로서, 알고리즘의 대수적 구조를 더 면밀히 적용할 경우 추후 개선 연구가 발생할 수 있다.

[표 4] 알고리즘 기반 p0, p1에 따른 비밀키 복구 시간 또는 복잡도

4.JPG 이미지

5.2. 디스크 암호화 솔루션

앞선 연구 바탕으로 암호 알고리즘의 비밀 키가 디스크 암호화 솔루션에 사용하게 될 때, 콜드 부트 공격을 통하여 암호화 솔루션의 키를 탈취할 수 있는 방법이다. 디스크 암호화 솔루션의 종류를 간략히 살펴보고, 그 방법론을 예시적으로 설명한다.

5.2.1. 디스크 암호화 솔루션의 종류 및 사용

[1]에서 디스크 암호화 솔루션에 대한 콜드 부트 공격이 최초로 이루어졌으며, 운영체제에 따라 디스크 암호화 솔루션의 종류는 다음과 같다.

표 5에서 소개된 디스크 암호화 솔루션은 기본적으로 AES 암호 알고리즘과 운용 모드를 활용하여 암호화를 수행한다. 소프트웨어로 구현되어 있으며, 고속암호화를 위하여 키 스케쥴을 1회만 계산하여 라운드 키를 RAM에 저장하여 지속적으로 암호화에 사용한다.

[표 5] 디스크 암호화 솔루션에 따른 지원 운영체제 및 알고리즘

5.JPG 이미지

디스크 암호화 솔루션에서 dm-crypt를 예를 들면, 사용자 입력으로 비밀번호(Passphrase)를 입력받아 의사 난수 함수(Key Derivation Function, KDF)를 거쳐 그 출력을 블록 암호 알고리즘의 마스터 키로 사용한다.

5.2.2. 디스크 암호화 솔루션에 대한 콜드 부트 공격

앞서 설명한 것처럼 메모리에 저장된 블록 암호 알고리즘의 라운드 키를 콜드 부트 공격을 통해 찾아낸다면, 어렵지 않게 복호화가 가능하다. 본 절에서는 많이 사용되는 AES 암호 알고리즘 기준으로 설명한다.

하지만, 콜드 부트 공격을 수행하더라도 전체 메모리에서 일부 에러비트가 존재하는 라운드 키를 찾아야 한다. 라운드 키가 산발적으로 저장되지 않고 RAM 메모리에 순차적으로 저장된다[1]. 오류 비트를 감안하여 첫 16바이트를 1라운드 키로 가정하고, 2번째 16바이트가 2라운드 키인지를 검사하면 어렵지 않게 메모리 내에 라운드 키를 찾아낼 수 있다. [1]에서 이에 대한 소스 코드를 공개하고 있다.

Ⅵ. 콜드 부트 공격에 대한 대응기법

2008년 이후 콜드 부트 공격이 실용적으로 가능해짐에 따라, 이에 대한 대응기법이 제안되고 있다. RAM에서의 대응기법, 부트 시퀀스에서 대응기법, 디스크 암호화 솔루션과 같이 응용솔루션에서의 대응기법이 있다.

6.1. RAM에서의 하드웨어 대응기법

앞서 소개한 [3,4]에서와 같이 DDR3, DDR4에는 스크램블러 하드웨어 대응기법이 존재한다. 하지만, RAM 데이터가 대부분 0이라는 점과 스크램블러 키의 복잡도 부족으로 암호화된 키가 어렵지않게 누출되었다. [4]에서 제안된 것과 같이 부트 때 생성된 키를 기반으로 하드웨어로 구현된 AES-CTR 또는 ChaCha 알고리즘을 활용하여 암·복호화를 수행할 수 있다. 특히, 최소 DDR4 읽기 지연 시간(12.5ns)을 고려하여 ChaCha8을 제안하였다.

6.2. 부트 시퀀스 대응기법

장치에서 부트 시퀀스가 이루어질 때, 부트 초기에 RAM 데이터를 모두 초기화하는 방법이 하나의 대응기법이 될 수 있다. 특히, RAM이 기기에 부착된 경우에는 부트 초기 하드웨어적으로 초기화 대응기법이 있다면 콜드 부트 공격이 불가능하다.

하지만 RAM이 탈부착이 가능한 경우에는 취약한 기기로 RAM을 부착하면 여전히 공격이 가능하다.

6.3. 디스크 암호화 솔루션 대응기법

AES의 라운드 키를 모두 RAM에 저장함으로써 콜드 부트 공격을 통해 복화하가 가능하였다. 이를 막기 위해서는 라운드 키를 on-the-fly 형식으로 수행하는 방법이 하나의 대응기법이 될 수 있다. 특히, [14,15]에서는 CPU의하드웨어 내부 레지스터에 마스터 키를 저장함으로써 콜드 부트 공격에 대하여 안전성을 입증할 수 있다.

Ⅶ. 결론

물리적 특성을 활용하여 RAM 데이터의 값을 탈취할 수 있는 콜드 부트 공격은 최초 제안된 2008년 이후에 지속적으로 연구되고 있다. 콜드 부트 공격을 수행하기 위해서는 RAM의 표면온도를 낮춰야될 뿐만 아니라, 부트 시퀀스를 파악해야 공격을 수행할 수 있다. 또한, 물리적 특성으로 인해 RAM을 탈취한다고 해도 에러 비트가 존재하기 때문에, 비밀 키를 온전히 복구하기 위해서는 알고리즘 특성을 활용하여 그 후 처리하는 방법론도 연구되고 있다.

이를 기반으로 디스크 암호화 솔루션과 같은 응용 어플리케이션의 비밀 키가 누출될 수 있음이 연구되어, 각 특성에 맞게 대응기법이 줄 곧 제안되고 있다. 하지만, 하드웨어 스크램블러같은 대응기법의 취약점이 밝혀지면서지 속적으로 대응기법의 연구가 필요한 실정이다. 특히, 라즈베리 파이처럼 하드웨어 칩으로 이루어진 장비에 취약점이 밝혀질 경우, 그 취약점을 보완하기에는 쉽지않다. 그러므로 하드웨어 대응기법을 적용할 때는 많은 경우의 수를 고려해야 한다.

따라서 부트 시퀀스의 다양한 공격법과 알고리즘 상의 복잡도를 줄이는 방법 및 대응기법이 지속적으로 연구될 것으로 사료된다.

References

  1. Halderman, J. Alex, et al. "Lest we remember: cold-boot attacks on encryption keys." Communications of the ACM 52.5 (2009): 91-98. https://doi.org/10.1145/1506409.1506429
  2. Tilo, Muller, Spreitzenbarth Michael, and Felix C. Freiling. "Frost: forensic recovery of scrambled telephones." Proceedings of the International Conference on Applied Cryptography and Network Security. 2014.
  3. Bauer, Johannes, Michael Gruhn, and Felix C. Freiling. "Lest we forget: Cold-boot attacks on scrambled DDR3 memory." Digital Investigation 16 (2016): S65-S74. https://doi.org/10.1016/j.diin.2016.01.009
  4. Yitbarek, Salessawi Ferede, et al. "Cold boot attacks are still hot: Security analysis of memory scramblers in modern processors." 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 2017.
  5. Won, Yoo-Seung, et al. "Practical Cold boot attack on IoT device-Case study on Raspberry Pi." 2020 IEEE International Symposium on the Physical and Failure Analysis of Integrated Circuits (IPFA). IEEE, 2020.
  6. Kamal, Abdel Alim, and Amr M. Youssef. "Applications of SAT solvers to AES key recov- ery from decayed key schedule images." 2010 Fourth International Conference on Emerging Security Information, Systems and Technologies. IEEE, 2010.
  7. Paterson, Kenneth G., Antigoni Polychroniadou, and Dale L. Sibborn. "A coding-theoretic ap- proach to recovering noisy RSA keys." International Conference on the Theory and Application of Cryptology and Information Security. Springer, Berlin, Heidelberg, 2012.
  8. Paterson, Kenneth G., and Ricardo Villanueva-Polanco. "Cold boot attacks on NTRU." International Conference on Cryptology in India. Springer, Cham, 2017.
  9. Albrecht, Martin R., Amit Deo, and Kenneth G. Paterson. "Cold boot attacks on ring and module lwe keys under the ntt." IACR Transactions on Cryptographic Hardware and Embedded Systems (2018): 173-213.
  10. Villanueva-Polanco, Ricardo. "Cold Boot Attacks on LUOV." Applied Sciences 10.12 (2020): 4106. https://doi.org/10.3390/app10124106
  11. Villanueva-Polanco, Ricardo. "Cold Boot Attacks on Bliss." International Conference on Cryptology and Information Security in Latin America. Springer, Cham, 2019.
  12. Polanco, Ricardo Villanueva. Cold Boot Attacks on Post-Quantum Schemes. Diss. Royal Holloway, University of London, 2019.
  13. Villanueva-Polanco, Ricardo, and Eduardo Angulo-Madrid. "Cold Boot Attacks on the Supersingular Isogeny Key Encapsulation (SIKE) Mechanism." Applied Sciences 11.1 (2021): 193. https://doi.org/10.3390/app11010193
  14. Muller, Tilo, Felix C. Freiling, and Andreas Dewald. "TRESOR Runs Encryption Securely Outside RAM." USENIX Security Symposium. Vol. 17. 2011.
  15. Gotzfried, Johannes, and Tilo Muller. "ARMORED: CPU-bound encryption for Android-driven ARM devices." 2013 International Conference on Availability, Reliability and Security. IEEE, 2013.