Waf.js: как защищать веб-приложения с использованием JavaScriptPositive Hack Days
Ведущие: Денис Колегов и Арсений Реутов
Авторы доклада продемонстрируют, как внедрение клиентских сценариев JavaScript может быть использовано для обнаружения и предотвращения различных атак, поиска уязвимых клиентских компонент, определения утечек данных об инфраструктуре веб-приложений, выявления веб-ботов и инструментальных средств нападения. Поделятся собственными методами обнаружения инъекций при помощи синтаксических анализаторов без сигнатур и фильтрующих регулярных выражений, а также рассмотрят реализацию концепции JavaScript-ловушек на стороне клиента для атак SSRF, IDOR, Command Injection и CSRF.
Тема: Как перестать беспокоиться и начать запускать фичи
Запуск новых фич для любого продукта – довольно опасная штука, ведь столько всего может пойти не так: может вылезти огромное число разных багов (от device specific до багов в самой фиче), могут не выдержать сервера и в конце концов пользователям может просто не понравиться фича.
Я расскажу о том, как мы запускаем новые фичи, какие проблемы, связанные с запусками, у нас возникали и как это всё работает в Android-клиенте.
Тезисы:
– feature toggles: что это, зачем это и как мы сделали своё;
– как мы мониторим и оцениваем запуски;
– как feature toggles дружат с ручным тестированием и как учитываются в автотестах.
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Ontico
Мы посвятили два месяца исследований и разработки сокращению времени запуска нашего приложения. В докладе мы расскажем все, что нам удалось узнать на собственном опыте о приемах и хитростях ускорения приложений под iOS, поделимся конкретными рецептами и расскажем о результатах проделанной работы.
- Что можно и нужно оптимизировать?
- Как сократить время от нажатия на иконку до показа экрана запуска?
- Инструменты анализа производительности: не только Time Profiler.
- Что быстрее: XIB или создание UI в коде?
- Замеры скорости запуска как часть Continuous Integration.
Выступление Дениса Колегова, посвященное методам защиты веб-приложений, применяемым в межсетевых экранах, на встрече PDUG Meetup: J'adore hardcore 20 декабря 2016 года.
24may 1600 valday dmitry gutsko 'sap attack methodology'Positive Hack Days
This document outlines an attack methodology for compromising SAP systems. It begins by scanning open ports to identify available clients and services. Default passwords are checked to gain initial access. Tools like MaxPatrol and sapyto are used to gather additional system information from RFC connections. Direct access to the Oracle database is possible if it uses remote OS authentication. Password hijacking can occur via network protocols like DIAG and RFC. Various password encryption algorithms are detailed along with ways to recover passwords using tools like John the Ripper. The document shows how to bypass clients, access other SAP systems via decrypted RFC connections, and hide evidence of high privileges by modifying reports and tables.
Waf.js: как защищать веб-приложения с использованием JavaScriptPositive Hack Days
Ведущие: Денис Колегов и Арсений Реутов
Авторы доклада продемонстрируют, как внедрение клиентских сценариев JavaScript может быть использовано для обнаружения и предотвращения различных атак, поиска уязвимых клиентских компонент, определения утечек данных об инфраструктуре веб-приложений, выявления веб-ботов и инструментальных средств нападения. Поделятся собственными методами обнаружения инъекций при помощи синтаксических анализаторов без сигнатур и фильтрующих регулярных выражений, а также рассмотрят реализацию концепции JavaScript-ловушек на стороне клиента для атак SSRF, IDOR, Command Injection и CSRF.
Тема: Как перестать беспокоиться и начать запускать фичи
Запуск новых фич для любого продукта – довольно опасная штука, ведь столько всего может пойти не так: может вылезти огромное число разных багов (от device specific до багов в самой фиче), могут не выдержать сервера и в конце концов пользователям может просто не понравиться фича.
Я расскажу о том, как мы запускаем новые фичи, какие проблемы, связанные с запусками, у нас возникали и как это всё работает в Android-клиенте.
Тезисы:
– feature toggles: что это, зачем это и как мы сделали своё;
– как мы мониторим и оцениваем запуски;
– как feature toggles дружат с ручным тестированием и как учитываются в автотестах.
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Ontico
Мы посвятили два месяца исследований и разработки сокращению времени запуска нашего приложения. В докладе мы расскажем все, что нам удалось узнать на собственном опыте о приемах и хитростях ускорения приложений под iOS, поделимся конкретными рецептами и расскажем о результатах проделанной работы.
- Что можно и нужно оптимизировать?
- Как сократить время от нажатия на иконку до показа экрана запуска?
- Инструменты анализа производительности: не только Time Profiler.
- Что быстрее: XIB или создание UI в коде?
- Замеры скорости запуска как часть Continuous Integration.
Выступление Дениса Колегова, посвященное методам защиты веб-приложений, применяемым в межсетевых экранах, на встрече PDUG Meetup: J'adore hardcore 20 декабря 2016 года.
24may 1600 valday dmitry gutsko 'sap attack methodology'Positive Hack Days
This document outlines an attack methodology for compromising SAP systems. It begins by scanning open ports to identify available clients and services. Default passwords are checked to gain initial access. Tools like MaxPatrol and sapyto are used to gather additional system information from RFC connections. Direct access to the Oracle database is possible if it uses remote OS authentication. Password hijacking can occur via network protocols like DIAG and RFC. Various password encryption algorithms are detailed along with ways to recover passwords using tools like John the Ripper. The document shows how to bypass clients, access other SAP systems via decrypted RFC connections, and hide evidence of high privileges by modifying reports and tables.
This document provides an agenda for an RFID security workshop. The agenda includes topics such as RFID hardware operating frequencies, active vs passive tags, LibNFC software, low and high frequency tags, Mifare classic memory organization and security, and real world examples of RFID usage. The workshop aims to educate attendees on RFID technology fundamentals and security aspects.
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Ontico
Исторически сложилось так, что одни люди разрабатывают приложения (Dev), а другие эксплуатируют их в продакшне (Ops). И у последних есть немало проблем с тем, что невозможно понять, что происходит.
Причем это касается как собственных разработок, так и популярных open source решений.
Я расскажу, как устроена диагностика у некоторых популярных софтин:
- nginx
- postgresql
- mongodb
Мы попробуем разобраться, что там сделано хорошо, и чего не хватает для полного счастья.
Во второй части доклада мы поговорим про то, как нужно инструментировать собственное приложение для прозрачной работы в продакшне:
- что считать и зачем: ошибки, тайминги, разные состояния приложения,
- инструментарий: your_lang-metrics, your_lang-statsd-client, логи,
- как не перемудрить и не убить прод диагностикой.
Может показаться, что этот доклад про DevOps, но нет - про docker не будет ни слова :)
Юрий Василевский «Автоматизация в XCode»
Yandex Mobile Camp в Санкт-Петербурге 2012
http://events.yandex.ru/events/yamobcamp/spb-may-2012/
Xcode — основной инструментарий разработки приложений под Mac OS X и Apple iOS. Он обладает широкими возможностями как для редактирования кода, так и для автоматизации задач. Мы обсудим некоторые из аспектов автоматизации (Code Sense, Targets, Services, Help), связанные с нумерацией сборок билдов, форматированием и контролем стиля кода, анализом дублированных участков кода, управлением внешними библиотеками.
Yandex Mobile Camp в Санкт-Петербурге, 30 мая 2012
Юрий Василевский, ведущий разработчик EPAM Systems, Mobile Solutions
Тема: Автоматизация в XCode
Тезисы:
Xcode — основной инструментарий разработки приложений под Mac OS X и Apple iOS. Он обладает широкими возможностями как для редактирования кода, так и для автоматизации задач.
Мы рассмотрим некоторые из аспектов автоматизации (Code Sense, Targets, Services, Help), связанные с нумерацией сборок билдов, форматированием и контролем стиля кода, анализом дублированных участков кода, управлением внешними библиотеками.
Виды QA: Всё что вы не знали и боялись спроститьGoIT
19.02.2015 состоялось очередное событие, посвященное тематике Тестирования ПО.
Встреча помогла участникам
• разобраться в видах QA;
• получить информацию о «подводных» камнях каждого из направлений;
• узнать о специфике работы тестеровщика;
• перенять опыт тестировщиков с многолетним стажем;
• узнать о нововведениях в мире QA;
• выбрать свой путь развития в тестировании.
Спикерами выступили:
Александр Майданюк – QA Lead, Manager, QA Consultant и Trainer. Занимает позицию Head
of Quality Assurance Solution в Ciklum. Эксперт и судья QA секции чемпионатов UA Web
Challenge. Соучредитель Киевского Клуба тестировщика QA Club.
Николай Ковш – QA Engineer в Ciklum. Является ярким примером свитчера - человека,
который сменил область деятельности. Со-организатор ивентов в QA Club - самом большом
киевском сообществе тестировщиков. Николай расскажет, почему тестировщику важно
научиться программировать.
Марина Шевченко – Mobile QA Engineer в Ciklum. QA з досвідом тестування веб, дестопних
та мобільних додатків. Співорганізатор заходів в QA Club – найбільшій київській спільності
тестувальників.
Руководство по формату событий для разработчиков программного обеспечения в целях полноценного логирования и интеграции с любыми системами SIEM (Security information and event management) и LM (log management).
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Sergey Xek
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного server-side API десктопного приложения. Сергей Аверин, Badoo.
Доклад рассказывает о реально примененных способах оптимизации производительности API компании Badoo для собственных десктоп-приложений: как специфика «много постоянных соединений/однотипные запросы/большая нагрузка» повлияла на стратегию оптимизации производительности.
Что было сделано:
• Планирование архитектуры изначально (fault-tolerance, адаптивные апдейты и тайм-ауты, отказ от попыток восстановления после ошибок для единичных команд).
• Переехали с redis на handlersocket.
• Rate-limiting запросов к демонам.
• Синхронизация записей.
• Асинхронность.
• Записи при достижении порога изменения параметров.
• Профилирование кода, анализ потребления CPU, времени ответа.
• Статистика, статистика и еще раз статистика.
• Pconnect.
Доклад будет интересен:
• системным архитекторам,
• server-side разработчикам.
Similar to 23may 1300 valday антон сапожников 'еще один недостаток современных клиент серверных приложений' (20)
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
1. Основные понятия и определения: продукт, пакет, связи между ними.
2. Как узнать, какие изменения произошли в продукте?
3. Проблемы changelog и release note.
4. Решение: инструмент ChangelogBuilder для автоматической подготовки Release Notes
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
1. Обзор Windows Docker (кратко)
2. Как мы построили систему билда приложений в Docker (Visual Studio\Mongo\Posgresql\etc)
3. Примеры Dockerfile (выложенные на github)
4. Отличия процессов DockerWindows от DockerLinux (Долгий билд, баги, remote-регистр.)
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
1. Что такое BI. Зачем он нужен.
2. Что такое Qlik View / Sense
3. Способ интеграции. Как это работает.
4. Метрики, KPI, планирование ресурсов команд, ретроспектива релиза продукта, тренды.
5. Подключение внешних источников данных (Excel, БД СКУД, переговорные комнаты).
Approof — статический анализатор кода для проверки веб-приложений на наличие уязвимых компонентов. В своей работе анализатор основывается на правилах, хранящих сигнатуры искомых компонентов. В докладе рассматривается базовая структура правила для Approof и процесс автоматизации его создания.
Задумывались ли вы когда-нибудь о том, как устроены современные механизмы защиты приложений? Какая теория стоит за реализацией WAF и SAST? Каковы пределы их возможностей? Насколько их можно подвинуть за счет более широкого взгляда на проблематику безопасности приложений?
На мастер-классе будут рассмотрены основные методы и алгоритмы двух основополагающих технологий защиты приложений — межсетевого экранирования уровня приложения и статического анализа кода. На примерах конкретных инструментов с открытым исходным кодом, разработанных специально для этого мастер-класса, будут рассмотрены проблемы, возникающие на пути у разработчиков средств защиты приложений, и возможные пути их решения, а также даны ответы на все упомянутые вопросы.
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
Разработка наукоемкого программного обеспечения отличается тем, что нет ни четкой постановки задачи, ни понимания, что получится в результате. Однако даже этом надо программировать то, что надо, и как надо. Докладчик расскажет о том, как ее команда успешно разработала и вывела в промышленную эксплуатацию несколько наукоемких продуктов, пройдя непростой путь от эксперимента, результатом которого был прототип, до промышленных версий, которые успешно продаются как на российском, так и на зарубежном рынках. Этот путь был насыщен сложностями и качественными управленческими решениями, которыми поделится докладчик
Уязвимое Android-приложение: N проверенных способов наступить на граблиPositive Hack Days
Немногие разработчики закладывают безопасность в архитектуру приложения на этапе проектирования. Часто для этого нет ни денег, ни времени. Еще меньше — понимания моделей нарушителя и моделей угроз. Защита приложения выходит на передний план, когда уязвимости начинают стоить денег. К этому времени приложение уже работает и внесение существенных изменений в код становится нелегкой задачей.
К счастью, разработчики тоже люди, и в коде разных приложений можно встретить однотипные недостатки. В докладе речь пойдет об опасных ошибках, которые чаще всего допускают разработчики Android-приложений. Затрагиваются особенности ОС Android, приводятся примеры реальных приложений и уязвимостей в них, описываются способы устранения.
Разработка любого софта так или иначе базируется на требованиях. Полный перечень составляют бизнес-цели приложения, различные ограничения и ожидания по качеству (их еще называют NFR). Требования к безопасности ПО относятся к последнему пункту. В ходе доклада будут рассматриваться появление этих требований, управление ими и выбор наиболее важных.
Отдельно будут освещены принципы построения архитектуры приложения, при наличии таких требований и без, и продемонстрировано, как современные (и хорошо известные) подходы к проектированию приложения помогают лучше строить архитектуру приложения для минимизации ландшафта угроз.
Доклад посвящен разработке корректного программного обеспечения с применением одного из видов статического анализа кода. Будут освещены вопросы применения подобных методов, их слабые стороны и ограничения, а также рассмотрены результаты, которые они могут дать. На конкретных примерах будет продемонстрировано, как выглядят разработка спецификаций для кода на языке Си и доказательство соответствия кода спецификациям.
The document discusses preventing attacks in ASP.NET Core. It provides an overview of topics like preventing open redirect attacks, cross-site request forgery (CSRF), cross-site scripting (XSS) attacks, using and architecture of cookies, data protection, session management, and content security policy (CSP). The speaker is an independent developer and consultant who will discuss built-in mechanisms in ASP.NET Core for addressing these security issues.
2. • Антон Сапожников
• Занимаюсь тестированиями на
проникновение больше 6 лет
• CTF player MoreSmokedLeetChicken
– DEFCON, CODEGATE, HITB,…
• KPMG
3. О чем?
• Рассмотрю типовую задачу, возникающую
на пентестах
• Обсудим возможные варианты её решения
• Поделюсь своими tips & tricks
4. Постановка задачи
• Корпоративная среда
• Получен удаленный доступ к рабочей
станции пользователя
• Пользователь работает с толстым клиентом
СУБД/АБС/….
• Как получить доступ к данным в СУБД?
7. Простые решения.2
• Не увидел ничего на экране пользователя?
Используй клавиатурный шпион!1
+ metasploit->meterpreter->keylogrecorder
– глюкавый
– нужно ждать…. иногда очень долго
+ можно «убить» приложение
• Поискать в файлах пользователя:
– C:usersuser1Desctoppass.xls
– C:Program FilesMy ProgramData*.*
8. Не очень простые решения
снять дамп памяти приложения
• meterpreter->memdump
• meterpreter->memory_grep
Pros:
В памяти можно найти:
– паролиимена пользователей
– конфигурации
– куски данных
Cons:
– большие объем данных для анализа
– только текущие данные пользователя
– непонятно что и где искать?
9. Не очень простые решения.2
Перехват сетевого трафика
• windump*sniff
Pros:
В трафике можно найти:
– паролиимена пользователей
– данные запрашиваемые пользователем
Cons:
– большие объем данных для анализа
– только текущие данные пользователя
– непонятно что и где искать?
– данные могут быть зашифрованы
10. А что если?
• Паролиключи в памяти не хранятся
• Паролейключей в конфигурационных
файлах нет
• Сетевой трафик шифруется
• К серверу доступ разрешен только с
некоторых ip адресов, и нашего в этом
списке нет
• Реализована двухфакторная
аутентификация
11. Что делать?
• Хучить (hook) функции работы с сервером в
клиентском приложении
<…>
h = connect(database,username,pass,…);
r = query(h, ‘select PAN, HNAME from CARDS’);
<…>
12.
13. Как делать?
• Перехват функций работы с сокетами
+ универсальный вариант
– нужно реализовывать протокол
– данные могут быть зашифрованы
• Перехват функций уровня прикладного
протокола или API.
– реализация сильно зависит от приложения
+ удобная работа с сервером
14. Как делать?.2
Pros:
– Обход ограничений по ip адресам
– Работает в рамках пользовательской сессии, т.е. на
сервере в логах будет только одно соединение
– Обход аутентификации пользователя на сервере
– Обход двухфакторной аутентификации при
установке соединения с сервером
– Незаметно для пользователя атакуемого
приложения
– Возможность напрямую работать с сервером
приложения
16. Например для Oracle
Работа с СУБД Oracle реализованная через OCI.DLL
OCIEnvCreate -> envhp
3xOCIHandleAlloc ->
OCI_HTYPE_ERROR, OCI_HTYPE_SERVER, OCI_HTYPE_SVCCTX,
OCIServerAttach -> srvhp
OCIAttrSet -> OCI_HTYPE_SVCCTX
OCIHandleAlloc -> OCI_HTYPE_SESSION
2xOCIAttrSet -> usernamepass
OCISessionBegin -> svchp
OCIAttrSet -> OCI_HTYPE_SVCCTX
OCIHandleAlloc -> OCI_HTYPE_STMT
OCIStmtPrepare -> stmt
OCIStmtExecute
17. Например для Oracle.2
– OCIHandleAlloc, дает доступ к envhp
– OCIStmtExecute, дает доступ svchp
– Достаточно корректно перехватить всего два
вызова.
18. Как перехватить?
– EasyHooking
– DETOURS
– DLL Injection
• http://syprog.blogspot.ru/2012/05/createremotethrea
d-bypass-windows.html
• Начало нужной функции патчим переходом на наш
обработчик
– Your way