Введение в криптографию - Филипп Циммерманн
Шрифт:
Интервал:
Закладка:
Не полностью удалённые файлы
Другая потенциальная угроза безопасности исходит из того, как большинство операционных систем удаляют файлы. Когда вы зашифровали файл и хотите удалить оригинал с открытым текстом, ОС на самом деле не стирает данные физически — она просто удаляет запись о таком файле из файловой системы и особым образом помечает начало файла на диске, позволяя позднее вновь использовать занятые сектора, содержавшие файл. Это похоже на то, как если бы вы выбросили конфиденциальные документы в мусорную корзину вместо того, чтобы пропустить их через шредер. Сектора диска по-прежнему содержат ценные данные, которые вы хотели стереть, и в будущем поверх них наверняка будет записана новая информация. Но если злоумышленник прочитает содержимое секторов спустя небольшое время после их высвобождения, он сможет восстановить оригинал.
Компрометация может случиться и не умышленно. При сбое компьютера диск может оказаться повреждён, что повлечёт порчу или уничтожение каких-то файлов. Для их восстановления можно воспользоваться специальной утилитой, но обычно это приводит к тому, что наряду с нужными "воскресают" и все прочие давно удалённые файлы. Эти вновь появившиеся конфиденциальные данные, которые, как вы считали, исчезли давно и безвозвратно, могут быть просмотрены тем, кто занимается восстановлением повреждённого диска. Даже когда вы составляете важное сообщение в текстовом редакторе, он может сохранять на диске многочисленные временные копии текста просто из-за внутренних особенностей своего функционирования. Когда работа окончена, эти временные копии автоматически удаляются программой, но фрагменты ценных данных остаются где-то на диске.
Единственная возможность предотвратить восстановление открытого текста — каким-то образом перезаписать высвободившиеся от только что удалённого файла сектора. Если вы не знаете наверняка, что эти сектора в ближайшее время будут снова использованы, нужно принять определённые меры по перезаписи удалённого файла, а также всех его фрагментов, оставленных текстовым редактором на диске. Вы можете добиться этого, воспользовавшись функциями PGP по уничтожению данных Secure Wipe и Freespace Wipe.
Современные операционные системы благодаря поддержке так называемых журнальных файловых систем ещё более усугубляют проблему временных файлов. Эти файловые системы сохраняют в своей специальной внутренней области резервные копии всех записей, вносимых ОС в файловую систему — ведут журнал изменений. Такой журнал представляет собой последовательное описание всех изменений, произведённых на диске, и служит цели надёжного восстановления ФС после сбоев. Файловая система NTFS, поддерживаемая Windows NT/2000/XP, и есть пример журнальной ФС. MacOS X 10.2.2 также имеем журнальные расширения к своей файловой системе HFS. Единственный способ уничтожить записи журнала ФС, относящиеся к удалённым ценным файлам — использовать функцию PGP Freespace Wipe.
Вирусы и трояны
Атака состоит в применении специально спроектированного компьютерного вируса или червя для заражения установленной у вас программы PGP. Этот гипотетический вирус может быть устроен так, чтобы перехватывать закрытый ключ и пароль или содержимое расшифрованных сообщений и незаметно записывать эту информацию в файл либо отправлять её по сети взломщику. Равно он может менять функционирование PGP, чтобы тот не сообщал о поддельных цифровых подписях или ослаблял его криптографическую стойкость. Такая атака дешевле криптоаналитической.
Защита от подобного рода атак подпадает под общую категорию антивирусной защиты. Существуют довольно неплохие коммерческие антивирусные пакеты, а также гигиенические процедуры, следование которым серьёзно снижает риск вирусного заражения. Полный обзор антивирусных мероприятий лежит за пределами темы настоящего документа. PGP беззащитен против вирусов и троянских программ; его использование предполагает, что ваш собственный компьютер является достаточно надёжной средой исполнения. Но если подобный вирус или червь появятся в действительности, надо надеяться, предупреждение об этом всего криптографического и Интернет-сообщества распространится незамедлительно.
Если ваш компьютер имеет постоянное подключение к сети, взломщик может воспользоваться незакрытой уязвимостью в системе безопасности ОС, чтобы проникнуть в компьютер и поместить в него некую вредоносную программу, нарушающую целостность PGP. Такое может произойти даже пока вас нет рядом.
Похожая атака заключается в использовании качественной подделки PGP, функционирующей как PGP, но, например, не сверяющей должным образом подписи, что допустит применение поддельных открытых ключей, или радикально снижающей стойкость шифртекстов. Взломщику не составит большого труда изготовить такой троян, поскольку исходный код PGP широко распространён, что позволяет любому, внеся в него изменения, произвести безголовую имитацию программы, которая выглядит как настоящая, но безоговорочно следует демонической воле своего повелителя. Этот троян PGP может быть широко распространён, заверяя, что он из достоверного источника. Какое коварство!
Наилучший источник получения PGP — это сайт PGP Corporation.
Кроме того, есть несколько способов проверки целостности PGP при помощи ЭЦП. Вы можете с помощью второй подлинной копии программы сверить подпись на дистрибутиве подозрительной. Но это не поможет, если ваша ОС заражена специальным упомянутым выше вирусом, либо если оригинальная копия PGP была злонамеренно изменена так, чтобы скомпрометировать её возможность сверять надлежащим образом подписи. Для этой процедуры также необходимо, чтобы вы располагали достоверной копией открытого ключа PGP Corporation, которым сверяете подпись с дистрибутивного пакета программы.
Файл подкачки и виртуальная память
Первоначально PGP создавался для MS-DOS — примитивной по сегодняшним меркам операционной системы. Но когда он был адаптирован под более комплексные ОС, такие как Microsoft Windows и Macintosh OS, возникла новая проблема. Эта проблема проистекает из факта, что эти продвинутые ОС используют метод, называемый виртуальной памятью.
Виртуальная память позволяет исполнять программы, намного превышающие ёмкость установленных в вашем компьютере полупроводниковых схем оперативной памяти (ОЗУ). Это очень полезно, так как софт становится всё более и более "раздутым" из-за ставших нормой графических интерфейсов, а пользователи всё чаще работают с несколькими крупными приложениями одновременно. С этой целью ОС для хранения невостребованных на данный момент частей программы использует жёсткий диск. Это означает, что ОС может записывать на диск такие вещи, которые, как вы считали, должны храниться только в основной физической памяти; это могут быть ключи, пароли, расшифрованный открытый текст. PGP не держит ценные данные подобного рода в памяти дольше, чем нужно, но есть вероятность, что ОС всё равно запишет их на диск.
Данные записываются в специальную область диска, называемую своп-файлом (swap file), или файлом подкачки. Затем они по мере надобности считываются из своп-файла, так что на каждый момент времени в физической памяти находится только часть информации или исполняемой программы. Все эти действия незаметны для пользователя, который видит только перемигивания индикатора доступа к диску. Microsoft Windows подкачивает блоки памяти, называемые страницами, используя алгоритм замены наименее используемых страниц(Least Recently Used, LRU). Это значит, что из памяти в первую очередь выгружаются те страницы, к которым дольше всего не было запросов. Такой подход снижает риск, что ценные данные будут записаны на диск, поскольку PGP не оставляет их надолго в памяти. Также мы старались по возможности заставить ОС блокировать такие данные в физической памяти, не позволяя выкачивать их на диск. Но мы не можем ничего гарантировать.
Всякий, кто имеет физический доступ к вашему компьютеру, может получить доступ и к этому файлу. Если вас беспокоит эта проблема, её можно решить, установив программу для шифрования или перезаписи файла подкачки. Другое возможное решение — отключить виртуальную память операционной системы совсем. MS Windows, как и Mac OS, позволяют сделать это. Но её отключение потребует от вас установить дополнительные схемы ОЗУ, чтобы уместить всё в физической памяти.
Брешь в физическом периметре безопасности
Злоумышленник может найти брешь в физической безопасности вашего офиса или дома для проникновения и получения физического доступа к компьютеру, расшифрованным файлам и распечатанным документам; это также даст ему возможность установить "жучок" или иную "закладку". Он может добиться этого путём кражи, осмотра мусора, подставного обыска и выемки документов, захвата, либо при помощи подкупа, шантажа или внедрения в штат ваших служащих. Некоторые из названных атак наиболее легко реализуемы против политических и общественных организаций, зависящих от многочисленного добровольного персонала.