ݺߣ

ݺߣShare a Scribd company logo
Я тебя по API вычислю
Используем API социальных сервисов
для конкурентной разведки.
#securitymeetup #mailru
Что же такое API?
1
• API - Application Programming Interface
• API - это интерфейс, предоставляемый приложением,
который позволяет использовать функционал этого
приложения в своих проектах, не вдаваясь в принципы его
работы.
• API является единственным способом взаимодействия с
blackbox приложениями.
• Большинство современных социальных сервисов обладают
собственным API.
У mail.ru тоже есть свой API :)
2
Схема работы с API
3
Схема работы с API (напрямую)
4
API и Конкурентная Разведка
• Конкурентная разведка – сбор различной информации на человека
или организацию.
• Конкурентные разведчики постоянно обращаются к социальным
сервисам, как к основным источникам информации.
• Информации там очень много, поэтому зачастую приходится
автоматизировать процесс.
• Парсер (Граббер) – скрипт или программа, предназначенная для
автоматизированного сбора информации с сайтов.
• Варианты реализации парсера:
1. Через API.
2. Через эмуляторы браузера.
5
API или Эмулятор - что выбрать?
• API удобен в использовании, подробно документирован, но очень
часто имеет крайне урезанный функционал.
• Эмуляторы умеют ровно столько, сколько умеют обычные
пользователи сервиса.
• Очень часто, то, что можно вытащить через эмуляторы, нельзя
вытащить через API.
• Бывают частные случаи, когда API предоставляет возможности,
недоступные для пользовательского интерфейса сервиса.
Вывод: Если функционала API хватает, то безусловно нужно
использовать API.
6
Немного о геотегах
7
• GeoTagging – процесс добавления географической информации к
всевозможным мультимедийным файлам.
• Почти все современные мобильные устройства поддерживают
добавления геотегов к фотографиям в момент съемки.
• Многие социальные сервисы обрабатывают геотеги при заливке
фотографии.
Пример обработки фотографии с геотегами контактом:
Пример геотегов в JPEG картинке
8
Зачем геотеги обычным пользователям?
• Похвастаться перед друзьями своими фотографиями с пруфами в
виде координат.
• Удобно для профессиональных фотографов.
• Часто используется для сортировки фотографий в альбомах по
месту, где они сделаны.
• Можно лишний раз спалить своё местоположение там, где не
надо.
9
Пример GEO-фейла
10
А вы помните историю этой картинки? :)
Пример GEO-фейла
11
API + GEO = Деанонимизация
• Некоторые социальные сервисы позволяют искать фотографии по
координатам.
• К таким сервисам относятся: instagram, vkontakte, twitter.
• API обладает более широкими возможностями в плане поиска
фотографий, чем интерфейс пользователя.
• Для каждой координаты выдаётся очень много фотографий,
поэтому собирать их руками нецелесообразно.
12
Основная структура парсера
• Идея написать подобный парсер появилась после финала Positive
Hack Days 2014.
• В дальнейшем предполагалось использовать его, в основном, для
blackbox пентестов.
• В качестве языка программирования был выбран Python.
• Использовался API.
• Работа велась напрямую с API серверами.
13
Запрос к 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).
Ответ API сервера «Вконтакте»
15
Ответ сервера в читабельном виде
16
* Красным подчеркнуты поля, которые будут интересовать нас в дальнейшем
Проблемы в процессе реализации
Проблема:
• Как сохранить фотки на диске, и не переполнить хард?
Решение:
• На помощь приходит HTML.
Проблема:
• API сервер выдаёт ограниченное количество фоток для
промежутка времени.
Решение:
• Придётся делить отрезок времени на временные интервалы и
парсить их.
17
Блок-схема работы парсера
18
Запуск парсера
19
Пример работы парсера (Mail.ru)
20
Следующая цель: Лубянка
21
Следующая цель: ГосДума
22
Обращайте внимание на мелочи
23
Пример деанона :)
24
Выводы
• API - это просто. Как правило, библиотеки для работы с API
хорошо документированы и разобраться в них не составляет
особого труда.
• API – это очень мощное оружие для конкурентной разведки.
• Внимательно следите за тем, что вы выкладываете в сеть. Это
может быть использовано не в ваших интересах :)
• Даже документированные возможности API могут быть
использованы крайне нестандартно, не говоря уже о
недокументированных возможностях.
25
Спасибо за внимание
• twitter.com/BetepO_ok
• bitbucket.org/BetepokNoname/photobygeo/
26

More Related Content

Similar to Аркадий Литвиненко, Security Meetup 9 апреля, Mail.Ru Group (20)

Opendataschool datavis
Opendataschool datavisOpendataschool datavis
Opendataschool datavis
Ivan Begtin
Droidcon Moscow 2015. Google App Indexing. Тимур Ахметгареев - App in the air
Droidcon Moscow 2015. Google App Indexing. Тимур Ахметгареев - App in the airDroidcon Moscow 2015. Google App Indexing. Тимур Ахметгареев - App in the air
Droidcon Moscow 2015. Google App Indexing. Тимур Ахметгареев - App in the air
Mail.ru Group
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The Scenes
SQALab
Александр Алиев "Что такое Яндекс.API"
Александр Алиев "Что такое Яндекс.API"Александр Алиев "Что такое Яндекс.API"
Александр Алиев "Что такое Яндекс.API"
Yandex
Introduction to Mobile applications testing
Introduction to Mobile applications testingIntroduction to Mobile applications testing
Introduction to Mobile applications testing
Oleg Nikiforov
Azure Mobile Backend
Azure Mobile BackendAzure Mobile Backend
Azure Mobile Backend
Vitaly Baum
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidUnity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
DevGAMM Conference
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON
DEV Labs 2016. Микросервисы - первая кровь
DEV Labs 2016. Микросервисы - первая кровьDEV Labs 2016. Микросервисы - первая кровь
DEV Labs 2016. Микросервисы - первая кровь
Sasha Soleev
Cocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений СафроновCocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений Сафронов
Yandex
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений
guest800050
Где водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочкиГде водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочки
Oxagile
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft
Лекция Android
Лекция AndroidЛекция Android
Лекция Android
Pavel Tsukanov
Разработка приложения Wi-fi Space (Android)
Разработка приложения Wi-fi Space (Android)Разработка приложения Wi-fi Space (Android)
Разработка приложения Wi-fi Space (Android)
WOX APP
Приложение Wi-fi Space Android
Приложение Wi-fi Space AndroidПриложение Wi-fi Space Android
Приложение Wi-fi Space Android
DIGITAL YAPONOCHKA.COM
Opendataschool datavis
Opendataschool datavisOpendataschool datavis
Opendataschool datavis
Ivan Begtin
Droidcon Moscow 2015. Google App Indexing. Тимур Ахметгареев - App in the air
Droidcon Moscow 2015. Google App Indexing. Тимур Ахметгареев - App in the airDroidcon Moscow 2015. Google App Indexing. Тимур Ахметгареев - App in the air
Droidcon Moscow 2015. Google App Indexing. Тимур Ахметгареев - App in the air
Mail.ru Group
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The Scenes
SQALab
Александр Алиев "Что такое Яндекс.API"
Александр Алиев "Что такое Яндекс.API"Александр Алиев "Что такое Яндекс.API"
Александр Алиев "Что такое Яндекс.API"
Yandex
Introduction to Mobile applications testing
Introduction to Mobile applications testingIntroduction to Mobile applications testing
Introduction to Mobile applications testing
Oleg Nikiforov
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidUnity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
DevGAMM Conference
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON
DEV Labs 2016. Микросервисы - первая кровь
DEV Labs 2016. Микросервисы - первая кровьDEV Labs 2016. Микросервисы - первая кровь
DEV Labs 2016. Микросервисы - первая кровь
Sasha Soleev
Cocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений СафроновCocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений Сафронов
Yandex
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений
guest800050
Где водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочкиГде водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочки
Oxagile
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft
Разработка приложения Wi-fi Space (Android)
Разработка приложения Wi-fi Space (Android)Разработка приложения Wi-fi Space (Android)
Разработка приложения Wi-fi Space (Android)
WOX APP

More from Mail.ru Group (20)

Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Mail.ru Group
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
Mail.ru Group
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинДругая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Mail.ru Group
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Mail.ru Group
Управление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовУправление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон Викторов
Mail.ru Group
DAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга СвиридоваDAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга Свиридова
Mail.ru Group
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Mail.ru Group
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
Mail.ru Group
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidiaRAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
Mail.ru Group
WebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоWebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий Остапенко
Mail.ru Group
AMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковAMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей Пешков
Mail.ru Group
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила СтрелковКак мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Mail.ru Group
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Mail.ru Group
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиМетапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru GroupКак не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Mail.ru Group
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Mail.ru Group
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Mail.ru Group
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Mail.ru Group
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Mail.ru Group
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Mail.ru Group
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Mail.ru Group
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
Mail.ru Group
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинДругая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Mail.ru Group
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Mail.ru Group
Управление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовУправление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон Викторов
Mail.ru Group
DAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга СвиридоваDAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга Свиридова
Mail.ru Group
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Mail.ru Group
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
Mail.ru Group
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidiaRAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
Mail.ru Group
WebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоWebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий Остапенко
Mail.ru Group
AMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковAMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей Пешков
Mail.ru Group
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила СтрелковКак мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Mail.ru Group
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Mail.ru Group
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиМетапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru GroupКак не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Mail.ru Group
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Mail.ru Group
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Mail.ru Group
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Mail.ru Group
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Mail.ru Group
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Mail.ru Group

Аркадий Литвиненко, Security Meetup 9 апреля, Mail.Ru Group

  • 1. Я тебя по API вычислю Используем API социальных сервисов для конкурентной разведки. #securitymeetup #mailru
  • 2. Что же такое API? 1 • API - Application Programming Interface • API - это интерфейс, предоставляемый приложением, который позволяет использовать функционал этого приложения в своих проектах, не вдаваясь в принципы его работы. • API является единственным способом взаимодействия с blackbox приложениями. • Большинство современных социальных сервисов обладают собственным API.
  • 3. У mail.ru тоже есть свой API :) 2
  • 5. Схема работы с API (напрямую) 4
  • 6. API и Конкурентная Разведка • Конкурентная разведка – сбор различной информации на человека или организацию. • Конкурентные разведчики постоянно обращаются к социальным сервисам, как к основным источникам информации. • Информации там очень много, поэтому зачастую приходится автоматизировать процесс. • Парсер (Граббер) – скрипт или программа, предназначенная для автоматизированного сбора информации с сайтов. • Варианты реализации парсера: 1. Через API. 2. Через эмуляторы браузера. 5
  • 7. API или Эмулятор - что выбрать? • API удобен в использовании, подробно документирован, но очень часто имеет крайне урезанный функционал. • Эмуляторы умеют ровно столько, сколько умеют обычные пользователи сервиса. • Очень часто, то, что можно вытащить через эмуляторы, нельзя вытащить через API. • Бывают частные случаи, когда API предоставляет возможности, недоступные для пользовательского интерфейса сервиса. Вывод: Если функционала API хватает, то безусловно нужно использовать API. 6
  • 8. Немного о геотегах 7 • GeoTagging – процесс добавления географической информации к всевозможным мультимедийным файлам. • Почти все современные мобильные устройства поддерживают добавления геотегов к фотографиям в момент съемки. • Многие социальные сервисы обрабатывают геотеги при заливке фотографии. Пример обработки фотографии с геотегами контактом:
  • 9. Пример геотегов в JPEG картинке 8
  • 10. Зачем геотеги обычным пользователям? • Похвастаться перед друзьями своими фотографиями с пруфами в виде координат. • Удобно для профессиональных фотографов. • Часто используется для сортировки фотографий в альбомах по месту, где они сделаны. • Можно лишний раз спалить своё местоположение там, где не надо. 9
  • 11. Пример GEO-фейла 10 А вы помните историю этой картинки? :)
  • 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).
  • 16. Ответ API сервера «Вконтакте» 15
  • 17. Ответ сервера в читабельном виде 16 * Красным подчеркнуты поля, которые будут интересовать нас в дальнейшем
  • 18. Проблемы в процессе реализации Проблема: • Как сохранить фотки на диске, и не переполнить хард? Решение: • На помощь приходит HTML. Проблема: • API сервер выдаёт ограниченное количество фоток для промежутка времени. Решение: • Придётся делить отрезок времени на временные интервалы и парсить их. 17
  • 26. Выводы • API - это просто. Как правило, библиотеки для работы с API хорошо документированы и разобраться в них не составляет особого труда. • API – это очень мощное оружие для конкурентной разведки. • Внимательно следите за тем, что вы выкладываете в сеть. Это может быть использовано не в ваших интересах :) • Даже документированные возможности API могут быть использованы крайне нестандартно, не говоря уже о недокументированных возможностях. 25
  • 27. Спасибо за внимание • twitter.com/BetepO_ok • bitbucket.org/BetepokNoname/photobygeo/ 26