Generalnie tak jak mowisz... Mozesz przez jakis buffer overflow, format string albo dowolny inny sposob ktory dziala na aplikacje, ktora zostaje uruchomiona z prawami root'a.
Raz jeden z programistow wyslal do repozytorium gdzie pracuja nad jadrem linuxa swoje kawalki kodu, ktore cos tam mialy robic... ale bylo tam napisane (nie pamietam dokladnie calosci):
Kod:
if ((<seria flag>) and (UID=0)) {
# wykonaj jakis kod
}
Doskonale, co? Jesli ustawiono odpowiednie flagi i udalo sie USTAWIC UID na 0 (root) to wykonaj cos tam... Pierwsza osoba, ktora robila przeglad kodu to puscila, dropiero drugi czlowiek to zlapal... Wyobraz sobie co by bylo jakby to poszlo do mainstream kernela - hohooo strach sie bac! Poza tym nie byl to przypadek bo kolesia juz nie odnaleziono... lipne maile, zacierane slady itd.
Ataki na kernel tzn jako rootkit'y rozumiem... to w zasadzie nie kwestia samego ataku ale juz ukrycia swojej obecnosci. Rootkit na poziomie aplikacji, kernela lub nawet mikrokodu (w chipsecie np. karty graficznej). Najczesciej jednak aby zainstalowac rootkit'a trzeba juz miec prawa root'a.
Nie jest to dokladny opis sytuacji i nie obejmuje wszystkich wariantow bo nawet nie powiem ze wszystkie znam :-) To tak mniej wiecej w 'telegraficznym skrocie'.