В 1991 году московские власти незаконно изъяли у фирмы "МММ" коммерческую документацию. Что стало бы делать следствие с изъятыми шифровками? Об этом пускай подумает читатель.
Криптоалгоритмы (алгоритмы шифрования) используются для многих целей: сокрытия сообщения, обеспечения целостности данных, подтверждения подлинности авторства сообщения. Криптография (наука о составлении шифров), появилась с возникновением письменности и развивалась вместе с цивилизацией, заимствуя достижения сначала математики, позже электроники. Можно выделить три исторических периода развития криптографии:
- Начальный период ручных шифров, начавшийся в древнее время и закончившийся в конце тридцатых годов XX века.
- Следующий период, период классических, симметричных систем шифрования, в которых для шифрования/дешифрования применяется один и тот же ключ (пароль). Период начался при создании и внедрении автоматических и электронных устройств шифрования, компьютеров, создании сетей связи, глобальных компьютерных сетей и длится по настоящее время.
- Началом третьего периода развития криптосистем считается 1976 год, когда американские математики Диффи и Хеллман предложили шифрование с открытым ключом, что положило начало разработке и внедрению так называемых несимметричных систем, в которых для шифрования и дешифрования применяются разные ключи.
Существуют два основных вида угрозы данным: раскрытие конфиденциальной информации, обретение доступа или ознакомление с информацией нежелательных лиц и модификация, уничтожение данных, подмена авторства. Первоначально защита информации подразумевала закрытие к ней доступа. Для этих целей проводилось преобразование сообщения (открытого текста), чтобы сделать текст нечитаемым, не зная секретного ключа. После 1976 года началось развитие несимметричных криптосистем, которое дало такие понятия, как "цифровая подпись" (подтверждение авторства сообщения), цифровая печать (подтверждение подлинности, неискаженности сообщения). С развитием глобальных систем коммуникаций, электронной коммерции, информационных систем публичного доступа (Web-сайтов, BBS) концепция защиты информации сместилась в сторону защиты целостности данных и подтверждения авторства сообщения. В подобных системах отпала необходимость в закрытии информации: если информационный ресурс недоступен, он и бесполезен. Целостность информации, отсутствие несанкционированных модификаций также необходимо при построении финансовых, бухгалтерских систем, где само искажение уже является правонарушением или намеренной провокацией.
При построении систем информационной безопасности последовательно проходят четыре этапа:
I
Первое, что необходимо определить при построении систем информационной безопасности:
- Объект предполагаемой угрозы, другими словами, от кого закрываются данные (будь то спецслужбы, органы внутренних дел, собственные недобросовестные сотрудники и т.п.).
- Финансовые возможности предполагаемого противника. Речь идет о способности купить высокопроизводительную технику или нанять квалифицированных экспертов для взлома вашей системы, перекупить специалистов, осуществлявших построение вашей системы.
- Квалификация предполагаемого противника или квалификация его экспертов. Другими словами, собираетесь вы защитить информацию от среднеподготовленного пользователя или хакера, обладающего должным опытом и квалификацией для взлома.
- Ценность защищаемой информации. Она может оцениваться с помощью финансовых показателей: возможных убытков от ее потери или разглашения. Но если информация о ваших "черных" сделках ценна для налоговых органов, то для старушки-соседки это не более чем повод для сплетен. Информация личного плана может быть критична для конкретного человека, но трудно оценить в денежном эквиваленте жизнь человека, его честь или деловую репутацию.
Стоит вскользь напомнить об одном свойстве информации: возможность ее безграничного тиражирования, которое остановить будет практически невозможно, особенно теперь, с развитием компьютеров и компьютерных сетей. Эффект может быть подобен "джину, выпущенному из бутылки".
II
Второй этап предполагает рассмотрение барьеров, уровней защиты данных и информации, которые должен пройти злоумышленник для того, чтобы получить желаемое. Соответственно и защита информации строится по той же схеме.
1. Морально-этический барьер. "Поисковик" должен преодолеть морально-этические нормы для вторжения в частную жизнь, страх за возможную правовую ответственность. Моральный барьер слаб по многим причинам. 2/3 вирусов на мировой рынок поставляется программистами из СНГ и Восточной Европы, "русские" хакеры мстят американским коллегам за то, что они за час зарабатывают столько, сколько "в совке" за месяц. С теперешним экономическим кризисом и повальной нищетой есть люди, готовые браться за любую работу. Другая сторона медали в том, что платя нищенские зарплаты, интеллигенции десятки лет давали понять, что их труд менее ценен для государства, чем труд водителя троллейбуса, соответственно и ценность результатов их труда (информации) минимальная.
2. Административный. Большинство проблем доступа и движения информации в организации решается, во-первых, администрацией, ее постановлениями, должностными инструкциями и штатным расписанием, во-вторых, внешними факторами, такими, как политика, законы, постановления местных властей. Правовой аспект упоминается чисто номинально, так как, во-первых, существующее законодательство об авторских правах несовершенно и не применяется на практике, во-вторых, для доказательства взлома нужен "анти-хакер" с квалификацией, сопоставимой со злоумышленником, что трудно в сложившейся системе "силовых" структур по причине отсутствия должного финансирования и низкой технической грамотности. Хвалебные статьи в прессе у хакеров вызывают сардоническую усмешку (Советская Белоруссия "Чекисты против хакеров").
Но административно-правовому подходу также присущи недостатки:
- низкая эффективность организационных мер, так как люди ненадежны и склонны к нарушению установленных правил;
- чрезмерно жесткое применение этого подхода может вызвать эффект сидячей забастовки, когда все работают строго по правилам или проявляют власть "отрицания", саботируя нововведенные правила;
- введение организационных мер создает неудобства для пользователей, поэтому может вызвать ощущение нарушения гражданских прав и свобод, двери не будут закрываться, списки, пароли или другая интересующая информация будет храниться в доступном месте.
Как анекдот, приведу случай, опубликованный в "Вечернем Минске". Когда с компьютеров автомобильного завода начала пропадать информация, начальник охраны выступил с предложением усилить охрану и пустить собак по охраняемой территории. Он был уволен. Как говорится, без комментариев.
3. Программно-аппаратный барьер:
- аппаратная защита может быть выполнена как процедура идентификации пользователя, получающего доступ к информационным ресурсам в виде кодовой карточки, аппаратного ключа, присоединяемого к порту, и т.п. Можно упомянуть пароли на вход в систему в BIOS, пользование дисководом. "Хорошее железо" спасает не только от потерь информации при сбоях и копировании. Например, от атаки Ping'o'Death, заваливающей фрагментированными пакетами сервер, спасает хороший брадмауэр (скупой платит дважды);
- от проникновения в систему спасает лицензионное программное обеспечение, его правильная конфигурация. В пиратских копиях часто отсутствуют необходимые компоненты, встречаются вирусы. Серьезно усложнит задачу хакеру грамотный системный администратор, знающий "подводные камни" используемых операционных систем и сетевых протоколов, следящий за появлением у производителей программного обеспечения списка "багов" и "патчей" (заплаток);
- недостатком может быть отсутствие системного подхода к вопросам защиты информации, фрагментарность предлагаемой защиты.
4. Криптографический барьер, в котором предполагается наличие трех компонентов: данных (открытого текста), ключа (пароля) и криптографического преобразования (собственно криптоалгоритма).
Ему присущи следующие недостатки:
- сложность распределения зашифрованной информации между несколькими пользователями;
- необходимость построения надежного канала распределения ключей, генерации стойких паролей;
- накладные расходы от снижения скорости, так как для использования стойких к вскрытию криптоалгоритмов нужны соответствующие вычислительные ресурсы, выполнение криптографических процедур существенно замедляет скорость работы системы, пользователь может долго ждать "надежно защищенные" данные;
- сложность построения систем клиент/сервер, т.к. СУБД не может выполнять напрямую SQL-запросы к зашифрованным данным.
III
Третий этап предполагает определение областей защиты данных на носителях:
- Область загрузки диска (boot-сектор), несущая основные данные о распределении на диске информации, и оглавление диска могут быть легко закрыты криптоалгоритмом. Это малоэффективно, так как число разных типов дисков ограничено, количество типов гибких дисков можно пересчитать по пальцам. Поэтому загрузочный сектор и корневой каталог могут быть так же легко восстановлены без вскрытия шифра прямым перебором. Можно проблему решить и проще - с помощью программы, читающей секторы напрямую.
- Таблица распределения файлов (FAT) и директории - более интересные объекты для криптографического преобразования. Без их помощи доступ к данным весьма труден, но возможен. Если начальный кластер данных найден, существует большая вероятность найти их продолжение в следующем кластере, и если не в следующем, то в последующих (с учетом дефрагментации диска).
- Защита на уровне файлов. Представляет собой наиболее стойкую защиту. Недостатком является большой объем вычислительной работы по шифровке/расшифровке содержимого.
- Защита на уровне записей файлов предпочтительна по причине снижения объема вычислений, так как в таких системах шифруются только критические данные (биографические данные, юридические реквизиты клиентов, записи с номерами счетов или сумм операций).
IV
Четвертый этап - это выбор и реализация криптоалгоритма:
- Выбор правильного класса алгоритма, его программной реализации.
- Соблюдение оптимального баланса между стойкостью алгоритма и скоростью его работы.
- Построение системы генерации ключей.
- Создание проверки на слабые ключи.
- Создание защиты от разрушающих программных средств (перехвата пароля, подмены криптоалгоритма).
- Построение системы распределения и передачи ключей в сетях.
- Построение протоколов передачи данных в сетях.
Хочу предостеречь от применения "штатных" средств для защиты баз данных, к примеру, Paradox имеет "черный вход" в систему и не устоит перед атакой опытного взломщика!
Novell Netware 3.12 тоже обнаружила серьезный баг - пароль передается в открытом виде. О стойкости паролей Microsoft Office или программ-архиваторов говорить просто неприлично. Список можно продолжать...
При построении системы нужен баланс между доступностью и безопасностью. Однако, несмотря на возрастание вычислений при использовании шифров, в применении криптографии есть много очевидных достоинств:
- При хищении носителей хранимая на них информация все равно остается закрытой.
- Математические алгоритмы криптопроцедур устраняют ненадежный человеческий фактор.
- Шифр, один раз реализованный в виде процедуры, может использоваться неоднократно.
- Применение шифра не требует модификации аппаратного обеспечения, если речь не идет о наращивании скорости процессора.
- Простота применения шифров для защиты данных, отсюда и дешевизна, чтобы закрыть программный код от изменения, нужно быть хорошим системщиком и специалистом по ассемблерным кодам. С помощью криптоалгоритмов это делается проще.
В основу разработки моделей компьютерных систем человечеством была положена Неймановская модель, в которой предполагалось, что основная задача компьютера - вести инженерные и математические расчеты. Основное применение в деловой сфере показало ущербность данной концепции, большая часть вычислительных возможностей процессора не задействована, компьютер в основном занят обработкой данных, сортировкой, перемещением их с места на место.
Новички и самоучки при разработке криптоалгоритмов пытаются изобрести алгоритм позаковыристей или используют устаревшие алгоритмы, почерпнутые из исторических романов или детективов. Для профессионального построения шифрсистем нужно владеть теорией вероятностей, высшей алгеброй, теорией конечных полей и статистической лингвистикой, соблюдать ряд требований при проектировании и построении шифр-систем. Еще одной распространенной ошибкой является то, что для закрытия доступа пытаются защитить код, а не данные, хотя чаще всего именно они представляют интерес для "поисковика".
Black Prince (WEREWOLF),
[email protected]
Горячие темы