ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Victor Forsyuk <victor@ksi-linux.com>
To: devel@altlinux.ru
Subject: Re: [devel] libsafe
Date: Wed, 21 May 2003 20:00:10 +0300
Message-ID: <20030521170010.GH24549@nomad.ksi-linux.com> (raw)
In-Reply-To: <20030520091148.GA13656@basalt.office.altlinux.org>

On Tue, May 20, 2003 at 01:11:48PM +0400, Dmitry V. Levin wrote:
> On Tue, May 20, 2003 at 09:01:23AM +0300, Сергей Глодин wrote:
> >  >> Рекомендую новые пакеты проверять на совместимость с
> >  >> libsafe. Особенно это касается серверных пакетов.
> > 
> >  DVL> Не думаю, что это имеет смысл.
> > 
> >  Он только перехватывает выполнение опасных, с его точки зрения, функций
> >  заменяя их выполнение безопасными вариантами.
> 
> Это иллюзия.
> Функуии типа strcpy/sprintf вредны не из-за опасной реализации, а сами по
> себе, из-за своей семантики.

Несомненно. На самом деле, по сути, libsafe заменяет эти функции
на их безопасные (те, которые с известным размером буфера) аналоги.
Но делает это динамически, во время выполнения функции оценивая,
а какой же размер является еще безопасным. Выдержка из libsafe(8):

The key idea is the ability to estimate a safe upper limit on the size
of buffers automatically. This estimation cannot be performed at
compile time because the size of the buffer may not be known at that
time. Thus, the calculation of the buffer size must be made after the
start of the function in which the buffer is accessed. Our method is
able to determine the maximum buffer size by realizing that such local
buffers cannot extend beyond the end of the current stack frame. This
realization allows the substitute version of the function to limit
buffer writes within the estimated buffer size. Thus, the return
address from that function, which is located on the stack, cannot be
overwritten and control of the process cannot be commandeered.

 
> >  DVL> Когда-то в Сизифе был libsafe1, но был удален ввиду малой
> >  DVL> полезности и повышенной опасности - некоторые программы безо
> >  DVL> всякой видимой причины начинают вести себя не так, как обычно.  Не
> >  DVL> верю, что libsafe2 окажется более безопасным.
> > 
> >  Было бы неплохо протестировать его. Принудительно в ld.so.preload я его
> >  не вписываю. Это необходимо сделать вручную. Поэтому после его
> >  установки стандартное поведение программ не изменится.
> 
> Это радует :/

Как опциональный инструмент повышения безопасности libsafe всё же
заслуживает своего места в дистрибутиве.



  reply	other threads:[~2003-05-21 17:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-19 18:42 [devel] New packages Сергей Глодин
2003-05-19 19:26 ` Dmitry V. Levin
2003-05-20  6:01   ` óÅÒÇÅÊ çÌÏÄÉÎ
2003-05-20  9:11     ` [devel] libsafe Dmitry V. Levin
2003-05-21 17:00       ` Victor Forsyuk [this message]
2003-05-21 20:07         ` Сергей Глодин

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030521170010.GH24549@nomad.ksi-linux.com \
    --to=victor@ksi-linux.com \
    --cc=devel@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git