Найти в Дзене

Структура паспорта каротажного файла .sfp посмотровщика Sigma Carottage Preview.

Текущая статья не является практическим руководством или руководством к действию. Представленный материал представлен исключительно в образовательных целях и несёт в себе концепцию «пища для размышления» не нарушая авторского и/или смежного права. Повторять описанные процессы не рекомендуется. Часть материала может быть полезна инженерам занимающихся различными вопросами и проблемами криптологии. Некоторые материалы, находящиеся в теле статьи, являются собственностью их многоуважаемых авторов. Статья не претендует на полноту. Некоторые значения и параметры были сознательно изменены. В процессе получения данных каротажа, с использованием ПО Sigma, получают данные в формате описанном в этой публикации. Внешний вид программы просмотровщика представлен ниже. Данные каротажа поступая с прибора измеряющего геофизические параметры попадает к заказчику через цепь посредников, таким образом целостность и аутентичность данных полученных с прибора контролировать классическими средствами достаточн
Оглавление
Текущая статья не является практическим руководством или руководством к действию. Представленный материал представлен исключительно в образовательных целях и несёт в себе концепцию «пища для размышления» не нарушая авторского и/или смежного права. Повторять описанные процессы не рекомендуется. Часть материала может быть полезна инженерам занимающихся различными вопросами и проблемами криптологии. Некоторые материалы, находящиеся в теле статьи, являются собственностью их многоуважаемых авторов. Статья не претендует на полноту. Некоторые значения и параметры были сознательно изменены.

Вступление

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

Рисунок 1. - Внешний вид и версия просмотровщика Sigma Carottage Preview.
Рисунок 1. - Внешний вид и версия просмотровщика Sigma Carottage Preview.

Данные каротажа поступая с прибора измеряющего геофизические параметры попадает к заказчику через цепь посредников, таким образом целостность и аутентичность данных полученных с прибора контролировать классическими средствами достаточно сложно или дорого. Заказчик хочет быть уверенным что он получает именно то за что платит. При передаче данных в классическом формате, например .LAS или .DAT, или любого другого открытого формата, возможна намеренное или случайное изменение структуры, что повлечет за собой непредсказуемые последствия.

Рисунок 2. - Схема пример передачи каротажных данных.
Рисунок 2. - Схема пример передачи каротажных данных.

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

Извлечение данных и аутентичность

Если есть исходный .SFP (Sigma File Passport), то используя просмотровщик можно или открыть файл для просмотра, или извлечь (расшифровать) из него .DAT файл.

Рисунок 3. - Расшифровка исходного .SFP файла через контекстное меню.
Рисунок 3. - Расшифровка исходного .SFP файла через контекстное меню.

Если произвести расшифровку, то рядом окажется файл .DAT.

Рисуно 4. - Расшифровка .SFP файла.
Рисуно 4. - Расшифровка .SFP файла.
Рисунок 5. - Высплывающая подсказка .DAT файла.
Рисунок 5. - Высплывающая подсказка .DAT файла.

Всплывающая подсказка покажет шапку файла с сообщением что файл прошел проверку. Для .DAT файла файл .SFP является паспортом, удостоверяющим аутентичность.

Рисунок 6. - Всплывающая подсказка не аутентичного файла.
Рисунок 6. - Всплывающая подсказка не аутентичного файла.

Если в файле .DAT изменить хотя бы один бит, всплывающая подсказка скажет что "ФАЙЛ ПОДДЕЛАН!". Хотя открыть его можно так же как и оригинальный файл.

Паспорт

Какова же структура паспорта? Исходя из того что можно расшифровать .SFP и получить .DAT можно сделать вывод что .SFP содержит в себе полное содержание. Сравнение длин файлов указывает что .SFP длиннее .DAT на 21 байт.

Рисунок 7. - Содержимое .DAT файла.
Рисунок 7. - Содержимое .DAT файла.
Рисунок 8. - Содержимое .SFP файла.
Рисунок 8. - Содержимое .SFP файла.

Если пропустить первые 21 байт .SFP файла, то последующий код полностью повторяет код .DAT файла с преобразованием. Анализ и сопоставление данных которые удалось собрать из файлов показало, что таблица соответствия преобразований имеет вид.

Рисунок 9. - Таблица преобразований.
Рисунок 9. - Таблица преобразований.

Что представляет собой классический аффинный шифр, или шифр подстановок. Дальнейший анализ показал что алгоритм подстановок выглядит как операция инверсии или исключающего ИЛИ (XOR) над 1 и 4 битом младшего байта ASCII кода.

Для преобразования сразу двух бит можно использовать инструкцию XOR $9.
Рисунок 10. - Операция подстановки младшего бита.
Рисунок 10. - Операция подстановки младшего бита.

Такой подход позволяет сохранить целостность но в тоже время скрыть читаемость данных.

Осталось провести анализ первых 21 байт. Из структуры на рисунке 8 видно, что байты 18-21 содержат расширение исходного файла. Имя остаётся прежнее. Эксперименты с форматом .LAS показали, что просмотровщик SIGMA Carottage Preview с таким же успехом извлекает и .LAS формат. Другие эксперименты проводились c различными видами и длинами расширений. Вывод, из .SFP формата просмотровщик может извлекать все доступные для просмотровщика форматы, с тем же алгоритмом кодирования.

В 17 бите находится длина расширения по умолчанию равная 4 , по умолчанию это точка и три знака. Однако поддерживаются и короткие (менее 3 символов) и длинные расширения. Длина расширения указывается в шестнадцатеричном формате. Тесты прошли с предельным расширением в 254 символа.

Рисунок 11. - Структура шапки шифрованного файла.
Рисунок 11. - Структура шапки шифрованного файла.

ХЕШ-значение формируется достаточно древним но не потерявшим актуальность 128 битным алгоритмом Ривеста. Общая схема получения ХЭШ-значения приведена на рисунке 12.

Рисунок 12. - Алгоритм Ривеста.
Рисунок 12. - Алгоритм Ривеста.

Алгоритм легко поддаётся атакам brute-force, однако в данном случаем его использование оправдано. Таким образом проверяется целостность данных. И извлекаются целевые данные.