$30 off During Our Annual Pro Sale. View Details »

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

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

thinkphp_com_ua

July 06, 2012
Tweet

More Decks by thinkphp_com_ua

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

  3. Что такое безопасность?
    #thinkphp

    View Slide

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

    View Slide

  5. В чем угроза?
    #thinkphp

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  13. Атаки с использованием вероятностных методов
    • Brute force attack
    • Криптоанализ
    #thinkphp

    View Slide

  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

    View Slide

  15. Как с этим жить? :)
    #thinkphp

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide