Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Сложно ли стать “хамелеоном”
в социальных сетях?
2
Пользовательские
приложения и сайты
Общая архитектура
онлайн-сервисов
Зачем изучать API
социальных сетей
3
Искать уязвимости
• Передача
конфиденциальных
данных в открытом
виде
• Уязвимости в п...
Изучение документации
Анализ сетевого трафика
Реверс-инжиниринг мобильного
приложения
4
Способы анализа API
5
Анализ сетевого трафика
Модификация данных (запросов
клиентов и ответов серверов)
Повторение запросов
Перехват логинов/паролей или
куки
6
Имперсон...
7
http://api.vk.com/method?access_token=token&sig=value
sig = hash(method?access_token=tokensecret)
Документация: https://...
Необходимо для защиты от повторений запросов
Используется, к примеру, в методе, который
отправляет новое сообщение
8
http:...
Шифрование передаваемых данных (SSL)
9
Атаки на SSL
•CVE-2014-3566 “Poodle”
Понижение версии SSL до
уязвимой
•CVE-2015-4000 “Logjam”
•CVE-2015-0204 “Freak”
•CVE-...
Проверка сертификатов
при SSL соединении
11
Анализ трафика
приложений, использующих SSL
12
BurpSuite
Корневой
сертификат
BurpSuite
Обмен шифрованными
данными
Обмен ши...
Instagram предоставляет разработчикам приложений
публичное API
Публичное API имеет жесткие лимиты: на количество
лайков, п...
Изучив API, можно
автоматизировать
действия в
приложении с
помощью бота
На серверной
стороне бот будет
неотличим от
прилож...
Дополнительная проверка
сертификатов. SSL Pinning
15
SSL Pinning.
Общая схема обхода
Декомпиляция приложения
Поиск исходного кода,
реализующего SSL Pinning
Модификация исходно...
SSL Pinning.
Дополнительные средства защиты от
обхода
17
Обфускация кода
Реализация SSL Pinning в
низкоуровневых
библиотек...
Радикальные меры
Android SSL Bypass, iOS SSL KillSwitch
• Root доступ (или jailbreak)
• Модифицируют низкоуровневые SSL
фу...
Изучив API, можно
автоматизировать
действия в
приложении с
помощью бота
На серверной
стороне бот будет
неотличим от
прилож...
Выводы
Некоторые популярные приложения до сих пор
используют HTTP
Использование SSL не защищает от обнаружения
используемы...
СПАСИБО ЗА ВНИМАНИЕ!
Upcoming SlideShare
Loading in …5
×

NeoQUEST-2016: Сложно ли стать "хамелеоном" в социальных сетях?

Доклад "очной ставки" NeoQUEST-2016 об особенностях взаимодействия с API популярных социальных сетей ВКонтакте, Instagram, Facebook

  • Login to see the comments

  • Be the first to like this

NeoQUEST-2016: Сложно ли стать "хамелеоном" в социальных сетях?

  1. 1. Сложно ли стать “хамелеоном” в социальных сетях?
  2. 2. 2 Пользовательские приложения и сайты Общая архитектура онлайн-сервисов
  3. 3. Зачем изучать API социальных сетей 3 Искать уязвимости • Передача конфиденциальных данных в открытом виде • Уязвимости в протоколе взаимодействия • Уязвимости на серверной стороне Автоматизировать действия в соцсетях • Накручивать лайки и подписчиков • Массфолловинг и масслайкинг • Спам
  4. 4. Изучение документации Анализ сетевого трафика Реверс-инжиниринг мобильного приложения 4 Способы анализа API
  5. 5. 5 Анализ сетевого трафика
  6. 6. Модификация данных (запросов клиентов и ответов серверов) Повторение запросов Перехват логинов/паролей или куки 6 Имперсонация. Возможные атаки
  7. 7. 7 http://api.vk.com/method?access_token=token&sig=value sig = hash(method?access_token=tokensecret) Документация: https://new.vk.com/dev/api_nohttps Как защититься. Внедрение ЭЦП
  8. 8. Необходимо для защиты от повторений запросов Используется, к примеру, в методе, который отправляет новое сообщение 8 http://api.vk.com/method/messages.send?access _token=token&random_id=xxxxxxxxx&sig=value Документация: https://new.vk.com/dev/messages.send Как защититься. Внедрение уникального идентификатора
  9. 9. Шифрование передаваемых данных (SSL) 9
  10. 10. Атаки на SSL •CVE-2014-3566 “Poodle” Понижение версии SSL до уязвимой •CVE-2015-4000 “Logjam” •CVE-2015-0204 “Freak” •CVE-2015-7575 “SLOTH” Понижение используемых алгоритмов шифрования до уязвимых •Некорректная проверка CN(Common Name) •Некорректная проверка цепочки доверия сертификатов •Некорректная проверка статуса сертификата Подмена сертификатов 10
  11. 11. Проверка сертификатов при SSL соединении 11
  12. 12. Анализ трафика приложений, использующих SSL 12 BurpSuite Корневой сертификат BurpSuite Обмен шифрованными данными Обмен шифрованными данными
  13. 13. Instagram предоставляет разработчикам приложений публичное API Публичное API имеет жесткие лимиты: на количество лайков, подписок и т.д. Официальное приложение использует приватное API. Для доступа к приватному API необходимо подписывать запросы ключом API. Он хранится внутри приложения. 13 Приватное и публичное API Instagram http://mokhdzanifaeq.github.io/extracting-instagram-signature-key/
  14. 14. Изучив API, можно автоматизировать действия в приложении с помощью бота На серверной стороне бот будет неотличим от приложения 14 Как сделать “бота-хамелеона” для Instagram
  15. 15. Дополнительная проверка сертификатов. SSL Pinning 15
  16. 16. SSL Pinning. Общая схема обхода Декомпиляция приложения Поиск исходного кода, реализующего SSL Pinning Модификация исходного кода Сборка приложения 16
  17. 17. SSL Pinning. Дополнительные средства защиты от обхода 17 Обфускация кода Реализация SSL Pinning в низкоуровневых библиотеках
  18. 18. Радикальные меры Android SSL Bypass, iOS SSL KillSwitch • Root доступ (или jailbreak) • Модифицируют низкоуровневые SSL функции, отключая проверку сертификатов • Работают не на всех устройствах/прошивках 18
  19. 19. Изучив API, можно автоматизировать действия в приложении с помощью бота На серверной стороне бот будет неотличим от приложения 19 Как сделать “бота-хамелеона” для Facebook SSL Pinning
  20. 20. Выводы Некоторые популярные приложения до сих пор используют HTTP Использование SSL не защищает от обнаружения используемых методов API Использование SSL Pinning позволяет скрыть используемые методы API, но его можно обойти Всегда можно написать бота, полностью имитирующего официальное мобильное приложение 20
  21. 21. СПАСИБО ЗА ВНИМАНИЕ!

×