Page 56 - bilgem-teknoloji-dergisi-10
P. 56
Bilgi Güvenliği
Bir yazılımın temel amacı, müşterinin ya da hedef
kitlenin istekleri/ihtiyaçları doğrultusunda güvenliği
tasarlanmış işlevsellik sunmaktır.
Süleyman Muhammed Arıkan - Uzman Araştırmacı, Tolga Yılmaz - Uzman Araştırmacı, Özgür Yürekten -
Başuzman Araştırmacı / BİLGEM SGE
ilişim sistemleri tarafından kullanılan yazı- planlama, analiz, tasarım, geliştirme, test, kurulum
lımlar; programlar, kütüphaneler, dijital ortam, ve bakım gibi temel aşamaların tümü YGYD kapsa-
Bçevrimiçi dokümanlar ve veri gibi bileşenler- mındadır. Bu aşamalar modelden modele farklılık
den meydana gelir. Bileşenlerin farklı donanım ve gösterebilir. Yazılım geliştirme sürecinde sıklıkla
tercih edilen yaşam döngüsü modellerine; şelale
işletim sistemlerinde çalıştığı, farklı programlama
(waterfall) modeli, tekrarlı ve artımlı (iterative and
dilleri (Java, C#, Python vb.) ile geliştirildiği, fark-
incremental) model, spiral model, v-modeli, pro-
lı derleyiciler ve bütünleşik geliştirme ortamları
(IDE) ile oluşturulduğu ya da farklı girdi çıktı dilleri totip modeli ve büyük patlama (big bang) modeli
(JSON, XML vb.) üzerinden kullanıldığı düşünül-
örnek olarak gösterilebilir.
düğünde karmaşık, katmanlı bir yapının karşımıza
çıktığı görülebilir.
Şelale modeli, birbirinin peşi sıra iler-
Bu katmanlar, yazılımı birçok açıdan leyen, seri süreçlere sahip, basit ve
uygulaması, kolay bir model ol-
dış müdahalelere karşı hassaslaş-
duğundan gereksinimleri tam
tırmasına rağmen çoğu yazılım
anlamıyla anlaşılan projelere
geliştirme projesinde, yazılımla-
rın güvenliğine işlevsellikle aynı oldukça uygundur.
oranda önem verilmemekte- Tekrarlı ve artımlı model,
dir. Bir yazılımın temel amacı, başlangıç aşamasında hız-
müşterinin ya da hedef kitlenin lıca çalışır halde prototip
istekleri/ihtiyaçları doğrultu-
fonksiyonların geliştirilebil-
sunda güvenliği, tasarlanmış malarda geri dönüş vermesi-
diği, müşterinin erken aşa-
işlevsellik sunmaktır. Fakat ya-
ne imkan sağlayan ve paralel
zılımların güvenliği tasarım ve
geliştirme aşamasında çoğunluk- geliştirme planlamasına müsait
la dikkate alınmamakta, daha son- yapısından dolayı karmaşık ve
ra eklenebilecek bir özellik ve ikincil büyük projeler için kullanılabilen bir
bir uğraş konusu olarak algılanmaktadır. modeldir.
Bu durum da yazılım ürünlerinde telafisi zor ve
giderilmesi maliyetli güvenlik açıklarına sebep ol- Spiral modelde, yazılımlar parçalı olarak geliştiril-
maktadır. Bu sorunları önlemek, yazılımın bilgi gü- diği için süreçler daha şeffaftır ve müşteri, erken
venliği saldırılarına (bütünlük, erişilebilirlik, gizlilik) aşamalarda ürünü kısıtlı olarak kullanabildiğinden
karşı daha dirençli çalışmasını sağlamak ve saldırı/ geri dönüşte bulunabilir.
tehdit altındayken işlevlerini doğru bir şekilde yeri-
ne getirmeye devam etmesi için yazılım güvenliği V modeli, test aktivitelerinin erken aşamalarda
pratikleri kullanılmalıdır. başlamasından dolayı problemlerin daha çabuk
fark edilebilmesini sağlayan, uygulaması basit bir
Yazılım Geliştirme Yaşam Döngüsü modeldir.
Yazılım güvenliği; bir yazılımın tüm parçalarıyla
birlikte geliştirilmesi, çalışır hale getirilmesi, müş- Prototip model, müşteri memnuniyetini daha erken
teriye sunulması, işletilmesi ve sonlandırılması gibi aşamada sağlayarak yazılımın reddedilme ihtima-
süreçlerin tümüyle ilişkilidir. Dolayısıyla yazılımda lini azaltan ve eksik olan parçaların çabuk fark edi-
güvenliği sağlamak için Yazılım Geliştirme Yaşam lebildiği bir modeldir.
Döngüsü (YGYD) süresince yazılım güvenliği pra-
tikleri uygulanmalıdır. Büyük patlama modeli ise; belirli bir süreç takip et-
meden, tam anlamıyla belirli olmayan gereksinim-
YGYD; müşteri beklentilerini karşılayan, zaman ve leri yazılıma dönüştürmeyi amaçlayan, yüksek ris-
maliyet tahminlerine göre tamamlanan kaliteli ya- ke sahip bir model olduğundan, küçük ölçekli/kısa
zılımlar üretmek amacıyla kullanılır. Yazılımlar için; süreli projeler için denenebilir bir modeldir.
54 55
56