Дмитрий Рудой
компания Unitecsys
ведущий разработчик
платежи банковскими картам через
интернет и в сетях самообслуживания
по
#thinkphp
Slide 3
Slide 3 text
Что такое безопасность?
#thinkphp
Slide 4
Slide 4 text
Информационная безопасность
Классически, безопасность информации складывается из
трех составляющих:
• Конфиденциальности,
• Целостности,
• Доступности.
#thinkphp
Slide 5
Slide 5 text
В чем угроза?
#thinkphp
Slide 6
Slide 6 text
Категории атак
#thinkphp
Slide 7
Slide 7 text
• Злоупотребление функциональностью
• Атаки на структуры данных
• Встраиваемый вредоносный код
• Использование аутентификации
• Инъекции
• Атака отслеживания путей
• Атаки с использованием вероятностных методов Манипуляции
с протоколом
• Истощение ресурсов
• Манипуляции с ресурсами
• Sniffing
#thinkphp
Slide 8
Slide 8 text
Злоупотребление функциональностью
• Блокировка аккаунта (многократный логин)
• 2+ на один запрос
• Мобильный код
• Отслеживание путей
#thinkphp
Slide 9
Slide 9 text
Атаки на структуры данных
• Переполнение буфера
• Переполнение буфера, используя
переменные окружения
• Переполнение бинарных
ресурсных файлов
#thinkphp
Атаки с использованием вероятностных методов
• Brute force attack
• Криптоанализ
#thinkphp
Slide 14
Slide 14 text
Манипуляции с ресурсами
• Инъекция комментариев (MS Access: %00 )
• Инъекция специальных символов (IP "+++ATH0" )
• Двойное кодирование (“../” - "%252E%252E%252F" )
• Принудительный просмотр (login в url)
• Отслеживание путей (?file=secret.doc%00.pdf )
• Отслеживание относительных путей ("../" )
• Манипуляция с настройками
(conn.setCatalog(request.getParameter(“catalog”)); )
• Шпионское ПО
• Использование Unicode (“../” - %C0AE%C0AE%C0AF )
#thinkphp
Slide 15
Slide 15 text
Как с этим жить? :)
#thinkphp
Slide 16
Slide 16 text
Как обеспечить безопасность?
#thinkphp
Slide 17
Slide 17 text
Принципы
• Безопасность на всех уровнях
• Позитивная модель безопасности
• Сбой надежности (получение доступа в результате сбоя)
• Запуск с минимальными привилегиями
• Избегать безопасности на основе неизвестности
• Безопасность должна быть простой
• Обнаружение вторжений (логгирование)
• Не доверять инфраструктуре
• Не доверять сервисам
• Безопасность по умолчанию
#thinkphp