![](/user_photo/2706_HbeT2.jpg)
- •Раздел 16. Многоуровневые и многослойные приложения. Шаблон проектирования Модель-Представление-Контроллер
- •16.1. Многоуровневые приложения
- •16.2. Многослойные приложения
- •16.3. Шаблон проектирования Модель-Представление-Контроллер
- •16.4. Реализация шаблона Модель-Представление-Контроллер в веб-приложениях
- •Раздел 17. Базы данных в веб-приложениях
- •17.1. Основные понятия баз данных
- •17.2. Системы управления базами данных
- •17.3. Язык запросов sql
- •Транзакции
- •17.4. Доступ к базам данных из Java
- •Пример: база данных студентов
- •Поддержка транзакций
- •17.5. Объектно-реляционная проекция
- •Лекция 18. Безопасность Интернет-приложений
- •18.1. Аутентификация и авторизация
- •18.2. Понятие безопасности Интернет-приложений
- •18.3. Классы атак сетевого уровня Сниффинг пакетов
- •Подмена ip-адреса
- •Отказ в обслуживании
- •Сетевая разведка
- •18.4. Криптографические технологии
- •18.5. Уязвимости уровня приложений
- •Уязвимости системы аутентификации
- •Уязвимости системы авторизации
- •Атаки на стороне клиента
- •Выполнение кода на сервере
- •Разглашение информации
- •Злоупотребление функциональными возможностями
- •Наиболее распространенные уязвимости
- •18.6. Резюме
Подмена ip-адреса
Подмена IP адреса (IP-спуфинг) — использование чужого IP адреса для аутентификации себя в сети и получения доступа к определенным сетевым ресурсам. IP-спуфинг возможен, если метод аутентификации в сети использует только IP-адрес компьютера. Поэтому противодействовать атакам данного класса можно используя дополнительные методы аутентификации, например, по логину и паролю.
Отказ в обслуживании
Класс атак, целью которого является сделать недоступным сетевой ресурс (например, веб-сервер). Для проведения таких атак используются недостатки сетевой или системной архитектуры. Например, может быть произведена попытка исчерпать лимит числа соединений к серверу, или попытка снизить пропускную способность сетевого канала, переполнив его ненужными пакетами, так, что сетевой ресурс становится практически недоступным.
Сетевая разведка
Сетевой разведкой называется сбор информации о сети общедоступными средствами. Сетевая разведка проводится с целью подготовки к организации других атак: собирается информация о структуре сети, адресах, открытых портах, используемых дистрибутивах программного обеспечения, их версиях и т. п. Полностью избавиться от сетевой разведки невозможно, рекомендуется ставить самое свежее программное обеспечение и использовать специальные системы распознавания атак для принятия превентивных мер при получении данных о возможной атаке.
18.4. Криптографические технологии
Криптография — наука о математических методах обеспечения конфиденциальности и подлинности информации. Круг вопросов, которыми занимается современная криптография, следующий:
-
защита от несанкционированного прочтения информации;
-
подтверждение подлинности авторства;
-
невозможность отказа от авторства;
-
невозможность отказа от факта приема сообщения;
-
контроль целостности информации;
-
идентификация законных пользователей (аутентификация);
-
электронная жеребьевка и голосование и др.
Для обеспечения «непрочтения» информации посторонним, информацию передают в зашифрованном виде. Одной из систем шифрования является криптосистема с открытым ключом (или асимметричное шифрование), алгоритм использования которой мы рассмотрим в качестве примера. Асимметричное шифрование основывается на том, что, при известном алгоритме шифрования с использованием открытого ключа (т. е. известного всем пользователям криптосистемы, в т. ч. злоумышленнику) восстановление исходного сообщения является практически неразрешимой задачей, для расшифровки сообщения используется секретный или закрытый (известный только получателю сообщения) ключ.
Алгоритм обмена сообщениями с использованием асимметричного шифрования выглядит следующим образом:
-
отправитель запрашивает открытый ключ получателя;
-
отправитель шифрует сообщение с помощью открытого ключа получателя и отсылает его;
-
получатель расшифровывает сообщение с помощью своего закрытого ключа.
Другим применением криптосистемы с открытым ключом является технология электронной цифровой подписи.
Электронная цифровая подпись — это реквизит электронного документа, который получается путем криптографического преобразования информации документа с использованием секретного ключа владельца. На практике, сначала на основе электронного документа генерируется хэш — битовая строка ограниченной длины, которая подвергается шифрованию. Полученная таким образом шифрованная битовая строка присоединяется к изначальному документу и называется электронной цифровой подписью. Для расшифровки цифровой подписи используется открытый ключ владельца. Цифровая подпись обеспечивает:
-
удостоверение авторства документа;
-
невозможность отказа от авторства;
-
защиту от изменений документа.
Механизм электронной цифровой подписи используется для организации юридически значимого электронного документооборота.