Bezpieczeństwo systemów komputerowych Kopiowanie kodu maszynowego komponenty ActiveX i moduły rozszerzające mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 W tym wykładzie: Kiedy dobre przeglądarki schodzą na złą drogę Moduły rozszerzające dla przeglądarek Netscape Zagrożenia wiążące się z kopiowaniem kodu Czy Authenticode jest dobrym rozwiązaniem? Zwiększanie bezpieczeństwa kopiowanego kodu Kiedy dobre przeglądarki schodzą na złą drogę Cel włamywaczy Celem włamywaczy komputerowych jest zazwyczaj uzyskanie możliwości uruchomienia dowolnego programu na komputerze użytkownika, bez wiedzy i aprobaty tego ostatniego. Sposób Nakłonić użytkownika do załadowania na swój komputer i wykonanie określonego programu Środki zaradcze? Badanie wszystkich kopiowanych programów i upewnienie się, czy nie zawierają one złośliwego kodu 1
Kiedy dobre przeglądarki schodzą na złą drogę! Card Shark (1996)! Przeglądarka pornograficzna Sexy Girls (1997) Moduły rozszerzające dla przeglądarek! aplikacje pomocnicze (helper( application)! plug-in Moduły rozszerzające dla przeglądarek! Pobranie modułu rozszerzającego z sieci! Ocena bezpieczeństwa modułu rozszerzającego! Moduł może zostać stworzony w złych intencjach i zniszczyć dane przechowywane w komputerze, jeśli tylko użytkownik będzie na tyle nieostrożny, aby go skopiować i uruchomić! Moduł może zostać stworzony w dobrej wierze, a następnie zmodyfikowany w taki sposób, aby wykonywał niebezpieczne czynności! Kod modułu może nie zawierać choćby jednej celowo niebezpiecznej instrukcji, może jednak znaleźć się w nim błąd, który ktoś inny może wykorzystać na szkodę użytkownika! Moduł może implementować język programowania ogólnego zastosowania, który może zostać wykorzystany przez napastników 2
! ActiveX! zbiór technologii, protokołów oraz programów stworzonych przez firmę Microsoft! przeznaczony do tworzenia kodu kopiowanego przez Internet! Kod umieszczany jest w specjalnym pliku (element sterujący) o rozszerzeniu OCX! ActiveX a moduły rozszerzenia! Elementy ActiveX udostępniają zazwyczaj nowe możliwości funkcjonalne w określonych obszarach stron WWW, natomiast moduły rozszerzające zwykle umożliwiają przeglądarce przetwarzanie nowych typów danych! Elementy ActiveX są pobierane i instalowane w sposób automatyczny, natomiast moduły rozszerzenia muszą być instalowane ręcznie! Elementy ActiveX mogą być podpisane cyfrowo za pomocą technologii Authenticode.! ActiveX elementy sterujące! Elementy sterujące ActiveX zawierające rodzimy kod maszynowy komputera, na którym są wykonane. Elementy te pisane są w takich językach programowania jak C, C++ lub VisualBasic. Ich tekst źródłowy jest kompilowany do postaci kodu maszynowego i wykonywany w komputerze użytkownika! Elementy sterujące ActiveX zawierające kod pośredni Javy. Elementy takie sterujące tworzone są w języku Java lub w innym języku programowania, który może być skompilowany do postaci kodu pośredniego Javy. Elementy sterujące tego typu są kopiowane i wykonywane przez wirtualną maszynę Javy wewnątrz przeglądarki. 3
Serwer WWW znacznik <OBJECT> Załadowanie programu Przeglądark a sprawdzanie podpisu cyfrowego Wykonanie program ActiveX ActiveX Przestrzeń adresowa przeglądarki! Elementy ActiveX rozprowadzane jako kod maszynowy Technologia Authenticode może zostać użyta do zdecydowania, czy kopiować kod elementu sterującego z WWW czy też nie. Podpisy tego typu sprawdzane są tylko i wyłącznie w sytuacji, gdy element sterujący ma być skopiowany z Internetu. Jeśli zostanie on umieszczony na dysku twardym komputera użytkownika, przyjmuje się, że można go bezpiecznie uruchomić.! Elementy ActiveX rozprowadzane jako kod pośredni Javy Również tutaj technologia Authenticode może zostać wykorzystana do podjęcia decyzji, czy kopiować kod elementu sterującego z WWW czy też nie. Zagrożenia wiążące się z kopiowaniem kodu! Programy które potrafią wydać Twoje pieniądze! Opłaty za połączenia telefoniczne! Przelewy elektroniczne! Programy naruszające prywatność i wykradające poufne informacje! programy podsłuchujące pakiety! programy samoreplikujące się! programy mające dostęp do urządzeń audio lub wideo! szpiegostwo przemysłowe 4
Czy Authenticod jest dobrym rozwiązaniem?! Kod podpisywany nie musi być kodem bezpiecznym! Dzienniki kontroli narażone są na ataki! Zniszczenia spowodowane przez element sterujący ActiveX mogą być wykryte dopiero po pewnym czasie! Authenticode nie ochrania użytkownika przed wirusami i błędami w oprogramowaniu! Podpisane elementy sterujące mogą być niebezpieczne w przypadku niepoprawnego użycia! Samo oprogramowanie Authenticode może zostać zaatakowane! Podpisany kod może być przechwycony podczas przesyłania! Rekonstrukcja przeprowadzenia ataku! Odtwarzanie szkód powstałych podczas ataku Zwiększenie bezpieczeństwa kopiowanego kodu! Zaufani partnerzy! Izolacja wykonywanego programu Dziękuję 5