- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Защита от хакеров корпоративных сетей - Коллектив авторов
Шрифт:
Интервал:
Закладка:
Злоумышленник, используя уязвимость одного из слабых мест системы, добивается того, что пользователи стекаются к провайдеру, который с их точки зрения менее уязвим и более стабилен. В этом заключается суть обмана. Заставьте людей думать, что они что-либо делают только потому, что они хотят это делать. Автор уже говорил ранее, что реклама – это социальная инженерия. Простой пропуск каждого сообщения выбранного вида привел бы к предсказуемости и очевидности. Однако понижение надежности, особенно в Интернете, предоставляющем максимум возможностей с одновременным освобождением от всякой ответственности, гарантирует сетевым администраторам замаскированные и недоказуемые ошибки в работе сети и подталкивает пользователей к использованию более стабильного с их точки зрения (но тайно скомпрометированного) сервера / сервиса провайдера.
...Примечание
RProcess завершил реинжиниринг Traffic Analysis Capabilities правительственных организаций. Результаты реинжиниринга расположены по адресу http://cryptome.org/tac-rp.htm. Было выяснено, что Traffic Analysis Capabilities основан на предположении, что чем сложнее для организаций было взломать сервис, тем менее вероятно, что они разрешат ему остаться. Этот результат следует воспринять с некоторой долей скепсиса, но, как и большинство других материалов Cryptome, с ним стоит ознакомиться.
Приманка и переключатель: фальсификация использования SSL
Если читателю интересно, то пусть он попытается выяснить, на чем основана уверенность пользователя в том, что он подключился к Web-сайту при помощи протокола SSL? Это не праздный вопрос. Большинство передаваемых по протоколу HTTP данных в любом случае передаются в открытом виде. По каким признакам пользователь сможет определить, поддерживает или не поддерживает шифрование и удостоверение данных при помощи протокола SSL один Web-сайт из сотни других?
Обычно браузер сообщает пользователю об использовании протокола SSL при помощи нескольких драгоценных пикселов на экране монитора:
• значка «блокировки» в строке состояний;
• адресной строки, в которой содержится ссылка на запрашиваемый сайт и буква s после названия протокола http;
• иногда всплывающего диалогового окна, информирующего пользователя о входе в безопасную зону или выходе из нее.
Проблема заключается в том, что делается попытка установить подлинность массива пикселов по совпадению с тем, что описано в протоколе HTML, формате JPEG и других протоколах уровня представления, использующих протокол SSL. Но в действительности пользователь не знает, что было послано по сети. Вместо этого он доверяет браузеру оповестить его об использовании криптографии. Но как браузер сможет это сделать? При помощи массива пикселей.
Подтверждение подлинности одного набора образов с другим происходит в предположении, что один из них никогда не содержится в другом. Это неверно, и об этом свидетельствует рис. 12.2, расположенный по адресу www.doxpara.com/popup_ie.html.
Рис. 12.2. Заверена ли подлинность всплывающего объявления по протоколу SSL?
X10, позорно известный спаммер псевдопорнографических окон, на самом деле не имеет никакого отношения к этому окну, не говоря уже об использовании протокола SSL для подтверждения его подлинности. Но насколько известно, эта экранная форма не только прибыла с X10.com, но и была еще заверена как страница, прибывшая оттуда. Как была создана эта страница? Давайте начнем с рассмотрения ее описания на языке разметки HTML:
[[email protected] doxpara]# cat popup_ie.html
<HTML>
<HEAD>
<script type=“text/javascript”><!—
function popup() {
window.open(“http://www.doxpara.com/x10/
webcache.html?site=https://www.x
10.com/hotnewsale/
webaccessid=xyqx1412&netlocation=241&block=121&pid=811
22&&sid=1‘,’‘,’width=725,height=340,resizable=1,menubar=1,toolbar=1,stat
usbar=0,location=1,directories=1');
}
//—></script>
</HEAD>
<BODY BGCOLOR=“black” onLoad=“popup()”>
<FONT FACE=“courier” COLOR=“white”>
<CENTER>
<IMG SRC=“doxpara_bw_rs.gif”>
<BR><BR>
Please Hold: Spoofing SSL Takes A Moment.
Activating Spam Subversion System...
</BODY>
</HTML>Описание страницы начинается с определения функции JavaScript по имени popup(). Эта функция сначала выводит новое окно, используя основные возможности JavaScript. Затем она удаляет из нового окна строку состояния, что является необходимым, поскольку планируется заменить ее своей строкой состояния. И наконец, функция определяет фиксированный размер окна и использует чисто хакерский прием для заполнения строки адреса любой правдоподобной информацией, которая маскирует злоумышленника. После загрузки страницы эта функция будет тут же выполнена со всеми вытекающими отсюда последствиями. В следующей секции будет показано, насколько эффективна эта функция.
...Приоткрывая завесу
Прелести монокультуры: темные стороны работы в IE WEB
Большинство из рассмотренных методов браузера Internet explorer (IE) можно реализовать в модели документов, поддерживаемой другими браузерами. Но почему не нравится, когда IE обслуживает более 90 % сети Web? Изменчивость – фактически одна из основных возможностей противостоять сетевым атакам. Идея состоит в том, что если злоумышленнику легко предсказать, что пользователь привык видеть на экране монитора, то у него появляется хорошая возможность подстроиться под ожидания пользователя. Достаточно интересно, что поддерживаемая Windows XP оболочка является фактически позитивным шагом, направленным на защиту против подобных способов атак. Если нельзя выдать удаленный запрос для определения используемой пользователем оболочки, то нельзя удаленно имитировать ее.
С другой стороны, Internet Explorer 6 обладает странной забывчивостью сохранять активную строку состояния, что сильно облегчает задачу злоумышленнику, переводя тем самым задачу фальсификации в разряд почти ненужных (хотя по-прежнему злоумышленник должен угадать, стоит ли что-нибудь фальсифицировать или нет).
На этот раз классическое возражение почти точно: «Это не ошибка, это – особенность».
Блокировка: фальсификация строки состояний в HTML. Наиболее известным признаком обеспечения безопасности при помощи протокола SSL является появление значка блокировки в виде замка в нижнем правом углу экрана. Ожидаемая последовательность действий злоумышленника, бросающего вызов системе безопасности, может быть следующей. Для того чтобы подделать ключ SSL, злоумышленник должен пройти весь внутренний процесс аутентификации браузера. Только после этого у него появится возможность выдать пользователю фальсифицированное уведомление о безопасной работе. Поскольку с точки зрения криптографии подобный ключ сгенерировать невозможно, то предполагалось, что блокировку нельзя фальсифицировать. Но злоумышленник может сделать проще: отключить строку состояния пользователя и вручную пересоздать ее, используя простой способ изменения пикселей в правом углу. Первоначально отключение строки состояния не рассматривалось как угроза безопасности, возможно потому, что Web-страницы защищены от изменения установок собственной строки состояния. Но разработчики, льстящие рекламным дизайнерам, создали очередной класс объекта – всплывающее окно с совершенно новым набором свойств. Если читатель обратил внимание, в функцию popup() включена возможность задания не только адреса, но и высоты, ширины и других нечисловых свойств создаваемого окна, включая возможность установки параметра statusbar в 0 (statusbar=0). Вот эта возможность и используется для преодоления защиты протокола SSL.
Для замены содержимого строки состояния необходимо что-то поместить в ее позицию после открытия окна без строки состояния. Для этого используется фрейм, самостоятельно подсоединяющий себя к нижней границе всплывающего окна так, как это показано ниже:
[[email protected] x10]# cat webcache.html
<html>
<head>
<title>You think that’s SSL you’re parsing?</title>
</head>
<frameset rows=“*,20” frameborder=“0” framespacing=“0”
topmargin=“0”
leftmargin=“0” rightmargin=“0” marginwidth=“0”
marginheight=“0”
framespacing=“0”>
<frame src=“encap.html”>
<frame src=“bottom.html” height=20 scrolling=“no”
frameborder=“0”
marginwidth=“0” marginheight=“0” noresize=“yes”>
</frameset>
<body>
</body>
</html>Видно, что высота строки состояния равна точно 20 пикселям, а в присоединенном фрейме нет ни одной из стандартных причуд разработчика (они все отключены). Поэтому содержимое файла bottom.html будет размещено точно на место оригинальной строки состояния. Посмотрите на содержимое файла bottom.html:
[[email protected] x10]# cat bottom.html
<HTML>
<body bgcolor=#3267CD topmargin=“0” leftmargin=“0”>
<TABLE CELLSPACING=“0” CELLPADDING=“0” VALIGN=“bottom”>
<TR ALIGN=center>
<TD><IMG hspace=“0” vspace=“0” ALIGN=“left”
SRC=“left.gif”></TD>
<TD WIDTH=90%><IMG hspace=“0” vspace=“0” VALIGN=“bottom”
WIDTH=500
HEIGHT=20 SRC=“midsmall.gif”></TD>
<TD><IMG hspace=“0” vspace=“0” ALIGN=“right”
SRC=“right.gif”></TD>
</TR>
</TABLE>
</BODY>
</HTML>Если читатель хоть раз задумывался о строке состояния, по крайней мере во время работы с Internet Explorer, то он мог заметить, что она состоит из уникальной небольшой полоски слева, обычно небольшого пустого места посередине и нескольких полей справа. Поэтому для отображения строки состояния нужно скопировать подходящий шаблон пикселов в нужное место экрана. В языке разметки HTML предусмотрены стандартные средства растяжения строки состояния по левой и правой границам окна, но в данном случае в этом нет необходимости. Имитируя окружающую среду, можно обмануть пользователя, подсунув ему строку состояния из неожиданного для него источника. Пользователь думает, что пикселы строки состояний формирует система, а на самом деле это просто другая часть Web-страницы.
Совершено новый вид переполнения буфера: опасность выравнивания к правой границе. Все это ужасно. Возможно, читатель обратил внимание на слишком большое число случайных переменных в адресе URL при вызове popup_ie.html. На самом деле никто не пытается перейти по адресу http://www.doxpara.com/x10/webcache.html . Вместо этого указан адрес http://www.doxpara.com/x10/webcache.html?site=https://www.x10.com/hotnewsale/webaccessid=xyqx1412&netlocation=241&block=121&pid=81122&&sid=1 . Браузер игнорирует лишние параметры, посылая их Web-серверу как вспомогательную информацию для регистрации в журнале. Беды в этом нет, потому что никакой вспомогательной информации для статической Web-страницы, предназначенной только для привлечения внимания, не требуется. Но клиент не знает истинного предназначения вспомогательной информации, а оно состоит в следующем. При помещении новых символов на место старых данных, которые могла содержать адресная строка, в текстовое поле с левой стороны записываются адреса потерянных символов. Размер адресной строки устанавливается косвенно при определении в файле popup_ie.html размера окна, а используемый для отображения адреса шрифт практически фиксирован (исключая странные браузеры, которые можно выделить по их способности постоянно вносить мусор в исходящие заголовки HTTP). Это позволяет вполне правильно определить точное число и стиль символов, которые следует удалить из адресной строки. В данном случае http://www.doxpara.com/x10?. Достаточно было разместить замаскированные под мусор переменные и удостовериться, что это выглядит как еще одна страница со слишком большим числом внешних параметров.