CET & Shadow Stack

HackTricks'i Destekleyin

Kontrol Akışı Uygulama Teknolojisi (CET)

CET, yaygın kontrol akışı ele geçirme saldırılarını engellemek amacıyla donanım düzeyinde uygulanan bir güvenlik özelliğidir. Bu tür saldırılar, Return-Oriented Programming (ROP) ve Jump-Oriented Programming (JOP) gibi yaygın kontrol akışı ele geçirme saldırılarını engellemek için tasarlanmıştır. Bu tür saldırılar, bir programın yürütme akışını manipüle ederek kötü amaçlı kodu yürütmek veya zararsız kod parçalarını bir araya getirerek kötü amaçlı bir eylem gerçekleştirmek için kullanılır.

CET, Dolaylı Dalga İzleme (IBT) ve Shadow Stack olmak üzere iki ana özellik tanıtır.

  • IBT, dolaylı sıçramaların ve çağrıların geçerli hedeflere yapıldığından emin olur. Dolaylı dallanmalar için geçerli hedefler olarak açıkça işaretlenen bir yeni komut seti kullanılarak bu sağlanır, böylece saldırganların kontrol akışını keyfi konumlara yönlendirmesini engeller.

  • Shadow Stack, dönüş adresleri için bütünlük sağlayan bir mekanizmadır. Dönüş adreslerinin güvenli, gizli bir kopyasını düzenli çağrı yığınından ayrı olarak tutar. Bir işlev döndüğünde, dönüş adresi shadow stack ile karşılaştırılarak doğrulanır, bu da saldırganların kontrol akışını ele geçirmek için yığında dönüş adreslerini üzerine yazmasını engeller.

Shadow Stack

Shadow stack, yalnızca dönüş adreslerini depolamak için kullanılan özel bir yığıntır. Normal yığınla birlikte çalışır ancak normal program yürütmesinden korunur ve gizlidir, bu da saldırganların müdahale etmesini zorlaştırır. Shadow stack'in temel amacı, dönüş adreslerinde yapılan herhangi bir değişikliğin kullanılmadan önce tespit edilmesini sağlamaktır, bu da ROP saldırılarını etkili bir şekilde azaltır.

CET ve Shadow Stack Nasıl Saldırıları Önler

ROP ve JOP saldırıları, bir uygulamanın kontrol akışını ele geçirme yeteneğine dayanır ve onlara, yığında işaretçileri veya dönüş adreslerini üzerine yazmalarına izin veren zayıflıkları kullanarak kötü amaçlı kodları yürütmelerini sağlar. Varolan kod parçaları veya return-oriented programming parçaları üzerine yönlendirerek saldırganlar keyfi kodları yürütebilirler.

  • CET'in IBT özelliği, dolaylı dallanmaların yalnızca açıkça geçerli hedeflere sıçramasını sağlayarak bu saldırıları önemli ölçüde zorlaştırır. Bu, saldırganların ikili dosya üzerine yayılmış keyfi parçaları yürütmesini imkansız hale getirir.

  • Shadow stack ise, saldırganın normal yığında bir dönüş adresini üzerine yazabilse bile, bir işlevden dönerken bozulmuş adresi shadow stack'te saklanan güvenli kopya ile karşılaştırıldığında uyumsuzluk tespit edilecektir. Adresler eşleşmiyorsa, program saldırının başarısız olmasını önlemek için sonlandırılabilir veya diğer güvenlik önlemleri alınabilir.

HackTricks'i Destekleyin

Last updated