[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Нужен ли bash



Aleksey Cheusov -> debian-russian@lists.debian.org  @ Wed, 01 Oct 2008 15:22:46 +0300:

 AC>>> Связь между размером исходного кода и безопастностью прямая. Если
 AC>>> уж выбирать что-то более мощное по сравнению с shell-ом, я бы
 AC>>> выбрал LUA или Java Script.  Но никак не TCL и тем более не
 AC>>> python.

 >> Если речь идет о безопасности, то начинать надо с выкидывания sh.
 AC> Вызов внешней утилы не является дырой в безопастности.  По крайней
 AC> мере речь _сейчас_ не об этом, контект не тот.

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

А во-вторых, у всякой утилиты, принимающей решения на основании файлов
из fs (включая их исполнение), немалая часть ее безопасности состоит из
того, что она берется исполнять, а что - нет.  Для ssh и sudo ошибки в
тщательном анализе прав - это ошибки в безопасности.  В sh механизма
анализа, что мы выполняем, нет как класса.  Это даже не ошибка в
безопасности, это design flaw.  Если в случае ssh и sudo это лечится
патчами, то в случае sh - только гильотиной.

Чтобы быть яснее.  Если на проблему все закрывают глаза - это не значит,
что проблемы не существует.

Я могу представить другие поводы выкинуть perl из базовой системы.
Размер, например.  Но выкинуть perl _по соображениям безопасности_ и
оставить при этом sh - это, извините, идиотизм.

 >> И только потом - perl...  А tcl как раз один из наиболее безопасных.
 AC> Речь не о самом языке, а о реализации транслятора и библиотеках,
 AC> реализованных на C.

Ну и?  Можно предъявить мне место, в котором tcl менее безопасен, чем
sh?

 >> А Java Script безопасен только в песочнице.  Но в песочнице он
 >> бесполезен.
 AC> Расшифруй.

Безопасность JS базируется на том, что у него нет средств доступа к
системе.  Но если у него нет средств доступа к системе, он не сможет
этой системой рулить.

Ну и движки JS'ные по размеру - perl отдыхает...

 AC> Я бы вот с удовольствием заменил awk java script-ом, если бы к нему
 AC> добавить awk-шную data-driven логику и нормальные (POSIX
 AC> compatible) регулярные выражения.

А смысл решать на получившемся винегрете задачи, которые решает awk?
Если их на авке решать сложно, вон для желающих лаконичности есть perl,
а для желающих ясности - tcl.  Где тут ниша для JS?

Ну, понятно, есть другие задачи, которые действительно может быть удобно
решать на JS (человеку, испорченному сишным синтаксисом и плюсовой
парадигмой - а я предпочту, в зависимости от задачи, либо perl, либо
lisp/tcl, либо python).  Но к ним непонятно, как пришить awk...

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru

Обновление Windows изменило интуитивно ясный интерфейс Вашего компьютера.
Загрузите обновление интуиции с сайта Microsoft.
	(С)энта


Reply to: