Блокчейн и безопасность данных в 1С

Публикация № 1658515 13.05.22

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

Безопасность данных – обширная тема со множеством задач. О том, как избежать подмены данных и с помощью технологии блокчейн контролировать изменения в системе, на митапе «Безопасность в 1С» рассказал Михаил Калимулин.

Я Михаил Калимулин, разработчик 1С, преподаватель. С конца 2017-го года я публиковал несколько статей на Инфостарте по поводу блокчейна и применимости его в 1С. Ну а теперь хочу предложить вашему вниманию данный доклад.

 

 

Безопасность – это поистине необъятная тема. И для того, чтобы понять, какое место занимает здесь блокчейн, давайте разделим все, что связано с безопасностью, на две большие категории по признаку того, что мы хотим добиться и с какой стороны подходим к решению проблем безопасности.

  • Мы можем хотеть сделать явное тайным – ограничить доступ к информации. Для этого используются пароли, права доступа, ограничения доступа и т.д. Блокчейн сюда не входит.

  • Есть другой подход к безопасности – «тайное» сделать «явным». Этот вариант менее очевидный, но не менее значимый. И мы сейчас поговорим именно об этом.

 

 

Есть классический пример – есть некий приходный документ, в котором у нас изначально было поступление 10 штук чего-либо по цене 1 рубль.

Этот документ изменяется вот так: пришла одна штука по цене 10 рублей. Сумма документа не поменялась.

 

 

Как нетрудно догадаться, гипотетический злоумышленник теперь может 9 штук спокойно отнести себе домой.

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

Надо понимать, что практически 100% баз 1С никак не защищены от подобного рода атаки. Тем не менее, решение этой проблемы существует.

 

 

Но, чтобы решить эту проблему, нам придется пройти непростым путем – между Сциллой и Харибдой.

  • Сциллой здесь будет то, что я называю «очарование технологиями», это полагаться исключительно на технику, игнорируя «человеческий фактор», думать, что мы сейчас в нашей базе прикрутим какие-то алгоритмы, и все будет хорошо. Такое достаточно сильно распространено, вспомните, насколько популярен совершенно бесполезный контроль отрицательных остатков. Нет, мы не сможем добиться никаких результатов, полагаясь только на алгоритмы. Чтобы понять, где была правда – 1*10 или 10*1 – нам нужен будет человек, нужны будут его глаза, руки, иногда голова. Надо взять первичный документ и на него посмотреть. По-другому не получится никак.

  • А Харибдой здесь будет – полагаться только на контроль человека, игнорируя технические вызовы и возможности.

Дело в том, что надо понимать, что у нас будет проверяться не один документ – нам нужно будет каждый раз проверять все. Если мы вернемся к нашему гипотетическому случаю со злоумышленником, то, если у нас налажен контроль (один человек ввел, другой – проконтролировал, вроде бы все хорошо), нашему злоумышленнику нужно будет всего лишь внести изменения сразу после того, как контроль пройдет. Таким образом, получается, что недостаточно проверять каждый из документов, а нужно каждый раз проверять все документы от начала и до конца, независимо от их общего количества в базе. А это, на первый взгляд, сделать невозможно. Однако есть технические решения, которые позволяют организовать визуальный контроль огромного массива информации.

Это техническое решение называется хэш-функции.

 

Хэш-функции, SHA-256

 

 

Хэш-функции – вещь простая. Мы берем что-то большое и сжимаем его. Мы можем взять гигабайт данных, а на выходе получить 32 байта. Например, одна из самых распространенных на данный момент хэш-функций SHA-256 – она нам как раз 32 байта выдаст.

Надо понимать, что сами по себе хэш-функции – вещь достаточно изощренная. Вы просто подумайте – вам нужно из гигабайта получить 32 байта. Можно, конечно, просто взять и в случайном порядке повыдергивать лишние, а вставить случайные 32 байта. Но это будет плохая хэш-функция. Хорошая хэш-функция работает так, что, если у вас есть один гигабайт данных и другой гигабайт данных, которые отличается друг от друга всего на один бит, хэш-функция вернет совершенно другое значение. Она не просто так выдергивает случайные 32 байта.

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

Вероятность того, что мы получим у хэш-функции похожий набор, равняется 1 к 2 в степени 255 – ровно столько возможных значений в 32 байтах. Это 5*1076. А количество атомов во всей наблюдаемой вселенной по разным оценкам 4*1079, 4*1080 или 4*1081.

Это сравнимые числа. Представьте себе количество атомов – не в комнате, не в солнечной системе и даже не в галактике, а почти во всей вселенной, которую мы видим.

 

 

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

Обратите внимание на алгоритм получения хэш-функции. Я специально здесь привел экранчик – не для того, чтобы разбираться, что там написано, а чтобы оценить, как это выглядит. Самый популярный алгоритм SHA-256, который используется в широко известном биткоине – вот он весь. Он на один экран помещается, он предельно прост. Здесь один цикл и внутри него два цикла, где производятся элементарные действия.

 

 

В 1С это выглядит еще проще. Тут буквально три строки.

Итак, мы можем воспользоваться хэш-функцией, чтобы сжать наши данные в 32 байтах. А 32 байта – это не очень большой объем, его можно визуально контролировать. Можно тренировать память и запоминать. Можно на бумажку выписать и сравнить. Занимает меньше минуты, я сам это делал.

Так мы можем контролировать огромный набор данных.

 

Алгоритм работы журнала по принципу "цепочки блоков"

 

 

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

Вернемся к нашему примеру с приходными документами. Представим себе, мы решили организовать такой контроль:

  • Когда мы начинаем работать, у нас пока нет ни одного приходного документа.

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

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

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

Что здесь хорошо? Мы можем теперь взять наш журнал, нам его глазами не нужно просматривать весь. Нам глазами достаточно посмотреть только один последний ключ – те самые 32 байта. Я открываю журнал, вижу последний ключ и сравниваю его с чем-нибудь (с бумажкой, например). Если ключи совпадают, мой журнал в целостности, мне не нужно проверять каждый из этих блоков глазами, если это можно проделать программно.

 

 

Алгоритм работы журнала достаточно простой.

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

  • Следующий шаг – мы добавляем записи о новых (измененных, удаленных) блоках. Если я бежал по этим блокам и где-то увидел, что документ изменен, я с этим блоком ничего не делаю, с ним все нормально, я просто в конец журнала добавлю еще раз ссылку на этот же документ, но уже пересчитанные ключи, пересчитанные хэш-суммы. А в той записи укажу, что она была изменена, и укажу ссылку на ее потомка. Допустим, у меня была запись №1, потом через 10 записей ее поменяли. В 10-й записи лежит актуальная копия. В случае, есть документ меняли несколько раз, вот так по цепочке можно пройти. Смысл в том, что любое изменение всегда попадает в конец. Удаленные документы – это частный случай изменения. Там есть некоторые хитрости, но я не буду на этом останавливаться.

  • И визуализирую все, что у меня было – вот мои документы новые, вот мои документы измененные. Вот теперь садитесь, включайте свои глаза, свои руки, свои головы, берите первичные документы и проверяйте.

Если запустить такую систему, нашему гипотетическому злоумышленнику становится некуда влезть. Подменить 10 на 1 не получится никаким способом.

 

Возможные уязвимости решения

 

 

Можно придумать только две уязвимости.

  • Первая уязвимость чисто техническая, связанная с алгоритмами хэш-функций. Здесь речь о том, что алгоритм получения хэша очень простой, у него 64 шага. Если количество шагов уменьшить до 10, это тоже будет хэш-функция, она тоже будет приемлемо работать, но такую функцию уже сломали. Она действительно уже не работает, потому что есть способ поискать коллизии – автоматически запустить алгоритм, который будет находить такие наборы данных и выдавать тот же самый результат хэш-функции. SHA-256 взломали до 30-го шага, но в целом он до сих пор является надежным. С другой стороны, существование коллизий – это вопрос для математиков. Допустим, мы можем найти одну-две-три коллизии. Вопрос в том, то нам не первую попавшуюся надо. Если вспомнить, что мы делаем с документом – мы его сериализуем. Мы документ превращаем в строку по каким-то правилам (XML, JSON). Мы нашли коллизию, но эта коллизия в формат JSON или XML не попадает. А перебирать коллизии до тех пор, пока мы не наткнемся на что-то приемлемое – это может быть столь же неприемлемо, как просто перебирать. С этой стороны эта уязвимость весьма гипотетическая.

  • А второй момент – подмена алгоритма. Многие уверены, что надежная программа – это только та, которую ты сам написал. Во все остальное, что ты запускаешь, всегда можно что-то куда-то вставить. Тут мы возвращаемся к тому моменту, когда я вам говорю о простоте. Сам алгоритм хэш-функции прост, его можно воспроизвести самому. Можно пользоваться конструктором ХэшированиеДанных() – это три строчки в 1С, как я показывал. Там невозможно что-то вставить.

 

 

Вот так выглядит описанный мной на предыдущем шаге алгоритм в реальности.

В процедуре контроля всего лишь 150 строк кода – это не ERP, где куда-то что-то можно вставить и не найдешь никогда, это можно контролировать глазами.

Если вы, перед тем как запускать контроль журнала, хотите убедиться, что запускаете код, где никаких вставок быть не может – это можно проделать глазами.

Соответственно, аргумент о подмене алгоритма тоже легко парируется, а вы получаете технические методы контроля, основанные на хэш-функциях.

 

Вывод

 

 

К чему я хочу призвать коллег?

Давайте посмотрим на безопасность с другой стороны. Мы можем стараться сделать так, чтобы у людей не было возможности поменять 10 на 1, а можно подойти с другой стороны – можно сделать так, чтобы все изменения в базе было легко контролировать. Этот механизм математически работает абсолютно безупречно, и вы с его помощью можете создать систему контроля, которую никак не обойти и никак не испортить.

 

Вопросы

 

Есть ли готовая реализация вашего решения?

Да, в конце 2017-го года я опубликовал на Инфостарте первое решение – там просто конструктор, который выдает куски кода. Их можно использовать, чтобы сделать свою систему контроля. А после этого я еще совсем недавно опубликовал более законченное решение – есть некий журнал, в котором ты можешь сказать, что нужно контролировать вот этот набор документов. И по принципу, который я описал, будет происходить контроль. Я запускаю этот контроль, получаю на выходе последний ключ, который могу сохранить в виде секрета, а журнал мне выдает – у тебя вот эти документы новые, эти изменились, а вот этот документ вообще удален. Это достаточно простое решение.

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

Как это выглядит для пользователей, для аудиторов? Например, если в документе изменился какой-то реквизит, сможет ли аудитор увидеть, какой именно реквизит изменился? Или он в целом увидит, что документ изменился?

Тут нужно понимать, что вопросы безопасности должны решаться комплексно. Эта технология не отменяет бэкапы, да, мы делаем регулярные бэкапы базы. Эта система дает сигнал, что этот документ изменился, и дальше можно придумать такую систему, которая почти в автоматическом режиме поднимет бэкап, сравнит текущую базу с бэкапом, покажет, что эти реквизиты поменялись. Это тоже можно все в автоматическом режиме сделать. Можно просто не заморачиваться этим и построить систему контроля, которая основана на том, что изменился документ – значит, нужно поднимать первичку. Не обязательно говорить тому же аудитору, что конкретно поменялось. У тебя прошел сигнал, что с этим документом что-то не так, его надо снова проверять. Хотя я согласен, что, если там будет 1000 строк, ему не очень удобно снова все проходить. В этом случае, действительно, вы поднимаете из бэкапа конкретный документ. Тут ведь главное понимать, что вы ищете не иголку в стоге сена, а вы идете по ссылке на конкретный документ и сравниваете его реквизиты.

Есть же механизм версий – и в платформе, и в БСП. Насколько возможности блокчейна оправданны? Можно ли заменить один механизм на другой? Есть ли смысл?

По идее, эти механизмы должны друг друга дополнять. Механизм контроля версий – это всего лишь таблица с определенными данными, их можно запросто поменять. Если использовать только журнал регистрации, то любой школьник погуглит и найдет, как в нем запись удалить или поменять. Нужно понимать, что есть защита, которая подразумевает, что злоумышленник чем-то не будет владеть, чем владеет администратор системы. И есть абсолютная защита, в которой неважно, какой уровень доступа у злоумышленника. Он все равно ничего не сможет сделать. Что бы он ни сделал, это будет видно. Я призываю к тому, чтобы посмотреть на безопасность с разных сторон. Если у вас будет безопасность и там, и там, тогда это будет настоящая безопасность.

А почему версию можно поменять, а блокчейн нельзя пересчитать с какого-то момента?

Нельзя пересчитать, потому что у вас где-то на бумажке записан последний ключ. Пересчитать можно, действительно, у нас есть алгоритм, который пробегает по журналу и контролирует соответствие данных документов их хэш-суммам. Да, можно весь журнал заменить каким-то способом. Но у вас в кармане лежит бумажка. Вы замените весь журнал, у вас последний ключ в этом журнале будет другой. Здесь суть в том, что мы не полагаемся полностью на алгоритмы, у нас есть глаза и алгоритмы. И то, и другое в синтезе.

Как на каждый документ-объект базы сделать «бумажку» с последним блоком?

Не каждый документ, вам нужно записать только последний блок. У вас есть журнал – он постоянно растет, а вы раз в день проверяете, у вас всегда есть только один последний ключ, вам не нужно хранить значения блока на каждый документ. В этом и смысл блокчейна как цепочки. У вас это все зацепилось одно за другое. И в конце концов вы получили самый последний ключ – надо понимать, что он в себе содержит все предыдущее, потому что у вас ключ за ключ цеплялся и последний ключ связан со всеми остальными.

А что делать, когда идет работа задним числом?

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

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

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

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на онлайн-митапе "Безопасность в 1С". Больше статей можно прочитать здесь.

Приглашаем всех 6-8 октября принять участие в INFOSTART EVENT 2022 в Санкт-Петербурге: //infostart.ru/events/1573038/

*************

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 2641 13.05.22 14:27 Сейчас в теме
Вспомнилась шутка:
- Подскажите какой-нить сильный архиватор?!
- md5.
2. mkalimulin 519 13.05.22 15:25 Сейчас в теме
3. booksfill 16.05.22 18:18 Сейчас в теме
Идея понятна.
Но как ее использовать на практике, имеется в виду не реализация, а реальная работа - не очень.

Потому как узнать, что это документ был изменен, потом поднимать бэкап и глазками отслеживать 100500 мест - не вариант.
Даже если таких мест всего два, т.к. "творческая правка" не обязана бросаться в глаза - достаточно "ошибиться" в цене, в третьем знаке, и продать чего-то на несколько сотен миллионов. И еще преднамеренно внести ошибку в другом месте этого же документа - абсолютно безобидную ну, чтобы дольше искали, а мы пока все спрячем.

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

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

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

И еще, недаром Митник говорил все больше про социальную инженерию.

Самый простой способ - украсть, а бумажку подменить на новую или под благовидным предлогом испортить.

Кстати, в критичных данных заинтересован обычно big boss, а бумажку он заставит читать в 99% случаев подчиненного, которого подкупить/запугать при игре на хорошие деньги - проще простого.

Поэтому скоро вместо бумажки получится несколько отдельных зашифрованных хранилищ "бумажки" + сама бумажка и никто всем этим зоопарком пользоваться не будет.
8. reset2 11 20.05.22 15:28 Сейчас в теме
Если механизм рассматривается как защита от продвинутого мошенника с полными правами - то очень несовершенно.
Зачем мошеннику в принципе оставлять в системе изменения.

1. Оформили/согласовали выдачу 1 шт.
2. Мошенник меняет в документе на 10 шт.
3. Мошенник идет на склад получает 10 шт.
4. Возвращает в документах 1 шт. Подчищает ЖР, версии и прочее

На бумажке хэш совпадает.
Кладовщики платят недостачу по итогам инвентаризации.
Мошенник - тихо злорадствует.
11. mkalimulin 519 21.05.22 12:37 Сейчас в теме
(8) В конце дня контролер просматривает все документы в базе и привязывает их к реальности. Например видит выдачу 1шт. Звонит кладовщику и спрашивает: ты сколько выдал? 10? ага... Или не звонит, а берет бумажную бумажку, которую написал кладовщик. И там, как вы понимаете написано 10, а вовсе не 1.
Тут надо понимать какую конкретно задачу решает блокчейн. Блокчейн не может заменить человека в момент привязки к реальности. Зато он может гарантировать, что привязанное один раз, потом отвязать уже будет невозможно никаким способом и ни под какими правами.
12. reset2 11 21.05.22 16:21 Сейчас в теме
(11) можно долго накидывать на эту тему :)
- контролер тоже в доле
- контролер в определенный момент не заметит 11101111 и 11110111
- и т.д.

А вот если "привязка к реальности" сработать между п.1 и п.2 тогда да... но как это реализовать с приемлемым уровнем производительности и безопасности...
13. mkalimulin 519 21.05.22 18:59 Сейчас в теме
(12) А и не надо ничего накидывать. В самом простом случае у вас есть кладовщик с материальной ответственностью. И он кровно заинтересован в том, чтобы 10 штук., выданные в реальности, по базе проходили, как 10 штук., а не как 1. И если этот кладовщик будет вооружен блокчейном, то никакой злоумышленник его уже не обойдет. Потому что кладовщик сразу заметит подмену 10 на 1
4. Indgo 212 17.05.22 11:38 Сейчас в теме
Blockchain на dbf файлах. Как я сразу не догадался. Гениально.
Отправлю к комунити bitcoin-core. Пусть переделают блокчейн на DBF файлы.

Скажу больше у вас есть последователи. Один разработчик сделал блокчейн Chia на SQL Lite. Вылетает правда постоянно и синхронится в 100 раз медленнее и Скаманулся недавно. Но это не помеха. Ваш блокчейн будет лучше ;-)
5. mkalimulin 519 17.05.22 12:58 Сейчас в теме
6. Indgo 212 17.05.22 14:08 Сейчас в теме
7. mkalimulin 519 17.05.22 20:20 Сейчас в теме
(6) Если палец показывает на Луну, надо смотреть на Луну, а не на палец
9. SerVer1C 477 20.05.22 20:41 Сейчас в теме
Сила блокчейна в практической невозможности его пересчета, потому что в расчетах задействовано много вычислительных ресурсов. Если защищать подобным образом 1 базу, то за недолгое время можно пересчитать весь блокчейн (не говоря уже про пересчет на видеокарте) и продолжить уже генерить свою цепочку после изменения объектов базы.
10. mkalimulin 519 21.05.22 12:03 Сейчас в теме
(9) Пересчитать можно, но это это нельзя будет сделать незаметно. Сила блокчейна в том, что тайное становится явным. А то, о чем вы говорите, относится к проблеме достижения консенсуса. В криптовалютах это действительно проблема. А в приватной базе консенсус присутствует имманентно
14. Indgo 212 23.05.22 10:35 Сейчас в теме
(10)
) А в приватной базе консенсус присутствует имманентно

Приватный блокчен? Это как хромой ходок или альфа самец без инструмента. Не бывате не какого приватного блокчейна, как и свободного раба(приватного человека).
Блокчейн пересчитать - да пожалуйста. Только вот миллионы децентрализованных нод и майнеров Bitcoin не примут ваши лживые транзакции.
Основные принципы блокчейна:
1. Децентрализация.
2. Децентрализация.
3. Децентрализация.
4. HODL.
5. Bitcoin.

Все остальное чепуха.
16. mkalimulin 519 23.05.22 12:44 Сейчас в теме
(14)
Блокчейн - это цепочка блоков. Не более того (но и не менее). Цепочку блоков можно применять где угодно. Как в публичных, так и в приватных базах
17. Indgo 212 23.05.22 17:14 Сейчас в теме
(16)
Блокчейн - это цепочка блоков. Не более того (но и не менее)
Ваша логика мне ясна, что то типа того: Автомобиль - это навозная телега в которой есть руль, не более того. А двигатели шестеренки...привода... Приватная телега в сарае - запрягай лошадей и езжай за сеном... это тоже автомобиль.
Прикрепленные файлы:
15. Indgo 212 23.05.22 10:40 Сейчас в теме
(9)
(9)
можно пересчитать весь блокчейн (не говоря уже про пересчет на видеокарте) и продолжить уже генерить свою цепочку после изменения объектов базы.

Видеокарты плохо считают цепочки. Их ядра маленькие и слабые. Для расчета цепочек используется CPU.
GPU - для параллельных, не зависящих друг от друга вычислений.
18. Indgo 212 23.05.22 17:31 Сейчас в теме
Но, чтобы решить эту проблему, нам придется пройти непростым путем – между Сциллой и Харибдой.
Прикрепленные файлы:
19. mkalimulin 519 23.05.22 20:37 Сейчас в теме
(17) Нет. Моя логика заключается в том, что автомобиль - это автомобиль, а колесо - это колесо. Криптовалюта - автомобиль. Блокчейн - колесо.
Оставьте свое сообщение

См. также

Блокчейн в базе 1С Промо

Идеи и тренды в разработке v8 1cv8.cf Абонемент ($m)

Вокруг блокчейна в последнее время поднято много шума. Курс биткоина кого-то радует, кого-то злит, но впечатляет всех. За всем этим остается не увиденной и не оцененной по достоинству изящная простота самой технологии. Блокчейн можно без особых затрат добавить к любой базе данных, и база 1С не исключение. В моем рабочем примере менее 200 строк кода в обработке, которая создает цепочку блоков. Еще 30 строчек занимает процедура контроля. Ниже я покажу по шагам - как сделать блокчейн в любой базе 1С, и что это даст в итоге.

1 стартмани

18.12.2017    36428    114    mkalimulin    291    

HTTP сервис – друг или враг?

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

HTTP-сервисы ускоряют и упрощают разработку обмена данными между 1С и другими приложениями. Но нельзя забывать, что HTTP-сервис – это дверь в информационную систему. О том, как обеспечить безопасность HTTP-сервиса и не оставить лазеек злоумышленникам, на митапе «Безопасность в 1С» рассказал заместитель начальника отдела разработки ГКО PRO Дмитрий Сидоренко.

11.05.2022    2340    dsdred    12    

Практический опыт построения защищенного контура для 1С-приложения

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

Фирмам-франчайзи, продающим сервисы на 1С крупным компаниям, приходится проходить аудит информационной безопасности. Как построить контур для 1С-приложения таким образом, чтобы удовлетворять требованиям инфобезопасников, на митапе «Безопасность в 1С» рассказал CTO компании WiseAdvice Олег Филиппов.

06.05.2022    2350    comol    5    

НеБезопасный прикладной программный интерфейс сервера

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

Есть такой стандарт «Безопасность прикладного программного интерфейса сервера». Многие его читали. Кто-то даже понимает то, что там написано. Но, как показывает практика, его мало кто соблюдает. Чем грозит отступление от этого стандарта? В чем опасность общих модулей с признаком «Вызов сервера»? На эти вопросы на митапе «Безопасность в 1С» ответил разработчик рекомендательных систем Владимир Бондаревский.

02.03.2022    2389    bonv    10    

Права доступа в 1С:Документооборот 2.1 Промо

Информационная безопасность Документооборот и делопроизводство v8 ДО Бесплатно (free)

В программе 1С:Документооборот ред 2.1 механизм системы прав доступа сильно изменился. С одной стороны, права доступа в данной версии стали проще и быстрее, с другой стороны - права по рабочим группам объектов теперь могут противоречить политикам доступа. Разберемся в данной статье как работает механизм прав доступа в 1с документообороте 2.1.

16.09.2016    93510    vlush78    0    

Использование Gatekeeper для авторизации доступа к HTTP публикации сервера 1С

Системное администрирование Информационная безопасность WEB v8 Бесплатно (free)

В статье опишу вариант настройки Keycloack и GoGatekepper для авторизации доступа к HTTP публикации сервера 1С

22.10.2021    1323    malikov_pro    0    

Принадлежит ли директору компьютер директора. Часть 3 из 3. Защита. Истории от kuzkov.info

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

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

26.03.2021    768    Steelvan    0    

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

БСП (Библиотека стандартных подсистем) Информационная безопасность Роли и права v8 КА2 Россия УУ Бесплатно (free)

Решал задачу ограничения доступ к объектам по справочнику "Банковские счета" штатными средствами БСП. Конфигурация КА 2.2. В остальных на БСП должно работать так же. Хотел сделать инструкцию для себя на будущее, решил поделиться.

05.08.2020    5208    ER34    2    

Доработки RLS. Примеры шаблонов. (в т.ч исключения из ограничений) Промо

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

Допиливаем шаблоны RLS. Даем доступ пользователям к некоторым объектам

19.06.2013    72128    EvilDoc    38    

Безопасность мобильных приложений 1С, взгляд по диагонали

Информационная безопасность Мобильная разработка v8::Mobile 1cv8.cf Бесплатно (free)

Что приходит первое в голову при словах «1С Предприятие»? Даже тем, кто далек от ИТ, представляется большущий компьютер (а тем, кто недалек, стойка двух-юнитных серверов), рядом слушает музыку сервера (как вариант просто музыку) сисадмин, за стеной в опен-спейсе менеджеры принимают заказы и бухгалтерия, сдающая отчетность. «Зарплата, зарплата!»: слышны их радостные крики. «И кадры»: уточняет HR. Да, все верно. Это 1С. Кто в теме, напомнит про крики не совсем приятные: «Все тормозит! Сделайте что-нибудь, #тыжпрограммист». И борющихся за живучесть ИТ-шников. В обычном офисном потоке дел, редко кто задумывается о безопасности. А тех, кто задумывается, прошу под кат…

05.06.2020    5179    capitan    34    

Контроль информации в базе на основе блокчейн

Идеи и тренды в разработке v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

25.01.2020    5322    4    mkalimulin    24    

Взломать за 60 секунд!

Информационная безопасность Администрирование СУБД Бесплатно (free)

При работе с данными нужно обращать внимание не только на объемы, скорость и удобство, но и на безопасность. Если организация не уделяет внимания безопасности, пользователь с урезанными правами может получить полный доступ к базе данных за 1-5 минут. Набором типичных ошибок и действенных рецептов по усилению безопасности клиент-серверной 1С на конференции Infostart Event 2019 Inception поделился руководитель ИТ в компании «ИнфоСофт» Антон Дорошкевич.

16.12.2019    25309    a.doroshkevich    47    

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

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

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

15.04.2013    22326    Stim213    39    

Использование утилиты ring для выяснения данных о программных лицензиях

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

Использование утилиты ring для управления программными лицензиями без ее установки на компьютер пользователя.

22.12.2018    13437    Vovan58    20    

Что делают два вируса, встретившись в тёмном уголке виртуальной памяти?

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

Вирусы, кто же с ними не знаком... Классификация и методы борьбы со зловредами. Небольшой экскурс в историю моего знакомства с врагами всего сущего в наших ЭВМ.

21.03.2018    9507    user748289    7    

Проверка безопасности установленных паролей

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

Код выводит не установленные пароли, а так же очень простые (1, 123) пароли пользователей. Список можно пополнять.

08.03.2018    10591    nomadon    13    

Что может скрываться в модуле обработки? Промо

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

Многие из программистов 1С Предприятие при выкладывании своих обработок (например на Инфостарт) закрывают доступ к модулю объектов паролем. Что же они там могут прятать, приведу пару примеров ( http://infostart.ru/projects/3837/ ):

10.04.2009    16390    bestuzhev    84    

Информирование об утечке базы 1С

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

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

03.03.2018    15241    dima_home    81    

Отключаем предупреждения безопасности в 1С 8.3.9 и выше вручную

Информационная безопасность v8 v8::УФ v8::Права 1cv8.cf Бесплатно (free)

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

01.11.2017    62716    webresurs    14    

Многофакторная авторизация. Шаблон проектирования для «1С:Предприятие 8». На примере API «Приватбанка» для юр. лиц

Информационная безопасность Обмен с банком v8 Бесплатно (free)

Многим из читателей знакомы понятия стандартов разработки и шаблонов проектирования. Для платформы «1С:Предприятие 8» на сайте its.1c.ru описаны базовые стандарты оформления кода и некоторые полезные примеры, но отсутствует информация об высокоуровневых абстракциях. Почти у каждого банка есть реализация обмена с конфигурациями «1С:Предприятие 8», но анализировать код, а тем более реализацию без слёз невозможно. Данная статья предлагает использовать некий шаблон оформления кода для многофакторной авторизации.

11.09.2017    13870    pbazeliuk    6    

Как создать свой профиль доступа в пользовательском режиме в 1С:Бухгалтерии 3.0

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

Допустим, есть следующая задача. Нужно добавить нового пользователя «Анна» в базу 1С:Бухгалтерия 3.0. При этом Анна должна только выставлять и распечатывать Счета на оплату. При этом все остальные документы и справочники только для просмотра. Т.е. добавлять новую номенклатуру и контрагентов она не может. Обязательное условие - не изменять типовую конфигурацию.

06.09.2017    19454    alfanika    4    

Копирование групп доступа между пользователями

Информационная безопасность v8 УТ11 Бесплатно (free)

Доработки, позволяющие переносить группы доступа между пользователями. Подходит для Управление торговлей для Украины, редакция 3.1, Управление торговлей, редакция 11.1 и, я думаю, для других конфигураций, написанных на базе БСП.

03.09.2017    9843    Pervuy    1    

1001-й способ ограничить пользователей 1С

Информационная безопасность v8 v8::Права Розница Бесплатно (free)

Описан еще один способ ограничить пользователя 1С, при помощи подписки на события

13.07.2017    14950    donpadlo    39    

Недостаточно прав доступа или опять забыли дать права на новые объекты

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

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

06.04.2017    34758    Silenser    55    

Проверка часового пояса

Информационная безопасность Универсальные функции v7.7 Бесплатно (free)

При использовании терминалок для удаленных баз, иногда при входе в базу данных необходимо исключить возможность входа пользователей с компьютеров с другим часовым поясом. Например, работают в Новосибирской базе с временем UTC +6 и пытаются зайти в базу с UTC +3.

16.05.2016    11857    kudenzov    3    

ubuntu + 1Cv8. Как правильно задать права доступа к базе в терминальном режиме

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

Очень часто возникает проблема с установкой прав доступа в Linux. Один пользователь заходит в базу 1С нормально, а вот второго уже не пускает. Решение проблемы очень простое.

30.03.2016    24665    viptextil    14    

Готовим конфигурацию "Бухгалтерия предприятия 3.0" к аудиторской проверке

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

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

21.03.2016    11295    duhh    14    

Ограничение доступа к справочнику Склады для УТ 10.3

Информационная безопасность v8 УТ10 Россия Бесплатно (free)

Краткая инструкция простого метода, как ограничить видимость складов для определенных пользователей в УТ 10.3.

25.12.2015    21401    Viktor_Ermakov    9    

Новый вид доступа в УТ 11. Как в УТ 11 изменить константу "ПараметрыОграниченияДоступа"

Информационная безопасность v8 УТ11 Россия Бесплатно (free)

В УТ11 существуют стандартные виды ограничения прав доступа. Например: "Подразделения", "Склады", "Кассы", "ВидыЦен" и т.д. До поры до времени такой набор стандартных видов ограничений устраивает пользователей. Но что делать, если возникла необходимость добавить новый вид доступа? Об этом и пойдет речь в данной статье.

16.12.2015    30103    Spacer    12    

Запуск под пользователем (асинхронный вызов)

Инструменты администратора БД Информационная безопасность v8 1cv8.cf Бесплатно (free)

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

30.07.2015    10375    kvikster    7    

Разделение доступа к документам с учетом подразделения

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

Задача: имеется типовая Бухгалтерия КОРП 3.0. Организация одна, имеется ряд подразделений (не обособленных). Необходимо разделить доступ к документам и отчетам с учетом подразделения. Центральный офис должен видеть все данные.

20.07.2015    38670    mmtv68    8    

Грустная правда об информационной безопасности

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

Несколько реальных историй, иллюстрирующих легкомысленное или неадекватное отношение пользователей к информационной безопасности. P.S. Данная статья была написана в 2013 г. для блога сотрудников ГК "Компьютерный аудит", который в настоящее время прекратил свое существование.

12.06.2015    15952    kuntashov    24    

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

Обмен между базами 1C Информационная безопасность v8 1cv8.cf Бесплатно (free)

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

16.03.2015    15731    saiten    38    

"Скажи пароль" или как работать со свойством СохраняемоеЗначениеПароля объекта типа ПользовательИнформационнойБазы

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

Ряд статей уже затрагивали тему проверки текущего пароля пользователя и работу со свойством "СохраняемоеЗначениеПароля", но конкретики по данному вопросу мало. Данная короткая статья призвана исправить этот пробел.

28.01.2015    32772    mbreaker    16    

Настройка DCOM компоненты "Excel.Application" на 64-битном сервере приложений 1С

Инструменты администратора БД Информационная безопасность v8 1cv8.cf Бесплатно (free)

Описание настройки на 64-битном сервере приложений 1С, позволяющие создавать и использовать COMОбъект "Excel.Application" на сервере 1С. Это поможет обработать большие файлы excel на сервере, в том числе через фоновые задания. Все описанные действия родились по мотивам прочтения тысячи форумов и было опробовано сначала на разработческом сервере, затем на боевом. Поэтому решил выложить это сюда, наверняка спасет вам хотя бы 1 день жизни.

27.01.2015    84757    vet7777    63    

Вирусы-шифровальщики

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

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

05.11.2014    65040    insurgut    114    

Открытие файлов внешних обработок/отчетов без проблем с безопасным режимом в 1С 8.3 (Разрешаем доступ к привилегированному режиму исполнения кода для безопасного режима настройкой профиля безопасности кластера)

Информационная безопасность Инструменты администратора БД v8 1cv8.cf Бесплатно (free)

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

12.09.2014    44874    Puk2    7    

Использование механизма разделения данных вместо RLS

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

RLS, как известно, подтормаживает систему. 1С уже давненько реализовала механизм разделения данных, но до сих пор он не используется в типовых конфигурациях. Интересно, почему?

06.09.2014    52348    newgluk    35    

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

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

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

04.09.2014    94109    Stim213    41    

Как сегодня ловят вирусы

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

На днях сам заразил себе компьютер. Вроде не лох, а нет - сам попался на простом приеме - пришло письмо вроде от доктора-веба с антивирусом для лечения моего компьютера

04.07.2014    16857    uriy    52    

Что делать если платформа 8.3 не видит программные ключи 8.2

Информационная безопасность Инструменты администратора БД v8 1cv8.cf Бесплатно (free)

Столкнулся с тем что при установке двух платформ 1С 8.3 и 8.2 на один сервер, 8.3 не видит программные ключи, После поиска в просторах интернета нужной инфы не нашел, и пришлось писать в техподдержку, вот что ответили:

18.06.2014    64863    Andruykha    26    

Особенности работы механизма RLS

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

RLS Изменение отрабатывается 2 раза

30.05.2014    16852    Fisha    11    

Управление торговлей 11.1 - настройка нестандартных ролей

Информационная безопасность Инструкции пользователю Инструменты администратора БД v8 УТ10 Россия Бесплатно (free)

Особенности настройки прав в УТ 11.1 ..рано или поздно, пользователям становится недостаточно того "мощного" функционала, что придуман в УТ 11.1, и дается задание для программиста 1С, чтобы он настроил более тонкие изменения, и ограничения прав.

11.05.2014    75190    Lapitskiy    18