Я являюсь клиентом украинского оператора сотовой связи Киевстар и пользователем их веб-сервиса my.kyivstar.ua. Как и многие другие операторы, Киевстар предлагает веб-версию личного кабинета, в котором можно просмотреть баланс счёта, детализацию звонков, изменить тариф, заказать или отключить услугу и пр.
Так же у них недавно была запущена новая версия личного кабинета new.kyivstar.ua. В ней появилась интересная функция — добавление другого телефона Киевстар через смс верификацию. Я взялся её проверить на наличие уязвимостей, так как она фактически давала такой же доступ к добавляемому телефону, как и к своему, что меня не особо радовало, как клиента.
Новый сайт имеет следующий интерфейс добавления телефона:



Добавление производится в 4 шага:
Ввод номера телефона


Выбор варианта через присоединения по смс (бывает ещё через статический пароль, но у меня он не отображается)


Ввод полученной смс.


Подтверждение.

Эти 4 шага преобразуются в серию POST и GET запросов. Последние три запроса из этой серии отвечают за добавление номера после пройденной ОТП верификации.
И я решил проверить: что, если повторить эти запросы без тех, что отвечают за СМС верификацию.
Рассмотрим более детально эти последние 3 запроса.
Они имеют следующий вид в инструменте разработчика Google Chrome (Shift+Ctrl+I):


Запросы merge.rpc отправляются на адрес account.kyivstar.ua/cas/merge/merge.rpc.
Содержимое первого запроса:


Запрос содержит номер добавляемого телефона(097...)
Содержимое второго запроса:


Третий запрос на адрес new.kyivstar.ua/ecare/addOrMerge — это GET запрос без параметров, подтверждающий предыдущие две операции.

Далее я решил повторно воспроизвести эти 3 запроса, предварительно удалив добавленный только-что телефон из личного кабинета.
Для воспроизведения я использовал приложение Postman.


Как и предполагалось, после обновления страницы, телефон был успешно добавлен в личный кабинет.


Что мы имеем.
Мы можем добавлять любой номер телефона в свой личный кабинет без СМС верификации и управлять им как своим, а именно:
  • просматривать баланс и детализацию звонков
  • просматривать PUK1 код и серийный номер SIM-карты, что позволяет самостоятельно заменить сим-карту
  • добавлять новые услуги и менять тарифный план
  • и самое главное — переводить деньги с телефона на телефон

Лучшего подарка мошенникам и не придумаешь.

Как и полагается, я сразу связался с клиентской поддержкой Киевстар и попросил предоставить мне контакты службы безопасности или ответственного сотрудника отдела разработки, что бы им детально описать суть уязвимости и способ её воспроизведения. Как и стоило ожидать, мне отказали в моей просьбе и предложили прислать описание уязвимости либо в чат, либо через универсальную форму на сайте.
Понимая, какие возможны риски, если подробное описание уязвимости будет доступно любому сотруднику клиентской поддержки, я всё таки настоял на своей просьбе, но опять же безуспешно. Понимая, что другого выхода нет, я оформил подробную инструкцию по воспроизведению уязвимости в файлик Google Docs, завернул его в ссылку через сервис для трекания ссылок clickmeter.com и отправил в чат.
Как я и ожидал, моя заявка вызвала ажиотаж и повышенный интерес среди сотрудников компании, что отобразилось в аналитике сервиса clickmeter.com:


Заявку за 2 дня просмотрел 22 уникальный пользователь.


По статистике видно, что ссылку смотрели как с компьютеров, так и с мобильных устройств. География просмотров так же не ограничилась киевским офисом, в списке Киев, Львов, Днепропетровск, Тбилиси.
Анализируя статистику, становится ясно, что существующий канал связи с компанией не предназначен для подачи заявок подобного рода и может привести к утечке информации и эксплуатации её сторонними лицами до закрытия уязвимости.

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

Эта история напоминает нам о том, что нужно более внимательно относиться к вопросам информационной безопасности в компаниях таких масштабов, как Киевстар, создавать для этого отдельные каналы связи, доступ к которым будут иметь только уполномоченные на это сотрудники. Ну а так же участие компании в bug-bounty программах или создание своей собственной так же положительно влияет на укрепление безопасности сервисов.
Поделиться с друзьями
-->

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


  1. Tihon_V
    15.07.2016 10:21
    +1

    Меня больше удивило то, что при открытии сервиса с другого устройства используя телефон, как хотспот — авторизация не требуется. Реакция саппорта — this is feature, by design.


    1. zuek
      15.07.2016 11:19
      +1

      Этим страдает не только Киевстар, но и большинство российских ОпСоСов.


      1. Milfgard
        15.07.2016 17:19

        У Йоты нельзя поменять параметры другого своего устройства — поменяются на том, через которое вы выходите в сеть. Хотя с точки зрения интерфейса именно у другого. Милый фокус.


  1. Swartex
    15.07.2016 11:19

    мда… а на прямую в службу безопасности, не дали связаться) как всё печально)


    1. Stalker_RED
      15.07.2016 12:11
      +2

      У «обычных» операторов колл-центра есть скрипты. Такие бумажки или программки с пошаговыми инструкциями что клиенту говорить и о чем спрашивать. Если возникает нестандартная ситуация, то хороший колл-цетнр должен переключать на специалиста, у которго своя голова на плечах. Проблема возникает когда «обычный» оператор не может отличить действительно серьезную «нестандартную ситуацию», и снова и снова зачитывает стандартные фразы вежливо отправляя клиента восвояси. Ведь если он слишком часто будет перенаправлять на «специалиста» ему за это спасибо не скажут.


      1. bull1251
        19.11.2016 16:29

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

        Теперь предлагаю рассмотреть полное описание эксперимента Скалли и Дрюля http://www.physic-in-web.ru/study-119-12.html (с 12 по 15 стр.). Приведу не большой отрывок из описания:

        Итак, для сигнальных фотонов, холостые партнёры которых обнаружены детектором 1 или 4, мы имеем информацию о выбранном пути, но для сигнальных фотонов, холостые партнёры которых обнаружены детектором 2 или 3, информация о выборе пути стёрта (рис. 7.5б).

        Означает ли это стирание части информации о выборе пути — хотя мы ничего не делаем с сигнальными фотонами непосредственно — что интерференционные эффекты восстанавливаются? Это действительно так, но только для тех сигнальных фотонов, чьи холостые партнёры попали в детектор 2 или детектор 3. Именно, места попадания всех сигнальных фотонов на экран будут давать картинку, похожую на данные для рис. 7.5а, не показывающего даже самого слабого намёка на интерференционную картину, что характерно для фотонов, которые идут либо одним, либо другим путём. Но если мы рассмотрим лишь подмножество результирующих точек — например, от тех сигнальных фотонов, для которых холостые фотоны попали в детектор 2, — то это подмножество точек будет давать интерференционную картину! imageimage
        О каком восстановление интерференционной картины идет речь, если фотоны образованные в даун-конвертерах не когерентны? Даже если рассматривать только подмножество результирующих точек из детектора 2, отсутствие когерентности должно разрушить интерференционную картину!

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


        1. krimtsev
          15.07.2016 13:13

          Как работник колл-центра скажу, что работа оператора это шаблонно-монотонная работа. Да, количество шаблонов может быть разное, но с такими случаями не обращаются вообще, или обращаются очень редко. Тем более за частую в супортах сидят девушки, которые вряд ли понимают что Вы от них хотите за гранью обычных вопросов.

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


          1. gen4eg
            15.07.2016 14:25

            Колл-центр, который вероятнее всего попадает в департамент электронной коммерции Киевстара, вообще отдельная песня.
            Однажды, на Украине, происходили «провайдерские войны» и все благополучно друг другу резали кабели. По итогу, в нашем доме — интернет от Киевстара пропал где-то на месяц. Ежедневно, я звонил в КЦ (а дальше пробиться — нереально), и операторы кормили меня завтраками, что «Вот вот, и сегодня после 18:00» все будет. Естественно, что ничего не происходило. И где-то на третьей неделе я написал заявление об отключении. Компания такого уровня, зная проблему (в данном случае — конкурентные войны), могла бы оповестить всех клиентов, которые попали под раздачу, или хотя бы тех, которые обзванивали КЦ ежедневно, что проблема массовая и связана с тем-то, ждите. А лучше создать смс рассылку, если профиле указан номер телефона (а он был указан, и связан с профилем). Да и вообще, месяц пробрасывать новые кабели — как то долго, для компании такого уровня.
            Не говоря уже, о том, что в процессе, тот же КЦ звонил, и предлагал тариф 80 мбит по цене, которая выше той, что была у меня на тот момент, при пропускной способности в 100 мбит.
            Совокупность факторов говорит о том, что в этом департаменте у них все очень печально. И это не упоминая постоянный смс-спам с текстом «Пополните счет на 70 грн, и получите бонус в 10 грн, которые можно будет потратить только после траты этих 70ти и всех ваших, но не позже трех дней»


          1. parmactep
            16.07.2016 08:42

            Мне вот банально интересно. Выше по ветке комментарий «У операторов все плохо» в плюсе. Ваш ответ «Да все плохо, но я, как оператор, стараюсь лично для себя с этим бороться» в минусе. Хабр — такой хабр…


            1. krimtsev
              16.07.2016 08:47

              Если Вы обо мне, то меня приняли за сотрудника Киевстара, что таковым не является.


        1. Trotil
          16.07.2016 06:24

          Как вариант, попросить мобильный телефон этого оператора техподдержки и через пару минут продиктовать ей её персональные данные.
          Это, возможно, убедило бы в важности проблемы.


          1. dinikin
            16.07.2016 08:54

            Такие действия нарушают закон о защите перснональных данных и закон о тайне переписки (если в персональных данных будет детализация звонков) и поэтому можно попасть под статью


            1. Frankenstine
              16.07.2016 22:25

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


              1. dinikin
                16.07.2016 23:47

                Согласно Закону Украины о Персональных данных:
                «персональные данные — сведения или совокупность сведений о физическом лице, которое идентифицировано или может быть конкретно идентифицировано»
                Я считаю, связка номер карты — ФИО не идентифицирует конкретного человека, поэтому не могут считаться персональными данными.


                1. Frankenstine
                  17.07.2016 13:21

                  А я вот, взяв за основу свою карточку, поменяв пару цифр получил ФИО незнакомого мне человека, загуглив которое я нашёл где она живёт, кем работает, за кем замужем и как зовут её детей. Мне осталось только нарисовать сайт-клон Приват24 и прислать ей на почту письмо ведущее на этот клон, где я получил бы её пароль и даже код из СМС. И всё благодаря полному ФИО владельца карты по её номеру.


            1. VolCh
              17.07.2016 00:18

              Обычный гражданин разве обязан хранить чужие тайны?


              1. pyrk2142
                17.07.2016 01:21

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


                1. pyrk2142
                  17.07.2016 01:26

                  Хотя нет, я неправ. В законе «О персональных данных» нашел следующее:

                  Операторы и иные лица, получившие доступ к персональным данным, обязаны не раскрывать третьим лицам и не распространять персональные данные без согласия субъекта персональных данных, если иное не предусмотрено федеральным законом.


                  1. VolCh
                    18.07.2016 07:56

                    Продиктовать оператору её персональные данные точно не попадает под раскрытие или распространение.

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


      1. GreyCat
        15.07.2016 14:13
        +1

        … и зачастую у операторов стоит KPI «количество переключений на уровень выше», и их чуть ли не штрафуют за каждое такое переключение, если «уровень выше» скажет, что переключали зря и они должны быть решать это сами.

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


        1. ksil
          15.07.2016 15:14
          +1

          всех отшивших.


          1. GreyCat
            15.07.2016 15:18

            Весьма сложно находить и доказывать. Как правило, 15 раз человек будет ломиться разными способами: по телефону, через e-mail, через другие e-mail, через твиттеры, через личные кабинеты и т.д. Почти никто это не агрегирует в одном месте.


            1. ksil
              15.07.2016 15:21

              было бы желание, как и везде.


        1. M-A-XG
          16.07.2016 14:46

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


  1. pyrk2142
    15.07.2016 13:12
    +2

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

    50% компаний не ответили с первого раза на письмо в техподдержку.
    25% компаний не ответили вовсе после нескольких напоминаний.
    Несколько компаний прекращают переписку со словами «Если это заинтересует менеджера, он вам напишет». Среди них крупная российская CRM.

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


    1. JIuMOHKA
      15.07.2016 13:56

      > правда не дали вознаграждение
      Возможно, я не очень хорошо Вас понял, но автор вроде как не говорил о том, что ему не дали вознаграждение. наоборот, сослался на bug-bounty программу, что наталкивает на мысль, что его все-таки отблагодарили.

      Интересно только, как?


      1. dinikin
        15.07.2016 13:59
        +2

        Да, отблагодарили. Подключили дополнительных 4000 ежемесячных мегабайт инетрнета на 3 месяца.


        1. ksil
          15.07.2016 14:08
          +3

          эээ. на мой взгляд, лучше никакого вознаграждения, просто устная благодарность, чем такая подачка.


          1. pyrk2142
            15.07.2016 14:18
            +1

            Самым шикарным вознаграждением, которое я получил, был промокод на скидку в 10% на один месяц хостинга.


            1. Gorodnya
              15.07.2016 14:37
              +2

              У меня был сертификат на… чашку кофе (одну чашку кофе).


              1. pyrk2142
                15.07.2016 15:12
                +1

                Это вообще шедевр, конечно. Хотя я посчитал и понял, что ваша чашка кофе может быть выгоднее. На том хостинге самый дорогой тариф стоит около 1600 рублей в месяц, так что максимум я получал выгоду 160 рублей. А кофе иногда стоит дороже 160 рублей)


                1. Gorodnya
                  15.07.2016 15:21
                  +1

                  Нет, не выгоднее) 20 грн. было ~ 50 рублей.


      1. pyrk2142
        15.07.2016 14:15
        +2

        Вероятно, я неправильно понял последний абзац. При написании комментария я думал, что автор имеет ввиду, что компаниям стоит создавать открытые Bug Bounty программы, а не то, что у Киевстар есть такая программа.

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


  1. electronus
    15.07.2016 19:07
    +2

    Я помню когда-то подавался в ИТ отдел Киевстара на работу. Заполнял форму на сайте, и она всё время падала. Я открыл тикет по поводу этого, и мне его дважды закрывали со словами «мы не можем воспроизвести ошибку, которая происходит у Вас». Тогда я понял, что дело в содержимом формы. Начал заполнять форму заново, убирая блоками текст, и выяснилось, что форма падает, если в поле input встречалось слово linux. Н-ный раз переоткрыл тикет по телефону и сообщил, что форма падает от слова linux, мне пообещали разобраться…
    Но потом проверил через пару месяцев, и linux так и остался «убойным».
    Как хорошо, что я там не работаю


    1. EviGL
      16.07.2016 08:43

      Форма, падающая от слова linux? Напоминает недавний xkcd. Я принесу бензин для зажигалок.


      1. EviGL
        16.07.2016 09:08

        Съеденная картинка http://xkcd.com/1700/


  1. M-A-XG
    15.07.2016 20:33

    Дали 3 мес интернета?
    Это такое.
    Вы им хоть пользовались ранее?
    Буду знать, что уязвимости в КС не стоить репортить.

    Кстати, находя уязвимость/баг у банка всегда спрашиваю есть ли у них программа благодарствий за это.
    Ни у одного банка еще не было. :) Ну я им и не открывал тайну. Хотя 1 раз сказал, что стоило бы добавить переадресацию с http на https в ИБ Альфабанку. Но прошло уже несколко лет, а воз и ныне там.
    Писал тут статью о дырах Дельтабанка, ее не пропустили, хз чего, банк-то уже был в стадии ликвидации, ИБ там не работал.

    Нашел дыру у хостинга. Дали год хостинга. Дыру не исправили. :)

    У нас в компании легко достучаться по проблеме веба. Один клиент даже генеральному недавно пожаловался, что его баг долго фиксили. :) Некоторые баги дейтсвительно не воспроизводятся, а иногда КЦ/ТП передают разработчикам некорректную информацию :)


    1. saboteur_kiev
      16.07.2016 03:57
      +1

      «Дали 3 мес интернета?»
      «Буду знать, что уязвимости в КС не стоить репортить.»

      Ссылку на этот камент необходимо передать начальнику безопасности Киевстара ;)
      krimtsev, вы же можете с этим помочь?


      1. krimtsev
        16.07.2016 05:06

        я работник немного другого колл-центра и с Киевстар никак не связан

        а мне уже в карму заминусовали там))


      1. pyrk2142
        16.07.2016 06:32

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

        Например, возьмем «абстрактную» компанию «СуперПуперМегаПланирование», которая разрабатывает, предположим, CRM. И пусть ее панель управления насквозь дырявая. Один исследователь решил сообщить, но его проигнорировали. Другой тоже решил сообщить, и тоже получил молчание в ответ. И какой-нибудь десятый напишет статью «Почему СуперПуперМегаПланирование — решето» и открыто опишет все уязвимости. В результате компания получит серьезный удар по имиджу, программисты будут вынуждены экстренно писать заплатки, плюс куча злых хакеров может украсть данные и найти еще более серьезные дыры. Почему нельзя нормально ответить первому исследователю, выплатить ему 10-20 тысяч и поблагодарить? Что за слепая надежда, что все будет хорошо?


        1. saboteur_kiev
          16.07.2016 10:42
          +1

          потому что очень часто в руководстве сидят «начальники», а не «руководители», которые больше волнуются за финансовые потоки, чем за какой-то там код, ведь у них же работают тыжпрограммисты, которые обязаны все делать отлично — им же деньги платят. Таков образ мышления начальников.


        1. Stalker_RED
          22.07.2016 02:24
          -1

          А еще, у компании может просто отсутствовать такая строчка в бюджете, как выплата каких-то там наград посторонним людям(!), которые что-то там сообщили.


          1. pyrk2142
            22.07.2016 08:45

            Разумеется, у компании может отсутствовать такая строчка в бюджете, хотя я не верю, что есть хотя бы одна компания, которая не может предложить вознаграждение в несколько тысяч или дать хорошую скидку и подарок (не путать с купоном на кофе или скидкой в 10% на один месяц). Другое дело, стоит ли игнорировать сообщения или писать «Мы ничего не даем» (дословно)? 9 человек проглотят подобное и уйдут, а один может продать уязвимость или просто опубликовать в выходные.


    1. Gorodnya
      19.07.2016 12:51

      M-A-XG, а напишите, пожалуйста, мне в личку/профиль.


  1. Dark_Purple
    15.07.2016 22:56

    Было интересно, спасибо!


  1. latteo
    16.07.2016 00:12

    При этом в личном кабинете доступны услуги: «Переадресация SMS» и «Переадресация вызова».
    В профиле иногда можно найти ФИО, адрес, дату рождения, email.
    Это позволит перехватить управление над куда более критичными сервисами, чем ЛК оператора.


  1. pyrk2142
    16.07.2016 10:06

    Сегодня заинтересовался таким вопросом: предположим, какая-то компания игнорирует сообщения об уязвимостях. Если я публикую информацию об этом и описание уязвимостей через те же две недели, я нарушаю какие-либо законы или правила?


    1. destroy
      17.07.2016 23:13

      Постите анонимно если игнорят и все будет хорошо.


  1. brers
    16.07.2016 20:34
    -3

    >> Так же у них недавно была запущена новая версия личного кабинета

    Союз «также» пишется слитно.
    Простите, но режет глаз.


  1. rewiaca
    22.07.2016 12:02

    Поддерживаю автора поста, мое виденье на ситуацию — Почему в Украине нет белых хакеров или история взлома Киевстар