Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Секреты и ложь. Безопасность данных в цифровом мире - Шнайер Брюс - Страница 53
Общий шлюзовый интерфейс (Common Gateway Interface, CGI) – это стандартный способ, которым веб-сервер передает запрос клиента размещенным на нем приложениям и отсылает ответ пользователю. Если вы посылаете поисковый запрос на веб-сайт – например, на сайт розничной электронной торговли, – веб-сервер передает запрос в приложение базы данных и затем форматирует ответ перед тем, как предоставить его пользователю. Или если посетитель заполняет анкету на веб-странице, то эта информация передается в соответствующее приложение для последующей обработки. Иногда вы можете видеть команды CGI в адресной строке браузера – это непонятные значки и цифры в конце URL; в других случаях они не видны пользователю. Это часть HTTP, все ею пользуются. Сценарии CGI – это небольшие программы на веб-сервере, которые работают с данными. Например, они задают принцип обработки анкет на веб-страницах.
Сложности при работе со сценариями CGI в том, что каждый из них – потенциальная прореха в системе безопасности. Манипулируя сценариями CGI, можно совершать самые неожиданные веши. Вот ряд примеров (все они действительно имели место): загрузка файла с веб-сервера, просмотр всего содержимого базы данных, загрузка списка покупателей и их персональных записей, кража денег у клиентов электронного банка, торговля чужими контрольными пакетами акций и просмотр системных журналов веб-сервера, в которых записаны договоры клиентов.
Другие похожие атаки проводятся путем помещения исполняемого кода (обычно сценарии Perl или код JavaScript) в текстовые поля. Таким путем можно заставить веб-сервер внести изменения в домашнюю страницу, показать секретный ключ SSL или доставить другие неприятности, о которых сказано в предыдущем абзаце. Этот метод также позволяет использовать переполнение буфера и другие ошибки программирования (см. главу 13), чтобы вызвать поломку веб-сервера или, что еще лучше, захватить этот сервер в свои руки.
Один пример: в 1998 году в результате атаки против Hotmail стало возможным увидеть учетные записи электронной почты других людей. eBay также подвергся атаке; злоумышленники поместили троянского коня, написанного на JavaScript, в поле описания товара. Это поле видел любой, кто просматривал товары, выставленные на продажу, и в результате злоумышленники получали информацию о тысячах учетных записей.
Один недостаток CGI позволил злоумышленникам загружать секретную персональную информацию с различных сайтов. Другие сценарии CGI использовались, чтобы взломать веб-сервер. В конце 1999 года были предприняты две атаки – атака Poison Null («отравленный» нуль), позволившая хакерам просматривать и изменять файлы на веб-сервере, и атака Upload Bombing (бомбежка при пересылке), наводнившая веб-серверы бесполезными файлами, которые очень быстро превращались в атаки-сценарии, так что любой мог при желании их использовать[35].
Включения на стороне сервера (Server Side Includes, SSI) – это указания для вебсерверов, встроенных в HTML-страницы. Непосредственно перед отправкой страницы браузеру веб-сервер выполняет все SSI, содержащиеся на странице, и помещает на нее результаты своей работы. Атаковать SSI так же выгодно, как и все остальное.
Можно атаковать уязвимые места в стороннем программном обеспечении: на специфических веб-серверах, в их приложениях. Сюда относятся приложения для баз данных, программы «корзины», сервер транзакций и другие. Эти атаки зависят не от того, как сайт использует приложение, а от самого приложения (СУБД Oracle, например). Злоумышленники могли бы загрузить исходную программу с веб-сервера, разрушить сервер, получить привилегии доступа на уровне администратора для входа на сервер, запустить на сервере произвольную программу и т. п. В отличие от прорех безопасности, вызванных сценариями CGI, установление уязвимых мест в дополнительных приложениях не находится под контролем сайта; это обязанность поставщиков стороннего программного обеспечения.
Существует множество похожих атак. Внося изменения в скрытые поля на некоторых веб-страницах (эти поля можно увидеть при просмотре начала страницы), есть шанс взломать сценарии CGI и заставить некоторые программы «корзин» изменить цены предлагаемых товаров. (Вплоть до «назовите свою цену».) Некоторые атаки направлены на cookies: порча cookie. Злоумышленники входят на сервер и вручную меняют свои аутентификационные cookies на cookies других пользователей. Иногда эти cookies зашифрованы, но часто не очень надежно.
Некоторые атаки носят название написания перекрестных сценариев. Это довольно неудачное название: атаки заключаются не столько в написании сценариев, и речь не идет о пересечении. То, что они так называются, сложилось исторически. Суть в том, что Веб скрывает в себе множество мелких хитростей; когда вы смешиваете сценарии CGI, JavaScript, фреймы и cookies, cookies и SSL, итог может оказаться неожиданным и нежелательным. Использование различных платформ одновременно – это спорный путь, в результате нетрудно получить непредсказуемое взаимодействие различных компонентов сложных систем.
Такие атаки по нескольким причинам направлены преимущественно на сценарии CGI. Большинство сценариев CGI написаны непродуманно, и они широко распространены среди пользователей. Вы получаете набор сценариев вместе с программным обеспечением или от своего провайдера. Часто люди, занимающиеся написанием сценариев, не имеют опыта в программировании. Они не слишком хорошо разбираются в проблемах безопасности, которые могут возникнуть из-за применения сценариев или вследствие взаимодействия сценариев с другими частями программного обеспечения сервера. А веб-сервер не имеет возможности контролировать работу CGI-сценариев. Поэтому иногда сценарий создается для одной цели и, если он используется для другой, повреждает защиту.
Атаки CGI – мощные, против них мало что устоит. Конечно, можно написать безопасный CGI-сценарий, но едва ли кто-то это сделает. Одна компания занималась проверкой веб-сайтов на предмет недостатков в приложениях вроде CGI-сценариев – она не нашла ни одного сайта, который нельзя взломать. Это – стопроцентная уязвимость.
Номинально веб-просмотр анонимен. В реальности существует много способов идентифицировать пользователя. Я уже говорил, что по cookies можно следить за перемещением пользователя с сайта на сайт и даже включить в cookie адрес электронной почты или другую личную информацию (если пользователь заполняет анкету или отвечает на электронное сообщение).
Вдобавок на большинстве веб-серверов все доступы регистрируются. В регистрацию обычно входит IP-адрес пользователя, время запроса, информация о том, какая запрошена страница, и имя пользователя (если оно известно из каких-нибудь регистрационных протоколов). Впрочем, большинство веб-сайтов просто выбрасывают эти регистрационные записи.
Конечно, IP-адрес пользователя – это все же не имя пользователя, но многие веб-браузеры установлены на машинах с единственным пользователем, напрямую подключенных к Всемирной паутине. Те пользователи, которым приходится дозваниваться, обладают большей анонимностью, чем пользователи с кабельным модемом или DSL-соединением (Digital Subscriber Line, цифровая абонентская линия), но часто для идентификации достаточно установить провайдера. Например, в 1999 году неизвестный угрожал бомбой, отправив сообщение с регистрационной записи Hotmail. Электронная почта Hotmail содержит IP-адреса веб-браузеров, с которых отправляли почту. IP-адрес принадлежал America Online, и полиция, сравнив его и записи Hotmail, смогла проследить электронное сообщение до индивидуального пользователя America Online.
В данном случае для нарушения конфиденциальности были экстренные причины, но большинство таких действий можно автоматизировать. Коммерческие веб-сайты, как правило, не слишком стараются защитить конфиденциальность клиента. Фактически, многие из них делают деньги на рекламе. Другие сайты сознательно посягают на конфиденциальность посетителя, чтобы осуществлять направленную рекламу: это разные «цифровые бумажники», список компаний, производящих программное обеспечение и всякое другое. Многие компании рассматривают целевую рекламу как своего рода бизнес при помощи Интернета.
35
Атаки образца конца 1999 года, актуальные и поныне (для подобных атак уязвимы до 80% интерактивных веб-сайтов). Upload Bombing работает на сайтах с запросом на загрузку файлов (агентства по трудоустройству, доски объявлений, почтовые серверы и т. д.). Смысл в том, что в ответ на предложение загрузки сервер заваливается множеством файлов, переполняющих диски, текстовых, графических, любых, и вызывает переполнение дисков. Название Poison NULL byte произошло от байта с нулевым значением, служащего ограничителем строки на многих языках программирования. – Примеч. ред.
- Предыдущая
- 53/120
- Следующая
