3. Зачем изучать API
социальных сетей
3
Искать уязвимости
• Передача
конфиденциальных
данных в открытом
виде
• Уязвимости в протоколе
взаимодействия
• Уязвимости на
серверной стороне
Автоматизировать
действия в соцсетях
• Накручивать лайки
и подписчиков
• Массфолловинг и
масслайкинг
• Спам
8. Необходимо для защиты от повторений запросов
Используется, к примеру, в методе, который
отправляет новое сообщение
8
http://api.vk.com/method/messages.send?access
_token=token&random_id=xxxxxxxxx&sig=value
Документация: https://new.vk.com/dev/messages.send
Как защититься.
Внедрение уникального
идентификатора
13. Instagram предоставляет разработчикам приложений
публичное API
Публичное API имеет жесткие лимиты: на количество
лайков, подписок и т.д.
Официальное приложение использует приватное API.
Для доступа к приватному API необходимо подписывать
запросы ключом API. Он хранится внутри приложения.
13
Приватное и публичное
API Instagram
http://mokhdzanifaeq.github.io/extracting-instagram-signature-key/
14. Изучив API, можно
автоматизировать
действия в
приложении с
помощью бота
На серверной
стороне бот будет
неотличим от
приложения
14
Как сделать
“бота-хамелеона” для Instagram
18. Радикальные меры
Android SSL Bypass, iOS SSL KillSwitch
• Root доступ (или jailbreak)
• Модифицируют низкоуровневые SSL
функции, отключая проверку
сертификатов
• Работают не на всех
устройствах/прошивках
18
19. Изучив API, можно
автоматизировать
действия в
приложении с
помощью бота
На серверной
стороне бот будет
неотличим от
приложения
19
Как сделать
“бота-хамелеона” для Facebook
SSL Pinning
20. Выводы
Некоторые популярные приложения до сих пор
используют HTTP
Использование SSL не защищает от обнаружения
используемых методов API
Использование SSL Pinning позволяет скрыть
используемые методы API, но его можно обойти
Всегда можно написать бота, полностью
имитирующего официальное мобильное приложение
20