Slide 1

Slide 1 text

Безопасность веб приложений ThinkPHP #2 thinkphp.com.ua #thinkphp

Slide 2

Slide 2 text

Дмитрий Рудой компания 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

Slide 10

Slide 10 text

Встраиваемый вредоносный код • Cross-Site Request Forgery (CSRF) • Трояны #thinkphp

Slide 11

Slide 11 text

Использование аутентификации • Блокировка аккаунта (многократный логин) • Cross-Site Request Forgery (CSRF) • Фиксация сессии • Предсказание сессии #thinkphp

Slide 12

Slide 12 text

Инъекции • Инъекция аргументов • SQL-инъекции • XPath-инъекции (XML) • Инъекции кода (php, js) • Инъекции комманд ОС • Eval Injection • Инъекции форматирования строк • LDAP –инъекции • Отказ регулярных выражений • Инъекции ресурсов • SSI -инъекции #thinkphp

Slide 13

Slide 13 text

Атаки с использованием вероятностных методов • 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

Slide 18

Slide 18 text

Безопасность по умолчанию #thinkphp

Slide 19

Slide 19 text

Ссылки WASC - http://www.webappsec.org CERT - http://www.cert.org CGISecurity – http://www.cgisecurity.net CVE MITRE - http://cve.mitre.org OWASP – http://www.owasp.org SQL Security - http://www.sqlsecurity.com Web Application Security Podcasts - http://www.mightyseek.com/category/podcasts/ Defacement #thinkphp

Slide 20

Slide 20 text

Спасибо за внимание! E-mail: [email protected] Skype: dmytrorudiy #thinkphp