* [devel] Insecure library loading
@ 2010-10-15 17:25 Vladimir Lettiev
2010-10-15 18:24 ` Igor Vlasenko
0 siblings, 1 reply; 9+ messages in thread
From: Vladimir Lettiev @ 2010-10-15 17:25 UTC (permalink / raw)
To: ALT Devel discussion list
Судя по всему в debian провели аудит безопасности shell-скриптов на предмет
наличия небезопасного изменения переменной окружения LD_LIBRARY_PATH.
Уязвимые скрипты используют следующую конструкцию в коде:
export LD_LIBRARY_PATH=/usr/lib/somedir:$LD_LIBRARY_PATH
В случае если переменная $LD_LIBRARY_PATH оказывается пустой, то
ld.so трактует это как '.', т.е. текущий каталог. Если при
запуске скрипта текущий каталог оказывается под контролем
злоумышленника, то это позволяет выполнить произвольный код.
Я начал развешивать баги ( #24316, #24324 ), но похоже их там ещё
очень много. Мне кажется, что подобная проверка может быть
автоматизированна и выполняться при сборке пакета, что позволит
быстро вычислить все уязвимые пакеты (они не пройдут пересборку)
и предотвратить появление новых программ с подобной уязвимостью.
--
Vladimir Lettiev aka crux ✉ theCrux@gmail.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Insecure library loading
2010-10-15 17:25 [devel] Insecure library loading Vladimir Lettiev
@ 2010-10-15 18:24 ` Igor Vlasenko
2010-10-15 18:32 ` Vladimir Lettiev
0 siblings, 1 reply; 9+ messages in thread
From: Igor Vlasenko @ 2010-10-15 18:24 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Fri, Oct 15, 2010 at 09:25:19PM +0400, Vladimir Lettiev wrote:
> Судя по всему в debian провели аудит безопасности shell-скриптов на предмет
> наличия небезопасного изменения переменной окружения LD_LIBRARY_PATH
Владимир, вы случайно готового скрипта для тестирования не встречали?
Я думаю добавить и в repocop тест, готовый скрипт тестирования не помешал бы.
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Insecure library loading
2010-10-15 18:24 ` Igor Vlasenko
@ 2010-10-15 18:32 ` Vladimir Lettiev
2010-10-15 22:13 ` Igor Vlasenko
0 siblings, 1 reply; 9+ messages in thread
From: Vladimir Lettiev @ 2010-10-15 18:32 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Fri, Oct 15, 2010 at 09:24:45PM +0300, Igor Vlasenko wrote:
> On Fri, Oct 15, 2010 at 09:25:19PM +0400, Vladimir Lettiev wrote:
> > Судя по всему в debian провели аудит безопасности shell-скриптов на предмет
> > наличия небезопасного изменения переменной окружения LD_LIBRARY_PATH
>
> Владимир, вы случайно готового скрипта для тестирования не встречали?
> Я думаю добавить и в repocop тест, готовый скрипт тестирования не помешал бы.
Пока нашёл только это: http://bugs.debian.org/451559
--
Vladimir Lettiev aka crux ✉ theCrux@gmail.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Insecure library loading
2010-10-15 18:32 ` Vladimir Lettiev
@ 2010-10-15 22:13 ` Igor Vlasenko
2010-10-16 6:39 ` Vladimir Lettiev
0 siblings, 1 reply; 9+ messages in thread
From: Igor Vlasenko @ 2010-10-15 22:13 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Fri, Oct 15, 2010 at 10:32:54PM +0400, Vladimir Lettiev wrote:
> > > Судя по всему в debian провели аудит безопасности shell-скриптов на предмет
> > > наличия небезопасного изменения переменной окружения LD_LIBRARY_PATH
> >
> > Владимир, вы случайно готового скрипта для тестирования не встречали?
> > Я думаю добавить и в repocop тест, готовый скрипт тестирования не помешал бы.
>
> Пока нашёл только это: http://bugs.debian.org/451559
Спасибо! Увмдел там же хороший пример сложности задачи.
Жаль никто скрипта не написал.
При ручной проверке достаточно экстрагировать */bin */sbin
каталоги, пройтись по ним grep и вручную поотбрасывать
false positive. А тесту без false positive нужен парсер sh.
Пока не вник, придется отложить :(
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Insecure library loading
2010-10-15 22:13 ` Igor Vlasenko
@ 2010-10-16 6:39 ` Vladimir Lettiev
2010-10-16 9:05 ` Igor Vlasenko
0 siblings, 1 reply; 9+ messages in thread
From: Vladimir Lettiev @ 2010-10-16 6:39 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Sat, Oct 16, 2010 at 01:13:09AM +0300, Igor Vlasenko wrote:
> On Fri, Oct 15, 2010 at 10:32:54PM +0400, Vladimir Lettiev wrote:
> > > > Судя по всему в debian провели аудит безопасности shell-скриптов на предмет
> > > > наличия небезопасного изменения переменной окружения LD_LIBRARY_PATH
> > >
> > > Владимир, вы случайно готового скрипта для тестирования не встречали?
> > > Я думаю добавить и в repocop тест, готовый скрипт тестирования не помешал бы.
> >
> > Пока нашёл только это: http://bugs.debian.org/451559
>
> Спасибо! Увмдел там же хороший пример сложности задачи.
>
> Жаль никто скрипта не написал.
>
> При ручной проверке достаточно экстрагировать */bin */sbin
%_gamesbindir тоже не забыть
> каталоги, пройтись по ним grep и вручную поотбрасывать
> false positive. А тесту без false positive нужен парсер sh.
Думаю, что самая надёжная проверка, это запуск скипта в чруте
через `strace -e open` и искать в выводе подстроку `open("./libc.so`
Или вообще `open(".` т.к. открытие любого файла из текущего каталога
потенциально небезопасно
--
Vladimir Lettiev aka crux ✉ theCrux@gmail.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Insecure library loading
2010-10-16 6:39 ` Vladimir Lettiev
@ 2010-10-16 9:05 ` Igor Vlasenko
2010-10-16 9:15 ` Michael Shigorin
0 siblings, 1 reply; 9+ messages in thread
From: Igor Vlasenko @ 2010-10-16 9:05 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Sat, Oct 16, 2010 at 10:39:52AM +0400, Vladimir Lettiev wrote:
> > каталоги, пройтись по ним grep и вручную поотбрасывать
> > false positive. А тесту без false positive нужен парсер sh.
>
> Думаю, что самая надёжная проверка, это запуск скипта в чруте
> через `strace -e open` и искать в выводе подстроку `open("./libc.so`
>
> Или вообще `open(".` т.к. открытие любого файла из текущего каталога
> потенциально небезопасно
Я задумываюсь о системе тестирования, условно скажем, repocop2,
которая еще устанавливала бы пакеты в hasher,
что позволяло бы внутри выполнять ряд тестов естественным
образом. Меня только останавливало осознание того, сколько
такая система кушала бы ресурсов.
Но закон Мура еще действует, так что пора задумываться и
о repocop2.
В такой системе данный тест действительно написать было бы очень
легко. сначала grep LD_LIBRARY_PATH по файлам пакета,
затем разбор и запуск кандидатов -- несколько строк на shell.
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Insecure library loading
2010-10-16 9:05 ` Igor Vlasenko
@ 2010-10-16 9:15 ` Michael Shigorin
2010-10-16 9:49 ` Igor Vlasenko
0 siblings, 1 reply; 9+ messages in thread
From: Michael Shigorin @ 2010-10-16 9:15 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Sat, Oct 16, 2010 at 12:05:44PM +0300, Igor Vlasenko wrote:
> Я задумываюсь о системе тестирования, условно скажем, repocop2,
> которая еще устанавливала бы пакеты в hasher, что позволяло бы
> внутри выполнять ряд тестов естественным образом.
Может быть разумно реализовывать рядом с проверкой на
устанавливаемость после параллельной сборки, чтоб оставалось
разве что RAM contention (tmpfs), но не дополнительная задержка
по времени.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Insecure library loading
2010-10-16 9:15 ` Michael Shigorin
@ 2010-10-16 9:49 ` Igor Vlasenko
2010-10-16 10:56 ` Michael Shigorin
0 siblings, 1 reply; 9+ messages in thread
From: Igor Vlasenko @ 2010-10-16 9:49 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Sat, Oct 16, 2010 at 12:15:44PM +0300, Michael Shigorin wrote:
> On Sat, Oct 16, 2010 at 12:05:44PM +0300, Igor Vlasenko wrote:
> > Я задумываюсь о системе тестирования, условно скажем, repocop2,
> > которая еще устанавливала бы пакеты в hasher, что позволяло бы
> > внутри выполнять ряд тестов естественным образом.
>
> Может быть разумно реализовывать рядом с проверкой на
> устанавливаемость после параллельной сборки, чтоб оставалось
> разве что RAM contention (tmpfs), но не дополнительная задержка
> по времени.
Не разумно, IMHO.
1) Сборочница и так уже на ладан дышит, сутками приходится
сборки ждать.. вынесли тесты == расспараллеливание.
2) Дизайн. Сборочница это сборочница, она только может
пропустить или не пропустить. И it bring us hate если
сборочница к чепухе придерется.
3) Сборочница _не проверяет_ такущие пакеты.
т.е. в Сизифе может годами пилиться кривой пакет,
а по суслам получит не нерадивый мейнтейнер, а
энтузиаст, который попытается починить и обновить.
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Insecure library loading
2010-10-16 9:49 ` Igor Vlasenko
@ 2010-10-16 10:56 ` Michael Shigorin
0 siblings, 0 replies; 9+ messages in thread
From: Michael Shigorin @ 2010-10-16 10:56 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Sat, Oct 16, 2010 at 12:49:58PM +0300, Igor Vlasenko wrote:
> 2) Дизайн. Сборочница это сборочница, она только может
> пропустить или не пропустить. И it bring us hate если
> сборочница к чепухе придерется.
Да уже и warning'ам научили...
Понятно про синхронность, я пытался сообразить, что дороже --
перераскручивать пакеты или утаскивать развёрнутые. Просто для
prometeus'ов в количестве нескольких штук и вытаскивалки спеков
в cvs (была когда-то и такая тут) похожее в своё время вылезло.
> 3) Сборочница _не проверяет_ такущие пакеты.
> т.е. в Сизифе может годами пилиться кривой пакет,
> а по суслам получит не нерадивый мейнтейнер, а
> энтузиаст, который попытается починить и обновить.
Тоже да.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-10-16 10:56 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-15 17:25 [devel] Insecure library loading Vladimir Lettiev
2010-10-15 18:24 ` Igor Vlasenko
2010-10-15 18:32 ` Vladimir Lettiev
2010-10-15 22:13 ` Igor Vlasenko
2010-10-16 6:39 ` Vladimir Lettiev
2010-10-16 9:05 ` Igor Vlasenko
2010-10-16 9:15 ` Michael Shigorin
2010-10-16 9:49 ` Igor Vlasenko
2010-10-16 10:56 ` Michael Shigorin
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