Microsoft в третий раз чинит Windows после «чипокалипсиса»

Безопасность Стратегия безопасности Пользователю Техника
мобильная версия
, Текст: Роман Георгиев
Корпорация Microsoft предприняла уже третью попытку исправить уязвимость Meltdown; экстренно выпущенный патч исправляет критические ошибки в двух предыдущих обновлениях.

Гроздья патчей

В конце прошлой недели Microsoft выпустила срочный патч для исправления другого патча, который, в свою очередь, исправлял более раннее обновление. И все это – ради исправления уязвимости Meltdown в 64-битных процессорах Intel.

В январе-феврале 2018 г. компания выпустила обновления для операционных систем Windows 7 и Server 2008 R2 для скандальной уязвимости Meltdown. Уязвимость, получившая в прессе название «чипокалипсис», массово затрагивает в числе прочего 64-битные процессоры Intel (а точнее, их программные прошивки), однако для ее нейтрализации потребовались патчи и на уровне операционных систем.

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

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

Microsoft предприняла третью попытку исправить уязвимость Meltdown
Экстренный патч исправляет критические ошибки в двух предыдущих обновлениях

На деле оказалось, что «баг» сохранился в ядре и по-прежнему мог использоваться вредоносными программами и злоумышленниками. В результате Microsoft выпустила внеочередной патч, который устранял уже и эту ошибку.

Таким образом, для того, чтобы исправить уязвимость, потребовался патч, затем патч для патча, а в итоге и патч, исправляющий патч второго порядка.

Нетривиальный код ядра

Издание The Register упоминает, впрочем, что программистам Microsoft пришлось работать с кодом уровня ядра, а это, мягко говоря, нетривиальная задача.

«Писать код для управления памятью на уровне ядра действительно труд не из легких. В то время как «этажерка патчей» со стороны Microsoft может вызывать ухмылку, стоит вспомнить, что Red Hat пришлось откатывать свой собственный патч для сходной с Meltdown уязвимости Spectre, поскольку тот вызывал проблемы с загрузкой, - отметил Олег Галушкин, эксперт по информационной безопасности компании SEC Consult Services. - К сожалению, от подобных ситуаций не застрахованы разработчики ни одной операционной системы».

Уязвимость в зимних обновлениях выявил шведский эксперт по информационной безопасности Ульф Фриск (Ulf Frisk). Он же с ведома и согласия Microsoft опубликовал информацию о них после выпуска патча, а еще через несколько дней обнаружил, что баг не был до конца исправлен.