LINUX.ORG.RU

История изменений

Исправление targitaj, (текущая версия) :

Если я всё верно понимаю, то ситуация следующая.
Вот есть некий циклический процесс, который, в том числе, работает с сетевым адаптером. То есть, сколько-то там раз в секунду этот процесс проверяет поступили ли в адаптер данные и сам шлёт данные через этот адаптер. Для процесса на этапе получения это тупо куча байт, никаких «портов» и прочего там нет. Для процесса на данном этапе, в смысле. Если чего-то пришло - эти данные перекладываются в очередь на обработку. И вот тогда уже проявляются порты/протоколы и прочее. По сути, «открытый» порт или «закрытый» означает тупо определенное действие. Принять в дальнейшую работу или отбросить. Обычно такой процесс является частью ядра ОС. Так вот, к чему я это. На любом этапе этого процесса может случиться так, что некая полученная последовательность будет обработана неправильно. С непредсказуемыми результатами. Потому что, как правило, вся обработка сводится к списку сравнений. Если совпадает с этим, то делать то. Если с тем - то делать это. Грубо говоря, ряд if then. Ошибка обработки и называется уязвимостью. Если я всё верно понимаю, конечно. Так вот, суть обновления состоит в ликвидировании вот таких нештатных срабатываний.
Если я верно понимаю, то совершенно пофиг, закрыт там порт или открыт. Ядро один хрен эти данные через себя пропускает. Просто в случае «закрытого порта» данные дальше механизма ядра не уходят.

Исправление targitaj, :

Если я всё верно понимаю, то ситуация следующая.
Вот есть некий циклический процесс, который, в том числе, работает с сетевым адаптером. То есть, сколько-то там раз в секунду этот процесс проверяет поступили ли в адаптер данные и сам шлёт данные через этот адаптер. Для процесса на этапе получения это тупо куча байт, никаких «портов» и прочего там нет. Для процесса на данном этапе, в смысле. Если чего-то пришло - эти данные перекладываются в очередь на обработку. И вот тогда уже проявляются порты/протоколы и прочее. По сути, «открытый» порт или «закрытый» означает тупо определенное действие. Принять в дальнейшую работу или отбросить. Обычно такой процесс является частью ядра ОС. Так вот, к чему я это. На любом этапе этого процесса может случиться так, что некая полученная последовательность будет обработана неправильно. С непредсказуемыми результатами. Потому что, как правило, вся обработка сводится к списку сравнений. Если совпадает с этим, то делать то. Если с тем - то делать это. Грубо говоря, ряд if then. Ошибка обработки и называется уязвимостью. Если я всё верно понимаю, конечно. Так вот, суть обновления состоит в ликвидировании вот таких нештатных срабатываних.
Если я верно понимаю, то совершенно пофиг, закрыт там порт или открыт. Ядро один хрен эти данные через себя пропускает. Просто в случае «закрытого порта» данные дальше механизма ядра не уходят.

Исходная версия targitaj, :

Если я всё верно понимаю, то ситуация следующая.
Вот есть некий циклический процесс, который, в том числе, работает с сетевым адаптером. То есть, сколько-то там раз в секунду этот процесс проверяет поступили ли в адаптер данные и сам шлёт данные через этот адаптер. Для процесса на этапе получения это тупо куча байт, никаких «портов» и прочего там нет. Для процесса на данном этапе, в смысле. Если чего-то пришло - эти данные перекладываются в очередь на обработку. И вот тогда уже проявляются порты/протоколы и прочее. По сути, «открытый» порт или «закрытый» означает тупо определенное действие. Принять в дальнейшую работу или отбросить. Обычно такой процесс является частью ядра ОС. Так вот, к чему я это. На любом этапе этого процесса может случиться так, что некая полученная последовательность будет обработана неправильно. С непредсказуемыми результатами. Потому что, как правило, вся обработка сводится к списку сравнений. Если совпадает с этим, то делать то. Если с тем - то делать это. Грубо говоря, ряд if then. Вот такая вот ошибка обработки и называется уязвимостью. Если я всё верно понимаю, конечно. Так вот, суть обновления состоит в ликвидировании вот таких нештатных срабатываних.
Если я верно понимаю, то совершенно пофиг, закрыт там порт или открыт. Ядро один хрен эти данные через себя пропускает. Просто в случае «закрытого порта» данные дальше механизма ядра не уходят.