Co to jest biblioteka linków dynamicznych?
Biblioteka linków dynamicznych to system używany przez firmę Microsoft w celu umożliwienia wielu aplikacjom dostępu do tej samej sekcji kodu w systemie Windows® jednocześnie. Jest to jeden z kluczy do skutecznego działania wielozadaniowości. W 2010 r. Badacze bezpieczeństwa odkryli, że hakerzy mogą wykorzystać lukę w działaniu systemu biblioteki linków dynamicznych. Doprowadziło to do dylematu, jak to naprawić bez wpływu na użyteczność aplikacji.
Aby zrozumieć sposób działania biblioteki łączy dynamicznych, ważne jest zrozumienie różnicy między Windows® a aplikacjami. Windows® to system operacyjny, który istnieje głównie w celu koordynacji sposobu, w jaki poszczególne aplikacje, zwane także programami, uzyskują dostęp do możliwości przetwarzania komputera. Sam system Windows® jest ostatecznie zbiorem kodów komputerowych, które skutecznie działają jako zestaw instrukcji lub przewodnik po tym, jak aplikacje współdziałają ze sobą i ze sprzętem.
Biblioteka linków dynamicznych to system, za pomocą którego aplikacje mogą uzyskiwać dostęp i uruchamiać poszczególne sekcje kodu Windows®. Jednym z przykładów może być sekcja systemu Windows® odpowiedzialna za drukowanie dokumentów. Większość aplikacji musi w pewnym momencie uzyskać dostęp do tej funkcji, ale jeśli każda aplikacja załaduje odpowiedni kod do pamięci komputera, gdy tylko aplikacja zacznie działać, byłoby to nieefektywne wykorzystanie zasobów i może powodować konflikty.
Aby rozwiązać ten problem, kod systemu Windows® dla określonej funkcji, w tym przypadku drukowania, jest przechowywany jako mały program znany jako biblioteka linków dynamicznych lub plik DLL. Jeśli użytkownik uruchomi aplikację taką jak edytor tekstu, plik ten nie zostanie automatycznie otwarty. Zamiast tego edytor tekstu otwiera się i aktywuje plik tylko wtedy, gdy jest potrzebny, w tym przypadku, gdy użytkownik chce wydrukować dokument.
Historycznie wielu programistów aplikacji po prostu napisało kod, który powiedział, jak nazywa się nazwa odpowiedniej biblioteki linków dynamicznych, zamiast określać dokładnie, gdzie powinna się ona znajdować na komputerze. Aby obejść ten problem, system Windows® ma ustawiony system lokalizowania brakujących plików DLL, przeszukując ustawioną listę lokalizacji w określonej kolejności. Chociaż teoretycznie można to wykorzystać, jeśli złośliwy plik zamaskowany jako plik DLL zostanie umieszczony we właściwym miejscu, a tym samym znaleziony i otwarty przed prawidłowym plikiem, nie było to uważane za poważne zagrożenie bezpieczeństwa, ponieważ hakerzy potrzebowaliby fizycznego dostępu do komputera, aby uzyskać złośliwy plik na miejscu.
W 2010 r. Odkryto, że hakerzy teoretycznie mogą wprowadzać takie pliki za pośrednictwem połączenia zdalnego, to znaczy przez Internet. Oznaczało to, że dziesiątki aplikacji Windows® były podatne na ataki przy użyciu tej metody. Społeczność zajmująca się bezpieczeństwem była podzielona co do tego, czy lepiej było przepisać poszczególne aplikacje, aby określić lokalizację legalnego pliku DLL, który polegał na podejmowaniu działań przez każdego programistę, czy też Microsoft mógł zmienić sposób, w jaki Windows® radzi sobie z takimi plikami, co może potencjalnie spowodować, że aplikacje przestaną działać poprawnie.