Movatterモバイル変換


[0]ホーム

URL:


RU2825554C1 - Method and system for controlling access to confidential information in operating system - Google Patents

Method and system for controlling access to confidential information in operating system
Download PDF

Info

Publication number
RU2825554C1
RU2825554C1RU2023125743ARU2023125743ARU2825554C1RU 2825554 C1RU2825554 C1RU 2825554C1RU 2023125743 ARU2023125743 ARU 2023125743ARU 2023125743 ARU2023125743 ARU 2023125743ARU 2825554 C1RU2825554 C1RU 2825554C1
Authority
RU
Russia
Prior art keywords
file
driver
label
access
request
Prior art date
Application number
RU2023125743A
Other languages
Russian (ru)
Inventor
Евгений Юрьевич Преображенский
Денис Валентинович Родионов
Анатолий Викторович Михайлов
Original Assignee
Общество с ограниченной ответственностью "Периметрикс" (ООО "Периметрикс")
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Периметрикс" (ООО "Периметрикс")filedCriticalОбщество с ограниченной ответственностью "Периметрикс" (ООО "Периметрикс")
Application grantedgrantedCritical
Publication of RU2825554C1publicationCriticalpatent/RU2825554C1/en

Links

Abstract

FIELD: computer engineering.
SUBSTANCE: technical result is achieved through steps of generating a secure file containing a label which determines file access policies, wherein the label is a set of metadata; receiving a request to perform an action with a protected file in the file system from a user application using an OS I/O manager; intercepting said request sent to OS I/O manager using filtering driver and performing its processing, during which the label data set is recognized and obtained, and the label access policies are compared with the user application data, wherein if the action with the file is allowed during said check, then control is transferred from the filtering driver to the file system driver; processing the request using the file system driver and performing the action contained in said request; returning control to the filtering driver from the file system driver and informing it about the completion of the request processing by the file system driver; returning control to the OS I/O manager from the filtering driver; if action with the file is prohibited during said check, then access to the file is blocked and control is returned to the OS I/O manager from the filtering driver.
EFFECT: higher security of access to confidential information in OS.
5 cl, 7 dwg

Description

Translated fromRussian

ОБЛАСТЬ ТЕХНИКИAREA OF TECHNOLOGY

[0001] Заявленное техническое решение в общем относится к области вычислительной техники, а в частности к автоматизированному способу и системе контроля доступа к конфиденциальной информации в операционной системе (ОС).[0001] The claimed technical solution generally relates to the field of computing technology, and in particular to an automated method and system for controlling access to confidential information in an operating system (OS).

УРОВЕНЬ ТЕХНИКИLEVEL OF TECHNOLOGY

[0002] Из уровня техники известен патент RU 2772073 С2 "СПОСОБ ПРЕДСТАВЛЕНИЯ ДОСТУПА К КРИПТОКОНТЕЙНЕРУ С ДАННЫМИ ПОЛЬЗОВАТЕЛЯ СРЕДСТВУ ОБРАБОТКИ". В данном решении описывается способ предоставления доступа к криптоконтейнеру с данными пользователя средству обработки, в котором: создают криптоконтейнер для данных пользователя, где: получают по меньшей мере один элемент данных пользователя; шифруют элемент данных ключом А; выдают права доступа к элементу данных пользователя для средства обработки; формируют в криптоконтейнере по меньшей мере одну структуру доступа для средства обработки, где: помещают в структуру доступа по меньшей мере один ключ А для доступа к элементу данных пользователя в соответствии с выданными для средства обработки на раннем этапе правами; получают ключ В; шифруют ключ А ключом В; получают ключ С, связанный со средством обработки; шифруют ключ В ключом С; предоставляют доступ средству обработки к криптоконтейнеру.[0002] The prior art discloses patent RU 2772073 C2 "METHOD OF PROVIDING ACCESS TO A CRYPTOCONTAINER WITH USER DATA TO A PROCESSING MEANS". This solution describes a method of providing access to a cryptocontainer with user data to a processing means, in which: a cryptocontainer for user data is created, wherein: at least one user data element is received; the data element is encrypted with key A; access rights to the user data element are issued for the processing means; at least one access structure is formed in the cryptocontainer for the processing means, wherein: at least one key A is placed in the access structure for access to the user data element in accordance with the rights issued for the processing means at an early stage; key B is received; key A is encrypted with key B; key C associated with the processing means is received; key B is encrypted with key C; access to the cryptocontainer is provided to the processing means.

[0003] Недостатком известного решения в данной области техники является отсутствие универсальной классификационной метки обеспечивающей постоянное присутствие метки на всех связанных документах, независимо от их изменений и копирования. Это позволяет поддерживать соответствие классификации и уровня доступа ко всем связанным документам.[0003] A disadvantage of the known solution in this area of technology is the lack of a universal classification mark that ensures the constant presence of the mark on all related documents, regardless of their changes and copying. This allows maintaining the correspondence of the classification and access level to all related documents.

[0004] Еще одним недостатком известного решения в данной области техники является отсутствие низкоуровневого драйвера, который блокирует доступ неавторизованных пользователей или процессов к файлам, содержащим конфиденциальные данные, если права доступа не регламентированы политикой безопасности компании.[0004] Another disadvantage of the known solution in this area of technology is the lack of a low-level driver that blocks access of unauthorized users or processes to files containing confidential data if access rights are not regulated by the company's security policy.

СУЩНОСТЬ ИЗОБРЕТЕНИЯESSENCE OF THE INVENTION

[0005] В заявленном техническом решении предлагается новый подход к автоматизированному способу контроля доступа к конфиденциальной информации в операционной системе (ОС).[0005] The claimed technical solution proposes a new approach to an automated method of controlling access to confidential information in an operating system (OS).

[0006] Техническим результатом, достигающимся при реализации заявленного решения, является повышение безопасности доступа к конфиденциальной информации в ОС.[0006] The technical result achieved by implementing the claimed solution is an increase in the security of access to confidential information in the OS.

[0007] Указанный технический результат достигаются благодаря осуществлению компьютерно-реализуемого способа контроля доступа к конфиденциальной информации в операционной системе (ОС), содержащего этапы, на которых:[0007] The specified technical result is achieved by implementing a computer-implemented method for controlling access to confidential information in an operating system (OS), which contains the following stages:

- формируют защищенный файл, содержащий метку, определяющую политики доступа к файлу, причем метка представляет собой набор метаданных;- form a protected file containing a label that defines the access policies for the file, where the label is a set of metadata;

- принимают запрос на выполнение действия с защищенным файлом в файловой системе от приложения пользователя с помощью диспетчера ввода-вывода ОС;- accept a request to perform an action on a protected file in the file system from a user application using the OS I/O manager;

- перехватывают упомянутый запрос, направленный диспетчеру ввода-вывода ОС, с помощью фильтрующего драйвера, и выполняют его обработку, в ходе которой: распознают и получают набор данных метки и выполняют сравнение политик доступа метки с данными приложения пользователя, при этом- intercept the said request sent to the OS I/O manager using a filter driver and process it, during which: recognize and obtain a set of label data and compare the access policies of the label with the user application data, while

если действие с файлом разрешено в ходе упомянутой проверки, тоif the action with the file is allowed during the mentioned check, then

осуществляют передачу управления от фильтрующего драйвера драйверу файловой системы;transfer control from the filter driver to the file system driver;

выполняют обработку запроса с помощью драйвера файловой системы и выполняют действие, содержащееся в упомянутом запросе;process the request using the file system driver and perform the action contained in said request;

возвращают управление фильтрующему драйверу от драйвера файловой системы и сообщают ему о завершении обработки запроса драйвером файловой системы;return control to the filter driver from the file system driver and notify it that the file system driver has completed processing the request;

возвращают управление диспетчеру ввода-вывода ОС от фильтрующего драйвера;return control to the OS I/O manager from the filter driver;

если действие с файлом запрещено в ходе упомянутой проверки, то выполняется блокировка доступа к файлу, и возвращается управление диспетчеру ввода-вывода ОС от фильтрующего драйвера.If the action with the file is prohibited during the mentioned check, then access to the file is blocked, and control is returned to the OS I/O manager from the filter driver.

[0008] В одном из частных вариантов реализации способа действие с файлом представляет собой операцию чтения или записи файла.[0008] In one particular embodiment of the method, the action with the file is an operation of reading or writing the file.

[0009] В другом частном варианте реализации способа фильтрующий драйвер выполнен с возможностью фиксации создания по меньшей мере одного дочернего файла из обрабатываемого файла, содержащего метку.[0009] In another particular embodiment of the method, the filter driver is configured to record the creation of at least one child file from the processed file containing the label.

[0010] В другом частном варианте реализации способа дочернему файлу с помощью фильтрующего драйвера присваивается метка, содержащая набор метаданных, идентичный набору метки родительского файла.[0010] In another particular embodiment of the method, a child file is assigned a label containing a set of metadata identical to the set of the parent file's label using a filter driver.

[0011] Кроме того, заявленный технический результат достигается за счет системы контроля доступа к конфиденциальной информации в ОС, содержащей по меньшей мере один процессор, связанный с по меньшей мере одной памятью, которая содержит машиночитаемые инструкции, которые при их выполнении процессором выполняют заявленный способ.[0011] In addition, the claimed technical result is achieved by means of a system for controlling access to confidential information in an OS, containing at least one processor, connected to at least one memory, which contains machine-readable instructions, which, when executed by the processor, perform the claimed method.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS

[0012] Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей.[0012] The features and advantages of the present invention will become apparent from the following detailed description of the invention and the accompanying drawings.

[0013] Фиг. 1 иллюстрирует пример структуры файловой системы в присутствии драйвера.[0013] Fig. 1 illustrates an example of a file system structure in the presence of a driver.

[0014] Фиг. 2 иллюстрирует область ядра операционной системы с установленным драйвером.[0014] Fig. 2 illustrates the kernel area of the operating system with the driver installed.

[0015] Фиг. 3 иллюстрирует область ядра операционной системы без драйвера.[0015] Fig. 3 illustrates the kernel area of the operating system without a driver.

[0016] Фиг. 4 иллюстрирует жизненный цикл информации в операционной системе Windows.[0016] Fig. 4 illustrates the life cycle of information in the Windows operating system.

[0017] Фиг. 5 иллюстрирует жизненный цикл файла при реализации заявленного решения.[0017] Fig. 5 illustrates the life cycle of a file when implementing the claimed solution.

[0018] Фиг. 6 иллюстрирует блок-схему заявленного способа.[0018] Fig. 6 illustrates a block diagram of the claimed method.

[0019] Фиг. 7 иллюстрирует пример общего вида вычислительной системы, которая обеспечивает реализацию заявленного способа.[0019] Fig. 7 illustrates an example of a general view of a computing system that provides implementation of the claimed method.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION

[0020] Данное техническое решение может быть реализовано в виде вычислительной системы, например, в виде автоматизированной информационной системы (АИС), распределенной компьютерной системы, или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа с помощью вычислительных средств (например, процессора).[0020] This technical solution can be implemented in the form of a computing system, for example, in the form of an automated information system (AIS), a distributed computer system, or a machine-readable medium containing instructions for performing the above-mentioned method using computing means (for example, a processor).

[0021] В основе защиты цифровой информации лежат метаданные. Любая информация не является только защищаемой или не защищаемой. Доступ к защищаемой информации может разделяться, основываясь на субъекте доступа, будь то лицо, или единица автоматизированной системы (процесс, поток, и т.д.). В зависимости от уровня привилегий того или иного субъекта доступ к защищаемому объекту может быть как полным, частичным, так и отсутствовать. Вся эта обозначенная информация, по контролю доступа к объекту, хранится в метаданных.[0021] Metadata is the basis for protecting digital information. Any information is not only protected or not protected. Access to protected information can be divided based on the access subject, be it a person or a unit of an automated system (process, flow, etc.). Depending on the privilege level of a particular subject, access to a protected object can be either complete, partial, or absent. All this designated information on access control to an object is stored in metadata.

[0022] Любая информация в автоматизированных системах хранится в файлах, и за их размещение на носителе информации (диск, сетевой диск, сетевой путь, оптический диск и т.п.) отвечает файловая система. Средства передачи информации, а также средства обработки информации, в том числе только что упомянутых файлов, не являются средствами хранения, а значит сами метаданные не участвуют в этих процессах. Метаданные привязываются к файлу. В такой связке, метаданные описывают правила доступа к остальному файлу (т.е. к остальному содержимому, кроме самих метаданных). В таком контексте метаданные принято называть меткой. Доступ к метке запрещен всегда, кроме самого средства автоматизированного контроля доступа.[0022] Any information in automated systems is stored in files, and the file system is responsible for their placement on the storage medium (disk, network drive, network path, optical disk, etc.). Information transfer means, as well as information processing means, including the files just mentioned, are not storage means, which means that the metadata itself does not participate in these processes. Metadata is linked to the file. In such a connection, metadata describes the rules for access to the rest of the file (i.e., to the rest of the content, except for the metadata itself). In this context, metadata is usually called a label. Access to the label is always prohibited, except for the automated access control tool itself.

[0023] Поскольку средство контроля не является полноценным решением, т.е. является средством, дополняющим существующие средства операционных систем, способы размещения меток могут отличаться. Так как в разных семействах операционных систем, а также в разных версиях одного семейства могут быть разные средства самих файлов систем. В соответствие с этим на сегодняшний день можно выделить четыре способа привязки метки к защищаемому файлу:[0023] Since the control tool is not a complete solution, i.e. it is a tool that complements the existing tools of the operating systems, the methods of placing labels may differ. Since different families of operating systems, as well as different versions of the same family, may have different tools for the system files themselves. Accordingly, today we can distinguish four methods of binding a label to a protected file:

1) привязка метки в виде отдельного потока к файлу. Например, файловая система NTFS семейства операционных систем Windows, несет в себе средства привязки именованного потока к именованному файлу. Такой подход наилучший с точки зрения производительности.1) binding a label as a separate stream to a file. For example, the NTFS file system of the Windows family of operating systems has the means of binding a named stream to a named file. This approach is the best in terms of performance.

2) привязка метки в виде заголовка файла. Например, файловая система FAT не позволяет привязывать именованный поток к файлу, и с такой точки зрения данный метод является вынужденным. Такая привязка является неплохим компромиссом с точки зрения производительности, но с технической точки зрения, его реализация может быть затруднена из-за особенностей операционных систем, таких как кэширование файла, отображение его на память, и т.п. Данные механизмы потребуют виртуализации содержимого файла.2) binding a label as a file header. For example, the FAT file system does not allow binding a named stream to a file, and from this point of view, this method is forced. Such binding is a good compromise in terms of performance, but from a technical point of view, its implementation can be difficult due to the peculiarities of operating systems, such as file caching, its mapping to memory, etc. These mechanisms will require virtualization of the file contents.

3) привязка метки в виде отдельного файла. Такой метод привязки не самый лучший с точки зрения производительности, но самый лучший с точки зрения совместимости, т.к. размещение данных в файле - основа любой файловой системы.3) binding a label as a separate file. This binding method is not the best in terms of performance, but it is the best in terms of compatibility, since placing data in a file is the basis of any file system.

4) привязка метки в виде записи таблицы базы данных. Такой метод привязка худший с точки зрения производительности, но может оказаться предпочтительным, когда информация о защищаемых файлах должна быть сосредоточена в единственном месте.4) Binding a label as a database table record. This binding method is the worst in terms of performance, but may be preferable when information about protected files should be concentrated in a single place.

[0024] Упомянутые способы привязки метки не реализованы ни в одной из существующих операционных систем, так же, как и сам контроль доступа к защищаемым данным. Операционные системы предоставляют только базовые средства хранения данных в виде файлов.[0024] The mentioned methods of label binding are not implemented in any of the existing operating systems, as well as the access control to the protected data. Operating systems provide only basic means of storing data in the form of files.

[0025] Учитывая технические средства существующих операционных систем, требуется дополнительный механизм, который будет отвечать за привязку метки, а также за контроль доступа к данным, которые описывает сама метка. Далее, будет представлена эта информация.[0025] Given the technical means of existing operating systems, an additional mechanism is required that will be responsible for binding the label, as well as for controlling access to the data that the label itself describes. This information will be presented below.

[0026] Контроль доступа и отражение информации в метке, технически выполняется в ядре операционной системы. Компонент ядра, отвечающий за обозначенную деятельность, называется драйвером. В основе драйвера лежит отслеживание и перехват запросов к файловым системам, как к локальным, так и к сетевым.[0026] Access control and reflection of information in the label is technically performed in the operating system kernel. The kernel component responsible for the designated activity is called a driver. The driver is based on tracking and intercepting requests to file systems, both local and network.

[0027] На Фиг. 1 представлена более подробная структура файловой системы в присутствии драйвера. Для простоты пример приведен, основываясь на предположении что файл располагается на диске. Дисковое пространство распределяется файловой системой самой операционной системы. Файл выделяется файловой системой. Так же, как и метка.[0027] Fig. 1 shows a more detailed structure of the file system in the presence of a driver. For simplicity, the example is given based on the assumption that the file is located on the disk. The disk space is allocated by the file system of the operating system itself. The file is allocated by the file system. The same as the label.

Последняя не создается и не выделяется сама по себе, а только при запросах со стороны драйвера.The latter is not created or allocated by itself, but only upon requests from the driver.

[0028] На Фиг. 2 представлены уже ранее упомянутые файл, метка и драйвер. Также, обозначена область ядра операционной системы. Данная среда является привилегированной сама по себе. Все запросы доступа к файлам от приложений пользователя перехватываются драйвером, т.е. в обычном случае запросы к файлам будут выполняться напрямую, как это представлено на Фиг. 3.[0028] Fig. 2 shows the previously mentioned file, label and driver. Also, the area of the operating system kernel is designated. This environment is privileged in itself. All file access requests from user applications are intercepted by the driver, i.e. in the normal case, file requests will be executed directly, as shown in Fig. 3.

[0029] В присутствии драйвера в ОС, когда приложение попытается получить доступ к файлу, драйвер проверит соответствующую ему метку и примет решение относительно возможности доступа:[0029] In the presence of the driver in the OS, when an application tries to access a file, the driver will check the corresponding label and make a decision about whether access is possible:

1) метка отсутствует - доступ разрешен.1) label is missing - access is granted.

2) метка присутствует и в соответствии с данными в ней субъекту разрешен доступ к самим данным - доступ разрешен.2) the label is present and, in accordance with the data in it, the subject is allowed access to the data itself - access is allowed.

3) метка присутствует и в соответствии с данными в ней субъекту запрещен доступ к самим данным - доступ запрещен.3) the label is present and, in accordance with the data in it, the subject is denied access to the data itself - access denied.

[0030] Для первого случая существует также исключительная ситуация, когда субъекту доступа требуется защищать данные, но они еще не располагаются на диске, либо они располагаются на диске, но ранее данные не защищались. В первом случае, будет создан файл и метка единовременно, во втором для существующего файла будет создана метка.[0030] For the first case, there is also an exceptional situation when the access subject needs to protect data, but it is not yet located on the disk, or it is located on the disk, but the data has not been protected before. In the first case, a file and a label will be created at the same time, in the second case, a label will be created for the existing file.

[0031] Все вышеприведенное описывает основу защиты данных. Поскольку любые данные располагаются в том или ином долговременном хранилище, их можно считать защищенными до тех пор, пока автоматизированное средство отключено, либо к данным не выполняется доступ.[0031] All of the above describes the basis of data protection. Since any data is located in some kind of long-term storage, it can be considered protected as long as the automated tool is turned off or the data is not accessed.

[0032] В остальных случаях, при доступе к данным, автоматизированное средство выполняет разные манипуляции с данными, полученные с защищаемого долговременного хранилища. Следовательно, чтобы избежать нарушений требуется контролировать остальные каналы, по которым копия защищаемых данных может покинуть контролируемый периметр.[0032] In other cases, when accessing data, the automated tool performs various manipulations with data received from the protected long-term storage. Therefore, in order to avoid violations, it is necessary to control other channels through which a copy of the protected data can leave the controlled perimeter.

[0033] До того, как автоматизированное средство выполнит те или иные манипуляции с данными, ему потребуется скопировать их в ОЗУ. Откуда они уже могут быть отправлены по сети, на диск, быть переданными другому приложению и т.п. По этой причине от драйвера также требуется контролировать само приложение, которое получило доступ к защищаемым данным.[0033] Before an automated tool performs any manipulations with data, it will need to copy it to RAM. From there, it can be sent over the network, to disk, transferred to another application, etc. For this reason, the driver is also required to control the application itself that has access to the protected data.

[0034] Как только приложение получило копию защищаемых данных, т.е. эти данные хранятся в его памяти, драйвер маркирует это приложение, т.к. теперь требуется контролировать всю его деятельность. При этом не важно пытается ли приложение выполнять те или иные действия с защищенными или не защищенными данным. Контролю подвергаются все данные. Основанная задача драйвера, после того как приложение получило доступ к чувствительным данным, защищать память самого приложения средствами операционной системы, контролировать прямо доступ к аппаратуре. Везде, где известен протокол взаимодействия с теми или иными средствами операционной системы контролировать эти средства, либо полностью блокировать доступ к этим средствам если их протокол работы не известен.[0034] As soon as the application has received a copy of the protected data, i.e. these data are stored in its memory, the driver marks this application, since now it is necessary to control all its activity. In this case, it does not matter whether the application is trying to perform certain actions with protected or unprotected data. All data is subject to control. The main task of the driver, after the application has received access to sensitive data, is to protect the memory of the application itself by means of the operating system, to control direct access to the hardware. Wherever the protocol of interaction with certain means of the operating system is known, control these means, or completely block access to these means if their protocol of operation is unknown.

[0035] Далее будет более подробно изложен сам способ создания, изменения и удаления метки.[0035] The method of creating, changing and deleting a label will be described in more detail below.

[0036] Поскольку предоставляемое решение защиты конфиденциальной информации является дополнением к существующим автоматизированным вычислительным средствам, следует разобрать жизненный цикл самой информации. Подразумевается, что вся реализация касается только семейства операционных систем Windows.[0036] Since the provided solution for protecting confidential information is an addition to existing automated computing tools, the life cycle of the information itself should be analyzed. It is understood that the entire implementation concerns only the Windows family of operating systems.

[0037] На Фиг. 4 представлен жизненный цикл информации в операционной системе Windows.[0037] Fig. 4 shows the life cycle of information in the Windows operating system.

[0038] Как и представлено на Фиг. 4, дисковым пространством управляет драйвер файловой системы. Сама файловая система группирует информацию в файлах. Предоставленное решение по защите конфиденциальной информации не вмешивается в деятельность самой файловой системы, а также не вмешивается напрямую в дисковое пространство. Т.е. само решение, так или иначе, является таким же потребителем сервисов файловой системы, но имеет больший приоритет и привилегии чем приложения пользователя.[0038] As shown in Fig. 4, the disk space is managed by the file system driver. The file system itself groups information in files. The provided solution for protecting confidential information does not interfere with the activity of the file system itself, and does not interfere directly with the disk space. That is, the solution itself, one way or another, is the same consumer of file system services, but has a higher priority and privileges than the user's applications.

[0039] Файловая система не существует сама по себе, и принимает запросы на обработку информации от диспетчера ввода-вывода. Диспетчер ввода-вывода со своей стороны выполняет базовые проверки доступа и их разграничение. Тем самым он изолирует приложения друг от друга и в той или иной степени контролирует их деятельность. Например, диспетчер ввода-вывода контролирует чтобы два и более приложений пользователя не выполняли одновременный доступ к одной и той же информации, и тем самым он гарантирует атомарность всех операций.[0039] The file system does not exist on its own, and receives requests for information processing from the I/O manager. The I/O manager, for its part, performs basic access checks and delimitations. In this way, it isolates applications from each other and controls their activities to some extent. For example, the I/O manager ensures that two or more user applications do not simultaneously access the same information, and thus it guarantees the atomicity of all operations.

[0040] Как уже было обозначено ранее, все запросы к информации осуществляются на файловом уровне. Ровно как менеджер ввода-вывода, так и файловая система принимают запросы на таком уровне. Запросы к файлам приведены ниже:[0040] As noted earlier, all requests for information are made at the file level. Both the I/O manager and the file system accept requests at this level. The file requests are listed below:

1) Создание файла1) Create a file

2) Удаление файла2) Deleting a file

3) Перемещение файла3) Moving a file

4) Чтение файла4) Reading the file

5) Запись файла5) Write file

[0041] Каждый из обозначенных пунктов в жизненном цикле файла выполняется в несколько шагов:[0041] Each of the designated points in the file life cycle is performed in several steps:

0. Диспетчер ввода-вывода принимает запрос от приложения пользователя.0. The I/O manager accepts a request from the user application.

1. Диспетчер ввода-вывода направляет запрос соответствующей файловой системе (их может быть несколько, следовательно, в задачи менеджера ввода-вывода входит определение целевого диска, и как следствие целевой файловой системы, которая управляет дисковым пространством в конкретный момент времени; для краткости и простоты примера, на рисунке представлен один диск).1. The I/O manager sends a request to the appropriate file system (there may be several of them, therefore, the I/O manager's job is to determine the target disk, and as a consequence, the target file system that manages the disk space at a specific point in time; for brevity and simplicity of the example, the figure shows one disk).

2. Драйвер файловой системы обрабатывает запрос:2. The file system driver processes the request:

a. Создание файла - проверяет существует ли уже файл с таким же именем и если нет, то создает его (в задачи драйвера входит прозрачное управление и поддержка списка файлов диска) и выделяет запрошенное дисковое пространство, в противном случае запрос отвергается.a. File creation - checks whether a file with the same name already exists and if not, creates it (the driver's tasks include transparent management and support of the disk file list) and allocates the requested disk space, otherwise the request is rejected.

b. Удаление файла - освобождает занимаемое дисковое пространство и удаляет файл из списка.b. Delete file - frees up disk space and removes the file from the list.

c. Перемещение файла - перемещает файл во внутреннем списке файлов. Остальное остается без изменений.c. Move file - moves a file in the internal file list. The rest remains unchanged.

d. Чтение файла - читает файл напрямую с диска в соответствии с дисковой структурой.d. Read file - reads the file directly from the disk according to the disk structure.

е. Запись в файл - гарантирует последовательный доступ к выделенном дисковому пространству, после чего обновляет данные. Если размер файла в результате записи увеличивается то, записывает выделяет дополнительное дисковое пространство.e. Write to file - ensures sequential access to the allocated disk space, then updates the data. If the file size increases as a result of writing, then writes allocates additional disk space.

3. Драйвер файловой системы завершил обработку запроса.3. The file system driver has completed processing the request.

4. Драйвер файловой системы возвращает управление диспетчеру ввода-вывода.4. The file system driver returns control to the I/O manager.

5. Диспетчер ввода-вывода возвращает управление пользовательскому приложению, а также результат выполнения запроса.5. The I/O manager returns control to the user application, as well as the result of the request.

[0042] Из описания видно, что операционная система не выполняет специализированных проверок во время доступа к информации. И все запросы являются запросами общего назначения.[0042] From the description it is clear that the operating system does not perform specialized checks when accessing information. And all requests are general-purpose requests.

[0043] Предоставляемое решение вносит необходимые изменения в жизненный цикл информации в целях обеспечения защиты конфиденциальной информации.[0043] The provided solution makes the necessary changes to the information life cycle in order to ensure the protection of confidential information.

[0044] В основе защиты конфиденциальной информации лежит доверие к приложениям пользователя и самому пользователю. Следовательно, кроме изменений в жизненном цикле информации, требуется отслеживать как приложения пользователя, так и самого пользователя системы. Доверенные приложения и доверенный пользователи задаются решению посредством конфигурации, тем самым обеспечивая гибкость в настройке решения и удовлетворения потребностей любых потребителей решения не зависимо от структуры защищаемой организации.[0044] The basis for protecting confidential information is trust in the user's applications and the user himself. Therefore, in addition to changes in the information life cycle, it is necessary to track both the user's applications and the user of the system himself. Trusted applications and trusted users are specified for the solution through configuration, thereby providing flexibility in configuring the solution and meeting the needs of any consumers of the solution, regardless of the structure of the protected organization.

[0045] Любое приложение в операционной системе запускается по инициативе пользователя. Следовательно, каждый запущенный экземпляр того или иного приложения связан с так называемым контекстом пользователя, который не только идентифицирует его, но и описывает его права и привилегии. Эта информация доступна диспетчеру ввода-вывода, следовательно, когда приложение пользователя выполняет тот или иной запрос к диспетчеру, на момент этого запроса известно от имени какого пользователя подан запрос на ту или иную операцию. Также, если драйверу файловой системы или любому другому драйверу необходима информация об инициаторе запроса, менеджер ввода-вывода предоставит эту информацию при необходимости. Такие средства заложены в основу операционной системы, и потому от предоставляемого решения не требуется дополнительных реализаций для идентификации пользователей.[0045] Any application in the operating system is launched at the user's initiative. Therefore, each launched instance of a particular application is associated with the so-called user context, which not only identifies it, but also describes its rights and privileges. This information is available to the I/O manager, therefore, when a user application makes a particular request to the manager, at the time of this request it is known on behalf of which user the request for a particular operation was submitted. Also, if a file system driver or any other driver needs information about the initiator of the request, the I/O manager will provide this information if necessary. Such means are embedded in the basis of the operating system, and therefore the provided solution does not require additional implementations for user identification.

[0046] Диспетчеру ввода-вывода также доступна информация о приложении, которое выполняет запрос. Эта информация может быть запрошена любым драйвером системы при необходимости, и потому от предоставляемого решения не требуется специальных доработок для идентификации приложения.[0046] The I/O manager also has access to information about the application making the request. This information can be requested by any driver in the system as needed, and therefore the solution provided does not require any special modifications to identify the application.

[0047] В операционной системе есть механизм фильтрации, который позволяет перехватывать разного рода запросы, в том числе от приложений пользователя. Когда менеджер ввода-вывода получает запрос от приложения пользователя, он направляет его в соответствующий драйвер. В том случае, когда присутствует фильтрующий драйвер, менеджер ввода-вывода сначала пошлет запрос к нему, когда последний перенаправит запрос уже в целевой драйвер.[0047] The operating system has a filtering mechanism that allows intercepting various types of requests, including those from user applications. When the I/O manager receives a request from a user application, it forwards it to the appropriate driver. In the case where a filtering driver is present, the I/O manager will first send the request to it, and then the latter will forward the request to the target driver.

[0048] На Фиг. 5 представлен жизненный цикл файла при реализации заявленного решения.[0048] Fig. 5 shows the life cycle of a file when implementing the claimed solution.

[0049] Как показано на Фиг. 6 компьютерно-реализуемый способ контроля доступа к конфиденциальной информации в операционной системе (100) состоит из нескольких этапов.[0049] As shown in Fig. 6, the computer-implemented method for controlling access to confidential information in the operating system (100) consists of several stages.

[0050] На этапе (101) формируют защищенный файл, содержащий метку, определяющую политики доступа к файлу, причем метка представляет собой набор метаданных. Создание защищенного файла может выполняться с помощью специализированного программного обеспечения, позволяющего управлять назначением политик доступа для упомянутого файла, которые записываются в набор метаданных.[0050] At step (101), a protected file is formed, containing a label defining access policies for the file, wherein the label is a set of metadata. The creation of the protected file can be performed using specialized software that allows for managing the assignment of access policies for the said file, which are recorded in the set of metadata.

[0051] Далее на этапе (102) файловая система ОС получает запрос на действие с защищенным файлом при доступе к нему от приложения пользователя (например, открытие файла MS Word, PDF и т.п.). Запрос инициируется с помощью диспетчера ввода-вывода ОС. Действие с файлом, как правило, представляет собой операцию чтения или записи файла.[0051] Next, at step (102), the OS file system receives a request for an action with a protected file when accessing it from a user application (for example, opening an MS Word file, PDF, etc.). The request is initiated using the OS I/O manager. The action with the file, as a rule, is an operation of reading or writing the file.

[0052] На этапе (103) выполняется перехват запроса, сформированного на этапе (102), с помощью фильтрующего драйвера, после чего выполняется обработка данного запроса, в ходе которой выполняются следующие операции: распознавание и получение набора данных метки, сравнение политик доступа метки с данными приложения пользователя.[0052] At step (103), the request generated at step (102) is intercepted using the filter driver, after which the request is processed, during which the following operations are performed: recognition and receipt of a set of label data, comparison of the access policies of the label with the user application data.

[0053] При выполнении этапа (103) если действие с файлом разрешено в ходе упомянутой проверки, то на этапе (104) осуществляется передача управления от фильтрующего драйвера драйверу файловой системы. Далее на этапе (105) происходит обработка запроса с помощью драйвера файловой системы и выполняется действие, содержащееся в упомянутом запросе. После выполнения данных операций на этапе (106) происходит возврат управления фильтрующему драйверу от драйвера файловой системы, после чего драйверу файловой системы направляется сообщение о завершении обработки запроса драйвером файловой системы. После этого на этапе (108) выполняется возвращение управления диспетчеру ввода-вывода ОС от фильтрующего драйвера.[0053] When performing step (103), if the action with the file is permitted during said check, then at step (104) control is transferred from the filter driver to the file system driver. Then at step (105) the request is processed using the file system driver and the action contained in said request is performed. After performing these operations at step (106) control is returned to the filter driver from the file system driver, after which a message is sent to the file system driver about the completion of processing of the request by the file system driver. After this, at step (108) control is returned to the OS I/O manager from the filter driver.

[0054] Если действие с файлом запрещено в ходе упомянутой проверки, то на этапе (107) выполняется блокировка доступа к файлу, и на этапе (108) возвращается управление диспетчеру ввода-вывода ОС от фильтрующего драйвера.[0054] If the action with the file is prohibited during the mentioned check, then at step (107) the access to the file is blocked, and at step (108) the control is returned to the OS I/O manager from the filter driver.

[0055] Дополнительно фильтрующий драйвер выполнен с возможностью фиксации создания по меньшей мере одного дочернего файла из обрабатываемого файла, содержащего вышеописанную метку, например, при создании нового файла или изменение его формата. В этом случае фильтрующий драйвер присваивает аналогичную метку дочернему файлу, содержащую набор метаданных, идентичный набору метки родительского файла. Это позволяет обеспечить дополнительную защиту по доступу к информации и предотвратить утечку данных при их пересылке доверенным пользователям, поскольку любое изменение первоначального файла будет фиксировать за счет метки фильтрующим драйвером и позволять осуществлять его обработку в соответствии с заложенными в метку политиками доступа.[0055] Additionally, the filter driver is configured to record the creation of at least one child file from the file being processed, containing the above-described label, for example, when creating a new file or changing its format. In this case, the filter driver assigns a similar label to the child file, containing a set of metadata identical to the set of the parent file label. This allows for additional protection of access to information and prevents data leakage when sending it to trusted users, since any change to the original file will be recorded by the filter driver due to the label and will allow it to be processed in accordance with the access policies embedded in the label.

[0056] На Фиг. 7 представлен общий пример вычислительного устройства (200), которое может представлять собой, например, компьютер, сервер, ноутбук, смартфон, SoC (System-on-a-Chip/Система на кристалле) и т.п.[0056] Fig. 7 shows a general example of a computing device (200), which may be, for example, a computer, a server, a laptop, a smartphone, a SoC (System-on-a-Chip), etc.

[0057] В общем случае устройство (200) содержит такие компоненты, как: один или более процессоров (201), по меньшей мере одну оперативную память (202), средство постоянного хранения данных (203), интерфейсы ввода/вывода (204) включая релейные выходы для соединения с контроллерами управления движения ленточного конвейера, средство В/В (205), средства сетевого взаимодействия (206).[0057] In general, the device (200) comprises components such as: one or more processors (201), at least one random access memory (202), a permanent data storage means (203), input/output interfaces (204) including relay outputs for connection to belt conveyor motion controllers, an I/O means (205), and network interaction means (206).

[0058] Процессор (201) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (200) или функционала одного или более его компонентов. Процессор (201) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (202).[0058] The processor (201) of the device performs the basic computing operations necessary for the functioning of the device (200) or the functionality of one or more of its components. The processor (201) executes the necessary machine-readable instructions contained in the RAM (202).

[0059] Память (202), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал. Средство хранения данных (203) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средство (203) позволяет выполнять долгосрочное хранение различного вида информации, например, запись магнитограмм, истории обработки запросов (логов), идентификаторов пользователей, данные камер, изображения и т.п.[0059] The memory (202) is usually implemented as RAM and contains the necessary software logic that provides the required functionality. The data storage means (203) can be implemented as HDD, SSD disks, RAID array, network storage, flash memory, optical storage devices (CD, DVD, MD, Blue-Ray disks), etc. The means (203) allows for long-term storage of various types of information, such as recording magnetograms, request processing history (logs), user identifiers, camera data, images, etc.

[0060] Интерфейсы (204) представляют собой стандартные средства для подключения и работы с вычислительными устройствами. Интерфейсы (204) могут представлять, например, релейные соединения, USB, RS232/422/485 или другие, RJ45, LPT, UART, СОМ, HDMI, PS/2, Lightning, Fire Wire и т.п. для работы, в том числе, по протоколам Modbus и сетям Probfibus, Profinet или сетям иного типа. Выбор интерфейсов (204) зависит от конкретного исполнения устройства (200), которое может представлять собой, вычислительный блок (вычислительный модуль), например на базе ЦПУ (одного или нескольких процессоров), микроконтроллера и т.п., персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п., а также подключаемых сторонних устройств.[0060] The interfaces (204) are standard means for connecting and working with computing devices. The interfaces (204) can be, for example, relay connections, USB, RS232/422/485 or others, RJ45, LPT, UART, COM, HDMI, PS/2, Lightning, Fire Wire, etc. for working, including, according to Modbus protocols and Probfibus, Profinet networks or networks of another type. The choice of interfaces (204) depends on the specific design of the device (200), which can be a computing unit (computing module), for example based on a CPU (one or more processors), a microcontroller, etc., a personal computer, a mainframe, a server cluster, a thin client, a smartphone, a laptop, etc., as well as connected third-party devices.

[0061] В качестве средств В/В данных (205) может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п.[0061] The following may be used as I/O data means (205): a keyboard, joystick, display (touch display), projector, touchpad, mouse, trackball, light pen, speakers, microphone, etc.

[0062] Средства сетевого взаимодействия (206) выбираются из устройства, обеспечивающего сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем, и т.п. С помощью средства (206) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM, квантовый (оптоволоконный) канал передачи данных, спутниковая связь и т.п. Компоненты устройства (400), как правило, сопряжены посредством общей шины передачи данных.[0062] Network interaction means (206) are selected from a device that provides network data reception and transmission, for example, an Ethernet card, a WLAN/Wi-Fi module, a Bluetooth module, a BLE module, an NFC module, an IrDa, an RFID module, a GSM modem, etc. With the help of the means (206), data exchange is organized via a wired or wireless data transmission channel, for example, a WAN, PAN, LAN, Intranet, Internet, WLAN, WMAN or GSM, a quantum (fiber optic) data transmission channel, satellite communications, etc. The components of the device (400), as a rule, are connected via a common data transmission bus.

[0063] В настоящих материалах заявки было представлено предпочтительное раскрытие осуществления заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.[0063] The present application materials presented a preferred disclosure of the implementation of the claimed technical solution, which should not be used as limiting other, particular embodiments of its implementation that do not go beyond the scope of the requested scope of legal protection and are obvious to specialists in the relevant field of technology.

Claims (14)

Translated fromRussian
1. Компьютерно-реализуемый способ контроля доступа к конфиденциальной информации в операционной системе (ОС), содержащий этапы, на которых:1. A computer-implemented method for controlling access to confidential information in an operating system (OS), comprising the following stages:- формируют защищенный файл, содержащий метку, определяющую политики доступа к файлу, причем метка представляет собой набор метаданных;- form a protected file containing a label that defines the access policies for the file, where the label is a set of metadata;- принимают запрос на выполнение действия с защищенным файлом в файловой системе от приложения пользователя с помощью диспетчера ввода-вывода ОС;- accept a request to perform an action on a protected file in the file system from a user application using the OS I/O manager;- перехватывают упомянутый запрос, направленный диспетчеру ввода-вывода ОС, с помощью фильтрующего драйвера и выполняют его обработку, в ходе которой: распознают и получают набор данных метки, и выполняют сравнение политик доступа метки с данными приложения пользователя, при этом- intercept the said request sent to the OS I/O manager using a filter driver and process it, during which: recognize and obtain a set of label data, and compare the access policies of the label with the user application data, whileесли действие с файлом разрешено в ходе упомянутой проверки, тоif the action with the file is allowed during the mentioned check, thenосуществляют передачу управления от фильтрующего драйвера драйверу файловой системы;transfer control from the filter driver to the file system driver;выполняют обработку запроса с помощью драйвера файловой системы и выполняют действие, содержащееся в упомянутом запросе;process the request using the file system driver and perform the action contained in said request;возвращают управление фильтрующему драйверу от драйвера файловой системы и сообщают ему о завершении обработки запроса драйвером файловой системы;return control to the filter driver from the file system driver and notify it that the file system driver has completed processing the request;возвращают управление диспетчеру ввода-вывода ОС от фильтрующего драйвера;return control to the OS I/O manager from the filter driver;если действие с файлом запрещено в ходе упомянутой проверки, то выполняется блокировка доступа к файлу и возвращается управление диспетчеру ввода-вывода ОС от фильтрующего драйвера.If the action with the file is prohibited during the mentioned check, then access to the file is blocked and control is returned to the OS I/O manager from the filter driver.2. Способ по п. 1, характеризующийся тем, что действие с файлом представляет собой операцию чтения или записи файла.2. The method according to paragraph 1, characterized in that the action with the file is an operation of reading or writing the file.3. Способ по п. 1, характеризующийся тем, что фильтрующий драйвер выполнен с возможностью фиксации создания по меньшей мере одного дочернего файла из обрабатываемого файла, содержащего метку.3. The method according to item 1, characterized in that the filter driver is designed with the ability to record the creation of at least one child file from the processed file containing the label.4. Способ по п. 3, характеризующийся тем, что дочернему файлу с помощью фильтрующего драйвера присваивается метка, содержащая набор метаданных, идентичный набору метки родительского файла.4. The method according to paragraph 3, characterized in that the child file is assigned a label using a filter driver, containing a set of metadata identical to the set of the parent file’s label.5. Система контроля доступа к конфиденциальной информации в ОС, содержащая по меньшей мере один процессор, связанный с по меньшей мере одной памятью, которая содержит машиночитаемые инструкции, которые при их выполнении процессором выполняют способ по любому из пп. 1-4.5. A system for controlling access to confidential information in an OS, containing at least one processor connected to at least one memory that contains machine-readable instructions that, when executed by the processor, perform the method according to any of paragraphs 1-4.
RU2023125743A2023-10-18Method and system for controlling access to confidential information in operating systemRU2825554C1 (en)

Publications (1)

Publication NumberPublication Date
RU2825554C1true RU2825554C1 (en)2024-08-27

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20140304832A1 (en)*2012-01-302014-10-09Christoph J. GrahamSecure Information Access Over Network
US20150324602A1 (en)*2005-12-292015-11-12Nextlabs, Inc.Managing Access of Information Using Policies
US20160048695A1 (en)*2013-03-282016-02-18Alcatel LucentMethod of preventing access to sensitive data of a computing device
RU2759210C1 (en)*2020-09-012021-11-10Общество с ограниченной ответственностью "Кросстех Солюшнс Групп"System and method for protecting electronic documents containing confidential information from unauthorised access
RU2772073C2 (en)*2020-09-242022-05-16Акционерное общество "Лаборатория Касперского"Method for granting access to cryptographic container with user data for processing tool

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20150324602A1 (en)*2005-12-292015-11-12Nextlabs, Inc.Managing Access of Information Using Policies
US20140304832A1 (en)*2012-01-302014-10-09Christoph J. GrahamSecure Information Access Over Network
US20160048695A1 (en)*2013-03-282016-02-18Alcatel LucentMethod of preventing access to sensitive data of a computing device
RU2759210C1 (en)*2020-09-012021-11-10Общество с ограниченной ответственностью "Кросстех Солюшнс Групп"System and method for protecting electronic documents containing confidential information from unauthorised access
RU2772073C2 (en)*2020-09-242022-05-16Акционерное общество "Лаборатория Касперского"Method for granting access to cryptographic container with user data for processing tool

Similar Documents

PublicationPublication DateTitle
JP4234086B2 (en) Method, system, and program for processing file requests
US10404708B2 (en)System for secure file access
JP4931255B2 (en) Virtualized file system
US8539136B2 (en)Techniques for dynamic disk personalization
US8234477B2 (en)Method and system for providing restricted access to a storage medium
CN102112990B (en)Granting least privilege access for computing processes
EP3133507A1 (en)Context-based data classification
US8281410B1 (en)Methods and systems for providing resource-access information
JP4521865B2 (en) Storage system, computer system, or storage area attribute setting method
US9418232B1 (en)Providing data loss prevention for copying data to unauthorized media
US20050066134A1 (en)Method of implementation of data storage quota
US11106813B2 (en)Credentials for consent based file access
JP2022529524A (en) Consent regarding common personal information
US20240345726A1 (en)Using Multiple Security Protocols to Control Access to a Storage System
KR101954421B1 (en)Method for preventing real-time alteration of the data in WORM storage device based on hard disk or SSD
US12393706B2 (en)Classifying data and enforcing data access control using a context-based hierarchical policy
US11003786B2 (en)System and method to manage file access rights in an information handling system
RU2825554C1 (en)Method and system for controlling access to confidential information in operating system
RU2571380C2 (en)System and method of isolating resources using resource managers
US12111773B2 (en)Runtime protection of sensitive data
US11829387B2 (en)Similarity based digital asset management
US9141808B1 (en)Data loss prevention
US20210089681A1 (en)Creating research study corpus
US11675735B1 (en)File transfer prioritization during replication
US20220353298A1 (en)Embedded and distributable policy enforcement

[8]ページ先頭

©2009-2025 Movatter.jp