top of page
  • Onur Çetin

Cemaatin Yazılımında Zero-Sum Game: Güvenliği Yeniden Düşünmek

Sanayi Devrimi ile biçim değiştiren üretim serüveninde müşterinin ihtiyaçlarının karşılanmasına yönelik üretim biçimlerinden en bilineni ve yaygın olarak kullanılanı, Henry Ford’un kullandığı seri üretim biçimiydi. Üretim bandı üzerinde, standardize edilmiş ve müşterinin ne istediğiyle çok da ilgili olmayan, daha çok ona dayatılan dar bir ürün yelpazesi söz konusuydu. Bu yöntem sonraları terkedilerek yerini Toyotizme bıraktı ve şirketler müşterinin beklentilerine daha fazla odaklanır hale geldiler. Öne çıkmak, marketi domine etmek, sektördeki belirsizliklere karşı cevap üretip esneklik sağlamak isteyen şirket, rekabet ortamında bu şekilde sivrilebilirdi.


Fakat dijitalleşmeyle birlikte esnekliği maksimize etme ihtiyacı doğdu. Artık oturduğu yerden yemek siparişi vermek için eline telefonu alan bir müşterinin ilgili uygulamaya girdiğinde karşılaşacağı her şey kullanıcı dostu olmalıydı. Aplikasyonun işlevselliğiyle ilgili o anda girilen olumsuz bir değerlendirme, şirketin IT departmanı tarafından hızlı bir şekilde ele alınıp yeniden şekillendirilmeliydi. Bu da DevOps gibi yazılım geliştirme yaşam döngüsünü otomatize edecek konsepti son olarak doğurdu.


Peki veritabanlarında çok sayıda müşterinin kredi kartı bilgilerinden tutun da ev adreslerine kadar kayıt tutmaya başlayan, keza kendi büyüyen datasını da saklaması gereken bu şirketlere kendi altyapıları (on prem altyapısı) yeterli olacak mıydı?


Amazon, Microsoft ve Google başta olmak üzere Cloud altyapısı sunan birkaç mega şirket bu aşamada diğer şirketlerin ‘yardımına’ koştu. Artık on prem’den Cloud’a göç başlamıştı. Netflix, AWS (Amazon’un Cloud altyapısı) hizmetini kullanmaya başlayanlardan oldu. Data bu büyük şirketlerin sunucularının içinde tutuluyordu ve artık bu göçü tamamlamayan şirketlerin modern bir altyapıya sahip oldukları söylenemez.


Şirketler bugün de hem organizasyonel anlamda hem de müşterilerine hizmet vermek için kullandıkları yazılımlarının geliştirilmesine dönük olarak bakış açılarında ve iş tutuşlarında dönüşümlerine devam ediyorlar. Saklanan hassas bilginin güvenliği hiç olmadığı kadar önemli hale geldi.


Eski bir AWS çalışanı AWS’nin Cloud hizmetini kullanan bir U.S. bankası olan Capital One’ın kullandığı sunucuları hackleyerek 100 milyonun üzerinde kullanıcının hassas bilgilerini ifşa etti.


Keza LinkedIn, Yahoo, Meta gibi itibarlı ve çok sayıda kullanıcının hassas bilgilerini tutan şirketler onca güvenlik çabalarına rağmen PII (Kişisel Tanımlanabilir Bilgiler) konusunda güvenlik açığı verip yüklü miktarda tazminat ödediler ve kredibiliteleri zarar gördü. (1) Hackerlar için böyle şirketlere saldırı düzenlemek her zaman daha cazip gelir. Çünkü milyonlarca kullanıcının hassas bilgileri bu şirketlerde saklı tutulur.


Şirketler tıpkı geleneksel Waterfall modelinden, müşteri memnuniyetini esas alan Agile metodolojisine geçerken olduğu gibi, yazılım geliştirme yaşam döngüsünün otomasyonunda da önce DevOps konseptini benimsedi ve nihayet şimdilerde DevSecOps paradigmasında da ipi göğüslemeye çalışıyorlar.


İş ilanlarında "Valuing 'done' over 'perfect'" zihniyetinde, ‘can do’ pozitifliğinde mühendisler aranıyor. Zira sadece eski bir altyapı yahut zihniyet değil, negatif enerji yayan bir takım arkadaşını aralarında haklı olarak görmek istemiyorlar.


Bir ürün veya projenin mükemmeliyetçi bir şekilde tamamlanması yerine, tamamlanmış ve işlevsel hale getirilmesinin daha önemli olduğunu vurguluyorlar artık. Bu yaklaşım, zaman ve kaynak kısıtlamaları altında çalışan ekipler için önemli çünkü ürünün kullanıma hazır hale getirilmesi, geri bildirim alınarak hızlı bir şekilde iyileştirilmesini ve geliştirilmesini sağlıyor. Bu yaklaşım, sürekli iyileştirme ve hızlı teslimatı teşvik eden Agile metodolojisiyle de uyumlu. Ancak bu, kalite standartlarına ve müşteri gereksinimlerine uyulmasının önemini göz ardı etmez, sadece ürünün kullanıma sunulmasının ve geri bildirim alınmasının daha öncelikli olduğunu vurgular.


Bu arada otomasyonda her geçen gün mantar gibi biten kavramlar ortaya atılıyor: MLOps, GitOps, AIOps… Bloggerlar, Youtuberlar her gün birer paylaşımla başları döndüren bu kavram ve iş tutuş biçimi curcunasında önce bu olan bitenleri mistifiye ediyor, sonra da demistifiye eden paylaşımlar yapıyorlar. Bir gün birisi Python program dilinin Data bilimindeki iktidarının sona erdiğini ilan ediyor, öbür gün başkası on premise’den Cloud altyapısına hala geçmemiş olanlarla alay ediyor. Agile’ın ölümü ilan ediliyor, sonra bir başkası diriltiliyor.


Yine bir gün yapay zekânın developerlar da dahil olmak üzere çok sayıda yazılımcıyı işsiz bırakacağını ilan eden otoriter dilli yazılar kaleme alınıyor; akşamına buna itiraz eden, yapay zekânın yazdığı aplikasyonun hatalarını temizleyecek, güvenlik açıklarını kapatacak olanların yine insanlardan oluşacağını öne surenler çıkıp söz alıyor. Bunlar güzel tartışmalar. Kafa açan son gelişmeler. Fakat insanın derinliklerinde huzursuzluk artıyor. Zira bu alanda kariyer yapan birisi emsalleri arasında sivrilebilmek için nereye yöneleceğini şaşırabiliyor.


Özellikle IT süreçleriyle ilgili son otomasyon paradigması olan DevSecOps konseptinde hedeflenen şu: Güvenlik kontrolleri yazılım geliştirme yasam döngüsünün her safhasında uygulanacak ve bunlar otomatize edilecek. Klasik yöntem farklıydı. Aplikasyonlar neredeyse son anda güvenlik taramasına tabi tutulurdu. Hatta hala çoğu şirkette durum böyle.


Basitleştirmek gerekirse, developer aplikasyonda küçük ya da büyük fark etmez, bir değişiklik yapıp bunu kalıcı hale getirmek istediği andan itibaren o yeni kodlar türlü safhalardan geçerek kullanıcıların karşısına yeni özellikler olarak çıkarılıyor.


Test, build, deploy gibi ana safhaları olan klasik DevOps konseptinin her aşamasına artık güvenlik taramasını otomatik olarak yapabilecek, aplikasyonun zayıf yönlerini göstererek siber saldırılara karşı önceden uyaracak güvenlik tool’ları kullanılıyor.


Aplikasyon güvenliği konusunda başta şirketlerde olmak üzere tüm dünyada farkındalık yaratmak isteyen non-profit kuruluşların başında OWASP Foundation bulunuyor ve bugün aklı başında şirketler bir süredir onun meşhur güvenlik prensiplerini, dokümantasyonlarını ve araçlarını benimsediler. Veri güvenliğini önemsemek istiyorlar zira saldırılar sonrası yüklü miktarda tazminat ödemektense, şimdiden çok daha az harcama yaparak yazılımlarının güvenliğini artırmak istiyorlar.


Fakat OWASP diyor ki, güvenlik açıklarını giderme işlemi zero-sum game değildir. Yani istediğin kadar çabala, açıklarını gider ve güvenliğe yatırımını yap ama yüzde yüz güvenli bir yazılım diye bir şey yok! (2) Evet, aynen öyle diyor.


Düşünün ki bir şirketiniz var. Datanız on prem’de ya da Cloud altyapısında hiç fark etmez, onun nerede olduğunu biliyorsunuz, onlardan hangi personelinizin sorumlu olduğuna dair bilginiz de var, kayıt tutmuşsunuz ama yine de başınıza siber saldırı ve sonrasında tazminat ödeme, marka değerinin düşmesi ve finansal açıdan zayıflama gibi hadiseler gelebiliyor.


Bence bu durum bizi bazı konularda tekrar düşünmeye itmeli. Senelerdir bir kısır döngü içerisinde cemaatin başına gelenlerde hackerdan ziyade yazılımdan sorumlu olanları suçlayıp durmak, atak yüzeyi bu kadar geniş bir hareketin güvenlik açıklarını gidermede zero-sum game oynamaya benziyor ve kesinlikle vicdani, bilimsel, makul bir duruş değil. Önümüzde AWS, Capital One, LinkedIn, Meta ve Yahoo gibi şirketlerin yaşadıkları gibi örnekler var ve büyük şirketlere bu tip başarılı saldırılar devam edecektir.


Metaforlar üzerinden giderek tasvir etmek gerekirse; ortada yazılımı Dünya sunucusunun üzerinde servis edilmiş, mikroservis mimarisinde bir hareket var. Türkiye ve Türkçe dili merkezli, monolitik bir mimariden; ABD, Kanada, Almanya, İsviçre vd. ülkelere yayılmış, çok dilli, birbiriyle bağlantısını sürdüren, her biri kendisine mahsus fonksiyonlara sahip mikroservis mimarisine geçişe şahit olduk ve zaten bugün modern yazılımların karakteristik özelliği de budur. Fakat bu yazılıma dışarıdan bakan bir kullanıcı her bir mikroservisi tek tek değil, tüm bir aplikasyonu bir bütün olarak görür. Tıpkı haritadan İsviçre’ye bakan birinin ayrı ayrı 26 kantonu değil de tek bir ülkeyi, İsviçre’yi görmesindeki gibi.


Hizmetin tıpkı çok iyi yazılmış bir aplikasyonda da olduğu gibi güvenlik açıkları her zaman olmaya devam edecektir ve realist olup bunun kaçınılmazlığını anlamak, sorunların nasıl yorumlanması gerektiği ve çözümleriyle ilgili de daha başarılı ve sağlıklı süreçler geliştirmeyi mümkün kılacaktır. Açıkların zamanında tespit edilmesi ve bunların otomatikleştirilmesine dönük farkındalık veya hazırlık ilkeleri geliştirme perspektifi elbette ki anlaşılabilir. Ama her bir açık veya atağı, sistemin tümü ve varoluşsallığıyla ilgili mutlak ve bütüne genişleten saplantılı önermelerden artık vazgeçip, pozitif takım arkadaşlarına dönüşerek bu kıymetli uygulamaya dışarıdan bakanın iyi bir hizmet almasına daha fazla odaklanmak gerekmektedir.


Hayır, kastettiğim imaj kaygısına, yani yeni bir kaygıya sahip olmak değil. Tek derdi hayatta kalmak olan bir Filistinli kadar inancından, kendinden emin olmaktan; sızlanmadan, olgun bir fert gibi zorlukları tek başına göğüslemeyi bilmek gibi bir duruşla hizmet etmekten; hem basit hem zor ama anlamlı bir iş tutma biçiminden söz ediyorum. ‘Batılı müşteri’ bugün bunu görmek istemektedir. Hidayete vesile olunacaksa, ona bu istediğini vermek gerekmektedir. Filistinlilerin sabit kadem duruşlarından etkilenip de İslam’a, Kuran’a ilgi gösteren Batılı insanların sosyal medyada bu ilgilerini ve heyecanlarını paylaşmaları bize bu konuda çok şey anlatmakta ve dediğimi doğrulamaktadır.


Notlar:


(1) PII, "Kişisel Tanımlanabilir Bilgiler" anlamına gelir. Bu terim genellikle veri koruma ve gizlilikle ilgili bağlamda kullanılır ve bireylerin kimliklerini belirlemek veya iletişim kurmak için kullanılabilecek bilgileri ifade eder. PII, birçok yargı alanında yasal olarak korunmaktadır ve bu tür bilgilerin toplanması, işlenmesi ve saklanması sıkı kurallara tabidir.


Örnek PII bilgiler arasında şunlar bulunur:


İsim ve soyadı

Doğum tarihi

Adres (ev, iş veya e-posta)

Telefon numarası

Sosyal güvenlik numarası

Finansal bilgiler (kredi kartı numarası, banka hesap numarası)

Sağlık bilgileri

Biyometrik veriler


(2) OWASP Foundation’ın güvenlik ilkelerini merak edenler için:



Yukarıdaki link üzerinden yazımda bahsettiğim ‘No security Guarantee’ ilkesine bakılabilir.


Yazar: Onur Çetin


07 Mart 2024

Post: Blog2_Post
bottom of page