부채널 공격

(사이드 채널 공격에서 넘어옴)

1 개요

암호 알고리즘을 대상으로 한 물리적 공격 기법을 말한다. 간단히 말하면 정면으로 돌파 못하니까 옆으로 친다 즉 꼼수 1996년 쾨허[1]가 제시한 타이밍 공격법에 대한 논문을 이 분야의 연구가 시작된 계기로 꼽는다. 이 행위에 대한 의도에 따라 부채널 공격 또는 부채널 분석이라고도 한다. 간혹 관련 기사를 보면 '옆수로 공격' 등으로 번역하기도 한다. 원래 용어는 Side-Channel Attacks 또는 Side-Channel Analysis.

다만 이 기법은 대부분 먼저 하드웨어로의 매우 근접한 접근이 필요하며, 대상 컴퓨터를 매우 정확히 알고 있어야 한다는 맹점이 있다. 여기서 이미 실용성이 거의 다 탈락해버린다. 잡음이나 전력 분석을 한다 하더라도 현대 시스템 중에 그런 정보를 손쉽게 특정할 수 있게 프로세서를 하나만 쓰는 시스템이 어디있을까? 애초에 하드웨어를 매우 심하게 타며 환경의 영향을 크게 받을 수 밖에 없다. 그러니까 어디까지나 가능성이 있다는 것이다. 기자들이 당장 위협이 될 것처럼 기사를 작성하였지만 전제 조건을 그렇게 붙여놨으면 석탄도 다이아몬드로 만들 수 있다.[2]

그러나 현실적인 공격 구현의 어려움에도 불구하고, 암호 기능을 포함하는(또는 Secure Element를 포함하는) 모듈을 제조하여 유통하기 위해서는 엄격한 인증 절차를 거치는데, 비침습적 공격에 대한 평가가 비중있게 다뤄 지고 있다[3]. 이 때의 비침습적 공격은 부채널 공격을 포함하는 용어이다. 향후 IoT 기반 산업이 급격하게 성장 할 때, 부채널 공격에 대한 위협도 함께 증가할 것으로 내다보고 이에 대한 대응 방안이 활발하게 논의되고 있는 상황이다. 이러한 동향을 살펴 볼 때, 부채널 공격을 마냥 현실성 없는 공격으로 치부하기에는 무리가 있어 보인다.

2 공격 기법의 종류

일반적으로 물리적 공격 기법 중에서도 다음 세 가지 공격 기법을 부채널 공격으로 본다.[4] 좀 더 넓게는 물리적 공격 기법인 프로빙(probing), 오류주입(fault induction) 공격을 포함한다. 이 외에도 암호 알고리즘의 취약점과 연관 시킬 수 있는능력이 된다면 해보라지! 다양한 물리적 채널들을 활용한 공격 기법들이 알려져 있다. 알려진 공격 기법을 아래에 추가바람. 출처도 알고 있다면 함께 기술 바람.

  • 타이밍 공격(Timing Attack) : 여러가지 연산(복호화)을 시켜놓고 계산에 걸리는 시간을 토대로 암호를 유추하는 기법이다.
  • 전력 분석 공격(Power Analysis Attack) : 마찬가지로 연산을 시켜놓고 장비의 전력 사용량의 변화를 토대로 분석하는 기법이다.
    • Simple Power Analysis (SPA)
    • Differential Power Analysis (DPA)
    • Correlation Power Analysis (CPA)
  • 전자기 분석 공격(EM Attack) : 장비가 발생하는 전자파(EM radiation)를 분석해서 암호, 또는 평문을 추출하는 기법.
  • 기타
    • Power-monitoring attack
    • Acoustic cryptanalysis
    • Differential fault analysis
    • Data remanence
    • Row hammer


이걸 하는 시점에서 더 이상 일반적인 해커가 아닌데?

3 주요 공격 대상(장치)

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

5 관련 기사

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

6.1 관련 컨퍼런스

6.2 프로젝트 그룹

6.3 대학 연구실

다음은 부채널 분석을 연구하는 대학 연구실 목록이다. 이 분야에 대한 학술 논문 또는 기사를 발간한 대상을 추가바란다.

부채널 분석 연구실의 일상.jpg (출처: LEISec)

6.4 ChipWhisperer

부채널 공격을 위한 오픈 프로젝트이다. 필요한 하드웨어와 소프트웨어 모두 공개하여 누구나 시도해 볼 수 있는 환경을 제공해 준다. 직접 하드웨어를 제작할 수 없는 순수(?) 소프트웨어 맨들을 위해 킥스타터를 통한 크라우드 펀딩으로 출시한 제품도 판매하고 있다.[12]
분석을 위한 하드웨어는 크게 분석용 메인 보드, 분석 대상 구현 보드로 FPGA 기반이다. 분석 대상 구현은 AVR/Xmega 프로그래밍을 통해 구현 할 수 있다. 분석 소프트웨어에 AVR/Xmega 프로그래머 기능을 탑재 하고 있다.[13]
소프트웨어는 파이썬 기반으로 작성됐다. 분석 대상을 구동시켜 파형을 수집하는 캡처 소프트웨어와 해당 파형 파일로 분석을 진행하는 분석 소프트웨어로 설계됐다.

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

7 사례 분석(Case Study)

7.1 DES를 대상으로 한 DPA

다음 영상을 참조바란다.
  1. Paul C. Kocher, Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems, 1996.
  2. 그렇지 않다. 실제로 Oracle DB를 대상으로한 Oracle Cell Padding 공격이 발생하여 패치가 되었다. 또한, 2012~2015년도 사이에 SSL 통신을 해독할 수 있는 CRIME, BREACH, HEIST 공격이 BlackHat Conference에서 발표된 바 있다.
  3. 공통평가기준(Common Criteria, CC), 암호모듈평가체계(Cryptographic Module Validation Program, CMVP) 등이 그것이다.
  4. 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.
  5. 해당 컨퍼런스에서 매년 한 건씩은 그마저도 없어질까 조마조마해지는(...) 꾸준히 부채널 분석에 관한 주제로 발표가 이뤄지고 있다.
  6. 2016년 1월 29일자 확인한 바로는 해당 주소의 서비스 기한이 만료되었다고 한다. 한국의 부채널 공격 연구는 맥이 끊기는가...
  7. 별도 홈페이지가 확인되지 않아, 해당 링크를 달아두었다. 해당 연구소는 LEA에 대한 부채널 공격 등 관련 분야 활동을 수행한 것으로 짐작된다. 그 근거는 소속 연구원이 발표한 논문 등을 들 수 있다.
  8. 박진학, et al. "LEA 에 대한 부채널 분석 및 대응 방법." 정보보호학회논문지 25.2 (2015): 449-456.
  9. KISA, 곽진 등, “부채널 공격 취약성 평가방법론 및 기준개발,” KISA-WP-2009-0065, 2009.
  10. 2013년 12월 5일 개소한 것을 확인했다. 다음 기사를 참고
  11. 2015년 8월 13일부로 개소한 것을 확인하였다. 다음 기사를 참고. SCH 사이버보안연구센터와의 관계가 확인되는 대로 수정 바람.
  12. [1]
  13. 단순히 크로스 컴파일 된 파일을 분석 대상 보드에서 다운로드 하는 기능을 제공한다.