Your SlideShare is downloading. ×
Александр Крижановский (NatSys Lab)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Александр Крижановский (NatSys Lab)

506
views

Published on

Published in: Internet

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
506
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Deep Packet Inspection (DPI) для online-маркетинга, RTB и рекламы Александр Крижановский
  • 2. О чем? В общем ● Что такое DPI и что оно умеет? ● Поведенческое таргетирование ● Расширение возможностей RTB-систем ● Interstitial Web-pages Технологии ● Из чего делают DPI? ● Режимы работы: sniffer, active DPI и TCP hijacking ● Сниффер из TCP сервера ● Flow control модули ядра Linux.
  • 3. Deep Packet Inspection Анализирует содержимое сетевых пакетов Собирает IP фрагменты и TCP поток Если работает «вразрез» (inline), то может модифицировать трафик Генерирует статистику и/или clickstream (flow) ...делает все это на очень высоких скоростях Может использовать специальное оборудование или работать на обычном Linux/x86-64 Используется для поведенческого таргетирования, контроля потоков трафика, фильтрации контента, предотвращения сетевых атак, DLP, SDN...
  • 4. Таргетирование Выделяет целевую аудиторию из всего трафика ● Реклама: показ объявлений по интересам ● Маркетинг: статистика по группам пользователей ● Магазин: показать товар потенциальному покупателю ● Контент провайдер: динамический контент сайта Поведенческий, гео, временной, по профилям и т.д.
  • 5. Поведенческий таргетинг
  • 6. Данные о пользователе Посещаемые ресурсы и страницы История переходов Поисковые запросы Место нахождения Время и продолжительность активности Используемые браузер, ОС, устройство Актуальность данных: если пользователь покупал месяц назад книги о еде - не значит, что он хочет их купить сейчас
  • 7. Real Time Bidding (RTB)
  • 8. RTB: персонализация SSP (Sell Side Platform): предоставляет данные о пользователе (идентификатор) DSP (Demand Side Platform): сравнивает информацию о пользователе с параметрами рекламной кампании DMP (Data Management Platform): аккумулирует в себе знания о пользователях С кликами пользователей можно передавать их профиль на последние Т минут (и они не получат рекламу книг, которые покупал месяц назад)
  • 9. Серверные логи Локальны (не везде можно собрать) Ограничены (не дают полной картины) Полный профиль можно собрать на последней миле Агрегация и обработка логов на всех серверах всех датацентров очень ресурсоемка DPI может извлечь любую информацию из всего трафика пользователей, обработать и передать в режиме реального времени
  • 10. Interstitial Web-page Показываются до или после запрашиваемой страницы Ошибки HTTP, DNS, авторизации и т.д. Вместо Internal Server Error может быть показана красивая реклама
  • 11. Приватность Данные анонимизируются (везде обезличенные ID) Big Data (grep не работает) С точки зрения пользователя аналогично обычной контекстной рекламе (рекламная сеть, почта Gmail и пр.)
  • 12. Технологии Libpcap — очень медленная из-за копирований (sk_buff в shared buffer для mmap-mapped) PF_RING, Netmap, DPDK — забирают пакеты напрямую с адаптера (сборка IP и TCP, маршрутизация и пр. - все руками) ● mTCP - User-level TCP Stack Kernel module — позволяет использовать API ядра, работает в нулевом кольце защиты (правильные spinlock'и) ● нужно патчить ядро для исключения «лишнего»
  • 13. Режимы работы Inline = Linux маршрутизатор: QoS, фильтрация и пр. - произвольная модификация трафика Sniffer (SPAN port): статистика, clickstream, TCP Hijacking (active sniffer)
  • 14. Inline
  • 15. Active Sniffer: TCP hijacking
  • 16. Sniffer из TCP сервера Дело техники: Запросы клиента отправляются как есть Ответы оригинального сервера игнорируются ACK клиента подделывается под seqno сервера Обрабатываются сессии только, для которых был TCP handshake Весь исходящий трафик сервера удаляется Принудительное удаление «подвисших» (потерянных) соединений Promiscuous интерфейс должен быть маршрутизируемым....
  • 17. ...более сложной техники VLAN тэги: ● нет общего правила для перезаписи (ebtables) ● Netfilter PREROUTE зовется после VLAN тэга ● => нужно регистрировать свой протокольный обработчи, переписывать sk_buff ● модифицировать можно только неразделяемые sk_buff, а у нас 2 протокола... Управление TCP (нужно вбрасывать пакеты в стек): ● tcp_v{4,6}_rcv() зовутся из softirq, а нам нужно «вбрасывать» пакеты при отправке => deadlock...
  • 18. Flow control Queuing Discipline (Qdisc) Interface: struct Qdisc — дескриптор дисциплины struct Qdisc_ops — набор виртуальных функций управления очередями struct Qdisc_class_ops — функции управления классами очередей Кастомный модуль flow control: QoS для IPv4/IPv6, загруженных извне (БД) или вычисленных другими подсистемами DPI QoS для подсетей и адресов и/или TCP/UDP портов (лучшее качество для VoIP, чем для torrent)
  • 19. Спасибо! ak@natsys-lab.com http://natsys-lab.com/cgi-bin/show.pl?entry=dpi