상세 컨텐츠

본문 제목

오픈타입 폰트 드라이버 취약점 (CVE-2015-2426) 주의!

국내외 보안동향

by 알약(Alyac) 2015. 7. 21. 16:18

본문

오픈타입 폰트 드라이버 취약점 (CVE-2015-2426) 주의!

OpenType Font Driver Vulnerability - CVE-2015-2426


Windows Adobe Type Manager Library가 특별히 제조된 오픈타입 폰트를 적절하지 않은 방식으로 처리할 경우, 원격 코드 실행 취약점이 MS 윈도우에서 발생합니다. 이 취약점을 성공적으로 악용한 공격자는 감염된 시스템의 전체 제어 권한을 가질 수 있습니다. 공격자는 이후 추가로 임의의 프로그램을 설치하거나, 데이터를 변경 및 삭제할 수 있으며 최고 권한을 가진 사용자 계정을 생성할 수도 있습니다.


공격자가 해당 취약점을 악용할 수 있는 방법이 몇가지 존재합니다. 사용자에게 특별히 만들어진 문서를 클릭하게 하거나, 오픈타입 폰트가 내장된 웹페이지를 방문하도록 유도하는 것입니다. MS가 긴급으로 진행한 이 업데이트(MS15-078)는 Windows Adobe Type Manager Library가 오픈 타입 폰트를 처리하는 방식을 바로 잡음으로써 취약점을 수정하게 됩니다.


해당 보안 권고가 발행된 이후, MS 측은 해당 취약점이 대중에 공개 되었음을 알 수 있는 정보를 입수했으나, 실제로 사용자들을 공격하는데 해당 취약점이 사용되었다는 증거는 찾지 못하였습니다. 연구 결과, 이 익스플로잇 코드는 공격자가 지속적으로 취약점을 악용할 수 있도록 생성할 수 있었습니다.



해결책


ATMFD.DLL의 이름 변경


※ 32-bit 시스템

1. 관리자 명령 프롬프트에서 아래의 명령어를 실행합니다.


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

2. 시스템을 재시작합니다.

※ 64-bit 시스템
1. 관리자 명령 프롬프트에서 아래의 명령어를 실행합니다.

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

2. 시스템을 재시작합니다.

윈도우 8 및 이후 버전 OS를 위한 선택적 절차 (ATMFD 비활성화)

레지스트리 에디터를 잘못 사용할 경우 OS를 재설치 해야 할 정도의 심각한 문제가 발생할 수 있습니다. MS는 레지스트리 에디터의 잘못된 사용으로 인해 발생한 문제에 대해 책임을 지지 않고 있습니다. 따라서 이 점을 숙지하신 상태에서 레지스트리 데이터를 사용해야 합니다. 레지스트리를 수정하는 방법은 레지스트리 에디터 (Regedit.exe)의 도움말 내 'Changing Keys And Values' 부분을 참고하거나, Regedt32.exe의 'Add Delete Information in the Registry', 'Edit Registry Data'를 참고해주시기 바랍니다.

방법 1 (시스템 레지스트리를 수동으로 설정)
1. regedit.exe 를 관리자 권한으로 실행합니다.
2. 레지스트리 에디터에서 아래의 서브키로 이동하거나 (생성한 후) DWORD 값을 1로 설정합니다.
 
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\DisableATMFD, DWORD = 1
  
3. 레지스트리 에디터를 종료하고 시스템을 재시작합니다.

방법 2 (배치 스크립트 사용)
1. ATMFD-disable.reg 라는 이름의 TXT 파일을 생성한 후 아래의 내용을 저장합니다.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"DisableATMFD"=dword:00000001

2. regedit.exe를 실행한다.
3. 레지스트리 에디터에서 File 메뉴 > Import를 클릭합니다.
4. 이전 단계에서 생성한 ATMFD-disable.reg 파일을 찾아 선택합니다. (만약 해당 파일이 리스트에 없을 경우, 이 파일이 자동으로 .txt 파일 확장자가 주어진 것이 아닌지 확인하거나 대화창의 파일 확장자 파라미터를 All Files로 변경합니다.)
5. Open -> OK를 클릭하여 레지스트리 에디터를 종료합니다.

이 해결책이 미치는 영향
임베디드 폰트 기술에 의존하는 어플리케이션들은 정상적으로 디스플레이 되지 않을 것입니다. ATMFD.DLL을 비활성화 할 경우 오픈 타입 폰트를 사용하는 특정 어플리케이션들이 정상적으로 동작하지 않을 수 있습니다. MS 윈도우는 어떠한 오픈 타입 폰트도 제공하지 않습니다. 하지만, 서드 파티 어플리케이션이 이를 설치할 수 있고, 이 변화로 인해 영향을 받을 수 있습니다.

이 해결책을 취소하는 방법
※ 32-bit 시스템
1. 관리자 명령 프롬프트에서 아래의 명령어를 실행합니다.

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-bit 시스템
1. 관리자 명령 프롬프트에서 아래의 명령어를 실행합니다.

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

2. 시스템을 재시작합니다.


윈도우 8 및 이후 버전 OS를 위한 선택적 절차 (ATMFD 비활성화)


레지스트리 에디터를 잘못 사용할 경우 OS를 재설치 해야 할 정도의 심각한 문제가 발생할 수 있습니다. MS는 레지스트리 에디터의 잘못된 사용으로 인해 발생한 문제에 대해 책임을 지지 않습니다. 따라서 이점을 숙지한 상태에서 레지스트리 데이터를 사용해야 합니다. 레지스트리를 수정하는 방법은 레지스트리 에디터 (Regedit.exe)의 도움말 내 'Changing Keys And Values' 부분을 참고하거나, Regedt32.exe의 'Add Delete Information in the Registry', 'Edit Registry Data'를 참고해주시기 바랍니다.



방법 1 (시스템 레지스트리를 수동으로 설정)

1. regedit.exe 를 관리자 권한으로 실행합니다.

2. 레지스트리 에디터에서 아래의 서브키로 이동하거나 (생성한 후) DWORD 값을 0으로 설정합니다.


HKLM\Software\Microsoft\Windows 

NT\CurrentVersion\Windows\DisableATMFD, DWORD = 0


3. 레지스트리 에디터를 종료하고 시스템을 재시작합니다.

 

방법 2 (배치 스크립트 사용)

1. ATMFD-disable.reg 라는 이름의 TXT 파일을 생성한 후 아래의 내용을 저장합니다.


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]

"DisableATMFD"=dword:00000000


2. regedit.exe를 실행합니다.

3. 레지스트리 에디터에서 File 메뉴 > Import를 클릭합니다.

4. 이전 단계에서 생성한 ATMFD-disable.reg 파일을 찾아 선택합니다. (만약 해당 파일이 리스트에 없을 경우, 이 파일이 자동으로 .txt 파일 확장자가 주어진 것이 아닌지 확인하거나 대화창의 파일 확장자 파라미터를 All Files로 변경합니다.)

5. Open -> OK를 클릭하여 레지스트리 에디터를 종료합니다.



참고:

https://technet.microsoft.com/en-us/library/security/ms15-078



관련글 더보기

댓글 영역