Имя файла. Имя файла состоит из двух частей, разделенных точкой: собственно имя файла и расширение, определяющее его тип (программа, данные и так далее). Собственно имя файлу дает пользователь, а тип файла обычно задается программой автоматически при его создании.
В различных операционных системах существуют различные форматы имен файлов. В операционной системе MS-DOS собственно имя файла должно содержать не более 8 букв латинского алфавита, цифр и некоторых специальных знаков, а расширение состоит из трех латинских букв, например: proba.txt
В операционной системе Windows имя файла может иметь длину до 255 символов, причем можно использовать русский алфавит, например: Единицы измерения информации.doc
Таблица 1.1. Типы файлов и расширений
Программы на языках программирования
Таблица 1.2. Одноуровневый каталог
Имя файла
Номер начального сектора
Файл_1
56
Файл_2
89
Файл_112
1200
Начальный, корневой каталог содержит вложенные каталоги 1-го уровня, в свою очередь, каждый из последних может содержать вложенные каталоги 2-го уровня и так далее. Необходимо отметить, что в каталогах всех уровней могут храниться и файлы.
Файловая система– это система хранения файлов и организации каталогов.
Рис. 1.3. Иерархическая файловая система
Рис. 1.4. Пример иерархической файловой системы
Путь к файлу вместе с именем файла называют иногда полным именем файла.
Пример полного имени файла:
Однако иерархическая структура этих систем несколько различается. В иерархической файловой системе MS-DOS вершиной иерархии объектов является корневой каталог диска, который можно сравнить со стволом дерева, на котором растут ветки (подкаталоги), а на ветках располагаются листья (файлы).
Рис. 1.5. Иерархическая структура папок
Если мы хотим ознакомиться с ресурсами компьютера, необходимо открыть папку Мой компьютер.
1. В окне Мой компьютер находятся значки имеющихся в компьютере дисков. Активизация (щелчок) значка любого диска выводит в левой части окна информацию о его емкости, занятой и свободной частях.
Рядовому пользователю компьютерных электронных устройств редко, но приходится сталкиваться с таким понятием, как «выбор файловой системы». Чаще всего это происходит при необходимости форматирования внешних накопителей (флешек, microSD), установке операционных систем, восстановлении данных на проблемных носителях, в том числе жестких дисках. Пользователям Windows предлагается выбрать тип файловой системы, FAT32 или NTFS, и способ форматирования (быстрое/глубокое). Дополнительно можно установить размер кластера. При использовании ОС Linux и macOS названия файловых систем могут отличаться.
Возникает логичный вопрос: что такое файловая система и в чем ее предназначение? В данной статье дадим ответы на основные вопросы касательно наиболее распространенных ФС.
Что такое файловая система
Обычно вся информация записывается, хранится и обрабатывается на различных цифровых носителях в виде файлов. Далее, в зависимости от типа файла, кодируется в виде знакомых расширений – *exe, *doc, *pdf и т.д., происходит их открытие и обработка в соответствующем программном обеспечении. Мало кто задумывается, каким образом происходит хранение и обработка цифрового массива в целом на соответствующем носителе.
Операционная система воспринимает физический диск хранения информации как набор кластеров размером 512 байт и больше. Драйверы файловой системы организуют кластеры в файлы и каталоги, которые также являются файлами, содержащими список других файлов в этом каталоге. Эти же драйверы отслеживают, какие из кластеров в настоящее время используются, какие свободны, какие помечены как неисправные.
Запись файлов большого объема приводит к необходимости фрагментации, когда файлы не сохраняются как целые единицы, а делятся на фрагменты. Каждый фрагмент записывается в отдельные кластеры, состоящие из ячеек (размер ячейки составляет один байт). Информация о всех фрагментах, как части одного файла, хранится в файловой системе.
Файловая система связывает носитель информации (хранилище) с прикладным программным обеспечением, организуя доступ к конкретным файлам при помощи функционала взаимодействия программ A PI. Программа, при обращении к файлу, располагает данными только о его имени, размере и атрибутах. Всю остальную информацию, касающуюся типа носителя, на котором записан файл, и структуры хранения данных, она получает от драйвера файловой системы.
На физическом уровне драйверы ФС оптимизируют запись и считывание отдельных частей файлов для ускоренной обработки запросов, фрагментации и «склеивания» хранящейся в ячейках информации. Данный алгоритм получил распространение в большинстве популярных файловых систем на концептуальном уровне в виде иерархической структуры представления метаданных (B-trees). Технология снижает количество самых длительных дисковых операций – позиционирования головок при чтении произвольных блоков. Это позволяет не только ускорить обработку запросов, но и продлить срок службы HDD. В случае с твердотельными накопителями, где принцип записи, хранения и считывания информации отличается от применяемого в жестких дисках, ситуация с выбором оптимальной файловой системы имеет свои нюансы.
Основные функции файловых систем
Файловая система отвечает за оптимальное логическое распределение информационных данных на конкретном физическом носителе. Драйвер ФС организует взаимодействие между хранилищем, операционной системой и прикладным программным обеспечением. Правильный выбор файловой системы для конкретных пользовательских задач влияет на скорость обработки данных, принципы распределения и другие функциональные возможности, необходимые для стабильной работы любых компьютерных систем. Иными словами, это совокупность условий и правил, определяющих способ организации файлов на носителях информации.
Основными функциями файловой системы являются:
Задачи файловой системы
Функционал файловой системы нацелен на решение следующих задач:
В многопользовательских системах реализуется задача защиты файлов от несанкционированного доступа, обеспечение совместной работы. При открытии файла одним из пользователей для других этот же файл временно будет доступен в режиме «только чтение».
Вся информация о файлах хранится в особых областях раздела (томах). Структура справочников зависит от типа файловой системы. Справочник файлов позволяет ассоциировать числовые идентификаторы уникальных файлов и дополнительную информацию о них с непосредственным содержимым файла, хранящимся в другой области раздела.
Операционные системы и типы файловых систем
Существует три основных вида операционных систем, используемых для управления любыми информационными устройствами: Windows компании Microsoft, macOS разработки Apple и операционные системы с открытым исходным кодом на базе Linux. Все они, для взаимодействия с физическими носителями, используют различные типы файловых систем, многие из которых дружат только со «своей» операционкой. В большинстве случаев они являются предустановленными, рядовые пользователи редко создают новые дисковые разделы и еще реже задумываются об их настройках.
В случае с Windows все выглядит достаточно просто: NTFS на всех дисковых разделах и FAT32 (или NTFS) на флешках. Если установлен NAS (сервер для хранения данных на файловом уровне), и в нем используется какая-то другая файловая система, то практически никто не обращает на это внимания. К нему просто подключаются по сети и качают файлы.
На мобильных гаджетах с ОС Android чаще всего установлена ФС версии ext4 во внутренней памяти и FAT32 на карточках microSD. Владельцы продукции Apple зачастую вообще не имеют представления, какая файловая система используется на их устройствах – HFS+, HFSX, APFS, WTFS или другая. Для них существуют лишь красивые значки папок и файлов в графическом интерфейсе.
Более богатый выбор у линуксоидов. Но здесь настройка и использование определенного типа файловой системы требует хотя бы минимальных навыков программирования. Тем более, мало кто задумывается, можно ли использовать в определенной ОС «неродную» файловую систему. И зачем вообще это нужно.
Рассмотрим более подробно виды файловых систем в зависимости от их предпочтительного использования с определенной операционной системой.
Файловые системы Windows
Исходный код файловой системы, получившей название FAT, был разработан по личной договоренности владельца Microsoft Билла Гейтса с первым наемным сотрудником компании Марком Макдональдом в 1977 году. Основной задачей FAT была работа с данными в операционной системе Microsoft 8080/Z80 на базе платформы MDOS/MIDAS. Файловая система FAT претерпела несколько модификаций – FAT12, FAT16 и, наконец, FAT32, которая используется сейчас в большинстве внешних накопителей. Основным отличием каждой версии является преодоление ограниченного объема доступной для хранения информации. В дальнейшем были разработаны еще две более совершенные системы обработки и хранения данных – NTFS и ReFS.
FAT (таблица распределения файлов)
Числа в FAT12, FAT16 и FAT32 обозначают количество бит, используемых для перечисления блока файловой системы. FAT32 является фактическим стандартом и устанавливается на большинстве видов сменных носителей по умолчанию. Одной из особенностей этой версии ФС является возможность применения не только на современных моделях компьютеров, но и в устаревших устройствах и консолях, снабженных разъемом USB.
Пространство FAT32 логически разделено на три сопредельные области:
К недостатком стандарта FAT32 относится ограничение размера файлов на диске до 4 Гб и всего раздела в пределах 8 Тб. По этой причине данная файловая система чаще всего используется в USB-накопителях и других внешних носителях информации. Для установки последней версии ОС Microsoft Windows 10 на внутреннем носителе потребуется более продвинутая файловая система.
С целью устранения ограничений, присущих FAT32, корпорация Microsoft разработала обновленную версию файловой системы exFAT (расширенная таблица размещения файлов). Новая ФС очень схожа со своим предшественником, но позволяет пользователям хранить файлы намного большего размера, чем четыре гигабайта. В exFAT значительно снижено число перезаписей секторов, ответственных за непосредственное хранение информации. Функция очень важна для твердотельных накопителей ввиду необратимого изнашивания ячеек после определенного количества операций записи. Продукт exFAT совместим с операционными системами Mac, Android и Windows. Для Linux понадобится вспомогательное программное обеспечение.
NTFS (файловая система новой технологии)
Стандарт NTFS разработан с целью устранения недостатков, присущих более ранним версиям ФС. Впервые он был реализован в Windows NT в 1995 году, и в настоящее время является основной файловой системой для Windows. Система NTFS расширила допустимый предел размера файлов до шестнадцати гигабайт, поддерживает разделы диска до 16 Эб (эксабайт, 10 18 байт ). Использование системы шифрования Encryption File System (метод «прозрачного шифрования») осуществляет разграничение доступа к данным для различных пользователей, предотвращает несанкционированный доступ к содержимому файла. Файловая система позволяет использовать расширенные имена файлов, включая поддержку многоязычности в стандарте юникода UTF, в том числе в формате кириллицы. Встроенное приложение проверки жесткого диска или внешнего накопителя на ошибки файловой системы chkdsk повышает надежность работы харда, но отрицательно влияет на производительность.
ReFS (Resilient File System)
Все это позволяет повысить надежность хранения файлов, обеспечивает быстрое и легкое восстановление данных.
Файловые системы macOS
Для операционной системы macOS компания Apple использует собственные разработки файловых систем:
Файловые системы Linux
В отличие от ОС Windows и macOS, ограничивающих выбор файловой системы предустановленными вариантами, Linux предоставляет возможность использования нескольких ФС, каждая из которых оптимизирована для решения определенных задач. Файловые системы в Linux используются не только для работы с файлами на диске, но и для хранения данных в оперативной памяти или доступа к конфигурации ядра во время работы системы. Все они включены в ядро и могут использоваться в качестве корневой файловой системы.
Основные файловые системы, используемые в дистрибутивах Linux:
Ext2, Ext3, Ext4 или Extended Filesystem – стандартная файловая система, первоначально разработанная еще для Minix. Содержит максимальное количество функций и является наиболее стабильной в связи с редкими изменениями кодовой базы. Начиная с ext3 в системе используется функция журналирования. Сегодня версия ext4 присутствует во всех дистрибутивах Linux.
JFS или Journaled File System разработана в IBM в качестве альтернативы для файловых систем ext. Сейчас она используется там, где необходима высокая стабильность и минимальное потребление ресурсов (в первую очередь в многопроцессорных компьютерах). В журнале хранятся только метаданные, что позволяет восстанавливать старые версии файлов после сбоев.
ReiserFS также разработана в качестве альтернативы ext3, поддерживает только Linux. Динамический размер блока позволяет упаковывать несколько небольших файлов в один блок, что предотвращает фрагментацию и улучшает работу с небольшими файлами. Недостатком является риск потери данных при отключении энергии.
XFS рассчитана на файлы большого размера, поддерживает диски до 2 терабайт. Преимуществом системы является высокая скорость работы с большими файлами, отложенное выделение места, увеличение разделов на лету, незначительный размер служебной информации. К недостаткам относится невозможность уменьшения размера, сложность восстановления данных и риск потери файлов при аварийном отключении питания.
Btrfs или B-Tree File System легко администрируется, обладает высокой отказоустойчивостью и производительностью. Используется как файловая система по умолчанию в OpenSUSE и SUSE Linux.
Другие ФС, такие как NTFS, FAT, HFS, могут использоваться в Linux, но корневая файловая система на них не устанавливается, поскольку они для этого не предназначены.
Дополнительные файловые системы
В операционных системах семейства Unix BSD (созданы на базе Linux) и Sun Solaris чаще всего используются различные версии ФС UFS (Unix File System), известной также под названием FFS (Fast File System). В современных компьютерных технологиях данные файловые системы могут быть заменены на альтернативные: ZFS для Solaris, JFS и ее производные для Unix.
Кластерные файловые системы включают поддержку распределенных хранилищ, расширяемость и модульность. К ним относятся:
Практический пример использования файловых систем
Владельцы мобильных гаджетов для хранения большого объема информации используют дополнительные твердотельные накопители microSD (HC), по умолчанию отформатированные в стандарте FAT32. Это является основным препятствием для установки на них приложений и переноса данных из внутренней памяти. Чтобы решить эту проблему, необходимо создать на карточке раздел с ext3 или ext4. На него можно перенести все файловые атрибуты (включая владельца и права доступа), чтобы любое приложение могло работать так, словно запустилось из внутренней памяти.
Надеюсь, краткий обзор основных ФС поможет решить практические задачи в части правильного выбора и настройки ваших компьютерных устройств в повседневной практике.
Как невидимые данные электронных документов приводят к реальным проблемам
Самые опасные утечки конфиденциальных данных — это те, о которых люди даже не подозревают.
Минутка риторики. IT-угрозы какого типа опасны для корпораций и небольших компаний, правительств стран и отдельных людей? Утечки конфиденциальных данных. Какие утечки сложнее всего предотвратить? Те, о возможности которых жертвы даже не подозревают.
Не подозревают они, кроме всего прочего, о метаданных, легко превращающих обыкновенный электронный документ в ценный компрометирующий материал.
Метаданные в документах: какие они бывают
Начнем с теории. По классификации, используемой американской Фемидой, выделяют три категории метаданных:
1. Метаданные приложений. Они добавляются в файл приложением, в котором он создается, и хранят внесенные пользователем в документ изменения: журнал сделанных правок, комментарии.
2. Системные метаданные. Включают имя автора, название и размер файла, даты создания, изменения и так далее.
3. Внедренные метаданные. Сюда относятся формулы в ячейках электронных таблиц, гиперссылки, связанные файлы. К этой же категории причисляют и EXIF-метаданные графических файлов — о них мы уже рассказывали подробно.
Как написала по следам скандала BBC, в итоге правительство Великобритании для публикации документов вместо формата DOC предпочло использовать PDF, несущий меньше метаданных.
Любопытную историю разоблачения с помощью метаданных рассказали в 2015 году сотрудники американской юридической компании Venable. К ним обратилась некая компания, из которой уволился вице-президент. Вскоре у этой компании сорвался госконтракт — его с помощью уволившегося сотрудника получила конкурирующая организация.
Бывший работодатель заподозрил перебежчика в краже коммерческих секретов, которые и помогли конкуренту получить контракт с американским правительством. В защиту носитель тайны и его новая компания представили документ, содержащий аналогичное коммерческое предложение, но уже в адрес иностранного государства. По их утверждению, оно было подготовлено раньше, чем был объявлен конкурс в США, предназначалось для другого заказчика и потому не угрожало интересам «кинутой» компании.
Вывести злоумышленников на чистую воду позволила обнаруженная в предоставленном файле «временная аномалия». Согласно системным метаданным документа, последнее сохранение файла произошло раньше, чем последняя печать, чего, как признали эксперты с обеих сторон, не могло быть. (Дело в том, что дата последней печати относится к категории метаданных приложения и сохраняется в документе только при сохранении самого файла. Если документ напечатать, а файл после этого не сохранить, новая дата печати в него не запишется.)
Второе доказательство подделки файла заключалось в дате его создания на корпоративном сервере: он был создан уже после начала разбирательства. Кроме того, ответчиков уличили в манипуляции с датами последней модификации файлов формата OLM (файл почтовой базы Microsoft Outlook для Mac).
Скрытные файлы
Богатый выбор средств сбора конфиденциальной информации предоставляют приложения Microsoft Office. Например, в примечаниях к тексту могут быть записаны дополнительные сведения, не предназначенные для публикации. Встроенный в Word механизм учета изменений, который отмечает на полях вносимые в документ правки, тоже может быть полезен «шпиону». Если выбрать опцию «Показать измененный документ», то примечания и список изменений с экрана пропадут, но останутся в файле ждать наблюдательного читателя.
А еще есть заметки к слайдам презентаций, скрытые столбцы в электронных таблицах…
Кстати, попытки спрятать информацию без знания матчасти тоже чреваты. В качестве примера можно рассмотреть опубликованный на сайте CBSLocal документ судебной тяжбы между правительством США и бывшим губернатором Иллинойса Родом Благоевичем о вызове в качестве свидетеля Барака Обамы, датированный 2010 годом.
Часть текста скрыта от любопытствующих глаз черными прямоугольниками. Но можно выделить мышкой все строки, скопировать их в буфер обмена и вставить в текстовый редактор. Теперь можно прочитать весь текст.
Черные прямоугольники в PDF помогут спрятать информацию при печати, но в электронном виде обойти их проще простого
Файлы с двойным дном
Отдельная песня — внедренные в документ данные внешних файлов.
Скачиваем файл, отключаем защиту документа от редактирования (пароль не требуется). На странице 41 — обычная с виду диаграмма. В контекстном меню диаграммы выбираем команду «Изменить данные», и перед нами в первозданном виде открывается внедренный файл Microsoft Excel, содержащий исходные данные для диаграммы.
Файл Word с отчетом, а внутри — файл Excel с множеством исходных данных для этой и других диаграмм
Понятно, что в таких внедренных файлах может быть практически все что угодно, ведь тому, кто публиковал исходный документ, наверняка казалось, что это никто не увидит.
Урожай метаданных
«Выжимка» метаданных из документов интересующей организации может быть автоматизирована — например, с помощью программы FOCA (Fingerprinting Organizations with Collected Archives) компании ElevenPaths.
FOCA может найти и загрузить с исследуемого сайта документы нужных форматов (например, DOCX и PDF), проанализировать их метаданные, а также рассказать многое об организации: используемое серверное ПО, имена пользователей и так далее.
Предостережение: изучение сайтов с помощью подобных инструментов даже в исследовательских целях может не понравиться их владельцам, а то и вовсе сойти за киберпреступление.
Документированные странности
Предлагаем пару особенностей метаданных, о которых, по нашим наблюдениям, знает не каждый IT-специалист. Возьмем для примера файловую систему NTFS, используемую операционными системами Windows.
Первая неочевидная вещь. Если удалить какой-либо файл из папки и сразу сохранить новый файл с тем же именем в эту же папку, то дата создания нового файла останется от старого, удаленного файла. То есть файл мы создали только что, но система уверяет, что он существует уже давно.
Вторая неочевидная вещь. NTFS среди прочего хранит дату последнего доступа к файлу. Однако если открыть файл, а потом посмотреть дату доступа к нему в свойствах, то можно увидеть, что она осталась неизменной.
Может даже показаться, что это баги, но нет: обе странности являются документированными особенностями. В первом случае работает так называемый механизм туннелирования (англ. tunneling), который нужен для совместимости со старыми программами. По умолчанию эффект длится 15 секунд, в течение которых новый файл получает дату создания своего предшественника (настроить этот интервал или вовсе отключить туннелирование можно в реестре). Впрочем, этого хватило, чтобы я сам столкнулся с туннелированием дважды в течение недели при обычной офисной работе.
Второй случай тоже описан в документации: начиная с Windows 7, для повышения производительности Microsoft отключила автоматическую простановку даты последнего доступа к файлу. Включить эту функцию можно в реестре. Впрочем, ее активация не имеет обратной силы — файловая система правильную дату не хранит (проверено низкоуровневым редактором диска).
Надеемся, эксперты по цифровой криминалистике знают все подобные нюансы.
К слову, метаданные файлов могут быть легко изменены как штатными средствами ОС и «родных» приложений, так и с помощью специальных программ. Поэтому использовать их как решающее доказательство в суде вряд ли получится, разве что вместе с сопутствующими свидетельствами вроде журналов почтовых сервисов, файловых серверов и так далее.
Метаданные: защитные меры
В приложения Microsoft Office встроена функция «Инспектор документов» (меню Файл —> Поиск проблем), которая показывает, какие скрытые данные хранятся в файле. Часть из них «Инспектор» может по запросу пользователя удалить, но только не внедренные файлы (как в упомянутом отчете министерства образования США). Вообще же лучше вставлять диаграммы и другие материалы в итоговый документ в виде картинок.
Аналогичные функции удаления метаданных имеет и редактор Adobe Acrobat.
Кроме того, защита от утечек реализуется и в комплексных пакетах информационной безопасности. Так, модуль DLP (Data Loss Prevention) присутствует в Kaspersky Total Security для бизнеса, Kaspersky Security для почтовых серверов и Kaspersky Security для серверов совместной работы. Эти продукты умеют фильтровать такие нежелательные для попадания вовне вещи, как история изменения документа, комментарии и внедренные объекты.
Но идеальный (и, как это и положено идеалам, на все 100% недостижимый) способ побороть любые утечки — это обученные, думающие и ответственные сотрудники.