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

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

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

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

Библиографическое описание:
Лазарев А.С. ПРИМЕНЕНИЕ РАСШИРЕННЫХ АТРИБУТОВ НА LINUX ДЛЯ КОНТРОЛЯ ИЗМЕНЕНИЙ ФАЙЛОВ НА ПРИМЕРЕ ОС АЛЬТ // Студенческий: электрон. научн. журн. 2025. № 3(299). URL: https://sibac.info/journal/student/299/359264 (дата обращения: 31.01.2025).

ПРИМЕНЕНИЕ РАСШИРЕННЫХ АТРИБУТОВ НА LINUX ДЛЯ КОНТРОЛЯ ИЗМЕНЕНИЙ ФАЙЛОВ НА ПРИМЕРЕ ОС АЛЬТ

Лазарев Алексей Сергеевич

студент, кафедра комплексной безопасности критически важных объектов, Российский государственный университет нефти и газа (НИУ) им. И.М. Губкина,

РФ, г. Москва

Павловский Владимир Владимирович

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

преподаватель кафедры безопасности информационных технологий, Российский государственный университет нефти и газа (НИУ) им. И.М. Губкина,

РФ, г. Москва

​USING EXTENDED ATTRIBUTES ON LINUX TO CONTROL FILE CHANGES USING THE ALT OS AS AN EXAMPLE

 

Alexey Lazarev

student, Department of Integrated Security of Critical Facilities, Gubkin Russian State University of Oil and Gas,

Moscow, Russia

Vladimir Pavlovsky

scientific supervisor, Lecturer at the Department of Information Technology Security, Gubkin Russian State University of Oil and Gas,

Moscow, Russia

 

АННОТАЦИЯ

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

ABSTRACT

This article discusses the use of extended attributes to control file changes in the domestic Linux distribution of the ALT OS. In today's world, file change control is an important task in ensuring the security and integrity of operating systems, especially in corporate and mission-critical environments. The article examines extended attributes, discusses their advantages and disadvantages, and offers recommendations on how to use them.

 

Ключевые слова: расширенные атрибуты, контроль доступа, безопасность данных, отечественные дистрибутивы Linux, мониторинг, анализ безопасности, администрирование.

Keywords: advanced attributes, access control, data security, domestic Linux distributions, monitoring, security analysis, administration.

 

Контроль изменений файлов является важной задачей в обеспечении безопасности и целостности операционных систем, особенно в корпоративных и критически важных ИТ-средах. На платформе Linux существует множество инструментов и подходов для мониторинга и защиты данных, одним из которых является использование расширенных атрибутов (Extended Attributes, XATTR). Эти атрибуты позволяют добавлять к файлам метаданные, которые могут использоваться для управления доступом, аудита изменений и реализации других политик безопасности.

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

Расширенные атрибуты (Extended Attributes, XATTR) представляют собой пары имя:значение, которые постоянно связаны с файлами и каталогами, подобно тому как строки окружения связаны с процессом. Атрибут может быть определён или не определён. Если он определён, то его значение может быть или пустым, или не пустым. Расширенные атрибуты не описаны в POSIX.1, но некоторые другие системы (например, BSDs и Solaris) предоставляют аналогичную функцию [7].

XATTR, как часть файловой системы, поддерживается во многих файловых системах, таких как ext4, XFS, Btrfs и др. Благодаря этому механизм расширенных атрибутов активно используется в задачах безопасности, таких как контроль целостности, управление доступом и инвентаризация данных. В частности, он стал важным компонентом для систем, где требуется точная фиксация изменений и мониторинг доступа к данным. Соответственно, расширенные атрибуты поддерживаются в отечественных ОС Альт, Astra Linux и РЕД ОС.

Имена атрибутов представляют собой строки с null в конце. Имя атрибута всегда указывается в полной форме — пространство_имён.атрибут, например, user.mime_type, trusted.md5sum, system.posix_acl_access или security.selinux. В настоящее время определены следующие классы: security, system, trusted и user [7].

В ОС Альт, как и в других дистрибутивах Linux, поддержка расширенных атрибутов обеспечивается на уровне ядра и файловой системы. В качестве встроенной утилиты для управления расширенными атрибутами выступает пакет attr [11]. Также по умолчанию в ОС Альт есть пакет eiciel - графический редактор для списков управления доступом (ACL) и расширенных атрибутов (xattr), в виде расширения в Nautilus или автономной утилиты [10]. Каких-либо особенностей в реализации xattr в ОС Альт нами не обнаружено.

Среди преимущества использования расширенных атрибутов можно выделить:

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

2. Унификация доступа. Информация привязана к файлу на уровне файловой системы, а не на уровне конкретной программы. Другие программы могут не иметь сведений о формате файла, но при этом корректно работать с его метаинформацией. Ровно это происходит с существующим минимумом метаинформации в современных ОС: размер и время создания файла никак не зависят от формата.

3. Возможность добавления метаинформации, не предусмотренной форматом файла.

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

5. Минимизация издержек на аудиторские проверки. С XATTR администраторы могут настроить автоматическое журналирование и контроль изменений на уровне файловой системы, что снижает потребность в специализированных инструментах и упрощает процесс аудита. Хранение метаданных об изменениях и доступе в XATTR позволяет проводить аудиторские проверки с минимальными затратами времени и ресурсов, особенно в больших файловых системах.

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

К недостаткам и ограничениям можно отнести:

1. Размер списка имён атрибутов. Ядро и файловая система могут ограничивать максимальное количество и размер расширенных атрибутов, которые можно связать с файлом. VFS налагает ограничение на длину имени атрибута в 255 байт и на значение атрибута в 64 КБ. Размер возвращаемого списка имён атрибутов также ограничивается 64 КБ.

В текущих реализациях файловых систем ext2, ext3 и ext4 общее количество байт, используемое для имён и значений расширенных атрибутов всех файлов, должно помещаться в один блок файловой системы (1024, 2048 или 4096 байт, в зависимости от размера блока, указанного при создании файловой системы).

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

В реализациях файловых систем JFS, XFS и Reiserfs ограничение на количество байт, используемых для значения EA, задаётся потолком VFS.

В реализации файловой системы Btrfs общее количество байт, используемое для имени, значения и расходов реализации, ограничено значением файловой системы nodesize (по умолчанию 16 КБ) [7].

2. Совместимость между файловыми системами. Расширенные атрибуты могут не поддерживаться файловой системой или быть отключены [9].

3. Проблемы с безопасностью. В расширенные атрибуты может быть записан вредоносный код или любая другая полезная нагрузка [8].

4. Усложнение управления. При большом количестве файлов и активном использовании XATTR возрастает сложность администрирования и мониторинга атрибутов.

5. Ограниченное количество ПО для работы с ними. Использование расширенных атрибутов в рамках Windows невозможно. В Unix системах есть консольные утилиты, но всегда есть риск потери данных при неаккуратном их использовании, либо при применении не штатных средств ОС.

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

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

 

Рисунок 1. Пример метаданных файла

 

В рамках исследования применения расширенных атрибутов был проведен эксперимент на небольшой системе. Для апробации использовалась виртуальная машина с ОС Alt-workstation 10.2-x86_64, сервер NFS v.4, пользователь admin в качестве администратора и lazarev в качестве пользователя, а также bash-скрипты с вычислением хэш-суммы и сохранением её в атрибутах файла, и проверкой этой суммы. Также использовались метки user.hash, user.mtime.

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

Таблица 1.

Перечень утилит, используемых в работе

Операционная система

Версия

Ядро

Утилита

Версия утилиты

Альт Рабочая Станция

10.2

6.1.79-un-def-alt1

getfattr

2.5.1

setfattr

2.5.1

 

Эксперимент проводился следующим образом:

  1. Был запущен nfs-сервер с директорией 10.0.2.15:/srv/nfs/shared и смонтирован в директорию /home/lazarev/mnt/nfs_shared/ и /home/admin/mnt/nfs_shared/.

 

Рисунок 2. Список всех точек автомонтирования

 

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

 

Рисунок 3. Файловая структура примера

 

  1. Администратор с помощью скрипта save_attrs.sh сохраняет значения хэш-суммы, время и создателя файла в атрибутах.

 

Рисунок 4. Исполнение скрипта save_attrs.sh

 

Рисунок 5. Исполнение скрипта check_attrs.sh

 

  1. Пользователь lazarev редактирует файл annual_report.
  2. Администратор использует скрипт check_attrs.sh и видит, что файл был модифицирован.

 

Рисунок 6. Проверка файлов с помощью скрипта check_attrs.sh

 

  1. Далее администратор осуществляет перенос файла annual_report в новую папку project_3 обязательно с параметром -a (архивный режим) и верифицирует его.​

 

Рисунок 7. Перенос файла и проверка атрибутов

 

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

 

Рисунок 8. Использование скрипта для обхода проверки файлов

 

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

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

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

 

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

  1. Extended attributes // Arch Linux URL: https://wiki.archlinux.org/title/Extended_attributes (дата обращения: 30.10.2024).
  2. Using xattrs or Extended Attributes on Linux // Linux Audit URL: https://linux-audit.com/using-xattrs-extended-attributes-on-linux/ (дата обращения: 30.10.2024).
  3. attr (1) // OpenNet URL: https://www.opennet.ru/man.shtml?topic=attr&category=1&russian=2 (дата обращения: 30.10.2024).
  4. Описание функциональных характеристик // ОПЕРАЦИОННАЯ СИСТЕМА АЛЬТ РАБОЧАЯ СТАНЦИЯ 10.2 URL: https://www.basealt.ru/fileadmin/user_upload/manual/Alt_Workstation_functional_p10.pdf (дата обращения: 09.11.2024).
  5. Работа с расширенными атрибутами: attr, getfattr/setfattr, xattr // Справочный центр Astra Linux URL: https://wiki.astralinux.ru/pages/viewpage.action?pageId=149063848 (дата обращения: 09.11.2024).
  6. Руководство администратора // Операционная система «РЕД ОС» URL: https://www.volgograd.ru/tutorials/importozameshchenie/docs/РЕД_ОС_Руководство_администратора.pdf (дата обращения: 09.11.2024).
  7. Расширенные атрибуты // Manpages.org URL: https://ru.manpages.org/xattr/7 (дата обращения: 09.11.2024).
  8. Extended attributes as a vulnerability // The Eclectic Light Company Macs, painting, and more URL: https://eclecticlight.co/2020/11/07/extended-attributes-as-a-vulnerability/ (дата обращения: 09.11.2024).
  9. listxattr(2) // Manpages.org URL: https://manpages.ubuntu.com/manpages/noble/ru/man2/listxattr.2.html (дата обращения: 09.11.2024).
  10. Пакет eiciel: Информация // packages.altlinux.org URL: https://packages.altlinux.org/ru/p9_e2k/srpms/eiciel/ (дата обращения: 13.11.2024).
  11. Пакет attr: Информация // packages.altlinux.org URL: https://packages.altlinux.org/ru/sisyphus/srpms/attr/ (дата обращения: 13.11.2024).
  12. Руководство_администратора_по_РЕД_ОС_8 // redos.red-soft.ru URL: https://redos.red-soft.ru/docs/Руководство_администратора_по_РЕД_ОС_8.pdf (дата обращения: 03.12.2024).
  13. Гелич, К. А. Поддержка файловой системы в Linux (ext4 и пр.) / К. А. Гелич, Ф. А. Огородников, А. Г. Уймин // Международный журнал информационных технологий и энергоэффективности. – 2024. – Т. 9, № 8(46). – С. 105-114. – EDN BCBSZS.

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