DLL-preloading 취약성이 생각 외로 꽤 이슈화가 되고있네요.
어떻게 보면 그리 새로운 내용이 아닐수도 있는데, 활용 방법에 따라 그 파급력이 나뉘어질 것 같습니다.
기본적인 개념은, 어플리케이션에서 dll을 로드할 때 우선순위가 working directory부터 이루어진다는 점을 악용하여 공격자가
악의적인 dll을 해당 위치(working directory)에 두고 의도적으로 loading시켜서 권한 상승이나 시스템 장악 등을 수행한다는 내용입니다.
이러한 기술적 적용 자체는 아주 예전부터 프로그램 크랙 등을 위해 비슷한 방식으로 빈번하게 사용되던 것이기 때문에,
처음에는 이게 왜 갑자기 취약성으로 이슈화가 되는지 몰랐는데, WebDAV와 연계시켜 취약성을 trigger하면 생각 외로 크리티컬 할 수도 있다는 생각이 들었습니다.
만약 그러한 것들(WebDAV 등)이 허용된다면, dll을 원격에서 삽입시켜 일명 remote code execution을 할 수 있는거죠.
그 외에도 윈도우에서 관리자 권한으로 구동되는 프로그램을 일반 사용자가 권한 획득을 위해 악용할 수도 있구요.
최근 발표된 Apple Itunes advisory도 이와 같은 취약성을 이용하고 있습니다.
(http://www.acrossecurity.com/aspr/ASPR-2010-08-18-1-PUB.txt)
관련 내용과 대응책, 취약성 체크 방법 등은 다음 링크에서 참고하실 수 있습니다.
http://msdn.microsoft.com/en-us/library/ff919712(VS.85).aspx
http://www.microsoft.com/technet/security/advisory/2269637.mspx
http://blogs.msdn.com/b/david_leblanc/archive/2008/02/20/dll-preloading-attacks.aspx
http://www.idg.co.kr/newscenter/common/newCommonView.do?newsId=62396
Wireshark <= 1.2.10 DLL Hijacking Exploit (airpcap.dll)
http://www.exploit-db.com/exploits/14721/
하나 둘 씩 익스플로잇이 공개되고 있습니다. 물론 전혀 새로운 기법은 아니지만, 생각해보니 웹하드 같은데서 공유되는 유틸리티 등에 심어놓으면 손쉽게 교묘히 감염시킬 수도 있겠네요. 이것 또한 기존에 사용되던 트릭으로 생각되긴 하지만.. 아무튼 악성코드만 늘어날듯.