OE PowerTool a blokada ładowania plików DLL


2010-10-14

Jak być może niektórzy wiedzą, w systemie Windows istnieje pewna luka w bezpieczeństwie, związana z ładowaniem bibliotek DLL. Jest to może nieraz nawet bardziej problem aplikacji niż samego systemu, niemniej jest związany z Windows. Chodzi mianowicie o sposób odnajdywania na dysku pliku DLL w momencie gdy program chce go załadować. W pewnych sytuacjach przeszukiwany jest katalog roboczy aplikacji. Katalog ten wcale nie musi być tożsamy z katalogiem w którym jest plik EXE, co więcej, może się zmieniać w trakcie działania programu. Często programy zmieniają katalog roboczy na ten, z którego otwierają jakieś pliki wskazane przez użytkownika. Katalogiem roboczym może się więc stać np. udział sieciowy. Atakujący może to wykorzystać umieszczając w tym udziale plik DLL o takiej nazwie jak ten, który będzie chciała załadować aplikacja. W ten sposób może zostać załadowana biblioteka podstawiona przez atakującego.

Aby pomóc użytkownikom radzić sobie z tym problemem, Microsoft wydał aktualizację, która pozwala ściśle kontrolować sposób ładowania plików DLL. Okazuje się, że jeśli zostanie ustawiony najbardziej restrykcyjny poziom, program OE PowerTool nie będzie się mógł uruchomić. Związane jest to z tym, że OEPT zmienia swój katalog roboczy na katalog Outlook Express i próbuje załadować bibliotekę msoe.dll. Trzeba więc zrobić wyjątek dla pliku OE_PowerTool.exe. Jest to dosyć proste i zostało szczegółowo omówione w artykule Udostępniono nowy wpis rejestru CWDIllegalInDllSearch do sterowania algorytmem ścieżki wyszukiwania plików DLL (KB2264107).

O problemie z ładowaniem plików DLL pisałem szerzej w vortalu dobreprogramy, w newsach Nowa luka w Windows - na ile groźna? oraz Co dalej z luką w ładowaniu plików DLL?.

Copyright(C) Grzegorz Niemirowski 2006-2012