The OpenNET Project / Index page

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

04.06.2006 06:12  Улучшение защиты памяти в ядре FreeBSD-CURRENT

В замечаниях к текущей версии FreeBSD-CURRENT приводится информация об улучшении безопасности работы с памятью на уровне ядра, реализованном Pawel Jakub Dawidek (pjd@FreeBSD.org) под названием RedZone, предназначенном для защиты буфера от повреждения при выделении/освобождении памяти во время вызова malloc(9).

RedZone распознает ошибки переполнения буфера "сверху" и "снизу" времени выполнения (через опосредованный вызов readzone_check() до момента фактической манипуляции с ресурсами в free(9) и realloc(9)) и печатает отладочную информацию об адресах выделения и освобождения затронутой памяти вида:
REDZONE: Buffer underflow detected. 2 bytes corrupted before 0xc8688580 (16 bytes allocated).

Поведение системы по умолчанию - печать отладочной информации без вызова паники ядра (redzone_check() смотрит на настраиваемое sysctl(8)-значение vm.redzone.panic). Работает в ядре, собранном в режиме отладки.

  1. Главная ссылка к новости (http://www.freebsd.org/cgi/man...)
Автор новости: cvsup
Тип: К сведению
Ключевые слова: malloc, memory, security, check
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 22:37, 04/06/2006 [ответить] [смотреть все]    [к модератору]
  • +/
    ничо не понил
     
  • 1.2, creativ, 23:07, 04/06/2006 [ответить] [смотреть все]    [к модератору]
  • +/
    Кто-нибудь объяснит чем это гуд? ))
     
  • 1.3, cvsup, 23:38, 04/06/2006 [ответить] [смотреть все]    [к модератору]
  • +/
    Насколько я понимаю, теперь станет проще отлаживать систему (ядро в частности).
    Чем это гуд? Все лучше, когда баги выплывают на этапе тестирования, а не в виде send-pr(1)
    Вот еще related links, где redzone так или иначе упоминается:
    ядерный malloc(9):
    http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/kern_malloc.c?rev=1.152&co
    библиотечный malloc(3):
    http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/stdlib/malloc.c?rev=1.93&c
    тот самый redzone(9), в частности redzone_check(), который вызывают из юзер- и кернелспейса в free(), realloc() /etc:
    http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/vm/redzone.c?rev=1.1&content-ty
    а это откуда я собственно и узнал - коммиту redzone 4 месяца %) только т-сс:
    http://www.freebsd.org/relnotes/CURRENT/relnotes/i386/new.html
     
  • 1.4, Дима, 07:30, 05/06/2006 [ответить] [смотреть все]    [к модератору]
  • +/
    на производительность как повлияет?
     
  • 1.5, nobody, 08:36, 05/06/2006 [ответить] [смотреть все]    [к модератору]
  • +/
    > Работает в ядре, собранном в режиме отладки.
    Думаю будет не шибко быстро.
     
  • 1.6, Аноним, 09:07, 05/06/2006 [ответить] [смотреть все]     [к модератору]  
  • +/
    что б это понять - надо прочитать МакКузика - благо книга по внутреннему строени... весь текст скрыт [показать]
     
  • 1.7, X0R, 10:16, 05/06/2006 [ответить] [смотреть все]    [к модератору]  
  • +/
    man page
    http://www.freebsd.org/cgi/man.cgi?query=redzone&sektion=9&manpath=FreeBSD+7.
     
  • 1.9, cvsup, 19:02, 07/06/2006 [ответить] [смотреть все]    [к модератору]  
  • +/
    src/UPDATING

    20060113:
    libc's malloc implementation has been replaced.  This change has the
    potential to uncover application bugs that previously went unnoticed.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


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