Юрий Крутилин. Инструментарий для реверс-инжиниринга Android-приложений Mail.ru Group
Юрий Крутилин, разработчик в DevExpress
«Инструментарий для реверс-инжиниринга Android-приложений. Немного о DEX (Dalvik Executable) формате».
Спикер рассказывает о существующем наборе инструментов для анализа и разбора Android-приложений, коснется структуры формата DEX (Dalvik Executable) и инструментов для работы с ним. Также рассмотрены случаи практического применения.
Юрий Крутилин. Инструментарий для реверс-инжиниринга Android-приложений Mail.ru Group
Юрий Крутилин, разработчик в DevExpress
«Инструментарий для реверс-инжиниринга Android-приложений. Немного о DEX (Dalvik Executable) формате».
Спикер рассказывает о существующем наборе инструментов для анализа и разбора Android-приложений, коснется структуры формата DEX (Dalvik Executable) и инструментов для работы с ним. Также рассмотрены случаи практического применения.
Самый простой и распространенный способ сборки приложения - это сборка с помощью файла pom.xml. т.е. с помощью Maven.
Мавен - это инструмент для сборки Java проекта: компиляции, создания jar, создания дистрибутива программы, генерации документации.
Сборка проекта происходит в любой операционной системе. Файл проекта один и тот же.
Редко какие проекты пишутся без использования сторонних библиотек(зависимостей). Эти сторонние библиотеки зачастую тоже в свою очередь используют библиотеки разных версий. Мавен позволяет управлять такими сложными зависимостями. Что позволяет разрешать конфликты версий и в случае необходимости легко переходить на новые версии библиотек.
This is a war-story about deploying and managing Jenkins instances in the cloud in our company. For this purpose, we use Mesos and Docker plugins. In the talk I focus on our requirements to Jenkins in the Cloud, prerequisites and the preparation process. The presentation also covers the current state of the deployment and the lessons learnt.
We are hiring! Msk and Spb: https://goo.gl/HjfOz5
- зачем нужен reverse engineering;
- как исследовать и модифицировать приложение без исходного кода;
- какие инструменты для этого существуют;
- что такое smali и зачем он нужен.
Безопасность сайта: мифы и реальность — Петр ВолковYandex
В поисковой выдаче Яндекса иногда можно встретить предупреждения о том, что сайт может быть небезопасен для компьютера или мобильного устройства пользователя. О том, что это значит, где найти вредоносный код и как его удалить, вы услышите из первых уст — от вирусного аналитика Яндекса.
Семинар по Node.js в КПИ 20 октября 2014. Докладчики: Тимур Шемсединов, Никита Савченко, Максим Петренко. Краткое содержание:
* Что такое Node.js и как работает JavaScript в V8
* Профессионалы расскажут, почему они выбрали Node.js
* Вы узнаете его сильные и слабые стороны и где его лучше применять
* Будет полный обзор особеностей и внутреннего строения Node.js
* Примеры внедрения и Highload-проекты
* Вопросы развертывания, хостинг, тестирования, и отладки
* Где и что учить, что читать, как осваивать
Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»Yandex
Научно-технический семинар «Android и iOS: безопасность мобильных приложений» в московском офисе Яндекса, 7 марта 2013 г.
Юрий Леонычев, администратор ИБ, Яндекс.
Инструмент 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-регистр.)
Самый простой и распространенный способ сборки приложения - это сборка с помощью файла pom.xml. т.е. с помощью Maven.
Мавен - это инструмент для сборки Java проекта: компиляции, создания jar, создания дистрибутива программы, генерации документации.
Сборка проекта происходит в любой операционной системе. Файл проекта один и тот же.
Редко какие проекты пишутся без использования сторонних библиотек(зависимостей). Эти сторонние библиотеки зачастую тоже в свою очередь используют библиотеки разных версий. Мавен позволяет управлять такими сложными зависимостями. Что позволяет разрешать конфликты версий и в случае необходимости легко переходить на новые версии библиотек.
This is a war-story about deploying and managing Jenkins instances in the cloud in our company. For this purpose, we use Mesos and Docker plugins. In the talk I focus on our requirements to Jenkins in the Cloud, prerequisites and the preparation process. The presentation also covers the current state of the deployment and the lessons learnt.
We are hiring! Msk and Spb: https://goo.gl/HjfOz5
- зачем нужен reverse engineering;
- как исследовать и модифицировать приложение без исходного кода;
- какие инструменты для этого существуют;
- что такое smali и зачем он нужен.
Безопасность сайта: мифы и реальность — Петр ВолковYandex
В поисковой выдаче Яндекса иногда можно встретить предупреждения о том, что сайт может быть небезопасен для компьютера или мобильного устройства пользователя. О том, что это значит, где найти вредоносный код и как его удалить, вы услышите из первых уст — от вирусного аналитика Яндекса.
Семинар по Node.js в КПИ 20 октября 2014. Докладчики: Тимур Шемсединов, Никита Савченко, Максим Петренко. Краткое содержание:
* Что такое Node.js и как работает JavaScript в V8
* Профессионалы расскажут, почему они выбрали Node.js
* Вы узнаете его сильные и слабые стороны и где его лучше применять
* Будет полный обзор особеностей и внутреннего строения Node.js
* Примеры внедрения и Highload-проекты
* Вопросы развертывания, хостинг, тестирования, и отладки
* Где и что учить, что читать, как осваивать
Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»Yandex
Научно-технический семинар «Android и iOS: безопасность мобильных приложений» в московском офисе Яндекса, 7 марта 2013 г.
Юрий Леонычев, администратор ИБ, Яндекс.
Инструмент 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). Требования к безопасности ПО относятся к последнему пункту. В ходе доклада будут рассматриваться появление этих требований, управление ими и выбор наиболее важных.
Отдельно будут освещены принципы построения архитектуры приложения, при наличии таких требований и без, и продемонстрировано, как современные (и хорошо известные) подходы к проектированию приложения помогают лучше строить архитектуру приложения для минимизации ландшафта угроз.
Доклад посвящен разработке корректного программного обеспечения с применением одного из видов статического анализа кода. Будут освещены вопросы применения подобных методов, их слабые стороны и ограничения, а также рассмотрены результаты, которые они могут дать. На конкретных примерах будет продемонстрировано, как выглядят разработка спецификаций для кода на языке Си и доказательство соответствия кода спецификациям.
2. Структура файлов формата .apk
• Директория META-INF:
– MANIFEST.MF
– CERT.RSA
– CERT.SF
• Директория res
• Директория assets
• AndroidManifest.xml
• classes.dex
• resources.arsc
Esage Lab @dukebarman
3. Цели malware-программ
• GPS
• Доступ к веб-сайтам
• Работа с SMS
• Детализация звонков
• И т.д.
Esage Lab @dukebarman
4. Отличия от linux-программ
• Content Providers — обмен данными между
приложениями;
• Resource Manager — доступ к таким ресурсам,
как файлы xml, png;
• Notification Manager — доступ к строке
состояния;
• Activity Manager — управление активными
приложениями.
Esage Lab @dukebarman
15. Требуемые права для установки
• android.permission.READ_PHONE_STATE
• android.permission.ACCESS_NETWORK_STATE
• android.permission.SEND_SMS
• android.permission.RECEIVE_SMS
• android.permission.INTERNET
• android.permission.WRITE_EXTERNAL_STORAGE
• android.permission.INSTALL_PACKAGES
• android.permission.DELETE_PACKAGES
• android.permission.READ_CONTACTS
• android.permission.RECEIVE_BOOT_COMPLETED
Esage Lab @dukebarman
16. Полезные ссылки
• Первый анализ в сети «Android Malware
Pairs Man-in-the-Middle With Remote-
Controlled Banking Trojan»
• Экземпляр трояна
• Отчет из автоматической песочницы
(Mobile SandBox)
Esage Lab @dukebarman