[Linux] Re: Guvenlik icin pratik cozum

---------

New Message Reply About this list Date view Thread view Subject view Author view

From: Deniz Akkus Kanca (deniz@arayan.com)
Date: Thu 21 Mar 2002 - 11:27:37 EET


Burak DAYIOGLU wrote:

> Ayni fikirde degilim. StackGuard, FormatGuard ve kullanimi goreli cok
> daha karmasik olan
> SubDomain'e goz atarsaniz bu ozelliklerin farkli ve hos oldugunu
> goreceksiniz.

FormatGuard: printf ve türevlerini bir makro ile yeniden tanımlayıp
cpp'den geçirerek derlemek ve bu şekilde printf'deki argüman sayısı
eşleşmezse olabilecek yığıt bozulmalarını engellemek.

StackGuard: gcc'in ürettiği yığıt işlevlerinden bir kaçını yeniden
tanımlayarak yığıtta ayrılmış hafızanın ötesine yazmayı engellemek.

Bunu yapma yöntemi de her işlev çağrısınden önce yığıta özel bir dizge
yazıp işlevden dönüldüğünde (stack pop edildiğinde..) bu dizgeyi kontrol
etmek. Eğer dizge değişmiş ise syslog'a uyarı düşüyor.

SubDomain: chroot'un temizlenmiş hali. Chroot ortamını ayrıca oluşturmak
yerine, chroot kapsamına girecek dosyaları bir conf dosyasında
belirtiyorsunuz. Chroot'un çalışmasına kolaylık getirmeyi hedefliyor.

Bunlar kötü şeyler değil. Eğer tutarsa ilk iki yöntemin gcc/cpp'ye
seçenek olarak dahil edilmelerini sağlamaları gerekir. Tabii ilk iki
yöntemde performans düşüklüğü söz konusu. Mevcut ve tadil edilmek
istenmeyen C yazılımları için uygun fakat bu hataları yapmayarak C
yazmak (veya bunlara izin vermeyen bir dil kullanmak) daha doğru. Üçüncü
yöntemde closed source'a gitmişler.

Fakat bunlara bu şekilde süslü ve yeni çığır açılmış intibaını uyandıran
isimler verilmesi, vakti zamanında memory allocate edip free
edilmemesinden kaynaklanan problemleri (legacy yazılımlar vardı
elimizde, milyon satır boyutunda..) aşabilmek için çok
kullanılan/bilinen bir yöntem olan malloc ve free'nin bir macro ile
yeniden tanımlanması yöntemini uygulayıp bu şekilde yazılımı tadil
ettikten kısa zaman sonra Purify ürününün (esasen aynı şeyi yapar..) bir
ürün olarak piyasaya sürülmesine şaşırmamı hatırlattı...

Gerçi hakkını vermek lazım, adamlar epey sattı...

Esen kalın,
Deniz

-----------------------------------------------------------------------
Liste üyeliğiniz ile ilgili her türlü işlem için
http://liste.linux.org.tr adresindeki web arayüzünü kullanabilirsiniz.

Listeden çıkmak için: 'linux-request@linux.org.tr' adresine,
"Konu" kısmında "unsubscribe" yazan bir e-posta gönderiniz.
-----------------------------------------------------------------------


New Message Reply About this list Date view Thread view Subject view Author view

---------

Bu arsiv hypermail 2b29 tarafindan uretilmistir.