image

Сразу хочу оговориться, что данная статья — не крик души, не бахвальство и, тем более, не попытка очернить чью-то там репутацию. Я просто призываю быть немного внимательнее пользователей услуг к сервисам компаний, которые их обслуживают, а сами компании — к сервисам, которые они предлагают своим клиентам. Иной раз такие сервисы ради удобства клиентов жертвуют их же, клиентов, конфиденциальностью. В каких пределах это происходило в моем случае — под катом.

Небольшое лирическое отступление. Если Вы их не любите, можете не открывать
Я как-то упустил момент, когда на мой телефон начали поступать странные звонки. Нет, мы все привыкли ко всякого рода «соц. опросам», предложениям сменить провайдера, посетить бесплатно какие-то салоны и пр. Странно было другое — звонили мне, а спрашивали супругу. Хотя номер зарегистрирован на меня, это я точно знаю. Для публикации всякого рода объявлений типа «куплю/продам» у меня отдельная симка, и она тоже записана на мое имя. Супруга же ну никак нигде не могла оставить свои данные и мой номер телефона. Это просто неудобно. Не то, чтобы я сильно задавался этим вопросам, но однажды я все понял. Просто удачно совпало.

В один прекрасный день на мой телефон в очередной раз позвонили из Москвы (сам я проживаю в регионе), попросили поучаствовать в опросе и спросили мою супругу. Я просто молча положил трубку. А через час мне пришло долгожданное SMS-сообщение из службы экспресс-доставки, услугами которой мы пользовались уже не первый год. Текст, аналогичный полученному, был выслан мне в Viber и на электронную почту. Данное SMS-сообщение содержало ссылку на официальный сайт компании вида www.XXXX.ru/dostavka/?hash=XXXXXXXXXXXX, пройдя по которой я мог отслеживать движение груза и управлять его доставкой (отказаться от груза, выбрать дату доставки и пр.).

Пройдя по ссылке, я увидел, что браузер автоматически залогинился с моим номером телефона и номером накладной (заполненная форма авторизации была на экране буквально секунды две), после чего я получил доступ к личному кабинету, в котором были представлены персональные данные (ФИО и домашний адрес) получателя, а также сведения о дате и времени доставки груза. И тут меня передернуло — доставку мы часто заказывали на имя супруги (ее ФИО и были указаны на сайте), поскольку она работает ближе к офису компании и забрать посылку ей обычно проще. А номер телефона был указан мой, поскольку заказываю товар у отправителя я. При этом я только сейчас обратил внимание, что совершение каких-либо действий для того, чтобы залогиниться (т.е. подтвердить свою личность), с моей стороны не требовалось вообще. Просто прошел по ссылке и вуаля! Удобно, казалось бы.

Данное обстоятельство позволило мне предположить, что любой человек, пройдя по моей ссылке, может увидеть информацию о моем отправлении (а заодно и персональные данные, а именно: номер телефона, ФИО и домашний адрес). Само по себе данное обстоятельство уже не особо приятное. В то же время, слово «hash» в адресе дало мне надежду на то, что следующая за ним последовательность — результат некой хэш-функции, и подобрать последовательность таким образом, чтобы попасть в чей-то личный кабинет, будет затруднительно. Чтобы проверить данное предположение, я изменил последний символ в последовательности (цифру) и попал в чужой личный кабинет, где мне были доступны чужие персональные данные, а при входе логином автоматически послужил чужой номер телефона. Поверхностно пробежавшись по «соседним» личным кабинетам, я понял, что последовательность символов, следующая за "?hash=" — это не результат хэш-функции, а некий код, выдающийся по порядку каждому клиенту по каждому отдельному отправлению. Замена иных символов в последовательности — шестнадцатеричных цифр на предыдущие или последующие позволила мне попасть без какой-либо авторизации в чужие личные кабинеты, что давало доступ к сведениям о номере телефона, фио получателя и его адресе (часто — домашнем).

Вот как это выглядело
image image

imageimage

Так я с ужасом понял, что компания хранит персональные данные своих клиентов (а заодно и наши с супругой) в открытом виде на страницах, доступных любому лицу, имеющему доступ к их официальному сайту. Для доступа к персональным данным клиентов компании по всей стране достаточно пропарсить страницы личных кабинетов, подставляя методом перебора значения последовательности, следующей за "/?hash=" в url. Причем абсолютно никакой защитой от скрапинга сайт не располагал. Спешно набросанный на коленке краулер безо всяких проксей в 20 потоков буквально за пару минут собрал несколько сотен живых записей, после чего я его выключил. Нет, IP не забанили. Это была бомба. Справедливости ради надо сказать, что так можно было собрать данные не всех клиентов, а только тех, кто находится, так сказать, в «активной фазе получения груза». До момента поступления груза в какой-то из ближайших сортировочных центров и почти сразу после его получения доступ в кабинет управления доставкой закрыт, но телефон и номер накладной все еще светились в форме авторизации (т.е. базу живых номеров собрать все-таки было можно).

До определенного момента и после получения управление доставкой недоступно
image

Таким образом, избранный компанией способ хранения персональных данных клиентов обеспечивал неконтролируемое раскрытие этих данных третьим лицам, что являлось грубейшим нарушением требований статей 7 и 19 Федерального закона от 27.07.2006 №152-ФЗ «О персональных данных». С одной стороны, очень-очень сильно хотелось пожаловаться в Роскомнадзор, с другой же стороны я понимал, что для компании создание сайта направление не профильное (а сайт, судя по копирайтам, они сделали сами), а службы ИБ в ее штате вообще могло и не быть. Поэтому (чтобы писать от себя) я выждал пару дней, пока придет груз уже на мое имя, убедился, что все по-прежнему работает, и изложил им обнаруженную мной проблему, честно указав, что намерен написать о ней сразу по закрытии уязвимости или через две недели с момента обращения (что наступит раньше). В ответ я получил дежурную благодарность и обещание передать информацию руководству и моему менеджеру.

Сколько эта брешь просуществовала на сайте можно только гадать, но я уверен, что она вовсю эксплуатировалась заинтересованными лицами. На сегодня (спустя почти три недели) брешь, вроде бы, закрыта. В прочем, со мной представители компании не связывались.
Поделиться с друзьями
-->

Комментарии (28)


  1. Denai
    28.07.2017 13:08
    +4

    А место доставки менять и забирать чужое нельзя было?


    1. iSergios
      28.07.2017 14:00

      Без паспорта не дадут, но изменить время, дату и адрес в пределах города, а также отказаться от отправления — запросто.


      1. Taciturn
        28.07.2017 15:36

        У меня никогда паспорт не просили, всегда так выдавали. У знакомых аналогично.


  1. mozg1986
    28.07.2017 13:15

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


  1. Gorodnya
    28.07.2017 14:13

    У меня в черновиках есть статья про одну украинскую службу доставки и одну российскую с похожими уязвимостями. Опубликовать, что ли…


  1. dom1n1k
    28.07.2017 14:18
    +3

    Не понимаю, почему название компании и сайта скрыты, а автор оправдывается, что не хочет никого очернить. И призывает внимательнее выбирать сервисы. Публикация названия как раз и помогла бы делать этот выбор, избегая сию шарагу.


    1. bublichek
      28.07.2017 16:09

      На скриншоте достаточно информации, чтобы найти сервис через поисковик.


  1. RoboShop
    28.07.2017 14:25
    +8

    Если есть спрос, сегодня напишу про транспортную, которая позволяет смотреть личные данные по ВСЕМ отправкам, а не только по активным. Там вообще жесть — доступ к накладной для распечатки, на которой куча личных данных, осуществляется по ссылке xxxx/orderid=z, где z любой номер накладной с момента основания компании. Предупреждал их раз 5, с первого раза уже год прошел, так что имею моральное право выложить.


    1. Gorodnya
      28.07.2017 14:45
      +1

      Конечно, пишите, но, наверное, лучше в понедельник (на выходных после выхода статьи вряд ли исправят).


    1. pyrk2142
      28.07.2017 14:45

      Да, давайте, это будет интересно почитать и посмотреть на реакцию.


    1. w9w
      28.07.2017 14:50

      Пишите конечно, хотел бы посмотреть на эту статью


      1. RoboShop
        28.07.2017 15:53

        Отправил на модерацию, надеюсь пост проскочит.


  1. Taciturn
    28.07.2017 15:34
    +8

    www.XXXX.ru=www.spsr.ru
    А то вдруг кто не догадался.


  1. vilgeforce
    28.07.2017 17:35
    +1

    «В прочем, со мной представитель компании не связывались.» — ниже их достоинства, не иначе. Спасибо за статью!


  1. susnake
    29.07.2017 22:54

    >На сегодня (спустя почти три недели) брешь, вроде бы, закрыта.
    C хешем 01cfa7ac80a5 получил накладную и номер телефона.
    На сколько я понял у них есть какая-то капча:
    img id="captchaimg" src="php/lib/kcaptcha/?key="

    + login.js, если я верно понял как раз и рассчитывает хэш.

    Я не веб-девелопер/безопасник/программист, так что могу скорей всего и ошибаться. :)


    1. iSergios
      01.08.2017 13:44
      +1

      На самом деле все плохо. По всей видимости, когда я писал статью, на сайте велись работы, и уязвимость не проявилась. В субботу я получил очередное СМС-сообщение о скором прибытии груза и убедился, что уязвимость не закрыта. Да, они по-прежнему светят телефонами своих клиентов после доставки (и не знаю, сколько они по времени светятся) + доступны личные кабинеты с прочими данными. Вчера я повторно обратился к ним, написав на почту, с которой мне ответили в прошлый раз, но пока тихо. Если до вечера не будет ответа, отредактирую статью — укажу, кто это такие, и напишу жалобу в Роскомнадзор.

      Капча есть, но она отключена.


      1. midaw1
        02.08.2017 12:23

        Брешь вроде пытались закрыть, но телефоны получить можно. Я бы посоветовал выложить уже телефоны, полученные методом подбора, и отправить Роскомнадзору как результат их работы. Уверен, что в учебных целях, перебор уже произведен… Осталось выложить на файлообменник и выдать ссылку на почту РКН.


        1. iSergios
          02.08.2017 12:57

          Я, в общем-то, так и сделал — во втором напоминании я отправил не пару, как в первый раз, а свыше полутора сотен скринов. Плюс дал ссылку на эту статью, пообещав добавить в текст и заголовок их наименование. Мне опять не ответили, но с сегодняшнего утра я уже не могу воспроизвести описанную в статье ситуацию — телефоны не отдаются, автологина нет — лк недоступны. Проверял с разных IP. Если у Вас иная ситуация, пожалуйста, напишите мне в лс.


          1. midaw1
            02.08.2017 13:05

            Вроде теперь исправили. Я так понимаю вместе с этим мы поломали их бизнес-процесс. Когда через письмо сразу открывались все данные… И они сопротивлялись что-то менять.


  1. g0rd1as
    30.07.2017 16:19
    +1

    Понятно, что клепать сайты не их специализация, но разве они не могли заказать сайт у профессионалов, чтобы как минимум не было таких позорных дыр?! Впрочем, о чем это я! Обычно начальство мелких контор все делает так, чтоб «подешевше» и чтоб прибыль получать уже вчера. :(


  1. slutsker
    31.07.2017 00:47
    +1

    А какими последствиями для организации может обернуться жалоба за такое неряшливое хранение персональных данных? И куда её в подобных случаях стоит отправлять?


  1. Sykoku
    31.07.2017 17:32
    +1

    Видел подобную реализацию у нескольких агрегаторов новостей еще очень много лет назад. Линки внутри письма имеют хеш+user_id тэг. При переходе тебя приветствуют по имени (приятно) и дают возможность редактировать состояние подписки как на этом сайте (неприятно), так и вообще по данному аккаунту (обычно — мейл). Последнее уже совсем неприятно. Как результат — тебя периодически подписывают на не тематические новости или рассылки других стран (ну не читаю я на греческом).
    На вскидку — МирТесен, Рассылки Института Юрия Морозова (или Мороза — не помню). Лет 15 назад эти грешила подписка от Subscribe.ru


  1. flockin
    03.08.2017 20:51
    -3

    Статья 272. Неправомерный доступ к компьютерной информации
    Статья 137. Нарушение неприкосновенности частной жизни
    вот тот человек, фактически нарушил эти пункты, фактически взломал их сайт с целью получения информации ПДн

    Плохо закрытая дверь еще не означает что ее надо вскрывать


    1. iSergios
      03.08.2017 20:58
      +1

      А вот и представители компании подтянулись :)
      Давайте по порядку.

      Статья 272 УК РФ предусматривает ответственность за неправомерный доступ к охраняемой законом компьютерной информации, если это деяние повлекло уничтожение, блокирование, модификацию либо копирование компьютерной информации. При этом неправомерным считается доступ к конфиденциальной информации лица, не обладающего необходимыми полномочиями (без согласия собственника или его законного представителя), при условии обеспечения специальных средств ее защиты («Методические рекомендации по осуществлению прокурорского надзора за исполнением законов при расследовании преступлений в сфере компьютерной информации» (утв. Генпрокуратурой России)). Специальные средства защиты информации обеспечены не были. Автоматическая авторизация при прохождении по ссылке не считается средством защиты вообще. Я уж промолчу про ее «специальность». Данные не были защищены вообще, при этом отдавались по протоколу http (что, кстати, влекло их передачу по телекоммуникационным сетям в открытом виде и обеспечивало возможность их перехвата любому школьнику) и лежали в открытом интеренете.

      Статья 137 УК РФ предусматривает ответственность за незаконное собирание или распространение сведений о частной жизни лица, составляющих его личную или семейную тайну, без его согласия либо распространение этих сведений в публичном выступлении, публично демонстрирующемся произведении или средствах массовой информации. Во-первых, я никакие сведения ни о чьей частной жизни не собирал и не распространял. Во-вторых, персональные данные сами по себе сведениями о частной жизни лица не являются. В-третьих, я здесь не то, что данные третьих лиц, я даже наименование компании (Вашей ведь? :)) не стал публиковать. Последнее я не сделал не из юридических, а исключительно из этических соображений — просто стал заложником своего обещания не публиковать наименование компании в случае устранения уязвимости.

      Что же касается плохо закрытой двери. то двери не было вообще. Я указал на это компании — меня проигнорировали. Я заставил эту дверь поставить — ее поставили. В принципе, могли бы сказать спасибо, если уж на то пошло :) Давайте не будем забывать, что компания, о которой идет речь, официально зарегистрирована в установленном законом порядке в качестве оператора персональных данных. Следовательно, она (компания) обязана была принять исчерпывающие меры для обеспечения надлежащего хранения предоставленных ей ее клиентами персональных данных, полностью исключив при этом несанкционированный к ним доступ третьих лиц. Этого сделано не было. И в силу того, что данные не были защищены на должном уровне, эти данные утекали на сторону. А то, что они утекали, я не сомневаюсь — сочетание моего номера телефона и фио супруги не засвечено больше нигде (ибо просто негде). В этой связи очень весело выглядит тот факт, что компанию вполне устраивало то, что кто-то планомерно и методично (возможно, годами) тянул с их сайта всю информацию об их клиентах (а ведь и конкуренты могли!), но почему-то вызвало недовольство предложение эту самую лавочку прикрыть.

      А выяснение значения слова «взлом» я оставлю Вам в качестве домашнего задания :)


      1. flockin
        04.08.2017 09:01
        -2

        А Вы уверены, что «Специальные средства защиты информации» обеспечены не были? Наличие средств защиты никак не гарантирует саму полную защиту, в Вы это прекрасно понимаете. Даже банальный антивирус на это уже средство защиты. Межсетевое экранирование, IDS, и другие средства вполне могут иметься, но это не значит что они сработают при банальном переборе.,
        И защита в виде «пароля» имеется на ресурсе. Никто не говорит, что она обеспечила достаточную защиту ресурса от неправомерного получения информации, но факт такого неправомерного доступа к охраняемой законом компьютерной информации мне кажется имелся. Вас же никто не просил создавать «программу" для перебора «парольной» ссылки и скачивать к себе на компьютер ПДн третьих лиц. Причем Ваши цели совсем не известны, и как Вы поступили потом с этой информацией тоже.
        Если для Вас защита данного сайта является «открытой дверью», это не значит, что для других это тоже самое. Для людей, не связанных с ИТ это не так совсем. С моей стороны, а я совсем не представитель этой компании, я вижу эту ситуацию так: человек воспользовавшись своими специальными знаниями обнаружил уязвимость в системе защиты «сайта» и получил неправомерный доступ к охраняемой законом компьютерной информации с целью ее копирования.


        1. iSergios
          04.08.2017 10:50
          +2

          А Вы уверены, что «Специальные средства защиты информации» обеспечены не были?

          Если программа средства защиты не работают, их присутсвие и количество не имеют значения. Антивирус и файрволл не имеют ни малейшего отношения к защите информации в системе ее представления на сайте.
          И защита в виде «пароля» имеется на ресурсе.

          Который вводится автоматически без каких-либо действий пользователя? И что (а, главное, от кого) он защищает?
          «парольной» ссылки

          Это новый термин. Вероятно, новое средство защиты. Вам следует его запатентовать. Соль как раз в том и была, что подбор не требовался.
          Для людей, не связанных с ИТ это не так совсем.

          Какое отношение люди, не связанные с ИТ, имеют к сайту, способам хранения персональных данных и системам защиты этих данных? Люди, которые занимаются этими вопросами, обязаны быть очень тесно связанными с ИТ. Или это профнепригодность. Для людей, не связанных с медициной, полостная операция может выглядить как вскрытие, а вскрытие — как глумление над трупом. Но это не значит, что они правы. Просто людям, не связанным с какой-то сферой, не следует делать выводы о том, в чем они не сведущи.
          человек воспользовавшись своими специальными знаниями обнаружил уязвимость в системе защиты «сайта» и получил неправомерный доступ к охраняемой законом компьютерной информации

          Этот доступ получал любой человек, пройдя по ссылке. Вам ведь не нужны специальные познания для того, чтобы напечатать адрес сайта в адресной строке?

          И вообще, что Вы мне хотите предъявить? Энное число людей до меня обнаружили эту же брешь и по-тихоньку (неделями, месяцами, годами — мы не знаем) тянули данные людей и использовали их в своих целях (сами по ним «работали», собирали базы и продавали, да мало ли как еще). Если бы я поступил так же, этого бы никто не узнал, и такие как Вы были бы довольны, верно?

          Рано или поздно такие дыры приводят к серьезным проблемам. Эксплуатируя уязвимость такого рода можно натворить много всего: адресно уводить клиентов, саботировать работу компании, массово «отказываясь» от отправлений или меняя время/адрес доставки, корректировать адрес доставки на иной и получать чужой груз, разводить людей на деньги, как это описано тут, и т.п. А можно было просто собрать всю эту базу за несколько месяцев или, даже, лет и опубликовать вместе со всеми телефонами, адресами и наименованием компании. Красочно и в картинках. Сможете оценить репутационные потери при таком сценарии?


  1. Gorodnya
    03.08.2017 21:04

    Я тут, кстати, свою статью написал https://habrahabr.ru/post/334782/ на основе Вашей, уж не обессудьте)


    1. iSergios
      03.08.2017 21:26
      +1

      Да я не против :) Я даже рад, что, так сказать, косвенно поспособствовал этому :)