SlideShare uma empresa Scribd logo
1 de 27
Я тебя по 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

Mais conteúdo relacionado

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

Opendataschool datavis
Opendataschool datavisOpendataschool datavis
Opendataschool datavis
Ivan Begtin
 
Проект "Нихол"
Проект "Нихол"Проект "Нихол"
Проект "Нихол"
E-Journal ICT4D
 
Cocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений СафроновCocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений Сафронов
Yandex
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений
guest800050
 
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft
 

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

Opendataschool datavis
Opendataschool datavisOpendataschool datavis
Opendataschool datavis
 
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
 
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The Scenes
 
Александр Алиев "Что такое Яндекс.API"
Александр Алиев "Что такое Яндекс.API"Александр Алиев "Что такое Яндекс.API"
Александр Алиев "Что такое Яндекс.API"
 
Open Data Visualization
Open Data VisualizationOpen Data Visualization
Open Data Visualization
 
Introduction to Mobile applications testing
Introduction to Mobile applications testingIntroduction to Mobile applications testing
Introduction to Mobile applications testing
 
marsrutki
marsrutkimarsrutki
marsrutki
 
Azure Mobile Backend
Azure Mobile BackendAzure Mobile Backend
Azure Mobile Backend
 
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidUnity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
 
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
 
DEV Labs 2016. Микросервисы - первая кровь
DEV Labs 2016. Микросервисы - первая кровьDEV Labs 2016. Микросервисы - первая кровь
DEV Labs 2016. Микросервисы - первая кровь
 
Проект "Нихол"
Проект "Нихол"Проект "Нихол"
Проект "Нихол"
 
Cocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений СафроновCocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений Сафронов
 
Hivext 04.2010
Hivext 04.2010Hivext 04.2010
Hivext 04.2010
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений
 
Где водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочкиГде водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочки
 
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
 
Лекция Android
Лекция AndroidЛекция Android
Лекция Android
 
Разработка приложения Wi-fi Space (Android)
Разработка приложения Wi-fi Space (Android)Разработка приложения Wi-fi Space (Android)
Разработка приложения Wi-fi Space (Android)
 
Приложение Wi-fi Space Android
Приложение Wi-fi Space AndroidПриложение Wi-fi Space Android
Приложение Wi-fi Space Android
 

Mais de Mail.ru Group

AMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковAMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей Пешков
Mail.ru Group
 

Mais de Mail.ru Group (20)

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

Аркадий Литвиненко, 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