마이크로소프트(Microsoft) Windows 운영 체제 환경에서 Adobe Type Manager 라이브러리에서 발견된 원격 코드 실행 제로데이(0-Day) 취약점을 이용한 제한적인 표적 공격이 이루어지고 있다고 공개하였습니다.
공격에 대한 세부 정보는 공개된게 없지만 예를 들어 메일에 첨부된 문서 파일을 다운로드한 후 사용자가 문서를 열지 않은 상태에서도 Windows 탐색기의 미리 보기 기능을 통해 코드 실행이 가능한 것으로 보입니다.
▷ <보안 권고> ADV200006 : Type 1 Font Parsing Remote Code Execution Vulnerability (2020.3.23)
마이크로소프트(Microsoft)는 Adobe Type Manager 라이브러리에서 패치되지 않은 취약점을 활용할 수 있는 제한적인 표적 공격에 대해 인지하고 있으며, 보안 업데이트가 발표될 때까지 고객의 위험을 줄이도록 지원하기 위해 다음 안내를 제공합니다.
Windows Adobe Type Manager 라이브러리가 특수하게 제작된 다중 마스터 글꼴(Adobe Type 1 PostScript) 포맷을 부적절하게 처리할 경우 Microsoft Windows에서 2개의 원격 코드 실행 취약점이 존재합니다.
예를 들어 사용자가 특수 제작된 문서를 열거나 Windows 미리 보기 창에서 그것을 보도록 유도하는 등 공격자는 이 취약점을 악용할 수 있는 다양한 방법이 있습니다.
Microsoft는 이 취약점을 인지하고 있으며 수정하기 위해 노력하고 있습니다. Microsoft 소프트웨어의 보안 취약점을 해결하는 업데이트는 일반적으로 매월 두 번째 화요일에 발표됩니다. 이 예측 가능한 일정을 통해 파트너 품질 보증과 IT 계획을 허용하여 Windows 생태계를 고객이 신뢰하고 안전한 선택이 되도록 도와줍니다. 이 취약점에 영향을 받는 운영 체제 버전은 다음과 같습니다. 위험을 줄이는 방법은 완화 대책과 차선책을 참조하시기 바랍니다.
■ 영향을 받는 운영 체제(OS) 버전
Windows 7, Windows 8.1, Windows RT 8.1, Windows 10, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019
1. Windows 운영 체제 임시 해결 방법
(1) Windows 탐색기를 실행한 후 "보기" 탭의 "미리 보기 창"과 "세부 정보 창"이 체크된 경우 해제하시기 바랍니다.
참고로 Windows 7 운영 체제의 경우 Windows 탐색기의 "구성 - 레이아웃" 메뉴에서 "세부 정보 창"과 "미리 보기 창"이 체크된 경우 해제하시기 바랍니다.
(2) 폴더 옵션의 "보기" 탭의 "아이콘은 항상 표시하고 미리 보기는 표시하지 않음" 박스에 체크하시기 바랍니다.
참고로 (1), (2)번 절차가 정상적으로 이루어진 경우 Windows 탐색기에서는 다음과 같은 형태로 변경이 됩니다.
예를 들어서 Windows 탐색기에서 미리 보기와 세부 정보 기능이 활성화된 상태에서는 사진, 문서 파일을 열지 않은 상태에서도 내부 콘텐츠가 표시됩니다.
하지만 (1), (2)번 절차가 적용된 Windows 탐색기에서는 사진 파일의 미리 보기 기능이 비활성화되어 파일을 클릭하여 열기 이전까지는 내부 콘텐츠가 열리지 않습니다.
(3) 시작 메뉴의 실행창에 services.msc 명령어를 입력하여 서비스 창을 오픈한 후 WebClient 서비스를 선택하여 더블 클릭하시기 바랍니다.
WebClient 서비스의 시작 유형을 "수동 → 사용 안 함"으로 변경하여 적용하시기 바랍니다. 단, WebClient 서비스를 사용하지 않을 경우 WebDAV (Web Distributed Authoring and Versioning) 요청이 전송되지 않습니다.
(4) ATMFD.DLL (Windows NT OpenType/Type 1 Font Driver) 파일 이름을 다음과 같은 절차에 따라 변경하시기 바랍니다.
단, Windows 10 버전 1709 환경부터에서는 ATMFD.DLL 파일이 시스템에 존재하지 않으므로 (4)번 절차는 진행하지 마시기 바랍니다. 참고로 Windows 10 운영 체제에서는 취약점 공격에 성공한 경우 제한된 권한과 기능을 가진 AppContainer 샌드박스 안에서 코드 실행이 이루어집니다.
명령 프롬프트(cmd.exe)를 관리자 권한으로 실행한 후 Windows x86, x64 환경에 따라 다음과 같이 적용하신 후 Windows 재부팅을 진행하시기 바랍니다.
(4-1) 32 비트 운영 체제
cd "%windir%\system32"
takeown.exe /f atmfd.dll
icacls.exe atmfd.dll /save atmfd.dll.acl
icacls.exe atmfd.dll /grant Administrators:(F)
rename atmfd.dll x-atmfd.dll
(4-2) 64 비트 운영 체제
64 비트 운영 체제 환경의 경우 "C:\Windows\System32\atmfd.dll" 파일과 "C:\Windows\SysWOW64\atmfd.dll" 파일이 각각 존재하므로 2개의 명령어를 함께 진행하시기 바랍니다.
cd "%windir%\system32"
takeown.exe /f atmfd.dll
icacls.exe atmfd.dll /save atmfd.dll.acl
icacls.exe atmfd.dll /grant Administrators:(F)
rename atmfd.dll x-atmfd.dll
cd "%windir%\syswow64"
takeown.exe /f atmfd.dll
icacls.exe atmfd.dll /save atmfd.dll.acl
icacls.exe atmfd.dll /grant Administrators:(F)
rename atmfd.dll x-atmfd.dll
위의 명령어 처리가 정상적으로 적용되고 Windows 재부팅이 이루어진 상태에서 atmfd.dll 파일을 확인해보면 x-atmfd.dll 파일명으로 변경된 것을 확인할 수 있습니다.
2. 보안 패치 발표 시 수정 방법
차후 해당 취약점에 대한 보안 패치가 Windows 업데이트를 통해 공개될 경우 보안 패치를 설치하기 이전에 (4)번을 통해 파일명이 변경된 atmfd.dll 라이브러리 파일을 이전 파일명으로 변경해야 합니다.
또한 (3)번의 WebClient 서비스는 보안 패치 적용 후 시작 유형을 수동으로 변경하시기 바라며, (1)~(2)번은 사용자 선택에 따라 사용 여부를 결정하시기 바랍니다.
(1) 32 비트 운영 체제
명령 프롬프트(cmd.exe)를 관리자 권한으로 실행한 후 다음의 명령어를 입력한 후 Windows 재부팅을 진행하시기 바랍니다.
cd "%windir%\system32"
rename x-atmfd.dll atmfd.dll
icacls.exe atmfd.dll /setowner "NT SERVICE\TrustedInstaller"
icacls.exe . /restore atmfd.dll.acl
(2) 64 비트 운영 체제
cd "%windir%\system32"
rename x-atmfd.dll atmfd.dll
icacls.exe atmfd.dll /setowner "NT SERVICE\TrustedInstaller"
icacls.exe . /restore atmfd.dll.acl
cd "%windir%\syswow64"
rename x-atmfd.dll atmfd.dll
icacls.exe atmfd.dll /setowner "NT SERVICE\TrustedInstaller"
icacls.exe . /restore atmfd.dll.acl
위와 같은 명령어 실행을 통해 atmfd.dll 파일이 정상적으로 복원되었는지 확인하시고 Windows 업데이트 기능을 통해 제공되는 보안 업데이트를 설치하시기 바랍니다.
단, Windows 7, Windows Server 2008, Windows Server 2008 R2 운영 체제의 경우 이미 서비스가 종료되어 보안 패치를 제공하지 않을 수 있으므로 되도록이면 상위 OS 버전으로 업그레이드를 하시기 바랍니다.
해당 제로데이(0-Day) 취약점은 아직은 특정 대상에 대한 제한적인 공격에 악용되고 있지만, 차후 공격 범위가 확대되거나 PoC 코드 공개로 인하여 다양한 공격 조직이 악용할 가능성이 있으므로 2020년 4월 15일에 공개된 정기 보안 업데이트때까지 매우 주의하시기 바랍니다.