3 заметки с тегом

ddos

OpenStreetMap атакуют

Скриншот сделал literan 25 августа

На этой неделе карта OSM подверглась «дефейсу»: на ней рисовали гадости, как когда-то на картах Google и яндекса. Казалось бы: ну да, вандалы у нас всегда водились. У нас есть средства отката правок и кнопка жалоб в рабочую группу по данным. Но на этот раз масштаб оказался беспрецедентен: более семи тысяч аккаунтов загрузили сотни тысяч правок, заменяя названия улиц и заведений в РФ оскорблениями.

Как и рассчитывал неизвестный вандал, названия попали на карты разных популярных систем, включая википедию, телеграм, guru maps; муниципальные системы типа умных остановок, парковок и прочих табло; частные веб-сайты и osmand live. Какие-то системы из-за этого закрыли «на переучёт». Одна из русских компаний вывесила на vc рекламу в духе TomTom, что осму доверять нельзя, и она переводит свои карты на 2gis. Последние четыре дня в чатиках все узнают, как обновить тайлы в браузере (Ctrl+F5 или ⌘⇧R), потому что хотя откатывают быстро, картинки остаются в кэше.

Что делать? Пожалуй, это тот случай, когда отдельные участники бессильны и нужен системный подход. То есть, усилия программистов, DWG и OWG (админов):

  • Камиль Монич написал инструмент для поиска вандальных пакетов правок и их отката. Тот работает день и ночь, неутомим, как и инструменты, создающие вандальные правки.
  • Энди Таунсенд и другие участники DWG банят аккаунты вандалов тысячами. Моральные силы на исходе, поэтому...
  • Том Хьюз из OWG ограничил скорость регистраций с одного IP и с одной почты. Да, вы думали, что один аккаунт — одна почта, но забыли про суффиксы после плюса (ilya+osmsuffix@gmail.com) и поддомены.
  • Роман Деев в русскоязычном чатике ведёт учёт и помогает пользователям (как и многие другие участники, приходите к нам).

Мы впервые столкнулись с массированной автоматизированной продолжительной атакой, и способы защиты придумываем по ходу дела. Индивидуальные откаты, пожалуй, только усложнят работу, поэтому увидев плохое название, сначала проверьте, что его не откатили (нажав кнопку «что здесь»). Найдя там объект, откройте профиль его автора, нажмите «сообщить об этом пользователе». И ждите.

Эта ситуация хуже художественного вандализма, когда рисуют вымышленные символы или города. Хуже добросердечного вандализма переводчиков, когда люди заливают сотни тысяч локализованных названий (недавно участились правки тегов name:ru и name:uk). Но вандализм неизбежен. Если вы используете OpenStreetMap в качестве подложки, рано или поздно вы обнаружите, что это открытый проект, отредактировать который может каждый. Нельзя иметь только плюсы без минусов. Без третьего измерения OSM хуже альтернатив, а с ним — сложнее.

Но модераторы в OpenStreetMap есть, и благодаря их работе вы замечаете вандализм только в закэшированных картинках, как свет давно умершей звезды в ночном небе. Сотни картографов на зарплате просматривают правки в компаниях типа Meta, Grab, Mapbox, TomTom. Единичные случаи откатывают энтузиасты на местах. И нельзя не упомянуть ежемесячные курированные слепки Daylight Map Distribution от фейсбука, которые, скорее всего, скоро станут частью Overture Maps.

 7 комментариев   8 мес   ddos

Maxar уходил, но вернулся, как обещал

Хорошая новость: спутниковые слои Maxar снова доступны! Мы прожили без них два месяца, не смогли подобрать URL тайлов взамен отключенных, но в опубликованном вчера обновлении редактора iD слои вернулись. К сожалению, JOSM и другие редакторы пока официально не поддерживаются, но расшифрованная ссылка уже проникла в список подложек JOSM.

Если вы не следили за новостями, Maxar — это новое название DigitalGlobe и новый набор слоёв, который прошлым летом окончательно заменил старые слои DG. Снимки DigitalGlobe нам выдали отчасти благодаря фейсбуку в 2017 году. Они всем нравились, потому что часто были самыми свежими. Снимки Maxar немного другие, что огорчило картографов в некоторых странах, но всё равно лучше прочих. Поэтому когда Кевин Баллок неожиданно объявил об их отключении, люди выражали своё расстройство целый месяц в полусотне комментариев.

Слои убрали не из-за осмеров. Ссылки на них были открыты, что было удобно и для добавления их в общий реестр подложек, и для изучения на сторонних веб-сайтах. Подключить снимки Maxar в свою веб-карту было не сильно сложнее, чем тайлы OpenStreetMap. Как и в «SAS.Планету», чтобы выкачать тайлы для любого региона в любых масштабах. Последнее и сломало Maxar: неизвестные люди или организации начали качать слишком много тайлов и слишком часто, что перегрузило серверы и, вероятно, стало слишком затратно для компании.

***

«Данные — новая нефть», и геоданные в особенности. Сотни тысяч компаний зарабатывают деньги исключительно обработкой данных, услугами на их основе. Вы знаете примеры. Но в отличие от нефти, которую нужно покупать у добывающих компаний, все привыкли к открытым данным, которые достаются бесплатно и почти без условий. «Информация должна быть бесплатной», популярно было говорить десять лет назад. Я в докладах порицал компании, торгующие картами, и призывал открывать геоданные и зарабатывать не на ресурсах, а на услугах. Потому что оплачивать нужно работу, а не доступ к вентилю.

Amazon как нельзя нагляднее показал, почему этот принцип не работает в мире Open Source. Люди пишут серверы и базы данных, публикуют код под открытой лицензией в соответствии со своими принципами и предлагают платные услуги по настройке и поддержке. И тут приходит Amazon, берёт бесплатное и предлагает те же услуги, но в единой инфраструктуре и дешевле, за счёт масштаба. Авторы в шоке от уходящих в амазон клиентов и начинают сомневаться, что сделали правильный выбор в пользу открытых исходников.

Мы это прочувствовали на себе в 2016 году, когда любители Pokemon Go сделали несколько сайтов, где можно было найти ближайших редких покемонов на карте. Тайлами для этих карт они выбрали бесплатные и открытые тайлы OpenStreetMap. От миллионов игроков наши серверы немного слегли и пришлось ввести драконовские ограничения на загрузку тайлов, от которых мы страдаем до сих пор. В прошлом же месяце нам удивили сотни людей, одновременно скачивающих файл планеты OSM. «Зачем вообще качать планету больше одного раза», — начали огрызаться участники.

Оказалось, что предоставление бесплатных ресурсов — это неблагодарная работа, требующая времени и денег, иногда слишком большого количества денег. Не говоря о получении этих данных — картографии или выведении спутников на орбиту и обработке снимков с них. Мы привыкли отдавать, а бизнес привык получать бесплатно. «Где получить снимки Земли в качестве не хуже Google Maps для коммерческой деятельности, желательно бесплатные?» — спросили в чатике недавно. Смешно звучит, но ведь «информация должна быть свободной», что тут такого? Очередной виток трагедии общин, разворачивающийся уже второй год, грозит сломать нам open source, сломать публикацию данных и усложнить жизнь картографам в OpenStreetMap.

Попытка Maxar закрыть тайловый слой для всех, кроме осмеров, первая в истории. Вместо записи в реестре подложек, его добавили напрямую в редактор iD с помощью Брайана и Квинси.. Ссылка защищена шифрованием AES: вместо домена и пути — набор цифр. Так просто адреса тайлов не вытащишь — нужно собирать по исходникам ключи, проверять алгоритм, писать код. Или... открыть инспектор сети в браузере и увидеть там готовые ссылки с ключами. Что и сделал вчера некто Sosha, чтобы обновить ссылки в JOSM. Ничто не помешает нажать те же кнопки сотрудникам компаний, которые хотят бесплатных снимков, и всё начнётся по-новой.

Атака покемонов

В июле прошлого года Niantic сделали игру Pokémon Go, которая немедленно стала самой популярной в мире. Сто миллионов игроков искали покемонов в парках и у ручьёв. «Давайте придумаем, как отхватить хотя бы процент этой аудитории», — носились маркетологи вокруг maps.me. «Давайте придумаем, как этих игроков заманить в OpenStreetMap», — обсуждали в нашей рассылке talk@. Мапперы искали признаки OSM в картооснове Pokémon Go, но игра упорно отказывалась демонстрировать точность и детальность наших карт. Кажется, в ней использовали те же данные, что в старой Ingress той же компании.

Впрочем, недавно на сайте Reddit обнаружили, что в списке источников в приложении появилось слово OpenStreetMap: оттуда компания взяла данные для Южной Кореи. Выбор понятен, если вспомнить, что в ноябре власти Южной Кореи отказались предоставить Google картографические данные (гугль сейчас там показывает старые растровые данные 2012 года от SK telecom).

Благодаря заметке, долгожданная популярность пришла в OSM: Южная Корея вышла в рейтинге активности стран на второе место (после США или Германии) с 600 редакторами в день. Неплохая прибавка к обычным пятнадцати на страну. Новички наносят на карту десятки тысяч объектов, и их качество, по оценке Мартина Райфера, неплохое.

С окончанием лета многие ушли из игры, и сейчас в неё играют самые упёртые, «хардкорные» игроки. Проблема в том, что их немало: только в Южной Корее четыре миллиона человек открывают приложение каждый день. Такие игроки, скорее всего, собрали основных покемонов и ищут способы быстрее найти редких. Они отслеживали их по карте и высматривали паттерны. Всё изменилось 31 августа: на Reddit опубликовали презентацию, сопоставляющую места появления покемонов с данными OpenStreetMap. Другие игроки проверили эту теорию и подтвердили: многие объекты, которых нет на Google Maps, притягивали покемонов.

Теперь у игроков в Pokémon Go был способ вычислить места с повышенной вероятностью найти редких покемонов. В последующие месяцы они его уточняли: например, определили релевантные теги (тропинки highway=footway или path внутри парков leisure=park/playground, landuse=grass и т. п.) и проверили, что покемоны появляются вдоль линий тропинок. Сайты показывали покемонов поверх OpenStreetMap, а покемоноводы передавали друг другу тексты запросов в Overpass API для поиска интересных мест.

22 декабря автор ютуб-канала Trainer Tips проверил, появятся ли покемоны на дорожке в парке, которую он нарисует в прямом эфире. Видео снято отлично, к слову. Всё важное происходит примерно с третьей минуты. К сожалению для нас, когда он приехал в пресловутый парк, его ждали сразу пять покемонов. Игроки быстро сообразили, что делать. Осмеры начали ругаться, затем вспомнили, что у нас дружелюбное сообщество, и под Новый год написали приветствие новичкам. Неизвестно, прочитал ли его кто, но змейки из тропинок пропали.

Ненадолго: 24 января участник Reddit похвастался, что он нарисовал в своём городе два парка и две поляны, после чего там появились гнёзда покемонов. В комментариях другие удачливые игроки поделились историями успеха: один парк нарисовал, другой — школу, и все радовались новым гнёздам. На следующий день весть подхватил сайт молодёжных новостей Mic.com, и в редактор iD побежала толпа игроков: Паскаль заметил, что его сайт статистики впервые зарегистрировал шесть тысяч активных картографов за сутки. То есть, около двух тысяч покемоноводов.

С этого дня новости про вандалов в OpenStreetMap стали включать слово «покемоны». Тропинки странной формы начали появляться не только в Корее, но и в Штатах, Индии, Бразилии, Южной Африке. Везде. Даже в Москве и в Ханты-Мансийске. Помня о вежливости, некоторые осмеры приветствуют новичков, но вычищая сотни километров ложных highway=footway, сложно сохранять лицо. BushmanK просто поругался (почему-то на участника DWG), а Майкл Райхерт написал инструкцию по поиску и уничтожению покемоноданных и покемонокартографов (на немецком языке, автоперевод). В Германии, говорят, две трети новых пользователей рисуют чушь для Pokémon Go. Даже сайт Mic.com через два дня попросил не портить карту — тщетно.

«Как долго ждать обновления данных в приложении» — спрашивают на Reddit. По ответам выходит, что от рисования парка до появления в нём гнезда проходит от месяца до четырёх. В других темах и в волшебном видео выше сроки совсем фантастические: от недели до одного дня. Позавчера WoodWoseWulf с Reddit закончил анализ связи гнёзд и дорог в OSM. В конце он пишет:

Те, кто зарегистрирован в OSM, могут поддаться желанию увеличить вероятности в своём районе. Я приветствую качественные и обдуманные правки OSM, но до сих пор не видел увеличения количества гнёзд на тропинках, нарисованных после первого релиза Pokémon Go.

Многие другие игроки поддерживают это наблюдение (например). К сожалению, информация об отсутствии влияния правок в OSM на количество покемонов вдохновляет не так, как слухи о их взаимосвязи, подкреплённые удачными вылазками. Поэтому прямо сейчас мы вынуждены регулярно просматривать карту и удалять потрясающие узоры из зелёных (у кого-то — пунктирных красных) линий.

Мнения, высказанные на этом сайте, отражают точку зрения лично автора сайта и ничью больше: ни его бывших или настоящих работодателей, ни семьи и знакомых.