Update : 2017.6.2 금 17:15
시작페이지로 설정즐겨찾기 추가
 
> 뉴스 > 학술·연구
     
SGX 기술의 도입으로 한층 더 강력해진 토르 네트워크의 익명성
기존 SGX 기술이 거치는 메모리 암호화와 무결성 검증을 그대로 토르 노드 사이에 적용함으로써 악의적인 공격자 사전에 차단해
[434호] 2017년 05월 16일 (화) 김유빈 기자 betty4003@kaist.ac.kr

전기및전자공학부 한동수 교수와 조지아공과대학 전산학부 김태수 교수 공동 연구팀이 토르 네트워크의 보안을 한 단계 높이는 데 성공했다. 이번 연구는 유세닉스(USENIX)에서 지난 3월 발표되었다.

보안에 허점을 보인 토르 네트워크
토르 네트워크는 입구, 중간, 출구 노드 각각에서 1번씩, 총 3번의 암호화를 통해 사용자의 익명성을 보장해주는 새로운 형태의 네트워크이다. 원하는 서버에 바로 접속하는 것이 아니라, 전 세계 각지 사람들이 열어둔 타 서버들을 거쳐서 가기 때문에 마지막 서버의 위치만으로는 사용자를 알 수 없다. 이는 공격자가 쉽게 사용자의 개인정보를 얻을 수 없도록 사전에 차단하는 기능을 한다. 하지만 토르 네트워크도 출입 노드와 출구 노드에서 보이는 트래픽* 사이의 연관성만 찾아내면 마지막 서버에서도 사용자를 알아낼 수 있다. 중간 노드로 선택한 서버가 안전하지 못할 때도 토르 네트워크 시스템의 보안은 쉽게 무너진다. 지금까지는 이런 문제점들을 사전에 방지할 방법을 찾지 못했다.

네트워크 분야 최초로 SGX를 도입해

연구팀은 SGX(Software Guard Extensions) 기술을 토르 네트워크에 적용해 이를 해결했다. SGX는 애플리케이션의 정보를 보호할 수 있는 차세대 CPU 구성으로, 지금까지는 서비스의 제공자가 이를 요청한 사용자를 검증하는 데 적용해왔다. 예를 들어, OTP(One Time Password)를 발급해주는 제공자와 발급을 요청하는 사용자가 있을 때, 제공자가 해당 사용자를 믿고 서비스를 제공해도 되는지 검증하는 단계에 SGX가 사용되는 식이다.

SGX의 메모리 암호화와 무결성 검증
SGX는 두 가지 방식으로 시스템을 보호한다. 첫째, 운영체제가 메모리를 분석할 수 없도록 CPU 단계에서 미리 메모리를 암호화한다. 암호화된 데이터의 복호화는 CPU 안에서만 가능하도록 설계한다. 따라서 운영체제에서 높은 권한을 가진 공격자라도 CPU 안의 메모리를 볼 수 없다. 둘째, 애플리케이션의 바이너리 해시값**이 기존의 것과 일치하는지 확인하는 무결성 검증을 거친다. 제공자는 사용자에게 갖고 있는 애플리케이션의 해시값을 요청하고, 이를 해당 애플리케이션 개발자가 배포한 해시값과 비교해 다른 값을 가진 사용자를 거부한다.

토르 노드 간 SGX를 적절히 적용해
연구팀은 각 노드 자체를 제공자이자 사용자로 취급해 SGX 기술을 앞서 언급한 방식 그대로 토르 노드 간에 적용했다. 또한, 연구팀은 SGX를 적용했을 때 SGX 모드와 일반 모드로 수시로 바뀌는 두 CPU 모드를 고려해 메모리 암호화와 무결성 검증을 적용할 가장 효율적인 시점을 선택했다. 하드웨어의 정보를 읽어와야 하는 상황에는 SGX 모드를 빠져나와 운영체제에 처리를 요청한 뒤, 다시 SGX 모드로 접속하는 복잡한 과정이 필요하므로 어느 시점에 SGX를 적용할지는 매우 중요한 사안이다.

복잡해진 과정에도 큰 상용화 가능성
SGX는 암호화와 복호화를 추가로 거침에도 불구하고 그 속도가 일반 애플리케이션의 1.1배 정도로 성능이 거의 비슷하다. 실제 사용자들을 통해 기존 토르 네트워크와 SGX를 적용한 새로운 토르 네트워크 간 호환성까지 검증을 마쳤다.

이번 연구에 제1저자로 참여한 김성민 박사는 “익명성을 침해하는 공격들을 초기에 봉쇄할 수 있는 방식을 구상했다”라며 “토르 네트워크 시장의 활성화를 기대한다”라고 이번 연구의 의의를 밝혔다.  

트래픽*
서버 간 통신에서 사용한 데이터 양.

바이너리 해시값**
복사된 애플리케이션 간의 동일성을 확인할 때 쓰이는 값으로, 애플리케이션의 특성을 나타내는 수치.

김유빈 기자의 다른기사 보기  
ⓒ 카이스트신문(http://times.kaist.ac.kr) 무단전재 및 재배포금지 | 저작권문의  

     
전체기사의견(0)  
 
※ 자동등록방지용 코드를 입력하세요!   
   * 200자까지 쓰실 수 있습니다. (현재 0 byte/최대 400byte)
   * 욕설등 인신공격성 글은 삭제 합니다. [운영원칙]
전체기사의견(0)
신문사소개기사제보불편신고개인정보취급방침이메일무단수집거부
대전 유성구 대학로 291 KAIST 교양분관 1층 카이스트신문사 | Tel 042-350-2243
발행인 신성철 | 주간 김동주 | 편집장 이상현
Copyright 2010-2016 카이스트신문. All rights reserved. mail to kaisttimes@gmail.com