The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD, opennews (??), 16-Фев-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


18. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Аноним (67), 16-Фев-20, 11:06 
Конечно же, вы правы. Только хотелось бы уточнить, почему пользователей дистрибутивов Linux, где PaX и GRSecurity включены по умолчанию, так мало по сравнению с остальными?
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

19. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Аноним (19), 16-Фев-20, 11:57 
Хорош вопрос!

Вернемся к истокам и вспомним историю первого безопасного дистрибутива Linux - Adamantics. Его автор пропал без вести в ЕС...

Когда grsecurity в мутной истории с мутными договорами и требованием оплаты в нарушение лицензии GPL-2 закрыли патчи для свободного скачивания дистрибутивов с grsecurity, PAX стало еще меньше.

В РФ есть проблема образования - ИТ безграмотность. Лет 10 назад устраивался на работу в Газпром. Предлагал им разработку, внедрение и поддержку безопасной ОС, основанной на мат модели, которая дает определенные гарантии безопасности. Мы так и не подписали договор, ибо они считают, что ИТ безопасность можно достичь исключительно мозгоебством, используя ынтерпрайз дистрибутивы. А мат модель которая даст гарантии не зависимо от любых действий пользователя они понять пока не могут, а поверить уже не хотят.

Ответить | Правка | Наверх | Cообщить модератору

21. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +1 +/
Сообщение от Consta (?), 16-Фев-20, 12:50 
>> Предлагал им разработку, внедрение и поддержку безопасной ОС, основанной на мат модели...

Это был линукс?

Ответить | Правка | Наверх | Cообщить модератору

69. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Аноним (68), 18-Фев-20, 09:00 
Да, GNU/Linux, но с расширенными возможностями ядра, компилятора, глибс и бинутилс.
Ответить | Правка | Наверх | Cообщить модератору

80. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Consta (?), 18-Фев-20, 17:41 
>> Предлагал им разработку, внедрение и поддержку безопасной ОС, основанной на мат модели...
>> Да, GNU/Linux, но с расширенными возможностями ядра, компилятора, глибс и бинутилс

Это не спасает. Дело не только в формальной\матмодели как таковой (как в совокупности формальных\математических доказательств). Дело прежде всего в реализации как таковой. Чтобы реализация точно соответствовала модели. Чтобы все работало так, как требует математика. А для линукс это вряд ли возможно.

1. Вы пишете: "основанной на матмодели".
Но сложность именно в том, что Linux никогда и не основывался на матмодели. Позволю себе напомнить, что сам Торвальдс в своей книге "Just for Fun" (если правильно помню - 10 и 11 главы) неплохо описывает полемику с Танненбаумом про микроядро. Для микроядра формальная матмодель возможна в реальности (здесь "в реальности" я имею ввиду реализацию, а не просто декларацию в виде формул), наверное, как и ее верификация. В линуксе же - нет. Ибо вопросы формализации матмодели для Linux возможны только на бумаге.
Например, можно "натянуть" матмодель типа HRU для DAC (тут я понимаю как, даже с ACL). Но тогда что делать с capabilities? Выносить за рамки модели? Или пускай пухнет множество?
Можно, наверное, "натянуть" пресловутую модель Bella и LaPadula. Но это будет справедливая модель, описывающая MLS - т.е. только для SELinux, ну, или, parsec (хе-хе). Но тогда вопрос - а что делать c DAC? Не учитывать? Плюс ко всему - в ядре линукс (в зависимости от реализации и архитектуры) примерно 350-450 системных вызовов. Примерно сотни полторы из которых совершенно точно security relevant. Если не больше. Что с ними всеми делать?
Что делать со всякими namespaces, которые довольно дырявые до сих пор и постоянно переписываются? Что делать с моделью, которая должна описывать движение информационных потоков? А ведь это ведет за собой моделирование и NetFilter тоже. То есть потребется промоделировать безопасное состояние системы с огромным количеством атрибутов и операций. Плюс аудит. Плюс функции и сисколы, ответственные за время. И т.д. и т.п. Пока будем писать модели и проверять их корректность - это несколько лет пройдет и чудовищное количество человеко-часов. Запросто получим изменения в реализации.

2. Чтобы реально, а не на бумаге получить безопасную систему требуется представление реализации, в точности воспроизводящее формальную\матмодель. Реализация же не только сисколлов (как интерфейсов к функциям), а и самих функций и структур данных - чудовищно большая и размазана по ядру (и не только ядру), точек входа много. Достаточно посмотреть на количество поддерживаемых ФС и их связку с VFS, чтобы понять что монитор обращений не так то просто не то что формализовать и проверить, а хотя бы просто описать. Кроме того, напомню, что институт системного программирования РАН пытался несколько лет верифицировать сисколлы. Но не закончили, так и бросили. До функций даже и не дошли. Плюс - чудовищный объем ядра.

3. Именно поэтому практически не встречается в CCRA не то что линукса, а и вообще юникса, имеющего сертификат выше чем EAL4+. Там чуваки серьезные и они понимают, что дальше начинается моделирование, сопоставление с представлением реализации (EAL5), а еще дальше - и верификация (EAL5+).
К сожалению наш регулятор (при всем уважении) позволяет себе (по крайней мере пока) выдавать сертификаты на линукс систему, которая у нас тащит первый или второй уровень доверия (т.е. по-их нормативке выше, чем EAL5+).

Именно поэтому я бы не стал думать, что в Газпроме сидят люди, глупее нас с вами.
Они хорошо себе представляют, где шашечки, а где ехать.
Потому и отказали. Не надо удивляться.

Ответить | Правка | Наверх | Cообщить модератору

83. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Аноним (83), 19-Фев-20, 16:58 
Много писать не хочется, буду краток.

1. Если идти путем разработки микроядра с текущей мат моделью UNIX, то тормоза по сравнению с монолитным ядром будут ~10 раз! В монолите поток проходит проверку ACL один раз, а в микроядра при каждом обращении к микросервисам должна проходить проверка ACL. Безопасные ОС на микроядрах будут очень сильно тормозными. DAC, MAC придется выкинуть. Хорошо работает ASLR рандомизация, будет работать Integrity.

2. В монолитных ядрах, в класической модели UNIX, разные модели безопасности применяются последовательно и друг с другом почти не взаимодействуют. Сперва применяется Integroty, потом DAC, если все проверки прошли, то применяем MAC. Реализация Integrity, DAC и MAC почти не связаны. Связь есть но минимальна. Каждая ступенька имеет свою матмодель. Эти мат модели не связаны между собой, почти.

MAC от Bella и LaPadula просто подогнана под документооборот в DoD US не есть универсальна и очень сложно внедряема на обычном предприятии. MAC вообще очень дорогая штука в плане написания правил. RSBAC от grsecurity с возможностью самообучения и простым форматом правил выглядит вполне привлекательно и capabilities он тоже контролирует.

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

Cgruops, namespaces, виртуализация мне не нравятся вообще.

3. Аудит кода трудоемок и не предполагался вообще. Кроме минимальных участков которые модифицируются.

Для гарантий безопасности ОС необходимо и достаточно "контролировать", изменить: ядро, гсс, глибс, бинутилс.

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

Ответить | Правка | Наверх | Cообщить модератору

89. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Consta (?), 20-Фев-20, 13:47 
>> Если идти путем разработки микроядра с текущей мат моделью UNIX...

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

>> Cgruops, namespaces, виртуализация мне не нравятся вообще.

Именно на это я и указывал. Только вопрос не в том, что нравится, а что нет. Вопрос в том, что эти механизмы (плюс капабилити, конечно) - оооочень плохо формализуются (если это вообще возможно). А просто так их выкинуть не получится. Не учитывать их по желанию - это волюнтаризм чистой воды. Получаем неописанные ФБО в ядре, т.е., соответственно - НДВ, в чистом виде. А ведь капабилити это дискретка, которую надо бы заявлять, ибо она есть. Ну, или иначе выкидывать.

>> MAC от Bella и LaPadula просто подогнана под документооборот в DoD...

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

>> Аудит кода трудоемок и не предполагался вообще. Кроме минимальных участков которые модифицируются.

Если аудит не предполагался, то как тогда планировалось убедиться в достижении критериев безопасности, заданных формальной моделью при реализации в коде? Неужели на бумаге?
Я уже указывал, что минимальных участков там нет и не будет. Это слова. Напоминаю, что функции, реализующие ФБО валяются в ядре ооооочень много где. Это совершенно точно сотни файлов исходников. Плюс - заголовочные файлы и файлы со структурами данных. Плюс, сюда надо добавить интерфейсы в виде сисколов, а это еще несколько десятков файлов, минимум. Плюс нетфильтр. Плюс - убедится в корректности работы интерфейсов, например, с помощью LTP тестов. Но они есть не на все сисколлы и не по всем входным/выходным данным. То есть там покрытие не стопроцентное, не позволяющее проверить все множество работы интерфейсов к функциям. Значит, надо дописывать тесты. Плюс, выполнить дальнейшее прослеживание, которое при проверке, скажем, команды chmod покажет, что дергается нужный сискол chmod(). А это значит, что и командные интерфейсы тоже надо исследовать и проверять. Одними бинутилсами и глибси в юзерспейсе не обойтись.

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

Ответить | Правка | Наверх | Cообщить модератору

101. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  –1 +/
Сообщение от Аноним (101), 22-Фев-20, 11:48 
> Смысл моего прсыла был в том, что в сущности, при микроядре возможно достичь и в представлении реализации тех критериев безопасности, заданных формальной моделью,а не только на бумаге.

Доказано что любая реализация DAC и MAC в микроядерных OS будет работать более чем в 10 раз медленнее по сравнению с монолитными OS! И пока нет других мат моделей заменяющих DAC и MAC, рандомизация не дает таких гарантий, в разработке микроядерных OS ставим точку.

> > Cgruops, namespaces, виртуализация мне не нравятся вообще.
> Вопрос в том, что эти механизмы (плюс капабилити, конечно) - оооочень плохо формализуются (если это вообще возможно). А просто так их выкинуть не получится.

У меня получается эти механизмы выкинуть. С ними выкидывается сразу systemd, elogind.

У вас ниукого нет никакого понимания общей безопасности ОС! В РФ об этом по чему-то никто не знает!!!

Распределите все существующие модели безопасности по их ВРЕМЕНИ, ПОРЯДКУ, МЕСТУ применения в OS. Узрите что большинство применяется последовательно, а не паралельно и  можно считать независимыми друг от друга.

Capabilities применяется последовательно с Integrity, сразу после нее и паралельно с DAC и MAC, но почти независимо от них, применяется ядром на всем протяжении работы программы. Оно дробит права root по областям и следит за тем чтобы не использовалось более чем заявлено самой прогой и/или разрешено ядром OS. Реализация на стороне программы дорогая.

Вы не видите лес в целом ч высоты, а пытаетесь понять, что такое лес, рассматривая листочки и веточки.

> > MAC от Bella и LaPadula просто подогнана под документооборот в DoD...
> Нет. Это вовсе не так. Это просто хорошая, стррйная и простая формальная модель разграничения доступа и информационных потоков. То, что она применялась (точнее, реализация на ее базе) в DoD (и не только) - лишнее тому подтверждение.

DoD имела свою бумажную инструкцию бумажного документооборота, а Bella и LaPadula, тупо, вместо разработки MAC для OS, сперли модель бумажного документооборота и написали по ней свой MAC. И это плохо для общего применения.

> > Аудит кода трудоемок и не предполагался вообще. Кроме минимальных участков которые модифицируются.
> Если аудит не предполагался, то как тогда планировалось убедиться в достижении критериев безопасности, заданных формальной моделью при реализации в коде? ...

Для дачи гарантий код надо дописывать. Аудит всего кода не предполагался. Вот изменяемой, для дачи гарантий, часть кода предполагалось верифицировать с формальной мат моделью.

А иначе никак, даже с ресурсами Газпрома. Людей подготовленных просто столько нет.

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

102. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Consta (?), 22-Фев-20, 15:06 
>> Доказано что любая реализация DAC и MAC в микроядерных OS

Где можно ознакомиться с соответствующими доказательствами? Может, хоть у меня получится повысть свой уровень образования.

>> У меня получается эти механизмы выкинуть.

Подрудитесь объяснить в таком случае еще несколько вещей:
1. Каким именно образом были выброшены namespaces, capabilities и cgroups? Что стало с сисколами, которые это обрабатывали?
2. Что после того, как выкинули указанное в п. 1 стало с совместимостью программ в пространстве пользователя?
3. Правильно ли понимаю, что в таком случае предполагалось использовать HRU модель?

>> У вас ниукого нет никакого понимания общей безопасности ОС! В РФ об этом по чему-то никто не знает!!!

Ну тут даже не знаю, что сказать. Видимо, до таких высот мы еще не доросли, да. Но тогда не доросли и все остальные. Ибо почему то, о ужас, у RedHat уровень доверия EAL4+, у SLES/D - тоже такой EAL4+. У Ubuntu - EAL2. Все эти уровни доверия не предполагают формализации моделей. Достаточно зачитать ISO 15408 и 18045, чтобы это понять. Очевидно, они там еще меньше нашего соображают в вопросах доверия к безопасности, правильно понимаю?  Почему то им не приходит в голову бодро писать модели и поднимать EAL. Тоже, видимо, ума не хватает. Ну, могу лишь посоветовать не теряться, и обратиться сразу в IBM, которая выступает много лет заявителем у RedHat и SUSE. Может, хоть там прислушаются к мощности аргументации, раз у нас не хватает тут ума. В целом, даже возможно лучше, как говаривал классик, писать сразу в Спортлото.
Напомню, что документация на RHEL, Ubuntu и SUSE лежит в открытом доступе, где можно ознакомится с соответствующей аргументацией. Если есть сложности с поиском в гугле - то меня вовсе не затруднит выложить ссылку, например для RHEL: https://access.redhat.com/articles/2918071
Там и задания по безопасности есть, и отчетные материалы. А если порыть сайт IBM, то там лежат и функциональные спецификации и базовые модульные проекты (aka HLD). И из того что там написано, можно понять, что они совершенно не зря считают, что формальная модель для линукс плохо применима, а верификация реализации или практически невозможна, либо чудовищно трудоемка даже для IBM.

Ответить | Правка | Наверх | Cообщить модератору

114. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Аноним (114), 26-Фев-20, 16:43 
>> Доказано что любая реализация DAC и MAC в микроядерных OS
>Где можно ознакомиться с соответствующими доказательствами?

Мы когда-то посовещались и Я так решил.

https://www.opennet.ru/openforum/vsluhforumID3/100354.html#51

https://www.opennet.ru/openforum/vsluhforumID3/100354.html#23

https://www.opennet.ru/openforum/vsluhforumID3/100354.html#48

https://www.opennet.ru/openforum/vsluhforumID3/103368.html#28

ACL и MAC модели для микроядер неприемлемы из-за тормозов в реализации более 10 раз.

Это проблема решения не имеет и хакеры GNU Hurd это пока признают. Долго искали решения и вопрос с производительностью ACL и MAC отложили. Тесты сравнения производительности ACL в Hurd и Linux были здесь. Проиграш микроядра по сравнению с монолитом 10-100 раз.

Хакеры Haiku отказались от безопасности ACL и MAC в пользу производительности.

seL4 первая реализация микроядра, которая дает хоть какую-то гарантию безопасности без потери производительности в сравнении с монолитом. Безопасность основана на рандомизации. ACL и MAC в ней нет.

Сам подумай, при каждомм выходе-входе в микроядро надо делать все проверки ACL и MAC! Монолитное ядро делает в контексте ядра только одну проверку и реализует сразу очень большие возможности: драйвера, протоколы, шифрование, ....

> namespaces, capabilities и cgroups

capabilities я выбрасывать нигде не говорил! Говорил что поддержка capabilities, как вы ее предлагаете, очень дорога. Говорил, что программисты включают установку прав на log, run в бинарный сервис, а надо в инит скрипт. Также показал правильный путь использования capabilities - RSBAC от grsecurity. Ничего писать не надо они capabilities контролируют правилами RSBAC сразу для всех прог.

Отключение cgroups прибивает systemd намертво и навсегда. Даже elogind не шевелится. consolekit можно собрать без cgroups и он будет жить.

Отключение namespaces убивает некоторую изоляцию.

Вы не хотите настроить простую DAC, спорите о том, что можно выделять память одновременно в режиме для записи и изменения, вы действительно думаете что в этом случае вам поможет изоляция namespaces?

> Ну тут даже не знаю, что сказать. Видимо, до таких высот мы еще не доросли, да. Но тогда не доросли и все остальные. Ибо почему то, о ужас, …

Многие понимают, знают как и могут, но АНБ, ФСБ, *Б этого не надо. Чем меньше у вас безопасности тем им легче исполнять свои обязанности....

Ответить | Правка | Наверх | Cообщить модератору

117. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Аноним (114), 26-Фев-20, 17:25 
- Вы не хотите настроить простую DAC, спорите о том, что можно выделять память одновременно в режиме для записи и изменения, вы действительно думаете что в этом случае вам поможет изоляция namespaces?

+ Вы не хотите настроить простую DAC, спорите о том, что можно выделять память одновременно в режиме для записи и исполнения, вы действительно думаете что в этом случае вам поможет изоляция namespaces?

s/изменения/исполнения/

Ответить | Правка | Наверх | Cообщить модератору

130. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Consta (?), 02-Мрт-20, 15:24 
>> Мы когда-то посовещались и Я так решил.

Правильно понимаю, что предлагается в качестве доказательств рассматривать ссылки на комментарии в опеннете, а не на научные работы, выполненные корректно с точки зрения методологии?

>> Отключение cgroups прибивает systemd намертво и навсегда
>> Отключение namespaces убивает некоторую изоляцию.

Да неужели?

>> Да, GNU/Linux, но с расширенными возможностями ядра, компилятора, глибс и бинутилс.

Какие тогда "расширенные возможности ядра" имелись ввиду?

>> capabilities я выбрасывать нигде не говорил!

Если их не выбрасывать, и они остаются, то как тогда учесть их наличие в формальной модели? Или это не предполагалось, а просто решили об этом деликатно умолчать? Я уже писал про то, что такая позиция, фактически, приводит к возникновению неописанных ФБО в ядре и проблеме НДВ\РДВ.

>> Многие понимают, знают как и могут...

Прекращайте демагогию. По существу тезиса о том, что и Red Hat и SUSE (плюс с ними IBM), и Ubuntu/Canonical совершенно аргументированно считают, что формализация моделей безопасности (особенно их при верификации) для Linux практически невозможна, есть что сказать?

>> Вы не хотите настроить простую DAC, спорите....

Доброе утро. Я вообще не про это. Я про проблему формализации модели безопасности для Linux. Напоминаю, что именно с этого и начался диалог. Я не спорю, не предлагаю, я указываю на поток проблем, возникающих из необдуманного решения. Решение тупо формализовать модель на бумаге - ничего не дает с точки зрения ИБ. Ибо она или не учтет все возможные ФБО, или лишит ядро имеющегося там функционала. Плюс - чудовищная трудоемкость проверки реализации этой модели.
Ну и про простоту DAC. А простого DAC в Linux и нету. Есть последовательное множество DAC - UNIX permission bits, POSIX ACL, capabilities плюс - в какой то степени cgroups и namespaces. В каком месте тут простота, если требуется описывать и уметь настраивать все это множество? Особенно, когда необходимо DAC применять комплексно? Сюда еще нужно добавить netfilter для полноты картины. Это тоже DAC, только для информационных потоков. А уж если SELinux появился - то это еще один механизм DAC, если без MLS, конечно.

Ответить | Правка | К родителю #114 | Наверх | Cообщить модератору

135. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Аноним (135), 04-Мрт-20, 16:24 
> ссылки на комментарии в опеннете, а не на научные работы

Там вполне достаточно чтобы сложить 2+2.

> Какие тогда "расширенные возможности ядра" имелись ввиду?

Дополнения для безопасности.

> Если их не выбрасывать, и они остаются, то как тогда учесть их наличие в формальной модели?

Писал уже, capabilities учитываются как независимые от DAC и MAC. Точка применения: последовательно с Integrity, после него и паралельно DAC и MAC.

> формализация моделей безопасности (особенно их при верификации) для Linux практически невозможна, есть что сказать?

Тяжело, но можно.

> Плюс - чудовищная трудоемкость проверки реализации этой модели.

Вы пытаетесь построить одну большую мат модель. Я же говорю о многих маленьких, каждая с которых закрывает/решает свою проблему. Прочти посты выше.

На бумаге мы оперируем уже моделями и следим чтобы они закрывали все теоретические дыры и решали все проблемы.

Ответить | Правка | Наверх | Cообщить модератору

146. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Consta (?), 06-Мрт-20, 11:12 
>> Там вполне достаточно чтобы сложить 2+2.

Да я и не сомневался, что сразу все ясно.

>> Дополнения для безопасности.

Решение, безусловно, новаторское. Сначала надо вырвать с мясом из ядра те вещи, которые и так уже работают, поломав по дороге совместимость пользовательского окружения. А потом надо затолкать в ядро непонятно что. И обозвать это непонятное - "расширенными возможностями" и "дополнениями безопасности". Подход тоже ясен, да.

>> Писал уже, capabilities учитываются как независимые от DAC и MAC.

Это тоже прорыв. К сведению: capabilities - есть типичный DAC. Ибо это дискреционное разграничение доступа на основе атрибутов. Не считать capabilites механизмом DAC - это точно такое же гениальное решение, как и предыдущее.
Кроме того, сам термин "учитываются" - вот он что означает? Как именно множество то капабилитей планировалось формализовать в модели и увязывать с другими механизмами DAC? Ау? Или не планировали все-же? Хотели как то "учесть"? А что такое - "учесть"?
Посчитать, сколько их в конкретном ядре есть и написать какая для чего нужна? И все? Так для этого и писать то ничего не надо. Все в манах есть. Даже на русском языке. А формально доказывать, что они всегда корректно работают? Нет? Не надо делать? Ну и правильно.

>> Тяжело, но можно.

Это демагогия. Есть ли независимо подтверждаемые и научно обоснованные примеры?
Их нет. Как уже справедливо писали выше - формальная модель в каком-то виде (не полном, ибо я то ее как раз читал, и не одну) есть для Astra линукс, но это мало что дало на практике.
Мандатка там текла, да, тупо зная пароль пользователя и используя su можно было зафигачить эскалацию привилегий и инициировать факт НСД. Находясь в одном уровне, прямо и без затей из оболочки можно было запросить доступ к файлу на другом уровне. Не знаю, как там у них с этим делом сейчас. Закрыли эту дыру или нет. Зато была модель, да.
Этот пример отлично иллюстрирует как раз корень проблемы - косая реализация "бумажной" формальной модели, неверифицированной и с плохим аудитом - привела к дыре в механизме безопасности. И во всех виденных мной моделях - есть грабли. Модели не полные. А значит реализация, таким образом, как минимум содержит неформализованные ФБО в ядре.
А у ведущих разработчиков ОС Linux, коими в том числе являются Red Hat, SUSE и Canonical - моделей нет совсем. Они и не претендуют. Ибо они то как раз хорошо понимают чудовищность и объем проблемы. Кроме того, я уже предлагал - можно не соглашаться с моими доводами, я не заставляю. Можно не считать мою агрументацию убедительной, я не заставляю. Но есть факты, они упрямая вещь, а моя аргументация может быть независимо от меня проверена. Не согласны с аргументацией и фактами - ну попробуйте обратиться в какую-нибудь аккредитованую CCRA испытательную лабораторию. Их много. Можно обратиться к IBM, Red Hat, Suse, Canonical, написать хоть Таненбауму. И предложить им написать формальную модель или модели. Может, они что-то ответят?

>> Вы пытаетесь построить одну большую мат модель.

Вовсе нет. Я пытаюсь сказать, что количество моделей не имеет значения. Одна она, две, или двадцать две. Важно то, что модель или модели должны на формальном языке описывать все без исключения (еще раз повторю - все без исключения!) механизмы принятия решений, включая решения по разграничению информационных потоков тоже (то есть и фильтр пакетов тоже, если он есть, а в линуксе он есть, а сейчас и не один). Именно для этого модель(и) и нужна(ы). И кроме этого, модель(и) должна(ы) иметь непротиворечивое(ые), независимо проверяемое(ые) доказательство(а). Проще всего это сделать с помощью математики. Доказательство даст алгоритм. А алгоритм уже можно реализовать в коде. И проверить реализацию. А ну как в коде ошибка, и алгоритм реализован не верно? Если этого не сделать, то никакой реальной пользы не будет.

>> На бумаге мы оперируем уже моделями и следим чтобы они закрывали все теоретические дыры

Демагогия. Что такое - "теоретическая дыра"?  Модель (ну или совокупность моделей, если угодно, сути это не меняет) не призвана закрывать какие-то там дыры. Хоть "теоретические", хоть "практические". Доброе утро.
Модель должна доказывать (и не только доказывать формальным способом, а и иметь как минимум еще ссылки на проверяемую реализацию) - что цели безопасности достижимы, угрозам безопасности можно успешно противодействовать, политики безопасности реализуемы, предположения безопасности выполнимы.
А все эти угрозы, цели, политики и предположения уже давным-давно сформулированы, определены и заданы заранее. И у нас и у них. Смотрим любой профиль защиты - и там (о ужас!) их находим. Как для самой ОС, так и для среды её выполнения. Так что никаких "теоретических дыр" нет. Есть вполне конкретные, четко сформулированные цели безопасности, которых нужно достичь, угрозы, которым нужно противостоять и т.д. Зачем вы пишите про "теоретические дыры", которых нет в природе? Просто почитайте уже хотя бы любой профиль защиты и постарайтесь понять, что там написано, и почему именно так написано.

Подытожим:

а) некие люди пришли в Газпром и предложили (создать?) некую реализацию ОС на базе Линукс, содержащую некие "расширенные возможности ядра", задекларированные как "дополнения для безопасности";

б) те же лица предложили (создать?) еще некую документацию на систему. Как минимум - формальную модель безопасности;

в) при всем этом - в модели не предполагалось приводить описание и формализацию cgroups, namespaces и capabilities, и, похоже, netfilter тоже. Все это, конечно, привело бы к возникновению проблемы НДВ\РДВ и потенциальному обходу описанных и формализованных в модели механизмов безопасности. Но кому оно надо? Зачем бумагу и время тратить, и что-то там описывать и формализовывать, правда?;

г) при всем этом, на сколько я понял, реализация предполагала отключение cgroups и namespaces, что привело бы к заметной деградации в юзерспейсе. Вместо них в реализацию должны были бы быть включены некие магичесикие и никак по переписке не идентифицируемые "расширенные возможности ядра", задекларированные как "дополнения для безопасности". Что это - не ясно. Что это дает, кроме поломок в юзерспейсе - не ясно;

д) проверка реализации не предполагала аудита кода, но, странным образом, предполагала его верификацию. Цитата: "Аудит всего кода не предполагался. Вот изменяемой, для дачи гарантий, часть кода предполагалось верифицировать с формальной мат моделью". Верификация - это не просто аудит. Это проверка доказательств правоты, помимо просто аудита. Ну да ладно. Про чудовищные объемы аудита и верификации, а также осуществление прослеживания (алгоритм -> структура данных -> конкретная функция в ядре -> системный вызов, взаимодействующий с функцией -> прикладная программа) - писать и повторяться не буду, писал ранее.  Если не проверить и не проследить все, что в скобках в предыдущем предложении - имеем неясно что, с точки зрения ИБ. Очевидно, что это все и не планировалось. Опыт Red Hat, SUSE и Canonical был проигнорирован.

В целом, мне все ясно. Тут налицо какая-то мутная попытка выдать непонятно что за защищенную систему. Хорошо, что такое не получилось.

За сим более писать не буду. И так все понял.
И про уровень экспертизы, и про модель, и про реализацию системы.

Ответить | Правка | К родителю #135 | Наверх | Cообщить модератору

147. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Аноним (147), 07-Мрт-20, 12:40 
Нет времени спорить и что то доказывать. Это сложные вещи.

Кратко:

Сетевой экран, как в DAC таки и  MAC включал.

> К сведению: capabilities - есть типичный DAC. Ибо это дискреционное разграничение доступа на основе атрибутов. Не считать capabilites механизмом DAC - это точно такое же гениальное решение, как и предыдущее.

Да я лично capabilites механизмом DAC не считаю!

Повторю еще раз сказание мною выше:

DAC - да дискретный, как много чего другого. Но DAC дискретный по пользователям, а capabilites дискретный по привилегиям суперпользователя. Это разные вещи по точке их применения!!! DAC применяется последовательно, после Integrity и перед MAC. А capabilites применяются паралельно DAC и MAC, можно считать почти незавтсимо от них.

Grsecurity контролирует capabilites в RSBAC и/или в независимой от DAC и MAC реализации изоляции процессов.

Перед постройкой мат модели должно быть понимание в какой последовательности по отношению друг к другу применяются разные модели безопасности. Capabilites сработает и при обработки DAC и при обработки MAC, оно работает паралельно им и можно считать независимо.

Ответить | Правка | К родителю #146 | Наверх | Cообщить модератору

23. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от pin (??), 16-Фев-20, 13:42 
Теперь это Астра?
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

33. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Michael Shigorinemail (ok), 16-Фев-20, 18:27 
> Теперь это Астра?

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

Ответить | Правка | Наверх | Cообщить модератору

70. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Аноним (68), 18-Фев-20, 09:01 
Нет не Астра.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

24. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +3 +/
Сообщение от cutlass (?), 16-Фев-20, 14:59 
Спектре матмодель учитывала?
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

71. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Аноним (68), 18-Фев-20, 09:02 
Это было 10 лет назад.
Ответить | Правка | Наверх | Cообщить модератору

27. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +2 +/
Сообщение от Аноним (27), 16-Фев-20, 16:23 
На ентерпрайз-дистрибутивах можно неплохо попилить, а на твоей разработке как?
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

31. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Michael Shigorinemail (ok), 16-Фев-20, 18:24 
> Вернемся к истокам и вспомним историю первого безопасного дистрибутива Linux
> - Adamantics

Во-первых, если он и претендовал на "первый безопасный", это была ложь.
Во-вторых, Adamantix 1.0 был выпущен в 2003 году, а практически применявшаяся бета ALT Linux Castle с RSBAC -- ещё в 2001: http://www.linuxcenter.ru/lib/articles/distrib/altlinux/cast...

> В РФ есть проблема образования - ИТ безграмотность.

Её демонстрацию вовсе не обязательно было ещё и матом сопровождать.  Почитайте здесь комментарии solardiz (который, в отличие от Вас, известен на публике _практической_ грамотностью в виде кода) -- вдруг дойдёт, что место Вашей матмодели -- среди проектов вечных двигателей, включая и мой школьный.

PS: а если ещё и не Вашей лично, а девянинской (ср. #23) -- тогда тем более.

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

36. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от tensor (?), 16-Фев-20, 19:57 
Всё уже придумано полвека назад, но только не бздунами под дырявую платформу:
https://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualizat...
А основная проблема amd64 даже не в дырявости, а в том, что без хаков с vmx и "защитой страниц" поп-вирт будет работать как старенький атом.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

59. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +1 +/
Сообщение от Аноним (-), 17-Фев-20, 17:00 
> которая даст гарантии не зависимо от любых действий пользователя они понять
> пока не могут, а поверить уже не хотят.

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

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

72. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +/
Сообщение от Аноним (68), 18-Фев-20, 09:10 
Речь шла об ОС общего назначения.
Ответить | Правка | Наверх | Cообщить модератору

81. "Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"  +1 +/
Сообщение от Аноним (81), 19-Фев-20, 01:00 
> Речь шла об ОС общего назначения.

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

Ну и вон там с 2010 года примерно на интелском железе ME в каждой дырке, всегда активный, dma-capable, с мутной фирмварью делающей неизвестно что? Как его такой моделировать то, кроме FATAL VULN, unless proven otherwise?

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру