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

Ранее подобная техника перекомпоновки применялась в отношении ядра и библиотек libc.so, libcrypto.so и ld.so, а теперь будет применена и для некоторых исполняемых файлов. В ближайшее время метод также планируется реализовать для ntpd и других серверных приложений. Изменение уже включено в состав ветки CURRENT и будет предложено в выпуске OpenBSD 7.3.

Перекомпоновка позволяет сделать малопредсказуемым смещения функций в библиотеках, что затруднит создание эксплоитов, использующие методы возвратно-ориентированного программирования (ROP - Return-Oriented Programming). При использовании техники ROP атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися в загруженных библиотеках кусками машинных инструкций, завершающихся инструкцией возврата управления (как правило, это окончания библиотечных функций). Работа эксплоита сводится к построению цепочки вызовов подобных блоков ("гаджетов") для получения нужной функциональности.

// cc-by opennet.ru
// converted with crypt’s opennet autoreposter <<<

  • cryptOP
    link
    fedilink
    arrow-up
    0
    ·
    3 years ago

    пока мир переходил на раст, openbsd все еще пытались обезопасть 500 строк кода от переполнения буфера.

    при всей моей любви к надежным системам, они так забили на все остальное, что это теряет смысл.

    • Meyer
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      «пока мир переходил на раст, openbsd все еще пытались обезопасть 500 строк кода от переполнения буфера.» Атаки через ROP - это про другое.

      • cryptOP
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        в смысле про другое?! сам посмотри сначала.

    • posixbit
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      «пока мир переходил на раст» Как будто что-то хорошее.

      • Minona
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        Не просто хорошее - замечательное =)

      • cryptOP
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        баги адресации, которые находят даже в опенбзд, спустя 20 лет, - это хорошо для хакеров и плохо для админов.

    • rezedent12
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      Полагаю всякие ошибки переполнения приводящие к перезаписи того что перезаписываться не должно, это следствие того что когда то очень сильно экономили байты. Что отразилось на процессорах, ABI и компиляторах.

    • Aleks Michajlow
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      при всей моей любви к надежным системам, они так забили на все остальное, что это теряет смысл.

      они не забили на остальное, там активных разрабов около 100 человек. Они пилят что успевают, и что им интересно.