
Suçlular İçin Hedef Olarak Oturum (Session) Çerezleri
Yazar: Dr. Matthias Wübbeling
İnternetin ilk günlerinde, JavaScript ve çerezler, kod çalıştırmak ve gizlice izleme (tracking) bilgilerini depolamak için kötüye kullanılabilecekleri düşünülen kötü ve tehlikeli yapılar olarak görülüyordu. Güvenliğe değer veren kullanıcılar, az sayıda istisna dışında JavaScript’i devre dışı bırakıp çerezleri basitçe yasakladı. Bugün, her iki konsept de İnternet’in ayrılmaz bir parçasıdır. Tüm iletişim için sunucudaki kapsamlı kitaplıkların ve API’lerin kullanılmasıyla duyarlı (responsive) web uygulamaları hızla oluşturulabilir. Kullanıcı etkinliklerini güvence altına almak için statik API anahtarları, JSON web token’ları (JWT’ler) veya esasen dinamik API anahtarları olan oturum çerezleri kullanılır.
Oturum çerezleri, web uygulamalarının bir kullanıcının oturumuyla ilgili geçici bilgilere başvurmak için kullandığı, bir web sitesini ziyaret eden bir kullanıcıyı sürekli yeniden kimlik doğrulamasına gerek kalmadan tanımlamayı mümkün kılan küçük bilgi parçacıklarıdır. Tipik oturum bilgileri arasında oturum açma durumu, çevrimiçi mağazalardaki alışveriş sepeti içeriği ve kullanıcı yapılandırmaları bulunur. Bu haliyle, oturum çerezleri web uygulamalarının temelini oluşturur.
Oturum çerezleri normalde web tarayıcısının önbelleğinde kullanıcı cihazında saklanır ve bunları geliştirici araçlarıyla görüntüleyebilirsiniz. Tarayıcının diske de kaydettiği kalıcı çerezlerin aksine, oturum çerezlerinin yalnızca tarayıcının çalışma belleğinde saklanması gerekir. Bu bellek alanına tarayıcının sessionStorage API’sinden erişebilirsiniz. Bilgiler daha sonra yalnızca tarayıcı çalışırken kullanılabilir. Kullanıcı tarayıcı penceresini kapatır kapatmaz veriler otomatik olarak kaybolur, bu da yaklaşımı daha güvenli hale getirir, çünkü cihazda kalıcı olarak veri kalmaz. Ancak, birçok uygulama verilerini, aynı uygulamanın diğer pencerelerinde de kullanılabilmesi için tarayıcının yerel çerez deposunda saklar. Geçerliliğin tarayıcı oturumu süresiyle sınırlı olduğu sürece, bu tür bir depolama bir sorun teşkil etmez. JWT’ler ile otomatik sona ermeyi garanti etmek için geçerlilik süreleri doğrudan token’a uygulanabilir.
Oturum çerezleri, kalıcı karşılıklarına göre oldukça kısa ömürlü olsalar bile (sonuçta, oturumlar arası veri saklamaları gerekmez ve tek bir web sitesi ziyaretinin süresiyle sınırlıdırlar), geçerlilikleri yalnızca tarayıcıdaki web sitesine bağlı değildir.
Son Kullanma Tarihleri
Sunucu tarafındaki bir oturumun ömrü, tarayıcıdaki gerçek oturum çerezlerinden bağımsız olarak web uygulamasının sunucu yapılandırması tarafından belirlenir. Bu nedenle, sunucu ilgili oturum kaydını süresi dolmuş olarak işaretlemediği sürece, oturum, tarayıcıdaki eşleşen çerez silindikten sonra bile devam edebilir. Bu ömür genellikle sunucu mantığı tarafından belirlenen bir zaman aşımı değeriyle tanımlanır. Tipik olarak, çalışma süresi tipik bir kullanıcı oturumunun süresine dayanır, ancak daha uzun olma eğilimindedir veya kullanıcıları rahatsız etmemek için her kullanımla otomatik olarak uzatılır.
Açık Dünya Uygulama Güvenliği Projesi (OWASP) Vakfı, çevrimiçi bankacılık gibi yüksek güvenlik gereksinimleri olan uygulamalar için iki ila beş dakikalık bir yaşam süresi önermektedir. Diğer tüm uygulamalar için önerilen zaman aşımı değeri, hareketsizlikten sonra çerezin süresinin dolması için 15 ila 30 dakikadır. Ancak, aktif kullanım için bile OWASP, oturumun tipik günlük kullanıma göre (yani profesyonel bir bağlamda yaklaşık dört ila sekiz saatte bir) süresinin dolması için tanımlanmış bir zaman önermektedir. Bunun neden önemli olduğunu birazdan öğreneceksiniz.
Bu tanımlanmış süre dolduktan sonra, sunucu oturumu siler veya web tarayıcısındaki çerezden bağımsız olarak geçersiz kılar – ve kullanıcının tekrar giriş yapması gerekir. Kullanıcı dostu olma nedenleriyle, özellikle büyük sağlayıcılar bazen çok daha uzun süren çerezler kullanırlar. Örneğin Google, Facebook ve Amazon’da bu çerezler bazen birkaç ay geçerlidir ve farklı cihazlarda farklı değerlerle cihaz çerezleri olarak başlatılır. Cihaz veya oturum genel bakışlarında, bir kullanıcı olarak cihazlardan çıkış yapabilir ve oturumları açıkça sonlandırabilirsiniz.
Yanlış Ellerdeki Çerezler
Son yıllarda, sızdırılan kullanıcı giriş kimlik bilgileri vakaları hızla artmıştır. Sonuç olarak, giderek artan sayıda web uygulaması sağlayıcısı, kullanıcı kimlik doğrulaması için ek faktörler sunmaktadır. En iyi bilinen mekanizma muhtemelen Authy, Google, Microsoft, FreeOTP ve benzeri kimlik doğrulayıcı uygulamaların kullanılmasıdır. Bu kimlik doğrulayıcılar, kullanıcıların kimlik doğrulama süreci sırasında e-posta adresi ve parolalarına ek olarak hesaplanmış bir token girmelerini gerektirir. Klasik oturum açma verilerinin yerine parolasız geçiş anahtarlarının (passkeys) (bazen hatalı) kullanılması da, hesap ele geçirme (account hijacking) genel adı altında yürütülen bu saldırıların başarısını önemli ölçüde kısıtlayabilir.
Oturum çerezleri, suçlular için bu durumla birlikte daha da ilginç hale gelir. Geçerli bir çereze sahip olunduğunda, kullanıcının kimliği doğrulanmış oturumu saldırganın bilgisayarında basitçe devam ettirilebilir. Hesabı ele geçirmek için ne giriş verileri, ne MFA (çok faktörlü kimlik doğrulama) token’ları, ne de geçiş anahtarları (passkeys) gerekmez. Suçlular, oturum çerezlerini çeşitli yollarla elde edebilirler. Hacker’ların yöntemleri genellikle web uygulamalarındaki güvenlik açıklarına ve kullanıcı davranışına dayanır.
Farkındalık eğitimlerinde sıklıkla tartışılan bir teknik, saldırganların otellerde veya kafelerde halka açık WiFi ağları gibi güvensiz ağlarda veri trafiğini engellediği aradaki adam (man-in-the-middle) saldırısıdır. Neredeyse tüm web uygulamaları artık TLS ile güvenliği sağlanmış bağlantılar kullandığından, bu yaklaşım günümüzde nadiren başarılı olmaktadır.
Başka bir yöntem, siteler arası komut çalıştırma (cross-site scripting – XSS) olarak bilinir. Kötü amaçlı kod bir web sitesine enjekte edilir ve kurbanın tarayıcısında yürütüldüğünde, oturum çerezlerini okuyabilir ve iletebilir.
Sosyal mühendislik ve oltalama (phishing), kullanıcıları bir URL’de bulunan oturum kimliği gibi hassas bilgileri ifşa etmeleri için kandırmak amacıyla sıklıkla kullanılır.
Oturum sabitleme (Session fixation), özellikle sinsi bir saldırıdır. Saldırganlar uygulamada kendi oturumlarını oluşturur ancak giriş yapmazlar. Ardından, URL’de oturumun oturum kimliğini içeren manipüle edilmiş bir bağlantı dağıtırlar. Bir kurban bu bağlantıyı takip eder ve daha sonra web uygulamasına giriş yaparsa, saldırganın oturumu, o anda oturum kimliği kullanılarak kurbanın kimliği doğrulanmış bir oturumuna dönüştürülür.
Neden Olarak Kötü Amaçlı Yazılım (Malware)
Son zamanlarda, kötü amaçlı yazılım enfeksiyonlarından çalınan veri kayıtları defalarca kamuoyuna sızdırılmıştır. Veriler doğrudan kullanıcıların bilgisayarlarından gelir ve bazen giriş ayrıntılarını ve oturum çerezlerini içerir. Kullanıcılar, güvensiz indirmeler veya web siteleri aracılığıyla bilgisayarlarına yanlışlıkla kötü amaçlı yazılım bulaştırırlar ve bu kötü amaçlı yazılım daha sonra kullanıcının eylemlerini ve girdilerini sürekli olarak kaydeder.
Parola yöneticisi içeriği, elbette, saldırganlar için birincil hedeftir. Girilirken okunan ana parola ile bir saldırgan, çok az çabayla kurbanın birçok giriş kimlik bilgisini hızlı bir şekilde elde edebilir. Ancak, kimlik doğrulama yukarıda açıklandığı gibi ek faktörlerle güvence altına alınmışsa, saldırgan ilk başta bu kimlik bilgileriyle pek bir şey yapamaz.
Çerez hırsızı (cookie stealer) biçimindeki özelleştirilmiş kötü amaçlı yazılımlar, hem tipik kullanıcı verilerini okumak hem de çerezleri doğrudan tarayıcıdan kapmak için tasarlanmıştır. Kurban web uygulamasını aktif olarak kullanırken, suç teşkil eden faaliyetler için fırsat penceresi yeterince büyük kalır. FBI bile, oturum çerezlerinin kullanılmasıyla hesap ele geçirme (account hijacking) hakkında resmi bir uyarı yayınlamıştır.
Tarayıcı ve web uygulaması üreticileri uygun önlemler üzerinde çalışmaktadır. Özellikle Google, benzersiz cihaza özgü çerezler aracılığıyla diğer bilgisayarlarda kullanımı daha da kısıtlamaya çalışmaktadır.
Sonuçlar
Oturum çerezleri, web sitelerinden oturum bilgilerini ve genellikle kullanıcının kimlik doğrulama ayrıntılarını depolar; bu da bu çerezleri, çok faktörlü kimlik doğrulamasını atlamak için kullanabilen suçlular için ilginç hale getirir. Her zaman olduğu gibi, özel dikkatli olunması tavsiye edilir.
Bilgi
[1] OWASP oturum yönetimi önerileri: [https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html#Session_Expiration]
[2] FBI hesap devralma (account takeover) uyarısı: [https://www.fbi.gov/contact-us/field-offices/atlanta/news/cybercriminals-are-stealing-cookies-to-bypass-multifactor-authentication]
Yazar
Dr. Matthias Wübbeling, bir BT güvenliği meraklısı, bilim adamı, yazar, danışman ve konuşmacıdır. Almanya’daki Bonn Üniversitesi’nde Öğretim Görevlisi ve Fraunhofer FKIE’de Araştırmacı olarak ağ güvenliği, BT güvenliği farkındalığı ve hesap devralmaya (account takeover) ve kimlik hırsızlığına karşı koruma konularında projeler yürütmektedir. Çalışan ve müşteri hesaplarını kimlik dolandırıcılığına karşı korumak için sızdırılmış kimlik veri tabanı tutan üniversite spin-off’u Identeco’nun CEO’sudur. Bir uygulayıcı olarak, bilgisayar sistemlerini ve hizmet arka uçlarını yöneten Alman Bilişim Derneği’ni (GI) desteklemektedir. BT güvenliği ve yönetimi üzerine 100’den fazla makale yayınlamıştır.

