1,4K подписчиков

Допустима ли публикация всё ещё актуальных уязвимостей?

Допустим, я знаю об уязвимости какого-то продукта или сервиса. Предположим, я уже пытался связаться с его разработчиками, но пока безуспешно: они либо не видят моё сообщение в тоннах фидбека, либо просто его игнорируют. Могу ли я опубликовать подробности найденной уязвимости и рассказать о ней всему миру?
Допустим, я знаю об уязвимости какого-то продукта или сервиса.

Насколько уместна публикация подробностей пока незакрытых уязвимостей?

Вопрос, казалось бы, довольно простой, но всё не так просто! С одной стороны, публикуя подробности уязвимостей, мы привлекаем внимание разработчиков, докричаться до которых обычно не так просто. Кстати, в большинстве своём администрация всё-таки печётся о репутации сервиса и старается мониторить отзывы пользователей (в том числе и на других ресурсах). Но с другой стороны, рассказывая о ещё незакрытой уязвимости, мы дарим её потенциальным мошенникам, и в конечном итоге любая уязвимость превращается в ещё один инструмент давления на простых пользователей. Мы ведь не знаем, кто и как воспользуется информацией, которую мы собираемся обнародовать.

К примеру, летом 2015-го один из пользователей Firefox обратил внимание на странное поведение независимого новостного сайта в доменной зоне .ru: уязвимости в стандартной PDF-читалке сайт использовал для сбора данных о своих посетителях. Сотрудникам Mozilla тогда понадобилось всего несколько часов, чтобы навсегда закрыть довольно серьёзную уязвимость в тогда ещё популярном браузере.

Значит ли это, что рассказывать об уязвимостях полезно? Вовсе нет. Ведь если конкретно в этом случае разработчики справились на ура, это вовсе не означает, что так происходит повсеместно. А историй, когда разработчики годами не заделывают уже давно обнаруженные простыми пользователями дыры, довольно много. Например, некогда столь популярный мессенджер Skype.

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

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

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

Повторюсь: со мной сия беда приключилась в конце 2013-го, а уже в начале 2014-го я узнал, что ещё летом 2013-го один из пользователей Хабра предупреждал о возможности перманентной блокировки случайных пользователей. Мотивы его были вполне благородными: он хотел, чтобы Microsoft наконец-то признали проблему и скорректировали собственные методы борьбы со спамом. Услышал ли его хоть кто-то? О, да! Судя по тоннам почти одинаковых вопросов на скайповском форуме, повеселиться тогда решили многие. Вот только Microsoft дыры латать не спешили. И, если честно, я до сих пор не уверен, что проблема уже неактуальна. Хотя казалось бы...

Означает ли это, что рассказывать об уязвимостях опасно, а значит, не нужно вовсе? Тоже нет, ибо история знает и другие примеры. Взять хотя бы всё тот же Skype: в 2012-м путем нехитрых манипуляций с изменением электронного адреса, к которому была привязана учётная запись, можно было сбросить пароль от любого другого аккунта. Всё, что вам для этого было нужно, это адрес электронной почты, к которому привязан аккаунт жертвы. Сложно ли его достать? Нет. Нужно ли было рассказывать об этом всему миру? Даже не знаю... Но спустя три месяца после публикации уязвимость наконец-то закрыли. Да, это довольно долго, и, скорее всего, многие проныры уже успели ей воспользоваться, но в конце концов цели мы всё-таки достигли: дыра закрыта!

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

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

А вот специалисту по безопасности из Сан-Франциско повезло куда меньше. Когда весной 2015-го ему удалось превратить три подарочные карты Starbucks номиналом в $5 каждая в две по $15 и $5, он сразу же сообщил об этом представителям компании. По традиции связаться с технической поддержкой было довольно сложно, но спустя полтора месяца уязвимость, которая потенциально могла принести убытки на сотни тысяч долларов, всё-таки устранили. Вот только вместо благодарности Starbucks обвинили нашего героя в мошенничестве.

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

Конце 2016-го: сотрудники Project Zero (одно из подразделений Google) обнаружили довольно серьезную уязвимость в браузерах Edge и IE (Internet Explorer) от Microsoft, о чём оперативно сообщили коллегам. Вот только ответа они так и не получили, и даже спустя три месяца проблема так и не была устранена. А ведь это предустановленные в Windows браузеры, а значит под угрозой потенциально находились пользователи всех майкросовтовсих операционок от WindowsXP до Windows10! Так и не получив от Microsoft никакого ответа и не увидев какой бы то ни было реакции в течении 90 дней, Google опубликовали подробности уязвимости в своем баг-трекере. И в Microsoft вполне ожидаемо сему факту не обрадовались.

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

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

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

И это не совсем риторический вопрос… Некоторое время назад, зная лишь круг общения конкретного пользователя, я смог узнать его e-mail и номер телефона. Кто-то скажет, что это мелочи, мол, эту информацию о нём и так знают почти все, но, по-моему, номер телефона и адрес электронной почты – это довольно важный аспект приватности!

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

#приватность и безопасность