Shatter attack

«Подрывная атака» (англ. shatter attack) — программная технология, которая используется хакерами для обхода ограничений безопасности между процессами одного сеанса в операционной системе Microsoft Windows. Она опирается на недостаток архитектуры системы передачи сообщений и позволяет одному приложению внедрить произвольный код в любое другое приложение или службу, работающие в том же сеансе. В результате может произойти несанкционированное повышение привилегий.

Описание

Новый тип атак стал темой горячих обсуждений среди специалистов в сфере безопасности после публикации в августе 2002 года статьи Криса Паже[1], независимого консультанта по защите данных. В этом документе впервые появился термин «shatter attack», описывающий процесс, с помощью которого приложение может выполнить произвольный код в другом приложении. Это возможно благодаря тому, что Windows позволяет приложениям с низкими привилегиями отправлять сообщения приложениям, имеющим более высокие привилегии. В сообщении в качестве параметра может содержаться адрес функции обратного вызова из адресного пространства приложения. Если злоумышленник сумеет внедрить свои данные в память другого приложения (например, вставив шелл-код в окно редактирования или с помощью функций VirtualAllocEx и WriteProcessMemory), то он может послать ему сообщение WM_TIMER и указать адрес функции обратного вызова, который ссылается на эти данные.

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

Решение

В декабре 2002 года Microsoft выпустила патч для систем Windows NT 4.0, Windows 2000 и Windows XP, предотвращающий использование «shatter attack»[3]. Но это было частичное решение проблемы, так как исправление касалось служб, поставляемых вместе с Windows. Однако сама архитектура не претерпела изменений, и для остальных приложений и служб угроза продолжала существовать.

В Windows Vista проблему решили комплексно, внеся два существенных изменения. Во-первых, сеанс 0 выделен исключительно для системных процессов, и пользователь больше не осуществляет вход в этот сеанс[4]. Во-вторых, большая часть сообщений теперь не отправляется от процессов с низкими привилегиями процессам с высокими привилегиями (User Interface Privilege Isolation, UIPI)[5]. К примеру, Internet Explorer 7 использует это нововведение для ограничения взаимодействия компонентов визуализации с остальной системой.

Примечания

  1. Chris Paget. Exploiting design flaws in the Win32 API for privilege escalation (англ.) (август 2002 г.). Архивировано из оригинала 4 сентября 2006 года.
  2. Information About Reported Architectural Flaw in Windows (англ.). TechNet. Microsoft Corporation (сентябрь 2002 г.). Архивировано из оригинала 1 мая 2012 года.
  3. Microsoft Security Bulletin MS02-071 (англ.). Microsoft Corporation (11 декабря 2002). Архивировано из оригинала 1 мая 2012 года.
  4. Внутреннее устройство ядра Windows Vista: часть 2. TechNet Magazine (март 2007). Архивировано из оригинала 1 мая 2012 года.
  5. Работа с контролем учетных записей в приложениях Windows Vista. MSDN Magazine (январь 2007). Архивировано из оригинала 1 мая 2012 года.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.