그러나 CORS와 관련된 문제의 핵심은 여전…익스플로잇 가능성 그대로
[보안뉴스 문가용 기자] 최근 패치된 엔비디아 지포스 엑스페리언스(NVIDIA GeForce Experience, GFE)의 취약점이 임의 명령 실행 공격에 활용될 수 있다고 보안 업체 라이노 시큐리티 랩스(Rhino Security Labs)가 발표했다.

[이미지 = iclickart]
엔비디아 GFE는 지포스 드라이버를 설치할 때 같이 설치되는 애플리케이션으로, 사용자들이 영상, 스크린샷, 라이브스트림을 보다 쉽게 캡처하고 공유할 수 있도록 해준다. 동시에 드라이버의 업데이트도 보다 편리하게 담당해주고, 컴퓨터 게임을 최적화 상태로 돌릴 수 있게도 해준다.
여기서 발견된 취약점은 CVE-2019-5678로, GFE가 시스템 부팅 시 발동시키는 웹 헬퍼(Web Helper) 서버 내에 존재한다. “익스플로잇 될 경우 공격자가 피해자를 조작된 웹 사이트로 우회시킬 수 있다”고 라이노 시큐리티의 보안 전문가인 데이비드 예슬랜드(David Yesland)는 설명한다.
“엔비디아의 지포스 엑스페리언스의 웹 헬퍼 서버 내에는 취약점이 있습니다. 시스템에 대한 로컬 접근이 가능한 공격자가 임의의 명령을 실행하게 해주는 것으로, 이를 통해 코드 실행, 디도스, 정보 노출 공격 등이 가능하게 됩니다.”
GFE는 시스템 부팅 시나 사용자가 실행시켰을 때, 로컬에 API 서버를 켠다. 그리고 서버를 통해 애플리케이션의 여러 가지 기능들을 제어한다. 사용자가 GUI 인터페이스를 통해 적용시키는 변경 사항들 역시 이 로컬 API 서버로 전송된다. 이 때 인증을 받은 요청들만이 접수되고, 이에 대한 우회 방법은 아직 발견되지 않았다.
그렇다면 해킹은 어떻게 성립하는 걸까? “비밀 토큰을 가지고 있는 경우라면, 공격자가 통제하는 웹사이트 등 다른 출처로부터도 유효한 요청을 만들어 전송하는 게 가능합니다. 즉, 전제 조건이 있는 공격 기법이라는 뜻인데요, 사용자가 토큰이 포함된 파일을 어디론가 업로드하고, 이 파일을 가로채거나 훔쳐낼 수 있다면 공격자가 토큰 정보를 취득할 수 있게 됩니다. 브라우저를 통한 공격으로 간편하게 해낼 수 있는 유형의 공격입니다.”
예를 들어 브라우저가 크롬일 경우, 피해자가 세 개의 키를 누르면 익스플로잇에 성공할 수 있다. “컨트롤, V, 엔터 키입니다. 이렇게 할 경우 임의의 텍스트가 클립보드로 복사되죠.” 파이어폭스라면 키를 누르는 것 외에 마우스 클릭도 있어야 한다. “이렇게 브라우저에 따라 사용자의 특정 행위를 유발시켜야 하는데, 이건 공격자들에게 그리 큰 문제가 되지 않습니다.”
이런 전제 조건을 성립시킨 공격자가 익스플로잇 하는 건 “API가 ‘교차 출처 자원 공유(Cross Origin Resource Sharing, CORS)’를 허용한다는 사실”이다. “CORS가 허용되기 때문에 비밀 키를 획득한 공격자가 브라우저를 통해 XHR 요청을 엔드포인트에서 실시할 수 있게 되는 겁니다.”
엔비디아 측은 지난 공식 업데이트를 통해 이 취약점을 패치했다. 그러나 명령 주입을 가능케 하는 엔드포인트를 삭제한 것이지, CORS 정책은 그대로 남겨둔 상태다. “열린 CORS 정책은 그대로입니다. 문제가 됐던 nodejs.json 파일도 고정 위치에 그대로 있고요. 즉 공격자가 여전히 브라우저를 가지고 API를 건드리는 게 가능하다는 겁니다.”
한편 엔비디아는 윈도우 시스템 DLL를 확인 없이 로딩하는 취약점도 같이 패치했다. 이 취약점이 익스플로잇될 경우 공격자가 로컬 시스템에 대한 접근권을 가지고 권한을 상승시켜 임의로 코드를 실행할 수 있게 된다고 한다.
3줄 요약
1. 엔비디아, 최근 임의 코드 실행 관련 취약점 두 개를 패치함.
2. 그 중 하나인 CVE-2019-5678은 열린 CORS 정책에 뿌리를 내리고 있는 문제.
3. 하지만 패치는 문제의 핵심을 해결한 게 아니기 때문에 여전히 익스플로잇 가능성 남아있음.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>