Ülkemizde tekrardan aktive olan Cryptolocker zararlı yazılımı birçok kullanıcıyı mağdur etmeye devam etmektedir. Bulaştığı bilgisayarlardaki verileri şifreleyen zararlı yazılım, para karşılığı şifrelenen verilerin kurtarılmasını sağlamaktadır. Fakat bazı durumlarda, saldırgana ücret ödemeden, Cryptolocker zararlı yazılımı tarafından şifrelenen verileri kurtarmak için Microsoft tarafından geliştirilen shadow kopyalama teknolojisi de kullanılabilmektedir. Shadow kopyalama ile bilgisayardaki dosyaların, alanların (volume) otomatik ya da elle yedeklenmesi sağlanmaktadır.
Cryptolocker zararlı yazılımı dosyaların yedeklenmesi amacıyla kullanılan bu shadow dosyalarını silmeye çalışmaktadır. Bu işlem Şekil 1’de gösterilmektedir. Fakat özellikle yeterli haklarla çalıştırılamadığı takdirde silme işleminde her zaman başarılı olamamaktadır. Bu sebeple şifrelenmiş dosyaların yedeklerini shadow dosyalardan bulmak mümkün olabilmektedir. Bu özellik Vista ve üzeri sistemlerde shadow kopyalama varsayılan ayar olarak aktif iken, XP’de bu özelliğin elle(manuel) aktif hale getirilmesi gerekmektedir.
Şekil 1-Zararlı Yazılımın Shadow Dosyalarını Silmeye Çalışması
Shadow dosyalarını listelemek için komut satırını admin haklarıyla çalıştırarak Şekil 2’de gösterildiği gibi “vssadmin list shadows /for=C:” komutu ile sistemdeki shadow kopya dosyaları görüntülenebilmektedir.
Şekil 2-Shadow Dosya Kopyalarının Görüntülenmesi
Bu dosyalardan uygun görülenlerden bir tanesi seçilerek “mklink /d c:\shadowCopy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyX\” komutu (en sondaki ‘X’ karakterini değiştirme ve ‘\’ karakterini koyma unutulmamalı) ile sembolik bir oluşturulabilmektedir.
Şekil 3- Sembolik Link Oluşturulması
Şekil 4- Sembolik Linki Oluşturulan Shadow Klasörü
Daha sonra oluşturulan bu klasöre içinden istenilen dosyaların şifrelenmemiş hallerinin olup olmadığı kontrol edilebilmekte ve varsa şifrelenmemiş halleri kopyalanabilmektedir.
Shadow kopyalama özelliğini kullanmanın dışında, başarı şansı çok yüksek olmamakla birlikte, daha ileri veri kurtarma yöntemleri de kullanılabilmektedir.
Zararlı Yazılımın Yeniden Çalışmasını Engellenmek Yapılması Gerekenler
Kayıt defterinde run (çalıştır) ın altında bilgisayarların her açılışında çalıştırılacak anahtarlar(key) bulunmaktadır. Cryptolocker zararlı yazılımı da kendisini buraya eklemektedir. Böylelikle her açılışta çalışmaktadır.
Zararlı yazılımın tekrardan çalışmasını engellemek için bu dosyayı bulup kaldırmak gerekmektedir. Bunun için “regedit -> HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” ‘a girilmelidir.
Şekil 5- Zararlı Yazılımı Kayıt Defterindeki Görüntüsü
Şekil 5’te gösterildiği üzere, rastgele bir isimden (her bilgisayarda farklı olabilmekte) oluşan bir kayıt bulunmaktadır. Bu kayıtta”C:\Windows” altındaki yine rastgele isimli (her bilgisayarda farklı olabilmekte) bir “.exe” dosyasının yolu bulunmaktadır. Bu kayıt sayesinde zararlı yazılım her bilgisayar açılışında çalıştırılmaktadır. Bu kayıt silindiği takdirde ilgili zararlı yazılım sistem başlatıldığında bir daha çalışmayacaktır.
Çalışma ve Şifreleme Prensibi
Bir önceki versiyon, dosyaları simetrik olarak (AES-CTR) ve AES anahtarı da, asimetrik (RSA) bir şekilde şifreliyordu. Mağdurlardan RSA public key ile şifrelenmiş anahtar istenip, private anahtar ile çözümlenmiş şifreyi içerisinde barındıran decrypter programını kurbanlarına veriyorlardı.
AES’i uygulamanın en güvenli yolu CTR olarak bilinir. RSA anahtarınında PRNG (Pseudorandom number generator) ile üretildiğini ilk gördüğümüzde kurbanlara yardım edilebilecek bir yöntem olamayacağını düşündük. Fakat incelemeye devam ettiğimizde, AES-CTR uyugulamarında, Nonce ve counter değerlerinin (IV) tüm dosyalarda sabit olduğunu gördük.
AES-CTR’de bu değerlerin sabit olması, kriptolojide felaket olarak tabir edilir. Nedenini anlamak için AES-CTR’nin çalışma şekline bir bakalım.
Semada görüldüğü üzere, CTR sayesinde, blok şifreleme olarak çalışan AES, stream şifreleme yapacak şekilde kullanılmaktadır. IV ve Key aynı olduğundan dolayı, şifrelenmiş dosyalardan, en büyük olanının şifrelenmemiş halini bulursak, bunları birbirleri ile XOR işlemine tuttuğumuzda, şifrelemede kullanılan max KeyStream’a ulaşmış oluruz.
C=P⊕AES(Key,IV) burada C=ChipperText, P=Plaintext , IV sabit, C’yi zaten biliyoruz ve P’yi bulabilirsek, KeyStream’ı KS=C⊕P formülü ile bulabiliriz. KS’yi bulduğumuzda, herhangi bir dosyanın şifresini PX=CX⊕KeyStream formülü ile çözebiliriz.
Peki, şifrelenmiş dosyalar içinde en büyük olanının, orijinal halini nasıl bulacaktık?
En iyi çözüm, az bir ihtimalde olsa kullanıcı, belki bu dosyanın orijinal kopyasını email kutusunda vb. yerlerde bulabilmesiydi. Eğer, orijinal dosyaya ulaşamazsak, çözüm geliştirmemiz zor olurdu. Bu noktada, zararlının yazarları yaptıkları hata ile işimizi dahada kolaylaştırdı. Çünkü geliştirdikleri zararlı, hedef dosya ne kadar büyük olursa olsun, dosyanın sadece ilk 2MB’lik bölümünü şifreliyordu. Bu durumda, şifreli ve orijinal halini bildiğimiz 2MB boyutunda bir dosya bulmamız, tüm dosyaların şifresini çözmemiş için yeterli olacaktı.
Bu dosya için en uygun hedef ise, Windows’un, kurulum sırasında örnek videolar klasörüne koyduğu ve zararlı tarafından da şifreleme işlemine tabi tutulan “Vahşi Yaşam.wmv” video’su oldu.
“Vahşi Yaşam.wmv” video’sunun orijinal halinin ilk 2MB’lik kısmını, temiz bir sistemden alarak , tool’umuzun içine koyduk ve tool’umuz, bu dosyayı, infekte olmuş sistemdeki “Vahşi Yaşam.wmv.sifreli” dosyası ile XOR ettiğinde, decryption için gerekli olan 2MB boyutundaki KeyStream oluşuyordu.
Şimdi en çok merak edilen ve son fatura zararlısından ve olası kurtarma seçeneklerinden bahsedelim;
Aslında bu zararlı yazılım, kendini CryptoLocker olarak göstersede, CryptoLocker versiyonu değil, ilk saldırıyı yapanlar tarafından çok ufak modifikasyonlar yapılarak derlenmiş bir halidir.
Fatura saldırılarını yapan gurubun, AV’leri atlatmak konusunda çok başarılı çalıştığını söyleyebiliriz, zararlı, elimize ilk geldiğinde, sadece 1 tane ismi duyulmamış bir AV tarafından bulunabiliyordu, bu nedenle, söz konusu faturayı açan kullanıcıların neredeyse tümüne bulaştığını tahmin ediyoruz. AntiLogger kullananlar hariç, çünkü kullandığı “code injection” işlemi, AntiLogger tarafından fark ediliyor ve neticesinde, zararlı şifreleme işlemine başlamadan sonlandırılıyor.
İncelediğimiz zararlının MD5’i 4A4BAF09600A0DA0E803D4F7716642A3, Söz konusu zararlı, ilkinde de olduğu gibi dosyaları AES ile ve anahtarı da RSA ile şifreliyor. Şifrelediği dosyaların uzantısını “.encrypted” olarak değiştiriyor. Arakasından’da VSS shadow backup’ları silerek, kurbandan 1.245 BTC (1200 TL) talep ediyor.
Bu defa AES’i, CBC modunda uygulamışlar ve eski versiyonda yaptıkları aynı hatayı yapıp, her dosya için yine aynı Key/IV değerlerini kullanmışlar. Hemen heyecanlanmayın, çünkü AES-CBC’de IV/Key’yi tekrarlamak kötü bir kriptografik uygulama olsada, AES-CTR’de tekrarlamak kadar kötü bir durum değil.
AES-CBC’nin çalışma şekline bir bakalım.
Şekilde görüldüğü gibi bu defa AES, bir önceki versiyonda olduğu gibi “stream chipper” olarak kullanılmamış ve IV her dosya için aynı olsada, dosyanın ilk başlarında 1 bit’in bile değişmesi bambaşka bir chipher ortaya çıkartıyor.
Çözüm üretmemiz için olanak sağlayacak bir hata olmamasına rağmen, kötü bir kriptografik uygulama diyebiliriz. Çünkü iyi bir kriptografik uygulamada, şifrelenmiş mesaj’a bakmak, orijinal mesaj hakkında hiçbir fikir vermemesini gerektirir.
Özetlememiz gerekirse,
- Başlarda da bahsettiğimiz üzere, bu zararlı çalıştığında “Volume Shadow Copy” geri yükleme dosyalarını siliyor, ancak login olduğunuz sistemde yönetici haklarınız yoksa zararlı yazılım, dosyalarınızı şifrelemesine rağmen, geri yükleme noktalarını silemeyeceği için, yönetici hesabından, şifrelenmiş dosyalarınız kurtarılabilir.
- Zararlı, dosyanın içeriğini olduğu yerde değiştirip, MoveFile fonksiyonu ile dosya uzantısını değiştirdiği için, aslında bir silme işlemi gerçekleşmiyor ve sıradan dosya kurtarma programları maalesef işinize yaramayacaktır, ancak geri yükleme noktalarını silerken, güvenli bir silme gerçekleştirmeyip, vssadmin.exe ile silme işlemini yapmakta ve vssadmin.exe’de bunları DeleteFile fonksyonu ile sildiğinden bu geri yükleme noktaları, dosya kurtarma programları ile kurtarılabilir.
- “Volume Shadow Copy” dahil hiçbir yedek yoksa bile bazı önemli dosyalar kurtarılabilir, çünkü Windows, defrag işlemi yaptığında, dosyaların fragmante olmuş kısımlarını, ilk yerinde bırakıyor, tabi bu işlem çok karmaşık ve zahmetli olduğundan, bu işi adli bilişim firmalarına bırakmalısınız.