최근 수정 시각 : 2023-05-21 08:06:05

부채널 공격

사이드 채널 공격에서 넘어옴
Side-Channel Attack (부채널 공격)
Side-Channel Analysis (부채널 분석)

1. 개요2. 알려진 공격 기법의 종류3. 주요 공격 대상(장치)4. 주요 공격 대상(알고리즘)5. 관련 기사6. 관련 연구 주체(또는 단체)
6.1. 관련 컨퍼런스6.2. 프로젝트 그룹6.3. 대학 연구실6.4. ChipWhisperer
7. 사례분석
7.1. DES를 대상으로 한 DPA
8. 관련 문서

1. 개요

암호 알고리즘을 대상으로 한 물리적 공격 기법을 말한다. 간단히 말하면 정면으로 돌파 못하니까 옆으로 친다 즉 꼼수 1996년 코처[1]가 제시한 타이밍 공격법에 대한 논문을 이 분야의 연구가 시작된 계기로 꼽는다. 공격 목적이 아니라 분석 목적일 때는 부채널 분석이라고도 한다. 간혹 관련 기사를 보면 '옆수로 공격' 등으로 번역하기도 한다.

실용성에 대해서는 ASP.NET을 대상으로 한 Oracle Cell Padding 공격이 발생하여 패치가 되었다. 또한, 2012~2015년도 사이에 SSL 통신을 해독할 수 있는 CRIME, BREACH, HEIST 공격이 BlackHat Conference에서 발표된 바 있다. CPU게이트 문서도 참조.

현실적인 공격 구현의 어려움에도 불구하고, 암호 기능을 포함하는(또는 Secure Element를 포함하는) 모듈을 제조하여 유통하기 위해서는 엄격한 인증 절차를 거치는데, 공통평가기준(Common Criteria, CC), 암호모듈평가체계(Cryptographic Module Validation Program, CMVP) 등의 방식으로 비침습적 공격에 대한 평가가 비중있게 다뤄지고 있다. 이 때의 비침습적 공격은 부채널 공격을 포함하는 용어이다. 향후 IoT 기반 산업이 급격하게 성장 할 때, 부채널 공격에 대한 위협도 함께 증가할 것으로 내다보고 이에 대한 대응 방안이 활발하게 논의되고 있다.

하지만 대개의 경우 하드웨어로의 매우 근접한 접근이 필요하며, 대상 컴퓨터를 매우 정확히 알고 있어야 한다는 단점이 있다. 따라서 컨퍼런스에는 발표할 수 있어도 공격 용도로의 실용성은 매우 낮다. 잡음이나 전력 분석을 한다 하더라도 현대 시스템 중에 그런 정보를 손쉽게 특정할 수 있게 프로세서를 하나만 쓰는 시스템이 어디 있을까? 애초에 하드웨어를 매우 심하게 타며 환경의 영향을 크게 받을 수 밖에 없다.

2. 알려진 공격 기법의 종류

일반적으로 물리적 공격 기법 중에서도 다음 세 가지 공격 기법을 부채널 공격으로 본다.[2] 좀 더 넓게는 물리적 공격 기법인 프로빙(probing), 오류주입(fault induction) 공격을 포함한다. 이 외에도 암호 알고리즘의 취약점과 연관 시킬 수 있는 다양한 물리적 채널들을 활용한 공격 기법들이 알려져 있다.
  • 타이밍 공격(Timing Attack) : 여러가지 연산(복호화)을 시켜놓고 계산에 걸리는 시간을 토대로 암호를 유추하는 기법이다.
  • 전력 분석 공격(Power Analysis Attack) : 마찬가지로 연산을 시켜놓고 장비의 매순간의 전력 사용량의 변화를 토대로 분석하는 기법이다.(한번의 연산으로 구하는 것이 아닌 수많은 연산의 반복이 필수적으로 요구된다.)
    • Simple Power Analysis (SPA) : 암복호화 연산이 수행되는 동안 사용된 전력 변화량을 통해 사용한 연산을 유추하는 기법이다.(해당 기법은 한번의 연산으로도 분석이 가능하다.)
    • Differential Power Analysis (DPA) : 1 bit 추정을 가정했을 때, 키 값이 1일때 입력문과 연산 값과 0일때 입력문과 연산 값의 차이를 통해 암호키를 구하는 방법이다. 대부분 8bit 블록을 사용하기에 2^7 만큼의 경우를 비교한다.
    • Correlation Power Analysis (CPA) : 1 bit 추정을 가정했을 때, 키 값이 1일때 발생될 것으로 예상되는 값들(반복 수집된 전력값들), 0일때 발생될 것으로 예상되는 값들 중 실제 파형과 상호관계 값이 더 큰 것을 키로 추정하는 방법이다.
  • 전자기 분석 공격(EM Attack): 장비가 발생하는 전자파(EM radiation)를 분석해서 암호, 또는 평문을 추출하는 기법. (전력 분석 공격과의 차이는 전력대신 전자기를 분석한다는 것 밖에 없다.)
  • 기타
    • Power-monitoring attack
    • Acoustic cryptanalysis
    • Differential fault analysis(DFA) : 정상 동작한 연산과 비정상 동작한 연산을 비교하는 방법이다. 연산(알고리즘)이 동작하는 중에 순간적으로 전자기, 전력, 빛(레이저와 같은 강력한 빛) 등에 노출시켜 비정상 동작을 유발하여 실제 연산되어야 하는 값과 다른 값이 나오도록 유도(전력값이 없는 0인 연산에서 순간 전력을 가해 1로 바꾸는 것)한다. 특정 연산 위치에 오류를 유발하는 것이 어렵지만 가능한 경우 상당한 효율을 가진다.
    • fault injection : DFA의 목적이 정상 비정상 연산간 차이를 통한 분석이라면 오류주입 자체를 목적으로 하는 공격이다. 예를 들어 도어락에 전자기 오류를 주입하여 열림 신호로 착각하게 만드는 것이 있다.(사실상 DFA 상위 카테고리로 봐야한다. DFA도 오류 주입이 우선시 되기 때문이다.)
    • Data remanence
    • Row hammer
    • Cache Side-channel attack: 특정 프로그램이 작업하는 동안 캐시 메모리에 남는 흔적을 수집, 분석하는 공격 기법.[3]

3. 주요 공격 대상(장치)

4. 주요 공격 대상(알고리즘)

5. 관련 기사

6. 관련 연구 주체(또는 단체)

6.1. 관련 컨퍼런스

6.2. 프로젝트 그룹

  • SCARD project (Europe)
  • Mars project (France)
  • CACE project (EU FP7)
  • INSTAC project (Japan)
  • DPA Contest (Global)
  • SASEBO project (Japan)
  • SAKURA project (Japan)
  • SCARF project 2016년 1월 29일자 확인한 바로는 해당 주소의 서비스 기한이 만료되었다고 한다. 한국의 부채널 공격 연구는 맥이 끊기는가... (Korea)
  • ChipWhisperer (Open project)

6.3. 대학 연구실

다음은 부채널 분석을 연구하는 대학 연구실 목록이다.

6.4. ChipWhisperer

부채널 공격을 위한 오픈 프로젝트이다. 필요한 하드웨어와 소프트웨어 모두 공개하여 누구나 시도해 볼 수 있는 환경을 제공해 준다. 직접 하드웨어를 제작할 수 없는 순수(?) 소프트웨어 맨들을 위해 킥스타터를 통한 크라우드 펀딩으로 출시한 제품도 판매하고 있다. #

분석을 위한 하드웨어는 크게 분석용 메인 보드, 분석 대상 구현 보드로 FPGA 기반이다. 분석 대상 구현은 AVR/Xmega 프로그래밍을 통해 구현 할 수 있다. 분석 소프트웨어에 AVR/Xmega 프로그래머 기능을 탑재하고 있다. 단순히 크로스 컴파일 된 파일을 분석 대상 보드에서 다운로드 하는 기능을 제공한다. 소프트웨어는 Python 기반으로 작성됐다. 분석 대상을 구동시켜 파형을 수집하는 캡처 소프트웨어와 해당 파형 파일로 분석을 진행하는 분석 소프트웨어로 설계됐다.

CHES2016 컨퍼런스에서 부채널 공격 CTF를 개최했다. 장치의 소비 전력을 측정하는 도구들은 클라우드로 제공된다고 하니 참가자가 장비를 갖추지 않고도 도전해 볼 수 있는 기회이기도 하다.

7. 사례분석

7.1. DES를 대상으로 한 DPA

영상

8. 관련 문서



[1] Paul C. Kocher, Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems, 1996. [2] KOEUNE, François; STANDAERT, François-Xavier. A tutorial on physical security and side-channel attacks. In: Foundations of Security Analysis and Design III. Springer Berlin Heidelberg, 2005. p. 78-108. [3] CPU게이트가 여기에 해당한다. [4] 취소선을 쳤지만 인간의 취약점을 대상으로 한 공격도 적지 않다. 자세한 내용은 APT(해킹) 문서 참조. [5] KISA, 곽진 등, “부채널 공격 취약성 평가방법론 및 기준개발,” KISA-WP-2009-0065, 2009.

분류