Повышение привилегий — это использование ошибки , недостатка конструкции или недосмотра конфигурации в операционной системе или программном приложении для получения повышенного доступа к ресурсам , которые обычно защищены от приложения или пользователя . В результате приложение с большим количеством привилегий , чем предполагалось разработчиком приложения или системным администратором, может выполнять несанкционированные действия.
Большинство компьютерных систем предназначены для использования с несколькими учетными записями пользователей, каждая из которых имеет возможности, известные как привилегии . Общие привилегии включают просмотр и редактирование файлов или изменение системных файлов.
Повышение привилегий означает, что пользователи получают привилегии, на которые они не имеют права. Эти привилегии можно использовать для удаления файлов, просмотра личной информации или установки нежелательных программ, таких как вирусы. Обычно это происходит, когда в системе есть ошибка , позволяющая обойти систему безопасности, или, наоборот, если в проекте имеются ошибочные предположения о том, как она будет использоваться. Повышение привилегий происходит в двух формах:
Этот тип повышения привилегий происходит, когда пользователь или процесс могут получить более высокий уровень доступа, чем предполагал администратор или разработчик системы, возможно, путем выполнения операций на уровне ядра .
В некоторых случаях приложение с высоким уровнем привилегий предполагает, что ему будут предоставлены только входные данные, соответствующие спецификации его интерфейса, поэтому не проверяет эти входные данные. Затем злоумышленник может воспользоваться этим предположением, чтобы запустить неавторизованный код с привилегиями приложения:
/etc/cron.d
, запрашивала выполнение дампа ядра в случае сбоя, а затем завершала себя другим процессом. Файл дампа ядра должен был быть помещен в текущий каталог программы, то есть в каталог /etc/cron.d
, и cron
воспринимался бы как текстовый файл, дающий указание запускать программы по расписанию. Поскольку содержимое файла будет находиться под контролем злоумышленника, злоумышленник сможет запустить любую программу с привилегиями root .В компьютерной безопасности джейлбрейк определяется как удаление ограничений, которые поставщик пытался жестко запрограммировать в своем программном обеспечении или услугах. [2] Типичным примером является использование наборов инструментов для выхода из chroot или тюрьмы в UNIX-подобных операционных системах [3] или обхода управления цифровыми правами (DRM). В первом случае это позволяет пользователю видеть файлы за пределами файловой системы , которые администратор намеревается сделать доступными соответствующему приложению или пользователю. В контексте DRM это позволяет пользователю запускать произвольно определенный код на устройствах с DRM, а также выходить из ограничений, подобных chroot. Этот термин возник в сообществе джейлбрейкеров iPhone / iOS , а также использовался как термин для взлома PlayStation Portable ; эти устройства неоднократно подвергались джейлбрейкам, позволяющим выполнять произвольный код, а иногда эти устройства отключались обновлениями поставщиков.
Системы iOS , включая iPhone , iPad и iPod Touch , подвергались попыткам взлома iOS с момента их выпуска и продолжаются с каждым обновлением прошивки. [4] [5] Инструменты для взлома iOS включают возможность установки внешних интерфейсов пакетов, таких как Cydia и Installer.app , сторонних альтернатив App Store , в качестве способа поиска и установки системных настроек и двоичных файлов. Чтобы предотвратить взлом iOS, Apple заставила загрузочное ПЗУ устройства выполнять проверки на наличие SHSH-объектов , чтобы запретить загрузку пользовательских ядер и предотвратить переход на более раннюю прошивку с возможностью взлома. При «отвязанном» джейлбрейке среда iBoot изменяется, чтобы выполнить эксплойт загрузочного ПЗУ и разрешить отправку исправленного загрузчика низкого уровня или взломать ядро, чтобы отправить взломанное ядро после проверки SHSH.
Похожий метод взлома существует для смартфонов на платформе S60 , где такие утилиты, как HelloOX, позволяют выполнять неподписанный код и получать полный доступ к системным файлам. [6] [7] или отредактированная прошивка (аналогично взломанной прошивке M33, используемой для PlayStation Portable ) [8] для обхода ограничений на неподписанный код . С тех пор Nokia выпустила обновления для предотвращения несанкционированного взлома, аналогично Apple.
В случае игровых консолей джейлбрейк часто используется для запуска доморощенных игр . В 2011 году Sony при содействии юридической фирмы Kilpatrick Stockton подала в суд на 21-летнего Джорджа Хотца и соратников группы Fail0verflow за взлом PlayStation 3 (см . Sony Computer Entertainment America против Джорджа Хотца и PlayStation Jailbreak ).
Взлом джейлбрейка также может произойти в системах и программном обеспечении, использующих генеративные модели искусственного интеллекта, таких как ChatGPT . При джейлбрейк-атаках на системы искусственного интеллекта пользователи могут манипулировать моделью так, чтобы она вела себя иначе, чем она была запрограммирована, что позволяет раскрыть информацию о том, как модель была проинструктирована, и заставить ее реагировать аномальным или вредоносным образом. [9] [10]
Телефоны Android можно официально рутировать, пройдя процесс, контролируемый производителем, используя эксплойт для получения root-прав или установив пользовательское рекавери. Производители разрешают рутирование посредством процесса, который они контролируют, в то время как некоторые позволяют рутировать телефон простым нажатием определенных комбинаций клавиш во время загрузки или другими методами самостоятельного администрирования. Использование метода производителя почти всегда приводит к заводским настройкам устройства, что делает рутирование бесполезным для людей, которые хотят просмотреть данные, а также навсегда аннулирует гарантию, даже если устройство было удалено и перепрошито. Программные эксплойты обычно либо нацелены на процесс корневого уровня, доступный пользователю, используя эксплойт, специфичный для ядра телефона, либо используя известный эксплойт Android, который был исправлен в более новых версиях; не обновляя телефон или намеренно понижая версию.
Операционные системы и пользователи могут использовать следующие стратегии для снижения риска повышения привилегий:
Недавние исследования показали, что может эффективно обеспечить защиту от атак с целью повышения привилегий. К ним относится предложение дополнительного наблюдателя ядра (AKO), который специально предотвращает атаки, ориентированные на уязвимости ОС. Исследования показывают, что AKO на самом деле эффективен против атак с целью повышения привилегий. [13]
Горизонтальное повышение привилегий происходит, когда приложение позволяет злоумышленнику получить доступ к ресурсам , которые обычно были бы защищены от приложения или пользователя . В результате приложение выполняет действия с тем же пользователем, но с другим контекстом безопасности, чем предполагалось разработчиком приложения или системным администратором ; по сути, это ограниченная форма повышения привилегий (в частности, несанкционированное использование возможности выдавать себя за других пользователей). По сравнению с вертикальным повышением привилегий, горизонтальное не требует повышения привилегий учетных записей. Часто это зависит от ошибок в системе. [14]
Эта проблема часто возникает в веб-приложениях . Рассмотрим следующий пример:
Эта вредоносная деятельность может быть возможна из-за распространенных недостатков или уязвимостей веб-приложений.
Потенциальные уязвимости веб-приложений или ситуации, которые могут привести к этому состоянию, включают:
Просто хотел сообщить вам, ребята, что форум закрыт на техническое обслуживание. Он снова появится в сети примерно через день (я вроде как испортил файлы конфигурации, и мне нужно восстановить резервную копию однодневной давности, поэтому я подумал, почему бы не обновить всю серверную платформу)