2019-12-12 01:10 (목)
새로운 마이크로소프트 패치가드(KPP)에서 우회 취약점 또 발견돼
상태바
새로운 마이크로소프트 패치가드(KPP)에서 우회 취약점 또 발견돼
  • 페소아 기자
  • 승인 2019.11.25 18:01
이 기사를 공유합니다

“MS의 익스플로잇에 대한 심각성 경시하는 모습…패치 지연시켜 공격 가능성 높이는 꼴”

지난달 한 보안연구원이 패치가드(PatchGuard)로 불리는 마이크로소프트 커널 패치보호(KPP) 기능에 대한 우회 개념증명코드(PoC) 익스플로잇을 공개했다.

ByePg로 명명된 이 패치가드 우회 기법은 7월에 공개된 InfinityHook 이후 올해 두번째 패치가드 우회 기법이다.

패치가드란, 마이크로소프트 윈도우 XP에서 2005년 처음 도입된 패치가드는 앱이 커널을 패칭하는 것을 막는 보안 기능으로 윈도우 64비트 버전에서만 적용된다.

커널을 패칭하는 것은 인증되지 않은 코드로 운영체제의 중요한 컴포넌트(앱에서부터 아래쪽의 하드웨어까지 명령을 전달하는)를 수정하는 것에 관련된다.

패치가드가 공개되기 전에는 많은 어플리케이션들이 윈도우의 커널을 수정할 수 있어 그들은 그들의 업무를 더 쉽게 할 수 있었고 민감한 함수에 접근이 가능했다. 안티바이러스, 특정 드라이버들, 게임 치트툴, 멀웨어 등이 그들만의 목적으로 커널 패칭을 사용했다. 특히 모든 사용자의 컴퓨터에 자유롭게 접근할 수 있도록 OS레벨로 그들의 멀웨어를 넣는 기술을 사용하는 루트킷 개발자들은 커널 패칭의 가장 큰 팬이였다.

처음에는 패치가드는 마이크로소프트가 기대했던 만큼 성공은 아니였고, 2010년 후반 여러 우회 취약점이 발견되어 모두 패치되었다. 패치가드는 자체적으로 루트킷을 죽이지는 않았지만 패치가드와 함께 추가 보안 기능을 갖춘 윈도우즈 10이 출시된 후 루트킷은 결국 힘을 잃게 되었다.

패치가드가 윈도우의 발전하는 보안기능들 중 뒤처져 있긴 하지만, 연구원들은 내부 메커니즘에서 계속해서 패치가드의 보호기능을 우회할 방법을 찾고 있다.

2015년 윈도우10이 릴리즈된 후 가장 주목할만한 패치가드 우회는 2017년 사이버아크(CyberArk) 연구자들이 발견한 고스트훅(GhostHook)이다. 고스트훅은 패치가드를 우회하고 커널을 패치하기 위해 인텔 프로세서 추적(PT)기능을 악용했다.

올해 7월에는 두번째 우회가 발견되어 공개되었다. 라이엇 게임의 치트 방지 전문가 닉 페터슨(Nick Peterson)이 발견한 이 기술의 이름은 인피니티훅(InfinityHook)이며 NtTraceEvent API를 악용하여 커널을 패치했다. 당시 우회기술을 설명하면서 페터슨은 "인피니티훅은 지난 10년 동안의 루트킷 중 최고의 도구 중 하나이다."라고 설명했다.

지난 달 세번째 패치가드 바이패스가 공개되었다. 이번에는 터키 소프트웨어 개발자인 캔 볼럭(Can Bölük)이 작성했다. ByePg라고 명명된 이 익스플로잇은 악성 앱이 커널을 패치할 수 있도록 HalPrivateDispatch Table을 탈취한다.

ByePg는 패치가드와 하이퍼바이저-보호 코드 무결성(HVCI, Hybervisor-Protected Code Integrity)를 우회할 수 있기 때문에 훨씬 위험한 것으로 간주된다. 이 기능은 마이크로소프트가 사용자 장치의 잘못된 드라이버를 블랙리스트에 추가할 수 있게 한다.

사이버아크, 페터슨 및 볼럭의 세가지 우회 기술 모두 마이크로소프트가 이슈에 대한 수정을 거부한 후 공개되었다.

세 경우 모두에 대한 마이크로소프트의 답변은 동일했다. 세가지 익스플로잇 모두 실행하려면 관리자 권한이 필요했기 때문에 보안 문제로 분류되지 않는다는 것이다.

마이크로소프트는 공격자가 관리자 권한으로 로컬 시스템에 엑세스하면 원하는 모든 작업을 수행할 수 있다고 주장했다. 기술적으로는 맞는 말이지만 이는 옳지 않다. 이 설명은 다른 공격 벡터에 대해서는 맞을 수 있지만 드라이버나 바이러스 백신 앱과 같이 권한이 높은 프로그램에서도 커널을 보호하는 시스템인 패치가드에는 해당되지 않는다고 연구원들은 주장하고 있다.

마이크로소프트는 이 문제를 무사하는 것은 아니지만 보안 결함으로 우선순위 지정하고 있지 않다고 설명한다.

그들은 보안 결함은 즉시 수정되고 월별 패치 화요일에 제공되는 반면 버그는 2년 주기로 패치되고 있다.

2017년 말 마이크로소프트는 고스트훅을 패치했지만, 패치에 대해서 몇 주 동안 아무도 알지 못했다. 인피니티훅 용 패치는 9월 윈도우 인사이드 빌드로 제공되었으며 이번 달 초에 릴리즈된 윈도우 10 v1909에 포함될 가능성이 높다.

ByePg는 아직 패치되지 않았다. 볼럭은 마이크로소프트의 버그 바운티 프로그램 규칙을 이해하고 있으며 금전적 보상을 받을 자격이 없다는 것을 알고 있다고 말했다. 그러나 그는 마이크로소프트의 이러한 익스플로잇에 대한 심각성을 경시하는 모습은 불필요하게 패치를 지연시켜 공격 가능성을 높인다고 설명한다.

★정보보안 대표 미디어 데일리시큐!★