Page 54 - bilgem-teknoloji-dergisi-12
P. 54
Siber Güvenlik BILGEM
TEKNOLOJI
az işletildiği aşamadır ve tehdit modellemesi gibi
faaliyetleri içerir. Bu aşamada güvenlik analizi faa- DevSecOps, yeni tanımlanan bir
liyetleri uygulanarak güvenlik testlerinin ne zaman, açıklığın ne kadar hızlı yönetildiği ile
nerede ve nasıl gerçekleştirileceğine dair plan oluş-
turulur. Geliştirme olarak da adlandırılan kodlama; ilgilidir. DevSecOps’un iki ana avantajı
personelin daha güvenli kod geliştirmesine odak- hız ve güvenliktir.
lanan aşamadır. Geliştirilen kodun, sürüm kontrol
sistemine (Git, Apache Subversion, Mercurial vb.)
gönderilmeden önce üzerinde gerçekleştirilecek
analizlerin/incelemelerin yapılmasını, sürüm kont- Yazılımın kullanım verilerinin kaydedildiği ve her iş-
rol sistemine gönderildikten sonra işletilen gözden levin takip edildiği sürekli izleme fazında izleme ve
geçirme (review) çalışmalarını ve statik kod analizi yanıt aşamaları işletilir. Dağıtım aşamasının başa-
faaliyetlerini içerir. rılı bir şekilde tamamlanmasının ardından gerçek
ortamda çalışmaya başlayan yazılım için günlük
Derleme ve test aşamalarını barındıran sürekli en- kayıtları toplanır ve mevcut/muhtemel tehditlerin
tegrasyon aşaması, yazılım geliştirme personeli ta- tespit edilmesi amacıyla bu kayıtlar üzerinde ana-
rafından oluşturulmuş/iyileştirilmiş kodun mevcut lizler gerçekleştirilir. Kurum personeli veya harici
kaynak kod ile birleştirilmesidir. Derleme, kodun kaynaklar üzerinden sızma testleri de işletilebilir.
mevcut kaynak kodlara entegre edilerek yazılımın Son olarak yanıt aşamasında, gerçekleştirilen sal-
derlenmesini ve derlenmiş yazılımın üzerinde ya- dırılar engellenir veya engellenemeyen saldırıların
ğunu belirtir. Bu sebeple güvenlik, bir DevSecOps DevSecOps Yaşam Döngüsü ve İşlem Hattı zılım bileşimi analizi (yazılım kompozisyon analizi ardından sistemin tekrar düzgün çalışır duruma ge-
ekibinde her personelin odaklanması gereken bir DevSecOps, DevOps işlem hattı üzerinden sundu- olarak da bilinir - SCA), statik uygulama güvenlik tirilmesi için süreç işletilir.
testleri (SAST) ve birim testleri gibi faaliyetlerin iş-
konudur. Bu durum güvenlik sorunlarının; kolay, ğu yüksek geliştirme hızı ve çevikliğe karşın gü- letilmesi süreçlerinden oluşur. Test aşamasında ise
hızlı ve düşük maliyet ile çözülebileceği geliştirme venlikten ödün vermez. Döngüsel bir süreç olan özellikle yaygın olarak bilinen yüksek öncelikli gü- DevSecOps yaşam döngüsünün son aşaması olan
sürecinde ele alınmasını mümkün kılar. DevSecOps için işlem hattı Şekil-1 üzerinde gös- venlik sorunlarına karşı dinamik uygulama güvenliği sürekli geri bildirimde ise geri dönüşler ve öğrenilen
terilmiştir. testleri (DAST) gerçekleştirilir. Sürekli test aşaması dersler elde edilerek bir sonraki yinelemeye aktarı-
lır. Böylece, sürekli tekrarlanacak olan yinelemelerin
DevSecOps, yeni tanımlanan bir açıklığın ne ka- ise entegrasyonu başarıyla sağlanmış kod üzerinde ardından yazılım iyileştirilerek amaçlanan kalitede
dar hızlı yönetildiği ile ilgilidir. Dolayısı ile DevSe- Süreklilik, DevOps’da olduğu gibi DevSecOps iş- entegrasyon testlerinin, performans testlerinin, reg- ve işlevde güvenli yazılımların hızlıca oluşturulması
cOps’un iki ana avantajı hız ve güvenliktir. Yazılım lem hattının da vazgeçilmez bir karakteristiğidir. resyon testlerinin ve/veya kabul testlerinin manuel sağlanır. Müşterilerden alınacak geri dönüşler, ihti-
geliştirme yaşam döngüsünü yavaşlatmamak için Bu sürekliliği sağlamaya yönelik olan DevSecOps işlemlere gerek duymadan gerçekleştirilmesidir. yaçları karşılayan yazılımların oluşturulmasında ve
diğer süreçlerde olduğu gibi güvenlik odaklı faali- yaşam döngüsü; sürekli geliştirme (continuous kullanıcıların memnuniyetine giden yolda bir adım
yetler de otomatikleştirilir. Otomasyonun sağlan- development), sürekli entegrasyon (continuous in- İlgili testlerden başarıyla geçen ve son halini alan daha atılmasında büyük öneme sahiptir.
masıyla veya daha verimli kullanılmasıyla güvenlik tegration), sürekli test (continuous testing), sürekli kaynak kodun gerçek ortama kurulması sürek-
sorunları daha etkin ve hızlı şekilde tespit edilir. dağıtım (continuous deployment), sürekli izleme li dağıtım aşaması ile gerçekleşir ve yayınlama ile DevSecOps sayesinde personel, hızdan ödün ver-
Tüm geliştirme süreci boyunca kaynak kod, karşı- (continuous monitoring) ve sürekli geri bildirim dağıtım aşamalarını barındırır. Yayınlama (release) meden güvenlik sorunlarını yalnızca tespit etmekle
laşılabilecek muhtemel açıklıklara ve tehdit aktör- (continuous feedback) gibi fazlardan oluşarak iş- aşamasında, çalışma ortamı altyapısının güvenli kalmayacak aynı zamanda çözümlerini de uygula-
lerine karşı sürekli olarak gözden geçirilir, denetle- hale getirilmesine odaklanılır. Bu kapsamda, alt- yacaktır. Bu sebeple temel güvenlik bilgisinin sağ-
nir ve test edilir. Bu durum, meydana gelebilecek lem hattı aşamalarını işletir. yapı bünyesinde kullanılan teknolojilerde (işletim lanması için eğitimlere ihtiyaç duyulacaktır. Ayrıca
hataları ortadan kaldırır ve başarıya ulaşabilecek sistemi, veri tabanı, güvenlik duvarı vb.) güvenliğin yeni araçların temini kadar kurumsal kültürün deği-
saldırı ihtimalinin azaltılmasına katkı sunar. Ayrıca, Yaşam döngüsünün ilk aşaması, planlamanın ve sağlanmasına yönelik yayınlanmış rehberler ve en şimini de gerektirecektir.
başarılı saldırılar neticesinde işletilecek olay mü- yazılım için kaynak kodun geliştirilmesi faaliyet- iyi uygulama (best practices) önerileri ışığında sıkı-
dahale sürecinin daha etkin gerçekleştirilmesini lerinin işletildiği sürekli geliştirmedir. Yazılım gü- laştırma (hardening) faaliyetleri işletilir.
sağlar. Gelişmiş izleme ve denetimler ile muhte- venliği odağında DevSecOps işlem hattının ince- Kaynakça
•Bartsch, Steffen. “Practitioners’ perspectives on security in agile
mel yeni tehdit aktörleri ve türleri daha hızlı tespit lenmesi gerekirse planlama, otomatizasyonun en Dağıtım aşamasında geliştirme ortamı ile gerçek development.” 2011 Sixth International Conference on Availability,
edilebilir. ortam arasındaki konfigürasyon farklılıkları kontrol Reliability and Security. IEEE, 2011.
edilerek uygun yapılandırmalar ve kaynaklar (gerçek •https://aws.amazon.com/tr/devops/what-is-devops/
DevSecOps; insan, zaman ve iş ortam için hazırlanmış sertifikalar, erişim bilgileri •https://www.atlassian.com/devops/devops-tools/devse-
gücü gibi tasarruf edilen kaynak- vb.) ile yazılımın hizmet verdiğinden emin olunur. cops-tools
lar, iyileştirilmiş ve çeviklik kazan- Çalışma ortamının beklendiği gibi hizmet verdiğin- •https://www.contino.io/insights/devsecops-best-practices
dırılmış çeşitli süreçler, azaltıl- den emin olmak için ise çalışma zamanı doğrulama •https://www.coveros.com/devsecops-incorporate-security-de-
mış güvenlik tehditleri, işletilmiş araçlarından (Osquery, Falco vb.) faydalanılabilir. vops-reduce-software-risk/
•https://www.cuelogic.com/blog/devops-lifecycle
otomatik testler sayesinde artan Bunlara ek olarak çöken sunucular, kopan ağ bağ- •https://www.forcepoint.com/tr/cyber-edu/devsecops
kalitenin yanı sıra projelerin ve •https://www.ibm.com/cloud/learn/devsecops
ürünlerin müşteriye daha erken ve lantıları ve sabit disk üzerinde meydana gelebilecek •https://www.javatpoint.com/devops
sık periyotlar ile teslim edilmesi hatalar gibi çeşitli gerçek dünya olayları simüle edi- •https://www.linkedin.com/pulse/all-you-need-know-water-
yoluyla iş değerine önemli katkıda lerek yazılımın davranışları incelenebilir ve güvenlik fall-model-rafayel-mkrtchyan/
bulunur. zafiyetine sebep olabilecek durumlar tespit edilerek •https://www.redhat.com/en/topics/devops/what-is-devsecops
önlem alınabilir.
Şekil 1. DevSecOps Yaşam Döngüsü
52 53