Если вы испытываете ностальгию по временам Windows 95, когда корпорация Microsoft всегда была права и железной рукой управляла рынком персональных компьютеров, то вам эта заметка будет интересна. В ноябре 2014 года, мало кем замеченное среди прочих вторничных исправлений, вышло исправление для уязвимости, возникшей еще в Windows 95 и присутствующей во всех версиях Windows, выпущенных с тех пор.

Свершилось! Microsoft исправила ошибку 19-летней давности, которая, как утверждают специалисты в области безопасности, удаленно использовалась в течение 18 лет. Да, все бы это было смешно, когда бы не было так грустно.

«Всему виной редкая ошибка в программном коде, на котором основан обозреватель Internet Explorer, — написал в официальном отчете об этом эпизоде Роберт Фримен, менеджер исследовательского подразделения IBM X-Force Research. — Ошибка может быть использована злоумышленником для организации атаки с помощью «теневой загрузки» (drive-by attack) для удаленного выполнения кода и перехвата управления компьютером пользователя, причем даже в обход «песочницы» расширенного защищенного режима Enhanced Protected Mode (EPM) в IE 11, а также признанного всеми средства защиты от взлома Enhanced Mitigation Experience Toolkit (EMET), бесплатно распространяемого Microsoft».

Если мы оглянемся назад, то увидим, что первая версия обозревателя Internet Explorer вышла вместе с Windows 95 более 19 лет назад, а описываемая здесь ошибка успешно преодолевает защиту 11-й версии данного продукта, увидевшей свет в октябре 2013 года. При этом актуальное на сегодня пятое поколение EMET берет свое начало со времен Windows XP.

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

«Могут обнаружиться и другие не выявленные до сих пор ошибки, создающие более широкие возможности для произвольного манипулирования данными, чем такие традиционные лазейки, как переполнение буфера и проблемы, вызываемые использованием освобожденных блоков памяти (use-after-free), — замечает он. — Эти уязвимые места могут открыть для взломщиков возможности от манипуляций со значениями данных до удаленного исполнения кода. В действительности могут существовать различные методы использования, приводящие к возможности удаленного исполнения кода, как в случае с данной ошибкой. Как правило, злоумышленники используют удаленное исполнение кода для установки вредоносного программного обеспечения, способного выполнять такие опасные действия, как перехват нажатий клавиатуры, захват экрана и организация удаленного доступа».

Компания IBM оповестила Microsoft об этой уязвимости в мае, и разработчики устранили ее в недавнем выпуске обновлений. Это исправление можно найти в бюллетене безопасности MS14-064 (technet.microsoft.com/library/security/MS14-064), имеющем, естественно, статус критического.

Представители Microsoft заявили, что эта ошибка гнездится в технологии внедрения и связывания объектов Windows Object Linking and Embedding (OLE), которая была разработана в 1990-е годы с целью обеспечения совместного доступа к информации из разных приложений.

«Данная ошибка позволяет осуществить удаленное исполнение кода, когда пользователь просматривает специально созданную веб-страницу в браузере Internet Explorer, — говорится в бюллетене. — Злоумышленник, успешно воспользовавшийся уязвимостью, может выполнить любой код в контексте данного пользователя. Если пользователь имеет на компьютере административные права, злоумышленник сможет установить программы, просмотреть, изменить или удалить информацию и даже создать новые учетные записи с полным набором прав».

Из всего этого следует, что Windows 10 будет первой системой за 20 лет после Windows 95, в которой отсутствует эта ошибка. Тем не менее, предварительные выпуски новой версии Windows Technical Preview и Windows Server Technical Preview тоже содержат эту ошибку. И на сегодня всем, кто работает на поддерживаемых версиях Windows, следует установить соответствующее исправление посредством Windows Update.