Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Филин С.А. Информационная безопасность, 2006

.pdf
Скачиваний:
144
Добавлен:
11.03.2016
Размер:
12.87 Mб
Скачать

Существует три наиболее популярных типа архитектуры бранд­ мауэра:

двусторонний главный брандмауэр;

фильтрующий главный брандмауэр;

фильтрующий брандмауэр подсети.

Брандмауэры второго и третьего типов используют комбинацию маршрутизаторов и серверов-посредников, в то время как двусторон­ ний главный брандмауэр использует две отдельные сетевые карты.

Двусторонний главный брандмауэр — это простая, но обеспечиваю­ щая очень высокую степень безопасности конфигурация, в которой один главный компьютер играет роль разделительной линии между корпоративной сетью и Интернетом [9, 66]. В главном компьютере используются две отдельные сетевые платы для соединения с каждой сетью. Двусторонний главный брандмауэр работает, используя набор серверов-посредников уровня приложений или уровня соединения. Будучи двусторонним (соединенным с двумя сетями), главный ком­ пьютер брандмауэра видит пакеты в обеих сетях, т. е. брандмауэр ис­ пользует программное обеспечение сервера-посредника для контро­ ля передачи данных между двумя сетями — будь это две локальные сети или локальная сеть и Интернет.

Используя двусторонний главный брандмауэр, необходимо блокировать возможности маршрутизации компьютера, чтобы он не смог осуществлять соединение сетей с помощью программного обеспечения. С отключением маршрутизации данные должны будут проходить через заслонку — уровень приложений (имеется в виду, что он находится на верху стека протоколов), и этот путь является един­ ственным между сетями или сетевыми сегментами. Сетевые сегмен­ ты — это любые части сети, которые являются в некоторой степе­ ни независимыми и замкнутыми. Например, можно разделить сеть в организации на сегмент продаж и сегмент реализации и разделить эти два сегмента с помощью маршрутизатора или брандмауэра.

Однако, если разрешить открытую стандартную внутреннюю маршрутизацию на главном компьютере, брандмауэр становится бесполезным. Например, если установить внутреннюю маршрутиза­ цию так, чтобы она разрешала пересылку IP, данные будут свободно обходить уровень приложений двустороннего главного брандмауэра. Сети, работающие на основе Unix, особенно восприимчивы ко всем уязвимым местам брандмауэров сдвоенного хоста. Некоторые из версий Unix (особенно Berkeley Unix) включают функции марш­ рутизации по умолчанию. Поэтому при работе в сетях на базе Unix следует убедиться в том, что операционная система отключила все

253

функции маршрутизации в брандмауэре сдвоенного хоста. Если это не так, следует перестроить ядро Ш1х в компьютере-брандмауэре, чтобы операционная система отключила эти функции. Поэтому один из недостатков этой конфигурации в том, что можно просто по неосторожности разрешить доступ к внутренней сети, случайно включив средства маршрутизации и создав тем самым брешь в сис­ теме защиты брандмауэра.

Фильтрующий главный брандмауэр может обеспечивать более вы­ сокую степень безопасности, чем двусторонний [9, 66]. Добавляя маршрутизатор и помещая этим главный компьютер вне доступа из Интернета (т. е. хост не связан непосредственно с Интернет), можно получить очень эффективный и простой в работе бранд­ мауэр. Экранирующий маршрутизатор соединяет Интернет с корпо­ ративной сетью и одновременно фильтрует проходящие через него пакеты всех типов. Необходимо сконфигурировать экранирующий маршрутизатор таким образом, чтобы ему был «виден» только один главный компьютер сети — хост. Пользователи корпоративной сети, желающие соединиться с Интернетом, будут вынуждены проходить через сервер (главный компьютер). Таким образом, для внутренних пользователей имеется прямой доступ в Интернет, в то время как сервер будет ограничивать доступ внешних пользователей в корпо­ ративную сеть.

Архитектура фильтрующего брандмауэра подсети еще более изо­ лирует корпоративную сеть от Интернета, включая между ними промежуточную периферийную сеть [9, 66]. В фильтрующем брандмауэре подсети главный компьютер помещается на этой пе­ риферийной сети, к которой пользователи имеют доступ через два отдельных маршрутизатора. При конструировании фильтрующего брандмауэра подсети сервер-посредник помещается в сеть, состо­ ящую из двух экранирующих маршрутизаторов. Один из марш­ рутизаторов контролирует трафик (передачу данных) по корпо­ ративной сети, а второй — входящие и выходящие из Интернет сообщения.

Фильтрующий брандмауэр подсети обеспечивает наиболее эф­ фективную защиту от возможных атак через Интернет. Он изолирует сервер (главный компьютер) в отдельной сети, что уменьшает вероят­ ность успешных атак на главный компьютер и сводит к минимуму возможный ущерб, который может быть нанесен внутренней сети. В дополнение к этому маршрутизатор, находящийся в локальной сети, обеспечивает защиту от внутреннего доступа к серверу.

254

Для эффективного использования брандмауэра операционная система должна иметь как минимум уровень зашиты С2. Это суще­ ственно уменьшит возможности атак на систему Не выполняя эле­ ментарных правил обеспечения безопасности работы в сети, нельзя определить, когда хакер взломал систему. Помните, что процедура входа в систему, инициируемая сервером-посредником для прото­ колов TCP/IP, действительна только для событий TCP/IP. Несмотря на то что с помощью отслеживания таких событий можно опреде­ лить атакующего, поддержка аудита действий на уровне операци­ онной системы (например, попытка скопировать файл с паролями системы) более существенна. Особенно это касается атак на бранд­ мауэры.

Ограничения брандмауэра

Многие организации используют дорогие и мощные брандмау­ эры для зашиты от атак извне. В то же время у многих из них нет нормальной политики зашиты данных от воровства или разруше­ ния информации, происходящего при прямом соединении с их сис­ темами. Если просто установить брандмауэр в сети, он не защитит от незаконного доступа к информации. Брандмауэр в этом случае не предотвратит воровства, независимо от того, исходит ли оно от настоящего пользователя или от кого-то, кто пользуется паролем зарегистрированного пользователя. У брандмауэров существует ряд ограничений на уровень зашиты [66]:

обеспечение целостности данных. Хотя большинство брандмау­ эров нового поколения предоставляют программное обеспечение (ПО), обеспечивающее защиту от вирусов, проникающихс вхо­ дящими пакетами, это не является сильной стороной бранд­ мауэров. В больших сетях, где количество входящих и выходя­ щих пакетов велико, обращение к брандмауэру для проверки каждого пакета (и каждого файла в двоичном коде, связанного

спакетом) на более чем тысячу известных типов вирусов мо­ жет сильно замедлить работу сети. Вместо этого можно выде­ лить ограниченный участок, на который будут первоначально поступать все входящие файлы. Затем они будут в фоновом ре­ жиме проверяться на наличие вирусов. После проверки чистые файлы можно направлять по месту их назначения;

идентификация источников данных. Брандмауэр не сможет по­ мочь в вопросе определения подлинности источника данных. Он не исправит одну из наиболее характерных слабос+ей ТСР/ IP в вопросах безопасности — пользователь, работая на неза­ регистрированном компьютере, может создать сообщение,

255

выдавая себя за кого-либо другого. Таким образом, брандмауэр не предоставляет никаких средств защиты от атак подмены;

конфиденциальность данных. Брандмауэр не сможет обеспе­ чить конфиденциальность данных при работе во внешних сетях. Большинство брандмауэров последнего поколения предоставляют средства шифрования для исходящих пакетов, но при использовании этих средств брандмауэры получателя и отправителя должны быть одинаковыми, что конечно же не всегда выполняется.

Применяя межсетевые экраны, целесообразно использовать и возможности защиты, предоставляемые системным программным обеспечением. В частности, целесообразно использовать следующие технологии и методы защиты:

разграничение доступа (применяя возможности файловой сис­ темы NTFS);

правильная бюджетная и парольная политика;

углубленная идентификация и аутентификация;

аудит, контроль и защита средствами NT-подобных операци­ онных систем;

правильно сконфигурированное программное обеспечение.

Криптография

Защита передаваемых данных при помощи шифрования

Сообщения электронной почты (и многие другие данные ТСР/ IP) передаются по Интернету в форме пакетов. При такой передаче информации по сети прежде, чем попасть к получателю, ваше со­ общение проходит через некоторое количество компьютеров. В этом случае отравитель пакета подвергается огромному риску — его па­ кет может быть перехвачен и использован посторонними людьми. При этом любой из них может прочитать информацию, содержащу­ юся в электронной «открытке».

Предположим, необходимо послать при помощи Интернета кон­ фиденциальное сообщение, которое подразумевает, что никто, кро­ ме получателя, не должен его прочитать. Для этого необходимо вос­ пользоваться шифрованием информации, или кодированием. В этом случае вся отправляемая информация передается по сети в зашифро­ ванном виде, а конфиденциальное сообщение превращается в мало­ понятный набор символов. Чтобы прочитать (расшифровать) такое сообщение, необходима специальная программа и ключ шифрова­ ния. Поэтому никто не сможет прочитать переданного вами сообще­ ния (за исключением, разумеется, человека, которому оно предна­

256

значалось). Во время шифрования текст документа превращается в набор чисел, который сможет расшифровать только тот, у кого есть ключ для этого.

Поэтому актуальность решения вопросов информационной безопасности и защиты информации при помощи криптографиче­ ских методов с течением времени становится все более очевидной. Криптография, ранее являвшаяся стратегической технологией, те­ перь благодаря быстрому развитию корпоративных сетей и Интер­ нета проникла в широкие сферы деятельности и стала применяться большим количеством пользователей.

Технология криптографии и протоколы шифрования данных спе­ циально созданы для применения в условиях, когда принимающая и передающая стороны не уверены в том, что переданная информа­ ция не будет перехвачена третьей стороной. Конфиденциальность переданной информации будет обеспечена, так как хотя она и пере­ хвачена, но без расшифровки использовать ее невозможно.

Рассмотрим основные понятия шифрования, применяемые для защиты данных при их передаче в корпоративных сетях, в электрон­ ных и цифровых платежных системах Интернета.

1. Шифрование закрытым (единым) ключом [9, 66]. Шифрование по какому-либо алгоритму означает преобразование исходного со­ общения в зашифрованное. Это подразумевает создание секретного ключа-пароля, без которого невозможно раскодировать сообщение. Такой ключ должен быть засекречен, иначе сообщение легко будет прочитано нежелательными лицами.

В обычной системе шифрования с единым ключом и отправи­ тель, и получатель используют один и тот же (единый) ключ для коди­ рования и декодирования информации. Таким образом, отправитель должен передать ключ получателю до пересылки закодированной информации. Для этого необходимо воспользоваться особыми (без­ опасными) каналами. Например, для кодирования сообщения мож­ но сдвинуть все символы алфавита (включая и пробел, стоящий после символа 2) на три буквы вправо. При этом слово DOG пре­ вратится в GRJ. Для того чтобы расшифровать это сообщение, по­ лучатель должен сместить все буквы алфавита на три позиции влево (слово GRJ снова превратится в DOG).

Наиболее известные и применяемые в США и Европе крипто­ графические алгоритмы шифрования данных закрытым ключом —

DES, IDEA36, RC2-RC5, PGP37 for Windows.

36 ШЕА — алгоритм, разработанный швейцарцем Аскомом Цуриком. В этом алгоритме используется 128-битный ключ. Специалисты оценивают

257

Основным недостатком использования схемы с единым клю­ чом в Интернет является то, что для нормальной работы необходи­ мо, чтобы ключ был известен обеим сторонам до начала пересылки информации. Кроме того, при этой схеме приходится использовать разные ключи для различных получателей. Только так можно гаран­ тировать, что информация будет прочитана одним, а не всеми по­ лучателями сразу

Очевидно, что в методе шифрования с единым ключом зачастую приходится использовать огромное количество ключей. Кроме того, если у вас есть безопасный канал (необходимый для пересылки клю­ ча), то можно просто пересылать данные по нему. В настоящее время разработаны новые методы кодирования информации, при помощи которых можно избежать всех этих проблем. Эти методы известны под названием шифрование с открытым ключом.

2. Шифрование открытым ключом [9, 66]. В настоящее время бо­ лее широко распространен метод шифрования с открытым ключом. Шифрование сообщения открытым ключом подразумевает созда­ ние двух связанных друг с другом ключей — открытого и закрыто­ го. Кодирующая и декодирующая стороны используют абсолютно разные (но связанные друг с другом) ключи. С помощью открытого ключа можно зашифровать сообщение, но расшифровать его воз­ можно, только применяя закрытый ключ. Один из них — откры­ тый — можно спокойно передавать партнерам по бизнесу, своим

его как наиболее надежный современный метод шифрования дан­ ных. Единственным методом взлома этого алгоритма является приме­ нение «грубой» вычислительной силы. Однако все алгоритмы шифрова­

ния не

застрахованы от возможности более простого взлома в будущем.

37

Prettygoodprivacy (PGP) — это созданная Филом Циммерманом програм­

ма для защиты электронной почты и файлов с данными, в которой использу­ ется алгоритм шифрования с открытым ключом. С ее помощью можно вести конфиденциальную переписку с любым человеком, проживающим в любой точке Земли. PGP — это очень мощная и в то же время очень простая в ис­ пользовании программа. Она обладает возможностями управления ключами, создания цифровых подписей и сжатия данных, а также удобными наборами команд. Существуют версии PGP для DOS, Unix, VAX/VMS, Windows и Macin­ tosh. PGP зачастую называют гибридной системой шифрования. В ней исполь­ зуется четыре элемента кодирования. В этой программе реализован симме­ тричный шифр (система с единым ключом), называемый интернациональным алгоритмом кодирования данных (IDEA — Internationa] Data Encryption Algo­ rithm); асимметричный шифр (открытый и личный ключи, RSA или алгоритм Диффи—Хеллмана — в зависимости от используемой версии продукта); одно­ направленное смешивание (в котором набор чисел преобразуется в одно уни­ кальное число); стандартный генератор случайных чисел.

258

конкурентам и другим получателям сообщений. Свободно распро­ страняя открытый ключ, вы даете возможность шифровать и посы­ лать вам шифрованные сообщения, которые кроме вас никто рас­ шифровать не сможет. Второй — личный — ключ должен храниться в безопасном месте (например, на компьютере), так чтобы его никто не смог узнать. Каждый из ключей декодирует сообщение, создавае­ мое при помощи другого ключа.

Для осуществления двусторонней коммуникации стороны созда­ ют каждая свою пару ключей и затем обмениваются открытыми клю­ чами. Передаваемые сообщения шифруются каждой стороной с при­ менением открытых ключей партнера, а расшифровка производится при использовании своих собственных закрытых ключей. Другими словами, при помощи системы шифрования с открытым ключом можно поместить свой открытый ключ в Интернет или переслать его по обычной электронной почте. После этого можно использо­ вать этот ключ для кодирования сообщений. Расшифровать такое сообщение может только один человек — получатель. Другой чело­ век не сможет расшифровать его, если нет соответствующего ключа. Если же получатель захочет ответить вам, он должен закодировать сообщение при помощи вашего открытого ключа. Зашифрованное таким образом сообщение сможете расшифровать только вы сами.

Метод открытого ключа избавляет пользователей от основного недостатка метода с единым ключом: пересылки по безопасным ка­ налам связи ключа для расшифровки текста.

После создания открытого и личного ключей (при помощи PGP или какой-нибудь другой программы) они помещаются на компью­ тере пользователя. Большинство программ создают открытый и лич­ ный ключи во время установки. После этого они обычно предлагают сохранить копии ключей на флоппи-диске или любом другом носи­ теле информации.

Никому не показывайте свой личный ключ. Только так можно защитить сообщения от взлома. Дело в том, что, не зная личного ключа получателя, практически невозможно расшифровать пере­ даваемое сообщение. Если же личный ключ станет известен хакеру, он легко сможет расшифровать любое ваше послание. Более того, обладая личным ключом, хакер может подписывать сообщения так, как будто он — это отправитель сообщения.

Наоборот, свой открытый ключ можно (и нужно) поместить на наиболее известные кольца открытых ключей. Если кто-нибудь получит ваше письмо по электронной почте или захочет послать вам зашифрованное сообщение, то этому человеку понадобится ваш от­ крытый ключ. Поэтому, как правило, лучше помещать открытый ключ в таком месте, где он будет доступен всем.

259

Если кодирование сообщений используется только в пределах организации, то необходимо избегать размещения открытого ключа на общедоступном сервере. Целесообразнее поместить его на серве­ ре корпорации или отправлять при помощи электронной почты.

Основные алгоритмы кодирования с открытым ключом были от­ крыты двумя группами исследователей: Ривестом, Шамиром и Эдлманом, а также Диффи и Хеллманом.

Алгоритм шифрования с открытым ключом RSA [66]. Как и любой другой алгоритм шифрования, RSA — это набор математических формул. Каждый раз, когда зашифровываете сообщение, компью­ тер производит (при помощи этих формул) некоторые вычисления над полученными данными и выдает зашифрованный текст. Этот набор вычислений обычно называют алгоритмом шифрования.

Существует огромная разница между математическим алгорит­ мом и реализующей его программой. Алгоритм RSA был создан Ривестом, Шамиром и Эдлманом. Сущность этого алгоритма в сле­ дующем: во-первых, компьютер должен сгенерировать (случайно) большое простое число — открытый ключ. После этого при помощи некоторых математических операций вычисляется второе число — личный ключ. Полученные таким образом ключи используются для дальнейшего кодирования и декодирования текста.

Далее приводятся четыре основные принципа алгоритма RSA.

1. Расшифровка зашифрованной формы сообщения должна да­ вать в результате первоначальный текст. Этот принцип можно запи­ сать в следующей форме;

D(E (M )) = M,

где D — это функция декодирования; Е — функция кодирования; М — исходный текст сообщения.

2.Е и D должны достаточно легко вычисляться.

3.Предоставление доступа к значению Е никоим образом не уп­ рощает процесс вычисления (взлома) D. Таким образом, зашифро­ ванное при помощи Е сообщение может расшифровать только чело­ век, обладающий значением D.

4.Применение процедуры расшифровки к сообщению М и по­ следующее применение процедуры шифрования должно привести

кпервоначальному значению. Этот принцип можно записать в сле­ дующей форме:

E(D (М)) = М.

Ривест, Шамир и Эдлман доказали, что использование третье­ го принципа приводит к тому, что для взлома зашифрованного со­

260

общения необходимо перебирать все возможные значения до тех пор, пока не будет найдено значение, удовлетворяющее требованию Е (М) = D. Задача кажется достаточно легкой при использовании десяти- и даже двадцатиразрядных (в десятичном представлении) чисел. Однако в схемах RSA обычно используются числа, содержа­ щие вплоть до 512 разрядов для открытого ключа (Е) и 154 разрядов для личного ключа (D). Кроме того, оба этих числа должны быть простыми. На вычисление этих чисел затрачивается огромное коли­ чество компьютерного времени. К настоящему моменту никто так и не смог взломать при помощи прямых вычислений 512-разрядный ключ.

Функция, удовлетворяющая критериям 1—3, называется однона­ правленной функцией с потайным ходом. Однонаправленной она на­ зывается потому, что ее можно вычислять только в одном направле­ нии (кодировать) и практически нельзя в обратном. Словосочетание «с потайным ходом» означает то, что обратная функция легко вы­ числяется при помощи некоторой дополнительной информации (личного ключа).

Для понимания алгоритма RSA не требуется глубокого знания математики. Для его реализации необходимо выполнить все пере­ численные выше условия и создать программу, производящую все необходимые действия для правильного кодирования файла. Ключ для кодирования (обозначим его Е) содержит в себе константу п, ко­ торая задает предельную длину кодируемого блока (т. е. сколько байт данных может содержаться в одном блоке). Процесс кодирования заключается в следующем [66]:

1.Программа, реализующая алгоритм RSA, преобразует текст

внекоторое целое число, расположенное в интервале от 0 до (п —1). Метод преобразования зависит от каждой конкретной программы. Если текст настолько велик, что не может быть адекватно представ­ лен значением меньше, чем (п - 1), то его разбивают на несколько блоков, каждый из которых может быть представлен целым числом, лежащим между 0 и (я - 1).

2.После этого программа возводит полученные целые значения

встепень Е (т. е. используется формула блокЕ). Результат этой опе­

рации делится на л, а в качестве закодированного сообщения ис­ пользуется остаток от деления. Давайте обозначим закодированный таким образом текст буквой С.

3. Чтобы декодировать документ С, нужно возвести его в степень D, а затем взять остаток от деления на число п. Полученные целые значения нужно преобразовать в текст по правилу, обратному тому, что использовалось на первом этапе кодирования.

261

Таким образом, пользователь предоставляет общественности ключ для кодирования (£, п), или открытый ключ, и хранит у себя ключ для декодирования (D, п) — личный ключ.

Используемые в этом алгоритме математические формулы следу­ ющие [66].

1.Найдите два очень больших простых числа р и q.

2.Найдите число п (открытый модуль) такое, что п = р х q. В 256битной системе шифрования п содержит 300 и более разрядов.

3.Выберите число Е (открытый показатель степени) < п и явля­ лось простым.

4.Вычислите число D (личный показатель степени) так, чтобы

E x D = \ m o d ( ( p - 1)х(<7 - 1)).

Открытый ключ — это величина (Е, п), а личным ключом являет­ ся величина (D, п). Пользователь никому не должен сообщать зна­ чения чисел р и q (лучше всего уничтожить их). PGP и многие дру­ гие программы кодирования с открытым ключом хранят эти числа, для того чтобы ускорить процесс шифрования информации. Однако сами эти значения хранятся в зашифрованном файле и не могут быть прочитаны обычным методом.

3.Алгоритм открытого распределения ключей [9,66]. Другой вариант

соткрытыми ключами — алгоритм открытого распределения ключей

(алгоритм Диффи—Хеллмана38) позволяет сформировать один общий секретный ключ для шифрования данных без передачи его по каналу связи. Этот алгоритм также основан на использовании пары ключей (открытый/ закрытый) и формируется следующим образом:

обе стороны создают свои пары ключей;

после этого они обмениваются открытыми ключами;

из комбинации двух ключей — свой (закрытый) и чужой (от­ крытый), — применяя данный алгоритм, генерируется одина­ ковый и единственный для двух сторон закрытый (секретный) ключ;

после этого сообщения шифруются и расшифровываются единственным закрытым ключом.

У. Диффи и М.Е. Хеллман в 1976 г. положили начало новому по­ колению систем шифрования, введя понятие кодирования с откры­

38 Иногда этот алгоритм называют протоколом соглашений о ключах Диф­ фи—Хеллмана, соглашением об экспоненциальных ключах, или обменом ключей Диффи—Хеллмана. Каждое из этих названий корректно. Однако чаще всего он называется алгоритмом Диффи—Хеллмана или просто Диффи—Хел­ лман.

262