Poprzedni ::
Spis treści ::
Następny
4. PaX a błąd przepełnienia bufora
4. PaX a błąd przepełnienia bufora
PaX nie jest nakładką, która ma wykrywać i zapobiegać samemu wystąpieniu błędu
przepełnienia bufora. Jego głównym celem jest ochrona przed tym, co może nastąpić,
gdy taki błąd już wystąpi. Najczęstszym sposobem wykorzystania omawianego błędu jest
zmuszenie atakowanego komputera do wykonywania podstawionego kodu (i uzyskanie np.
dostępu do systemu na prawach administratora).
Przeanalizujmy sposoby, na które intruz może próbować podstawić jakiś "obcy" kod i jak radzi sobie z tym PaX :
- podmiana kodu znajdującego się już w pamięci - ta operacja wymaga możliwości zapisu do obszarów pamięci
w których znajduje się kod programu. Ustawienia dostępu do pamięci utrzymywane przez PaX gwarantują jednak, że
pamięć wykonywalna nie może mieć jednocześnie statusu pamięci zapisywalnej, a więc taka podmiana kodu się nie uda.
- nadpisać dane w pamięci, a następnie potraktować je jak kod do wykonania - w tym przypadku samo wstawienie kodu
się powiedzie, PaX natomiast zareaguje w momencie próby jego wykonania. Dane (czyli pamięć z uprawnieniami do zapisu)
nie może być źródłem kodu wykonywalnego.
- załadować nowy kod do pamięci - ta operacja wymaga dostępu do plików,
ale również z nią PaX radzi sobie przy pomocy odpowiednich ustawień dostępu.
Poprzedni ::
Spis treści ::
Następny