Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Demon's Souls |#13| Storm King
Demon's Souls |#12| Old Monk & Old Hero
Demon's Souls |#11| Мaneater part 2
Demon's Souls |#10| Мaneater (part 1)

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Безруков Н.Н. Весь текст 1232.53 Kb

Компьютерная вирусология ч. 1

Предыдущая страница Следующая страница
1 ... 88 89 90 91 92 93 94  95 96 97 98 99 100 101 ... 106
наиболее часто используемых программ MS DOS. Поэтому она является излюб-
ленной мишенью для атаки файловыми вирусами. Дискета, содержащая
указанные три файла является минимальной конфигурацией операционной
системы MS DOS и ее удобно использовать в качестве дрозофилы для
бутовых вирусов. Поэтому приводимые в дальнейшем примеры ориентированы,
в основном на указанную минимальную конфигурацию:

            ЙННННННННННННСННН A:\ НСННННННННСНННННН»
            є    Name    ¦   Size  ¦  Date  ¦ Time є
            єIbmbio  °com¦    22100¦ 3-17-87¦12:00pє
            єIbmdos  °com¦    30159¦ 3-17-87¦12:00pє
            єcommand  com¦    25307¦ 3-17-87¦12:00pє
            є            ¦         ¦        ¦      є


              Структура управляющей информации на дискете

     Первые 12 секторов (0-11) содержат три управляющих таблицы:
загрузчик (BOOT), таблицу  распределения  файлов  (FAT),  и корневой
каталог (root directory). Схема расположения этих секторов приведена на
рис.1.

  ЙНННСНННСНННСНННСНННСНННСНННСНННСНННСНННСНННСНННСНННСНННСН. . .НСННН»
  є B ¦ F ¦ F ¦ F ¦ F ¦ R ¦ R ¦ R ¦ R ¦ R ¦ R ¦ R ¦   ¦   ¦ . . . ¦   є
  ИНННПНННПНННПНННПНННПНННПНННПНННПНННПНННПНННПНННПНННПНННПН. . .НПНННј

                                 а)




PC Tools Deluxe R4.30                                    Vol Label=None
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДDisk Mapping ServiceДДДДДДДДДДДДДДДДДДДДДД
Path=A:\*.*

Entire disk mapped                                       78% free space

                    Track    1    1    2    2    3    3   3
                    0    5    0    5    0    5    0    5   9
Double sided        BhhhhhhrrrІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ
                    FhhhhhhrrrІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ
            Side 0  FhhhhhhrrІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ
                    DhhhhhhrrІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ
                ----DhhhhhrrrІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ
                    DhhhhhrrrІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ
            Side 1  hhhhhhrrrІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ
                    hhhhhhrrrІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ
                    hhhhhhrrrІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ

                              Explanation of Codes
                         І Available         Allocated
                         B Boot record      h hidden
                         F File Alloc Table r Read Only
                         D Directory        x Bad Cluster


                         "F" to map files. ESC to return.


                                     б)

               Рис.1. Расположение секторов на дискете.

а: схематическое представление (границы кластеров для системных
   секторов не показаны, поскольку нумерация кластеров начинается со
   второго). Используемые обозначения: B - бутсектор; F - FAT; R -
   корневой каталог;

б: карта, выдаваемая в режиме MAP PC Tools (в случае, если на дискете
есть сбойные кластеры, которые могут возникнуть в результате заражения
бутовым вирусом, они отчетливо видны при просмотре карты на экране
дисплая в виде мигающих символов "х"). Дискеты, имеющие сбойные
кластеры, должны быть дополнительно исследованы.


                               Бутсектор

     Бутсектор всегда размещается в нулевом секторе дискеты и содержит
сведения о формате дискеты, а также короткую программу - загрузчик.
Структура бутсектора показана на рис.2. Формат рисунка соответствует
формату дампа на экране дисплея - по 16 символов в строке, что облегчает
интерпретацию дампа

      0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
    ЦДДДДДДДВДДДТДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДТДДДВДДДТДДДТДДДДДДД·
 00 єJMP  xx xx є'I' 'B' 'M'         '3' '.' '3'єSectSizєCS єResSecsє
    ЗДДДТДДД†ДДДЧДДД†ДДДТДДДТДДДБДДДТДДДБДДДТДДДРДДДТДДДРДДДЧДДДБДДД¶                                                          ДД†ДДДЩ
 10 єFatєRootSizєTotSecsєMedєFatSizeєTrkSecsєHeadCntєHidnSecє       є
    ЗДДДРДДД†ДДДРДДД†ДДДРДДДРДДДБДДДРДДДБДДДРДДДБДДДРДДДБДДДРДДДБДДДЅ
 20 є код загрузчика (в конце загрузчика всегда расположены диагно=
    УДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДДґ
 30   стические сообщения и имена системных файлов)
    ГДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДДґ

. ...  ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...

    ГДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДДТДДДБДДДґ
1F0                                                         є 55  AA¦
    ГДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДД†ДДДБДДДРДДДБДДДЩ

                      Рис.2. Структура бутсектора

Используемые обозначения:
JMP  -  NEAR-переход на начало загрузчика;
        8 байт, содержащих произвольную информацию, обычно заносимую
        программой форматирования диска;
SectSiz - количество байтов в одном  секторе;
CS (ClustSiz) - количество секторов в одном кластере;
ResSecs -  количество резервных секторов (перед FAT);
Fat (FatCnt) - количество FAT;
RootSiz -   макс.число 32-байтовых  элементов корневого каталога;
TotSecs -   общее число секторов на носителе (разделе диска);
Med (Media) - дескриптор носителя (то же, что 1-й байт FAT);
FatSize - количество секторов в одной FAT;
TrkSecs - количество секторов в одном треке;
HeadCnt - число головок чтения/записи (поверхностей);
HidnSec - количество спрятанных  секторов;
        - размер форматированной порции корневого сектора.

     Как видно из рис.2,  сведения о программе, с помощью которой
выполнялось форматирование, расположены с 4 байта.

     На рис.3  показан бутсектор двухсторонней дискеты двойной
плотности (2D-2S),  содержащей 40 треков и размеченный программой
FORMAT  MS  DOS 3.3. Бутсектор винчестера отличается только таблицей
параметров. Программа загрузчик остается неизменной. Другие версии
операционной системы имеют несколько отличающийся от приведенного
загрузчик, однако его структура неизменна: в конце сектора всегда
имеется текст диагностического сообщения и имена системных файлов (на
рис.3 - IO.SYS и MSDOS.SYS; для PC DOS используются имена IBMBIO.COM и
IBMDOS.COM).  В конце бутсектор всегда содержит  два идентификационных
байта :  55h AAh.

     Следует обратить внимание, что первые три байта стандартного
бутсектора MS DOS 3.3 содержат EB 34 90. Несовпадение этих байтов при
просмотре бутсектора должно сразу настораживать, поскольку может
свидетельствовать о заражении вирусом.


            Absolute sector 0000000, System BOOT

Disp  ДДДДДДДДДДДДДДДДД Hex codesДДДДДДДДДДДДДДДДДДДД
place-00 01 02 03 04 05 06 07  08 09 0A¦OB 0C 0D 0E 0F
ment                                   ¦SectSiz
                                       ¦     ¦ClustSiz
     ЪДДДJMPДД¬                        ¦     ¦  ¦ResSecs
     ¦        ¦                        ¦     ¦  ¦
0000:¦EB 34 90¦4D 53 44 4F 53  33 2E 33¦00 02¦02¦01 00   .4.MSDOS3.3.....
0010: 02 70 00 D0 02 FD 02 00  09 00 02 00 00 00 00 00   .p..............
0020: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 12   ................
0030: 00 00 00 00 01 00 FA 33  C0 8E D0 BC 00 7C 16 07   .......3.....|..
0040: BB 78 00 36 C5 37 1E 56  16 53 BF 2B 7C B9 0B 00   .x.6.7.V.S.+|...
0050: FC AC 26 80 3D 00 74 03  26 8A 05 AA 8A C4 E2 F1   ..&.=.t.&.......
0060: 06 1F 89 47 02 C7 07 2B  7C FB CD 13 72 67 A0 10   ...G...+|...rg..
0070: 7C 98 F7 26 16 7C 03 06  1C 7C 03 06 0E 7C A3 3F   |..&.|...|...|.?
0080: 7C A3 37 7C B8 20 00 F7  26 11 7C 8B 1E 0B 7C 03   |.7|. ..&.|...|.
0090: C3 48 F7 F3 01 06 37 7C  BB 00 05 A1 3F 7C E8 9F   .H....7|....?|..
00A0: 00 B8 01 02 E8 B3 00 72  19 8B FB B9 0B 00 BE D6   .......r........
00B0: 7D F3 A6 75 0D 8D 7F 20  BE E1 7D B9 0B 00 F3 A6   }..u... ..}.....
00C0: 74 18 BE 77 7D E8 6A 00  32 E4 CD 16 5E 1F 8F 04   t..w}.j.2...^...
00D0: 8F 44 02 CD 19 BE C0 7D  EB EB A1 1C 05 33 D2 F7   .D.....}.....3..
00E0: 36 0B 7C FE C0 A2 3C 7C  A1 37 7C A3 3D 7C BB 00   6.|...<|.7|.=|..
00F0: 07 A1 37 7C E8 49 00 A1  18 7C 2A 06 3B 7C 40 38   ..7|.I...|*.;|@8
0100: 06 3C 7C 73 03 A0 3C 7C  50 E8 4E 00 58 72 C6 28   .<|s..<|P.N.Xr.(
0110: 06 3C 7C 74 0C 01 06 37  7C F7 26 0B 7C 03 D8 EB   .<|t...7|.&.|...
0120: D0 8A 2E 15 7C 8A 16 FD  7D 8B 1E 3D 7C EA 00 00   ....|...}..=|...
0130: 70 00 AC 0A C0 74 22 B4  0E BB 07 00 CD 10 EB F2   p....t".........
0140: 33 D2 F7 36 18 7C FE C2  88 16 3B 7C 33 D2 F7 36   3..6.|....;|3..6
0150: 1A 7C 88 16 2A 7C A3 39  7C C3 B4 02 8B 16 39 7C   .|..*|.9|.....9|
0160: B1 06 D2 E6 0A 36 3B 7C  8B CA 86 E9 8A 16 FD 7D   .....6;|.......}
0170: 8A 36 2A 7C CD 13 C3 0D  0A 4E 6F 6E 2D 53 79 73   .6*|.....Non-Sys
0180: 74 65 6D 20 64 69 73 6B  20 6F 72 20 64 69 73 6B   tem disk or disk
0190: 20 65 72 72 6F 72 0D 0A  52 65 70 6C 61 63 65 20    error..Replace
01A0: 61 6E 64 20 73 74 72 69  6B 65 20 61 6E 79 20 6B   and strike any k
01B0: 65 79 20 77 68 65 6E 20  72 65 61 64 79 0D 0A 00   ey when ready...
01C0: 0D 0A 44 69 73 6B 20 42  6F 6F 74 20 66 61 69 6C   ..Disk Boot fail
01D0: 75 72 65 0D 0A 00 49 4F  20 20 20 20 20 20 53 59   ure...IO      SY
01E0: 53 4D 53 44 4F 53 20 20  20 53 59 53 00 00 00 00   SMSDOS   SYS....
01F0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 AA   ..............U.
                                                АДДВДДЩ
                                                   АДДД идентификационные
                                                        байты

     Рис.3. Бутсектор дискеты 2D-2S, размеченной программой FORMAT

     При интерпретации дампа следует обратить внимание на то, что
микропроцессор 8086 записывает в память машинное слово (2 байта)
в формате <младший байт><старший байт>. Поэтому при интерпретации
двухбайтовых полей для получения правильного значения следует
переставить байты местами. Например, поле SectSiz содержит "00 02", т.е.
его значение равно 0200h - 512 байт.

                   Таблица распределения файлов (FAT)

     На дискетах  360К под FAT отведены четыре сектора - текущее состоя-
ние FAT в секторах 1,2 и его копия в секторах 3,4. Дискеты 720К содержат
основную FAT в секторах 1,2,3 и ее копию в секторах 4,5,6.

     FAT представляет собой карту дискового пространства, распределяемо-
го под файлы, и содержит по три шестнадцатеричные цифры для каждого име-
ющегося на диске кластера.  Каталог (см.  ниже) содержит  номер  первого
кластера, занятого файлом;  в свою очередь, в каждом элементе содержится
указатель на следующий кластер файла.  Если кластер  является  последним
кластером файла, то он содержит FFF.

     Таким образом,  MS DOS может отслеживать последовательность класте-
ров, принадлежавших файлу, независимо от фактического расположения их на
диске. Для незанятых кластеров указатель имеет 000. Если кластер повреж-
ден  и MS DOS не может считать или записать в него информацию,  то такой
кластер содержит FF7 (признак сбойного кластера), и MS DOS не использует
отмеченные таким образом кластеры при распределении.

     Таблица распределения файлов по сути является  односвязным списком,
который  DOS использует для отслеживания физического расположения данных
на диске и для поиска свободной памяти для новых файлов. Слово по смеще-
нию  1Ah в элементе оглавления содержит номер первого кластера в цепочке
распределения файла.  Соответствующий элемент FAT либо  указывает  конец
цепочки, либо ссылается на следующий элемент, и т.д.

     FAT может состоять из 12-битовых или 16-битовых элементов. 12-бито-
вые элементы используются для дискет.  16-битовые элементы FAT были вве-
дены, начиная с DOS 3.0,  когда возникла необходимость управления 20-ме-
габайтным винчестером.

     Поскольку 12 битовые элементы трудно анализировать на обычном
дампе, для анализа FAT целесообразно использовать Norton Utilities,
выдающую разобранный на 12 битовые элементы (полуинтерпретированный) дамп
(рис.5).

Й FAT area ННННННННННННННННННННННННННННННННННННННННННННННННННННННН FAT format Н»
Предыдущая страница Следующая страница
1 ... 88 89 90 91 92 93 94  95 96 97 98 99 100 101 ... 106
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (3)

Реклама