Przejdź do zawartości

Libsafe

Z Wikipedii, wolnej encyklopedii

Libsafe to biblioteka powstała jako projekt Avaya Labs.

Biblioteka przeznaczona jest dla systemów linuksowych (dostępna jest na zasadach licencji GNU GPL). Jej wykorzystanie umożliwia wykrywanie i radzenie sobie z atakami przepełnienia bufora oraz tymi wykorzystującymi ciągi formatujące (które obecnie są najczęściej stosowanymi technikami). Dołączana jest do programów w sposób dynamiczny, dzięki czemu nie jest wymagana modyfikacja żadnych istniejących plików binarnych (biblioteka nie obsługuje programów linkowanych ze starsza wersja libc5). Zastosowana w libsafe metoda działa w sposób w pełni transparentny dla aplikacji. Biblioteka przechwytuje wywołania funkcji, które powszechnie uznawane są za niebezpieczne [jak np. funkcja strcpy() – która nie sprawdza długości przekazywanych jej argumentów, przez co możliwe jest skopiowanie do tablicy większej ilości znaków, niż ta może pomieścić]. Po przechwyceniu wywołania, biblioteka sprawdza, czy wykonanie funkcji nie doprowadzi do przepełnienia bufora, lub innej niebezpiecznej sytuacji. Jeśli libsafe wykryje taka próbę, aplikacja jest zabijana.

Sposób użycia[edytuj | edytuj kod]

Kompilacja biblioteki sprowadza się zwykle do wykonania polecenia "make". Po umieszczeniu pliku wynikowego w katalogu /lib [np. jako /lib/libsafe.so.2], należy zmodyfikować plik /etc/ld.so.preload i umieścić w nim pełną ścieżkę do libsafe. Od tej chwili każdy uruchamiany program, będzie chroniony przez bibliotekę.

Podsumowanie[edytuj | edytuj kod]

Użycie libsafe nie może zostać uznane za panaceum na wszystkie możliwe metody ataku. Dobrze jednak, aby był to jeden z pierścieni zabezpieczeń.

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]