Linux Kernel Fonksiyonlarını 'Hook'lamak

0
anonim
Linux çekirdeğindeki bir fonksiyonun işleyişini ona zarar vermeden değiştirmek istediğimizi düşünelim. Kaynak kodları değiştirir tekrar derleriz ancak bu yazıda daha farklı bir yöntem izleyecegiz ve hafızadaki kernel'a tamamen geçici bir yama yapacağız.

Bunu, 90ların başlarında MS-DOS virüslerinin çok sevdiği bir tekniği Linux'a uyarlayarak gerçekleştireceğiz.

Hooklamak istediğimiz fonksiyonun başına jmp hook instruction'ını yazdığımızı düşünelim. Gelen her çağrı bize yönlendirilecektir fakat üzerine yazdığımız bölgeyi kullanılamaz hale getirmiş oluruz. Üzerine yazdığımız bölüm kadar yeri yedekleyelebiliriz.

Linux çekirdeğinde 'kernel export'ları nasıl 'hook'lanacağı üzerine olan bu yazıyı ve ilgili kaynak kodları http://blog.int6.net/media/kit.tar.gz adresinden edinebilirsiniz.

Görüşler

0
auselen
Ben de strace'in reklamını yapayım.

Daha önce kullanmayanlar için kısa açıklama; linux'ta sistem çağrılarını gözlemlemenizi sağlayan bir program.

Örneğin komut satırında "strace ls" derseniz, ls komutun hangi sistem komutlarını çağırdığını görürsünüz.

Bundan da güzeli, sistemin bu uygulamayı çalıştırmadan önce neler yaptığını, mesela hangi sistem kitaplıklarını açtığını görürsünüz.

Sistemde çalışmayan bir uygulama olduğunda oldukça yararlı olduğunu söyleyebilirim.

http://en.wikipedia.org/wiki/Strace
http://sourceforge.net/projects/strace
0
Tarık
reklama ne hacet, tepe tepe kullanıyoruz. bende bir bağlantı atayım da tam olsun :) ayrıca aynı yerden şunu da yiyebilmekteyiz.
0
Tarık
ayrıca hdd ye indirilip yazıcı çıktısı alınası...
0
FZ
Bu tür yazıların devamını bekliyoruz ;-)
0
realist
Tüm FM yazıları böyle olsun, beni aşsın, afallatsın. Nasıl yapıldığını anlamam için cilt cilt okumam gereksin.
0
FZ
Ve sonra FM sadece tek bir konu üzerinde 100 cilt kitap okuyup 15 yıldır çalışan birkaç uzmanın uğrak noktası olsun diğer herkes seyirci kalsın ve bir süre sonra onlar da sıkılıp, pek bir şey anlamayıp gitsinler :-p
0
mos
ben de bu bakış aşısından yanayım :)
0
anonim
Ben anladım sanırsam.

önce o büyük düğmeye basıyoduk deilmi?...
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Linux 2.6´nın Harika Dünyası

FZ

Linux çekirdeği 1991 yılında Finlandiya´lı Linus Torvalds tarafından yüksek lisans projesi olarak başlatılmış, Minix benzeri bir işletimi sisteminin 80386 işlemcili PC´ler üzerinde çalışması hedeflenmişti. Linus´un bu proje için aklına gelen ilk isim Freax idi ve neyse ki bundan çok kısa sürede vazgeçti. Çekirdeğin ilk kararlı sürümü olan Linux 1.0, Mart 1994´te dünya kamuoyuna açık kodlu ve bedelsiz olarak sunuldu. O sırada resmen sadece i386 mimarisini ve tek işlemcili makinaları destekliyordu.

Sene 2003, yaklaşık 9 yıl sonra Linux 2.6 binlerce gönüllü ve çalışkan yazılım ve donanım uzmanının çabaları sonucunda yine kamuoyuna sunulmak üzere.

Kernel 2.4.24 Çıktı

bahadirkandemir

Kernel'in bellek yönetim kodunda, mremap(2) sistem çağrısındaki hatalı sınır kontrolünden kaynaklanan bir güvenlik zayıflığı bulundu.

mremap sistem çağrısı, sanal bellek alanlarının adreslenebilir boşluklarını taşımak ve boyutlarını değiştirme imkanı sağlıyor.

Duyurunun tamamı: http://isec.pl/vulnerabilities/isec-0013-mremap.txt

Yeni bir linux dağıtımı : MagmaLinux 9.3

ccvural

Linux kurmak normal bilgisayar kullanıcıları için daima korkulan bir şey olmuştur. MagmaLinux bu soruna çözüm bulmayı hedefliyor. Kurulum son derece basitleştirilmiş.

Linux 'a geçmek isteyen bormal bilgisayar kullanıcılarının zorlandığı bir başka konu ise hangi paket/programları kuracağı. Magma , uzman olmayanların paket seçme sorununa da çözüm getirmeyi hedefliyor.

Daha detaylı bilgi için http://www.magmalinux.org

Linux 2.6.0-test10 Sürümü Çıktı

FZ

Linux´un yaratıcısı Linus Torvalds test aşamasının sonuna doğru yaklaşırken yeni çekirdek sürümü 2.6.0-test10´ı duyurdu.

Çekirdeğin bu hali kısa süre sonra Andrew Morton´a emanet edilecek ve Morton, Linux 2.6.0´ın çıkarılması için son ayarlamaları yapacak.

Teknolojinin uç noktalarında gezinen penguenin yeniliklerle dolu ve heyecanla beklenen bu sürümünün çıkmasına çok az kaldı, geriye saymaya başlayın. (Bu arada 2.6.0-test9´u deneyen değerli FM üyeleri hissedilebilir farkları, değişiklikleri, deneyimlerini, vs. bizimle paylaşırlarsa seviniriz)

Pardus Projesi Tatilde!

cuneytturanli

http://liste.uludag.org.tr/duyuru/2007-July/000060.html adresinde aşağıdaki şekilde belirtildiği üzere Pardus projesi tatile çıkmış. Bu süreç içerisinde projedeki kimsenin proje ile ilgilenmeyeceğine dair olarak şunlar yazılmış.

Selamlar;
Bağlı olduğumuz enstitü UEKAE, işlerin düzgün programlanabilmesi için ara verilemeyecek durumda olmayan tüm projeler için toplu izin tercih ediyor ve bu haftadan başlayarak üç hafta boyunca kapalı olacak.
Ara sıra uğrarsak şaşırmayın, artık bu bir sır değil, hepimiz deliyiz; ama resmi olarak 13 Ağustos'a kadar e-posta listelerinden, hata takip sisteminden uzakta günler geçireceğiz... Bu süre içinde kişisel e-postalarımızı okumamak/yanıtlamamak da büyük bir olasılık :-)

Ağustos'ta görüşmek üzere...


Tübitak destekli büyük kurumların kullandığı proje tatilde. Peki büyük kurumlar nasıl güvenecek o zaman bu projeye? Pardus tatilde ise ciddiyet nerede?