Page 66 - bilgem-teknoloji-dergisi-9
P. 66
Yapay Zekâ
Analiz Yaklaşımına Göre Kullanılan komşuluk algoritması, (naïve) Bayes sınıflandırma al-
Bilgi Kaynakları goritması ve yapay sinir ağları gibi alışıldık yöntem-
Zararlı yazılım analiz yöntemleri incelenen yazılımın lerle kullanılmışlardır. Bunun yanında sistemden elde
durumuna göre ikiye ayrılmaktadır. Statik analizde, ya- edilen bilgi üzerinde yapılan özellik mühendisliğini aza
zılımlar diskteki dosyalar üzerinden elde edilen bilgiler indirgeyen ve veriyi ham şekilde işleyen yaklaşımlar da
kullanılarak analiz edilir. Bu dosyalar üzerinden dosya denenmiştir. Bu modellerde son zamanda popüler olan
başlığı, program kodu ve dosya formatına göre değişen derin öğrenme mimarileri, uzun kısa süreli bellek (long
diğer bölümlere ait bilgi elde edilir. Dinamik analizde ise short-term memory - LSTM) ve konvolüsyonel sinir ağ-
dosyaların belleğe yüklenerek çalıştırıldığında göster- ları (convolutional neural networks – CNN) kullanılmak-
diği davranış; kod akışı, işletim sistemi ve sistem kay- tadır. Çalıştırılabilir dosyalar ise tümüyle ya da dosyanın
naklarıyla etkileşimi izlenerek elde edilen bilgi kullanılır. bazı kısımlarını barındıracak şekilde girdi olarak alın-
Eldeki zararlının özelliklerine bağlı olarak bu iki yakla- maktadır.
şımdan birisini kullanmak diğerine
göre daha yararlı olabilir. Örneğin Diğer yandan güncel çalışmalarda
güçlü bir şekilde şifrelenmiş ve pa- Günümüzde zararlı araştırmacılar dinamik özelliklerden
ketlenmiş bir zararlı yazılım statik yazılımlar, basit daha etkin biçimde yararlanmaya baş-
olarak incelenirken çalışma sırasın- reklam yazılımlarından lamışlardır. Çoğunlukla sandbox (kum
da kullanılan program koduna ve havuzu) teknolojilerinden yararlanılan
diğer kaynaklara erişmek zor olabi- ticari casusluğa ve bu çalışmalarda, araştırmacılar sanal
lir. Bunun yanında zararlı yazılımlar askeri sistemlere yapılan ortamdaki programın davranışını gös-
hata ayıklayıcılara (debugger) ve terdiği düşünülen özellikler vektörünü
sanallaştırma ortamlarına karşı tek- devlet destekli saldırılara elde etmektedirler. Sonrasında maki-
nikler kullanmaktadır. Bu nedenle kadar farklı amaçlar için ne öğrenmesi kullanılarak bu özellik
bu zararlı yazılım örneğini dinamik kullanılmaktadır. vektörünü ifade eden yazılımın zararlı
olarak incelemek zararlı yazılımın olup olmadığına karar verilmektedir. Bu
gerçek ortamdaki davranışı ile ilgili yöntemlerin yanında çalışma sırasında
yanlış bilgiler edinmemize sebep işletilen komutlar ve API çağrılarından
olabilir. Zararlı yazılım analistleri genelde bu iki yakla- oluşan zaman dizileri, bu dizilerden elde edilen çizgeler Fred Cohen 1987’de yaptığı çalışmada bir yazılımın bilgisayar virüsü olup
şımı beraber kullanarak analiz işlemini gerçekleştirirler. de statik özellikleri kullanan yöntemlere benzer şekilde olmadığının karar verilemez bir problem olduğunu kanıtlamıştır.
makine öğrenmesi modellerinde kullanılmaktadır.
Makine öğrenmesi de bu analiz yaklaşımları kullanıla-
rak elde edilen statik ve dinamik özelliklerden faydala- Makine Öğrenmesinin Sınıflandırma Zararlı yazılım araştırmasında kullanılan bilgi kaynakları- 4. Geri derleme (decompilation) işlemi yüksek seviyeli
nır. Statik özelliklerden en çok program kodu, karakter Dışı Kullanım Alanları nın seçilmesinde günümüzde yaygın kabul görmüş olan dillerden makine diline çevrim işleminin tersi olup, maki-
dizileri ve dosya başlığında bulunan dinamik kütüphane Makine öğrenmesi yöntemlerinin zararlı yazılım araş- derin öğrenme yaklaşımı iki yönüyle mantıklıdır. Birinci- ne kodunu girdi olarak alıp yüksek seviyeli dil eşdeğerini
bilgisi makine öğrenmesi modellerinde kullanılmıştır. tırmasında kullanımı sınıflandırma ile sınırlı değildir. si özellik seçiminin insan eliyle yapılması kişilerin alana üretme işidir. Derleme bilgi kayıplı bir işlem olduğundan
Program kodu ve karakter dizileri çoğunlukla n-gram- Zararlı yazılımların konak dosya üzerinde yaptığı de- özgü bilgisine bağlı olup, önemli bilgilerin model tarafın- makine kodunun üretildiği kaynak kodları elde etmek
lar ve diğer özellik mühendisliği yöntemleri kullanılarak ğişikliklere ait örüntülerin tanınması ve otomatik imza dan elde edilememesine neden olabilir. İkincisi ise, za- çoğu zaman imkânsızdır.
3
sabit sayıda elemanı olan özellik vektörlerine dönüştü- üretilmesi gibi amaçlar için de bu yöntemlerden fayda- rarlı yazılım geliştiricilerinin AV ürünlerine karşı teknikler
rülür. Ardından bu özellik vektörleri makine öğrenmesi lanılmıştır. Yazılım tersine mühendisliği kapsamında geliştirmeleridir. Bu nedenle insan eliyle seçilen özellik-
modeline girdi olarak verilir. Dinamik özellik olarak uy- yapılan araştırmalarda geri derleme işlemi için makine leri kullanan ve veriye ait tüm bilgiyi elde edemeyen bir
4
gulama programlama arayüzüne (application program- öğrenmesini kullanan çalışmalar vardır. Özellikle tersi- sınıflandırıcının atlatılması daha kolaydır. Araştırmacılar Referanslar
ming interface - API) yapılan fonksiyon çağrıları, sistem ne mühendislik uygulamalarında yapay zekâ kullanan statik ve dinamik özellikleri beraber kullanan, veriyi olası
çağrıları, kontrol akış çizgeleri (control-flow graph) ve araçların geliştirilmesi zararlı yazılım analiz sürecine en ham haliyle işleyen derin öğrenme modellerine yönel- I. Goodfellow, Y. Bengio ve A. Courville, Deep learning.
yazılımın oluşturduğu ağ trafiği veri kaynağı olarak kul- yarar sağlayacaktır. melidirler. MIT Press, 2016, http://www.deeplearningbook.org.
lanılmıştır. Erişim tarihi: Ocak 2020.
Sonuç Açıklamalar P. Szor, The art of computer virus research and de-
Zararlı Yazılım Sınıflandırmada Makine Zararlı yazılım araştırması konusunda yapılan makine 1. Bilgisayar virüsleri için mutasyon kavramı geçmişte fense. Addison-Wesley Professional, 2005, ISBN:
Öğrenmesi öğrenmesi çalışmaları çoğu zaman benzer verileri işle- virüs geliştiricileri tarafından da kullanılmıştır. Virüslere 0321304543
Makine öğrenmesi ile zararlı yazılım sınıflandırma ko- yen alanlardaki başarılı modeller kullanılarak yapılmak- kendini değiştirme yeteneği kazandıran ve çoğunlukla G. J. Tesauro, J. O. Kephart ve G. B. Sorkin, “Neural
nusundaki ilk denemeler gerçekleştirilirken hesaplama tadır. Bilgisayarlı görü, doğal dil işleme ve finans gibi statik kütüphaneler olarak dağıtılan bu yazılımlar geliş- networks for computer virus recognition,” IEEE Expert,
kabiliyeti bu günkü kadar gelişmiş değildi. Bu neden- alanlarda yoğunlaşan makine öğrenmesi çalışmaları tiriciler tarafından “mutasyon motoru (mutation engine)” cilt 11, sayı 4, sayfa 5–6, Ağustos 1996, ISSN: 2374-
le araştırmacılar çalışmalarında çoğunlukla program zararlı yazılım araştırması konusundaki gelişmeleri des- olarak adlandırılmıştır. 9407. DOI: 10.1109/64.511768.
kodundan çıkarılan istatistiksel özellikleri veya dosya teklemekle beraber, eldeki verilerin doğası birbirinden F. Cohen, “Computer viruses: Theory and experiments,”
başlığından çıkarılabilen özellikleri kullanan yapay zekâ farklıdır. Örneğin statik kaynaktan elde edilen komut 2. Burada bahsedilen Bilgi Kuramı, dilimize Enformasyon Computers & Security, cilt 6, sayı 1, sayfa 22–35, 1987,
modelleri tasarlamışlardır. dizisi çalıştırılma esnasında sıralı olarak çalışmamakta- Teorisi şeklinde de çevrilen; bilginin ölçülmesi, saklan- ISSN: 0167-4048. DOI: https://doi.org/10.1016/0167-
dır. Bu nedenle bir hisse senedinin değer değişimi ko- ması ve taşınmasıyla ilgilenen matematik dalıdır. 4048(87)90122-2.
Güncel çalışmalarda ise hesaplama yeteneğinin art- mut dizisi ile aynı özellikte değildir. Aynı şekilde bir DNA E. Gandotra, D. Bansal ve S. Sofat, “Malware analysis
masıyla bayt dizileri üzerinde farklı yöntemlerle özel- dizisi, sistem çağrı dizisiyle aynı özellikte değildir. Bu da 3. N-gram bir dizi üzerinde bulunan n uzunluktaki sıralı and classification: A survey,” Journal of Information
lik seçimi ve özellik indirgeme yapılmış, bu yöntemler zararlı yazılım araştırmasına özgü modellerin çalışılma- alt-dizileri ifade eder. Örneğin a = [a1, a2, a3] dizisinde Security, 2014.
sonrasında elde edilen özellikler çoğunlukla en yakın sı gerekliliğini göstermektedir. 2-gramlar [a1, a2] ve [a2, a3] şeklindedir.
64 65