Arkadaşlar herkese merhaba,
yazılımcı olan arkadaşlara bir sorum olacak ;
aranızda anti-virüs programı yazan yada bu konuda araştırma yapmış birileri var mı acaba ?
Son bikaç gündür aklıma takıldı nasıl yapılabilir acaba diye. Biraz araştırdım genel olarak bir md5 hash ile bir de dosyayı txt olarak okuyup içerisindeki karakterlere göre virüslü olup olmadığının anlaşılabileceği yazılmış. çok kolay gibi görünüyor ama ne tür karakterler virüs olarak algılanabilir, yada virüslü olarak işaretlenen md5 hash dizilerini nereden bileceğiz? bununla ilgili pek bişey bulamadım.
araştırmalarım devam ediyor tabi ben sizlerin de görüşünü almak istedim.
Cevap veren herkese teşekkür ederim şimdiden....
"Antivirüs Programı Yazmak" yada "Bir Virüsü Tanımak" hakkında
8
●2.364
- 27-10-2014, 00:27:07
- 27-10-2014, 00:43:47Virüstotal gibi sitelerden daha önce taranmış virüslü içeriklerin hashlarina ulaşabilirsin onun haricinde hex editor çalışma mantığı ile dosyalarin hex stringlerini taratip içinde keylogger virus botnet gibi kelimeleri veya email gönderme kodları gibi kodları aratabilirsin.
- 27-10-2014, 09:51:47Üyeliği durduruldumerhaba,devveloper adlı üyeden alıntı: mesajı görüntüle
heuristic taramalarda dosyayi sandboxda calistirip api call lerini dikkate aliyorlar, dosyanin import ve export tablelerine bakiyorlar, yazdigi yerlere dizin ve registry anahtarlarini kontrol ediyorlar.
analysis yapan elemanlar debugging islemi ollydebug idapro peid cFFExplorer wireshark gibi profesyonel toollar kullanmaktadir.
md5 islemleri son hali.. dosyanin kendisinin md5i alinarak imzasi alinmiyor.
eger oyle olsaydi exe de 1 byte degistirdiginiz anda md5 degisecek ve dosya taninmaz hale gelecekti... bu islemin hex editor ile de ilgisi bulunmamaktadir.
binary dosyanin yukarida da belirttigim gibi api call leri, resource directory(bindirilen dosya varmi? varsa export ediyor mu, ediyorsa calistiriyor mu?)
createprocessA/W
readprocessmemory
writeprocessmemory
set/get threadcontext
urltodownloadfileA/W
ornegin, Avira Antivirusun TR/DropperGEN Detectionu ile ilgili,
dosyanin resource undaki yazilan bilgiler export edilir.
ve ana dosyadan silinir.
"dosya boyutu" < "dosyanin resource boyutu" ise ve
BeginUpdateResourceA
UpdateResourceA
EndUpdateResource
EnumResourceNames
EnumResourceNamesEx
gibi apileri import etmis ise, dogrudan uyari veriyor..
Yada,
dosya sonunda yazilmis veri boyutu stub boyutundan buyuk ise,
direkt olarak Win32AtrapsGen veya TRDropperGen uyarisi veriyor..
Kaspersky icin ornek,
programin init inde eger registry startup alanlarina veri yazilirsa,
Heur Trojan Generic Win32 xxx seklinde bir uyari verir.
neyse, daha fzla yazamayacagim.
api referanslari
http://msdn.microsoft.com/en-us/library/ms648032.aspx
iyi forumlar.
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 09:51:47 -->-> Daha önceki mesaj 09:46:55 --
cocukca olmus hocam. hic bir virusun icinde keylogger virus botnet gibi kelimeler gecmez... (All strings Encrypted) diye bir yazi gorursun black marketlerde profesyonel virus/trojan/worm gibi illegal yazilimlar satin almak istedigin zaman.oguzhane adlı üyeden alıntı: mesajı görüntüle
Hello Antivirus Company, Im a Stealer. Please Give me a Special Detection NAME!!!
boyle bişi mümkün değil
- 27-10-2014, 11:47:39Merhaba arkadaşım,
Bir antivirüs yazmak için her şeyden önce "windows kernel" hakkında çok çok iyi derecede bilgi sahibi olman gerekir. Eğer zaten ben bu kadar bilgi sahibiyim diyorsan çok sıkı bir algoritma kurmanı tavsiye ederim.
Devamında sana yardımcı olacağını düşündüğüm konu başlıkları şöyle ;
1 - Virüs total veritabanını ücretli satın alıp bildiğim kadarıyla veritabanı her dili destekleyen bir algılama sistemine sahip bir API ile yada import ile algılamayı çalıştırabilirsin. En geçerli yöntemlerden birisi bu çünkü sürekli güncel vaziyette.
2 - Kernel driver nedir, nasıl yazılır nasıl build edilir, bir kernel driver ile usermode ( kullanıcı tarafında ) çalışan bir uygulama arasında iletişim nasıl sağlanır driver communication olarak adlandırılan olay nedir bunu öğrenmeni tavsiye ederim.
3 - Sisteme nasıl müdahale edilir, hook nedir kernel tabanlı hook için bilmen gerekenler kullanman gerekenler nelerdir bunları öğrenmen gerek. Genellikle virüsler hangi apileri kullanır kendi aralarında ayrıldıklarında hangi apileri kontrol altına alman gerekir? Bir uygulamayı nasıl henüz uygulama sistemden çalışmadan önce tarayabilirsin bunu öğrenmelisin.
4 - x64 Mimari sistemlerde bir önceki maddede saydıklarımı yapabilmen için imzali sürücüye ihtiyacın var. Ve windows kernel erişimini imzalı sürücülere dahi vermiyor bunun için alternatif yöntemlere ihtiyacın var. Callback registeration nedir araştır.
5 - Uygulama bilgisayara kayıt edildiğinde henüz dosya kaydetme apisi çalıştırımadan önce dosyanı nereye kayıt edileceğini görmen o dosyayı kayıt edildiği an taraman gerekir. Tarama bitmeden kullanıcının o dosyayı çalıştırmasını engellemen gerekir.
6 - Soket kullanımını incelemelisin, 2. bir kişi ile verilerin paylaşılmadığına emin olman gerekir uzaktan bağlantılar gelen giden paket verileri analiz etmen gerekir bunun içinde soket sınıfına hook atman gerekecek tabiki..
7 - Hepsini aştığını var sayalım. Güncelleme sistemini çok iyi tasarlaman lazım kurduğun yapı hangi virüs çıkarsa çıksın mutlaka işe yaramalı yeni eklemeleri mutlaka eski sisteme uygun biçimde çalıştırman gerekir.
Bildiklerim bu kadar yanlış yazdığım bir şey var ise hatalı bilgilendirdiysem affola.
Zor iş ve maalesef bu saydıklarım için Türkçe kaynak oranı %3 saydıklarımın bir çoğu hakkında daha farklı bir proje için araştırma yaptım. Yaptığım araştırmalar %90 sonuç verdi. Bu süreç ortalama 4 yılımı aldı bilgin olsun
İyi çalışmalar, başarılar.. - 27-10-2014, 12:28:05Üyeliği durduruldubiz bytescanneri yaptik. cok da guzel gidiyordu proje.
finanse edemedigimiz icin satmak zorunda kaldik...
https://eksisozluk.com/bytescanner-com--4042375
http://www.chip.com.tr/forum/forum-y...m_t276376.html
http://www.ankasecurity.com/bytescan...i-servisi.html
http://www.tahribat.com/Forum-Bytesc...istemi-183507/
http://www.tahribat.com/Forum-Bytesc...istemi-183507/
https://www.google.com.tr/search?q=ByteScanner.com - 27-10-2014, 15:38:31Merak etme bu dediklerinin hepsini bende biliyorum, arkadaş veya burada bulunan diğer kişilerden kimsenin bilgisi ve çalışma gücü gerçek bir antivirüs yazmaya tek basina yetmez bundan adım gibi eminim, ben arkadaş kendini tatmin edebilecek ufak çapta şeyler yazsın hevesi kırılmasın diye yapılabilecek şeyleri önerdim sadece, bende gayet iyi biliyorum ki md5 tarama veya hex string tarama ile antivirus yazilamaz.tbtlb adlı üyeden alıntı: mesajı görüntüle
- 27-10-2014, 15:45:09Üyeliği durdurulduevet bende o yuzden cok cocukca olmus dedim.. ayrica sizin bilginiz hakkinda herhangi bir elestiride bulunmadim. siz dogru okuyup yanlis anlamissiniz sanirim benim yazdiklarmi...oguzhane adlı üyeden alıntı: mesajı görüntüle
bu arada yeterli imkan olanak para ve ortam saglandiginda bir insan bircok sey basarabilir...
adiniz gibi emin oldugunuz o gorusunuze de katilmiyorum.
iyi forumlar, - 28-10-2014, 12:56:49comodo'yu duymuşsundur herhalde. onlar da bu işi yapıp sonunda tutturmuşlar gördüğüm kadarıyla. geçenlerde bir yazılımcı bir arkadaşımı buradan çağırmışlar iş görüşmesi için bana sormuştu gitmeden biraz bilgi edineyim diye. benim de hiç fikrim yoktu bu konuda. dediğim gibi biraz araştırdım sizin verdiğiniz bilgiler çok işe yaradı gerçekten. en azından koca bir dünyanın neresinde olduğumuzu gördük.
tekrar herkese çok teşekkür ediyorum.
Not: bu arkadaş comodoya henüz gitmedi, acaba nasıl bir şirket olduğunu bilen var mıdır ? bir sürü iş yapmışlar piyasada baya tutan yazılımları var. acaba sağlam bir firma mıdır ?
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 12:56:49 -->-> Daha önceki mesaj 12:54:26 --
tbtlb adlı üyeden alıntı: mesajı görüntüle
bu proje iyiymiş baya tamamen çıkardınız mı elinizden ?