+ Yorum Gönder
İnternet Sorunları ve Güvenlik Açıkları Forumunda Boot Sektör Virüsleri Konusunu Okuyorsunuz..
  1. Forumacil
    Devamlı Üye

    Boot Sektör Virüsleri









    Boot Sektör Virüsleri Ne işe Yarar?


    İlk önce nerelerden bulaştıklarına bakalım.
    Boot sektör virüsleri hard diskin veya floppy disketin ilk sektörlerine bulaşır.Dosya viruslerinden farklılıkları dosya çalıştırılmadan aktif hale geçmeleridir. Bilindiği gibi bilgisayar açıldığı zaman ilk devreye giren ünitesi BIOS’ tur.BIOS harddisk'in boot sektöründen geçerli partition table(reverse Word format) imzasını arar.Eğer bu imzayı bulabilirse bu bloktaki bilgileri RAM belleğe okur.Virüs kendisini bu imza yerine veya okunacak bloğa yazdığı taktirde problem burada ortaya çıkar.BIOS'un okuması sırasında partition imzasını gizleyebilir.BIOS görevini tamamlayamayacağı için , bilgisayar açılmaz.Bloğun okunması sırasında virüs yazıcısının belirlediği bir kesme çağırılabilir.Bu durumda bilgisayarın açılması kesintiye uğrar.Blok okunup, Ram belleğe aktarıldıktan sonra ,virüsün etki kısmı çalışarak bilgisayarı reset edebilir veya bir jump komutu ile okunması gerekli olan bazı dosyaları okutturmadan sistemin yanlış yüklenmesini sağlayabilir.İşte bu türlü işlemler virüs yazmanın mantığını oluşturur.
    1.2.2.1.2 Normal Boot Sektör Virüsleri :
    Floppy disketlerinde partition table bulunmaz.Aslında harddiskteki partition table'de boot sektördür.Fakat birden fazla işletim sistemi yükleyebilmek için bölümlendirilmişlerdir.Yukarıda hard disk için açıklanan imzalara benzer.İmzalar disketin sıfırıncı sektöründe de vardır.Virüs bilgisayarın hard diskten açılması sırasında yaptığı işlemleri floppy disketten açılma yapıldığında da yapar.
    İster hard diskten , İster floppy disketten boot yapılsın daha işletim sistemi yüklenmeden virüs yüklenmiş olur.İşletim sisteminden önce yüklenmesinden dolayı işletim sistemini istediği gibi yönetebilir.Yani kaleyi içten kuşatmıştır ve savunmayı yenmiştir.
    Virüs kendisini partition sektöre veya boot sektöre yazabileceği gibi FAT'a (dosya yerleşim tablosuna)veya partition bölümleri arasına da yazabilir.Buradaki yapacağı işlemlere dosya yerleşim tablosunu bozmak aranılan kütüğü gizlemek gibi örnekler verilebilir.
    Her iki çeşit virüsünde çalışma algoritmasının aşağıdaki gibi olduğu söylenebilir.
    1-Belirtilen yere bulaşmak için kendini gizle
    2-Orijinal boot/MBR sektörünü kontrol altında tut
    3-Kendi virüs imzanı ara ve daha önce bulaşıp bulaşmadığını denetle
    4-Bulaşılmış ise hareketsiz kal ve boot sektörü terk et
    5-Bulaşılmamış ise Kendi kodlarını belirtilen şartlarda boot sektöre yaz
    6-Duruma göre hareket et.Gerekiyorsa Resident olarak yerini al
    7-Birinci basamaktan itibaren görevine devam et


    Boot Sektör Virüsleri
    Kopya Edici
    Boot Sektör virüsleri bildiğiniz gibi yaygın virüs çeşitlerinden biridir. Aslında bu tip virüsler keııdi aralarında ikive avrılırlar.
    1- Master Boot Record -MBR (Partition Table Virüsleri)
    2- Boot Sektör virüsleri
    Bildiğiniz gibi dosya virüsleri sadece işletim sistemi o dosyayı çağırdığı zaman çalışırlar. Fakat BOOT bulaşıcıları keııdilerini HDD ve FDD üzerinde başlangıç sektörüne kopya ederler: Bu sayede işletim sistemi çalışmadan önce aktif hale geçerler.

    Bu konuya girmeden önce MS DOS ve Donanım üzerinde bazı gerekli bilgileri açıklamak gerekmektedir. Her disk mantıksal olarak oluşturulmuş SECTOR adı verilen 512 byte'lik veri bloklarından oluşmuştur. Yani disk (format dediginıiz işlem ile) ardışıl olarak sıralanmış küçük veri bloklarının birleşmesinden ibarettir. Disk üzerinde ilk 512 byte'lik blok disk'in başlangıc bloğu olmaktadır.
    BIOS'un diskler hakkında bilmesi gerektiği 3 nokta vardır; Sektör (Sector), silindir (Cylindir veya Track) ve kafa (Head)'dir. Bu üç farklı terimi kısa olarak (sektör, silindir, kafa) şeklinde ifade edecegiz.
    Bütün diskler sabit bir sayıda sektör (SEC), silindir (CYL) ve kafa'ya (HDS) sahiptir. Sektörler 1 'den nSEC 'e kadar,
    Silindirler 0 'dan nCYL - 1 'e kadar,
    Kafalar 0 'dan nHDS - 1 'e kadar numaralandırılır.
    Bu durumda;
    0. blok = (1, 0, 0) (sektör = 1, silindir = l, kafa = 0) l. blok = (2, 0, 0)2. blok = (3, 0, 0)

    Şeklinde ifade edilir ve böylece devam eder. Tabiki SPH'ye (Sector Per Head) kadar. Yani;
    blok SPH = (l, 1, 0) blok SPH + 1 = (2, 1, 0)blok 2 * SPH = (1, 2, 0)blok 2 * SPH + 1 = (2, 2, 0)
    Bu işlemde; CPH (Cylindir Per Head)blok CPH * SPH = (0, 0, 1 )
    Kadar devam eder. Maksimum kafa, silindir ve sektör sayısına ulaşıldığında işlem tam anlamıyla sonuçlanır. Kısacası disk veya disketin sonuna gelinmiş demektir.
    Boot sektöre bulaşmayı anlamak için boot'un yapısını, ne olduğunu ve nâsıl çalıştığını anlamak gerekmektedir. Sistem RESET olduğunda belirli içsel kontrollerini gerçekleştirir. Bu kontroller tamanılanıp sıra işletim sisteminin yüklenmesine geldiğinde, hard disk varsa BIOS hard disk'in ilk bloğunu (sektörünü) hafızanın 7C000 adresine okur. Okunan bu blok içerisinde 1FE offset adresindeki OAA55 (reverse word format) imzasına bakılır. Bu değer geçerli partition table imzasıdır.


    Bu imza bulunduğu taktirde, bu blok üzerindeki kod 7C000 adresinde çalıştırılır. Eğer geçerli bir partitiorı table bulunamamış ise, (veya hard disk yok ise) BIOS sistemi disket üzerinden boot etnıeyi dener. Disket sürücüde okunabilir bir disket varsa; bu disketin ilk bloğu 7C000 adresine okunur. Disketlerden boot edilirken ilk blok içerisinde 1FE offset adresindeki OAA55 imzası için kontrol yapılmaz. Fakat yine de birçok disketin boot sektöründe bu imza bulunmaktadır. 7C000 adresine okunan bu sektördeki kodlar çalıştırılmaya başlanır.
    Teknik yönden hard diskin ilk bloğu disketlerdeki gibi boot sektördür. Fakat disketler üzerinde farklı partition bulunmaz. Hard diskler için durum farklıdır. Bir hard disk üzerine birden fazla işletim sistemi yüklemek mümkündür. Bunun sebebi bu bloğun hard diskler için bu işleme olanak verecek yapıda olmasıdır. Bu yüzden bu bloğa (HDD için) Partition Tableyada Master Boot Recorddenir. MBR'nin yapısı basittir. Hard disk için MBR ilk bloğun sonunda yer alır. Kendi içerisinde hard diskin bölümleri ve işletim sistemi ile ilgili bilgi verir. MBR ilk blok içerisinde 1BE adresinden başlar ve 4 adettir.


    Ofset
    Uzunluğu
    Açıklaması
    0
    Byte
    Boot indicator,0 = non bootable, 80h = bootable
    1
    Byte
    head the partition begins on
    2
    Byte
    sector the partition begins on
    3
    Byte
    cylinder the partition begins on
    4
    Byte
    system indicator, indicates
    what OS resides in tlıe partition
    01 indicates DOS 12-bit FAT
    04 indicates DOS 16-bit FAT
    5
    Byte
    head the partition ends on
    6
    Byte
    sector the partition ends on
    7
    Byte
    cylinder the partition ends on
    8
    Dword
    total nıunber of blocks preceding the partition
    OC
    Dword
    total number of blocks in the partition

    Hard disk'ler için, partition table üzerindeki kod aktif partition'in boot sektörünü yükler. Hangi partition'nin aktif olduğu ise partition table yapısının ilk bit'inde belirlenmiştir. Yüklenen boot sektör işe o partition'a ait işletim sistemini yükler.
    BIOS disketten boot ederken, daha önce belirttiğinıiz gibi disketin ilk bloğunu 7C000 adresine okur. Disketlerde partition table bulunınadığı için bu blok doğrudan boot sektör şeklinde kabul edilir. Boot kaydı JMPkomutu için 3 byte'tan oluşur ve hemen arkasından BPB (BIOS Paramater Blok) başlar.

    Ofset
    Uzunluğu
    Açıklaması
    3
    8 byte
    OEM name and version (ASCII).
    OB
    Word
    bytes per sector
    OD
    Byte
    sectors per cluster
    OE
    Word
    reserved sectors (starting at logical sector 0)
    10
    Byte
    number of FATs
    11
    Word
    number of root directory entries (32 bytes each)
    13
    Wortl
    total sectors in partition
    15
    Byte
    media descriptor
    17
    Word
    sectors per FAT
    19
    Word
    sectors per track
    1 B
    Word
    number of heads
    1 D
    Word
    number of hidden sectors

    Geri kalanı DOS sistem dosyalarını yükleyen ve çalıştıran kodlardan ibarettir. Bu işlem sonucunda kontrolü işletim sistemi devralır.
    Bu verdiğinıiz bilgilerden sonra MBR ve BOOT sektöre bulaşmanın mantığını anlamak kolay olacaktır. Tek yapılacak olan partition table veya boot sektör üzerine virüsün kodunu yazmaktır. Orjinal sektörü ise disk üzerinde güvenli bir yerde saklamalısınız. Virüs kontrolü ele aldığında kendisini hafıza içerisine aktarmalı ve orjinal boot sektörü 7C000 adresine yüklemelidir. Bir defa hafızaya bulaştıktan sonra gerisi bilinen virüs aktivitelerinden ibarettir.
    Bunun yanında bazı bilgilere daha ihtiyacımız bulunmaktadır. Kontrol boot sektöre devredildiğinde CS: IP 0:7C00 adresine ayarlanmış olur. SS: SP tanımlanmanııştır (undefıned). Bu yüzden birçok boot virüsü bunu 0:700'a eşitler. Böylece stack'ın, yükleme alanının tam altında olması sağlanır.
    Disk'e bulaşıldığında; uygulama progranılarının MBR ve BOOT kayıtlarını okumak isteyebileceği unutulmamalıdır. Bu yüzden boot sektör her okunmak istendiğinde boot sektörün orjinal halinin saklandığı yerden okunması sağlanmalıdır. DOS çalışırken boot sektör okunmak istendiğinde birçok sorun ortaya çıkabilir. Örneğin böyle bir durumda disket sürücüler çalışmayacaktır. Bundan dolayı okuma isteğini orjinal sektörün saklandığı yere yönlendirmek iyi bir metottur.








  2. AZMİYE
    Devamlı Üye





    Bu virüs bulaştığı bilgisayarları ilk başta yavaşlatmaya daha sonra yavaşça tüm bilgileri silmeye başlar ve bulaştığı zaman sürekli bilgisayar hata verir hiç bir programı açmaz.




+ Yorum Gönder