Виды защитного программного обеспечения
Проблема защиты данных от всевозможных угроз занимает сегодня всех, кто так или иначе связан с компьютерами – от рядовых пользователей до производителей компьютеров и программного обеспечения. И потому сегодня практически на любую компьютерную «болячку» есть свой программный «пластырь» (насколько он эффективен – это уже другой вопрос). Причем та регулярность, с какой появляются средства «нападения» и средства «защиты», иногда вызывает подозрение, что и те и другие создаются усилиями одних и тех же творческих коллективов. Но это так, к слову.
Программное обеспечение, пригодное для выполнения защитных функций, можно достаточно условно разделить на несколько видов:
программы контроля целостности данных;
антивирусные программы;
программные средства контроля и разграничения доступа;
программные средства сетевой защиты;
средства криптографической защиты;
программы для работы с жесткими дисками и сменными носителями.
Последний пункт носит весьма общий характер. К этой категории отнесены, в частности, программы резервного копирования и восстановления данных, а также программы для создания и изменения параметров файловой системы. Такое обобщение вызвано тем, что именно программам этой группы посвящены последующие главы книги.
Для других защитных программ далее приведена краткая характеристика с некоторыми рекомендациями по их практическому применению.
Программы контроля целостности данных
Из всего перечисленного выше «джентльменского набора» это наиболее простые программы. Даже и не программы, а утилиты, поскольку реализуют они, как правило, одну-единственную функцию: определяют факт изменения содержимого файла или папки.
Механизм работы таких программ основан на вычислении так называемой контрольной свертки – CRC (Cyclic Redundancy Check, дословно – «циклический избыточный контрольный код»).
ПРИМЕЧАНИЕ ____________________
Иногда аббревиатуру CRC интерпретируют как «контрольная сумма», что неверно, поскольку вычисление контрольной суммы для некоторого блока данных – это альтернативный метод проверки, более простой и менее надежный. Вычисление же CRC основано на применении специального «магического» полинома, коэффициентыкоторого определяются в соответствии с используемым алгоритмом CRC.
Обычно длина значения CRC составляет 16 или 32 двоичных разряда. 32-разрядную контрольную свертку для определенности обозначают CRC32, а само значение представляют в шестнадцатеричном коде.
Использование CRC32 обеспечивает очень высокую достоверность контроля. Достаточно изменить единственный бит в контролируемом файле, и значение контрольной свертки станет совершенно другим. Например, взгляните на значения CRC32 для двух текстовых файлов, различающихся одним битом (рис. 2.3).
Рис. 2.3.Значения CRC32 для двух файлов
Известно достаточно много программ, обеспечивающих контроль целостности данных на основе вычисления CRC. Большинство из них бесплатны или условно-бесплатны. В разных программах могут использоваться различные алгоритмы вычисления CRC, однако принцип работы один: сначала программа вычисляет контрольную свертку для каждого из указанных файлов (или папок), а затем при повторном запуске выполняет повторный расчет CRC и сравнивает полученное значение с тем, которое хранится в базе данных программы.
Необходимо отметить, что утилиты контроля целостности данных на основе CRC входят в состав более сложных и мощных защитных программ. В частности, анализ CRC контролируемых файлов выполняют антивирусные пакеты (с целью выявления факта несанкционированного изменения этих файлов). В программах-архиваторах CRC используется для контроля целостности архива (рис. 2.4).
На сегодняшний день перечень доступных антивирусных программ весьма обширен. Они различаются как по цене (от весьма дорогих до абсолютно бесплатных), так и по своим функциональным возможностям. Наиболее мощные (и, как правило, наиболее дорогие) антивирусные программы представляют собой на самом деле пакеты специализированных утилит, способных при совместном их использовании поставить заслон практически любому виду зловредных программ.
Читать дальше