Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемСветлана Чмыхова
1 Безопасность в ASP.NET приложениях ДокладчикMicrosoft
2 Основа безопасности Web-приложений АутентификацияАвторизацияАудит Сохраннении конфиденциальности Доступность
3 Что надо знать о безопасности Web-приложений Что защищать Архитектура Web-приложений и сервисов Устройство платформы ASP.NET Инфраструктура (IIS) От чего защищать Основные виды атак на Web-приложения Как защищать Методы защиты
4 Безопасность и разработка Анализ требований Проектирование Кодирование Ревью архитектуры Ревью кода Тестирование Развертывание Сопровождение Ревью развертывания Part II. Threat modeling and Designing Secure Web Applications Part III. Building Secure Web Applications Part V. Accessing your security Part IV. Securing your Network, Host and Application Improving Web Application Security: Threats and Countermeasures
5 Методы нападения Исследование и оценка Проникновение Повышение привелегий Сохранение доступа (после проникновения) Отказ в обслуживании
6 Принципы безопасности Уменьшение опасной области Наименьшие привилегии Не доверять вводу пользователя Проверка на ранней стадии Безопасно обрабатывать сбои Защита наиболее слабого звена Безопасность по умолчанию Запретить неиспользуемое
7 Архитектура Web-приложений Бизнес-логика База Данных Сервисы Уровень представления Web-сервис «Тонкий» клиент«Толстый» клиент HTTPSOAP
8 ASP.NET Internet Information Services 5.0 inetinfo.exe Web-приложение Изолированный/Смешанный режим dllhost.exe Web-приложение Internet Information Services 6.0 inetinfo.exe Пул приложений w3p.exe Приложение Windows Server 2000 Windows Server 2003
9 ASP.NET Взаимодействие IIS и ASP.NET IIS Клиент Старт ASP.NET приложения Access Denied Права пользователя Access Granted IP адрес и домен? Аутентификация? Нет Да Нет Да ASP.NET имперсонация? Нет Проверка доступа? (NTFS) Нет Права процесса Да
10 Что предоставляет IIS АутентификацияAnonymousBasic Windows Integrated СертификатАвторизацияNTFS Ограничение по домену и IP-адресу Изоляция приложений (App pool) SSL
11 Что предоставляет ASP.NET АутентификацияFormsPassport Windows (IIS) Собственный вариант АвторизацияURLРоли Доступ к коду Изоляция приложений (AppDomain)
12 Безопасность доступа к коду Использование web.config
13 Процесс Взаимодействие с базой данных СоединениеПараметры Бизнес-логика База Данных Сервисы Поток
14 Бизнес-логика Проверка параметров АудитИсключения Наименьшие привилегии Бизнес-логика Уровень представления Web-сервис
15 Взаимодействие с клиентом SSLАутентификация Не доверять клиенту! Бизнес-логика Уровень представления Web-сервис «Тонкий» клиент«Толстый» клиент HTTPSOAP
16 Два типа атак Уровня системы Уязвимость Web-серверов Переполнение буфера (Code Red/Nimda) Как бороться: Установка обновлений! Уровня приложения Уязвимость в коде Как бороться: Безопасный код!
17 SQL Параметры Нефильтрованным ввод/вывод Поля форм Строки запросов Могут вызвать серьезные проблемы
19 Хакер: Username: hacked' or '1' = 1 Password: hacked' or '1' = 1 SELECT count(*) FROM userinfo WHERE username = hacked' or '1' = '1' and password = hacked' or '1' = '1' Что не так? Ожидается: Username: dima Password: SELECT count(*) FROM userinfo WHERE username=dima and password=123456
20 Демонстрация SQL параметры Демонстрация SQL параметры
21 Защита Правило #1: Проверка ввода Правило #2: Хранимые процедуры Параметризированный SQL - OK Правило #3: Никогда (НИКОГДА!) не использовать sa
22 Кросс-сайт скриптинг (XSS) Нефильтрованный ввод отображаемый на странице Поля форм Строки запросов
23 Как XSS работает … Запрос содержит JavaScript который перенаправляет на другую страницу и передает туда cookie URL указывает на атакуемый сайт
24 Демонстрация Кросс-сайт скриптинг Демонстрация Кросс-сайт скриптинг
25 Как бороться Правило #1: Проверка ввода Ограничение диапазона значений,, и т.п.,, и т.п. Правило #2: HTML-кодировать ввод " " -> "<script>" Server.HtmlEncode ASP.NET 1.1 встроенная ValidateRequest=true "<script>" Server.HtmlEncode ASP.NET 1.1 встроенная защита @Page ValidateRequest=true">
26 Повышение привилегий Если процесс имеет высокие привилегии Если удалось попасть на сайт Например, используя переполнение буфера Если выполняется зловредный код
27 Демонстрация Повышение привилегий в ASP.NET Демонстрация Повышение привилегий в ASP.NET
28 Web-приложения Основные рекомендации Проверка ввода на стороне сервера Учетная запись для доступа к ресурсам Защита имени пользователя/пароля Корректная обработка ошибок и сбоев Уровень модульности авторизации User & Web элементы управления в разных сборках Код доступа к ресурсам в отдельных сборках
29 Будущее Веб-приложения Membership API Login, LoginStatus, LoginView, PasswordRecovery Role Manager Веб-сервисы Web Services Enhancement 2.0 (WSE 2.0) Реализация WS-Security Indigo Доступ к данным в Yukon CLR внутри сервера БД Политика паролей
30 Ресурсы OpenHack us/dnnetsec/html/openhack.asp us/dnnetsec/html/openhack.asp us/dnnetsec/html/openhack.asphttp://msdn.microsoft.com/security/
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.