В комментариях уже отметились представители Яндекса: говорят, что уязвимость закрыта, ведётся аудит безопасности софта.
И, пользуясь случаем, хочу напомнить, что у нас в Badoo уже несколько лет идет программа "Проверь Badoo на прочность" и мы платим за найденные уязвимости.
Все вокруг постоянно рассуждают о коррупции. А я хочу рассказать Вам о случае, на коррупцию очень похожем, но в среде чистого IT-бизнеса, на государство никак не завязанного.
Описываемый далее случай интересен именно с точки зрения взлома бизнеса, хотя статья больше посвящена взлому в смысле IT.
Начну с нетехнической части.
Мой друг-одноклассник работает в сфере бизнеса московского такси. Работает в этом бизнесе довольно много лет. Несколько лет назад, когда на рынок московского такси вошел крупный игрок (а теперь — монополист) — Яндекс, то мой друг, разумеется (как и все прочие мелкие и крупные игроки этого бизнеса) также присоединился к заказам Яндекс-Такси.
Уже несколько лет он работает в Яндекс.Такси с использованием ПО ООО РОСИНФОТЕХ.
Где-то с полгода назад Яндекс приобрел эту компанию и теперь это ПО называется Яндекс.Таксометр или вроде того.
Что представляет собой это ПО: это комплект по управлению водителями (можно добавить/удалить машину/водителя), а так же принять/отменить проследить заказ.
Так вот, обещал я, что начну с нетехнической части. Этот мой друг уже несколько лет жалуется мне при личных встречах на извечную русскую проблему: «воруют».
Рассказывает что воруют водителей, заказы и даже, по слухам, деньги с QIWI-кошельков…
Я относился к этому как-то философски. Ну, жалуется человек на жизнь. Ушел водитель (увели) от него в другую компанию, а он считает что его украли — обычная история. Но на этих выходных таки он меня упросил: «Иван, ну да, ты (как ты говоришь) не специалист по безопасности, но посмотри, как могут у меня воровать водителей? Ты же IT-шник, в конце концов!».
Мы сели с ним в кафешке с WiFi и стали смотреть.
Закончу нетехническую вводную я тем, что скажу что, по слухам, среди компаний, работающих с Яндекс-Такси, которые идут в том числе и от самого Росинфотех, Яндекс приобрел вышеуказанное ПО за миллиард.
Запомните эту цифру, она понадобится нам в конце статьи.
Итак, вступление окончилось, перейдем к технической части.
Дал он мне логин/пароль от его личного кабинета в диспетчерской, и я туда зашел.
Там все несложно: список водителей: добавить/удалить/заблокировать/распечатать. Отчеты, заказы и т.п. Полазив чуток по страничкам, обратил внимание, что практически весь сайт построен на том, что в ссылках или запросах фигурируют UUID.
Кликнув на водителя, можно увидеть, что UUID водителя фигурирует в ссылке информации о нем.
Далее стало интересно выяснить три вопроса:
- можно ли узнать UUID водителя чужой компании
- можно ли, зная этот UUID, получить информацию о чужом водителе (собственно то, на что жаловался мой друг)
- можно ли получить доступ к заказам водителей других компаний
Походив по страничкам личного кабинета, я обратил внимание, что UUID присвоен и компаниям тоже.
«Ага!»- подумал я и стал спрашивать моего друга, знает ли он, что такое UUID, и применял ли где-нибудь его. Он говорит: «Да, в личном кабинете Яндекса я указывал урл на API». «Давай сюда, — говорю, — этот урл». Дает он мне нечто вроде такого
sync.yandex.taxi.itrf.ru/drivers/<UUID>
. Заглядываем в этот урл и видим — все водители компании моего друга в удобном для парсинга виде — XML. Без авторизации.Осталось узнать UUID других компаний. Как это сделать? Как я уже сказал выше, в некоторых местах сайта банальный Ctrl-U в браузере показывает UUID других компаний, однако мне стало интересно получить UUID адреса ВСЕХ компаний, использующих это ПО. Мы где-то с полчасика покопались по урлам, используя Ctrl-U, и нашли сразу множество путей, как это сделать.
Например, вот такой красивый JSON сообщает нам подобный список:
Обратите внимание, что список затрагивает сразу все регионы страны, не только Москву.
Ну или подобные списки встречаются в различных селектах, списках итп. Таких мест множество. Однако, продолжим далее.
Стало интересно вернуться к карточкам водителей и рассмотреть их поближе. Для этого мы выбрали одну из Московских компаний — взяли XML со всеми ее водителями (которая, как описано выше, доступна без авторизации) и продолжили эксперименты над ней.
Взяли пару водителей из этого XML, ввели их UUID в карточке в личном кабинете. Посмотрели карточку водителя. Рейтинги, когда сдавал экзамены такси, номера прав итп — все видно. Информация о любом водителе (в том числе чужих) доступна по урлу с UUID.
Это как бы расширенная информация (больше, чем вышеприведенном XML).
Вероятно, разработчики этого ПО о понятиях «авторизация», «аутентификация» не слышали, а уж и тем паче о разнице между ними.
Там же, сидя в кафе я набросал скриптик на Python, и через 20 минут у нас была база данных всех водителей Яндекс.Такси во всех городах (не только в Москве) с их телефонами, рейтингами, номерами прав, лицензий, балансами счета и прочей приватной информацией.
Получили вот примерно такой XLS файлик:
Так я получил вещественное доказательство более чем двухлетним подозрениям моего друга о воровстве водителей.
Дальше стало интересно посмотреть несколько шире на эту проблему: доступность этих UUID без авторизации вообще. Оказалось, и это есть!
Это ПО предлагает довольно широкий спектр сопутствующих услуг. Например, вебформу заказа такси на сайте компании-клиента.
Заглянув (Ctrl-U) на несколько сайтов-партнеров Яндекс-такси, как Вы думаете, что я там обнаружил? Правильно! UUID этих компаний, по которым (напомню) можно бесплатно доставать всех водителей.
Таким образом, не исключаю, что какой-либо поисковик (в т.ч. Яндекса) однажды проиндексирует все эти приватные данные компаний и людей.
Затем мы заглянули на еще один ресурс без авторизации этой компании. В публичном доступе находится в реальном времени лог всех заказов в Яндекс-такси. Можно посмотреть, кому назначен, что с ним происходит, кто выполняет, адрес подачи итп.
Нажимая Ctrl-U на этой странице, мы видим ID заказа, компанию которой он назначен.
Вот мы и докопались до ID заказов других компаний на неавторизованной странице (на авторизованных они тоже есть, но повторюсь: было интересно найти на неавторизованной).
Далее, используя инструменты, доступные в разных частях личного кабинета, мы можем не просто наблюдать, но и воздействовать на процесс: например, можно чужой компании изобразить отмену заказа, а самому послать машину вместо нее!
Для водителя это будет выглядеть, как отмена заказа. Для клиента — как «приехала другая машина».
Это просто клондайк какой-то для человека, настроенного на нечестные способы ведения бизнеса!
Самое интересное, что это не просто какая-то одна дырка, а все ПО целиком такое, весь сервис построен на том, что НИКАКОЙ защиты информации нет. Продукт представляет собой просто этакий просмотрщик записей в БД без какой-либо защиты между пользователями.
Представьте, залогинившись в гугл Вы бы могли посмотреть всю почту ВСЕХ пользователей Гугл. Вот тут примерно такой случай.
Однако продолжим. Комплекс содержит еще приложение для андроида. Взяв приложение «Таксометр» с андроид маркета мы быстро выяснили, что оно делает запросы по неавторизованным урлам. И первый неавторизованный http-запрос, который делает это приложение, — угадайте, какой?
Правильно, полный список пар UUID-название компаний!
Используя урлы, взятые из этого приложения, можно:
- брать/отменять заказы от имени других водителей,
- писать широковещательные и адресные сообщения (например, предложения о работе) другим водителям,
и так далее.
Здесь я получил еще одно подтверждение, что не только водителей можно воровать, но и заказы у этих водителей.
Рассказывают, что ушлые люди уже даже выпустили на эту тему специальное приложение по перехвату заказов Яндекс.Такси. Жаль, на андроид маркет только не выложили (или выложили? Надо бы посмотреть в платных разделах маркета).
Ну а теперь давайте немного поразмышляем на тему, о которой я писал вначале.
Коррупция или не коррупция.
Да, Яндекс — частная фирма. Слово «коррупция» к нему не применимо. Однако возникает интересный вопрос: вот Яндекс покупает за огромные деньги (миллиард) программный комплекс. При этом, судя по вышеприведенной картинке, НИКАКОГО технического аудита этого программного комплекса не произведено.
То, что нашел я (рядовой IT-шник) за пару часов копаний в кафе, специалист по безопасности нашел бы без особого труда, но вопрос: почему этот специалист (коих у Яндекса вдоволь) даже не заглянул в этот комплекс за миллиард?
Как Вы думаете, этот комплекс куплен с использованием системы «откатов», или нет?
Мне кажется, что, проводя сделку за миллиард, не выделить 10 тыс руб на один рабочий день специалиста для проведения аудита это… гхм… или сознательная халатность, или совсем уж хочется побыстрее от миллиарда избавиться.
Объяснение, что это куплено с использованием отката, — по моему, наиболее логичное.
Интересный вопрос: кто в Яндексе принимал решение о покупке такой «большой дыры»? Вероятно, с него должны начать выяснение обстоятельств покупки СБ Яндекса.
PS: После того, как мы поразглядывали Таксометр с андроид-маркета, мы заглянули еще и в устройство приложения для заказа такси с того же маркета — Яндекс.Такси. Что удручает — ситуация там очень похожая. Его явно делали люди, далекие не только от вопросов безопасности, но и от вопросов HighLoad программирования.
Впрочем, это совсем другая история, о ней можно написать отдельную статью.
PPS: Недавно Яндекс.Такси внедрило оплату поездок кредитными карточками. Мне вот лично как-то страшно теперь платить за поездку кредиткой. А вам?
UPD: Яндекс уведомлен о проблеме, так что здесь предлагаю обсудить способ взлома бизнеса Яндекс.Такси примененный товарищами из вышеупомянутой компании. Можно только выражать восхищение бизнес-способностям этих людей. Согласитесь, развести крупнейшую компанию рунета на такие деньги без какой-либо проверки качества впариваемого кода — это вам не старушкам пылесосы продавать…
Комментарии (103)
vsb
05.06.2015 11:42+12Как мне кажется, цена главным образом складывается не из стоимости софта, а из стоимости базы клиентов, бренда. Софт яндекс сам может написать какой надо. Или переписать потихоньку. А базу клиентов и бренд «написать» нельзя, её можно только нарабатывать годами или купить.
Seekeer
05.06.2015 11:49+13Софт яндекс сам может написать какой надо. Или переписать потихоньку.
В любом случае оставлять работать то, что есть — это позор. Уж за 4,5 месяца после покупки могли бы сделать аудит и прикрутить авторизацию.
kahi4
05.06.2015 11:53-8Я почти уверен, что весь софт они переписывают. Аудит как раз провели и ах.., но база клиентов была важнее. Вот почему за пол года не исправили ситуацию — другой вопрос. Впрочем, ходят слухи, что у яндекса сейчас не все гладко и проблем хватает. Надеюсь, это только слухи, а ПО до ума доведут, ведь перед ними непростая задача: оставить удобство для водителей, которые уже пользуются услугой, повысить безопасность, но и не поломать старый функционал (легальный старый функционал).
UUID адреса ВСЕХ компаний
И что? То, что гугл знает адреса сайтов всех компаний вас тоже пугает? UUID, название и город — не является приватной информацией. Даже список водителей может не являться таковой. Да даже номера (приложение вроде как показывает номер машины, которая к вам приедет). Финансы — другой вопрос, точнее даже не вопрос, это не стоит показывать. Вот что действительно печально — возможность совершать какие-то действия с «чужими» водителями и заказами. А что касается «переманить к себе» — через ту же почту можно.lamamer Автор
05.06.2015 11:55+27> И что?
в общем-то ничего: вставляя UUID в урл мы получаем доступ ко всем водителям/компаниям/приватным данным.
UUID публично доступны и доступ свободный. фигня в общем.
kahi4
05.06.2015 12:10-9Повторюсь. Есть приватные данные (финансы, какие-либо отчеты), есть публичные. Список компаний — публичные, что, в общем то, логично. Список водителей у компании — публичный (я, как пользователь, должен иметь возможность проверить — приехавший водитель действительно ли является водителем этой компании). Номер машины водителя — по тем же причинам публичный. Количество денег у водителя — приватные данные.
Да, эти списки должны быть доступны только на чтение, я, не будучи авторизованным как уполномоченное лицо этой компании, не должен иметь возможность отменять заказы, однако id в ВК такие же публичные и что-то это ни у кого не вызывает сомнений.Lisio
05.06.2015 12:13+6Для проверки, относится ли водитель к компании, не требуется получение списка всех водителей в этой компании.
zelyony
05.06.2015 12:22+81) если компания присылает тебе такси, тебе надо знать имя водилы? ты думаешь, они пришлют не своего работника? ты спрашиваешь паспорт у водилы, чтобы убедиться, что этот тот самый водила?
тебе просто говорят цвет, марку и номер машины.
2) «однако» ты подменяешь, что «должно быть сделано здесь» тем, что «сделано там»
В софте дыра. Нет, не так. В софте ДЫРЕНЬ! И здесь это деньги и ресурсы.
из «Хищника»:
— … и вот она раздвинула ноги. Я и говорю «Ну и дыра!.. ну и дыра..». Она мне «А чего ты всё по 2 раза повторяешь?» Я: «Это эхо..»kahi4
05.06.2015 12:45+3Будучи в отдаленном подмосковье, сажая вечером девушку на такси, я поинтересуюсь именем водителя. Впрочем, номера автомобиля обычно достаточно, тем не менее. Со списком всех водителей данной компании я погорячился, вряд ли это публичная информация, которая имеет смысл для обывателей.
questor
05.06.2015 16:48+1Даже и в Москве лучше сфотографировать номер машины. Никто из водителей ещё не протестовал, когда я так делал.
monolithed
08.06.2015 16:44В штатах за водителем располагается тачпад с полной информацией о водителе!
DjOnline
09.06.2015 13:59+1Убер присылает фио водителя и фотографию.
UUID сами по себе не приватная информация.
Плохо то, что действия с этими UUID не защищены авторизацией или цифровой подписью.
frolic
05.06.2015 12:30+2А что Вы скажете про номер водительского удостоверения? Мы тут недавно наткнулись на подобный «функционал», по которому можно вытянуть паспортные данные определенной категории лиц (говорить что за категория и как мы это сделали не буду, ибо ответа от разработчиков еще не получили и «функционал» еще не пофиксили).
lamamer Автор
05.06.2015 12:14+12> Повторюсь. Есть приватные данные (финансы, какие-либо отчеты), есть публичные. Список компаний — публичные,
список компаний работающих с Яндекс-Такси — есть приватные данные компании Яндекс-Такси.
список водителей, работающих с компанией «XXX» — есть приватные данные компании XXX и так далее.
а здесь еще без авторизации доступны такие вещи как: номера документов водителей, фотографии, оценки, балансы счетов итпkahi4
05.06.2015 12:22-6а здесь еще без авторизации доступны такие вещи как: номера документов водителей, фотографии, оценки, балансы счетов итп
Это, разумеется, большой огрех и бреш в безопасности. Такие данные не должны быть доступны. Тут спора нет.
список компаний работающих с Яндекс-Такси — есть приватные данные компании Яндекс-Такси.
Которые яндекс любезно предоставляет при выборе кого подать.
список водителей, работающих с компанией «XXX» — есть приватные данные компании XXX и так далее.
Компании такси у нас КГБ что-ли? Можно придумать ситуации, при которых мне, как пользователю, этот список будет полезным. Да и не думаю, что информацию о сотрудниках так сложно получить. Но, допустим, это действительно может быть приватными данными. Как следствие — возвращаемся к тому, что проблема заключается в том, что нет разделения на «приватные-публичные данные», доступ к которым вправе выбирать (или они зашиты жестко) в системе (и сопутствующая — есть свободный доступ к этим данным), а не просто список UUID сам по себе.midday
05.06.2015 12:29+9Это не огрех, а преступление. За разглашение личных данных можно и получить.
А если доступны заказы с номерами телефонов заказчиков, то тут уже вступает в силу уголовный кодекс.
bachin
05.06.2015 12:37+5> Да, Яндекс — частная фирма. Слово «коррупция» к нему не применимо.
Ну почему же не применимо? Коррупция — это использование служебного положения в личных целях. Пишется короче и звучит устрашающе (две буквы «р» в одном определении и ни одной в другом).
Другое дело, что для страны власть вроде как является исполнителем воли народа и её действия регламентированы законом (это как должно быть в идеале при отсутствии коррупции). В частной/акционерной же компании все на откупе у владельцев компании. Если сотрудник своим действием/бездействием работает на благо себе, а не владельцам — он по сути своей коррупционер.
numberfive
05.06.2015 13:13+26неделю назад, на PHD V представитель яндекса выступала с докладом на тему «вопросы ИБ в M&A», где она рассказывала как яндекс управляет ИБ-рисками при покупке компаний и готовых продуктов.
призабавненько, слова словами, а на деле то, что имеем в статье.
Valdei
05.06.2015 13:18+3Яндекс уведомлен о проблеме
То есть вся эта дыра ещё открыта? Не очень понятно из текста поста.
Кстати, ответ Яндекса процитировать можно? Как бы это не оказалась стандартная отписка девочки из саппорта «ваше пожелания переданы разработчикам, мы с вами свяжемся если что».
Semenych
05.06.2015 13:44+1Спасибо, интересная статья и толковое исследование.
Единственное что я могу сказать «С глупостью сами Боги бороться бессильны», может быть не стоит искать коррупцию там где достаточно банальной некомпетентности.
Решение о покупке принимали бизнес люди и решающим фактором была база клиентов. Про дыры в безопасности подумать у них банально могло не хватит знаний.
Я не оправдываю, просто хочу сказать что причины крушения иногда проще см рассказ Чехова «Злоумышленник».
skvot
05.06.2015 13:51+1А я-то думал, что среди крупных сервисов подобное давно уже не уходит в релиз…
BupycNet
05.06.2015 14:34+6Возможно тут принцип: работает не трогай. Но теперь то да, либо они это пофиксят, либо сейчас все будут красть данные. К слову статья мягко говоря вредительная. Яндекс еще ничего не исправил, а статья есть. Если раньше мало кто знал, то сейчас любой школьник может получить базы и продавать их кому нибудь менее осведомленному.
dbanet
05.06.2015 15:10+3Убеждён, что если уж по какой-то (неадекватной) причине решил не продавать на чёрном рынке, то так и надо делать.
Мало случаев было, когда на багрепорт компания отвечала угрозами?
Seekeer
05.06.2015 15:13+9К слову статья мягко говоря вредительная. Яндекс еще ничего не исправил, а статья есть.
Вредительские — действия Яндекса: пускать сервис с такой дырищей.
Статья правильная, теперь Яндекс начнёт шевелиться быстрей и быстрей закроет эту уязвимость.
А пользовались ей и раньше, безо всякой статьи.
ivlad
05.06.2015 15:23+5Яндекс уведомлен о проблеме
А можно номер тикета или что–нибудь, что б я мог понять, как прошло уведомление?lamamer Автор
05.06.2015 15:49+16номера тикета увы не знаю. support@ видимо знает.
Предвосхищая вопросыМы думали с другом: опубликовать статью или же написать еще раз в Яндекс.
Он говорит что о воровстве писал/обращался в техподдержку неоднократно (и я знаю что это так, поскольку жаловался он мне на это воровство несколько лет) и что номера тикетов его обращениям присваивали. Всегда кончалось ничем. Яндекс не предпринимал никаких действий.
поэтому решили вынести все на публику, чтобы проблему с воровством водителей и заказов решить.stifff
05.06.2015 15:58-7Это всё как-то не очень м… красиво/этично.
Плюс сейчас может статься, что воровство примет ещё большие масштабы. Дырка же утекла в паблик.midday
05.06.2015 18:10+5Не этично по отношению к кому? Любят люди все переворачивать. Неужели не видно кто плохой, а кто хороший? Убытки компаний этичностью не возместить.
stifff
05.06.2015 18:19Хороший, плохой, злой… Наш мiр далеко не чёрно-белый.
По отношению к разработчикам и другим пользователям.
В паблик такие штуки, мне кажется, сливаются когда или разработчики не реагируют на багрепорт, или с корыстной целью.
Не возместить. Но вполне можно сделать ещё хуже неэтичностью.midday
05.06.2015 18:32+1Если бы в статье описывалась какая-то уязвимость, то тут я с вами бы полностью согласился. Но то, что описано в статье — выходит за рамки.
stifff
05.06.2015 18:44+1А разве статья не про нахождение и эксплуатацию уязвимости, позволившей получить несанкционированный доступ к ПД и другой коммерческой информации?
midday
05.06.2015 19:27+4Нет. Это данные практически в открытом доступе. Т.е. незащищенные совсем.
legal.yandex.ru/confidential
К примеру берем пункт. Который мне кажется нарушен.
6.1. Яндекс принимает необходимые и достаточные организационные и технические меры для защиты персональной информации Пользователя от неправомерного или случайного доступа, уничтожения, изменения, блокирования, копирования, распространения, а также от иных неправомерных действий с ней третьих лиц.stifff
05.06.2015 19:49С пунктом 6.1 я и не спорил.
То, что дверь в квартиру забыли закрыть ещё не значит, что квартира в свободном доступе для всех желающих.
Да, Яндекс взял на себя обязанности держать данные в сохранности, да не получилось.
Я говорю лишь о том, что эти самые трети лица получили несанкционированный доступ к этой информации и совершили с ней акты копирования, распространения, а также иные неправомерные действия.
И это есть уязвимость сервиса.midday
06.06.2015 12:19+4Любите аналогии? С открытой квартирой не подходит к этому. Ну вообще, если выйти из сказки, как раз это и значит, что для всех очень желающих она в открытом доступе. Да и в случае с квартирой, оставили открытой — ваши проблемы… пострадаете только вы. И кстати… После покупки квартиры (тут покупка сервиса) я первым делом сменю замок… а если и надо, то дверь.
Это наверно как поставить камеры в женской душевой фитнессцентра, а в бесплатном вайфае этого же центра стримить эти камеры на айпишнике 192.168.1.3 с вебмордой. Ну или поставить зеркала прозрачные с одной стороны, хотя тут злой умысел уже не скрыть. Будучи девушкой, говоришь на ресепшн: «Мне кажется, что за мной наблюдают через эти камеры, т.к. мои парни-друзья, что ходят со мной на фитнесс, постоянно хихикают и намекают недвусмысленно на то, что они видели тебя голой… и т.п.»… Так обращаешься несколько раз… всем насрать на твои жалобы. Обращаешься к другу-айтишнику, в кафешке рядом через этот же вайфай через 10 минут, вы уже смотрите на голые жирные туши.
Ваша реакция?midday
06.06.2015 12:27А еще лучше, вы муж этой девушки, узнали об этом и сообщаете администратору, а тот никак не реагирует. Узнали не об айпишнике, а именно о том, что есть обоснованные опасения, что доступ к камерам есть у многих «желающих». А уже после нескольких попыток достучаться уже узнаете об айпишнике.
Вот я бы привлек правоохранительные органы.stifff
06.06.2015 12:43Вот я бы привлек правоохранительные органы.
и такой вариант тоже уместен. но не паблик же.midday
06.06.2015 13:17+1Ну с этим я лично согласен. Но я принимаю не только свою точку зрения. Люди бывают разные. Некоторые вот геи, некоторые не очень умные, другие слишком умные. И т.п. Один обратится в органы, другой набьет морду, третий может быть даже промолчит, а четвертый совершит такое, что вы даже представить себе не сможете. Реакция может быть совершенно разная. И это может выглядеть ненормальным с вашей точки зрения, но совершенно логичным с другой. Я к тому, что все приводит вот к таким вот ситуациям. На жалобы надо обращать внимание и даже как вы сказали ниже «параноидальные». Сразу отвечу тут на комментарий ниже. Совершено преступление, моя реакция однозначна и не подлежит пересмотру. За преступления надо отвечать, пусть даже это преступление сделано из глупости, глупость можно простить разве что ребенку. Еще раз повторю, реакция на преступление может быть разной, это надо учитывать, но в любом случае могут быть последствия и их надо учитывать. Пострадать может и сам пострадавший, как вы заметили ниже «Той девочке станет ещё хуже.» Да именно, станет еще хуже, но будучи в самом центре завязки всех этих ситуаций, а именно первопричиной всего этого, нужно делать все, чтобы избежать последствий. Тем более если носишь гордое имя, звучащее у всех а устах.
stifff
06.06.2015 12:45А Вы, кстати, не замечаете подмену ситуации?
Администратору высказываете параноидальные предположения, а в органы уже с доказательствами идёте.
stifff
06.06.2015 12:42Ну если с квартирой не так очевидно, пусть это будет дверь БЦ или какого-нибудь шаред склада.
В любом случае открытая дверь — проблема владельца этой двери. Вернее того, в чьей зоне ответственности она находилась.
Ваша реакция?
конечно же сразу солью всё это в паблик, что бы все, кто ещё не успел посмотреть на девочек, смогли это сделать «/irony»
Таки считаю, что слив в паблик такого рода информации, что о дырке, что об открытом складе, что о девочках без предварительного информирования разработчиков увеличивает ущерб (моральный, репутационный, материальный) всех участников.
Той девочке станет ещё хуже.
ivlad
05.06.2015 15:58+17Пришлите хоть что–то, дату-время, subject, Message-ID. Я очень хочу найти это письмо.
kraidiky
05.06.2015 17:05+6В красках представляю себе ситуацию. Очень интересно во сколько был взломан аккаунт или сколько готов выплатить Яндекс за сворачивание дискуссии. Хотя могли и просто судом за несанкционированный доступ пригрозить. :) Белое хакерство начинает и получает по зубам от чёрного корпоративного сектора. :)
shane54
06.06.2015 02:56+1или сколько готов выплатить Яндекс за сворачивание дискуссии.
Кстати, давно думал вот о чем. Подобные статьи проскакивают на Хабре с постоянной периодичностью (ну, не на столько эпичный фейл как сейчас, конечно, и даже может в 100 раз «менее круто» — но тем не менее, суть сейчас не в степени ужасности). Так вот, почему бы, соблюдя все неофициальные правила и проинформировав вендора, дав ему 2 дня / 2 недели / 2 месяца /… на исправление уязвимости и НЕ дождавшись официального сообщения в блоге компании, о том что уязвимость закрыта и все возможные и невозможные действия по исправлению ситуации выполнены на самом высоком из возможных уровней (мечтаю об идеальной реакции) — кроме статьи на Хабре, которая кроме плюсов в карму и заслуженного уважения коллег по цеху, перейти к практическим действиям. Открыть лот на профильном сайте (например, 0day.guru (отношения к сайту не имею никакого) — пусть он и пустой пока, но он работает, анонимен, никаких регистраций, оплата всеми возможными способами, никаких комиссий и т.д.) — и выпожить там описание бага без тех.деталей, и влепить цену 10 000 USD. Аукцион позволяет не ждать окончания и сразу же сделать предложение, «от которого невозможно отказаться» — пусть Яндекс (или кто там плохо себя повел) и выкупает его в первые секунды за х2 от цены, лишь бы замять скандал. Для компании, купившей дырку от бублика за 1 миллиард рублей, 10к — песчинка, капля в море. Но это совсем не тоже самое, что альтруистическая статья на Хабре, раскрывающая все детали, описывающая от А до Я проблему — ладно что весь мир узнал, но проштрафившейся компании остается только лишь, как ниже сказано, запереть бригаду ответственных программистов на выходных в офисе — и к понедельнику все будет пофикшено. А так, в предлагаемом варианте, будет тоже самое (бо предлагаемый вариант с выкладываением бага на продажу не отменяет статью на Хабре) — разница лишь в том, что нашедший еще и положит десяточку в карман, и будет прав. И компания в следующий раз будет повнимательнее мониторить свой внешний баг-трекер.
Все IMHO. Те, кто подписан на e-mail рассылки типа bugtraq и подобных, знают, там внизу каждого CVE короткая справка — баг найден в день Х, в Х+1 проифнормирован вендор, вендор ответил в Х+2, в Х+10 баг проправлен, все могут скачать свежие пакеты / пересобраться с github и т.д., в день Х+11 данная рассылка инициирована. Вот так и должно быть.std
07.06.2015 20:21А как на участие в таких торгах смотрит уголовный кодекс? А то ведь у компании тогда появится рычаг для воздействия на исследователя.
estolica
05.06.2015 15:42+10Между прочим сегодня пятница, о лучшем подарке программисты и мечтать не могли, выходные и работа, что может быть лучше? Ведь каждый разработчик мечтает о том чтобы все переписать
lamamer Автор
05.06.2015 15:52+2Мне интересно как они будут переписывать андроид приложение.
Потому что именно в нем основные дыры и сосредоточены.Doggy
06.06.2015 21:21-2Для этого не нужно переписывать андроид приложение. Дыры в сервере, а не в приложении. Приложение не может само получить то, что сервер не даст.
Doggy
08.06.2015 12:00+5Что за школьники минусуют? Видно те же, что и пишут такие андроид приложения с дырами. Любой безопасник Вам объяснит, что все дыры связанные с работой апи лечатся и закрываются на сервере — других вариантов нет и быть не может.
Расскажите мне господа минусовальщики, где и как Вы можете нарисовать такие дыры в клиентском приложении, если апи Вам просто не отдаст данные без соответствующей авторизации и прав чтения конкретной информации?
Или можете даже статью написать, как чинить дыры в апи посредством исправления андроид приложения. Это будет крайне полезно для тех лиц, которые пользуются уязвимостями апи. Отлично же — приложение исправили, стадо успокоили, ответственных наградили. А дыра в апи как была так и осталась, все кто пользовался — также и будут продолжать пользоваться.Chamie
09.06.2015 00:13+3Не минусовал, но тут проблема в том, что андроид-приложение однозначно потребуется переписывать. Иначе после закрытия дыр на сервере, через которые оно и работает, оно просто отвалится.
Doggy
09.06.2015 00:18-1Многие совсем разучились читать или понимать, что читают. Я не говорил, что его не надо переписывать. Я довольно четко написал «для этого» — что в контексте комментария, на который я отвечал имелось ввиду «переписывание ДЛЯ закрытия дыр». Всем программистам стоит начинать с курса внимательности, понимательности и точности изъяснения.
И кстати еще не факт, что оно отвалится. Если оно хотя бы более менее грамотно построено, то оно перестанет получать часть данных, которые оно и так не отображало. Для примера там где приходил список всех, придет только список доступных для конкретного авторизованного пользователя.
Не потакайте школоте, и да не окажетесь среди них.Chamie
09.06.2015 00:33+2Лично я понял вот этот абзац:
Взяв приложение «Таксометр» с андроид маркета мы быстро выяснили, что оно делает запросы по неавторизованным урлам. И первый неавторизованный http-запрос, который делает это приложение…
как то, что приложение делает запросы до авторизации. Т.е., что оно делает запросы не идентифицируя себя, и, соответственно, проверить права доступа и ограничить список со стороны сервера — нельзя.
Соответственно, тогда «просто закрыть дыры» будет равносильно «просто закрыть сервис».Doggy
09.06.2015 18:33Если не знать контекста (а мы в данном случае не знаем) в котором делаются эти вызовы и для чего — мы не можем ответить на вопрос — как это повлияет на работу приложения.
Возможно, что никак. Представьте себе — такое тоже бывает, что делаются бессмысленные ни на что не влияющие вызовы. Да и чему удивляться после таких дыр в апи?
Давайте не делать необоснованных предположений. Мы же все таки программисты и мы пишем конкретные инструкции для программ, которые не зависят от предположений сторонних людей(если это не предусмотрено программой). В практически абсолютном большинстве мы даже рандом используем синтетический ))Chamie
09.06.2015 20:13+4Для этого не нужно переписывать андроид приложение
Давайте не делать необоснованных предположений.
Давайте.
numberfive
05.06.2015 15:56+16из описания, похоже, что у программистов были пара лет, чтобы спланировать работу в эти выходные
ivlad
05.06.2015 15:56+28В общем, в первом приближении мы исправили.
Более верные идеологически фиксы в пути.dmitrmax
05.06.2015 18:05+4А правда, что это купили за лярд?
ivlad
05.06.2015 19:25+2Значимую финансовую информацию Яндекс раскрывает в квартальных и годовых отчетах в соответствии с требованиями SEC.
gaelpa
05.06.2015 21:51+1Здорово, но может кто-то извлечь из этой массы документов информацию о сумме сделки?
spc
06.06.2015 00:06+1Никто не может, потому что «сумма сделки не раскрывается». Что самое смешное, сумма сделки по приобретению Auto.Ru доступна совершенно свободно («около 175 млн. амер. зел. баксов»).
Еще смешнее то, что на упомянутой странице квартальных и годовых отчетов поиск Яндекса не работает вообще.
JhaoDa
05.06.2015 18:25+1Даже Лента написала.
stifff
05.06.2015 18:47+3«автор нескольких статей на «Хабрахабр», известный на сайте под псевдонимом lamamer»
«Результаты проведенного исследования автор опубликовал в своем блоге.»
«Автор исследования уведомил специалистов «Яндекса» об обнаружении открытого доступа к базе данных системы.»
лента такая лента [x]
ascending
05.06.2015 18:34+31Ха-ха, с апдейтом в начале поста всё стало в два раза интереснее
Chikey
05.06.2015 23:05+8Чувак понял что выкладывать и скачивать(?) кучу приватной инфы — серьезно преступление — за такое даже в РФ могут по шапке надавать, и разыграл драму мол мопед не мой?
ascending
06.06.2015 02:20+2Судя по всему этот товарищ находится не в РФ, а на одном большом острове на севере Европы, так что из РФ дотянуться до него может быть не так уж просто
ALTF13
05.06.2015 19:45+7Честно говоря, от Яндекса такого не ожидал. Мне кажется, или использовать URL без авторизации в таком закрытом приложении — это какой-то дикий абсурд и очевидный баг?
А вообще на отмену заказа и последующее прибытие какой-то непонятной машины (без опозновательных знаков, с оплатой по договорённости без счётчика и т.п.) почувствовал на своей шкуре в Питере пару раз. Очень насторожило, как мог приехать на заказ убитый Лачетти лет 6ти от роду, когда у них требования — машины до 3х лет. Теперь уже понимаю в чём соль.
Maccimo
05.06.2015 19:49+1>> Сегодня с удивлением узнал от коллег об этой записи. Выяснилось, что мой аккаунт взломали — представители Хабрахабра это подтвердили
В чём смысл использования взломанного аккаунта для публикации статьи?
Сообщать о дырах в Яндексе настолько опасно для жизни?stifff
05.06.2015 19:52+2Учитывая специфику бизнеса, да ещё и по всей России, лишняя перестраховка не повредит.
А ещё за такое иногда инвайты даютivlad
05.06.2015 20:35+4У Яндекса есть программа вознаграждения за сообщения об уязвимостях. В ней поучаствовало уже несколько десятков, если не сотен человек — из России и из–за рубежа. Я думаю, что они могут подтвердить, что сообщать об уязвимостях в Яндексе угрозы для жизни не представляет. :)
stifff
05.06.2015 20:39+19Даже если они подтвердят, что сообщать безопасно — это же будет типичная ошибка выживших! «/irony»
AllexIn
05.06.2015 20:00+1Учитывая масштабы сделки и агрессивность подачи — может и опасно с юридической точки зрения.
barabanus
06.06.2015 00:01+14Когда я работал в Яндексе — при всем уважении к компании — я время от времени обнаруживал баги, о которых старался незамедлительно сообщать ответственным лицам. Сначала я наивно сообщал только руководителю проекта, но заметил, что это очень неэффективно и вопрос, как правило, не решался.
Тогда оказалось, что если в список сообщаемых лиц добавлять сразу несколько человек — ответственному лицу, его начальнику, еще нескольким людям — начинается переписка, обсуждение, и вопрос уже не так просто задвинуть в долгий ящик.
Но и это оказалось не так эффективно — машина сопротивляется и не хочет сворачивать с намеченного пути. Вместо того, чтобы решать проблему на уровне выше, чем возникла сама проблема, фиксятся частные случаи. Например, вот три тикета с одним и тем же источником проблемы. Вместо решения источника проблемы, фиксятся записи БД только для этих трех конкретных случаев.
Для того, чтобы проблема решилась по-настоящему, я обнаружил, что надо самостоятельно провести исследование, посмотреть, например, сколько случаев из всех возможных эта проблема затрагивает, нарисовать графики, диаграммы Вороного и т.д. После этого весь этот материал сообщить нескольким людям и смотреть, как проблема решается.
Вероятно, что настоящий автор статьи работает в Яндексе, но не смог достучаться до нужных людей, устал от отмазок и частных фиксов, потому и придумал этот весьма эффективный способ!DarkByte
06.06.2015 08:37+9Сотрудник Яндекса взломал аккаунт сотрудника Байды, чтобы написать о баге Яндекса, а затем чутка пропиарить Байду. Байда какая то получается.
И, пользуясь случаем, хочу напомнить, что у нас в Badoo уже несколько лет идет программа «Проверь Badoo на прочность» и мы платим за найденные уязвимости.
А еще у нас открыто много вакансий в Москве и Лондоне!
AveryanovSergey
06.06.2015 11:38+2История про взлом аккаунта выглядит сомнительно.
Во-первых, взлом — это чистой воды уголовное преступление как в России, так и за рубежом. Последствия могут быть намного более печальными, чем от чьего-то недовольства статьей.
Во-вторых, если целью взлома была анонимизация, для этого есть менее незаконные и фатальные способы.
Приписка про взлом могла появиться по нескольким причинам:
- автору «позвонили» Очень Серьезные Люди и выразили свою крайнюю степень неудовольствия. Понятная человеческая реакция — «это не я»;
- автор недооценил степень позорности описанного для яндекса и, не дожидаясь звонка из предыдущего пункта, решил подстелить соломы;
- cтатья была размещена владельцем аккаунта по-дружески, чтобы анонимизировать некоего инсайдера. После публикации что-то изменилось и публикация была преподнесена как взлом;
- смысл сообщения о взломе — в увеличении внимания к предмету обсуждения и в промо-приписке от Badoo в начале статьи.
sergey-b
06.06.2015 13:58При обнаружении уязвимости следует сообщить владельцу ресурса, а не трезвонить в интернете. Опубликовать статью об этом можно будет тогда, когда разработчики сообщат о том, что они все пофиксили. Если же вендор проигнорировал сообщение об уязвимости, то сначала его следует уведомить о своем намерении опубликовать информацию о дыре, и только потом можно писать. Именно такое поведение отличает специалиста по информационной безопасности от хакера-хулигана.
Doggy
06.06.2015 21:27+2«Иван, ну да, ты (как ты говоришь) не специалист по безопасности, но посмотри, как могут у меня воровать водителей? Ты же IT-шник, в конце концов!».
Просто айтишник и угон чужого акка на хабре? Нестыковочка)ErhoSen
07.06.2015 21:55+7Вообще говоря хотелось бы услышать комментарий администрации хабра ( habrahabr deniskin ).
Действительно ли был факт взлома аккаунта, и если да — каким образом?deniskin
16.06.2015 20:12Яндекс связался с автором публикации (он работает в Badoo) и в процессе общения выяснилось, что пользователь не размещал эту публикацию на Хабре — это сделал кто-то другой, кто получил доступ. Каким образом подобрали/угнали пароль — не совсем понятно.
sferrka
16.06.2015 22:16Самое интересное — это логи в этот момент, с того же IP/браузера/ОС, что обычно у этого пользователя или совсем левые и т.д.
numberfive
17.06.2015 10:52на месте хабры я бы эту информацию никому кроме владельца учетки не сообщил. но, думаю и ему не сообщили.
PavelMSTU
08.06.2015 09:57-3Как мне сообщил один высококлассный программист, который раньше работал в Яндексе, за последние 3 года уменьшается спрос на контекстную рекламу. Это просто падение всего рынка. Контекстная реклама занимает более половины всей выручки поисковых компаний. То есть, говоря по-простому "пирог скукоживается".
И это на фоне резкого увеличения штата Яндекса (про Google не в курсе).
По этой причине я убежден, что кто-то кого-то выдавит из отечественного рынка.
Разумеется не совсем… Просто у проигравшего будет место у параши…
Да, это грустно… Но таковы реалии…shaman3D
09.06.2015 23:29Настало время удивительных историй от «бывших» сотрудников Яндекса? :)
PavelMSTU
10.06.2015 10:51shaman3D, за что купил, за то и продаю.
Я в Яндексе не работал и не работаю. Но своим друзьям верю. Особенно если они компетентны.
Никакой удивительной истории я не рассказал.
Сказал две вещи: 1) рынок контекстной рекламы падает 2) штат Яндекса раздувается. «Яндекс уже не тот.» (не моя цитата)
Я хочу докопаться до истины. Пока один «очный» друг и трое «заочных» знакомых из Яндекса говорили так же…
Возможно у меня некомпетентная выборка.
Если вы — сотрудник Яндекса, я с радостью послушаю вашу точку зрения.
vlivyur
10.06.2015 00:30+1у нас в Badoo уже несколько лет идет программа «Проверь Badoo на прочность» и мы платим за найденные уязвимости
Подобравшему пароль к учётке TS'а уже выплатили?
Seekeer
А уязвимость с QIWI кошельками вы не нашли?
И ещё непонятен вопрос: какой смысл водителям работать с компаниями, почему не подключаться напрямую к Яндексу?
lamamer Автор
работа с QIWI там сделана по тому же принципу что и все остальное.
уверен что QIWI тоже можно использовать чужой
kronos
яндекс не подключает ИП