Hızlı cevap: Kalın istemci sızma testi, kullanıcının bilgisayarına kurulan masaüstü uygulamaların açıklarını bir saldırgan gözüyle inceleyen güvenlik hizmetidir. Bu uygulamaların temel sorunu şudur: kodun bir kısmı kullanıcının bilgisayarında çalışır, yani saldırganın tam kontrolündeki bir ortamdadır. En sık açıklar, uygulamaya aşırı güven, yani önemli kararların istemci tarafında verilmesi, yerel diskte güvensiz saklanan veri, uygulama belleğinde kalan kimlik bilgileri ve şifrelenmemiş arka uç iletişimidir. DSET bu testi yerel yapay zekâ motoru KAOS ile yürütür ve her bulguyu çalışan bir kanıtla doğrular.

Pek çok kurum web ve mobil uygulamalarını düzenli test ederken, çalışanların masasındaki kurulumlu uygulamaları gözden kaçırır. Oysa bir muhasebe programı, bir banka terminali veya bir üretim kontrol yazılımı, çoğu zaman en hassas verilere ve en kritik işlemlere erişir. Bu yazı, kalın istemci sızma testinin ne olduğunu, hangi açıkları hedeflediğini ve DSET ile KAOS yaklaşımını anlatır.

Kalın istemci sızma testi nedir

Kalın istemci sızma testi, bir masaüstü uygulamasının üç katmanını birlikte inceler. Birinci katman uygulamanın kendisidir, yani çalıştırılabilir dosyanın tersine mühendislikle incelenmesi ve içine gömülü sırların aranması. İkinci katman yerel veri saklamadır, yani uygulamanın diske veya kayıt defterine yazdığı verinin güvenli saklanıp saklanmadığı. Üçüncü katman arka uç iletişimidir, yani uygulamanın sunucuyla konuşurken trafiğini şifreleyip şifrelemediği ve bu trafiğin değiştirilip değiştirilemeyeceği. Bu üç katman birlikte test edilmediğinde, eksiksiz bir güvenlik tablosu çıkmaz.

Hangi açıkları hedefler

Kalın istemci uygulamalarının açıkları, kodun kullanıcının kontrolündeki bir ortamda çalışmasından kaynaklanır. Saldırgan uygulamayı inceleyebilir, değiştirebilir ve belleğini okuyabilir.

Açık sınıfı Ne anlama gelir Tipik sonuç
İstemci tarafı güven Önemli karar istemcide verilir Yetki ve iş mantığı atlatma
Güvensiz yerel saklama Hassas veri diske açık yazılır Veri ifşası
Gömülü sır Anahtar veya parola çalıştırılabilir dosyada bulunur Kimlik bilgisi sızıntısı
Şifrelenmemiş iletişim Trafik düz metin veya değiştirilebilir Araya girme, veri değiştirme
Zayıf güncelleme Uygulama imzasız güncelleme çeker Zararlı güncelleme

Tablonun özü şudur: kalın istemci uygulamasında saldırganın ortama tam erişimi olduğu için, güvenliğin istemciye bırakılması en büyük hatadır. Her kritik karar sunucu tarafında yeniden doğrulanmalıdır. Aynı güven sorunu mobil uygulamalarda da geçerlidir; benzer mantık için mobil uygulama sızma testi ve OWASP MASVS karşılaştırmalı bir bakış sunar.

İstemci tarafı güven neden tehlikelidir

Bir kalın istemci uygulaması, bir kullanıcının bir işlemi yapıp yapamayacağına kendi içinde karar verdiğinde, saldırgan o kararı değiştirebilir. Çünkü uygulama saldırganın bilgisayarında çalışır ve saldırgan uygulamanın belleğini ve davranışını değiştirebilir. Bu yüzden testin merkezinde tek bir soru vardır: uygulama bir güvenlik kararını yalnızca istemci tarafında mı veriyor, yoksa sunucu tarafında yeniden doğruluyor mu? Uygulamanın konuştuğu arka uç servislerin kendi testi için API sızma testi hizmetimiz tamamlayıcıdır.

Tersine mühendislik ve bellek incelemesi

Kalın istemci testinin güçlü bir parçası, çalıştırılabilir dosyanın tersine mühendislikle incelenmesidir. Bu inceleme, uygulamaya gömülü sırları, gizli özellikleri ve güvenlik kontrollerinin nasıl kurulduğunu ortaya çıkarır. Ayrıca uygulama çalışırken belleği incelenir, çünkü kimlik bilgileri ve hassas veriler çoğu zaman bellekte açık biçimde bulunur. Bu yöntemler, bir açığın gerçekten istismar edilebildiğini kanıtlamak için kullanılır, teorik bir riski göstermek için değil.

Ne zaman gerekir

Kalın istemci sızma testi, yeni bir masaüstü uygulaması dağıtılmadan önce, uygulamada önemli bir değişiklik olduğunda ve düzenli aralıklarla yapılmalıdır. Özellikle finans, sağlık ve üretim alanlarında kritik işlemleri yürüten masaüstü uygulamaları için bu test önemlidir. Testin kapsamı ve türü önceden belirlenmelidir, bunun için sızma testi türleri ve kapsam rehberi başvuru noktasıdır.

KAOS ve DSET yaklaşımı

DSET, kalın istemci sızma testini yerel yapay zekâ motoru KAOS ile yürütür. KAOS, çalıştırılabilir dosyayı tersine mühendislikle inceler, yerel saklamayı ve arka uç iletişimini sınar, istemci tarafı güven varsayımlarını test eder ve bulduğu her açığı çalışan bir kanıtla, kanıt temelli doğrulama ilkesiyle raporlar. Fark şudur: bir güven varsayımının teorik olarak kötüye kullanılabileceğini söylemekle yetinilmez, o varsayımın gerçekten atlatıldığı kanıtlanır. Bir bulgu doğrulandıktan sonra düzeltmenin işe yaradığını görmek için yeniden test ve remediation doğrulaması uygulanır.

Sık sorulan sorular

Kalın istemci testi, web uygulama testiyle aynı yöntemleri mi kullanır? Kısmen. Arka uç iletişimi ve iş mantığı testinde yöntemler benzerdir, ama kalın istemci testi ek olarak çalıştırılabilir dosyanın tersine mühendisliğini, yerel saklama incelemesini ve bellek analizini içerir. Bu ek katmanlar, kodun kullanıcının bilgisayarında çalışmasından kaynaklanır.

Uygulamam açık kaynak değil, yine de tersine mühendislik mümkün mü? Evet. Bir uygulamanın kaynak kodu kapalı olsa bile, çalıştırılabilir dosyası kullanıcının bilgisayarında bulunduğu için bir saldırgan onu inceleyebilir. Bu yüzden güvenlik, kodun gizliliğine değil, sağlam tasarıma dayanmalıdır. Test de saldırganın yapabileceğini kanıtlamak için aynı tersine mühendislik yöntemlerini kullanır.

Test uygulamama veya verilerime zarar verir mi? Hayır. Test, bir açığın varlığını kanıtlamaya odaklanır, veriyi silmeye veya uygulamayı bozmaya değil. Hangi uygulamanın ve hangi ortamın test edileceği önceden sözleşmeyle belirlenir, mümkün olduğunda test bir kopya ortamda yürütülür.

Kaynaklar

Masaüstü ve kalın istemci uygulamalarınızı kanıt temelli bir testle incelemek için DSET ile iletişime geçin. Ankara Hacettepe Teknokent laboratuvarımızdan kalın istemci sızma testi ve danışmanlık sağlıyoruz.