Разрушающая атака

редактировать

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

Содержание
  • 1 Обзор
  • 2 Решения
  • 3 См. Также
  • 4 Ссылки
Обзор

Shatter-атаки стали темой интенсивного обсуждения в сообществе безопасности в августе 2002 года после публикации статьи Криса Пэджета под названием «Использование конструктивных недостатков Win32 API для повышения привилегий». В статье, в которой был введен термин «сокрушительная атака», объясняется процесс, с помощью которого приложение может выполнять произвольный код в другом приложении. Это могло произойти из-за того, что Windows позволяет непривилегированным приложениям отправлять сообщения в цепочки сообщений приложения с более высокими привилегиями, а некоторые сообщения могут иметь адрес функции обратного вызова в адресном пространстве приложения в качестве параметра. Если злоумышленнику удастся поместить свою строку в память приложения с более высокими привилегиями (скажем, путем вставки шеллкода в поле редактирования) в известном месте, он может затем отправить сообщения WM_TIMER с установленными параметрами функции обратного вызова. чтобы указать на строку злоумышленника.

Через несколько недель после публикации этой статьи Microsoft ответила, отметив, что: «В статье верно, что такая ситуация существует, и она правильно описывает ее последствия.... Где статья ошибается, так это в утверждении что это недостаток Windows. На самом деле недостаток заключается в конкретной службе с высокими привилегиями. По замыслу, все службы на интерактивном рабочем столе являются одноранговыми и могут запрашивать друг друга. В результате все службы в интерактивный рабочий стол действительно имеет привилегии, соизмеримые с наиболее привилегированной службой в нем ».

Решения

В декабре 2002 года Microsoft выпустила исправление для Windows NT 4.0, Windows 2000 и Windows XP, которые закрывали некоторые возможности для эксплуатации. Однако это было лишь частичным решением, поскольку исправление ограничивалось службами, включенными в Windows, которые можно было использовать с помощью этого метода; основной недостаток дизайна все еще существует и может использоваться для нацеливания на другие приложения или сторонние службы. В Windows Vista Microsoft стремилась решить проблему двумя способами: во-первых, локальные пользователи больше не входят в сеанс 0, тем самым отделяя цикл сообщений сеанса авторизованного пользователя от системных служб с высокими привилегиями, которые загружаются в сеанс 0. Во-вторых, была введена новая функция под названием Изоляция привилегий пользовательского интерфейса (UIPI), благодаря которой процессы могут быть дополнительно защищены от атак взлома путем назначения уровня целостности для каждый процесс. Попытки отправить сообщения процессу с более высоким уровнем целостности потерпят неудачу, даже если оба процесса принадлежат одному и тому же пользователю. Однако не все взаимодействия между процессами на разных уровнях целостности предотвращаются с помощью UIPI. Internet Explorer 7, например, использует функцию UIPI для ограничения степени взаимодействия его компонентов визуализации с остальной системой.

Способ создания экземпляров сеансов был изменен в Windows Vista и Windows Server 2008, чтобы обеспечить дополнительную защиту от атак с разбиением. Логины локальных пользователей были перемещены из сеанса 0 в сеанс 1, тем самым отделив процессы пользователя от системных служб, которые могут быть уязвимы.

Служба обнаружения интерактивных служб в Windows Server 2008.

Это создает обратную совместимость проблемы, однако, поскольку некоторое программное обеспечение было разработано с предположением, что служба работает в том же сеансе, что и вошедший в систему пользователь. Для поддержки этого представления в Windows Vista и Windows Server 2008 была представлена ​​служба Windows под названием «», которая обеспечивает доступ к диалоговым окнам, созданным интерактивными службами, когда они появляются. Интерактивному пользователю отображается диалоговое окно и предлагается возможность переключиться на сеанс 0 для доступа к диалоговому окну. Эта возможность была удалена в Windows 10 Creators Update.

См. Также
Ссылки
Последняя правка сделана 2021-06-08 04:01:48
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте