Page 57 - bilgem-teknoloji-dergisi-10
P. 57

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