2012-10-16 30 views
8

Bir kullanıcı oturumuna kilitlenen ve her bir sistem çağrısını o kullanıcıya ait işlemler tarafından izlenen sıfırdan bir çekirdek modülü oluşturmak istiyorum.Sistem izlerini izlemek için çekirdek modülü?

Herkesin ne düşündüğünü biliyorum - "strace kullanın" - ama topladığım verilerle kendi kayıt ve analizlerimden bazılarını almak istiyorum ve strace bazı sorunlar içeriyor - bir uygulama "mmap" özelliğini kullanabilir bir "açık" sistem çağrısının argümanları olarak görünen dosya içerikleri olmadan bir dosyaya yazmak veya herhangi bir yazma izni olmadan bir uygulama hassas verileri kopyalamak için coredumps oluşturabilirsiniz.

Bu özel durumları ele alabilmek ve kendi günlüklerimi gerçekleştirebilmek istiyorum. Yine de merak ediyorum - tüm syscall'ları modülümden nasıl yönlendirebilirim? Çekirdek koduna dokunmadan bunu yapmanın bir yolu var mı?

Teşekkür

+1

'ptrace' syscall'ını kullanmalısınız (aslında' strace' ve 'gdb' tarafından kullanılır). İyi şanslar, biraz ihtiyacın olacak. Ancak muhtemelen herhangi bir çekirdek modülünü kodlamanız gerekmez, sadece 'ptrace' kullanarak büyük bir uygulama geliştirmek için. –

cevap

2

sistem çağrı tablosunu yamalamak için bir çekirdek modülünü kullanarak geçmişte benzer bir şey yaptık. Eğer çekirdek veri yapılarında mucking başladığınızda, sizin modül versiyonu bağımlı hale gelmesi

patchFunction(/*params*/) 
{ 
    // pre checks 
    ret = origFunction(/*params*/); 
    // post checks 
    return ret; 
} 

Not: Her yamalı fonksiyonu aşağıdaki gibi bir şey yaptı. Çekirdek modülünün, yüklediğiniz belirli çekirdek sürümü için derlenmesi gerekecektir.

Ayrıca, bu, birçok rootkit tarafından kullanılan bir tekniktir, bu yüzden eğer güvenlik yazılımı yüklüyse, böyle bir şey yapmanıza engel olabilir.

+0

Bu kesinlikle doğru yönde idi. https://bbs.archlinux.org/viewtopic.php?id=139406 bulabildiğim en iyi rehber oldu. Etrafımdaki bazı boşluklar ile HERHANGİ BİR Syscall'ı ele geçirebileceğim yere vardım. Yardım için teşekkürler! – PinkElephantsOnParade

İlgili konular