Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 40(210)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8

Библиографическое описание:
Кириллов А.А. ВОПРОСЫ БЕЗОПАСНОСТИ КОДА НА ЯЗЫКЕ 1С // Студенческий: электрон. научн. журн. 2022. № 40(210). URL: https://sibac.info/journal/student/210/272839 (дата обращения: 27.12.2024).

ВОПРОСЫ БЕЗОПАСНОСТИ КОДА НА ЯЗЫКЕ 1С

Кириллов Алексей Александрович

студент, кафедра прикладных информационных технологий, МИРЭА - Российский технологический университет,

РФ, г. Москва

Лесько Сергей Александрович

научный руководитель,

канд. техн. наук, доц., МИРЭА - Российский технологический университет,

РФ, г. Москва

SECURITY ISSUES OF THE 1C CODE

 

Alexey Kirillov

student, Department of applied Information Technologies, MIREA — Russian Technological University,

Russia, Moscow

Sergey Lesko

scientific supervisor, candidate of technical sciences, associate professor, MIREA — Russian Technological University,

Russia, Moscow

 

АННОТАЦИЯ

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

ABSTRACT

Complexity of automation systems on the 1C:Enterprise platform is constantly growing, which inevitably entails an increase in the number of lines of code written for a particular application solution. Therefore, the relevance of requirements for the security of program code on 1C language is as high as ever.

 

Ключевые слова: 1С:Предприятие; уязвимость; клиент-сервер; внешние источники данных; статический анализ;.

Keywords: 1С:Enterprise; vulnerability; client-server; external data sources; static analysis.

 

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

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

 

Рисунок 1. Передача адреса электронной почты в коде программы

 

Для решения проблемы явного указания конфиденциальных данных в коде следует использовать безопасное хранилище в подсистеме БСП (Библиотека стандартных подсистем), если у вас БСП, либо использовать свое безопасное хранилище, которое вы сделаете в своей конфигурации 1С, либо использовать внешние сервисы для хранения секретов. Например, Vault от компании HashiCorp, у них есть удобное API, авторизация и можно организовать удобный доступ и получение этих секретов, и их безопасность [1].

Еще одной не менее опасной проблемой является использования внешних отчетов, обработок, компонент, в которые можно встроить произвольный код любого назначения. Один из таких инцидентов был выявлен в 2016 году: антивирусная компания «Доктор Веб» сообщила 22 июня 2016 г. о том, что выявлен опасный вирус для 1С:Предприятия – троянец, запускающий шифровальщика-вымогателя [2]. Здесь необходимо составить перечень сотрудников-администраторов, проводящих аудит внешнего кода и имеющих право на встраивание внешних файлов и компонент в среду 1С:Предприятие, чтобы случайный человек случайно или намеренно не нанес вред системе.

Также следует обратить внимание на программную обработку Word- и Excel-файлов, которые постоянно используют бухгалтеры, секретари и менеджеры. В частности, перед программным открытием документов Microsoft Word и Microsoft Excel через COM следует запрещать исполнение макросов. Иначе это может привести к выполнению вредоносных макросов (вирусов), если таковые присутствуют в документе [3]. На рисунке 2 представлен пример правильного программного открытия документа Word без макросов.

 

Рисунок 2. Пример программного открытия документа Word

 

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

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

 

Рисунок 3. Интерфейс SonarQube

 

Схема его работы состоит из трех основных шагов:

  1. Построение промежуточного представления (модели кода).
  2. Применение алгоритмов статического анализа, в результате работы которых модель кода дополняется новой информацией.
  3. Применение правил поиска уязвимостей к дополненной модели кода [4].

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

 

Список литературы:

  1. Infostart Journal [Электронный ресурс]. – Режим доступа: https://infostart.ru/1c/articles/1544950/ (дата обращения: 06.12.2022)
  2. Официальный сайт фирмы 1С [Электронный ресурс]. – Режим доступа: https://1c.ru/news/info.jsp?id=21537 (дата обращения: 06.12.2022)
  3. Официальный сайт 1С:ИТС [Электронный ресурс]. – Режим доступа: https://its.1c.ru/db/v8std#browse:13:-1:36 (дата обращения: 06.12.2022)
  4. Блог Хабр [Электронный ресурс]. – Режим доступа: https://habr.com/ru/company/solarsecurity/blog/439286/ (дата обращения 06.12.2022)

Оставить комментарий