10 apartmandan oluşan bir sitede oturduğunuzu düşünelim. Dairenize ilk taşındığınız gün, site görevlisi sizin hangi apartman, kaç numaralı dairede, isminizi-soy isminizi, nereli olduğunuzu, evli mi bekar mı olduğunuzu sordu. Tüm bu soruları yanıtladınız. Akabinde her gün evinize giriş yapacağınızda aynı görevlinin size bu soruları tekrar ettiğini hayal edin. Üstelik yanıtlamazsanız içeriye girmenize izin vermiyor… Oldukça can sıkıcı değil mi? Normal şartlarda, görevlinin bizi tanıması için kendimizden 1 defa bahsetmemiz yeterlidir, ekstra samimiyet kurmak istemiyorsak. Dijital dünyada da benzer bir durum söz konusudur. Bu anlamda cookie’nin ne olduğunu, nasıl çalıştığını bilmemizde fayda var. Elbette bir de bunun güvenlik tarafından ele alınması gerekiyor. Aksi takdirde bu veri dosyaları nedeniyle maddi ve manevi büyük zararlara uğramamız işten bile değildir. Öyleyse ‘cookie nedir’ sorusu ile keşfetmeye başlayalım.
Cookie Nedir?
İçeriğime başlarken verdiğim örneği zihninizin bir köşesinde tutmanızı rica ediyorum. Siz herhangi bir web sitesini veya uygulamayı ziyaret ettiğinizde, tarayıcı tarafından cihazınıza küçük boyutlu metin dosyaları kaydedilir. Böylece bir sonraki ziyaretinizde, site/uygulama sizi tanıyarak verileri işlemeye devam eder. Ayrıca sizin bir önceki işlemlerinize, sitede geçirdiğiniz alan ve zamana göre bir sonraki ziyaretinizde size özel deneyimler sunabilmektedir. Özetle, cookie’ler aracılığıyla sizin profilinize uygun bir ziyaretçi deneyimi uygulanır.
Sizlerin de dikkatini çeken bir husus olmuştur. Bir web sitesini ziyaret ettiğinizde, karşınıza bir pop up veya benzeri bir sayfa açılarak “çerezleri kabul etmeniz veya reddetmeniz” beklenir. Peki, kabul edersek ne olur, etmezsek ne olur? Aslına bakarsanız bu tamamen sizin site veya uygulamada gerçekleştirdiğiniz işlemlere istinaden verilerin saklanması, analiz edilmesi ve 3. kişiler tarafından kullanılmasını ifade etmektedir? Verilerimin kullanılması mı? Kulağa hiç de iç açıcı gelmiyor, değil mi? Katılıyorum. Ancak takdir ederseniz ki, herhangi bir ürün hakkında(ör: kedi maması) konuştuğumuzda dahi karşımıza bununla alakalı reklamların geldiğini görüyoruz. Bu anlamda çerezleri kabul ederken, neyi kabul edip neyi etmediğimizi kontrol etmemizde fayda var. Eğer güvenilmeyen bir siteyi ziyaret ediyorsanız, buradaki verileriniz başka emeller için kullanılabilmektedir. Hele ki http uzantılı sitelerden koşarak uzaklaşmak gerekmektedir. Çünkü man in the middle veya eavesdropping yöntemi ile araya giren kötü niyetli kişi(ler), tüm işlemlerinizi açık metin olarak okuyabilir ve bunu sömürebilir.
Madalyonun diğer yüzüne baktığımızda, cookieler elbette ki kullanım kolaylığı da sağlamaktadır. Mesela, instagrama her girdiğinizde kullanıcı adı ve parolanızı yazmak, sizin deneyiminizi nasıl etkilerdi? Bana kalırsa her seferinde parola bilgisini girmekte fayda var ama yine de riski kabul ediyorum derseniz, ekstra bir şey söyleyemem ne yazık ki. Ayrıca herhangi bir e-ticaret sitesine ya da kullanıcı adı ve parolanızla erişmeniz gereken bir uygulama/siteye bir sonraki ziyaretinizde giriş bilgileriniz sorgulanmadan erişebilmenizi mümkün kılmaktadır. Kullanıcı deneyimi(UX) açısından tamam, güvenlik bakımından kabul edilmesi pek de doğru olmayan bir süreçtir.
Cookie’lerin Temel İşlevleri Nelerdir?
Yukarıdaki paragraflarda da anlattığım üzere cookie’nin çalışma algoritmasını zihninizde canlandırdığınızı düşünüyorum. Bununla birlikte göz önünde olması açısından sizin için bu nitelikleri 3 alt başlıkta da listelemek istiyorum.
Reklam ve Analiz Süreçlerini Yönetmek, Desteklemek
Arkadaşlarınızda aranızda ne konuştuğunuza dikkat edin. Bir sonraki konunuzun muhabbeti, sizi hedef kitle olarak gören şirketlerin reklam çalışmasına dahil olmanıza sebebiyet verebilir :). Bu, işin ekstrem boyutu tabii. Ancak ziyaret ettiğiniz bir sitede gezindiğiniz alanlara, hizmet veya ürünlere göre kayıt altına alınan cookie bilgileriniz reklam verenlerin hedefine göre şekillenmektedir.
Kullanıcı Oturumlarını Yönetmek
Herhangi bir web sitesine girdiğinizde, oturum bilgilerinizi kayıt altında tutarak, bir sonraki erişiminizde kaldığınız yerden devam etmenize olanak tanımaktadır. Bunu gamerler için oyunlardan bir örnekle açıklayayım. GTA San Andreas oynuyoruz, oyunu kapatmadan evvel “save and exit” yaparak çıkış yaptık. Bir sonraki girişimizde kaldığımız yerden devam ederiz, değil mi? Benzer işler diyebiliriz :). Ancak! Aslında siber güvenlik açısından en kritik ve tehlikeli yetkinliklerinden birisi de budur. Zafiyete oldukça açıktır. Neden? Olur ya, bir gün bilgisayarınıza kötü amaçlı bir yazılım bulaştığını ele alalım. Cookie bilgileriniz sayesinde oturumunuzun açık olduğu tüm site-uygulamaların verileri de kötü niyetli kişilerin eline geçmiş olacaktır.
Kullanıcı Tercihlerinin Hatırlanması
Siz bir web sitesini veya uygulamayı kullanırken karanlık modculardan mısınız, aydınlık mod mu? Şahsen ben karanlık modu daha çok seviyorum. Cookieler, aynı zamanda sizin uygulama içerisindeki tercihlerinizi hatırlayarak bir sonraki ziyaretinizde de bu şekilde ayarlı kalmasını sağlamaktadır.
Tüm bu işlevleri değerlendirdiğinizde, sizin de tespit edebileceğiniz gibi amaç, kullanıcı deneyimini iyileştirmektir. Peki, siber güvenlik açısından da işler böyle yürüyor mu?
Cookie’lerin Oluşturabileceği Riskler
Türkiye’nin en tehlikeli mahallelerini sorsam, aklınıza ilk nereler gelir? Adana Hürriyet Mahallesi ya da Ankara Çinçin? Peki, sebepsizce buralara gitmek ister miydiniz, belki de gece 23.00’dan sonra? Elbette iyi niyetli kişiler olabileceği gibi kötü niyetli kişilerle de karşılaşmanız muhtemeldir(Dünya’nın her yerinde ve günlük hayatımızda karşımıza çıkan insanlar gibi). Ancak güvenliğinize önem veriyorsanız böyle bir tercih de bulunmayacağınızı düşünüyorum. Benzer biçimde güvenmediğiniz, size bir mesajın/mailin içerisindeki link ile gelen siteleri de ziyaret etmenizi asla önermem. Keza yine vurgulayarak söylüyorum ki http:// uzantılı sitelere girmeyin! Neden? Eğer ilgili site veya uygulamada bir XSS zafiyeti bulunuyorsa ve bu açıklığı sömüren kötü niyetli bir kişi varsa olaylar çok can sıkıcı bir hal alabilir. Sitenin cookie bilgilerini ele geçiren saldırgan, tüm ziyaretçilerin bilgilerinin de sahibi olacaktır. Daha sonra bu verilerle ne yapar, kim bilir?
Dolayısıyla hep bir sonraki adımda neler olabileceğini düşünerek hareket etmenizde, aksiyon almamızda fayda var. Kevin Mitnick’de olsanız(bkz: tarihin en büyük hackeri) hiçbir şeye güvenmememiz gerektiğini aklımızdan çıkarmayalım. Belki de hayat felsefemizi zero trust’a göre uyarlamalıyız, ne dersiniz? Hem çokça güvenmenin bedeli çokça hayal kırıklığı oluyor, değil mi :)?
Özetle, meraklıları için şu ataklar ile cookie bilgileri manipüle edilebilmekte ve ele geçirilebilmektedir;
- Session Hijacking
- XSS
- CSRF
- Cookie Theft
Cookie Güvenliğini Arttırmak İçin Neler Yapılmalı?
Peki, cookie zafiyetlerini engellemek için biz neler yapmalıyız? Bu soru işaretini gidermek için birkaç naçizane tavsiye vermek istiyorum. Eğer bahsedeceğim yöntemleri uygularsanız, sizi temin ederim ki çok daha güvenli bir yapıda internet trafiğinizi yönetebilirsiniz. Evinizin kapısını 1 değil, 2 kere kilitlemek gibi düşünün.
- HttpOnly ve Secure Bayrakları Kullanmak: JavaScript ile XSS saldırılarına fırsat vermemek adına HttpOnly bayrağını kullanabilirsiniz. Bununla birlikte Secure bayrağı ise sadece https bağlantıları vasıtasıyla cookilerin gönderilmesine olanak tanır.
- HTTPS Kullanımı: Hep bahsettiğimiz gibi, değil mi? Ne diyoruz… S takısı yoksa kullanma. Https uzantılı web sitelerinde trafik şifreleneceğinden, yukarıdaki satırlarda da bahsettiğim eavesdropping veya man in the middle ataklarının önüne geçilebilir.
- Çerezlerin Süresi: “Niye gitmedin keder? Benim bildiğim misafirlik dediğin 3 gün sürer.” Biraz tebessüm etmenizi ve zihninizde daha kalıcı bir yer edinmesini istediğim için bu alt başlığa böyle bir girizgah yapmak istedim. Çerezlerinizin süresini ne kadar uzun tutarsanız, o kadar fazla riske maruz kalma olasılığınız olur.
- MFA Kullanımı: Bu konuyla alakalı oldukça detaylı bir içeriğim var. Azca güvenin çokça doğrulayın. MFA’nin detayları için sizi içeriğime davet ediyorum.
- 3. Parti Çerezleri Engellemek: Chrome, Safari, Firefox tarayıcıları halihazırda 3. taraf çerezleri kaldırmaktadır. Ancak ziyaret ettiğiniz bir sitede böyle bir politika ile karşılaşıyorsanız bunları kullanmanızı tavsiye etmiyorum. Bunu sizin için zihninizde şöyle resmedebilirim; yeni tanıştığınız bir insanla veya yakın bir arkadaşınızla muhabbet ediyorsunuz. Yanınızda da karşı tarafın yanında gelmiş, sizin hiç tanımadığı karşı tarafın da henüz yeni tanıştığı başka birisi var. Bu kişi konuştuğunuz her şeyi gözünüzün önünde defterine not alıyor. Rahatsız olmaz mıydınız? Ben kesinlikle olurdum. Daha sonra bu kişinin aldığı notları nereye götürdüğünü ne siz biliyor olacaksınız ne de konuştuğunuz arkadaşınız… Dolayısıyla güvenilmeyen bu çerezleri engellemenizde de fayda var.
Sizin bu konu hakkındaki düşünceleriniz neler? Yorumlar kısmından görüşlerinizi paylaşabilirsiniz. Bir sonraki içeriğimde görüşmek dileğiyle. Sağlıkla ve güvenle kalın.