Güvenli Yazılım Geliştirme ve Yazılım Güvenliği Ders-3

Güvenli Yazılım Geliştirme İlkeleri

Güvenli yazılım geliştirme ilkeleri, güvenli bir yazılım geliştirmek için yazılım geliştirme sürecinin her aşamasında dikkat edilmesi gereken hususları içerir.

Yazılım tasarımı güvenilmeyen kaynak odaklo olmalıdır.

Güvenli yazılım geliştirme sürecinde, yazılım geliştiren her yazılımcının güvenlik kılavuzuna ihtiyacı varıdr.

Gizlilik, bütünlük ve kullanılabilirlik gibi temel güvenlik ilkelerinin uygulaması ne kadar sıkı tutulursa geliştirilen yazılımın da güvenlik zafiyetleri o kadar ortadan kalkmış olur.

Saldırılar sonucunda oluşabiecek tahribatların seviyesi saldırgana ve saldırı türüne göre değişmektedir.

Saldırganlar ve saldırı kaynakları şu şekilde gruplanabilir:

  • İstemsiz(Şikayetçi) personel ve geliştiriciler
  • Virüsler; yerel ağ ve genel ağ üzerinden saldıran virüsler
  • Organize saldırılar
  • Kötü niyetli saldırganların saldırıları
  • Kötü niyetli kod saldırıları

Bilgi güvenliğinin; güvenlik boyutunda istenilen bilgi güvenliğini sağlayabilmesi için üç temel ilkesi vardır. Bunlar;

1- Gizlilik

Yazılımın kullanımında ve verilere erişimde sadece belirli kullanıcılara belirli yetkilerin verilmesi, bilginin yetkisiz kişilerin eline geçmemesini ifade eder.

2- Bütünlük

Bilginin yetkisiz kişilerce ele geçiriklmesi, değiştirilmesi, silinmesi veya herhangi bir şekilde tahribata uğraması bütünlüğü ifade edilir. Bilgide farklılaşma olması.

3- Kullanılabilirlik

Bilginin ihtiyaç duyulduğunda yetkili kişilerce ulaşılabilir ve kullanılabilir durumda olmasıdır. Bu ilketye göre kullanıcıların istedikleri zaman yetkili oldukları verilere ulaşabilmesi gerekir.

Güvenli yazılım ilkeleri, güvenli yazılım geliştirme süreçlerine odaklanmış ve bu konuda çalışan bir çok kurum ve kuruluşlar tarafından farklı standartlar, modeller ve yaklaşımlar dahilinde oluşturulmakta ve uygulanmaktadır.

  • Türkiye’nin de üyesi olduğu OWASP’a göre güvenli yazılım ilkeleri, sürekli güncellenmekte ve her sürümde önceki sürümlerde ele alınan güvenli yazılım geliştirme ilkeleri gözden geçirilerek güncellenmektedir.
  • Güvenli yazılım ilkeleri geliştirilirken, teknik unsurlar yanında kullanıcı yani insan unsuru da dikkate alınmalıdır.
  • Son on yılda güvenlik zafiyetlerinin oluşmasında insan unsuru ve oluşan zafiyetler nedeniyle bir çok saldırı tespit edilmiştir.

OWASP tarafından hazırlanan OWASP Development Guide güvenli yazılım ilkeleri şu başlıklar altında toplanmıştır.

  • Saldırı yüzeyini azaltmak

Gereksiz portları kapatmak – Db’yi dışarı açmamak veya belirli IP numaralarına erişim vermek.

  • Güvenliği varsayılan olarak belirtmek

Yazılımda fonksşyonelliğe önem verildiği kadar yazılımda güvenliğede önem verilmesi gerekmektedir.

  • En az imtiyaz ilkesi sağlamak

İhtiyaçtan fazla yetkilendirme-erişim verilmemelidir. Örneğğin çalıştırılabilir dosyalara erişimin kısıtlanması gbi.

  • Güvenlik için belirsizlikten kaçınmak

Denetimle ilgili birçok faktörden faydalanılmalıdır.

  • Basit güvenlik mekanizması tasarlamak

Mimari basit yapıda olmamalıdır.

  • Güvenlik zafiyetini doğru olarak gidermek

Zafiyetler tespit edilip giderilmelidir.

  • Gerek duyulan en az yetkiyi vermek ve yetkileri ayırmak

Özellikle veritabanı ve veriye erişim açısından önemlidir.

  • Tüm erişimleri denetlemek

Tüm erişimler denetlenmelidir.

  • Varsayılan değerleri güvenli hale getirmek

Tüm varsayılan değerlerin güvenliği arttıracak şekilde seçilmesi.

  • Ortak erişilen kaynaklara farklı kaynaklardan erişimek

Yazılımda farklı bilişenler arasında yalıtım sağlamak gereklidir.

  • En zayıf halkayı tespit etmek ve güçlendirmek

Bir pentest yapılabilir.

  • Savunma derinliği oluşturmak

Savunma mekanizması oluşturarak saldırganın arka plana geçmesini engellemek.

  • Anlaşılabilir ve kolay kullanılabilir güvenlik mekanizması tasarlamak

Kullanıcı işini en kolay şekilde en az yetkiyle yapabiliyor olmalıdır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir