Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхDmitry Evteev
Уязвимости и атаки на Web-приложения, общепринятые классификации уязвимостей. Ошибки, допускаемые разработчиками при создании клиентской и серверной частей Web-приложения, их возможные последствия и методы выявления и устранения. Примеры из практики. Обзор специализированных средств защиты Web-приложений: Web Application Firewall (WAF). Стоит ли полагаться на WAF?
Методология выявления уязвимостей в Web-приложениях, в частности, с использованием различных средств автоматического анализа.
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхDmitry Evteev
Уязвимости и атаки на Web-приложения, общепринятые классификации уязвимостей. Ошибки, допускаемые разработчиками при создании клиентской и серверной частей Web-приложения, их возможные последствия и методы выявления и устранения. Примеры из практики. Обзор специализированных средств защиты Web-приложений: Web Application Firewall (WAF). Стоит ли полагаться на WAF?
Методология выявления уязвимостей в Web-приложениях, в частности, с использованием различных средств автоматического анализа.
ЄВГЕНІЙ ТОЛЧИНСКИЙ «Як manual QA може протестувати проект з боку security» QA...QADay
Kyiv Quality Assurance Day 2019
ЄВГЕНІЙ ТОЛЧИНСКИЙ
«Як manual QA може протестувати проект з боку security»
Телеграм канал: wwww.t.me/goqameetup
Фейсбук сторінці: www.fb.com/goqaevent
Сайт: www.kyiv.qaday.org
Ведущий: Эльдар Бейбутов
Интернет приложения - это интерфейс взаимодействия человеческого сознания с информационной системой. Процесс коммуникации людей и машинного кода не поддается формализации, невозможно учесть все возможные состояния системы в ручную, для этого необходимы интеллектуальные средства защиты, которые будут способны к самостоятельному обучению и принятию решений на основе многофакторных моделей. На докладе поговорим о эвристических механизмах обнаружения атак, автоматическом создании позитивной модели и поведенческом анализе.
ЄВГЕНІЙ ТОЛЧИНСКИЙ «Як manual QA може протестувати проект з боку security» QA...QADay
Kyiv Quality Assurance Day 2019
ЄВГЕНІЙ ТОЛЧИНСКИЙ
«Як manual QA може протестувати проект з боку security»
Телеграм канал: wwww.t.me/goqameetup
Фейсбук сторінці: www.fb.com/goqaevent
Сайт: www.kyiv.qaday.org
Ведущий: Эльдар Бейбутов
Интернет приложения - это интерфейс взаимодействия человеческого сознания с информационной системой. Процесс коммуникации людей и машинного кода не поддается формализации, невозможно учесть все возможные состояния системы в ручную, для этого необходимы интеллектуальные средства защиты, которые будут способны к самостоятельному обучению и принятию решений на основе многофакторных моделей. На докладе поговорим о эвристических механизмах обнаружения атак, автоматическом создании позитивной модели и поведенческом анализе.
Обеспечение безопасности расширений в корпоративных информационных системахAndrew Petukhov
Одни из самых распространенных платформ для корпоративных информационных систем в России - SAP и 1C Предприятие. В обеих основную ценность представляют так называемые расширения, обеспечивающие клиентам требуемую функциональность: для SAP – это модули на языке ABAP, для 1С Предприятия – конфигурации, для создания которых используется встроенный язык программирования. С точки зрения информационной безопасности ситуация неутешительна: к задаче обнаружения закладок в custom-коде расширений в последние годы добавилось выявление классических веб-уязвимостей из OWASP Top10. В докладе будет рассмотрена оценка защищенности расширений корпоративных информационных систем, а также подходы к решению этой задачи в отношении платформы SAPв зарубежных странах, и в отношении платформы 1С – в России.
Detecting Insufficient Access Control in Web ApplicationsAndrew Petukhov
Web applications have become a de facto standard for delivering services on the Internet. Often they contain sensitive data and provide functionality which should be protected from unauthorized access. Explicit access control policies can be leveraged for validating the access control, but, unfortunately, these policies are rarely defined in case of web applications. Previous research shows that access control flaws in web applications may be revealed with black-box analysis, but the existing “differential analysis” approach has certain limitations. We believe that taking the state of the web application into account could help to overcome the limitations of exiting approach. In this paper we propose a novel approach to black-box web application testing, which utilizes a use-case graph. The graph contains classes of actions within the web application and their dependencies. By traversing the graph and applying differential analysis at each step of the traversal, we were able to improve the accuracy of the method. The proposed method was implemented in the proof-of-concept tool AcCoRuTe. Evaluation with several real-world web applications shows better results in comparison to simple differential analysis.
Сергей Татаринцев — Тестирование CSS-регрессий с GeminiYandex
Каждый разработчик интерфейсов долгоживущих сервисов сталкивается с регрессиями в вёрстке. Мы научились пользоваться инструментами для unit-тестирования js-кода, но до сих пор плохо понимаем, как тестировать на регрессии вёрстку. И ещё хуже понимаем, как делать это автоматически (continuous integration) и при этом писать небольшие и не очень хрупкие тесты. В этом году мы создали Gemini — инструмент для модульного тестирования вёрстки для нашей библиотеки компонентов. Мы используем его для тестирования внутренней библиотеки компонентов Яндекса, которая лежит в основе большинства наших сервисов (например, Поиска и Картинок). На BEMup я расскажу, как использовать этот инструмент — как разрабатывать тесты и запускать их на локальной машине или в уже существующей экосистеме (Travis CI, Sauce Labs).
Svyatoslav Login "How to test authentication and authorization for security"Fwdays
The login page is the most important page on the site since with the help of it we understand to give access to this or that user. Most often, hackers crack this particular functionality, in order to get access to the accounts, especially access to admin accounting. Using the Burp Suite tool and beef, I'll show you how you can check it out.
За последние годы мечты фантастов XX века стали реальностью: смартфоны, видеозвонки, виртуальная реальность и, наконец, Интернет вещей. К сожалению, у прогресса всегда есть темная сторона. Я думаю, ни для кого не секрет, что такие компании как Sony, Yahoo, Adobe, Target и многие другие столкнулись с проблемами безопасности в последние годы. Количество скомпрометированных систем растет день ото дня.
Node.js - это одна из самых быстрорастущих экосистем разработки приложений на рынке, которая постепенно перестает быть инструментом для разработки стартапов и проникает в корпоративный сектор. Вы уверены, что ваше приложение, разработанное на базе MEAN-стека, безопасно? В своем докладе я хотел бы рассмотреть данный вопрос. Мы поговорим о криптографии, аутентификации, авторизации, уязвимостях web-приложений, построенных на базе Node.js. К концу доклада вы получите пошаговое руководство, как уменьшить вероятность взлома вашего проекта.
Доклад Максима Гопея для "Съесть собаку #8", PHP, 20/04/17
Тезисы:
- Моделирование угрозы
- Виды атак и уязвимостей в коде
- Как проверять безопасность систем
- Выводы.
WebAuthn в реальной жизни, Анатолий ОстапенкоMail.ru Group
Я расскажу, как мы поддержали вход через WebAuthn в самом крупном почтовом сервисе рунета и какие сложности скрываются за красивыми презентациями о том, какой WebAuthn простой и безопасный:
как сделать WebAuthn понятным и доступным для пользователей;
как поддержать его во всех браузерах и устройствах;
как тестировать WebAuthn, в том числе автоматизированно;
куда двигаться дальше после его запуска и включения.
Similar to Тестирование уязвимостей веб приложений (20)
11. Что будем тестировать?
• Входящие данные от пользователя
• Ответы сервера
• Защиту от перебора
• Безопасные механизмы аутентификации
• Работа с пользовательскими сессиями
• Шифрование трафика
12. Some Origin Policy
Код из одного источника не может читать или
изменять DOM-объекты другого источника
13. Some Origin Policy
«Свой локоть укусить нельзя. Но есть
способ укусить, используя соседскую
собачку»
32. Cross-Site Scripting
XSS позволяет делать с уязвимым сайтом
то же самое, что может делать
пользователь загрузивший XSS скрипт
Например, с помощью BеEF или Metasploit
41. Защита от перебора
Что проверяем?
• Форму аутентификации
• Форму регистрации
• Восстановление пароля
• Изменение данных в ЛК
42. Защита от перебора
• Запрещаем вводить слабые пароли
(https://github.com/dropbox/zxcvbn - это поможет)
• Не даем подсказок. Только общие фразы:
“Неверный логин или пароль”
“Ссылка отправлена на ваш email” / “Код - на телефон”
• Captcha, например, Google ReCaptcha после 3-5 попыток (www.free-ocr.com)
• Timeout после 13-15 попыток
• Проверяем, учитывается ли значение капчи в POST запросе
• Код ответа HTTP = 200
• Логируем все попытки аутентификации (время; IP; учетка; результа; …)
43. Защищаем поля ввода
• Проверяем на инъекции (XSS magic string - ‘';!--
"<XSS>=&{()})
• Все поля ввода валидируются на сервере
• Используем HTTP header Cache-Control: private, no-cache,
no-store, max-age=0
44. Восстановление пароля (Capability
URLs)
• URL содержит уникальный токен (рекомендуется, UUID)
• UUID не должен генерироваться детерминированным способом типа
md5(username)
• UUID имеет ограниченный срок действия (максимум, сутки)
• UUID Не действует после сброса пароля
• URL работает только по HTTPS
• Страницы доступные через URL должны быть закрыты от индексации
роботами
https://w3ctag.github.io/capability-urls/
45. Изменение аутентификационных
данных в ЛК
• Используем анти-CSRF токен в POST запросах (не GET),
который обрабатывается на сервере
• Один анти-CSRF токен действует только для одного
пользователя
• При изменении пароля повторяем механизм восстановления
пароля
46. Защита от clickjacking
• Ответ сервера содержит заголовок
X-Frame-Options Deny
на страницах, не предназначенных для запуска
во фреймах
• Используются ли сторонние сервисы/ плагины?
Разбираемся, как они работают.
48. Дополнительная защита от XSS
• Ответ сервера содержит заголовок
Content-Security-Policy: script-src ‘self'
• Ответ сервера содержит заголовок
Set-Cookie: … ; secure; HttpOnly
• Ответ сервера содержит заголовок
X-XSS-Protection: 1; mode=block
• Ответ сервера содержит заголовок
x-content-type-options:nosniff
www.securityheaders.io
49. 1. OWASP Authentication Cheat Sheet
(https://www.owasp.org/index.php/Authentication_Cheat_She
et)
2. Dos and Don’ts of Client Authentication on the Web
(https://pdos.csail.mit.edu/papers/webauth:sec10.pdf)
3. http://www.webappsec.org
4. http://seclists.org
5. https://www.seekurity.com
6. http://hackerone.com
Что почитать?