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

  • 452 views
Uploaded on

 

More in: Internet
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
452
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
7
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