The OpenNET Project / Index page

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



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

Оглавление

Удалённо эксплуатируемая язвимость в драйвере NVMe-oF/TCP из состава ядра Linux, opennews (??), 16-Окт-23, (0) [смотреть все]

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


64. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +1 +/
Сообщение от Аноним (64), 16-Окт-23, 14:25 
Интересно, когда pull request'ы в ядро проходят review, есть ли принудительное использование статических анализаторов?
Ответить | Правка | Наверх | Cообщить модератору

76. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Аноним (96), 16-Окт-23, 15:41 
Сишка не поддается статическому анализу. Корректность кода нельзя математически доказать.
Ответить | Правка | Наверх | Cообщить модератору

87. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Аноним (15), 16-Окт-23, 16:39 
Не совсем правда.
Вот есть seL4, не просто статистически проверено, но даже формально верифицировано.
Оно на 73% написана на С, https://github.com/seL4/seL4

Правда есть 2 существенных НО:
1. оно маленькое - там оклоло 36к строк на С, из которых 11к это пустые и комментарии (что уже намекает на сложность).
(с другой стороны микроядро и должно быть маленьким)
2. его писали руками, сразу думая о том как они будут его верифицировать.
Пришлось потрудиться и использовать Isabelle и Haskell.
Кол-во строк скриптов только первой было больше 200к строк.

И это было довольно дорого
The abstract spec took about 4 person months (pm) to develop. About 2 person years (py) went into the Haskell prototype (over all project phases), including design, documentation, coding, and testing.
The executable spec only required setting up the translator; this took 3 pm. The initial C translation was done in 3 weeks, in total the C implementation took about 2 pm, for a total cost of 2.2 py including the Haskell effort.
(статья https://cseweb.ucsd.edu/~dstefan/cse227-spring20/papers/sel4...)

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

102. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  –1 +/
Сообщение от Аноним (102), 16-Окт-23, 17:43 
Формальная верификация - это из области бреда учёных-грантоедов. Отличная теория, которая далека от реалий нашей вселенной.
Ответить | Правка | Наверх | Cообщить модератору

119. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Аноним (82), 16-Окт-23, 19:26 
> Формальная верификация - это из области бреда учёных-грантоедов. Отличная теория, которая далека от реалий нашей вселенной.

- Поздраляем, вы приняты в команду разработчиков ядра!

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

120. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +1 +/
Сообщение от Аноним (91), 16-Окт-23, 19:50 
Ядра Minix.
Ответить | Правка | Наверх | Cообщить модератору

161. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Аноним (-), 18-Окт-23, 18:21 
Да так. Эндрю Танненбаум брал грант на усовершенствование Миникса3.
Ответить | Правка | Наверх | Cообщить модератору

170. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от edo (ok), 19-Окт-23, 22:42 
> Интересно, когда pull request'ы в ядро проходят review,

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

Теоретически на каждом шаге после начального принятия кода может происходить отказ/требование доработки, но это уже аварийный механизм, на тот случай, если первый мейнтейнер что-то просмотрел

> есть ли принудительное использование статических анализаторов?

В описанном выше пути принятия кода статические анализаторы не участвуют. Как и регрессионные тесты. Но есть сторонние команды, которые этим занимаются. За счёт того, что перед каждым релизом ядра код на некоторое время замораживается (принимаются только исправления), у таких проблем есть большие шансы быть замечененными и не попасть в релиз

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

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

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




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

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