3.2. Güvenli Dizayn Metodu

Güvenli programlamadan söz ederken hayata olabildiğince kötümser yaklaşıyoruz. Bu yüzden progralarımız olabildiğince sınırlıbir alanda çalışmalıdır ve hiçbir süreç kendi fonksiyonunu yerine getirmek için gerekli erişimden fazlasına sahip olmamalıdır.Önceden test edilmiş güvenilirliği tesbit edilmişbazıstandart kodlar kullanarak sık sık karşılaşılan bazıgüvenlik açıklarının önü alınabilir.

Unix ortamında çokça yapılan bir hata ;ortamın mantıklıhareket edeceğini var saymaktır. Oysa programlar asla kullanıcının vermişolduğu girdilere , sistem kaynaklarına , süreçlerarasıiletişime yada zamanlanmışgörevlere güvenmemelidir.Unix süreçleri aynıanda işlenmediğinden bazen komutların uygulanmasısizin beklediğiniz sıra ile gerçekleşmeye bilir.Komutlar nadir olarak atomik yapıya sahiptir.(Atomik yapı: Komut baştan sona kesilmeden işlenir.)