한 연구원이 인텔의 하이퍼쓰레딩 기술은 해커가 보안 키를 탈취해 악의적 공격을 할 수 있는 취약점을 안고 있다고 주장했다.
BSDCan 2005 컨퍼런스에서 발간된 자료를 통해 이같은 문제가 제기됐다.
하이퍼쓰레딩은 하나의 프로세서를 마치 2개의 프로세서가 동작하는 것처럼 만드는 기술이다. 이를 이용하면 여러 소프트웨어를 동시에 사용하는 다중 작업이 원할해진다.
그런데 하이퍼쓰레딩 기술이 적용된 칩에 있는 캐시 메모리에 동시에 작업이 처리되는 과정에서 악의적인 사용자가 캐시 동작상태를 감시하면서 특정 컴퓨터의 보안 키(security key)를 복원해 시스템을 장악할 수 있는 것으로 밝혀졌다고 독립 연구원인인 콜린 퍼시벌은 자신의 사이트에 공개했다.
인텔 관계자는 인텔과 일부 소프트웨어 개발사들이 이같은 문제를 해결하기 위한 작업을 진행중이란 점을 인정하면서도 그다지 중요한 문제는 아니라고 말했다.
BSD 캐나다 컨퍼런스인 BSDCan에서 지난 13일 퍼시벌이 밝힌 바에 따르면 프리BSD 운영체제가 동작하는 가운데 찾아낸 취약점이긴 하지만 이 문제는 인텔의 하이퍼쓰레딩을 지원하는 모든 운영체제에 적용될 것이라고 그는 주장했다.
프로세서는 중앙처리장치(CPU)가 계산을 하는 과정에서 데이터를 임시적으로 저장하는 데 캐시 메모리를 사용한다. 펜티엄 4와 제온 프로세서는 모두 이러한 하이퍼쓰레딩 기능을 갖추고 있으며 캐시 메모리는 L1, L2, L3 등으로 나뉘어 할당된다.
싱글쓰레드 프로세서는 다음 번 처리를 위해 L1 캐시를 비우고 다음 번 작업을 처리하는 데 반해, 하이퍼쓰레딩은 캐시에 일부 데이터를 남겨놓아 중앙처리 장치가 잠깐 다른 일을 처리하기 위해 기다리는 동안 다른 작업을 실행할 수 있어 마치 프로세서가 2개가 움직이는 것처럼 동작한다.
따라서 악의적인 사용자라면 프로세서가 다중처리시 잠시 다른 처리 작업을 기다리는 순간 시스템의 보안 키를 획득할 수 있다고 퍼시벌은 주장했다. 결국 이렇게 반복적으로 모든 보안 키를 획득하게 되면 나중에 완전한 키로 복원할 수 있다. 이러한 취약점은 시간차 공격(timing attack)이라고 부른다.
* 시간 공격(Timing Attack)은 폴 코처가 1994년 10월에 개발한 공개키 암호에 대한 해독방법으로 평문이 암호화되는데 필요한 시간차를 100만분의 1초 단위로 분석함으로써 평문을 추적하는 방법이다.
하이퍼쓰레딩 기술이 적용된 프로세서는 데스크톱용으로도 출시됐지만 이러한 특정 취약점은 서버용 제품에만 해당된다고 그는 지적했다. 더 자세한 사항은 그의 사이트에(
http://www.daemonology.net/hyperthreading-considered-harmful/)에 Q&A 형식으로 올려져 있다.
그는 이같은 문제가 해결되기 전까지 다중 사용자 기반 서버 컴퓨터에서는 하이퍼쓰레딩 기능을 꺼놓아야 한다고 권고했다.
인텔은 현재 이 문제에 대한 보고서가 나오기 전부터 협력사에 정보를 제공했다고 밝히고 이미 MS, 레드햇 등 소프트웨어 개발사들과 이 문제를 해결하기 위해 작업하고 있다고 밝혔다.
또한 인텔 관계자는 이러한 문제는 인텔제품만의 문제가 아니라 하이퍼쓰레딩과 비슷한 방식을 사용하는 모든 프로세서가 갖고 있는 취약점이라고 밝혔다. 또한 인텔은 이는 매우 중요한 문제라고 보지 않으며 추후 MS나 리눅스 운영체제 등에서 업데이트 등을 통해 해결될 것이라고 밝혔다.
그는 또한 분산 공격을 통해 노출된 서버에서만 동작하는 취약점이라고 밝히고, 만일 이 취약점에 노출돼 있다고 해도 악의적인 공격자가 제어권을 넘겨받거나 데이터를 훔치는 등 취약점을 이용하는 것은 그리 쉽지 않은 일이라고 말했다. @
인포월드 원문
http://www.infoworld.com/article/05/05/13/HNintelexpose_1.html