Особенности национальной охоты на баги или Bug Bounty по-славянски



    Почему крупнейший мобильный оператор платит за критические уязвимости 3-мя месяцами бесплатного интернета, государственная авиакомпания считает паспортные данные и дату рождения не конфиденциальной информацией, а служба доставки №1 в стране по скриншотам отрицает утечку данных?

    А тем временем, на другом континенте, Пентагон собирает 1410 фрилансеров ИБ-шников и выплачивает 75 000 долларов за найденные уязвимости. Министерство Обороны США так же запускает программу вознаграждения и выплачивает более 100 000 долларов за 118 найденных уязвимостей (багов) на всех официальных сайтах департамента.

    В данной статье мы рассмотрим особенности внедрения и обслуживания одного из самых эффективных мер в сфере безопасности (security) — программа поиска и выявления уязвимостей (bug bounty).



    Для полноты понимания отношения отечественных компаний к безопасности, раскрою первый абзац, дополнив его фактами и деталями (пруфами):

    Недавний пост об уязвимости у компании-авиаперевозчика МАУ и ее неадекватная реакция, дословная цитата: «получаемые данные не являются конфиденциальной информацией (таких как дата рождения и паспортные данные)»

    Получше, но такая же странная ситуация была у крупнейшего оператора мобильной связи Киевстар, летом 2016 года. Chief Digital Officer (CDO) Виталий Султан заявил о том, что в компании к безопасности относятся более чем серьезно и выразил свои надежды опубликовать условия bug bounty в течении пару недель… Прошло 2 года, а в Google находится только моя старая статья и внимание(!) полный отчет про full disclosure уязвимости, на которую Киевстар не захотел даже реагировать на сайте openbugbounty

    Почему компании и белые хакеры не могут договориться?


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

    Я уверен, что всего этого не было бы, адекватная реакция компании и банальная благодарность разрешила бы любые трения. Давайте немного вникнем и подумаем почему так происходит? Я просто приведу из своего опыта 3 типичных опасения касательно bug bounty программы:

    1. А зачем нам подталкивать хакеров на взлом?

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

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

    2. А если хакеры не пришлют нам найденную уязвимость, а используют ее в плохих целях?

    — У хакера всегда есть выбор: сообщать или не сообщать про уязвимость. Он ведь знает, сколько денег он может официально получить. А вдруг с помощью уязвимости он сможет «заработать» в разы больше, например миллионы долларов? Ведь он может скрыть факт нахождения уязвимости, а позднее, с анонимного устройства поступить как черный хакер (black hat hacker)?

    Это попытка скрыть нескрываемое или отсрочить неизбежное (вероятное). А вдруг не найдут, а вдруг само после обновления (апдейта) «рассосется»? Чтобы продать или «реализовать» уязвимость нужно время для планирования операции, связи, знания обналичивания и анонимности, а также подготовка. А в условиях конкуренции с другими хакерами (bug hunter'ами) — видна лишь перспектива уступить законное вознаграждение другому, более этичному хакеру.

    3. У нас много (апдейтов) предстоит много обновлений ПО, планируется добавление нового функционала.

    — Зачем тестировать, то, что мы, вероятней всего, будем обновлять (апдейтить), а так же добавлять дополнительный функционал. Поиск уязвимостей (bug hunting) будет бесполезной работой.

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

    А какие правила общения между белыми хакерами и компанией?


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

    Самый показательный — (из недавнего) — это серия публичных откровений под названием #FuckResponsibleDisclosure. Хактивисты были настолько опечалены безразличной и «пофигистической» реакцией организаций, что прибегли к единственному оставшемуся выходу: предупредить всех публично об опасности, разгласив полную информацию о найденных уязвимостях.

    Может ли нарушение обязательств со стороны компании после Responsible Vulnerability Disclosure повлечь за собой право нарушить их хакеру в ответ?

    Ответом на этот вопрос считаются правила Coordinated Vulnerability Disclosure. Но кто имеет право координировать раскрытие уязвимости, если вендор отказывается участвовать в этом процессе?

    Давайте просто вспомним прописные истины bug hunting'a:

    Белый хакер имеет право:

    • Начать процесс выявления уязвимости при обнаружение ее признаков.
    • Передать информацию об уязвимости ответственному лицу в компании

    Не имеет право:

    • Наносить непоправимый ущерб в процессе выявления уязвимости.
    • Разглашать уязвимость третьим лицам.

    Кроме того:

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

    Белых хакеров не остановить. Они будут присылать в техподдержку информацию об уязвимостях, которые они находят. Терпеливо ждать ответа и пояснять. Присылать доказательства существования уязвимостей (Proof of Concept) и скриншоты с видео. Блюсти негласные принципы раскрытия уязвимостей (resposible disclosure) и публично раскрывать уязвимости, предупреждая всех об опасности связываться с организацией.

    Комментарии 22

      +7
      Требовать деньги или ставить любые условия перед тем как раскрыть уязвимость — это шантаж.
      Спрашивать о денежном вознаграждении перед раскрытием уязвимости — это не white hat hacking


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

        Буду рад если кто предложит более эффективные правила и не менее «белые».

        А какие изысканые способы серых хакеров торговаться и получать деньги за найденные уязвимости знаете вы?
          +1
          Ну тут можно перефразировать в духе: «продаю отсрочку публикации результатов моих исследований на проникновение/эксклюзивный доступ к исследованиям. Цена — ХХХХ$». Тогда это «вроде как» не шантаж. Продаю любому же, рынок, не хотите — не покупайте.
            0
            Великолепно! Фьючерс!
            +1
            А что незаконного в том, чтоб не сообщать постороннему о его проблемах?
            Вот скажем, если врач увидит у прохожего симптом серьёзной болезни, должен ли он сразу сообщить диагноз и предложить лечение или может сказать: «вы серьёзно больны, обратитесь к врачу, можно ко мне, вот визитка».
            Самое страшное что можно пришить отказывающемуся сообщить проблему бесплатно, это что-то типа «оставление в опасности», но это скорее относится к клиентам бизнеса, и чтоб этого избежать нужно требовать от хакера немедленной публикации информации о наличии уязвимости, чтоб клиенты смогли свалить, но тогда это реально будет похоже на шантаж, типа «или вы сейчас же мне платите за демонстрацию уязвимости, или завтра я, по зову долга, предупрежу всех ваших клиентов о том, что ваш сервис — решето».
            Так что, «у вас есть уязвимость, позволяющая украсть такие и такие данные всех клиентов. Платите мне $N и я объясню, иначе ищите сами» — это, пожалуй, самое этичное, что может предложить хакер.
              +1
              Чтобы знать наверняка, что можно украсть данные, нужно хотя бы это попробовать сделать, хоть на пол шишечки, хоть одним глазиком — это вы уже сами будете придумывать отмазку следователю. Потому что это подпадает под статью:

              Статья 361. Незаконное вмешательство в работу электронно-вычислительных машин (компьютеров), систем и компьютерных сетей

              Поэтому я и пишу о законности.

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

              P.S. Врач может видеть симптомы и догадываться о болезни. Но чтобы ему сформировать Proof of Concept, вероятней всего, ему надо вскрыть вас или отправить на анализы. И то это может быть ошибочный диагноз. Медицина еще большая продажа воздуха чем IT :D
          +1
          К сожалению (или к счастью, как посмотреть) рано или поздно у достаточно известных/продвинутых белых хакеров появляются контакты, которые готовы покупать серьезные уязвимости. И тогда начинается борьба с совестью: отдать данные компании (особенно сомнительно, если нет bugBounty с вознаграждениями), продать на сторону или забить. Каждый решает для себя.
            0
            Интересное дополнение! Зачастую, агрегаторы и платформы bug bounty программ утверждают обратное, что white hackers с репутацией и опытом работы можно больше доверять, потому что они профессионалы. Но тяжело поспорить с тем что больше и соблазнов и влияния на них со стороны.
              +1
              Давление и влияние действительно есть. Иногда даже со стороны программистов заказчика (!), которые не хотят исправления или раскрытия существования части уязвимостей (хотя это больше относится к закрытым Bug Bounty и аудитам).

              Во многом вопрос в том, насколько конкретному хакеру нужны деньги и не хочется идти на тёмную сторону. Я не обеднею от отсутствия выплат за несколько багов (и не хочу идти на тёмную сторону), а кто-то готов торговаться за каждый, потому что ему это важно. Знаю как минимум одного исследователя, который просто писал компаниям, что «за дыру в вашем сервисе мне предложили столько-то. Заплатите больше — отдам вам.». Такой подход тоже иногда работает, хотя он очень грязный.
            0
            А как вообще с юридической точки зрения выглядит продажа информации об уязвимостях? А третьему лицу?
              0
              Это может быть законно в рамках Coordinated Vulnerability Disclosure
                +1
                ИМХО, Это как медвежатник взломал замок, получил за это денежки и ушел, оставив квартиру на расхищение заказчику.
                Совсем не юридический язык, но аналогия, как мне кажется, подходящая.
                  0
                  Как мне кажется, аналогия с медвежатником близкая, но не полная. Больше похоже на человека, который потыкал палочками в замок и сказал медвежатнику, что если он возьмет вот эти инструменты, то сможет открыть дверь. Потом человек взял деньги за советы и ушел.
                  +1
                  без подписания договора на пен-тест — Статья 361. Незаконное вмешательство в работу электронно-вычислительных машин (компьютеров), систем и компьютерных сетей
                    0
                    Если я правильно нашёл и понял эту статью, то ключевой момент — не факт вмешательства, а факт причинения ущерба или распространения вируса. Получается, что ничего не мешает искать уязвимости, если их не использовать (хотя не всегда это возможно)?
                      0
                      andreykp К тому же, в уголовном кодексе есть еще понятие умысел, который нужно доказать
                        +1
                        К сожалению у меня был опыт общения с судебной системой.
                        На практике приходится доказывать отсутствие умысла, а не его наличие.
                          +1
                          И опять, к сожалению, не в этом случае. Тут мы скорее будем говорить об умысле самого факта вмешательства (тыкать в кнопки в браузере можно, запускать Burpsuit и смотреть «специальную техническую информацию» результатов этого тыканья — уже умысел). Про умысел причинения ущерба тут речь не идет.
                          +1
                          прошу прощения, я нашел более детальное описание нарушений и притягивание их к законодательству

                          Есть очень интересный пункт
                          «Незаконный доступ в компьютерную систему или сети».

                          Или вот здесь, коментарии от юристов (обрезал «воду»):
                          «4. Втручання у роботу… систем… Відсутність наслідків у вигляді… знищення інформації… може кваліфікуватися: 1) як замах на вчинення злочину… 2)… незаконне ознайомлення з інформацією… 3)… незаконному втручанні в роботу… розкрадання майна ...»

                          т.е. как только ты получил доступ, или даже попытался — сразу считаешся нарушителем.
                          Момент порчи/искажения информации или другое нанесение ущерба носит отягощающий характер, нарушением является уже получение доступа.
                            +1
                            К сожалению, нет. 361я не требует наличия исчисляемого ущерба. В данном случае (по мнению законодателя) она защищает право владельцев систем и сетей на неприкосновенность, а не их имущественные права.

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                      Самое читаемое