OpenBSD'deki koruma sayfalarının durumu nasıl etkinleştirilir ve kontrol edilir?


0

G “Bekçi”. Koruma sayfalarını etkinleştirin. Her sayfa boyutu veya daha büyük tahsisi, herhangi bir erişimde segmentasyon hatasına neden olacak bir koruyucu sayfa izler.

Koruma sayfalarının bir OpenBSD kurulumunu sertleştirmesini nasıl sağlayabilirim?

Ayrıca, malloc ayarlarının şu anki durumunu nasıl kontrol edebilirim?

Gelen http://man.openbsd.org/malloc.conf.5 Görebildiğim:

Önbellek sistem çapında bir küçültmeyi varsayılan boyutun dörtte birine ayarlayın ve koruyucu sayfalar kullanın:

# ln -s 'G<<' /etc/malloc.conf

Bu muhtemelen güvenlik sayfalarını etkinleştirdi, ancak "<<" ve "önbelleğin varsayılan boyutun dörtte birine azaltılması" nedir.

Ben sadece malloc.conf için en güvenli ayar olan afaik güvenlik sayfalarını etkinleştirmek istiyorum.


Yıllar önce, bu, Bruce Perens tarafından ElectricFence adlı bir kütüphanede, mmap'lı herhangi bir sistemde yedek malloc olarak kullanabileceğiniz bir kitapla yapıldı. Asla bir sayfayı serbest bırakma ve zaman aşımlarını daha iyi algılamaya başlamak yerine, sayfanın sonu ile tahsisleri hizalama çalışma zamanı seçenekleri vardı
Kaz

güncelleme: yolu yoktur, kontrol etmek için kendi kodunuzu yazabilirsiniz :)
Peter84753

Yanıtlar:


2

Bağladığınız man sayfasından alıntılar:

 G       ``Guard''.  Enable guard pages.  Each page size or larger
         allocation is followed by a guard page that will cause a
         segmentation fault upon any access.

 <       ``Half the cache size''.  Decrease the size of the free page
         cache by a factor of two.

 The default number of free pages cached is 64.

Bu nedenle, oluşturduğunuz sembolik bağlantı /etc/malloc.confkoruma sayfasını etkinleştirir ve önbellek boyutunu muhtemelen 4 ile 64 sayfadan 16 sayfaya düşürür.

Koruma sayfalarını önbellek boyutunu değiştirmeden etkinleştirmek istiyorsanız,

# ln -s G /etc/malloc.conf

Neden önbellek boyutunu değiştiriyorlar? güvenlik konusunda yardımcı olur mu? Teşekkürler!!
Peter84753

bu yüzden man sayfalarında bunu kaçırdım, teşekkürler ama malloc conf'ın durumunu nasıl öğrenebilirim? sadece test ederek? ne ile? paxtest?
Peter84753

kullanmak ls -l /etc/malloc.confMevcut ayarı görmek veya rm /etc/malloc.confkaldırmak için. Davranışı doğrulamak için , muhtemelen çeşitli büyüklükteki blokları malloc etmek ve geri gönderilen bloğun ötesindeki çeşitli ofsetlerde okumak / yazmak için hızlı ve kirli bir test yazardım.
user4556274
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.