Из этой экспресс-записи вы узнаете, как исправить проблему, почему она возникла и как избежать подобных ужасов в будущем.
[+] Сегодня в программе
Назначение обновлений
Обновление KB2859537
было призвано исправить четыре уязвимости в ядре Windows, позволяющие
несанкционированное повышение прав. Первая уязвимость позволяла
загрузить DLL в процесс, обходя механизм защиты ASLR, призванный снизить
риск эксплуатации уязвимостей.
Три остальные уязвимости связаны с ошибками в проверке адресов ядром
Windows, что приводит к повреждению памяти и позволяет запустить
произвольный код в режиме ядра. После этого повышение прав уже не
проблема. Технические подробности доступны в бюллетене безопасности MS13-063.
Почему возникла проблема и в чем она заключается
KB2859537
заменяет массу системных файлов, в том числе файлов ядра (полный список
есть в статье базы знаний). Если оригинальное ядро было модифицировано,
его замена может привести к проблемам.
Upd. 12-Sep-13. Обновление KB2872339,
вышедшее в сентябре, заменяет KB2859537, т.е. содержит более новые
версии файлов ядра. Его установка может привести к точно таким же
проблемам.
Upd. 09-Oct-13. Обновление KB2882822,
вышедшее в октябре, добавляет поддержку интерфейса ITraceRelogger.
Поскольку оно заменяет файлы ядра, его установка может привести к точно
таким же проблемам.
У такой модификации есть две наиболее вероятные причины.
Вредоносные программы. Это не первый случай, когда обновление ядра выявляет наличие проблем в системе – так, 3.5 года назад случайно обнаружился руткит Alureon.
Нелегальная активация. Этот момент отлично разобрал участник конференции OSZone simplix, который не понаслышке знаком со сборками Windows, а также является автором полезной программы AntiSMS для лечения вирусов и троянов.
Позволю себе процитировать его пост в форуме, выделив жирным то, в чем заключается проблема.
Проблема возникает из-за того, что во взломанных системах
используется старая версия ntoskrnl.exe, которую патчер (или сборка)
переименовывают в xNtKrnl.exe и прописывают в поле kernel через bcdedit.
Это нужно для того, чтобы система работала с драйвером, эмулирующим
SLIC-таблицу. Старая версия ядра не совместима с новыми файлами
подсистемы Wow64, из-за этого в 64-битной системе 32-битные программы перестают запускаться.
Вины Microsoft здесь нет, они просто не тестировали обновления на
ломаных сборках. К слову, если пропатчить новую версию ядра, то система
будет работать как положено — это означает, что обновление не нацелено
на борьбу с пиратскими системами, просто так сложились звёзды.
Кстати, simplix ранее предупреждал читателей блога о возможных проблемах г-сборок, в которых заменяются ресурсы.
Возможны и другие причины — Microsoft в настоящее время исследует их.
Как исправить проблему
Если
у вас есть основания полагать, что применение обновления на вашей
системе может создать проблему, логично не устанавливать обновление.
Правда, при этом вы останетесь с незакрытой уязвимостью ядра.
Оба метода исправления сводятся к откату изменений.
Удаление обновлений KB2882822, либо KB2859537 или KB2872339 из командной строки
В командной строке, запущенной с правами администратора, выполните:
1 | wusa.exe /uninstall /kb:2882822
|
или
1 | wusa.exe /uninstall /kb:2872339
|
или
1 | wusa.exe /uninstall /kb:2859537
|
Утилита wusa.exe предназначена для установки и удаления обновлений Windows. Запустите ее с ключом /?, чтобы узнать больше.
Откат к точке восстановления системы
Запустите восстановление системы и откатитесь к точке до возникновения проблемы. Если не получается или система не загружается, войдите в среду восстановления Windows 7 или Windows 8 и выполните восстановление системы оттуда. И да, эта ситуацию действительно спасает откат.
Удаление обновлений KB2882822, либо KB2859537 или KB2872339 из среды восстановления с помощью DISM
Этот более сложный вариант имеет смысл применять только в том случае,
если первыми двумя способами удалить обновление не удалось.
- Загрузитесь в среду восстановления Windows 7 или Windows 8.
- Запустите командную строку и определите букву диска, на котором установлена Windows.
- В командной строке выполните:
1 | DISM /Image:D:\ /Get-Packages
|
где D — буква диска с системой, которую вы определили на предыдущем шаге.
- В результатах команды найдите пакет, содержащий в названии KB2882822, либо KB2859537 или KB2872339. На рисунке имя пакета показано исключительно для примера.
 Увеличить рисунок
- Выделите имя пакета левой кнопкой мыши и нажмите правую кнопку мыши, чтобы скопировать его в буфер обмена.
- В командной строке наберите:
2 | DISM /Image:D:\ /Remove-Package /PackageName:
|
и нажмите правую кнопку мыши, чтобы вставить имя пакета. Должна получиться примерно такая команда:
3 | DISM /Image:D:\ /Remove-Package /PackageName:Package_for_KB2859537~31bf3856ad364e35~x86~~6.1.1.3
|
- Нажмите Enter, чтобы выполнить команду и удалить пакет.
Примечание. В случае успешного удаления, обновление
исчезнет из списка установленных обновлений в панели управления. Однако в
журнале установленных обновлений оно будет присутствовать, поскольку
установка производилась.
Как не допустить возникновения проблемы в будущем
Поняв причину неурядиц, нетрудно догадаться, как их избежать.
Обеспечьте защиту от вирусов
Буквально на этой неделе я открыл в блоге обсуждение на тему того, можно ли работать в Windows без антивируса!
Избегайте г-сборок и активаторов
Надеюсь, вы оцените точность формулировки :) Обязательная ссылка: Super Mega Zver Black eXtreme 2013 Edition.
Обратитесь в техническую поддержку
Владельцы лицензионных систем, столкнувшиеся с проблемой, просто обязаны обратиться в техподдержку, чтобы Microsoft осознала наличие и масштаб проблемы.
Обладателям ПК с предустановленной Windows следует обращаться в
поддержку производителя устройства, который в свою очередь донесет
информацию до сведения Microsoft.
Всем, кто приобрел Windows отдельно, Microsoft оказывает бесплатную техподдержку при проблемах после установки обновлений. Вы можете обратиться в компанию с 8 утра до 8 вечера в будни и с 10 утра до 7 вечера в субботу по бесплатному номеру:
- Россия: 8 (800) 200-8001
- Украина: 0 (800) 308-800
- Беларусь: 8 (820) 0071-0003
Вы также можете обратиться за бесплатной поддержкой по электронной почте. Перейдите на эту страницу, а затем последовательно выберите операционную систему, издание и раздел поддержки:
 Увеличить рисунок
После этого вы увидите варианты поддержки, одним из которых является отправка письма посредством формы на сайте.
А вы пострадали от обновления KB2859537 или KB2872339?
Напишите в комментариях, столкнулись ли вы с проблемой и в чем она заключалась..
|