SiliVaccine: Kuzey Kore antivirüs yazılımı

Ocak 16, 2019

Check Point araştırma ekibi, Bloomberg’te çalışan Martyn Williams adında bir gazeteciden mesaj aldı. Daha önce bu gazeteciye, Japon olduğunu iddia eden birisi tarafından Kuzey Kore’ye ait bir antivirüs yazılımının kopyası iletilmişti. Kuzey Kore yapımı bir yazılıma denk gelmek oldukça nadir bir durum. Bu yüzden uzman Mark Lechtik ve Michael Kajiloti, bu antivirüs aracının özelliklerini görebileceği için oldukça memnundu. Lechtik ve Kajiloti, 35C3 hacker kongresinde çalışmalarının sonuçlarını sundular.

Ancak Kuzey Kore yapımı antivirüs yazılımına geçmeden önce, Kuzey Kore’nin internetle ve internetin Kuzey Kore’yle olan ilişkisinden kısaca bahsetmemiz faydalı olacaktır.

Kuzey Kore’nin küresel ağı geliştirmedeki rolü

Bir saldırıyı belirli bir gruba isnat etmek, yani belirli bir ülkeden belirli bir grubun belirli bir saldırıya kalkıştığına dair makul bir iddia üretmek gelişigüzel tahminlere dayanan bir iştir. Kanıtları yorumlamak çok zordur, araştırmacılar kolaylıkla yanlış bir ipucunun peşine düşebilir. Yine de geçmişte bazı saldırılar, birden çok araştırma grubu tarafından Kuzey Kore’ye isnat edilmişti. Ayrıca Kuzey Kore’nin, işleri rejim için para kazanmak olan devlet destekli hacker gruplarını kullandığı iddiası da yaygın olarak kabul gören bir iddiadır. Elbette, Kore Demokratik Halk Cumhuriyeti bunları reddetmektedir.

Bununla beraber, bildiğimiz internet Kuzey Kore’de fiilen mevcut değildir: halkın çoğunluğu “Çürüyen Batı”dan gelen bütün bilgilerin silindiği Kwangmyong adındaki yerel intraneti kullanmakla kısıtlanmışken World Wide Web’e sadece seçilmiş birkaç kişi erişebilir. Dolayısıyla, Kuzey Kore ağını izleme konusunda Batı’nın pek şansı yoktur; böylesi bir ortamda konuyla ilgili en ufak bir bilgi kırıntısı bile oldukça değerlidir.

Kuzey Kore antivirüs yazılımı SiliVaccine, araştırmacıların eline nasıl geçti?

Kore–Japon antivirüsü

Akla gelen ilk soru şu: İnternet’i olmayan Kuzey Kore neden bir antivirüs kullanmak istesin? Öncelikle bu yazılımın amaçlarından biri, Batı kaynaklı makaleleri, Güney Kore TV dizilerini ve Kuzey Kore’de resmi olarak mevcut olmayan diğer bilgileri içeren flash belleklerle ülkeye sokulan virüslere karşı koruma sağlamak olabilir. Kaçak flash bellekler bu bölgelerde, şaşırtıcı bir şekilde oldukça yaygındır. İkinci ve daha az bariz sebebi ise şudur: Kuzey Kore bu antivirüsü uluslararası alanda pazarlamayı planlıyordu; en azından, yazılımın versiyonlarından biri İngilizce bir arayüze sahip.

Burada aklınıza ilki kadar mantıklı bir soru daha gelebilir: Kore Demokratik Halk Cumhuriyeti kendi antivirüs yazılımını nasıl üretmiş olabilir? Sınırlı kaynaklar da göz önünde bulundurulduğunda böyle sofistike bir ürünü tepeden tırnağa tasarlamak oldukça zordur. Check Point uzmanları da bu soruyu ele almış ve ilginç bir sonuca ulaşmış: Kore antivirüs yazılımının 2013 versiyonu (ellerinde mevcut olan versiyon buydu), Trend Micro’nun 2008’deki popüler antivirüs yazılımının motorunu kullanıyor.

Koreli geliştiriciler şüphesiz, ürünün kodunun birileri tarafından kurcalanmasını istemiyordu; ürünün birçok bileşeni Themida – tersine mühendisliği engellemek için tasarlanmış bir sarmalayıcı program – ile korunuyordu. Ancak SiliVaccine’nin bileşenlerini bir araya getiren kişiler etkileyici araç kiti Themida’nın birçok özelliğini kullanmayı ihmal etmişti. Bu sayede Check Point ekibi program koduna erişim sağlayabildi.

SiliVaccine program kodunun yaklaşık dörtte biri Trend Micro antivirüs kodunun öğeleriyle tamamen uyuşsa da belirli işlevler biraz modifiye edilmiştir. Araştırma ekibi, Trend Micro’ya şu soruyu yöneltti: Kuzey Kore, Japon yapımı bir antivirüs ürününün kaynak kodunu nasıl elde etmiş olabilir? Trend Micro, Kore Demokratik Halk Cumhuriyeti’nin motorlarını nasıl ele geçirdiğini bilmediğini ve bu nedenle motorun illegal bir şekilde kullanıldığını düşündüklerini belirtti. Trend Micro, motorlarının, kendi markaları altında koruma çözümleri sunan iş ortakları tarafından kullanılmış olabileceğini de ifade etti. Bu bilgi, en azından, kaynak kodun Kuzey Koreli programcıların eline nasıl geçmiş abileceğine dair bir ipucu vermektedir.

Trend Micro’nun araştırmaya ilgili resmi cevabı

Kuzey Korelilerin, SiliVaccine’nin Trend Micro’nun motoruyla yapıldığı gerçeğini saklamaya çalıştığı aşikar; bunun için yazılıma bazı ekstra özellikler eklenmiş. O yüzden, ilk bakışta bu iki antivirüs programının, virüs imzaları için tamamen farklı süreçler kullandığı görülebilir: Trend Micro sadece bir imza dosyası kullanırken, SiliVaccine için bu sayı 20’dir. Ancak motor başlatılır başlatılmaz tüm bu dosyalar tek bir dosya altında birleştirilir. İmzaların kendisine gelince; bunlar, Trend Micro tarafından kullanılan imzalara şüphe uyandıracak kadar benziyor: Örneğin, belli bir kötü amaçlı yazılım için Trend Micro, TROJ_STEAL-1 şeklinde bir imza kullanırken, SiliVaccine’nin imzası Trj.Steal.B şeklindedir. Yani sadece büyük-küçük harfler değiştirilmiş, tire ve alt tireler atılmış ve birkaç küçük değişiklik eklenmiştir.

Kuzey Kore antivirüs yazılımıyla ilgili araştırma devam ederken araştırma ekibi çok sayıda yazılım hatası ve tuhaflıklar keşfetmiştir. Örneğin programda, kullanıcı Dosya Gezgini’nde bir dosyaya sağ tıklayıp seçeneklerden ilgili seçeneğe tıkladığında o dosya için sözde virüs taraması yapması amaçlanan bir bileşen bulunuyor. Menüde bu seçenek gösterilse de seçeneğe tıklandığı zaman böyle bir işlem gerçekleşmiyor.

Bir başka tuhaflık ise şöyle: Yazılım, ağ bağlantılarıyla ilgili bilgi toplayan ve bu bilgilerle hiçbir şey yapmayan bir sürücüye sahip. Teoride, bu sürücüye diğer dosyalar tarafından erişilmesi gerekirken hiçbir SiliVaccine dosyası söz konusu sürücüyü kullanmıyor.

Yazılımın bazı bileşenleri BopCrypt ile şifrelenmiş. BopCrypt, yaklaşık 15 yıl önce Rusça konuşulan internet topluluğunda oldukça popüler olan bir paketleme aracıydı. Bazı bileşenler ise çoğunlukla gereksiz kodlardan oluşuyor. Bu nedenle, bazı dosyaların temel işlevinin hiçbir şey yapmayıp sadece zaman kaybı yaratmak olduğu izlenimi ortaya çıkıyor. Dahası araştırmacılara göre, SiliVaccine bileşenlerinin en azından bazılarının yaratıcıları tersine mühendislik uygulamaya çalışmış ancak kodun tam olarak nasıl çalıştığını bulmayı başaramamış.

Ayrıca araştırmacılar, kodun farklı bölümlerini yazan kişilerin takım çalışmasına pek yatkın olmadığını da düşünmektedir. Örneğin bir dosyanın, belirli bir değere ayarlanmış parametreye sahip başka bir dosyanın işlevini tetiklemesi gerekirken ikinci dosya bu değer ortaya çıkınca özellikle hiçbir şey yapmamaya programlanmış.

Bütün bunlar göz önünde bulundurulduğunda Kuzey Kore’ye ait SiliVaccine yazılımının, Trend Micro antivirüsünün değiştirilmiş ve oldukça hatalı bir versiyonu olduğu ortaya çıkıyor.

Bu kötü amaçlı bir yazılım olabilir mi?

Kore Demokratik Halk Cumhuriyeti’nin dış internet politikasına aşina olan herkesin aklına şu soru gelir: Bu yazılım ya bir Truva Atı ise? Ya kötü amaçlı bir yazılım veya benzeri bir şeyi yerleştirmek için üretilmişse? Check Point elbette bu soruyu da cevaplıyor.

Bu konuda elde ettikleri bulgular da gerçekten ilginç. İlk olarak, SiliVaccine antivirüs yazılımı temiz görünüyor. Antivirüste herhangi bir kötü amaçlı yazılıma rastlanmamış. Ancak yine de, EXE dosyalarında, motorun yoksayması gereken bir imza yer alıyor. Taranan dosyaya, bu imzaya sahip kötü amaçlı bir yazılım bulaşmışsa SiliVaccine bu virüse karşı herhangi bir yok etme girişiminde bulunmuyor.

SiliVaccine belirli bir imzaya sahip kötü amaçlı yazılım dosyalarını yoksayar

Araştırmacılar elbette bu kötü amaçlı yazılımın ne olduğunu merak ediyordu; bu amaçla SiliVaccine virüs tabanına karşılık gelen Trend Micro virüs tabanından bu imzayı çapraz kontrol etme girişiminde bulundular. Ancak bu imzanın, belli bir davranış sergileyen bütün dosyalara verilen sezgisel bir imza olduğu ortaya çıktı. Bu yüzden, Kuzey Kore yapımı bu antivirüsün tam olarak hangi kötü amaçlı yazılımın barınmasına izin vereceğini tespit edemediler. Ancak araştırmacılar, SiliVaccine geliştiricilerinin bir dizgi yanlışı yaptığını ve geçersiz bir imzayı beyaz listeye aldığını ortaya çıkardı.

SiliVaccine yükleyici dosyası kötü amaçlı olmasa da Bloomberg’de çalışan gazeteciye sözde Japon bir mühendis tarafından gönderilen arşiv dosyasında başka bir dosya daha bulunuyordu. Dosyanın adı, SiliVaccine için bir yama olduğunu ifade etse de metaverilerine göre bu dosya Microsoft’un otomatik güncellemeleriyle ilgiliydi.

Bloomberg’de çalışan gazeteciye gelen arşiv dosya, DarkHotel APT’ye bağlı kötü amaçlı bir yazılım da içeriyordu

Check Point araştırmacıları, bu dosyayı analiz etmiş ve dosyanın ilk defa Forcepoint tarafından 2016’da tespit edilen, Jaku adlı kötü amaçlı bir yazılım olduğunu ortaya çıkarmıştır. Forcepoint’in araştırmasında sunulan açıklamalara göre Jaku, Kuzey Kore ile şu veya bu şekilde bağlantısı olan kişilere karşı kullanılmıştır. Ayrıca bu yazılımın, DarkHotel ile bağlantılı olduğu da açıktır. DarkHotel, 2014’te yayınladığımız bir çalışmada faaliyetleri ele alınan, Korece konuşan bir gruptur.

Bloomberg’de çalışan ve SiliVaccine’i içeren iletiyi alan gazeteci, Martyn Williams, sık sık Kuzey Kore hakkında yazılar yazmaktadır. Bu yüzden araştırmacılar, ekte antivirüs gönderilmiş bir mailden ibaret olan bu tezgâhın Williams’a karşı hedefli bir saldırı olabileceğini varsayıyor; zaten Williams’ın yazıları, Kore Demokratik Halk Cumhuriyeti liderleri tarafından pek takdir gören çalışmalar değil. SiliVaccine ise büyük ihtimalle daha iyi seçenekler mevcut olmadığı için Kuzey Kore’de kullanılan gerçek bir antivirüs ürünü gibi duruyor.