İlkbahar aylarında Instagram'ın iOS ve Android sürümlerinde kritik bir güvenlik açığı tespit edilmişti. Bu güvenlik açığı, bir saldırganın hedef kullanıcının verilerine erişmesini, kullanıcının Instagram'a erişimini engellemesini, kullanıcının hesabı üzerinde tam kontrol sağlamasını ve hatta mobil cihaz üzerinde tam kontrol sağlamasına neden oluyordu. Bu güvenlik açığı kapatılmış olsa da yapılan yeni açıklamalar, açığın nasıl sömürülebileceğini teknik olarak açıklıyor.
Yapılan açıklamalara göre Instagram'ın güvenlik açığını kullanabilmek çok basitti. Bir saldırgan, özel bir görüntü oluşturarak bu görüntüyü hedeflediği kullanıcıya gönderirse, güvenlik açığı nedeniyle geniş kapsamlı bir erişim hakkının kapıları açılmış oluyordu. Hedefteki kullanıcının ilgili görseli telefonuna kaydetmesi de süreci başlatıyor ve bilgisayar korsanı, hedefindeki kullanıcının tüm verilerine erişebiliyordu.
Instagram'ın kritik önem arz eden güvenlik açığı, Check Point isimli siber güvenlik şirketi tarafından keşfedildi. Şirket, bu güvenlik açığını Facebook'a bildirdikten sonra da gerekli işlemler başlatıldı ve açık kapatıldı. Ancak bu güvenlik açığıyla ilgili teknik açıklamalar yapan Check Point, güvenlik açıklarının aslında ne kadar kolay sömürülebildiğini, kullanıcıların nasıl bir risk altında olduklarının anlaşılmasını sağlıyor.
Check Point'ten Gal Elbaz tarafından hazırlanan teknik rapora göre Instagram'ın güvenlik açığına neden olan şey, üçüncü taraf kod entegrasyonuydu. Siber güvenlik uzmanı, Instagram'da da kullanılan Mozjpeg isimli bir açık kaynak kodlu JPEG kodlayıcısının, bu güvenlik açığına neden olduğunu söylüyor. Instagram, bu kodlayıcı üzerinden daha küçük boyutlu olduğunu düşündüğü ancak aslında çok büyük olan bir görseli yüklemeye çalışıyor bu da çökmeye neden oluyordu. Bu tür bir aksaklık, "yığın arabellek taşması" olarak da biliniyor.
- Not: Mozjpeg isimli açık kaynak kodlu JPEG kodlayıcısı, Mozilla ve Facebook tarafından ortak olarak geliştirildi. Bu kodlayıcının dikkat çeken özelliği, JPEG uzantılı dosyaları (yani pek çok fotoğrafı) daha küçük boyutlarda oluştururken, kalite kaybı yaşatmamasıydı. Bu sayede hem Mozilla ve Facebook'un veritabanları rahatlayacak hem de kullanıcılara daha hızlı bir görsel yükleme deneyimi sunulacaktı.
Check Point tarafından hazırlanan rapora göre uzmanlar, Mozjpeg'in kodlarını, JPEG kodlayıcının Instagram'ı etkileyip etkilemeyeceğini anlamak için araştırmışlar. İşte söz konusu kritik güvenlik açığı da bu araştırmalar sırasında ortaya çıkmış. Elbaz, oluşturduğu raporda güvenlik açığının hangi kod çalışırken sömürüldüğünü de paylaşıyor;
*Sarı renkli okla belirtilen kod, "yığın arabellek taşması" sorununun kaynaklanmasına yol açıyor.
Elbaz, bir bilgisayar korsanının söz konusu güvenlik açığından faydalanabilmek için 2^32 bytetan daha büyük bir boyut belirtmesi gerektiğini ifade ediyor. İşte bu şartlara uyan bir görüntü oluşturup bu görüntüyü hedef kullanıcıya gönderen bir saldırgan, hedefe Instagram üzerinden ulaşmış oluyordu. Hatta Elbaz'e göre bir bilgisayar korsanı, bu güvenlik açığından faydalanarak kendi kodlarını bile yürütebilir.
Söz konusu güvenlik açığının işleyişini şu şekilde özetlemek mümkün
- Kurbana, şartları sağlayan bir görüntü gönderin. Bu görüntü SMS, WhatsApp ya da e-posta uygulamaları aracılığıyla gönderilebilir.
- Görüntü, telefona kaydedildikten sonra kurbanın Instagram'a giriş yapmasını bekleyin.
- Kurban, Instagram'a erişmeye çalıştığında uygulama çökecek. Bu süreçte de güvenlik açığından farklı şekillerde faydalanılabilir.
İşte bu teknik rapor, güvenlik açıklarının kullanıcıları nasıl kolay bir şekilde kurban haline gelebileceklerini gösteriyor. Ayrıca yukarıdaki anlattığımız süreçleri genişletmek de mümkün. Yani söz konusu güvenlik açığının çok daha fazlasına yol açma ihtimali var. Ancak Check Point, güvenlik açığını Facebook'a bildirdikten sonra bu açık üzerinde çalışmayı bırakmış. Çünkü güvenlik açığı hızlıca kapatılıp, risk ortadan kalkmış.