Как ломали Google Chrome и что это означает для нас?

Google по праву гордится своим веб-браузером. Ещё на этапе проектирования разработчики реализовали в Chrome уникальную для своего времени схему защиты от внешних атак. Ниже я расскажу о ней подробней, а пока просто представьте, что каждая открытая браузером вкладка изолируется как от соседних, так и от операционной системы — чтобы не навредить им в случае, если что-то пойдёт не так. Сама идея была предложена задолго до того и что называется носилась в воздухе, но именно Google первой реализовала её в браузере, пригодном для «массового потребления». И не прогадала.

За все три года существования Chrome не был взломан ни разу, по крайней мере в самой опасной для рядовых пользователей манере: когда вредоносный код проникает на компьютер просто при открытии веб-странички. А участники легальных хакерских состязаний вообще предпочитали игнорировать гугловский браузер, даже не пытаясь за него браться. Увы, на прошлой неделе эта многолетняя светлая полоса была перечёркнута. Привлечённые солидными призами и возможностью подтвердить, что абсолютно неприступной защиты не существует, участники международной security-конференции CanSecWest взломали Chrome. Трижды.

Одной из главных достопримечательностей CanSecWest является конкурс взломщиков Pwn2own (от англ. сленг. pwn — взлом, own — обладать, получить в собственность). Принять участие в нём могут все желающие, а мишенью выступают обычные веб-браузеры — в которых необходимо отыскать неизвестную уязвимость и суметь воспользоваться ею, чтобы перехватить управление компьютером. В погоне за солидными призами и славой над взломом трудятся как одиночки, так и целые коллективы специалистов по компьютерной безопасности.

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

Герой дня, Сергей Глазунов (см. далее), хорошо знаком разработчикам Chrome: он активно помогает им в поиске ошибок. Но вот в лицо его знают немногие. Говорят, Сергей избегает журналистов, не желая чтобы его узнавали на улице. На этом снимке, сделанном неизвестно где и неизвестно когда, предположительно он (Фото: AP)

В этом году в правилах Pwn2own сделали послабления, разрешающие взломщикам сохранять свои рецепты в тайне. Что вынудило Google выйти из состава спонсоров и организовать собственный конкурс (Pwnium, там же, на CanSecWest) с призовым фондом в один миллион долларов. Правда, каждому участнику, который продемонстрирует чистый взлом Chrome (то, о чём шла речь выше: перехват управления компьютером через веб-страничку, причём с атакой только на код самого браузера, не на плагины), полагалось максимум 60 тысяч долларов.

Но хватило и этого. Первым Chrome «сломал» наш соотечественник Сергей Глазунов (тюменец, студент ТюмГУ по специальности «компьютерная безопасность»). Следующим стал некто Pinkie Pie. И одновременно с ними на Pwn2own Хром взломала команда французской компании VUPEN.

Во всех трёх случаях взлом не был «гениальным озарением», пришедшим во время состязания. Французы, к примеру, потратили на поиск уязвимостей аж шесть недель. Но так или иначе это случилось. Доказано: Chrome, работающий под MS Windows 7, может быть сломан простой загрузкой инфицированной веб-страницы. Окажись работы конкурсантов в руках злоумышленников — и могла бы случиться эпидемия вируса с десятками миллионов заражённых компьютеров.

Тут самое время вспомнить о внутреннем строении Chrome. В словаре программистов есть термин «песочница». Так называют изолированное пространство в памяти компьютера, используемое, например, для отладки новых программ. Код, исполняемый в песочнице, отрезан от внешнего мира (других программ, операционной системы, большинства устройств). И если с ним что-то случится, последствия будут ограничены только самой песочницей.

А теперь представьте, что по такой схеме построен браузер. Каждая вкладка работает независимо от соседних: она не знает, что происходит «у соседей» (не может, к примеру, подсмотреть номер кредитной карты из соседней вкладки) и что бы ни случилось, не в силах на них повлиять. Именно так работает Chrome. Google первой реализовала эту схему в полном объёме, а к настоящему моменту различные её вариации используют также Internet Explorer, Firefox, Safari.

Microsoft тоже надеется на «песочницу». Анонсированный вчера расширенный защищённый режим Internet Explorer 10 – по сути та же изоляция вкладок друг от друга и от операционной системы.

Теперь легко объяснить, что именно совершили призёры Pwnium и Pwn2own. Они нашли лазейки из песочницы, либо способ вовсе её обойти. И если Сергей Глазунов и Pinkie Pie свои результаты передали в Google (а та, в свою очередь, немедленно выпустила новую версию браузера, в которой уязвимости исправлены), то команда VUPEN обнародовать своё открытие отказалась.

Дело в том, что VUPEN специализируется на продаже уязвимостей в программном обеспечении и консалтинге в смежных областях. Её клиенты — частные компании и государственные организации, желающие иметь преимущество перед другими участниками рынка: может быть чтобы лучше защититься от только что открытых уязвимостей, а может быть чтобы использовать их для нападения.

На этом оптимистическая часть рассказа заканчивается и начинаются неприятные практические выводы. Прежде всего, нужно признать существование чёрного рынка уязвимостей нулевого дня (таких, которые пока известны только своим авторам). Почему вместо участия в Pwnium и гарантированного приза в 60 килодолларов, VUPEN предпочла участвовать в Pwn2own и сохранить свои наработки в тайне? Очевидно что её клиенты (армия, спецслужбы, бизнес, криминальные структуры?) заплатят за эти сведения значительно больше Google.

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

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

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

Евгений Золотов   http://i-business.ru/