이 기술을 이용해 권한이 없는 행위자가 특정 프로세스와 관련된 메모리 접근 인스턴스를 감시할 수 있으므로 다양한 로컬 및 원격 공격을 할 수 있다. 특정 인스턴스 아래에서악의적인 공격자는이 공격기술을 사용하여숨김 채널을 설정하여, 클릭재킹, 키스트로크 타이밍 공격, 취약한 PHP 스크립트에서 암호 탈취, 네트워크를 통해 원격 정보 유출을 할 수 있다.
연구원들은 “우리는 페이지 캐시 정보를 끌어 내기 위해 운영체제호출(Linux의 mincore,윈도우의 QueryWorkingSetEx)을 사용해 타이머 없이 작동하는 일련의 로컬 공격을 제시했다. 또한 페이지 캐시 메타 데이터가 네트워크 채널을 통해 원격 공격자에게 유출되어 악의적인 로컬 발신자 프로세스와 외부 공격자 사이에 비밀 채널을 생성할 수 있음을 보여주었다”고 설명한다.
또 리눅스와 윈도우 기반 시스템에 초점을 맞추고 있지만, 최신의 모든 운영체제가 페이지 캐시를 구현하기 때문에 이 기술은 MacOS 시스템에도 적용할 수 있다고 말한다.
논문에서 몇가지 완화 방법을 제안했다. 운영 체제 구현을 수정하고 특정 페이지 교체 알고리즘 도입을 통해 시스템 성능을 향상하는 동시에 공격 적용 가능성을 줄여야 한다고 설명한다.
마이크로소프트와 윈도우 진영에서 이 취약점을 수정하기 위해 노력중이다. 마이크로소프트는 윈도우10 insider Preview 빌드 18305에서 문제는 수정했지만, 올해 말쯤 공개할 계획이다.
한편 리눅스의 페이지 캐시 버그는 CVE-2019-5489로 지정되었고 리누즈토발즈(Linus Torvalds가 이 문제를 다루고 있다. MITRE의 공식 CVE항목에서는 이 결함을 아래와 같이 설명하고 있다.
"리눅스 커널 4.19.13의 mm/mincore.c에서 구현된mincore()는 로컬 공격자가 동일한 시스템의 다른 프로세스의페이지 캐시 접근 패턴을 관찰할 수 있어 잠재적으로 비밀정보 스니핑이 가능하다. 아파치 HTTP 서버에서 공용 파일에 접근할 때 발생하는 대기시간 차이에서 볼 수 있듯이 제한된 원격 공격이 가능하다."
주니퍼 위협 연구소의 모니르하하드(HmunirHahad)는 “기존 하드웨어 기반 부채널 공격보다 훨씬 낮은 복잡성을 지니고 있고 위협행위자가 쉽게 적용할 수 있다. 특히 권한이 없는 응용프로그램을 통한 암호 복구는 원치 않은 번들 소프트웨어나 일반적으로 무해하다고 여겨지는 프로그램에서 사용할 수 있으므로 큰 문제가 될 수 있다. 이 공격에 대해 최종 사용자가 자신을 보호할 수 있는 방법이 많지 않다”고 설명한다.
트립와이어(Tripwire)의 취약점 및 노출 연구팀(VERT)의 크레이그 영(Craig Young)은 “이것은 정말 환상적인 연구이다. 이 팀은 최신 운영체제 아키텍처의 기본 개념이 어떻게 남용될 수 있는지를 보여주었다. 이 문제는 권한이 없는 프로세스가 특정 캐시 관련 시스템 호출에 너무 많이 접근할 수 있도록 허용하는 운영체제 설계에서 비롯된다. 다행인 것은 이러한 기술이 하드웨어에 기반하지 않으므로 특정 시스템 호출의 권한 없는 이용을 금지하고 민감한 정보 노출을 제한함으로써 대부분 완화 가능하다는 것이다”라고 밝혔다.
★정보보안 대표 미디어 데일리시큐!★