Blog

WhatsApp Güvenliği, Kripto Uygulamaları ve Kripto Protokolü

 

Akıllı telefon teknolojilerinin gelişmesiyle birlikte artan mobil uygulamalar, insanların günlük yaşamlarında vazgeçilmez bir konuma yükseldi. Spordan, Sağlığa Yeme İçme alışkanlıklarından şehrin anlık trafiği’ne kadar hayatımızın her alanında artık mobil uygulamalar var. Gsm operatörlerinin sunduğu SMS hizmeti, mobil uygulamaların gelişmesiyle popülaritesini kaybetti. Artık sms yerine whatsapp, viber, telegram vb. gibi mobil uygulamalar revaçtadır. Android, IOS, Windows Mobile, Blackberry OS gibi işletim sistemleri en çok kullanılan mobil işletim sistemleridir ve bu işletim sistemlerinin marketlerinde milyonlara varan mobil uygulamalar bulunmaktadır. 

Bir işletim sistemi için geliştirilen uygulam diğer işletim sisteminde çalışmamaktadır. Örneğin IOS işletim sistemi için geliştirilen bir mobil uygulamayı Android işletim sistemine sahip bir telefonda çalıştıramayız. Bu ayrıntı , kullanıcıların akıllı telefon tercih ederken göz önünde bulundurdukları kriterlerden biridir. Kullanıcıların akıllı telefon tercih ederken göz önünde bulundurdukları  diğer kriterler ise ; hız, stabil çalışma, kişiselleştirebilirlik, uygulama market ve üretici desteği olarak bilinmektedir. (Kaspersky Lab, 2015) Tüik[1] tarafından 2015 yılında yapılan hane halkı bilişim teknolojileri kullanım araştırması istatistiğine göre; Hanelerin 2015 yılı Nisan ayında %96,8’inde cep telefonu veya akıllı telefon bulunurken, sabit telefon bulunma oranı %29,6 oldu. Aynı dönemde hanelerin %25,2’sinde masaüstü bilgisayar, %43,2’sinde taşınabilir bilgisayar ve %20,9’unda İnternete bağlanabilen TV bulunmaktadır.[2] (Türkiye İstatistik Kurumu, 2015) Her evde internete erişen bireyler olduğu düşünüldüğünde Whatsapp çok kritik bir uygulamadır.Nitekim eylül ayında açıklanan 900 milyon kullanıcı sayısı ile Dünya’nın en çok kullanılan anlık mesajlaşma uygulaması olan whatsapp’ın 2013 yılından bu yana kat ettiği mesafe aşağıdaki resimde belirtilmektedir. 


Whatsapp Nedir ? 

WhatsApp diğer adıyla Whatsapp Messenger, gsm operatörlerinin SMS'e para vermeden mesaj alışverişi sağlayan platformlar arası bir mobil mesajlaşma uygulamasıdır. WhatsApp Messenger; iPhone, BlackBerry, Android, Windows Mobile ve Nokia için kullanılabilir durumdadır. Bu telefonların hepsi birbirine ileti gönderebilmektedir. WhatsApp Messenger internet paketini kullandığı için mesajlar için hiçbir maliyet doğmamaktadır. Bireysel mesajlaşma’nın dışında WhatsApp kullanıcıları gruplar oluşturup, birbirlerine sınırsız görüntü, video ve ses mesajları gönderebilmektedirler. (Whatsapp , 2015)

Whatsapp’ın Çalışma Mantığı Nedir ? 

Whatsapp temelde Jabber denilen bir haberleşme  protokolü kullanmaktadır.Jabber hayatına XMPP olarak devam etmektedir.XMPP ( Extensible Messaging and Presence Protocol ) Genişletilebilir Mesajlaşma ve Varlık Protokolü, Internet'teki iki ucun herhangi bir yapısal bilgiyi birbirleri arasında karşılıklı ve neredeyse eş zamanlı aktarmalarına olanak sağlayan açık bir XML protokol ve teknolojileri bütünüdür. (https://tr.wikipedia.org/wiki/XMPP, tarih yok) 

XMPP’nin avantajları ;         

Açıktır: XMPP protokolleri açık ve özgürdür, kolayca anlaşılabilirdir; istemciler, sunucular, bileşenler ve kod kütüphaneleri için birden fazla uygulama mevcuttur.        
StandarttırIETF (internet engineering task force; türkçeye sözcük sözcük çevrilmiş hali: Genel ağ mühendislik görev gücü) çekirdek XML (Extensible Markup Language / Genişletilmiş İşaret Dili) sürekli yayın protokollerini kabul edilen mesajlaşma teknolojisi olacak şekilde formalize etmiştir. XMPP'da kullanılmakta ve IETF'nin standartlaşma sürecine uygun olarak XMPP Standards Foundation (önceki adıyla Jabber Software Foundation) tarafından geliştirilmektedir. 

Kendini ispatlamıştır: Jabber teknolojisi ilk olarak 1998'de geliştirilmeye başlanmıştır ve şu anda nerede ise tamamen kararlıdır. Şu anda XMPP teknolojileri yüzlerce geliştirici tarafından geliştirilmekte, onbinlerce suncusu Internet üzerinde çalıştırılmakta ve milyonlarca insan mesajlaşma için kullanmaktadır. ·         

Merkezi değildir: XMPP ağının mimarisi e-posta mimarisine çok benzer, herhangi bir kişi bir XMPP sunucu işletebilir. 

Güvenlidir: Herhangi bir XMPP sunucu, XMPP ağından tamamen izole edilebilir, örneğin sadece yerel bir ağ içerisinde kullanılabilir, ve çekirdek XMPP spesifikasyonlarında yer verilen SSL(kimlik doğrulama güvenlik katmanı) ve TLS (iletim katmanı güvenlik protokolü) ile güçlü ve sağlam bir güvenlik sunar.      

Genişletilebilirdir: Herhangi birisi XML'den faydalanarak çekirdek protokol üzerine kendi istediği fonksiyonları inşa edebilir.     

Esnektir: XMPP uygulamaları XMPP'ın sunduğu altyapı sayesinde mesajlaşmanın ötesinde, ağ yönetmek, dosya ve içerik paylaşmak, uzaktaki sistemlerin durumunu görüntülemek (system monitoring), oyun oynamak için de kullanılabilir. 

Kozmopolittir: Çok sayıda şirket ve açık kaynak kodlu proje XMPP protokolünü kullanmaktadır, gerçek zamanlı uygulamalar ve servisler geliştirmektedir.  (XMPP, 2010)



 



Whatsapp’ın Güvenlik Durumu 

Whatsapp’ın çalışma mantığını ve XMPP Protokolüne yukarıda değinmiştik.Çalışma mantığı aşağıda gösterildiği gibidir.

 



Gönderdiğiniz mesaj whatsapp sunucularına iletilir  ve giden kişinin id’sine bakılır.Sunucu kimlik bilgilerini kontrol eder ve mesajı alıcıya iletir. Mesaj karşı kullanıcının telefon hafızasına veya sd kart kullanıyorsa sd kartına kayıt edilir. Bu noktada bir problem ortaya çıkıyor ;




Uygulama Marketlerinden indirilen uygulamalar akıllı telefonlara kurulum aşamalarında telefonun çeşitli özelliklerine erişim istemektedirler; Yani Whatsapp telefonunuzda kuruluyken indirdiğiniz 3rd party bir uygulama verdiğiniz izin sayesinde “ Hafıza Kartınıza ” erişecektir.






Hafıza kartınıza erişen 3rd party uygulamalar, hafıza kartındaki whatsapp backup’ını kopyalayıp farklı bir sunucuya transfer edebilir. Bu nedenle Google Play Store yada IOS App Store’dan indirdiğiniz uygulamalara dikkat etmekte fayda olacaktır.


Whatsapp’ın  Kripto Protokolü 

Kimlik Doğrulama WhatsApp sunucusunda  Şifre ile oturum açabilmek için özel bir kimlik doğrulama mekanizması olan SASL kullanılır. 
WAUTH-1 Telefon numarası ile giriş yapmak için XXXXXXXXXXXX  olur:
  • Kullanıcı’nın gönderdiği Betik:

 <auth  xmlns= "urn:ietf:params:xml:ns:xmpp-sasl"  user= "XXXXXXXXXXXX"  mechanism= "WAUTH-1" />

  • Sunucu (Sunucu’nun verdiği cevap  : YYYYYYYYYYYYYYYYYYYY )

 <challenge  xmlns= "urn:ietf:params:xml:ns:xmpp-sasl" > YYYYYYYYYYYYYYYYYYYY </challenge>

·         Sunucu yanıt vermek için, istemci kullanıcının şifresi, hash fonksiyonu olarak salt ve SHA1 ile PBKDF2 kullanarak bir anahtar oluşturur.  PBKDF2 günümüz şartlarının altında 16 yineleme kullanır. PBKDF2 sonucundan 20 bayt şifrelemek ve MAC için kullanılan RC4 için bir anahtar olarak : XXXXXXXXXXXX || YYYYYYYYYYYYYYYYYYYY || UNIX timestamp zaman damgasıyla damgalanarak oluşturulur.
 <response  xmlns= "urn:ietf:params:xml:ns:xmpp-sasl" > ZZZZZZZZZZZZZ </response> 
·         Şu andan itibaren, her mesaj şifrelenir ve MAC bu anahtarı kullanarak (HMAC-SHA1 oluşturur.)
 

PROBLEM  : HER IKI YÖNDEDE AYNI ŞIFRELEME ANAHTARI KULLANILMAMALIDIR.

(A ^ X) ^ (B ^ X) = A ^ B
Aynı RC4 anahtar ile şifrelenmiş iki mesaj varsa, biz bu anahtar akışını iptal edebiliriz.! 

WhatsApp Gelen ve giden RC4 akışı için aynı anahtarı kullanır, biz gelen akım üzerinde şifreli bayt i biliyorsak xor ile giden mesaj üzerinde şifreli bayt i ile ed eşit olacaktır. Xor metin ile gelen akım üzerinde düz metin byte i , bu bize başka baytları ortaya çıkarma ihtimali verebilir.Bu işlem ilk aşamada doğrudan tüm baytı ortaya koymuyor, ancak birçok durumda işe yarayacaktır: RC4 akışında aynı yerde göndericiye geri mesaj ileterek orijinal olan gibi düzgün şifresini gönderecektir. Bu istismar’a  açık bir kurgudur.

Whatsapp Web Message  

Whatsapp 2015 yılında mobil erişimin dışında tarayıcı destekli anlık mesajlaşma uygulamasınıda hayata geçirmiştir. Whatsapp Web üzerinde aşağıdaki kripto protollerini kullanmaktadır.  Şekil 1: (Whatsapp Web, 2015) 




2014 yılına kadar RC4 , SHA1 kullanan whatsapp RC4'ün güvenlik riskleri nedeniyle TLS 1.2 VE RSA ( P-256 ) Kullanmaktadır.
 
 


 

[1] Türkiye İstatistik Kurumu

[2] http://www.tuik.gov.tr/PreHaberBultenleri.do?id=18660
[3] http://www.statista.com/statistics/260819/number-of-monthly-active-whatsapp-users/
[4] http://www.codingsection.com/wp-content/uploads/2015/06/how-whatsapp-works2.jpg
[5] https://www.researchgate.net/publication/277307297_Securacy_An_Empirical_Investigation_of_Android_Ap...
[6] https://www.researchgate.net/publication/281628952_A_Preliminary_Study_in_Improvising_Instant_Mobile...
[7] https://sourceforge.net/mirror/whatsapp-desktop-client/code/34/tree/trunk/WhatsappClient/bin/Debug/W...




Yazar Hakkında

Halen bir kamu kurumunda görevine devam etmektedir. Meslek hayatı boyunca çeşitli kamu kurumlarında güvenlik analisti ve bilgi güvenliği uzmanı olarak çalışmıştır. İstanbul Şehir Üniversitesinde Bilgi Güvenliği Mühendisliği üzerine yüksek lisans yapmaktadır. Sibertehdit.com'un kurucusudur. Cyber Threat Intelligence, Penetration Testing, Critical Infrastructure Protection alanlarında çalışmalar yürütmektedir.






Yorum Yapmak İçin Giriş Yapın.