Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Re 20.06.05 13:07 Число просмотров: 1910
Автор: whiletrue <Роман> Статус: Elderman Отредактировано 20.06.05 13:49 Количество правок: 1
|
> > Защита: Не запускать левых ert-шников. Или перед > запуском > > тщательно проверить код. > Дисскусия перетекает чисто в теоретическое русло, потому > как специалистом по 1С не являюсь (чему и рад вполне),
Тогда тебе достаточно сложно представить проблему...
Во-первых 1С никогда особо о безопасности не беспокоилась, все что есть - защита от дурака.
Формат внешних обработок (ert) очень легко вычисляем, он никак не шифруется и не сжимается, т.е.
фактически текстовый. Любой субъект [возможно и процесс], который имеет доступ к этому файлу на запись может его поправить как угодно, в частности внести туда строки с вирусом. Сам вирус написать очень легко свой, а не копировать существующий, поэтому по сигнатурам такие вирусы найти нельзя!
С другой стороны ert активно используются бухгалтерами для отчетности, эти ert поставляются 1С-кой каждый квартал в виде поддержки (грубо говоря). И в частности эти самые ert пишут в файлы и запускают внешние приложения, поэтому по этим действиям отследить вирус нельзя.
> поэтому могу предположить лишь следующие моменты: > 1) не запускать левых ert или проверить код - думаю, что > можно все эти проверки реализовать неким механизмом в 1С.
В 1С есть своя аутентификация и разрешения на пользование объектами (документами, справочниками), в частности можно, конечно, запретить пользоваться внешними обработками (ert), но, как я говорил - бухам они очень даже нужны.
Даже если 1С сподобится нечто такое эвристическое реализовать - то ЧТО такая проверка будет искать?
> 2) если что то и запускается, то запускается в аналоге unix > chroot - дабы если "нечто" кудато полезло, то хоть не в > систему.
Ничего она не проверяет! Запускает грубо говоря cmd и туда пихает все команды. Но это в лучшем случае, а в худшем - просто запускает от своего имени.
Вот теория:
1. Процесс верхнего уровня (1С) полагается на безопасность ОС (Винда), и просто дает ей на выполнение некие команды пользователя
2. ОС втихаря все это и выполняет от имени 1С
Вопрос: а где проверка на корректность команд должна стоять? В 1С - так она, типа, верхний уровень и о функционировании ОС ничего не знает. Во внешнем антивире - так откуда он узнает что надо 1С-ке. А если я захочу некий хитрый функционал реализовать (да хоть просто выгрузку данных на сайт) - такая проверка мне наверняка будет мешать!
Здесь проблема в том, что стоит виртуальная машина (1С) на виртуальной машине (Винда), и политики безопасности у них не согласованы и никто их никогда согласовывать не будет!
> 3) отслеживать какое приложение что и куда пытается > передать - чтобы не утекла конфиденциальная информация. > Думаю, что все эти моменты программисты из 1С могут решить.
Пример: Пусть спарвочник "Контрагенты" - конфиденциален, я манагер - мне надо его использовать, программа, которую я использую должна уметь делать выборки по нему, т.е. уметь его читать. С другой стороны любая программа умеет записывать любую выбранную инфу во внешний файл и передавать его по инету... Вот ЧТО здесь искать? Прога может, конечно, слить конфиденциальную инфу, НО, мне, как манагеру, хотелось бы отправить контрагенту по почте прайс-лист (не конфиденциальный)... Действия м.б. в одном случае корректными, а вдругом нет, и нету НИКАКОЙ демаркации между ними. Все равно, что подобную проверку в perl или в компилятор С встраивать...
|
|
|