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

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

4769e8ad10f8a1d453dd6e59ecdbcbe4?s=128

thinkphp_com_ua

July 06, 2012
Tweet

Transcript

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

  2. Дмитрий Рудой компания Unitecsys ведущий разработчик платежи банковскими картам через

    интернет и в сетях самообслуживания по #thinkphp
  3. Что такое безопасность? #thinkphp

  4. Информационная безопасность Классически, безопасность информации складывается из трех составляющих: •

    Конфиденциальности, • Целостности, • Доступности. #thinkphp
  5. В чем угроза? #thinkphp

  6. Категории атак #thinkphp

  7. • Злоупотребление функциональностью • Атаки на структуры данных • Встраиваемый

    вредоносный код • Использование аутентификации • Инъекции • Атака отслеживания путей • Атаки с использованием вероятностных методов Манипуляции с протоколом • Истощение ресурсов • Манипуляции с ресурсами • Sniffing #thinkphp
  8. Злоупотребление функциональностью • Блокировка аккаунта (многократный логин) • 2+ на

    один запрос • Мобильный код • Отслеживание путей #thinkphp
  9. Атаки на структуры данных • Переполнение буфера • Переполнение буфера,

    используя переменные окружения • Переполнение бинарных ресурсных файлов #thinkphp
  10. Встраиваемый вредоносный код • Cross-Site Request Forgery (CSRF) • Трояны

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

    Forgery (CSRF) • Фиксация сессии • Предсказание сессии #thinkphp
  12. Инъекции • Инъекция аргументов • SQL-инъекции • XPath-инъекции (XML) •

    Инъекции кода (php, js) • Инъекции комманд ОС • Eval Injection • Инъекции форматирования строк • LDAP –инъекции • Отказ регулярных выражений • Инъекции ресурсов • SSI -инъекции #thinkphp
  13. Атаки с использованием вероятностных методов • Brute force attack •

    Криптоанализ #thinkphp
  14. Манипуляции с ресурсами • Инъекция комментариев (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
  15. Как с этим жить? :) #thinkphp

  16. Как обеспечить безопасность? #thinkphp

  17. Принципы • Безопасность на всех уровнях • Позитивная модель безопасности

    • Сбой надежности (получение доступа в результате сбоя) • Запуск с минимальными привилегиями • Избегать безопасности на основе неизвестности • Безопасность должна быть простой • Обнаружение вторжений (логгирование) • Не доверять инфраструктуре • Не доверять сервисам • Безопасность по умолчанию #thinkphp
  18. Безопасность по умолчанию #thinkphp

  19. Ссылки 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
  20. Спасибо за внимание! E-mail: m_dma@mail.ru Skype: dmytrorudiy #thinkphp