В английском айтишном жаргоне есть словечко «pwned», перевести которое на русский можно таким же коротким «поимели». Грубо, согласен, некорректно, непечатно, да вот только именно этот короткий вариант точнее всего передаёт суть. Когда программу, над которой тысячи разработчиков корпят годами, уделяя особое внимание защищённости, так вот когда такую программу за полчаса превращают в «парадный вход», на ум не приходит ничего другого. И именно так всё произошло на конкурсе Pwn2Own — традиционно сопровождающем конференцию по «прикладной безопасности» CanSecWest, состоявшуюся на прошлой неделе в канадском Ванкувере.
Конкурсантам предлагалось взломать один или несколько популярных веб-браузеров, получив через них полный доступ к компьютерам под управлением MS Windows и Mac OS X. И задача была решена на все сто процентов: ни один из атакованных браузеров не устоял. Результат не просто удручающий: страшный! Ведь никакие самые распоследние защитные механизмы не смогли обеспечить неприступность.
Внимание, проявляемое к Pwn2Own, как и далеко идущие выводы, делаемые на основе его результатов, объясняются тремя причинами. Во-первых, у конкурса очень щедрые спонсоры: призовой фонд, наполняемый HP и Google, нынче превышал полмиллиона долларов. При этом самый мелкий приз составлял 20 тысяч, а за один только взлом Internet Explorer 10 на Windows 8 давали сразу сто. Отсюда и причина номер два: участники — профессионалы высшего класса, живущие консультациями по вопросам компьютерной безопасности, а то и продажей собственноручно найденных уязвимостей «нулевого дня» (ZDV). Вроде французской Vupen Security, завсегдатая конкурса, продающей ZDV корпорациям и спецслужбам, и в этот раз опять унёсшей призовых денег больше всех. Или германской MWR Labs, имя которой то и дело всплывает в связи с очередной интересной, нестандартной брешью в защитах самых разных цифровых устройств.
А всё вместе это приводит к третьей причине: уязвимости, найденные участниками Pwn2Own, могли бы превратиться в смертоносное оружие, если бы просочились наружу до того, как их успеют «залатать» разработчики собственно взломанных программ. Никому неизвестная «дыра» в браузере, дающая полный доступ к операционной системе, способна породить как минимум глобальную эпидемию.
По сравнению с прошлым годом (см. «Как ломали Google Chrome»), нынче список атакуемых приложений был расширен — к браузерам, в роли которых выступали Internet Explorer 10, Firefox 19, Chrome 25, добавили плагины Adobe Flash, Adobe Reader, Java. Все они поочерёдно «легли» под атаками белых хакеров. Не помогли ни модные нынче «песочницы» (когда потенциально опасный код исполняют в изолированном от других приложений и данных пространстве), ни рандомизация адресов при загрузке кода, ни разделение кода исполняемого и данных.
Свежие, пропатченные по последним требованиям безопасности программы одна за другой сдались на милость победителей. Повезло только Safari — который в этот раз не взломали, потому что не пытались. Никто из конкурсантов не пожелал тратить на него время: призы за браузер Apple мелковаты, а продемонстрированная уязвимость должна быть использована в первый и единственный раз, так что, видимо, памятуя, что в прошлые годы Safari сдавался одним из первых, нынче его обошли вниманием.
Взлом внешне прост: пытаясь открыть нужную веб-страничку, браузер совершает ошибку, спрятанный на странице машинный код преодолевает защитные механизмы браузера и операционной системы — и без дополнительной помощи пользователя берёт компьютер под свой контроль. На самом деле, конечно, механика нетривиальна: атакующим приходится каждый раз изыскивать новые способы проникновения и подъёма привилегий, оставаясь на шаг впереди разработчиков атакуемого софта (так Vupen нынче нашла и воспользовалась новым обходным путём от загрузки кода в случайную область памяти). «Хорошая» новость в том, что фантазия хакеров вряд ли истощится в обозримом будущем — уж очень серьёзные её питают деньги. И речь отнюдь не только о конкурсных призовых. Которые хоть за последние годы и сильно выросли, по-прежнему остаются сравнимы разве что с нижней границей того, что могут выручить авторы оригинальных эксплоитов так сказать в частном порядке — продавая свои решения корпорациям и государствам.
Существование чёрного рынка уязвимостей нулевого дня — печальный факт, с которым ничего не поделаешь (см. «Знание — сила»). Не все согласны ждать, пока уязвимость будет обнаружена злоумышленниками, использована против кого-нибудь, о ней узнает разработчик программы и выпустит заплатку. Есть немало покупателей с толстым кошельком, готовых заплатить за очередную ZDV, чтобы получить её раньше других. Получить не с целью усиления только лишь «защитной безопасности» (defensive security), но и чтобы — как политкорректно формулирует это та же Vupen — усилить безопасность наступательную (offensive security). Знаете, насолить конкурентам, влезть на компьютеры к террористам, а то и самому устроить теракт на вражеской территории, что случилось не так давно в Натанзе.
Теоретически, если бы бизнес мог предложить хакерам хорошую — сравнимую с чёрнорыночной — цену, то и проблема уязвимостей нулевого дня в значительной степени осталась бы в прошлом. Однако предлагаемые легально суммы постоянно растут, а потолка не видно. Параллельно с Pwn2Own, там же на CanSecWest, Google проводит собственный конкурс Pwnium, целью для участников которого нынче была операционная система Chrome OS (фактически браузер Chrome, играющий роль GUI-надстройки над ядром Linux). Так вот призовой фонд здесь достигал уже 3.14 млн. долларов. И мало кто сомневается, что в следующем году мы увидим ещё большие суммы, а паритет с чёрным рынком всё равно останется мечтой: всегда найдётся тот, кто будет готов заплатить больше, только бы быть на шаг впереди.
Единственное светлое пятно в этой мрачной картине — результаты Pwnium, дающие некоторую надежду небольшой (даже — незначительной) части компьютерных пользователей. Так вот Chrome OS нынче «сломать» не удалось. Отчасти это заслуга Google, которая активно латает свою платформу. Но просматривается и более интересная причина. Один из важных пунктов в правилах Pwn2Own и Pwnium — стандартная комплектация машины-мишени. Так организаторы упрощают задачу и вместе с тем стараются сделать конкурс больше похожим на реальную жизнь. Браузеры ведь у большинства пользователей работают в одинаковых конфигурациях, с одним набором плагинов и т.д. Тонкость в том, что, взломав браузер, атакующий сталкивается ещё и с операционной системой. А здесь платформы MS Windows и Mac OS X принципиально отличаются от Linux.
Продукты Microsoft и Apple — это именно продукты: одинаковые для всех, с общим набором системных файлов, настроек, структурой каталогов, устройством рабочего стола и прочим, и прочим. А вот Linux была и остаётся скорее конструктором для сборки. Одних только популярных дистрибутивов насчитывается дюжина — а ведь каждый из них ещё и оптимизируется под конкретную машину, конкретный процессор, настраивается в соответствии с нуждами пользователя, обновляется чуть ли не каждый день. В результате Линуксы — чрезвычайно пёстрая семья, в которой братьев порой с лица и не узнаешь. Это разнообразие и есть спасительное свойство, позволяющее линуксоидам меньше волноваться за безопасность своей машины, своего браузера.
Chrome OS, правда, это преимущество уже подрастеряла. Она сделала широкий шаг в направлении Продукта — и на тот же шаг отдалилась от хаотичного, своевольного, но такого приятного линуксового разнообразия.