Libsafe
Z Wikipedii
Libsafe jest biblioteką powstałą 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 fomatują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.
Spis treści |
[edytuj] Sposób użycia
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ędzię chroniony przez bibliotekę.
[edytuj] Podsumowanie
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ń.