세 가지 공격 시나리오...민감 정보 유출 혹은 내부 기술 유출
[보안뉴스 문가용 기자] CPU에서 부채널 공격을 가능케 하는 취약점들이 꾸준하게 나오더니, 이번에는 GPU에서도 나왔다. 해당 취약점은 캘리포니아리버사이드대학의 컴퓨터 전문가들이 공개했으며, 공격 성공 시 컴퓨터 시스템은 물론 사용자까지도 잠재적인 위험에 처하게 된다고 한다.
[이미지 = iclickart]
익스플로잇은 세 가지 부분으로 구성되어 있으며, GPU의 코어에서부터 민감한 데이터를 추출하는 기능을 가지고 있다. 문제는 CPU에서 발견되어 왔던 여러 부채널 공격 기법보다 훨씬 쉽고, 성공률도 높다는 것이다. “세 개 중 두 개는 사용자 개개인을 노리는 것으로 웹사이트 히스토리 및 비밀번호 정보를 빼냅니다. 마지막 한 개는 조직 내 머신 러닝 혹은 신경망 애플리케이션의 연산 모델을 훔치는 것으로, 경쟁사 등에서 사용할 법 합니다.”
연구진들은 “불안전하게 만들어지다 : GPU 부채널 공격은 구현 가능하다”라는 제목으로 백서를 발표했다. 원문 제목은 Rendered Insecure : GPU Side Channel Attacks are Practical이다. 이 백서는 문제가 엔비디아, 인텔, AMD에 보고되고 나서 발표된 것이다.
백서에 따르면 두 개의 익스플로잇은 워크로드를 처리하기 위해 동시에 통신하는 GPU 코어의 특성을 악용하는 것인데, “특수하게 잘 조작하기만 하면 대단히 광범위한 대역폭을 얻을 수 있다”고 한다. “이를 통해 노이즈를 제거하는 게 가능하죠.” 컴퓨터 과학 교수인 나엘 아부-가잘레(Nael Abu-Ghazaleh)의 설명이다.
보고서의 설명에 따르면 공격 테크닉은 간단히 설명해 다음과 같다. “피해를 입게 되는 프로세스가 있고, 이 프로세스를 캐시나 다른 공유된 자원을 통해 염탐하는 겁니다. 물론 이 염탐 역시 특정 프로세스를 통해 이뤄지죠. 즉 피해자 프로세스와 공격자 프로세스가 공존하게 되는 겁니다. 모든 코어들이 특정 자원을 공유하니 공격자로서는 공격할 코어를 따로 분리해낼 필요가 없어집니다. 공격이 굉장히 간단해지는 것이죠.”
GPU 코어의 메모리 할당을 처리해주는 API를 공격하면, 결국에는 사용자가 어떤 웹사이트를 방문했는지도 다 알아낼 수 있게 되는데, 아부-가잘레는 이를 “핑거프린팅(fingerprinting)”이라고 부른다. “만약 공격 지점이 사용자 키스트로크에 의거한 메모리 할당 지역이라면, 타이밍을 잘 맞춤으로써 비밀번호 후보군을 높은 확률로 알아낼 수 있으며, 따라서 사실상의 비밀번호 크래킹도 빠르게 이뤄질 수 있습니다.”
머신 러닝 애플리케이션을 공격하는 세 번째 익스플로잇을 제대로 활용하려면 GPU 프로그램을 보다 쉽게 만들어주는 특정 카운터들을 이해하고 있어야 한다. “GPU 코드를 작성할 때는 실수가 잦게 발생합니다. 메모리 접근 패턴 등 굉장히 민감한 부분들을 건드리기 때문입니다. 카운터(counter)란, 이러한 실수를 최소화 하는 데 도움을 주기 위한 것입니다. 염탐을 위한 프로세스에서 이 카운터들을 들여다볼 수 있게 된다면, 현재 돌아가고 있는 프로세스 자체에 대해 상세히 이해할 수 있게 됩니다.”
실제 공격 발생 시, 공격자들은 악성 워크로드를 공격을 받는 프로세스의 워크로드와 함께 전송하게 되는데, 이렇게 했을 때의 효과는 스트레스를 유발해 카운터들이 업데이트 된다는 것이라고 아부-가잘레는 설명한다. “GPU 내에는 200개가 넘는 카운터들이 다양한 기능을 수행하거나 지원하고 있습니다. 그러므로 이 모든 정보를 수집해 조합한다면, 전체적으로 무슨 일이 어떤 원리로 벌어지고 있는지 충분히 알아낼 수 있게 됩니다.”
아부-가잘레는 “이 세 번째 공격이 가장 위험할 수 있는 경우는 GPU를 공유하는 컴퓨팅 환경에서”라고 설명한다. “즉, 클라우드 기반 머신 러닝 환경이죠. A라는 회사가 클라우드 기반 머신 러닝 기술을 사용해 사업을 진행한다고 했을 때, B라는 경쟁사가 이 공격법을 활용해 A 회사의 내부 구조를 보다 상세히 이해하고, 이를 통해 시장에서의 우위를 선점할 수 있게 됩니다.”
다행히 이에 대한 ‘다소 불완전한’ 해결책이 존재하긴 한다. 바로 사용자 모드에서의 카운터 접근을 비활성화시키는 것이다. 이렇게 하면 세 번째 공격 가능성을 배제할 수 있게 된다. 다만 많은 애플리케이션들이 정상적으로 기능을 발휘하지 못할 가능성이 새롭게 생긴다.
GPU 거인인 엔비디아는 현재까지 이 취약점에 대한 패치를 내놓지 않고 있다. 심지어 아직 공식적인 발표도 없는 상황이다. 아부-가잘레는 “지금 패치가 한창 개발되고 있는 중이라고 알고 있다”고 설명했다.
3줄 요약
1. CPU 부채널 공격만 무서워? GPU 부채널 공격은 더 무서워.
2. 왜냐하면 공격 자체가 더 쉽고, 성공률도 높으니까.
3. 민감한 정보 새나갈 수도 있고, 회사 내부 기술을 경쟁사가 빼갈 수도 있고.
[국제부 문가용 기자(globoan@boannews.com)]
Copyrighted 2015. UBM-Tech. 117153:0515BC
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>