Top Banner
Безопасность интернет- приложений Лекция 4 «Логика приложений» Ярослав Рабоволюк
32

Информационная безопасность весна 2013 лекция 4

Jun 15, 2015

Download

Documents

Technopark
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Информационная безопасность весна 2013 лекция 4

Безопасность интернет-приложений

Лекция 4«Логика приложений»

Ярослав Рабоволюк

Page 2: Информационная безопасность весна 2013 лекция 4

Концепция ААА

Аутентификация

Аккаунтинг

Авторизация «Кто?»

«Что разрешено?»

«Что делал?»

Page 3: Информационная безопасность весна 2013 лекция 4

Концепция ААА

AAA-схема

ldap, radius, soap

AAAWEB

Page 4: Информационная безопасность весна 2013 лекция 4

Аутентификация

Html form-based http basic auth/digest authMultifactor

SSL certs/smartcardsOpenID

Page 5: Информационная безопасность весна 2013 лекция 4

Аутентификация

«плохие» пароли

- Пустое значение- Слишком короткий- Пароль = логин- Пароль по умолчанию- Словарный пароль

Page 6: Информационная безопасность весна 2013 лекция 4

Аутентификация

Информационные сообщения

Page 7: Информационная безопасность весна 2013 лекция 4

Аутентификация

Канал передачи данных

рабочая станция роутер

провайдер

хостинг

локальная сеть

Page 8: Информационная безопасность весна 2013 лекция 4

Аутентификация

Канал передачи данных

- SSL/TLS- Challenge-response

Page 9: Информационная безопасность весна 2013 лекция 4

Аутентификация

Политика смены пароля

- Периодическая смена (устаревание) - Смена при инциденте (disaster plan)

Типичные ошибки:- Сообщение «пользователь отсутствует»- Отсутствие подтверждения старого пароля- Отсутствие защиты от перебора старого пароля- csrf

Page 10: Информационная безопасность весна 2013 лекция 4

Аутентификация

Политика смены пароля: disaster plan

- Оповещение ссылкой на смену- Смена при следующем входе- Создание и отправка нового

Page 11: Информационная безопасность весна 2013 лекция 4

Аутентификация

Восстановление забытого пароля

Типичные ошибки:- Простые челленджи (секретные вопросы)- Подбор секретного вопроса- Раскрытие данных пользователя- Логин при вводе правильного челленджа- Отправка кода восстановления на указанный адрес/номер- Подбор «одноразовой ссылки»

Page 12: Информационная безопасность весна 2013 лекция 4

Аутентификация

Функция «запомнить пользователя»

$nc somehost.comGET / HTTP/1.1Host: somehost.comCookie: Storeduser=mike

HTTP/1.1 200 OkServer: nginxDate: Fri, 12 Nov 2012 14:42:04 GMTContent-Type: text/html; charset=UTF-8Connection: closeSet-Cookie: session=mike:0b0a2371cc93f46b; secure; HttpOnlyContent-Length: 5279

Page 13: Информационная безопасность весна 2013 лекция 4

Аутентификация

«усечение» аутентификации

trim(passwd): “ pass”, “pass”, “p.ass”,”@@pass”

substr(passwd,0,8): “password”,”password1234”

tolower(passwd):”password”,”PASSWORD”,”Password”

Page 14: Информационная безопасность весна 2013 лекция 4

Аутентификация

Передача данных

Типичные ошибки:- Отправка пароля в открытом виде по email- Бессрочный “account activation”- Подбираемый “account activation”

Page 15: Информационная безопасность весна 2013 лекция 4

Аутентификация

хранение

Типичные ошибки:- store(passwd)- store(md5(passwd))- store(customcrypt(passwd))

Page 16: Информационная безопасность весна 2013 лекция 4

Авторизация

Сессии

- ошибки создания сессии- ошибки валидации- ошибки хранения

Page 17: Информационная безопасность весна 2013 лекция 4

Авторизация

Сессии: генерация

randomseed(const);session = md5(rand());

session = base64(“user:”+login + “date:”+date);

session = md5(passwd);

session = md5(timestamp()+passwd);

session = encrypt(user.data);

Page 18: Информационная безопасность весна 2013 лекция 4

Авторизация

Сессии: передача

GET-метод:somesite.com?sess=0102030010394&a=1

- Попадание в логи- Кеш поиска- Реферреры

Даунгрейд с https к http - Перехват на сетевом уровне

Page 19: Информационная безопасность весна 2013 лекция 4

Авторизация

Контроль доступа

Чтение сообщений

Модерация

Изменение настроек

САЙТ

пользовательмодераторадмин

Page 20: Информационная безопасность весна 2013 лекция 4

Авторизация

Контроль доступа: роли

Чтение сообщений

Модерация

Изменение настроек

САЙТ

пользовательмодераторадмин

Page 21: Информационная безопасность весна 2013 лекция 4

Авторизация

Контроль доступа: роли

Чтение сообщений

Модерация

Изменение настроек

САЙТ

пользовательмодераторадмин

Page 22: Информационная безопасность весна 2013 лекция 4

Авторизация

Контроль доступа: роли

Чтение сообщений

Модерация

Изменение настроек

САЙТ

пользовательмодераторадмин

Page 23: Информационная безопасность весна 2013 лекция 4

Авторизация

Контроль доступа: эскалация

Чтение сообщений

Модерация

Изменение настроек

САЙТ

пользовательмодераторадмин

Page 24: Информационная безопасность весна 2013 лекция 4

Авторизация

Контроль доступа: эскалация

Чтение сообщений

Модерация

Изменение настроек

САЙТ

пользовательмодераторадмин

Page 25: Информационная безопасность весна 2013 лекция 4

Логика приложения

Логические ошибки

- Прямой вызов ресурса

- Контроль доступа параметром

- Нарушение последовательности вызовов

- Контроль доступа реферерром

- Контроль по местоположению

Page 26: Информационная безопасность весна 2013 лекция 4

Логика приложения

Пример: shopping cart

Выбор товаров Переход в корзину Оплата Доставка

Page 27: Информационная безопасность весна 2013 лекция 4

Логика приложения

Пример: shopping cart

Выбор товаров Переход в корзину Оплата Доставка

Page 28: Информационная безопасность весна 2013 лекция 4

Логика приложения

Пример: poker game

LET’S PLAY!

Page 29: Информационная безопасность весна 2013 лекция 4

Логика приложения

Пример: poker game

Set-Cookie: hand=2,3,5,J,Q

Set-Cookie: hand=10,J,Q,K,A

Page 30: Информационная безопасность весна 2013 лекция 4

Логика приложения

Пример: poker game

Cookie: hand=10,J,Q,K,A

Page 31: Информационная безопасность весна 2013 лекция 4

Логика приложения

Пример: poker game

Cookie: hand=Q,Q,Q,Q,Q

Cookie: hand=10,J,Q,K,A

WIN!

Page 32: Информационная безопасность весна 2013 лекция 4

Спасибо за вниманиеРабоволюк Ярослав,

[email protected]