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

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

Фон [ править ]

Большинство компьютерных систем предназначены для использования с несколькими учетными записями пользователей, каждая из которых имеет возможности, известные как привилегии . Общие привилегии включают просмотр и редактирование файлов или изменение системных файлов.

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

  • Вертикальное повышение привилегий , также известное как повышение привилегий , когда пользователь или приложение с более низкими привилегиями получает доступ к функциям или контенту, зарезервированным для пользователей или приложений с более высокими привилегиями (например, пользователи Интернет-банка могут получить доступ к функциям администрирования сайта или пароль для смартфона может быть обойден).
  • Горизонтальное повышение привилегий , когда обычный пользователь получает доступ к функциям или контенту, зарезервированным для других обычных пользователей (например, пользователь A интернет-банка получает доступ к счету в интернет-банке пользователя B)

Вертикальный [ править ]

Кольца привилегий для x86 доступны в защищенном режиме

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

Примеры [ править ]

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

  • Некоторые службы Windows настроены для работы под учетной записью пользователя локальной системы. Уязвимость, такая как переполнение буфера, может использоваться для выполнения произвольного кода с привилегиями, повышенными до локальной системы. В качестве альтернативы системная служба, которая олицетворяет меньшего пользователя, может повысить привилегии этого пользователя, если ошибки не обрабатываются правильно во время олицетворения пользователя (например, если пользователь ввел вредоносный обработчик ошибок )
  • В некоторых устаревших версиях операционной системы Microsoft Windows заставка «Все пользователи» запускается под учетной записью «Локальная система» - поэтому любая учетная запись, которая может заменить текущий двоичный файл заставки в файловой системе или реестре, может повысить привилегии.
  • В некоторых версиях ядра Linux можно было написать программу, которая установила бы ее текущий каталог /etc/cron.d, запросив выполнение дампа ядра в случае его сбоя, а затем его уничтожил другой процесс. Файл дампа ядра был бы помещен в текущий каталог программы, то есть /etc/cron.d, и cronобрабатывал бы его как текстовый файл, инструктирующий его запускать программы по расписанию. Поскольку содержимое файла будет находиться под контролем злоумышленника, злоумышленник сможет выполнить любую программу с привилегиями root .
  • Межзональный скриптинг - это тип атаки с повышением привилегий, при которой веб-сайт подрывает модель безопасности веб-браузеров, позволяя запускать вредоносный код на клиентских компьютерах.
  • Также бывают ситуации, когда приложение может использовать другие службы с высокими привилегиями и имеет неверные предположения о том, как клиент может управлять использованием этих служб. Приложение, которое может выполнять командную строку или команды оболочки, может иметь уязвимость внедрения оболочки, если оно использует непроверенный ввод как часть выполненной команды. Тогда злоумышленник сможет запускать системные команды, используя привилегии приложения.
  • Калькуляторы Texas Instruments (особенно TI-85 и TI-82 ) изначально были разработаны для использования только интерпретируемых программ, написанных на диалектах TI-BASIC ; однако после того, как пользователи обнаружили ошибки, которые могут быть использованы для запуска нативного кода Z-80 на оборудовании калькулятора, TI выпустила программные данные для поддержки сторонних разработок. (Это не вели к ARM -На TI-Nspire , для которого джейлбрейк с помощью Ndless были найдены , но все еще активно боролись против от Texas Instruments.)
  • Некоторые версии iPhone позволяют неавторизованному пользователю получить доступ к телефону, когда он заблокирован. [1]

Взлом [ править ]

Джейлбрейк это действие или инструмент , используемый для выполнения акт разрушения из Chroot или тюрьмы в UNIX-подобных операционных систем [2] или в обход управления цифровыми правами (DRM). В первом случае он позволяет пользователю видеть файлы вне файловой системы, которые администратор намеревается сделать доступными для рассматриваемого приложения или пользователя. В контексте DRM это позволяет пользователю запускать произвольно определенный код на устройствах с DRM, а также преодолевать ограничения, подобные chroot. Термин возник в сообществе взломщиков iPhone / iOS и также использовался как термин для обозначенияВзлом PlayStation Portable ; эти устройства неоднократно подвергались джейлбрейку, что позволяло запускать произвольный код, и иногда эти джейлбрейки были отключены обновлениями поставщика.

Системы iOS , включая iPhone , iPad и iPod touch , с момента их выпуска подвергались попыткам взлома iOS и продолжаются с каждым обновлением прошивки. [3] [4] Инструменты для взлома iOS включают возможность установки Cydia или Sileo, сторонних альтернатив App Store , как способ найти и установить системные настройки и двоичные файлы. Чтобы предотвратить взлом iOS, Apple заставила загрузочное ПЗУ устройства выполнять проверки SHSH blobs.чтобы запретить загрузку пользовательских ядер и предотвратить переход на более раннюю версию прошивки с возможностью взлома. При «непривязанном» взломе среда iBoot изменяется для запуска эксплойта загрузочного ПЗУ и позволяет отправить исправленный загрузчик низкого уровня или взломать ядро ​​для отправки взломанного ядра после проверки SHSH.

Подобный метод взлома существует для смартфонов на платформе S60 , где такие утилиты, как HelloOX, позволяют выполнять неподписанный код и полный доступ к системным файлам. [5] [6] или отредактированная прошивка (похожая на взломанную прошивку M33, используемую для PlayStation Portable ) [7], чтобы обойти ограничения на неподписанный код . С тех пор Nokia выпустила обновления для пресечения несанкционированного взлома, аналогично Apple.

В случае игровых консолей для запуска самодельных игр часто используется взлом . В 2011 году Sony при содействии юридической фирмы Kilpatrick Stockton подала в суд на 21-летнего Джорджа Хотца и партнеров из группы fail0verflow за взлом PlayStation 3 (см. Sony Computer Entertainment America против Джорджа Хотца и побег из тюрьмы PlayStation ).

Android [ править ]

Телефоны Android могут быть официально рутированы либо путем прохождения процесса, контролируемого производителем, с использованием эксплойта для получения root-прав, либо путем прошивки пользовательского восстановления. Производители разрешают рутирование через процесс, который они контролируют, в то время как некоторые позволяют рутировать телефон, просто нажимая определенные комбинации клавиш во время загрузки или другими способами самоуправления. Использование метода производителя почти всегда приводит к аннулированию гарантии, даже если устройство было отключено и перепрошено. Программные эксплойты обычно либо нацелены на процесс корневого уровня, доступный пользователю, с помощью эксплойта, специфичного для ядра телефона, либо с помощью известного эксплойта Android, исправленного в более новых версиях; не обновляя телефон или намеренно понижая версию.

Стратегии смягчения [ править ]

Операционные системы и пользователи могут использовать следующие стратегии, чтобы снизить риск повышения привилегий:

  • Предотвращение выполнения данных
  • Рандомизация компоновки адресного пространства (чтобы при переполнении буфера было сложнее выполнить привилегированные инструкции по известным адресам в памяти)
  • Запуск приложений с минимальными привилегиями (например, путем запуска Internet Explorer с отключенным SID администратора в токене процесса ), чтобы уменьшить возможность эксплойтов переполнения буфера злоупотреблять привилегиями пользователя с повышенными правами.
  • Требование цифровой подписи кода режима ядра.
  • Патчинг
  • Использование компиляторов , задерживающих переполнение буфера [8]
  • Шифрование программного обеспечения и / или компонентов прошивки .
  • Использование операционной системы с обязательным контролем доступа (MAC), например SELinux [9]

По горизонтали [ править ]

Горизонтальное повышение привилегий происходит, когда приложение позволяет злоумышленнику получить доступ к ресурсам, которые обычно были бы защищены от приложения или пользователя . В результате приложение выполняет действия с одним и тем же пользователем, но с другим контекстом безопасности, чем задумано разработчиком приложения или системным администратором ; по сути, это ограниченная форма повышения привилегий (в частности, несанкционированное предположение о возможности выдавать себя за других пользователей).

Примеры [ править ]

Эта проблема часто возникает в веб-приложениях . Рассмотрим следующий пример:

  • Пользователь А имеет доступ к своему собственному банковскому счету в приложении интернет-банка.
  • Пользователь B имеет доступ к своему собственному банковскому счету в том же приложении интернет-банка.
  • Уязвимость возникает, когда пользователь A может получить доступ к банковскому счету пользователя B, выполнив какую-либо вредоносную деятельность.

Эта вредоносная деятельность может быть возможна из-за общих недостатков или уязвимостей веб-приложений.

Возможные уязвимости веб-приложений или ситуации, которые могут привести к этому состоянию, включают:

  • Предсказуемый идентификатор сеанса в HTTP-куки пользователя
  • Фиксация сеанса
  • Межсайтовый скриптинг
  • Легко угадываемые пароли
  • Кража или захват файлов cookie сеанса
  • Регистрация нажатия клавиш

См. Также [ править ]

  • Защитное программирование
  • Взлом бытовой электроники
  • Незаконный номер
  • Принцип наименьших привилегий
  • Отзыв привилегии (вычисления)
  • Разделение привилегий
  • Получение root-прав (ОС Android)
  • Молоток гребной

Ссылки [ править ]

  1. ^ Теймур Асад (27 октября 2010). «Apple признает недостаток безопасности iOS 4.1. Исправит его в ноябре с выпуском iOS 4.2» . RedmondPie.
  2. ^ Сайрус Пейкари; Антон Чувакин (2004). Воин безопасности: знай своего врага . "O'Reilly Media, Inc.". п. 304 . ISBN 978-0-596-55239-8.
  3. ^ Джеймс Кинтана Pearce (2007-09-27) Несогласие компании Apple с Orange, IPhone Хакеров , paidcontent.org, архивируются с оригинала на 2012-07-29 , извлекаться 2011-11-25
  4. ^ Отчеты: Следующее обновление iPhone выйдет из строя сторонних приложений, бюст разблокирует ComputerWorld на v1.1.3
  5. ^ Phat ^ Trance (Feb 16, 2010). "Объявление: Форум заблокирован" . dailymobile.se . Архивировано из оригинала 3 марта 2009 года . Проверено 30 августа, 2016 . Просто хотел сообщить вам, что форум не работает. Он вернется в онлайн через день или около того (я как бы испортил файлы конфигурации и мне нужно восстановить однодневную резервную копию, поэтому я подумал, почему бы не обновить всю серверную платформу)
  6. ^ HelloOX 1.03: один шаг для взлома Symbian S60 3-е изд. телефонов, и для Nokia 5800 XpressMusic тоже
  7. ^ Обход подписанных Symbian и установка неподписанных мидлетов SISX / J2ME на Nokia S60 v3 с полными системными разрешениями
  8. ^ «Microsoft минимизирует угрозу переполнения буфера, создает надежные приложения» . Microsoft . Сентябрь 2005 . Проверено 4 августа 2008 .[ мертвая ссылка ]
  9. ^ Смолли, Стивен. «Создание безопасной основы для мобильных устройств» (PDF) . Проверено 7 марта 2014 .