Команда open-source справилась с переполнением буфера



Авторы OpenBSD надеются, что последние изменения в новой версии ОС исключат «переполнения буфера» — проблему программного обеспечения, донимающую экспертов по безопасности более трех десятилетий.

Руководитель проекта Тео де Раадт уверен, что благодаря изменениям, внесенным в новую версию варианта Unix, которая выходит 1 мая, вызвать переполнение буфера будет чрезвычайно трудно, а то и вовсе невозможно.«Я мог бы просто сказать, что с переполнением буфера покончено, но я нахожусь в аудитории экспертов по безопасности, поэтому должен взять это в кавычки», — заявил он в четверг на конференции CanSecWest.

Ошибки, связанные с распределением памяти, не удавалось искоренить почти 30 лет, поэтому утверждение группы разработчиков open-source о том, что она справилась с этой задачей, требует проверки.Некоторые участники конференции уже выразили свои сомнения.«Это просто дополнительный уровень защиты, — сказал старший менеджер по безопасности швейцарского оператора связи Colt Telecom Николас Фишбах. — Он не даст большого эффекта, так как в любом ПО всегда найдутся баги».

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

Команда OpenBSD затруднила этот процесс при помощи трех мер.

Во-первых, место расположения стека — области памяти, в которой хранятся приложения и их данные, — теперь выбирается произвольно, так что код, призванный вызвать переполнение буфера, должен будет «знать» схему распределения памяти для данной системы.«Переполнение буфера использует определенную схему распределения памяти, — пояснил де Раадт. — Теперь памяти расходуется несколько больше, зато задача взломщиков сильно усложняется».

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

Наконец, группа нашла способ расчленить файловую систему BSD и разделить память на зоны, предназначенные для записи данных и исполнения программ. Так называемые страницы памяти, хранящие программы и данные, размещаются в одной из этих двух зон.«Мы хотим гарантировать, что ни одна страница не будет использоваться для записи и исполнения одновременно. Никакие хакеры не смогут записать код и тут же исполнить его», — сказал де Раадт.

Проблема группы OpenBSD в том, что если у 64-разрядных процессоров такая защита памяти существует, то более популярные 32-разрядные чипы ее не поддерживают. Чтобы разделить память на зоны для записи и исполнения, эту проблему необходимо решить.В первомайском релизе защищенной структуры страниц памяти для 32-разрядных процессоров еще не будет. Де Раадт обещает, что она будет готова в течение шести месяцев.

Разработка OpenBSD Project финансируется за счет гранта Управления исследовательских проектов Министерства обороны США (DARPA) размером в 2,3 млн $, однако последние изменения выходят за рамки первоначальных требований гранта.«На самом деле это не входит в грант DARPA, — заявил де Раадт. — Но это сделано благодаря гранту DARPA, потому что, когда парни соберутся в одной комнате и выпьют... вот что получается». Де Раадт очень старался подчеркнуть, что группа за пиво расплатилась.


Автор: Роберт Лемос
Дата:


» Оставьте первым свой комментарий


Новости > Новости НеWindows > Команда open-source справилась с переполнением буфера
Все рубрики статей:
Топ-сегодня: Новости НеWindows
Браузер «Спутник» будет встроен в российскую ОС на базе Sailfish
Компания ищет для этой платформы новое название, которое бы в лучшей степени отражало ее национальную идентичность
Endless OS 3.2 вышла тихо и незаметно
Endless OS примечателен максимально простой схемой дистрибуции
Статистика популярности Linux-дистрибутивов
Испанский ресурс Dudalibre ведет статистику популярности Linux-дистрибутивов. Любой желающий может изменить ее результаты
Выбор дистрибутива Linux
Обзор наиболее популярных дистрибутивов GNU/Linux
Выпущен CRUX 3.4
CRUX — это дистрибутив Linux, отличительной особенностью которого является легкость, прозрачность и простота системы
Новые статьи: Новости НеWindows
Браузер «Спутник» будет встроен в российскую ОС на базе Sailfish
Компания ищет для этой платформы новое название, которое бы в лучшей степени отражало ее национальную идентичность
Выпущен CRUX 3.4
CRUX — это дистрибутив Linux, отличительной особенностью которого является легкость, прозрачность и простота системы
Huawei разрабатывает замену Windows и Android на случай американских санкций
Операционная система, которую удалось разработать Huawei, ощутимо хуже, чем Android
Состоялся релиз Ubuntu 16.04.4 LTS
Вышло накопительное обновление дистрибутива Ubuntu 16.04.4 LTS, в котором включены все последние исправления, в том числе и исправления уязвимостей Spectre и Meltdown
В популярной Linux-оболочке найден курьезный баг
Разработчики графической оболочки KDE Plasma Desktop исправили уязвимость, которая позволяла выполнять произвольный код на компьютерах под управлением Linux

Статистика | Рейтинги | Авторам | Реклама
Copyright © 1999-2018 Softodrom.ru
О перепечатках | Рассылки | Пользовательское соглашение | Политика конфиденциальности | О проекте | Карта сайта
В Опере нет автоматического способа добавить поиск по Софтодрому.
Чтобы вручную добавить поиск по Софтодрому, нужно сделать следующее:
  1. Нажать Ctrl+F12.
  2. Выбрать вкладку «Поиск».
  3. Нажать «Добавить» (Add).
  4. В появившемся окне:
    1. Заполнить название (Softodrom.ru).
    2. Заполнить адрес: https://www.softodrom.ru/Поиск/?text=%s&qs
      Если нет поля «адрес», то кликнуть на «Подробнее».
    3. Остальные поля заполнить по желанию.
  5. Нажать «ОК».