검수요청.png검수요청.png

"부채널 공격"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글
잔글 (Asadal님이 사이드 채널 공격 문서를 부채널 공격 문서로 이동하면서 넘겨주기를 덮어썼습니다)
(차이 없음)

2019년 7월 26일 (금) 23:22 판

사이드 채널 공격 흐름도

사이드 채널 공격(side channel attack)이란 암호학적인 측면에서 알고리즘의 약점을 찾거나 무차별 공격을 하는 대신에, 암호체계의 물리적인 구현 과정의 정보를 기반으로 하는 공격 방법이다. 부채널 공격이라고도 한다.

개요

일부 사이드 채널 공격은 시스템의 내부 동작에 대한 지식이 필요하지만, 다른 사이드 채널 공격은 전력 차이 분석 등과 같이 블랙박스 공격으로도 효과가 있다. 사이드 채널 공격은 장치 내에서 동작하는 동안에 장치의 전력이나 전자파 등의 부가 정보의 수집, 가공 및 통계적인 분석을 통해 키 정보를 추출하는 매우 강력한 공격 방법이다. 사이드 채널 공격은 디바이스의 훼손 여부에 따라, 비침투형 공격(non-invasive attack)과 (준)침투형 공격((semi)-invasive attack) 두가지 유형으로 구분한다. 대표적인 비침투형 공격 유형의 부채널 공격은 전력분석(Power Analysis), 비침투형 전자파분석(Electromagnetic Analysis) 공격이 있으며, (준)침투형 공격 유형의 사이드 채널 공격의 대표적인 공격은 레이저 오류 주입(Fault Injection) 공격이 있다.[1]

등장배경

사이드 채널 공격은 1996년 코처가 제시한 타이밍 공격법에 대한 논문을 연구가 시작된 계기로 본다. 공격 목적이 아닌 분석 목적일 경우에는 사이드 채널 분석이라고도 부른다. 간혹 사이드 채널 공격을 '옆수로 공격'라고 부르는 경우도 있다. 실용성에 대해서는 ASP.NET을 대상으로 한 Oracle Cell Padding 공격이 발생하여 패치가 되었다. 또한, 2012~2015년도 사이에 SSL 통신을 해독할 수 있는 CRIME, BREACH, HEIST 공격이 BlackHat Conference에서 발표된 바 있다.

비침습적 공격에 대한 평가가 비중있게 다뤄지고 있는데, 비침습적 공격은 사이드 채널 공격을 포함하는 용어이다. 사물인터넷(IoT) 기술 기반 산업이 성장하는 와중에 사이드 채널 공격에 대한 위협은 같이 증가할 것으로 보고 있기 대문에 이에 대한 대응 방안이 활발하게 논의되고 있고, 연구되고 있다.

특징

사이드 채널 공격은 보안 모듈이 구동되면서 발생하는 누수정보를 바탕으로 암호키를 크래킹하는 공격이다. 이 때 누수정보라는 것은 전력 소모, 전자기파, 오류 주입 결과 등을 말한다. 누수정보를 획득 및 가공, 분석해서 공격하는 방법이다.

사이드 채널 공격을 '옆수로 공격'이라고 부르는 경우도 있다시피 사이드 채널 공격은 정면으로 돌파하는 식의 공격 방법이 아니라, 옆으로 돌아들어가서 정보를 빼내오는 공격이다. 예를 들어 소요 시간 분석 공격에서는 하드웨어에서 암호화 또는 알고리즘을 수행하는 동안 CPU나 메모리의 데이터가 이동하는 시간을 측정하여 전체 비밀키를 알아낼 수 있다.

종류

사이드 채널 공격 기법에는 다음과 같이 여러 가지가 방법이 있다.

  • 소요 시간 분석 - 다양한 계산을 하는 데 소요되는 시간을 측정하는 것을 기반으로 하는 공격
  • 전력 모니터링 공격 - 연산 중 하드웨어가 소비하는 전력 변화를 측정하는 것을 기반으로 하는 공격
  • 전자기파 공격 - 하드웨어 외부로 방출되는 전자기파를 측정, 해독하여 정보를 얻어내는 공격. 템페스트(TEMPEST)과 같이 비암호화 공격에도 사용 가능
  • 음성 암호 해독 - 연산 중에 하드웨어가 생성한 음향을 측정하여 악용하는 공격
  • 차분 오류 분석 - 계산 과정에 오류를 의도적으로 끼워넣어 암호를 빼내는 공격
  • 잔존 데이터 - 삭제된 것으로 추정되는 데이터를 읽어내는 공격
  • 로우 해머 공격 - 인접한 메모리 영역에 액세스 하는 형태. 접근이 허락되지 않은 메모리 영역을 강제로 수정하는 공격

전력/전자파 분석 공격

사이드 채널 공격 중 가장 대표적인 공격이다. 전력분석 공격은 1999년 폴 코처(P. Kocher)에 의해 DES가 공격된 이후 지난 10여 년간 현대 암호시스템을 위협하는 가장 강력한 공격 수단으로 연구되어 왔다. 전력/전자파 분석 공격은 DES 암호 뿐 아니라 거의 모든 암호 알고리즘에 적용되고 있다. 그렇기 때문에 사이드 채널 공격 대응 방법이 강구되지 않은 보안 디바이스의 대부분의 경우 전력/전자파 분석 공격에 취약할 수 있으며, 오실로스코프 정도의 공격 환경으로도 실현 가능하기 때문에 스마트 디바이스로 공격 대상이 확대될 것을 예측하고 있다. [1]

전력 분석 공격에는 대표적으로 단순 전력/전자파 분석공격(SPA, SEMA)와 차분 전력/전자파 분석 공격(DPA, DEMA)가 있다. 디바이스의 전자파 방사를 측정하여 암호키를 해킹하는 공격이다.

시간차 분석 사이드 채널 공격

[시간차 분석 사이드 채널 공격]](timing analysis side channel attack)이란 암호화를 구동하는데 걸리는 시간을 측정하고 분석하여 암호를 해독하는 방식의 공격이다. 화제가 되었던 멜트다운(Meltdown)과 스펙터(Specter) 모두 인텔 하드웨어에 대한 시간차 분석 사이드 채널 공격이다. 폴 코처는 시간차 공격에 대해서 "프라이빗 키를 실행하는데 필요한 시간을 주의깊게 측정하면 해커들은 고정된 디피-헬만(Diffie-Hellman) 지수를 찾아내고 RSA 키를 특정화하고 다른 암호화 체계를 깨뜨릴 수 있을 것이다"고 말했다.[2] 이런 발견에 대응해 시간차 노이즈를 암호화 과정에 추가하는 등 공격의 위험을 줄이기 위해 많은 노력이 이어지고 있다.

타자 소리를 해킹하는 음향 사이드 채널 공격

음향 부채널 공격(acoustic side channel attack)은 공격 대상이 비밀번호를 입력하는 소리를 듣고서 암호키를 얻어내는 것이다. 이 기술은 수십년간 행해져 왔으며, 스마트폰조차 마이크로 활용되어 음향 부채널 공격이 가능할 수 있다. 음향 부채널 공격은 아주 정교한 머신러닝 모델을 필요로 한다. 키를 누르는 것을 다른 키와 구별할 수 있는 충분한 훈련 데이터 역시 필요하다. 이러한 점 때문에 적어도 현재로서는 국가 기관과 경찰의 전문 영역이다.

대안

SSH 로고

오픈SSH(시큐어 셀(Secure Shell)) 프로젝트를 통해 나온 패치를 이용해서 해커들의 공격으로부터 보호할 수 있다. 이 프로젝트는 해커들이 메모리 구역에 액세스하는 하드웨어 취약성을 통해 개인 키를 탈취할 수 없게 하는 패치이다. 후 세대 SDRAM칩과 CPU에서 하드웨어 취약성 문제가 해결되기 전까지는 다른 소프트웨어 애플리케이션에도 똑같은 방식을 이용해 RAM의 정보를 보호할 수 있다.[3]

새로운 오픈SSH 패치는 개인 키를 암호화한다. 단 메모리에 상주할 때, 그리고 16KB의 무작위 데이터로부터 유도된 다른 대칭 키와 함께 적극적으로 사용되고 있지 않을때에 한해서 암호화한다. 해당 패치의 주석에서는 "공격자들이 보호된 개인 키를 복호화하려면 먼저 프리키(prekey) 전체를 높은 정확성으로 빼내야 한다. 그러나 현 세대 공격들의 비트 오류율은 프리키 전체에 누적적으로 적용될 경우 그런 일을 불가능하게 한다. 실행 측면에서 보면, 키는 읽어 들일 때 암호화되어 보호된 후, 서명에 사용되거나 저장/직렬화 될 때 자동으로 보호가 해제된다."고 밝혔다.[3]

오픈SSH는 SSH 프로토콜의 가장 인기있는 구현판이다. SSH 프로토콜은 컴퓨터 시스템과 서버에 대한 원격 접근 및 관리 목적으로 사용되며 기계 간의 자동화 통신에도 사용된다. 오픈 BSD용으로 설계되었지만 대부분 리눅스 배포판에 의해서도 사용되며 윈도우10에서 지원된다.

하지만 오픈SSH에서 사용한 방식은 부채널 공격의 성공 확률을 낮추는 것은 가능하지만 완전히 불가능하게 차단하지는 못한다. 공격은 나날이 개선되고 날카로워 지기 때문에 이러한 대응이 통하지 않을 수도 있다. 근본적인 설계 결함은 하드웨어적인 측면에서 해결되겠지만 향후 공격을 막기 위해서는 많은 노력이 필요할 것이다.

사례

PC에 대한 전자파 부채널 공격 사례

이스라엘의 Tel Aviv 대학에서는 피타 브레드 모양의 장치를 이용하여 컴퓨터에 저장된 암호키를 훔쳐낼 수 있는 빠르고 저렴한 방법을 고안했다고 밝혔다. 피타 브레드 장치를 컴퓨터로부터 전자파 부채널 신호를 수집하여 암호키를 분석한다. 피타 장치는 루프 안테나로 덮지 않은 구리와 암호키를 유출할 수 있는 1.7MHz 범위의 주파수를 엿들을 수 있도록 설계한 커패시터로 구성되어 있으며, 대략 50cm 떨어져 전자기적 신호를 수집한다. [1]

소리를 통한 부채널 공격 사례

소리를 이용해서도 PC에 대한 공격이 가능하다. 이스라엘 Tel Aviv 대학과 Weizmann 대학에서 발표한 논문에 따르면 마이크로 전달되는 신호를 이용하여 부채널 분석을 수행한다고 한다. RSA 알고리즘이 구동중인 공격대상 PC의 프로세서 소리를 수집용 마이크로 수집해서, 주파수 필터를 통해 분석에 필요한 소리를 필터링한다. 이 소리를 공격용 PC에서 RSA비밀키 분석을 수행한다. 스마트폰에서도 분석 툴 설치 및 분석이 가능하다고 한다.[1]

범죄에 악용된 사례

2011년 5월 프랑스에서 발생한 도난 신용카드를 사용한 범죄 사건이 발생했다. 이 도난 카드에 대한 범죄 포렌식 분석을 한 결과가 Cryptographic Engineering 저널에 2016년 4월 발표되었다. 이 범죄에서 도난 신용카드를 이용하여 대량의 상품을 구입하였는데, 도난 IC카드에서 PIN 코드 입력부분을 어떻게 우회하였는지를 밝혔다. 실제 도난카드의 칩 위에 다른 IC카드를 덧붙여서 실제 중간자 공격을 통한 PIN 코드 우회를 수행하도록 한 것이다. 놀라운 사실은 중간자를 통한 PIN 코드 우회 공격은 범죄 발생 이전해인 2010년 IEEE Symposium on Security and Privacy 학회에서 본 공격이 가능함을 실험실에서 FPGA를 이용하여 입증한 공격이라는 것이다. 학계의 연구결과가 발표된지 불과 1년 만에 실제 범죄에 이용되었다는 사실이 시사해주는 바가 크다고 볼 수 있다.

각주

  1. 1.0 1.1 1.2 1.3 최두호, 최용제,〈보안 칩에서 중요 키의 공격(부채널 공격 중심)기술 동향〉, 《전자공학회지》,2016-07
  2. J.M. Porup,〈"암호화 방식을 해킹하는"부채널 공격의 의미와 종류〉, 《아이티월드》, 2019-04-22
  3. 3.0 3.1 Lucian Constantin,〈부채널 공격으로부터 메모리 내 키를 보호하는 오픈 SSH〉, 《아이티월드》,2019-06-25

참고자료


  검수요청.png검수요청.png 이 부채널 공격 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.