Logowanie poleceń shella

Michal Kochanowicz michal w michal.waw.pl
Śro, 24 Gru 2003, 22:52:01 CET


On Sun, Dec 21, 2003 at 06:28:30PM +0100, ZyTeK wrote:
> Wystaw gdzieś/dodaj bconda do kernela z tym czymś jak zrobisz. Respect.
http://cvs.michal.waw.pl/index.cgi/execlog/

Nie jest niestety różowo. Na kernelu 2.6 to nie działa i nie będzie
(przynajmniej w ten sposób). Ten moduł działa tak, że podmienia adres
wywołania systemowego, podstawiając własną procedurkę, która najpierw
loguje, a potem wywołuje oryginalną.

W 2.6 nie ma już dostępu do tablicy sys_call_table[1]. To niby ze
względów bezpieczeństwa, bo jakieś rootkity to wykorzystywały. Jednak z
tego co przeczytałem[2] wynika że to żadne zabezpieczenie, bo adres tej
tabeli można znaleźć i potem podmienić wywołanie syscall'a.

Tak naprawdę najprostszym rozwiązaniem w 2.6 o jakim wiem jest
modyfikacja kerenla, tak aby logował wywołania execve. Np. dodanie kilku
linijek z tego co umieściłem w execlog.c[3] do do_execve() w fs/exec.c.

Natomiast to co zrobiłem dla 2.4 nie zostało przetestowane, poprostu nie
mam żadnej maszyny na 2.4 na której mógłbym sobie teraz pozwolić na pad
kernela ;(

To co zrobiłem jest bardzo prymitywne --- jutro wybywam na prawie dwa
tygodnie z polandii i przez ostatnich parę dni kiepsko stałem z czasem.
Myśle jednak, że jeśli będziesz chciał zrobić z tego coś bardziej
użytecznego, nie będzie to wielkim problemem, w końcu od czego są źródła
;). BTW, trochę ciekawych informacji o portowaniu modułów 2.4 -> 2.6
jest na LWN[4].

Ja jak wrócę będę chciał dodać wyszukiwanie procesu parenta z innym UID.
Chodzi o sytuację kiedy ktoś działa jako root po np. su. Chciałbym
wiedzieć kto to.

[1] http://www.ussg.iu.edu/hypermail/linux/kernel/0305.0/0713.html
[2] https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=74902
[3] http://cvs.michal.waw.pl/index.cgi/execlog/execlog.c?rev=1.1&content-type=text/x-cvsweb-markup
[4] http://lwn.net/Articles/driver-porting/
-- 
--= Michal Kochanowicz =--==--==BOFH==--==--= michal w michal.waw.pl =--
--= finger me for PGP public key or visit http://michal.waw.pl/PGP =--
--==--==--==--==--==-- Vodka. Connecting people.--==--==--==--==--==--
A chodzenie po górach SSIE!!!



Więcej informacji o liście dyskusyjnej pld-users-pl