Адресация на основе возможностей
В информатике безопасности адресация на основе возможностей — это схема, используемая некоторыми компьютерами для управления доступом к памяти в качестве эффективной реализации на основе возможностей . В схеме адресации на основе возможностей указатели заменяются защищенными объектами (называемыми возможностями ), которые определяют как местоположение в памяти, так и права доступа, которые определяют набор операций, которые могут быть выполнены в этой ячейке памяти. [ 1 ] Возможности могут быть созданы или изменены только с помощью привилегированных инструкций, которые могут выполняться только ядром или каким-либо другим привилегированным процессом, уполномоченным на это. Таким образом, ядро может ограничить доступ кода приложения и других подсистем минимально необходимыми частями памяти (и отключить доступ на запись, где это необходимо), без необходимости использовать отдельные адресные пространства и, следовательно, требовать переключения контекста при доступе.
Практическая реализация
[ редактировать ]Для реализации доступны две технологии:
- Требовать, чтобы возможности хранились в определенной области памяти, куда не может быть записан процесс, который будет их использовать. Например, система Plessey 250 требовала, чтобы все возможности хранились в сегментах списка возможностей.
- Расширьте память с помощью дополнительного бита, доступного для записи только в режиме супервизора, который указывает, что определенное место является возможностью. Это обобщение использования битов тегов для защиты дескрипторов сегментов в больших системах Burroughs , и оно использовалось для защиты возможностей в IBM System/38 .
Адресация возможностей в IBM System/38 и AS/400
[ редактировать ]Операционная система System/38 CPF поддерживала два типа указателей объектов — авторизованные указатели и неавторизованные указатели . Первый был реализацией платформы адресации на основе возможностей. [ 2 ] Оба типа указателей можно было манипулировать только с помощью привилегированных инструкций, и они различались только тем, были ли авторизации объекта (т.е. права доступа) закодированы в содержимом указателя. Неавторизованные указатели не кодировали авторизацию объекта и требовали, чтобы операционная система отдельно проверяла авторизацию объекта, чтобы определить, разрешен ли доступ к объекту. Авторизованные указатели кодировали авторизацию объекта, а это означает, что обладание указателем подразумевало доступ, и операционной системе не требовалось проверять авторизацию отдельно. Авторизованные указатели были безотзывными по своей конструкции - если бы авторизации объекта были изменены, это не изменило бы закодированные авторизации в любых уже существующих авторизованных указателях.
Ранние версии операционной системы OS/400 для AS/400 также поддерживали авторизованные указатели и адресацию на основе расширенных возможностей. Однако авторизованные указатели были удалены в версии OS/400 V1R3, поскольку их безотзывный характер стал рассматриваться как угроза безопасности. [ 3 ] С тех пор все версии OS/400 (позже IBM i) полагаются исключительно на неавторизованные указатели, которые не поддерживают адресацию на основе возможностей.
Хронология систем, использующих адресацию на основе возможностей
[ редактировать ]- 1969: Система 250 - Плесси Компания
- 1970–77: компьютер CAP - Компьютерная лаборатория Кембриджского университета.
- 1978: Система/38 – IBM
- 1980: Гибкая машина – Королевское учреждение сигналов и радиолокации (RSRE), Малверн
- 1981: Intel iAPX 432 – Intel
- 2014: CHERI возможности (добавляет к существующим ISA для более безопасного программирования, даже на C и C++ )
- 2020: CHEx86
- 2022: ARM Morello ( AArch64 с возможностями CHERI)
Ссылки
[ редактировать ]- ^ Леви, Генри М. (16 мая 2014 г.). «Концепции возможностей и объектно-ориентированных систем» (PDF) . Компьютерные системы, основанные на возможностях . Цифровая пресса. п. 3-4. ISBN 978-1-4831-0106-4 .
- ^ Леви, Генри М. (16 мая 2014 г.). «IBM System/38» (PDF) . Компьютерные системы, основанные на возможностях . Цифровая пресса. ISBN 978-1-4831-0106-4 .
- ^ Солтис, Фрэнк (1997). Внутри AS/400 – описание серии AS400e (2-е изд.). Дьюк Пресс. ISBN 978-1-882419-66-1 .
Дальнейшее чтение
[ редактировать ]- Фабри, RS (1974). «Адресация на основе возможностей» . Коммуникации АКМ . 17 (7): 403–412. дои : 10.1145/361011.361070 . S2CID 5702682 .
- Вульф, В .; Коэн, Э.; Корвин, В.; Джонс, А.; Левин Р.; Пирсон, К.; Поллак, Ф. (июнь 1974 г.). «ГИДРА: ядро многопроцессорной операционной системы» . Коммуникации АКМ . 17 (6): 337–345. дои : 10.1145/355616.364017 . ISSN 0001-0782 . S2CID 8011765 .
- Деннинг, П.Дж. (декабрь 1976 г.). «Отказоустойчивые операционные системы». Обзоры вычислительной техники ACM . 8 (4): 359–389. дои : 10.1145/356678.356680 . ISSN 0360-0300 . S2CID 207736773 .
- Леви, Генри М. (1984). Компьютерные системы, основанные на возможностях . Мейнард, Массачусетс: Digital Press. ISBN 978-0-932376-22-0 .
- Линден, Теодор А. (декабрь 1976 г.). «Структуры операционной системы для поддержки безопасности и надежного программного обеспечения». Обзоры вычислительной техники ACM . 8 (4): 409–445. дои : 10.1145/356678.356682 . hdl : 2027/mdp.39015086560037 . ISSN 0360-0300 . S2CID 16720589 . тот же документ, что и отчет для NIST США
- Берстис, Викторс (6–8 мая 1980 г.). «Безопасность и защита данных в IBM System/38» . Материалы 7-го ежегодного симпозиума по архитектуре компьютеров . Ла Боль, США. стр. 245–252. дои : 10.1145/800053.801932 .
- Синкоски, В. Дэвид ; Фарбер, Дэвид Дж. (июль 1980 г.). «SODS/OS: Распределенная операционная система для IBM Series/1». Обзор операционных систем ACM SIGOPS . 14 (3): 46–54. дои : 10.1145/850697.850704 . S2CID 14245116 .
- Майерс, Дж.Дж .; Букингем, BRS (октябрь 1980 г.). «Аппаратная реализация адресации на основе возможностей» . Обзор операционных систем ACM SIGOPS . 14 (4): 13–25. дои : 10.1145/641914.641916 . S2CID 17390439 .
- Хоудек, Мэн; Солтис, ФГ ; Хоффман, Р.Л. (май 1981 г.). «Поддержка IBM System/38 для адресации на основе возможностей» . Материалы 8-го Международного симпозиума ACM по компьютерной архитектуре . АКМ/IEEE. стр. 341–348.
- Баззард, Джорджия; Мадж, Теннесси (август 1983 г.). Объектно-ориентированные компьютерные системы и язык программирования Ada (Отчет). Мичиганский университет – Лаборатория компьютерных исследований и Лаборатория исследований робототехники, кафедра электротехники и вычислительной техники. hdl : 2027.42/3992 .
Внешние ссылки
[ редактировать ]- «О распространении потенциального подхода» . cap-talk (список рассылки). Архивировано из оригинала 14 апреля 2013 г. Проверено 16 июля 2007 г.