часть ее не может быть получена в ходе тестирования и анализа этой
же программы в экспериментальной обстановке. Ваши мнения, предло-
жения или дополнительную информацию по программам, упомянутым в
данной работе, а также всем программам, публикуемым в бюллетене
СОФТПАНОРАМА, высылайте автору. Наиболее интересные из них будут
помещены в раздел FORUM бюллетеня.
10.5. Отдельные приемы защиты
"Привычка - вторая натура"
Латинская пословица
В данный раздел включены некоторые приемы, которые хотя и носят
вспомогательный характер, в то же время достаточно важны для того,
чтобы предпринять специальные меры по их выделению из массы приво-
димого материала.
10.5.1. Регулярно оптимизируйте винчестер
Как уже указывалось, периодически следует оптимизировать распо-
ложение файлов на винчестере с помощью утилиты SpeeDisk Нортона
или другой аналогичной утилиты. Эту операцию целесообразно прово-
дить не реже раза в месяц, сразу после выгрузки содержимого вин-
честра на дискеты (создания главного архива). в процессе оптимиза-
ции файлы можно расположить на диске таким образом, чтобы наиболее
часто используемые находились ближе к началу диска. Для этой цели
можно скорректировать поле даты таким образом, чтобы у наиболее
часто используемых файлов дата создания была меньше, чем у исполь-
зуемых редко, а затем задать режим упорядочения файлов по дате.
Помимо этого SpeeDisk позволяет также задать порядок расположения
каталогов и имена нескольких наиболее часто используемых файлов.
Ежедневно перед окончание работы следует проводить "уборку вин-
честера" є дефрагментацию созданных файлов. После дефрагментации
все файлы занимают последовательные группы кластеров, что сущест-
венно облегчает их восстановление даже в случае тяжелых поврежде-
ний управляющих блоков.
10.5.2. Прятать новые версии антивирусных программ просто
невыгодно
"Что ты спрятал , то - пропало.
Что ты отдал, то - твое"
Ш.Руставели
Получив новую, более эффективную антивирусную программу, некото-
рые не стремятся передать ее другим пользователям, рассматривая ее
наличие как некоторое преимущество. Ошибочность политики "прими-
тивного эгоизма" в случае антивирусных программ состоит в том,
что, передав программу всем своим знакомым, Вы как бы создаете до-
полнительную зону защиты, на которой тот или иной вирус может быть
обнаружен и изолирован еще до попадания на Вашу ЭВМ. Поэтому бес-
корыстная передача новых версий антивирусных программ представля-
ет, по сути, политику "разумного эгоизма": за Ваше более безопас-
ное положение Вы отдаете чужие, доставшиеся Вам бесплатно
программы, да еще и получаете причитающуюся Вам долю уважения за
кажущееся бескорыстие этих действий.
10.5.3. Нормальное состояние дискеты - защищенное от записи
Существенным конструктивным дефектом 5-дюймовых дискет является
необходимость заклейки выреза клейкой фольгой для защиты от запи-
си. При этом фольга, как и сами дискеты является дефицитом. Тем не
менее, рекомендуется считывать информацию с дискеты, в особенности
на "чужих" машинах, только с защищенных от записи дискет. Вообще
нормальным состоянием дискеты является "заклеенное" и защита долж-
на сниматься только в случае записи на нее информации. В условиях
дефицита наклеек из фольги, для этой цели можно использовать "са-
модельные", состоящие из полоски фольги, наклеенной на прозрачную
липкую ленту (SCOTCH) или темную изоленту. В случае, когда у вас
на машине не оказалось наклейки, а Вам нужно защитить дискету от
записи можно сложить пополам полоску бумаги, так чтобы она закры-
вала соответствующую прорезь и аккуратно вставить ее в дисковод
вместе с дискетой.
10.5.4. Как работать на зараженном файловым вирусом компьютере
при отсутствии вакцины
Иногда необходимо работать на компьютере, который постоянно ин-
фицируется любителями компьютерных игр или по каким-то другим при-
чинам. В этом случае можно избежать заражения используемых прог-
рамм путем создания искусственной мишени для вируса. Поскольку
подавляющее большинство файловых вирусов заражает программу при ее
запуске, можно обмануть вирус двумя основными способами.
Во-первых, можно предварительно переименовать все файлы типа COM
и EXE (например, в PGM и LNK) и использовать для их запуска на вы-
полнение виртуальный диск. При этом достаточно написать простые
BAT-файлы, в которых программа сначала копируется на виртуальный
диск, затем переименовывается, выполняется и удаляется. При от-
сутствии достаточного количества оперативной памяти для организа-
ции виртуального диска требуемого размера, для этой цели можно ис-
пользовать один из разделов винчестера, хотя это несколько
замедляет работу.
Более высокую степень защиты обеспечивает модификация этого спо-
соба, основанная на свертке каталога архиватором. При этом проце-
дура запуска аналогична предыдущей, однако на первом шаге BAT-фай-
ла вместо копирования соответствующий файл сначала разархивируется
на виртуальный диск (или раздел винчестера). Преимуществом этого
способа (если держать архиватор на виртуальном диске) является
экономия места на диске, а недостатком - увеличение времени поиска
программ при загрузке, связанное с просмотром архива. Автор разра-
ботал последний способ после одного неудачного эксперимента с ви-
русом RСE-1800, когда "вырвавшийся на свободу" вирус заразил нес-
колько десятков файлов на винчестере (никакими специальными ЭВМ
для экспериментов автор не располагает, поэтому все эксперименты
проводятся "с риском для винчестера" на обычном персональном
компьютере коллективного пользования). Вместе с тем, данный способ
оказался достаточно удачным и с тех пор широко используется авто-
ром для экономии места на винчестере.
Особенно полезен данный способ для мелких, сравнительно редко
используемых программ, если на используемой машине установлен вин-
честер размером 20M или меньше. В этом случае на винчестере созда-
ется рабочий каталог (например, WORK), в который выполняется ра-
зархивирование. Этот каталог включается в PATH перед каталогом
BAT, а в Norton Commander (или другую используемую оболочку) вклю-
чается команда очистки этого каталога. Поскольку из каталога WORK
разархивированная программа не удаляется, то дополнительное время
на разархивацию тратится только при первом обращении к программе.
Конечно, следует предусмотреть соответствующий BAT-файл для запус-
ка программы (в простейшем случае это может быть BAT-файл RUN, ко-
торому в качестве первого параметра передается имя выполняемой
программы.
Для "монстрообразных" программ (например, программ, написанных
на Clipper'е) более удобно использование архиватора LZEXE (см. СП
2-9). Например, программа PCTools занимает на диске около 200K,
половину из которых можно сэкономить, сжав ее с помощью LZEXE.
10.5.5. При хранении антивирусных программ на винчестере,
используйте архивирование
При хранении антивирусных программ в виде специального каталога
на винчестере желательно свернуть их в архив, а перед использова-
нием разархивировать на виртуальный диск или в тот же каталог, а
затем удалять. Это позволяет избежать заражения антивирусных прог-
рамм, не обладающих средствами самотестирования на зараженность,
новыми типами вируса, которые, естественно, ими не детектируются
(в лучшем случае может быть выдано предупреждающее сообщение).
10.5.6. Использование макетов программ типа DUMYxxxx для
определения место нахождения спрятанных байтов
В ряде случаев приходится "лечить" файлы вручную, используя
только редактор двоичных файлов (например, RED). В этом случае
первостепенное значение имеет выяснение расположения "спрятанных"
вирусом байтов. В частности, для COM-файлов в большинстве случаев
достаточно восстановить первые три байта, чтобы дезактивировать
вирус. При наличии некоторых навыков, после проверки правильности
работы дезактивированной программы можно легко удалить тело вируса
редактором.
При определении местонахождения спрятанных байтов удобно исполь-
зовать "неразборчивость" вирусов, которые не проверяют, какие фай-
лы им "подсовывают для заражения". Поэтому вместо настоящего можно
создать файл, состоящий из одинаковых символов и заразить его изу-
чаемым вирусом. Поскольку в простейшем случае этот файл неисполня-
емый, то в случае резидентного вируса, заражающего запускаемые на
выполнение программы, после заражения MS DOS зависнет и Вам при-
дется перегрузиться. Однако зараженный файл сохранится и окажет
неоценимую помощь при анализе. Обычно достаточно нескольких экспе-
риментов, чтобы определить местонахождение "спрятанных байтов".
Это позволяет выяснить их местонахождение без дисассемблирования.
Немного зная ассемблер, можно легко сделать и исполняемый макет,
состоящий из требуемого количества команд NOP (однобайтовая коман-
да с кодом 90h) и выхода с помощью INT 20 или INT 21-4C. Некоторые
вирусы заражают только файлы, начинающиеся с команды перехода. В
таких случаях необходимо поставить в качестве первой команды ко-
манду JMP. Для создания таких дрозофил удобно использовать прог-
рамму DEBUG, входящую в состав MS DOS. Техника работы с этой прог-
рамой подробно описана во всех учебниках по языку Ассемблера для
IBM PC.
10.6. Методика восстановления информации
"Ничего не потеряно,
пока не потеряно все"
Пословица
Необходимо отметить, что даже в достаточно тяжелых случаях,
восстановление поврежденной информации чаще всего возможно (по
крайней мере, частичное), однако требует достаточно высокой квали-
фикации. Именно в этот момент "вступают в игру" архивированные
системные блоки, наличие которых на дискете позволяет существенно
облегчить восстановление.
Наряду со свежими архивными копиями системных блоков в такой си-
туации важное значение имеет наличие системных программистов, спо-
собных оценить характер и объем повреждения, а также умеющих вы-
полнить восстановление при разрушенных или отформатированных
системных блоках или других массивных повреждениях файловой систе-
мы. При отсутствии собственных системных программистов, представ-
ляется оправданным приглашение их со стороны. Профессиональные ор-
ганизации программистов, подобные Киевскому обществу системных
программистов, также могут оказать помощь в восстановлении инфор-
мации. В других городах также можно найти системных программистов
или организацию, которая, на льготных условиях может предоставить
какие-то дополнительные услуги по восстановлению информации.
Конечно степень усилий во многом зависит от ценности потерянной
информации. В силу ограниченности обьема книги остановимся лишь на
наиболее общих принципах организации восстановления информации.
10.6.1. Создайте и отработайте план восстановления винчестера !
"Кто приготовился к бою,
тот его наполовину выиграл"
М.Сервантес
Встреча с каким-нибудь коварным компьютерным вирусов может и не
состояться. Но огорчаться не стоит. Экстемальных ситуаций в прог-
раммировании хоть отбавляй и место вируса наверняка не окажется
вакантным. Поэтому вопрос не в том, потеряете ли вы данные, запи-