Yazılım dünyasında korsanların kullandığı Shellcode, kabuk kod olarak bilinir ve sanal korsanların güvenlik açığını değerlendirerek yük olarak kullandıkları küçük kodlardır. Makinenin belleğine yerleştirilen bu kodlar çalışabilir talimatlara sahiptir.
Shellcode Özellikleri
Bu kategoride gerçekleşen saldırılarda ikinci adım bir sonraki adımın takibidir. Kısacası programın akışı gönderilen koda göre ayarlanır.
Shelcode güvenlik açığı;
- Program bellek atama,
- Girdi veri geçerliliği denetleme,
- Bellek hatalarını işleme şeklinde oluşur.
Kesin ve uygunsuz verileri red ederek yazılım geliştiren yazılımcılar, korsan saldırılara karşı etkili kesin yöntemleri tercih ederler.
Shellcode Açık Bulma
Ara bellekte taşması yani veri hırsızlığı, atamalarda yapılan hatalardan kaynaklanır. Bu durum izinsiz giriş kodlarının girişine izin verir ve bu durumda veri hırsızlığı meydana gelebilir. Yazılımın, atama, denetleme ve hataları işleme konusunda yaptığı hatalar açığın oluşmasına neden olur.
Shellcode Dili
Shellcode programlama yazılım dili, C++, C+, assembly gibi düşük versiyonlardır. Java ve Perl gibi diller de güvenlik açığına göre tercih edilebilir. Müdahale edilmesi planlanan kodlar yüklenen bir dosyaya veya ağ üzerinde bulunan bir dosyaya yerleştirilir.
Korsan saldırı yapacak kişinin denetim yapabilmesi için yerel kabuk kodları özel tasarlanmaktadır. Saldırı yapılacak hesabın ayrıcalık oluşturabileceği artı bir hesabın açılması, saldırının ilk aşamalarından biridir. İnternet ağı üzerinden başka bir bilgisayarı kontrol etmek için açıklardan faydalanmak, sanal korsanların en çok tercih ettiği yöntemlerden biridir.
Shellcode İşlevi
Kod yerleştirme işleminde ilk aşamada bilgisayara 'bir bağlantı yap' emri gönderilir. Kullanıcı istediği bağlantıyı kurduğunu zanneder ancak durum çok daha farklıdır. Uzaktaki bilgisayara bağlanmak isteyen farklı emirler gönderir ve bu emirler güvenlik duvarı tarafından fark edilir. Güvenlik duvarı 'bilgisayarınız için zararlı' veya 'virüs' uyarısı verir.
Uzaktan erişimde kod gönderme işleminde müzik, resim, video ve program yükleme işlemleri sıklıkla kullanılır. Virüs programları internet üzerinden gönderilen kodları fark edebilir. Ancak yazılımcı bu uyarıları dikkate alarak güncel bir kod oluşturduğunda virüs programı fark etmeyebilir. Virüs programları da güncel saldırılara karşı kendini günceller. Komut yöntemi ile bilgisayara kod gönderme işleminde kullanıcının beklentisi göz önüne alınır.