Soru:
Kötü Amaçlı Yazılım Kancalama INT 1 ve INT 3
mrduclaw
2013-03-31 07:48:01 UTC
view on stackexchange narkive permalink

x86'da INT 1 'in tek adımlama için ve INT 3 kesme noktalarını ayarlamak için ve başka bir kesme (genellikle Linux için 0x80 ve Windows için 0x2E) sistem çağrıları için kullanılıyordu.

Bir kötü amaçlı yazılım parçası Kesme Açıklayıcı Tablosunu (IDT) bağlarsa ve sistem çağrısı benzeri işleyen kendi INT 1 ve INT 3 işleyicilerini değiştirirse işlevselliği, yürütmesini izlemek için bir hata ayıklayıcıyı nasıl kullanabilirim? Yoksa statik analiz araçlarını kullanmak zorunda mıyım?

Geçici bir çözüm, numuneyi yamalamak olabilir, böylece kancalar çıkarılır veya hata ayıklamayı engellemeyen kesintilere taşınır. Meraktan, Windows'ta bunu yapan herkese açık örnekler olup olmadığını biliyor musunuz?
Kod, sistem çağrısı benzeri işlevsellik için kancaları kullanmıyorsa, kancaları çıkarmak yeterince kolaydır. Onları başka bir kesmeye taşımak işe yaramalı gibi görünüyor. Şimdi sorun, kodun oldukça yoğun bir şekilde paketlenmiş olması, bu nedenle değişikliklerin can sıkıcı olmasıdır. : / Ve hayır, bildiğim halka açık örnek yok, üzgünüm.
Sadece emin olmak için, bu aynı zamanda çekirdek düzeyinde hata ayıklayıcıları da etkiler, değil mi?
Bu bir tür Hail Mary yaklaşımıdır, ancak bunu Linux'ta yapıyorsanız, çekirdeğinizi özel bir IDT ile yeniden derleyebilir ve hata ayıklayıcınızı yeni eşlemeyle yeniden oluşturabilirsiniz. Bu, muhtemelen sadece bu tür örneklerle sık sık karşılaşıyorsanız buna değecektir.
@amccormack:, ancak kötü amaçlı yazılım, bu kesinti vektörlerinde bulunan çekirdek işlevine dayanıyorsa, çalışmayı bırakmayacak mı? Çekirdek modifikasyonunu nasıl yaptığınıza çok dikkat etmeniz gerektiğini umuyorum ...
Bir cevap:
deroko
2013-03-31 18:33:58 UTC
view on stackexchange narkive permalink

Çatlaklardan birinde benzer bir sorun yaşadığım için bunu bir çözüm olarak http://accessroot.com/arteam/site/download.php?view.185 öneririm. SoftICE'ın int 3 ve int 1'in ring0 kancalarını atlaması için kendi kancalarımı yazdım. Probleminiz için faydalı olabilir. İlginç bölüm "SoftICE kurtarmaya geliyor".

Lütfen sadece buradaki bağlantıyı vermek yerine bağlantıdan ilgili bölümleri alıntılayın


Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...