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
   51   52   53   54   55   56   57   58   59   60   61