Аркадий Литвиненко, инженер отдела безопасности информационных систем, рассказал о поиске фотографий в социальных сетях с помощью геоинформации и разобрал частный случай использования API социальных сервисов для конкурентной разведки.
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Аркадий Литвиненко, Security Meetup 9 апреля, Mail.Ru Group
1. Я тебя по API вычислю
Используем API социальных сервисов
для конкурентной разведки.
#securitymeetup #mailru
2. Что же такое API?
1
• API - Application Programming Interface
• API - это интерфейс, предоставляемый приложением,
который позволяет использовать функционал этого
приложения в своих проектах, не вдаваясь в принципы его
работы.
• API является единственным способом взаимодействия с
blackbox приложениями.
• Большинство современных социальных сервисов обладают
собственным API.
6. API и Конкурентная Разведка
• Конкурентная разведка – сбор различной информации на человека
или организацию.
• Конкурентные разведчики постоянно обращаются к социальным
сервисам, как к основным источникам информации.
• Информации там очень много, поэтому зачастую приходится
автоматизировать процесс.
• Парсер (Граббер) – скрипт или программа, предназначенная для
автоматизированного сбора информации с сайтов.
• Варианты реализации парсера:
1. Через API.
2. Через эмуляторы браузера.
5
7. API или Эмулятор - что выбрать?
• API удобен в использовании, подробно документирован, но очень
часто имеет крайне урезанный функционал.
• Эмуляторы умеют ровно столько, сколько умеют обычные
пользователи сервиса.
• Очень часто, то, что можно вытащить через эмуляторы, нельзя
вытащить через API.
• Бывают частные случаи, когда API предоставляет возможности,
недоступные для пользовательского интерфейса сервиса.
Вывод: Если функционала API хватает, то безусловно нужно
использовать API.
6
8. Немного о геотегах
7
• GeoTagging – процесс добавления географической информации к
всевозможным мультимедийным файлам.
• Почти все современные мобильные устройства поддерживают
добавления геотегов к фотографиям в момент съемки.
• Многие социальные сервисы обрабатывают геотеги при заливке
фотографии.
Пример обработки фотографии с геотегами контактом:
10. Зачем геотеги обычным пользователям?
• Похвастаться перед друзьями своими фотографиями с пруфами в
виде координат.
• Удобно для профессиональных фотографов.
• Часто используется для сортировки фотографий в альбомах по
месту, где они сделаны.
• Можно лишний раз спалить своё местоположение там, где не
надо.
9
13. API + GEO = Деанонимизация
• Некоторые социальные сервисы позволяют искать фотографии по
координатам.
• К таким сервисам относятся: instagram, vkontakte, twitter.
• API обладает более широкими возможностями в плане поиска
фотографий, чем интерфейс пользователя.
• Для каждой координаты выдаётся очень много фотографий,
поэтому собирать их руками нецелесообразно.
12
14. Основная структура парсера
• Идея написать подобный парсер появилась после финала Positive
Hack Days 2014.
• В дальнейшем предполагалось использовать его, в основном, для
blackbox пентестов.
• В качестве языка программирования был выбран Python.
• Использовался API.
• Работа велась напрямую с API серверами.
13
15. Запрос к API на примере «Вконтакте»
14
https://api.vk.com/method/photos.search?lat=55.740701&long=37.609161
&count=100&radius=100&start_time=1400619600&end_time=1400792400
lat – Географическая широта.
long – Географическая долгота.
count – Максимальное количество результатов (максимум 100).
radius – Радиус поиска (в метрах).
start_time - Начальная граница интервала времени (в формате timestamp).
end_time – Конечная граница интервала времени (в формате timestamp).
17. Ответ сервера в читабельном виде
16
* Красным подчеркнуты поля, которые будут интересовать нас в дальнейшем
18. Проблемы в процессе реализации
Проблема:
• Как сохранить фотки на диске, и не переполнить хард?
Решение:
• На помощь приходит HTML.
Проблема:
• API сервер выдаёт ограниченное количество фоток для
промежутка времени.
Решение:
• Придётся делить отрезок времени на временные интервалы и
парсить их.
17
26. Выводы
• API - это просто. Как правило, библиотеки для работы с API
хорошо документированы и разобраться в них не составляет
особого труда.
• API – это очень мощное оружие для конкурентной разведки.
• Внимательно следите за тем, что вы выкладываете в сеть. Это
может быть использовано не в ваших интересах :)
• Даже документированные возможности API могут быть
использованы крайне нестандартно, не говоря уже о
недокументированных возможностях.
25
27. Спасибо за внимание
• twitter.com/BetepO_ok
• bitbucket.org/BetepokNoname/photobygeo/
26