윈도우는 여전히 세계에서 가장 널리 사용되는 운영체제 중 하나입니다. 전 세계 수십억 대의 컴퓨터가 윈도우로 구동되고 있으며, 윈도우는 이미 '컴퓨팅' 그 자체를 상징하는 단어가 되었습니다. 마이크로소프트와 윈도우의 압도적인 지배력은 곧 해커들의 주요 표적이 된다는 뜻이기도 합니다. 윈도우 10은 마이크로소프트 역사상 가장 안전한 운영체제임에도 불구하고, 여전히 수많은 취약점을 안고 있습니다.
그리고 이 취약점들은 결코 사소하지 않습니다. '더블에이전트(DoubleAgent)' 공격은 모든 버전의 윈도우를 장악할 수 있으며, 그 과정에서 백신 프로그램까지 무력화합니다. 또한 마이크로소프트 엣지(Edge) 역시 해커들의 거대한 표적입니다. 인터넷 익스플로러만큼 심각한 수준은 아니지만, 그래도 우려할 만한 상황입니다.
마이크로소프트 제품은 여전히 정기적으로 공격당하고 있습니다. 윈도우 10의 보안이 크게 강화되었음에도 불구하고 말이죠. 지금까지 어떤 일들이 있었고, 그 이유는 무엇인지 살펴보겠습니다.
DoubleAgent(더블에이전트)
2017년 3월, 시벨룸(Cybellum)의 보안 연구진은 윈도우의 새로운 제로데이 익스플로잇 발견 사실을 발표했습니다. 이스라엘 연구팀은 '더블에이전트'라고 명명된 이 공격이 백신 프로그램을 "직접 공격하고 통제권을 탈취"할 수 있다고 확인했습니다. 더블에이전트는 XP부터 윈도우 10까지 모든 버전의 윈도우에 존재하는 비교적 잘 알려지지 않은 기능을 악용합니다.
더블에이전트는 마이크로소프트 애플리케이션 베리파이어(Application Verifier)를 악용하는데, 이는 애플리케이션의 버그를 발견하고 수정하기 위한 런타임 검증 도구입니다. 연구진은 공격자가 표준 검증기를 사용자 지정 검증기로 교체할 수 있는 미공개 기능을 발견했습니다. 사용자 지정 검증기가 자리 잡으면 공격자는 "모든 프로세스에 원하는 DLL을 주입"할 수 있습니다. 이 과정은 피해자 프로세스의 부팅 초기 단계에서 발생하기 때문에, 공격자는 프로세스에 대한 완전한 통제권을 갖게 되며 프로세스 스스로는 아무런 방어도 할 수 없습니다.
애플리케이션 베리파이어는 원래 버그를 점검하고 수정함으로써 애플리케이션 보안을 강화하도록 설계되었습니다. 아이러니하게도 실제로는 정반대의 결과를 낳았고, 이 때문에 '더블에이전트'라는 이름이 붙었습니다.
백신이 무기로 돌변한다
백신 프로그램을 장악할 수 있는 공격이라는 점에서 이 공격의 파급력은 매우 큽니다. 백신과 안티멀웨어 소프트웨어를 비활성화하는 공격은 흔하지만, 오히려 백신을 적으로 돌린다는 발상은 충격적입니다. 더블에이전트를 활용하면 악의적인 공격자는 다음과 같은 행위가 가능합니다.
- 백신을 멀웨어로 변형 — 백신 소프트웨어는 컴퓨터에서 특권 수준의 권한으로 작동합니다. 고도로 신뢰받는 프로그램이기 때문에 모든 것을 볼 수 있고 모든 작업을 수행할 수 있죠. 따라서 어떤 악성 행위도 정상적인 것으로 간주되며, 공격자는 모든 보안 장치를 우회할 수 있습니다.
- 백신 동작 변경 — 공격자는 화이트리스트와 블랙리스트 수정, 포트 개방, 방화벽 변조 등을 자유롭게 수행할 수 있습니다. 백신을 무력화하면 백도어도 손쉽게 설치할 수 있습니다.
- 시스템 파괴 — 공격 목적에 따라 시스템을 그냥 파괴해버릴 수도 있습니다. 막아줄 백신이 없다면 로컬 저장소를 암호화하거나 포맷하는 것도 가능합니다.
나아가 백신을 통해 시스템 전체에 제한 없이 접근할 수 있게 되면, 개인 정보나 민감한 데이터가 유출될 위험도 커집니다.
그럼 이제 어떻게?
시벨룸에 따르면 더블에이전트를 방어할 수 있는 유일한 백신 제품은 윈도우 디펜더입니다. 윈도우 디펜더는 '윈도우 보호 프로세스(Protected Processes)' 메커니즘을 사용하는 유일한 백신으로, 이는 바로 이런 유형의 공격을 완화하기 위해 설계된 커널 수준의 보호 기술입니다.
반면 아바스트(Avast) CTO 온드레이 블체크(Ondrej Vlcek)는 시벨룸이 지난해 이미 자사에 이 취약점을 알렸다고 밝혔습니다. 따라서 해당 취약점은 더 이상 문제가 되지 않는다는 것입니다. 노턴 시큐리티(Norton Security)도 ZDNet에 비슷한 입장을 전했는데, 조사 결과 개념 증명(PoC) 공격으로 인한 취약점은 발견되지 않았다고 합니다(시벨룸이 자사 제품을 공격하는 영상을 만들었음에도 불구하고).
그럼에도 불구하고 이들은 추가적인 탐지 및 차단 기법을 도입했습니다.
Pwn2Own에서 드러난 마이크로소프트 엣지
Pwn2Own은 CanSecWest 보안 컨퍼런스에서 열리는 연례 해킹 대회입니다. 2017년 대회는 대회 10주년을 맞아 무려 100만 달러의 상금 규모를 자랑했습니다. 표적은 매년 바뀌지만, 대체로 브라우저와 기타 범용 소프트웨어가 혼합되어 있습니다.
마이크로소프트는 윈도우 10과 함께 완전히 새로운 브라우저를 선보였습니다. 엣지는 구버전 인터넷 익스플로러의 취약점을 물려받지 않도록 사실상 처음부터 새롭게 만들어졌습니다. 마이크로소프트에는 크롬과 파이어폭스에 정면으로 맞설 브라우저가 필요했던 것이죠. 어떤 면에서는 성공했지만, 어떤 면에서는 여전히 뒤처져 있습니다.
2017년 Pwn2Own에서는 마이크로소프트 엣지가 "무려 다섯 번" 해킹당했습니다. 좋은 소식이 있다면, 이 해킹들은 고도로 숙련된 전문 해커들에 의해 수행되었다는 점입니다. 그중 '360 Security' 팀이 수행한 한 해킹은 마이크로소프트 엣지의 힙 오버플로우 버그, 윈도우 커널의 타입 컨퓨전(type confusion) 취약점, VM 워크스테이션의 초기화되지 않은 버퍼를 연달아 악용해 가상 머신을 탈출하는 데 성공했습니다.
즉, 호스트 운영체제에 접근하기 위해 세 가지의 서로 다른 고급 해킹을 연속으로 성공시킨 것입니다. 이들의 노력은 105,000달러의 상금으로 보상받았습니다.
다른 해킹 사례들
마이크로소프트 엣지를 직접 공격하거나 이를 활용한 성공적인 해킹이 네 건 더 있었습니다. Pwn2Own에서 엣지가 집중 공격당한 모습은 놀랍고도 우려스럽습니다. 마이크로소프트는 IE를 조롱거리로 만들었던 수많은 구조적 취약점을 없애기 위해 브라우저를 처음부터 새로 만들었지만, 안타깝게도 엣지 역시 비슷하게 취약한 모습을 보였습니다.
덧붙이자면, 구글 크롬은 끝내 해킹되지 않았습니다.
왜 하필 마이크로소프트일까?
마이크로소프트가 감수해야 하는 비판이 실제보다 과도한 걸까요?
제 생각에는 마이크로소프트는 적절한 수준의 평가를 받고 있다고 봅니다. IT 업계는 발견되는 모든 취약점마다 마이크로소프트에게 몰아치곤 하는데, 어찌 보면 당연합니다. 최대 시장 점유율을 가진 회사로서 마이크로소프트에게는 가정, 기업, 대규모 조직 등 모든 사용자를 광범위한 해킹과 사이버 범죄로부터 보호할 막중한 책임이 있으니까요.
하지만 우리가 윈도우가 얼마나 견고하기를 바라든, 해커들은 계속해서 해킹을 시도합니다. 시벨룸의 더블에이전트 제로데이 발견 사례가 보여주듯, 언제나 예상치 못한 공격 경로가 발견되기를 기다리고 있습니다. 윈도우는 클로즈드 소스입니다. 마이크로소프트는 당연히도 소스 코드를 외부에 공개하지 않는데, 모든 상용 소프트웨어에는 고유의 문제점이 존재합니다. 쏟아지는 버그, 취약점, 제로데이 익스플로잇은 바로 그 결과물인 셈입니다.
그럼에도 윈도우는 여전히 엄청난 인기를 누리고 있습니다. 접근성이 뛰어나고 많은 사람에게 익숙하며, 수백만 대의 컴퓨터에 기본 탑재되어 나오기 때문입니다. 마이크로소프트 역시 보안의 중요성을 분명히 인식하고 있습니다. 윈도우 10은 이전 버전들보다 훨씬 안전하며, 엣지도 느리지만 올바른 방향으로 나아가고 있습니다. 그러나 1년 가까이 방치되다가야 패치된 제로데이 취약점 같은 뉴스거리는 사이버 보안 업계 전반에 당연히도 경각심을 불러일 것입니다.
윈도우 10의 향상된 보안에도 불구하고, 여전히 믿을 만한 백신 프로그램이나 종합 온라인 보안 솔루션을 실행해 두는 것이 좋습니다.
윈도우를 사용하면서 안전하다고 느끼시나요? 윈도우 보안을 어떻게 개선할 수 있을까요? 마이크로소프트는 사용자 보호에 충분히 힘쓰고 있을까요? 여러분의 생각을 댓글로 알려주세요!