□ 개요
o 일부 응용프로그램에서 로드하는 라이브러리 파일의 경로를 부적절하게 검증함으로 인해
원격코드실행 취약점이
발생 [1, 3, 4, 5, 10]
o 공격자는 취약한 프로그램을 사용하는 파일을 USB 이동저장매체, 압축 해제된 파일,
WebDav,
원격 네트워크 공유 등을 통해 열도록 유도하여, 동일한 경로의 악의적인 라이브러리 파일이
로드되어
실행되게 함으로써 악성코드를 유포할 수 있음 [1, 6, 7]
o 취약점을 공격하는 개념증명코드가 공개되었고 다수의 응용프로그램이
취약할 것으로
추정[2, 5]되므로, 개발자의 취약점 점검 조치 및 사용자의 각별한 주의가 요구됨
□ 해당 시스템
o 영향 받는 소프트웨어 [1, 5]
- 외부 라이브러리를 안전하지 않은 방식으로 로드하는
응용프로그램
※ LoadLibrary() 및 LoadLibraryEx()에서 라이브러리 파일의 절대 경로를 인자로
전달하지
않은 경우 취약점이 발생할 수 있음
□ 권장 조치 방안
o 해당 취약점은 취약한 응용프로그램을 개발한 제작사에서 보안 업데이트를 발표해야할
사안으로,
응용프로그램 개발자는 다음과 같은 조치를 권장함
- 응용프로그램이 취약한지 여부를 "DLL Hijacking Audit
Tool[11]"로 판단
- Microsoft의 MSDN 사이트에서 DLL 검색 순서[8] 및 DLL 보안[9]에 관한 문서를
참고하고,
외부 라이브러리를 안전하게 로드할 수 있도록 해당 취약점을 패치
o 일반 사용자는 취약점을 통한 공격을
완화시키기 위해 다음과 같은 설정 적용
- Microsoft 기술자료 2264107[12]를 참고하여 WebDAV와 원격 네트워크
공유로부터
라이브러리가 로딩되지 않도록 설정
- WebClient 서비스를 비활성화
* 시작
→ 실행 → services.msc 입력 후 확인 → WebClient 서비스 속성 → 시작 유형을
"사용 안 함"으로
설정 및 서비스 중지 선택 후 확인
- 방화벽에서 TCP 139, 145 포트 차단
※ WebClient에
종속적이거나 해당 포트를 사용하는 윈도우 서비스나 응용프로그램을 사용하는
시스템은, 기능상 장애가 발생할 수
있음
o 취약점에 의한 피해를 줄이기 위하여 사용자는 다음과 같은 사항을 준수해야함
- 파일공유 기능 등을 사용하지
않으면 비활성화하고 개인방화벽을 반드시 사용
- 사용하고 있는 백신프로그램의 최신 업데이트를 유지하고, 실시간 감시기능을
활성화
- 신뢰되지 않는 웹 사이트의 방문 자제
- 출처가 불분명한 이메일의 링크 클릭하거나 첨부파일 열어보기
자제
□ 용어 정리
o DLL(Dynamic Link Library, 동적 연결 라이브러리): 동시에 하나 이상의 프로그램에서
사용될
수 있는 코드와 데이터를 포함한 라이브러리로, DLL을 사용하면 프로그램을 분리된 구성 요소로
모듈화하여
작성할 수 있음
o WebDAV(Web Distributed Authoring and Versioning): 웹 기반으로 파일의
생성, 복사,
이동 및 삭제와 같은 기능이 수행되는 방식을 정의하는 HTTP 확장
□ 기타
문의사항
o 한국인터넷진흥원 인터넷침해대응센터: 국번없이 118
□ 참고사이트
[1] http://www.microsoft.com/technet/security/advisory/2269637.mspx
[2] http://www.theregister.co.uk/2010/08/20/windows_code_execution_vuln/
[3] http://isc.sans.edu/diary.html?storyid=9445
[4] http://acrossecurity.blogspot.com/2010/08/binary-planting-update-day-6.html
[5] http://www.acrossecurity.com/advisories.htm
[6] http://blog.metasploit.com/2010/08/exploiting-dll-hijacking-flaws.html
[7] http://blog.rapid7.com/?p=5325
[8] http://msdn.microsoft.com/en-us/library/ms682586(VS.85).aspx
[9] http://msdn.microsoft.com/en-us/library/ff919712(VS.85).aspx
[10] http://blog.zoller.lu/2010/08/cve-2010-xn-loadlibrarygetprocaddress.html
[11] https://www.metasploit.com/redmine/projects/framework/repository/raw/external/
source/DLLHijackAuditKit.zip
[12] http://support.microsoft.com/kb/2264107
댓글