"С.П.Расторгуев, А.Е.Долгин "Как защитить информацию" (пособие по борьбе с хакерами)" - читать интересную книгу авторакаких-либо производстводственных мощностей, в то же время обеспечивают
достаточный уровень защищенности. Впрочем, надежность в этом случае определяется знанием последних достижений общей теории программирования и умением разработчика использовать специальные приемы. Естественно, что новинки систем охраны влекут и совершенствование способов "взлома" - извечное противоборство "щита и меча". Вот некоторые из наиболее популярных приемов защиты. Преобразование ФОРМАТА ДИСКЕТЫ - наиболее простой путь предотвращения ее копирования средствами DOS. Даже незначительные изменения в структуре или расположении системных таблиц или каталога приводят к тому, что дискета становится непонятной "операционке". Можно "перепутать" адреса секторов, на которых расположены защищаемые файлы; пометить отдельные кластеры, занятые данными, как сбойные; переделав запись в BOOT-секторе, изъять из доступного системе пространства несколько треков (дорожек); в конце-концов - просто применить иную структуру, взяв за основу аналог из других операционных систем (например, RT-11 от ДВК). Разумеется, работать с такой дискетой сможет только специальная программа, полностью заменяющая стандартные функции ввода-вывода. Одним из способов ШИФРАЦИИ данных является их архивация по специальным алгоритмам, что позволяет к тому же и сэкономить место на магнитном носителе. Правда, сами кодирующие блоки программ оказываются слабым местом. Их исследование под отладчиком или дизассемблером позволяет хакеру понять алгоритм шифрации и повторить его. Поэтому стиль программирования. В отличие от общепринятых "наглядности" и "структурности", для охранных механизмов следует применять "изощренность", то есть такой стиль, который позволит получить сложный и запутанный исполняемый модуль. Еще лучше - если он будет саморазворачивающимся в процессе работы (программа "дописывает" свои части, отсутствующие на винчестере). Очень полезными могут оказаться приемы, о которых журнал "ТМ" рассказывал в 1986 - 1988 годах в разделе "Клуб электронных игр" (использование кода оператора в качестве операнда, набора констант по прямому назначению и как подпрограммы, передача управления в середину сложной двух-трехбайтовой команды, проход "своим ходом" через данные и другие хитрости, не только экономящие память, но и запутывающие алгоритм). Но это пассивная защита, а в качестве активной - рекомендуем ПРЕСЕКАТЬ ПОПЫТКИ ИССЛЕДОВАНИЯ ИЛИ НЕСАНКЦИОНИРОВАННОГО "РАЗМНОЖЕНИЯ": периодически определять контрольную сумму всех кодов образа задачи в процессе работы (не "отрезан" ли какой-либо блок); сравнивать свободную память с тем объемом ОЗУ, к которому программа привыкла или приучена (не запущены ли паралельно резидентные "отмычки"); проверять вектора прерываний (нет ли их перехватов); используя компьютерный таймер, контролировать время прохождения отдельных частей (выявление "остановов" и "потактового режима" отладчика). Изучение операционных систем, аппаратных особенностей ЭВМ позволяет выделить индивидуальные отличия и использовать их для НАСТРОЙКИ НА КОНКРЕТНУЮ ПЭВМ, СИСТЕМУ или ДИСКЕТУ, что делает |
|
|