2020-05-28 23:10 (목)
구글 프로젝트 제로, 90일 패치 기한 넘긴 MS 엣지 취약점 공개
상태바
구글 프로젝트 제로, 90일 패치 기한 넘긴 MS 엣지 취약점 공개
  • hsk 기자
  • 승인 2018.02.20 11:09
이 기사를 공유합니다

goo.jpg
구글 프로젝트 제로팀 연구원들은 구글 공개 정책에 따라 마이크로소프트가 90일 기한 내에 취약점을 패치하지 못했기 때문에 MS 엣지(Edge) 브라우저에 존재하는 취약점을 공개했다. 해당 취약점은 구글 프로젝트 제로의 이반 프레트릭(Ivan Fratric)이 발견했다.

공격자는 이 취약점을 윈도우 10 Creators 업데이트에서 구현된 코드 무결성 가드(Code Integrity Guard, CIG)와 함께 임의 코드 가드(Arbitrary Code Guard, ACG)를 우회하는데 악용할 수 있다. 사용자는 보안 기능을 통해 Edge 브라우저가 악성 코드를 로딩 및 실행하는 것을 방지할 수 있다.

마이크로소프트 측은 “응용 프로그램은 디스크에서 악성 DLL/EXE를 로드하거나 메모리에서 코드를 동적으로 생성하거나 수정하여 악성 코드를 메모리에 직접 로드할 수 있다. CIG는 Edge로부터 DLL 코드 서명 요구를 통해 첫번째 방법을 방지한다. 이는 올바르게 서명된 DLL만이 프로세스에서 로드될 수 있음을 의미한다. 그런 다음 ACG는 서명된 코드 페이지들이 변경되거나 새로운 서명되지 않은 코드 페이지가 만들어지지 않도록 하여 이를 보완한다.”고 설명한다.

그러나 Ivan Fratric은 ACG 기능을 우회할 수 있다는 사실을 보여줬다. 그는 해당 문제에 대해 작년 11월 17일 마이크로소프트에 보고했고 처음에는 2월 패치 튜스데이에 수정 사항을 포함시킬 계획이었지만, 예상보다 복잡해져 패치가 지연됐다. 해당 취약점은 ‘보통’ 수준으로 분류되었고 프로젝트 제로는 블로그에 세부 사항을 공개했다.

프로젝트 제로팀 블로그의 분석 게시글은 “콘텐츠 프로세스가 손상되고 어떤 주소의 JIT 프로세스가 VirtualAllocEx()를 호출할지 예측할 수 있다면, 콘텐츠 프로세스는 다음 사항들이 가능하다. 1)UnmapViewOffile()을 사용해 공유 메모리 매핑을 해제, 2)같은 주소 JIT 서버에 쓰기 가능한 메모리를 할당해 쓰고, 실행 가능한 페이로드를 씀, 3)JIT 프로세스가 VirtualAllocEx() 호출시 메모리가 이미 할당되어 있더라도 호출이 성공하고 메모리 보호가 PAGE_EXECUTE_READ로 설정됨”이라고 설명하고 있다.

Fratric은 2017년 2월에 CVE-2017-0037를 부여받은 IE와 Edge 브라우저를 다운시키거나 임의 코드를 실행할 수 있는 ‘심각’ 수준의 취약점을 발견했고, 이와 관련된 기술 세부 사항을 게시했었다.

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