부채널 공격
Side-Channel Attack (부채널 공격)
Side-Channel Analysis (부채널 분석)
암호 알고리즘을 대상으로 한 물리적 공격 기법을 말한다. 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] 좀 더 넓게는 물리적 공격 기법인 프로빙(probing), 오류주입(fault induction) 공격을 포함한다. 이 외에도 암호 알고리즘의 취약점과 연관 시킬 수 있는 다양한 물리적 채널들을 활용한 공격 기법들이 알려져 있다.
다음은 부채널 분석을 연구하는 대학 연구실 목록이다.
부채널 공격을 위한 오픈 프로젝트이다. 필요한 하드웨어와 소프트웨어 모두 공개하여 누구나 시도해 볼 수 있는 환경을 제공해 준다. 직접 하드웨어를 제작할 수 없는 순수(?) 소프트웨어 맨들을 위해 킥스타터를 통한 크라우드 펀딩으로 출시한 제품도 판매하고 있다. https://store.newae.com/
분석을 위한 하드웨어는 크게 분석용 메인 보드, 분석 대상 구현 보드로 FPGA 기반이다. 분석 대상 구현은 AVR/Xmega 프로그래밍을 통해 구현 할 수 있다. 분석 소프트웨어에 AVR/Xmega 프로그래머 기능을 탑재하고 있다. 단순히 크로스 컴파일 된 파일을 분석 대상 보드에서 다운로드 하는 기능을 제공한다.
소프트웨어는 Python 기반으로 작성됐다. 분석 대상을 구동시켜 파형을 수집하는 캡처 소프트웨어와 해당 파형 파일로 분석을 진행하는 분석 소프트웨어로 설계됐다.
CHES2016 컨퍼런스에서 부채널 공격 CTF를 개최했다. 장치의 소비 전력을 측정하는 도구들은 클라우드로 제공된다고 하니 참가자가 장비를 갖추지 않고도 도전해 볼 수 있는 기회이기도 하다.
영상
Side-Channel Analysis (부채널 분석)
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)
- Correlation Power Analysis (CPA)
- 전자기 분석 공격(EM Attack): 장비가 발생하는 전자파(EM radiation)를 분석해서 암호, 또는 평문을 추출하는 기법.
- 기타
- Power-monitoring attack
- Acoustic cryptanalysis
- Differential fault analysis
- Data remanence
- Row hammer
- CPU게이트
- Cache Side-channel attack: 특정 프로그램이 작업하는 동안 캐시 메모리에 남는 흔적을 수집, 분석하는 공격 기법.
3. 주요 공격 대상(장치)
4. 주요 공격 대상(알고리즘)
5. 관련 기사
- 2014.04.24 - 사물인터넷 부채널 공격 위험에 놓였다...25만원짜리 암호 해독 장비 등장
- 2014.08.21 - 컴퓨터에 손만 갖다대도 데이터 빼간다
- 2015.06.23 - 한끼 식사로 암호화 키를 훔치는 완벽한 방법
6. 관련 연구 주체(또는 단체)
6.1. 관련 컨퍼런스
- CRYPTO
- EUROCRYPT
- CHES
- FDTC
- COSADE
- NETSEC-KR 해당 컨퍼런스에서 매년 한 건씩은 꾸준히 부채널 분석에 관한 주제로 발표가 이뤄지고 있다.
- CARDIS
6.2. 프로젝트 그룹
- SCARD project (Europe)
- Mars project (France)
- CACE project (EU FP7)
- INSTAC project (Japan)
- DPA Contest (Global)
- SASEBO project (Japan)
- SAKURA project (Japan)
- 2016년 1월 29일자 확인한 바로는 해당 주소의 서비스 기한이 만료되었다고 한다. (Korea)
- ChipWhisperer (Open project)
6.3. 대학 연구실
다음은 부채널 분석을 연구하는 대학 연구실 목록이다.
- LEISec(이스라엘 텔아비브대)
- CryptoLUX(룩셈부르크대)
- SATOH Lab(일본 전기통신대학)
- SEN (프랑스 파리공과대)
- ISLab(부산대)
- CIST(고려대)
- 정보보안연구소(국민대) 별도 홈페이지가 확인되지 않아, 해당 링크를 달아두었다. 해당 연구소는 LEA에 대한 부채널 공격 등 관련 분야 활동을 수행한 것으로 짐작된다. 그 근거는 소속 연구원이 발표한 논문 등을 들 수 있다.[4]
- SCH 사이버보안연구센터(순천향대)[5] 2013년 12월 5일 개소한 것을 확인했다. 다음 기사를 참고.
- IoT보안연구센터(순천향대): 2015년 8월 13일부로 개소한 것을 확인하였다. 다음 기사를 참고.
- ESSLAB(한양대)
- ACTLAB(호서대)
- ISSLAB(고려대): 캐시 사이드채널
- ICSLAB(광운대): 캐시 사이드채널
- [[https://sslab.skku.edu]|SSLAB](성균관대)
6.4. ChipWhisperer
부채널 공격을 위한 오픈 프로젝트이다. 필요한 하드웨어와 소프트웨어 모두 공개하여 누구나 시도해 볼 수 있는 환경을 제공해 준다. 직접 하드웨어를 제작할 수 없는 순수(?) 소프트웨어 맨들을 위해 킥스타터를 통한 크라우드 펀딩으로 출시한 제품도 판매하고 있다. https://store.newae.com/
분석을 위한 하드웨어는 크게 분석용 메인 보드, 분석 대상 구현 보드로 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] 취소선을 쳤지만 인간의 취약점을 대상으로 한 공격도 적지 않다. 자세한 내용은 Advanced Persistent Threat 문서 참조.[4] 박진학, et al. "LEA 에 대한 부채널 분석 및 대응 방법." 정보보호학회논문지 25.2 (2015): 449-456.[5] KISA, 곽진 등, “부채널 공격 취약성 평가방법론 및 기준개발,” KISA-WP-2009-0065, 2009.