DragonflyBSD: libc od teraz nie jest ładowane do obszaru pamięci bez praw uruchamiania

John Merino pracuje w DragonflyBSD nad zabezpieczeniami w libc. W ostatnim czasie dodał łatkę zapobiegającą uruchamiania kodu biblioteki standardowej C (libc), będącej fundamentalnym zbiorem funkcjonalności w przestrzeni użytkownika systemu uniksowego.

Jeden komentarz do “DragonflyBSD: libc od teraz nie jest ładowane do obszaru pamięci bez praw uruchamiania

  1. Kamil, koleś w tej łatce explicite pisze o „non-executable stack”. Tytuł w tym momencie wywołuje „WTF”, bo sugeruje, że kod biblioteki jest ładowany do obszaru pamięci bez praw uruchomienia, co oczywiście skutecznie uwaliłoby procesy w systemie, korzystające z libc (czyli bodaj wszystkie).

    Krótki komentarz: idea jest taka, aby obszar stosu nie miał praw wykonywania. W x86 każda strona pamięci też ma coś w rodzaju uprawnień „rwx”. Stos oczywiście powinien być rw, aby utrudnić exploitację błędów typu buffer overflow. Do czasu zacomitowania tej łatki stos miał uprawnienia RWX (albo jak to w Dragonfly napisali: RWE).

Skomentuj

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *