информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetЗа кого нас держат?Сетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Phrack #70/0x46 
 Возможно, Facebook наступил на... 
 50 лет электронной почте 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / sysadmin
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Я тоже не специалист 1С и мне тоже сложно понять 20.06.05 14:46  Число просмотров: 1729
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
> Формат внешних обработок (ert) очень легко вычисляем, он
> никак не шифруется и не сжимается, т.е.
> фактически текстовый. Любой субъект [возможно и процесс],
> который имеет доступ к этому файлу на запись может его
> поправить как угодно, в частности внести туда строки с
> вирусом. Сам вирус написать очень легко свой, а не
> копировать существующий, поэтому по сигнатурам такие вирусы
> найти нельзя!
>
> С другой стороны ert активно используются бухгалтерами для
> отчетности, эти ert поставляются 1С-кой каждый квартал в
> виде поддержки (грубо говоря). И в частности эти самые ert
> пишут в файлы и запускают внешние приложения, поэтому по
> этим действиям отследить вирус нельзя.
ЗАЧЕМ и ЧТО они пишут в файлы? Зачем они запускают ВНЕШНИЕ приложения? Насколько я понимаю, документ 1С это что-то наподобие документа Excel, максимум из необходимых расширений которого - доступ к некоей внутренней (встроенной в 1С) базе данных. Я просто не вижу смысла разрешать макроязыку 1С запускать что-то стороннее, писать в файлы и тем более отсылать по сети. Если надо что-то кому-то отправить, пускай бухгалтера осваивают электронную почту. Если надо сохранить изменения в файле, пускай бухгалтер осваивает кнопку "сохранить", к которой макроязык не имеет доступа.

Насчёт поставляемых ert в качестве "поддержки". Как я понимаю, это что-то типа обычных апдейтов как самой 1С, так и базы, содержащихся в ней всяких там каталогов ОКОНХ (или как его) и прочее? Так если это обновление самой проги, пускай они это делают экзешником и реализуют это по аналогии с апдейтами от майкрософт. Всегда можно подсунуть пользователю гадость, но это уже проблемы пользователя. Нефиг запускать апдейты, скачанные с не официального сайта, или предоставленные не самой 1С. С тем же успехом пользователь может запустить любой левый exe'шник, не имеющий вообще никакого отношения к 1С, так что защищённость в этом случае не понижается.

Если же нужно просто обновить базу программы, то пускай они это делают по аналогии с reg-файлами в винде. ЗАЧЕМ разрешать им для этих целей писать что угодно куда угодно?


> --skiped--
> В 1С есть своя аутентификация и разрешения на пользование
> объектами (документами, справочниками), в частности можно,
> конечно, запретить пользоваться внешними обработками (ert),
> но, как я говорил - бухам они очень даже нужны.
Опять же, зачем они им нужны? Приведи пример.


> Пример: Пусть спарвочник "Контрагенты" - конфиденциален, я
> манагер - мне надо его использовать, программа, которую я
> использую должна уметь делать выборки по нему, т.е. уметь
> его читать. С другой стороны любая программа умеет
> записывать любую выбранную инфу во внешний файл и
> передавать его по инету... Вот ЧТО здесь искать? Прога
> может, конечно, слить конфиденциальную инфу, НО, мне, как
> манагеру, хотелось бы отправить контрагенту по почте
> прайс-лист (не конфиденциальный)... Действия м.б. в одном
> случае корректными, а вдругом нет, и нету НИКАКОЙ
> демаркации между ними. Все равно, что подобную проверку в
> perl или в компилятор С встраивать...
А управлять уровнем доступа до файла никак? Они могут держать какую-то внутреннюю базу с указанием уровня конфиденциальности конкретных файлов (можно хранить, например, подписи файлов) или использовать для этих целей систему прав доступа ОС и если файл конфеденциален, запрещать руками из самой 1С что-то с ними делать (изменять, копировать и пр.). Конечно, защита не ахти какая, но макровирус конфиденциальных данных уже не утянет.
<sysadmin>
Демовирус для 1С (ссылка) 17.06.05 10:45  
Автор: Deviator <n/a> Статус: Member
<"чистая" ссылка>
...Вирус представляет из себя макро-модуль, встроенный в файл-отчет 1C. Способ расположения этого вирусов в файлах-отчетах 1C и его функционирование во многом напоминает макро-вирусы, заражающие документы и таблицы MS Office...

Описание - Virus.1C.Tanga.a
До поры до времени не содржит деструктивных функций... 17.06.05 16:21  
Автор: TARASA <Taras L. Stadnik> Статус: Member
<"чистая" ссылка>
> ...Вирус представляет из себя макро-модуль, встроенный в
> файл-отчет 1C. Способ расположения этого вирусов в
> файлах-отчетах 1C и его функционирование во многом
> напоминает макро-вирусы, заражающие документы и таблицы MS
> Office...
До поры до времени не содржит деструктивных функций. Дописать их туда уже дело техники.
Ну а последствия не сложно себе представить, от хищения конфиденциальной информации, до вывода из строя всего, чего можно. Вопрос стоит как быстро среагируют антивирусные компании и насколько часто такие отчеты пересылаются. Или как быстро 1С выпустит патч.
А от чего 1С патч будет выпускать? 18.06.05 02:29  
Автор: whiletrue <Роман> Статус: Elderman
Отредактировано 18.06.05 02:35  Количество правок: 1
<"чистая" ссылка>
Это формат ert-шника надо менять... Патч один: 1С:8.0, да и там есть внешие обработки, у которых тоже формат почти что текстовый...

Кстати, еще добавлю, что в 1С-ке можно не только писать в любые файлы, но запускать любой exe-шник от имени 1С-ки, то есть вирь может перелезть потом куда угодно в каком угодно виде...

Защита: Не запускать левых ert-шников. Или перед запуском тщательно проверить код.
Дисскусия перетекает чисто в теоретическое русло, потому как... 20.06.05 11:49  
Автор: TARASA <Taras L. Stadnik> Статус: Member
<"чистая" ссылка>
> Защита: Не запускать левых ert-шников. Или перед запуском
> тщательно проверить код.
Дисскусия перетекает чисто в теоретическое русло, потому как специалистом по 1С не являюсь (чему и рад вполне), поэтому могу предположить лишь следующие моменты:
1) не запускать левых ert или проверить код - думаю, что можно все эти проверки реализовать неким механизмом в 1С.
2) если что то и запускается, то запускается в аналоге unix chroot - дабы если "нечто" кудато полезло, то хоть не в систему.
3) отслеживать какое приложение что и куда пытается передать - чтобы не утекла конфиденциальная информация.
Думаю, что все эти моменты программисты из 1С могут решить.
Re 20.06.05 13:07  
Автор: 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 или в компилятор С встраивать...
Я тоже не специалист 1С и мне тоже сложно понять 20.06.05 14:46  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
> Формат внешних обработок (ert) очень легко вычисляем, он
> никак не шифруется и не сжимается, т.е.
> фактически текстовый. Любой субъект [возможно и процесс],
> который имеет доступ к этому файлу на запись может его
> поправить как угодно, в частности внести туда строки с
> вирусом. Сам вирус написать очень легко свой, а не
> копировать существующий, поэтому по сигнатурам такие вирусы
> найти нельзя!
>
> С другой стороны ert активно используются бухгалтерами для
> отчетности, эти ert поставляются 1С-кой каждый квартал в
> виде поддержки (грубо говоря). И в частности эти самые ert
> пишут в файлы и запускают внешние приложения, поэтому по
> этим действиям отследить вирус нельзя.
ЗАЧЕМ и ЧТО они пишут в файлы? Зачем они запускают ВНЕШНИЕ приложения? Насколько я понимаю, документ 1С это что-то наподобие документа Excel, максимум из необходимых расширений которого - доступ к некоей внутренней (встроенной в 1С) базе данных. Я просто не вижу смысла разрешать макроязыку 1С запускать что-то стороннее, писать в файлы и тем более отсылать по сети. Если надо что-то кому-то отправить, пускай бухгалтера осваивают электронную почту. Если надо сохранить изменения в файле, пускай бухгалтер осваивает кнопку "сохранить", к которой макроязык не имеет доступа.

Насчёт поставляемых ert в качестве "поддержки". Как я понимаю, это что-то типа обычных апдейтов как самой 1С, так и базы, содержащихся в ней всяких там каталогов ОКОНХ (или как его) и прочее? Так если это обновление самой проги, пускай они это делают экзешником и реализуют это по аналогии с апдейтами от майкрософт. Всегда можно подсунуть пользователю гадость, но это уже проблемы пользователя. Нефиг запускать апдейты, скачанные с не официального сайта, или предоставленные не самой 1С. С тем же успехом пользователь может запустить любой левый exe'шник, не имеющий вообще никакого отношения к 1С, так что защищённость в этом случае не понижается.

Если же нужно просто обновить базу программы, то пускай они это делают по аналогии с reg-файлами в винде. ЗАЧЕМ разрешать им для этих целей писать что угодно куда угодно?


> --skiped--
> В 1С есть своя аутентификация и разрешения на пользование
> объектами (документами, справочниками), в частности можно,
> конечно, запретить пользоваться внешними обработками (ert),
> но, как я говорил - бухам они очень даже нужны.
Опять же, зачем они им нужны? Приведи пример.


> Пример: Пусть спарвочник "Контрагенты" - конфиденциален, я
> манагер - мне надо его использовать, программа, которую я
> использую должна уметь делать выборки по нему, т.е. уметь
> его читать. С другой стороны любая программа умеет
> записывать любую выбранную инфу во внешний файл и
> передавать его по инету... Вот ЧТО здесь искать? Прога
> может, конечно, слить конфиденциальную инфу, НО, мне, как
> манагеру, хотелось бы отправить контрагенту по почте
> прайс-лист (не конфиденциальный)... Действия м.б. в одном
> случае корректными, а вдругом нет, и нету НИКАКОЙ
> демаркации между ними. Все равно, что подобную проверку в
> perl или в компилятор С встраивать...
А управлять уровнем доступа до файла никак? Они могут держать какую-то внутреннюю базу с указанием уровня конфиденциальности конкретных файлов (можно хранить, например, подписи файлов) или использовать для этих целей систему прав доступа ОС и если файл конфеденциален, запрещать руками из самой 1С что-то с ними делать (изменять, копировать и пр.). Конечно, защита не ахти какая, но макровирус конфиденциальных данных уже не утянет.
Ты ошибаешься по всем пунктам :) 1С - далеко не Ексель. Она... 20.06.05 15:58  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
> ЗАЧЕМ и ЧТО они пишут в файлы? Зачем они запускают ВНЕШНИЕ
> приложения? Насколько я понимаю, документ 1С это что-то
> наподобие документа Excel, максимум из необходимых
> расширений которого - доступ к некоей внутренней
> (встроенной в 1С) базе данных. Я просто не вижу смысла
> разрешать макроязыку 1С запускать что-то стороннее, писать
> в файлы и тем более отсылать по сети. Если надо что-то
> кому-то отправить, пускай бухгалтера осваивают электронную
> почту. Если надо сохранить изменения в файле, пускай
> бухгалтер осваивает кнопку "сохранить", к которой макроязык
> не имеет доступа.
>
> Насчёт поставляемых ert в качестве "поддержки". Как я
> понимаю, это что-то типа обычных апдейтов как самой 1С, так
> и базы, содержащихся в ней всяких там каталогов ОКОНХ (или
> как его) и прочее? Так если это обновление самой проги,
> пускай они это делают экзешником и реализуют это по
> аналогии с апдейтами от майкрософт. Всегда можно подсунуть
> пользователю гадость, но это уже проблемы пользователя.
> Нефиг запускать апдейты, скачанные с не официального сайта,
> или предоставленные не самой 1С. С тем же успехом
> пользователь может запустить любой левый exe'шник, не
> имеющий вообще никакого отношения к 1С, так что
> защищённость в этом случае не понижается.

Ты ошибаешься по всем пунктам :) 1С - далеко не Ексель. Она скорее Visual Basic. То есть можно сделать все, что угодно, от тетриса до чата... ну и конечно, все задачи учета нужно делать на 1С-ке, а не изобретать велосипед на Вижуал Сях :) Там так же рисуются формы, на них ставятся кнопки, вешаются события... ну и т.д. Т.е. полноценный интерпретатор под винду.

Бухам ежеквартально надо делать отчет в налоговую, эти формы отчетности меняются постоянно, поэтому 1С готовит и поставляет их ежеквартально и именно в виде ert-шников.
Запуск внешней проги: при установке этих форм запускается arj для их распаковки
Запись во внешние файлы: этим формам надо как-то хранить данные...

> Если же нужно просто обновить базу программы, то пускай они
> это делают по аналогии с reg-файлами в винде. ЗАЧЕМ
> разрешать им для этих целей писать что угодно куда угодно?

> А управлять уровнем доступа до файла никак? Они могут
> держать какую-то внутреннюю базу с указанием уровня
> конфиденциальности конкретных файлов (можно хранить,
> например, подписи файлов) или использовать для этих целей
> систему прав доступа ОС и если файл конфеденциален,
> запрещать руками из самой 1С что-то с
> ними делать (изменять, копировать и пр.). Конечно, защита
> не ахти какая, но макровирус конфиденциальных данных уже не
> утянет.

Опять про разные политики безопасности: с точки зрения 1С справочник может быть закрыт, но с точки зрения Винды - доступ к соответсвующему dbf - и на чтение и на запись от данного пользователя, ибо иначе 1С-ка работать не будет!..

Все упирается именно в согласование политик - что гнило, имхо!
О грамотности такого подхода думаю не стоит дисскусию... 20.06.05 14:24  
Автор: TARASA <Taras L. Stadnik> Статус: Member
<"чистая" ссылка>
> Во-первых 1С никогда особо о безопасности не беспокоилась,
> все что есть - защита от дурака.
О грамотности такого подхода думаю не стоит дисскусию разводить.

> Формат внешних обработок (ert) очень легко вычисляем, он
> никак не шифруется и не сжимается, т.е.
> фактически текстовый. Любой субъект [возможно и процесс],
> который имеет доступ к этому файлу на запись может его
> поправить как угодно, в частности внести туда строки с
> вирусом. Сам вирус написать очень легко свой, а не
> копировать существующий, поэтому по сигнатурам такие вирусы
> найти нельзя!
>
> С другой стороны ert активно используются бухгалтерами для
> отчетности, эти ert поставляются 1С-кой каждый квартал в
> виде поддержки (грубо говоря). И в частности эти самые ert
> пишут в файлы и запускают внешние приложения, поэтому по
> этим действиям отследить вирус нельзя.
Допустим тогда развитие систуации по следующему сценарию:
Не чистый на руку человек (сообщество) пишут некий ert который сливает конфиденциальную информацию средствами копирования, электронной почты ... etc.
Данный отчет распространяется 1С по системе поддержки, распространяется спаммерами, передается из рук в руки ... да малоли каким еще способом "зловредный" документ будет внедрен на компьютер бухгалтера? И это приведет к тому что все пользователи 1С ложатся "к верху пузиком"?
Помоему ситуация тревожная и нужно что-то решать.

Возможные варианты:
Осуществлять контроль целостности получаемых из вне ert или контролировать возможность модификации уже установленного отчета каким либо процессом. Если формат отчета фактически текстовый - то разрешить исполнять только доверенные (подписанные) объекты. Ну или отказатся от использования 1С вообще. Хотя последнее - крайняя мера, но если нет другого разумного выхода, отказ - тоже выход.

1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2021 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach