Текст книги ""Шпионские штучки" и устройства для защиты объектов и информации"
Автор книги: авторов Коллектив
Жанр:
Справочники
сообщить о нарушении
Текущая страница: 10 (всего у книги 18 страниц)
4. ЗАЩИТА КОМПЬЮТЕРОВ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА К ИНФОРМАЦИИ
Особенности защиты персональных компьютеров (ПК) обусловлены спецификой их использования. Как правило, ПК пользуется ограниченное число пользователей ПК могут работать как в автономном режиме, так и в составе локальных сетей (сопряженными с другими ПК) и могут быть подключены к удаленному ПК или локальной сети с помощью модема по телефонной линии.
Стандартность архитектурных принципов построения, оборудования и программного обеспечения персональных компьютеров, высокая мобильность программного обеспечения и ряд других признаков определяют сравнительно легкий доступ профессионала к информации, находящейся в ПК. Если персональным компьютером пользуется группа пользователей, то может возникнуть необходимость в ограничении доступа к информации различных потребителей
Несанкционированным доступом (НСД) к информации ПК будем называть незапланированное ознакомление, обработку, копирование, применение различных вирусов, в том числе разрушающих программные продукты, а также модификацию или уничтожение информации в нарушение установленных правил разграничения доступа. В защите информации ПК от НСД можно выделить три основных направления:
– первое ориентируется на недопущение нарушителя к вычислительной среде и основывается на специальных технических средствах опознавания пользователя;
– второе связано с защитой вычислительной среды и основывается на создании специального программного обеспечения по защите информации;
– третье направление связано с использованием специальных средств защиты информации ПК от несанкционированного доступа.
4.1. Специальные технические средства опознавания пользователя ПК
Одним из способов опознавания пользователя ПК является применение специальных электронных карточек, разрабатываемых некоторыми фирмами (например, «Micro Card Technologies»). В электронные карточки записывается специальная информация о владельцах, их пароли и ведется учет всех операций, выполняемых пользователем. В настоящее время нашли широкое применение электронные карточки Touch Memory: DS1990 (48-битный номер), DS1991 (номер+защищаемая память), DS1992 (номер+1Кбит), DS1993 (номер+4Кбит), DS1994 (номер+4Кбит+-таймер). Считывание информации производится с помощью специальных устройств-сканеров: DS9092GT (ручной), DS9092T (тактильный), «Элиас» (клеящийся).
Американская фирма "Software Security Inc." разработала оригинальный электронный ключ доступа к ПК ("Активатор"). В ключе находится микропроцессор, в запоминающее устройство которого заносится уникальная для каждого пользователя информация. При запросе доступа к ПК пользователь должен поднести электронный ключ к дисплею; доступ открывается при совпадении паролей ключа и ПК. Процедуру доступа можно модифицировать так, чтобы пароль зависел от дня недели и времени суток.
Широкое распространение получили устройства фирмы "Calspan", которые проводят идентификацию пользователей по отпечаткам пальцев.
Когда палец приближается к пластине, покрытой термохромным материалом, выпуклые рубчики кожи пальца в местах соприкосновения с пластиной уменьшают температуру поверхности, изменяя в этих местах отражающую способность пластины. Рельеф разветвлений преобразуется в цифровую форму и вводится в ПК, где сравнивается с эталонным отпечатком данного пользователя.
Разработаны и применяются устройства опознавания пользователя по геометрическим признакам руки. В такой системе пользователь помещает руку на массив фотоячеек, который определяет информацию о длине пальцев и их светопроводности. Затем производится сравнение полученных сигналов с эталонным, хранящимся в ПК. Разработанные устройства не реагируют на изменение длины ногтей, но легко обнаруживают искусственные муляжи.
Достаточно надежным является способ опознавания пользователей по почерку. Для этого используются динамические характеристики процесса подписи: скорость, давление на бумагу, и статические – форма и размер подписи. Для этого используется специальная ручка, содержащая преобразователь ускорения по осям X и Y. Эти параметры определяются в процессе контрольного написания но 5-10 образцам.
Достаючно полно разработаны теоретические вопросы опознавания пользователя по голосу. На индивидуальность голоса влияют анатомические особенности и привычки человека-диапазон частот вибрации голосовых связок, высота гона; частотные характеристики голосового тракта.
С точки зрения технической реализации наиболее приемлемым является исследование частотных характеристик голоса. Для этого специалисты фирмы "Philips" предлагают применять специальные многоканальные фильтры с полосой пропускания от 100 Гц до 6,2 кГц. Опознавание пользователя производится сравнением текущих данных с эталонным сигналом по каждому частотному каналу, хранящемуся в памяти ПК.
4.2. Специальное программное обеспечение по защите информации ПК
Для защиты персональных компьютеров используются различные программные методы, которые значительно расширяют возможности по обеспечению безопасности хранящейся информации. Среди стандартных защитных средств персонального компьютера наибольшее распространение получили:
– средства защиты вычислительных ресурсов, использующие парольную идентификацию и ограничивающие доступ несанкционированного пользователя;
– применение различных методов шифрования, не зависящих от контекста информации;
– средства защиты от копирования коммерческих программных продуктов;
– защита от компьютерных вирусов и создание архивов.
4.2.1. Средства, использующие парольную идентификацию
В простейшем случае вы можете воспользоваться аппаратными средствами установления пароля на запуск операционной системы ПК с помощью установок в CMOS Setup. При запуске ПК на экране монитора появляется сообщение (в зависимости от типа установленного у вас BIOS) вида:
Press < DEL> if you want to run Setupили
Press < CtrI>< Alt>< Esc> if you want to run Setup
(для некоторых видов BIOS)
Нажмите клавишу < DEL> или (< Ctrl>+< AIt>+< Esc>) и на экране появится меню CMOS Setup. Выберите опцию Password Checking Option (рис. 4.1), введите пароль, сохраните новые установки Setup (< F10>,< Y>) и перезапустите ПК. Теперь перед каждым запуском компьютера на экране монитора будет появляться сообщение с требованием ввести пароль.
Рис 4.1. Панель ADVANCED CMOS SETUP
К сожалению, использование подобной парольной идентификации не является надежным. Достаточно отключить аккумуляторную батарею, расположенную на материнской плате, и компьютер «забудет» все установки CMOS Setup.
Защита встроенного накопителя на жестком магнитном диске составляет одну из главных задач защиты ПК от постороннего вторжения. Существует несколько типов программных средств, способных решить задачи защиты: защита от любого доступа к жесткому диску; защита диска от записи/чтения; контроль за обращением к диску; средства удаления остатков секретной информации.
Защита встроенного жесткого диска обычно осуществляется путем применения специальных паролей для идентификации пользователя (так называемая парольная идентификация). В данном случае доступ к жесткому диску можно получить при правильном введении пароля при загрузке операционной системы. В противном случае загрузка системы не произойдет, а при попытке загрузки с гибкого диска, жесткий диск становится "невидимым" для пользователя. Эффект защиты жесткого диска в системе достигается видоизменением загрузочного сектора диска, из которого удаляется информация о структуре диска. Такая защита весьма эффективна, и она надежно защищает жесткий диск от рядового пользователя. Примерами программ, реализующих парольную, идентификацию являются следующие.
Программный продукт MAWR, ver. 5.01
Система парольной защиты, состоит из программ: Aspyrln.exe, Mawr.exe, Pers.com и предназначена защищать разделы файловой системы MS DOS (каталоги и подкаталоги) от несанкционированного доступа. Для защиты жесткого диска устанавливается так называемый дисковый пароль. Защита жесткого диска осуществляется путем создания нестандартной структуры FAT, поэтому при загрузке с флоппи-диска нельзя получить доступ к жесткому диску.
Программный модуль PR0TEST.COM, ver. 3,0
Позволяет ставить защиту от записи или от чтения на разделы жесткого диска (логические диски). Доступ к разделу возможен только при введении соответствующего пароля. Разбивка диска производится программой Disk Manager или Fdisk. Возможна защита жесткого диска от загрузки с гибкой дискеты (винчестер не виден для команд DOS). Существующие вирусы не в состоянии разрушить систему, находящуюся на винчестере.
Программный продукт NULOCK, ver. 2.0
Предназначен для защиты жесткого диска от несанкционированного доступа. Доступ к жесткому диску осуществляется по паролю при запуске операционной системы. При попытке загрузки с дискеты винчестер для команд DOS не виден.
Программный продукт PASSW, ver. 1.0
Предназначен для защиты жесткого диска. Организует доступ к жесткому диску посредством пароля. Позволяет устанавливать, удалять, изменять и читать пароль жесткого диска. Запрещает доступ к операционной системе винчестера при обращении с дискет.
Программный пакет ADM, ver. 1.03
(The Advanced Disk Management System)
Программный пакет позволяет создавать на одном диске до 16-ти защищаемых разделов. Доступ к разделам возможен на основании таблицы разграничения доступа, учитывающей виды доступа и разрешение разделов для пользователей при помощи различных паролей.
Однако следует отметить, что квалифицированный системный программист может преодолеть указанный выше метод защиты. Даже при помощи широко распространенных программных средств (например, Norton Utilities) возможно чтение информации с жесткого диска. Опытный программист может попытаться восстановить отсутствующую системную информацию или проанализировать программу защиты для обнаружения пароля, так как некоторые программы защиты записывают пароль в открытом виде в загрузочном секторе или сразу после загрузочного сектора. Устойчивая защита информации на жестком диске может быть достигнута посредством шифрования системной информации, пароля и всего содержимого диска.
4.2.2. Применение различных методов шифрования информации
Возможность использования персональных компьютеров в локальных сетях (при сопряжении их с другими ПК) или применение «модемов» для обмена информацией по телефонным проводам предъявляет более жесткие требования к программному обеспечению по защите информации ПК. Потребители ПК в государственных и коммерческих организациях для обмена информацией все шире используют электронную почту, которая без дополнительных средств защиты может стать достоянием постороннего человека. Самой надежной защитой от несанкционированного доступа к передаваемой информации и программным продуктам ПК является применение различных методов шифрования (криптографических методов защиты информации).
Криптографические методы защиты информации – это специальные методы шифрования, кодирования или иного преобразования информации, в результате которого ее содержание становится недоступным без предъявления ключа криптограммы и обратного преобразования. Криптографический метод защиты, безусловно, самый надежный метод защиты, так как сохраняется непосредственно сама информация, а не доступ к ней (например, зашифрованный файл нельзя прочесть даже в случае кражи носителя). Данный метод защиты реализуется в виде программ или пакетов программ, расширяющих возможности стандартной операционной системы. Защита на уровне операционной системы, чаще всего, должна дополняться средствами защиты на уровне систем управления базами данных, которые позволяют реализовывать сложные процедуры управления доступом.
В настоящее время не существует общепринятой классификации криптографических методов защиты информации. Однако, когда подвергается преобразованию (шифровке) каждый символ передаваемого сообщения ("симметричный" метод закрытия информации), можно условно выделить четыре основные группы:
– подстановка– символы шифруемого текста заменяются символами того же или другого алфавита в соответствии с заранее определенным правилом;
– перестановка– символы шифруемого текста переставляются по некоторому правилу в пределах заданного блока передаваемого текста;
– аналитическое преобразование– шифруемый текст преобразуется по некоторому аналитическому правилу;
– комбинированное преобразование– исходный текст шифруется двумя или большим числом способов шифрования.
Существует большое число программных продуктов шифрования информации, которые продаются вместе с операционной системой. Эти программы трансформируют обычную текстовую информацию в зашифрованные данные (шифротекст) посредством специального алгоритма, доступ к которому осуществляется при помощи ключа. Пока ключ (кодовое число) не потерян пользователем, из шифро-текста может быть восстановлен исходный текст. Примерами таких программ могут служить:
Программные средства DES
Криптографические алгоритмы DES являются, наверное, самым широко используемым механизмом шифрования данных в наше время. Существует большое число его аппаратных и программных реализации, трансформирующих исходную информацию. Физически информация хранится в зашифрованном виде на жестком диске, для обращения к ней в системе создается виртуальный диск, к которому можно обратиться как к обычному диску или дискете, введя правильный ключ.
ГОСТ28147-89
В России для шифрования в государственных организациях используется алгоритм по установленному стандарту ГОСТ28147. По аналогии с DES алгоритм ГОСТ также является симметричным алгоритмом шифрования с секретным ключом. Существует большое число реализаций этого алгоритма, как программных, так и аппаратных.
Программный пакет EXCELLENCE, ver. 3.1
Программное обеспечение системы криптографической защиты данных, хранящихся на жестком диске. Разрешение на доступ к информации дается на основе таблицы разграничения доступа, которая может корректироваться лицом, ответственным за безопасность системы.
Программный пакет RETURN TO LIFE
Пакет представляет собой систему помехоустойчивого кодирования информации. Программный пакет позволяет осуществлять защиту системы или отдельных файлов от несанкционированного использования. В процессе защиты секретная информация (кодовый ключ) может быть записана на дискету или жесткий диск.
Программа DISKREET
Входит в состав пакета Norton Utilities, работает в операционной среде MS DOS и Windows. Она также реализует алгоритм DES при шифровании файлов, а также обладает рядом других возможностей (блокировки клавиатуры и экрана), таких, как создание шифрованных объектов на уровне файлов или виртуальных (логических) дисков.
Таблица 4.1. Сертифицированные операционные системы (состояние на 1994 г.)
Программный пакет PROTEST
Защищает текстовые файлы, базы данных. Принцип основан на кодировании информации с учетом особенностей конфигурации ПК, в частности, жесткого диска, видеоадаптера, портов. Кроме того, для защиты информации используется ключевая дискета, которая форматируется определенным образом в первый сектор записывается номер ключа.
Таблица 4.2. Кандидаты на сертификацию (состояние на 1994 г.)
Программно-аппаратный комплекс DALLAS LOCK, ver. 3.0
Предназначен для защиты компьютера от НСД путем шифрования файлов на дискетах и винчестере. Для шифрования используется программа Lock.exe, а для дешифрования применяется программа Unlock.exe.
Процесс обращения предельно прост в использовании – достаточно указать имя расшифровываемого файла и код ключа.
Программный пакет SECRET DISK, ver. 1.01
Пакет позволяет шифровать и расшифровывать файлы, виртуальные (логические) диски и дискеты. Позволяет изменять атрибуты главного файла, форматировать дискету для SecretDisk, изменять кодовые ключи.
Программный модуль PROGRAM PROTECT, ver. 3.0
Система работает под управлением MS DOS, ver. 3.x и предназначена для шифрования файлов. Ограничивает доступ к файлам путем организации запроса кода. Устанавливает защиту от несанкционированного копирования с невозможностью её снятия. Защита снимается только форматированием, т. е. уничтожением информации.
* * *
В настоящее время существуют более сложные криптографические методы закрытия информации, "асимметричные", связанные с более сложными техническими решениями, которые используются, как правило, в системах закрытия важной государственной информации. Изложение данных методов защиты информации выходит за рамки настоящего издания; упомянем лишь, что реализация простейших видов этого метода вполне доступна даже начинающим программистам (см., например, журнал "PC Magasine" за 1995 год).
К защищенным системам относятся такие аппаратные и программные средства, которые разработаны с учетом требований безопасности обработки информации, содержащихся в соответствующих государственных документах, и обладают проверенными в ходе сертификационных испытаний защитными свойствами. Приведем список операционных систем, сертифицированных Национальным центром компьютерной безопасности (NCSC) США. Он представляет различные компании, продукты которых либо получили сертификат от NCSC (табл. 4.1), либо проходят сертификацию (табл. 4.2). Класс защиты снижается от А к С и от 1 к 2.
Поскольку сертификационные испытания продолжаются около двух лет, то включение новых кандидатов в табл. 4.1 за прошедшее время маловероятно.
В отношении широко используемых в России Операционных Систем типа MS DOS и ей подобных ОС, а также OS/2 можно сказать, что они не относятся к классу защищенных и их использование создает предпосылки к НСД. По заявлению фирмы Microsoft, система MS Windows NT ver. 3.5 создавалась в соответствии с требованиями класса С2 и при использовании дополнительных программных продуктов может соответствовать классу В2.
Описанные выше методы защиты информации от несанкционированного доступа являются достаточно эффективными. Однако в некоторых случаях они позволяют производить перенос (копирование) программ с одного ПК на другой, что дает возможность специалисту по криптографии путем применения специальных средств расшифровать полученную информацию. Для исключения такой возможности применяют специальные программы, защищающие от несанкционированного копирования информации.
4.2.3. Средства защиты от копирования программных продуктов
Программы защиты от копирования отличаются определенной спецификой, так как, с одной стороны, должны разрешать чтение программы для её выполнения, а с другой запрещать операцию чтения для предотвращения несанкционированного копирования. Данная задача может быть выполнена двумя способами:
– можно разрешить операцию чтения (копирования), но делать скопированные программы неработоспособными (неузнаваемыми);
– сделать информацию "трудночитаемой" стандартными средствами, но доступной для специальных программных средств.
Для этих целей может быть создана "ключевая" дискета, на которой хранятся специальные программные средства, необходимые для успешного чтения (копирования) файлом, находящихся на жестком диске. На ключевой дискете для принятия индивидуальности помечают некоторые сектора "плохими" (bad) и изменяют структуру записи системной информации. Одновременно в специальные программы управления чтением (копированием) должны быть заложены функции проверки этих "уникальных" особенностей. Примерами таких специальных программ могут служить следующие:
Программный пакет PROKOP
Состоит из программ Codprtet.com, Floprtet.com, Hardinsl.com, которые инсталлируются на винчестер. В процессе защиты программ пользователя от копировании происходит привязка загружаемых программ к ключевой дискете. Ключевая дискета не может быть скопирована средствами DOS и такими утилитами, как Copy write или Соруii рс.
Программный комплекс РР ver. 2 2, БФ ИЛИ АН РФ
Система защиты программ от несанкционированного копирования состоит из модулей: I_and_r.exe, Ptoolf.exe, Ptooli.exe. Защита состоит в изменении ЕХЕ-файлов путем перемещения из них блока размером 512 байт и внедрения на это место специальной программы, распознающей условия, заданные в момент инсталляции.
Программный комплекс TEXT PROTECTION
Состоит из модулей Decod.exe, Deshifr.exe, Pold.exe, которые предназначены для защиты текстовых данных от несанкционированного копирования. Создание ключевой дискеты происходит путем физической порчи части секторов – царапанья ее иголкой.
Программа COPYLOCK.COM, Link Computer
Для защиты используется форматирование ключевой дискеты специальным образом. Программа, делая дискету ключевой, форматирует О дорожку, изменив такой параметр, как размер сектора, на 128 (вместо 512), а номер последнего сектора дорожки – на 30 (вместо 9). Затем форматируется 12 дорожка, но уже со стандартными параметрами.
Программный пакет ANTYCOP
Имеет в своем составе файлы: Antycop.com, Antycop.ust, Antycop.zag.
Это система защиты файлов, размещаемых на жестких и гибких дисках, от несанкционированного копирования. Защищенные файлы привязываются к носителю и при копировании становится неработоспособны. При установке защиты учитываются следующие параметры, вводимые пользователем: ключ защиты, число инсталляций (все копии, сделанные сверх установленного лимита, будут неработоспособны).
Программный продукт SECRET TEXT, ver. 2.5
Состав: Stext.exe, Svicwer.exe. Предназначен для защиты текстовых файлов от несанкционированного копирования с жесткого диска. Система работает под управлением MS DOS ver. 3.x. Она позволяет устанавливать и снимать защиту с текста.
Программный пакет ППП ЗАЩИТА-МИКРО
Функционирует на ПК типа IBM PC/XT или совместимых с ним под управлением операционной системы MS DOS ver. 3.1 и выше. Предназначен для защиты файлов от неправомочного копирования и распространения программных продуктов, записанных на гибких магнитных носителях, используя специальное изготовление дискет.
Программный пакет LIST, ver. 1.0
Система ограничения доступа и защиты от копирования файлов на диске. Файлы заносятся в "черный" список, что не позволяет их копировать, удалять и изменять. Файл List.exe управляет списком и возвращает файлы из "черного" списка.
* * *
Программы, защищенные описанным выше методом, гарантированы от копирования при помощи стандартных средств (Copy, Хсору, Disk-copy, Norton Utilities и т. д.), однако программы защиты, а, следовательно, и их "уникальные" характеристики подвержены тиражированию.
Вследствие этого ряд производителей программного обеспечения отказываются от продажи программ на дискетах, а размещают свои изделия непосредственно в операционной системе при покупке ПК, обеспечивая тем самым соответствующую защиту для них.
Описанные выше методы защиты достаточно эффективны, но не гарантируют от разрушения и потерь информации в результате ошибок пользователя, сбоев программ или действий злоумышленника в обход защиты. В подобных случаях в ПК должны быть предусмотрены восстановительные мероприятия: страхование, резервирование, создание архивных копий. Использование архивов оценивается специалистами как весьма полезная мера сохранения информации от потерь.
4.2.4. Удаление файлов с жесткого диска
Удаление файлов средствами DOS (например, нажатием на клавишу < F8> в Norton Comander) не приводит к стиранию (уничтожению файлов с жесткого диска). Файл может быть восстановлен специальными программными средствами, например, утилитами UnErase и DiskEdit (входящими в состав Norton Utilities) или UnDelet, входящей в состав дистрибутива DOS.
Кроме того, неиспользуемая часть последнего кластера, занимаемого файлом, может содержать информацию, доступную утилите Diskedit.
Даже форматирование (высокоуровневое) жесткого диска не разрушает область данных, и информация может быть восстановлена с помощью специальных программных средств (в простейшем случае с помощью утилиты Unformat).
При работе со многими современными программными продуктами (например, с широко распространенным текстовым редактором Word for Windows) ваши данные размещаются во временном файле, который впоследствии автоматически удаляется. Вы можете и не знать о его существовании, однако файл остается на диске и может быть извлечен посторонним лицом.
Таким образом, возникает необходимость предотвращения всякий возможности доступа к незашифрованной информации.
"Необратимое" стирание данных с жесткого диска осуществляется, как правило, путем записи на занимаемое ими место заданного двоичного числа (обычно 0).
В соответствии со стандартом Министерства Обороны США, данные стираются путем выполнения как минимум трех циклов, каждый из которых включает запись в каждый бит единиц, а затем – нулей.
Подобный алгоритм осуществляет утилита Wipeinfo,входящая в состав Norton Utilities.
4.2.5. Создание архивов
При эксплуатации персональных компьютеров по самым различным причинам возможны порча или потеря информации на магнитных дисках. Это может произойти из-за физической порчи магнитного диска, неправильной корректировки или случайного уничтожения файлов, разрушения информации компьютерным вирусом и т. д. Для того чтобы уменьшить потери в таких ситуациях, следует иметь архивные копни используемых файлов и систематически обновлять копии изменяемых файлов. Для хранения архивов данных можно использовать внешние запоминающие устройства большой емкости, которые дают возможность легко скопировать жесткий диск (например, стримеры. «Арвид» и др.)
Для копирования файлов можно, разумеется, использовать следующие средства:
– стандартные команды Copy, Хсору, Diskcopy;
– программные средства PCtools, Norton Commander, Windows;
– программы непрерывного копирования Backup и Restore.
Однако при этом архивные копии занимают столько же места, сколько занимают исходные файлы, и для копирования нужных файлов может потребоваться много дискет.
Более удобно для создания архивных копий использовать специально разработанные программы архивации файлов, которые сжимают информацию. При архивировании степень сжатия файлов сильно зависит от их формата. Некоторые форматы данных (графические, Page Maker и др.) имеют упакованные разновидности, при этом сжатие производится создающей исходный файл программой, однако лучшие архиваторы способны поджать и их. Совсем другая картина наблюдается при архивации текстовых файлов, файлов PostScript и им подобных (текстовые файлы обычно сжимаются на 50–70 %, а программы на 20–30 %).
Наиболее популярны архиваторы ARJ, LHA, КАК и PKZIP (имеет отдельный распаковщик PKUNZIP).
Большинство из этих программ не надо специально покупать, они предлагаются как программы условно-бесплатные (Shareware) или свободного распространения (Freeware). Хорошую помощь при архивации программ (поскольку каждый пользователь имеет любимый архиватор) могут оказать вам специальные "оболочки" (так называемые Packer-Shells), такие как SHEZ или GUS, которые самостоятельно определяют компрессированный файл и помогают его распаковать (так называемый процесс разархивации); аналогичные средства имеются в современных оболочках общего назначения (Norton Commander, Dos Navigator и др.).
Подобные оболочки обычно лишь управляют имеющимися программами-архиваторами общего пользования. Архиватор RAR имеет собственную встроенную оболочку.
Рис. 4.2. Оболочка архиватора RAR
Принцип работы архиваторов основан на поиске в файле «избыточной» информации и последующем ее кодировании с целью получения минимального объема. Самым известным методом архивации файлов является сжатие последовательностей одинаковых символов. Например, внутри вашего файла находятся последовательности байтов, которые часто повторяются. Вместо того чтобы хранить каждый байт, фиксируется количество повторяющихся символов и их позиция. Для наглядности приведем следующий пример.
Упаковываемый файл занимает 15 байт и состоит из следующей последовательности символов:
BBBBBLLLLLAAAAA
В шестнадцатиричной системе
42 42 42 42 42 4С 4С АС АС АС 41 41 41 41 41
Архиватор может представить этот файл в виде (шестнадцатиричном):
01 05 42 06 05 AC OA 05 41
Эти последовательности можно интерпретировать следующим образом: с первой позиции 5 раз повторяется знак В, с шестой позиции 5 раз повторяется знак L и с позиции 11 повторяется 5 раз знак А.
Согласитесь, очень простая демонстрация алгоритма архивации. Очевидно, что для хранения файла в его последней форме требуется лишь 9 байт – меньше на 6 байт.
Описанный метод является простым и очень эффективным способом сжатия файлов. Однако он не обеспечивает большой экономии объема, если обрабатываемый текст содержит небольшое количество последовательностей повторяющихся символов. Более изощренный метод сжатия данных, используемый в том или ином виде практически любым архиватором, – это так называемый оптимальный префиксный код, и в частности, алгоритм Хаффмана, или кодирование символами переменной длины. Код переменной длины позволяет записывать наиболее часто встречающиеся символы и фразы всего лишь несколькими битами, в то время как редкие символы и фразы будут записаны более длинными битовыми строками. Например, анализируя любой английский текст, можно установить, что буква Е встречается гораздо чаще, чем Z, а X и Q относятся к наименее встречающимся. Таким образом, используя специальную таблицу соответствия, можно закодировать каждую букву Е меньшим числом бит, используя более длинный код для более редких букв, тогда как в обычных кодировках любому символу соответствует битовая последовательность фиксированной длины (как правило, кратной байту).
Популярные архиваторы ARJ, РАК, LHARC, PKZIP работают на основе алгоритма Лемпела-Зива. Эти архиваторы классифицируются как адаптивные словарные кодировщики, в которых текстовые строки заменяются указателями на идентичные им строки, встречающиеся ранее в тексте. Например, все слова этой книги могут быть представлены в виде номеров страниц и номеров строк некоторого словаря. Важнейшей отличительной чертой этого алгоритма является использование грамматического разбора предшествующего текста с разложением его на фразы, которые записываются в словарь. Указатели позволяют делать ссылки на любую фразу в окне установленного размера, предшествующем текущей фразе. Этот размер определяет границы поиска соответствия; при его увеличении возрастает плотность упаковки, но снижается скорость работы программы. Если соответствие найдено, текущая фраза заменяется указателем на ее предыдущее вхождение.
Программы-архиваторы позволяют не только сэкономить место на архивных дискетах, но и объединять группы совместно используемых файлов в один архивный файл, что заметно облегчает ведение архивов.