Co to jest biblioteka linków dynamicznych?

Biblioteka łączy dynamicznych to system używany przez firmę Microsoft, który umożliwia wielu aplikacjom dostęp do tej samej sekcji kodu w systemie Windows® w tym samym czasie. To jeden z kluczy do efektywnej pracy wielozadaniowej. W 2010 roku badacze bezpieczeństwa odkryli, że luka w sposobie działania systemu biblioteki dołączanej dynamicznie może zostać wykorzystana przez hakerów. Doprowadziło to do dylematu, jak to naprawić bez wpływu na użyteczność aplikacji.

Aby zrozumieć sposób działania biblioteki dołączanej dynamicznie, ważne jest zrozumienie różnicy między systemem Windows® a aplikacjami. Windows® to system operacyjny, który istnieje głównie po to, aby koordynować sposób, w jaki poszczególne aplikacje, zwane również programami, uzyskują dostęp do możliwości przetwarzania komputera. Sam system Windows® jest ostatecznie zestawem kodów komputerowych, które skutecznie działają jako podręcznik lub przewodnik dotyczący interakcji aplikacji ze sobą i ze sprzętem.

Biblioteka łączy dynamicznych to system, za pomocą którego aplikacje mogą uzyskiwać dostęp i uruchamiać poszczególne sekcje kodu systemu Windows®. Przykładem może być sekcja Windows® odpowiedzialna za drukowanie dokumentów. Większość aplikacji musi w pewnym momencie uzyskać dostęp do tej funkcji, ale gdyby każda aplikacja załadowała odpowiedni kod do pamięci komputera, gdy tylko aplikacja zaczęła działać, byłoby to nieefektywne wykorzystanie zasobów i mogłoby powodować konflikty.

Aby rozwiązać ten problem, kod Windows® dla określonej funkcji, w tym przypadku drukowania, jest przechowywany jako mały program znany jako biblioteka dołączana dynamicznie lub plik DLL. Jeśli użytkownik uruchomi aplikację, taką jak edytor tekstu, ten plik nie zostanie automatycznie otwarty. Zamiast tego edytor tekstu otwiera i aktywuje plik tylko wtedy, gdy jest to potrzebne, w tym przypadku, gdy użytkownik chce wydrukować dokument.

W przeszłości wielu programistów aplikacji po prostu pisało kod, który określał nazwę odpowiedniej biblioteki dołączanej dynamicznie, zamiast określać dokładnie, gdzie powinna się ona znajdować na komputerze. Aby obejść ten problem, system Windows® ma ustawiony system do lokalizowania brakujących plików DLL, przeszukując ustaloną listę lokalizacji w określonej kolejności. Chociaż teoretycznie mogłoby to zostać wykorzystane, gdyby złośliwy plik zamaskowany jako plik DLL został umieszczony we właściwym miejscu, a tym samym znaleziony i otwarty przed prawidłowym plikiem, nie uznano tego za poważne zagrożenie bezpieczeństwa, ponieważ hakerzy potrzebowaliby fizycznego dostępu do komputera, aby uzyskać dostęp do złośliwy plik na miejscu.

W 2010 roku odkryto, że hakerzy mogą teoretycznie uzyskać takie pliki za pośrednictwem połączenia zdalnego, czyli przez Internet. Oznaczało to, że dziesiątki aplikacji systemu Windows® były podatne na ataki przy użyciu tej metody. Społeczność ds. bezpieczeństwa była podzielona co do tego, czy lepiej byłoby, gdyby poszczególne aplikacje zostały przepisane w celu określenia lokalizacji legalnego pliku DLL, który polegał na podejmowaniu działań przez każdego programistę, czy też, aby firma Microsoft zmieniła sposób, w jaki system Windows® radzi sobie z takimi plikami, co może potencjalnie spowodować, że aplikacje przestaną działać poprawnie.