Описать что такое идентификация файлов

Обновлено: 04.07.2024

Различие между этими процедурами знают технические специалисты, но в современном цифровом пространстве такие знания полезны каждому пользователю.

С помощью этих знаний можно ответить на один из частых вопросов: "Чем отличается идентификация пользователя от идентификации личности?"

Идентификация - это процедура выявления уникального идентификатора, однозначно определяющего субъекта в информационной системе.

При идентификации личности требуется установить данные, однозначно определяющие личность в системе, например, номер паспорта (разумеется при предъявлении самого паспорта идентифицируемым лицом).

Идентификация - совокупность мероприятий по установлению определенных настоящим Федеральным законом сведений о клиентах, их представителях, выгодоприобретателях, бенефициарных владельцах и подтверждению достоверности этих сведений с использованием оригиналов документов и (или) надлежащим образом заверенных копий и (или) государственных и иных информационных систем.

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

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

После успешной аутентификации пользователя наступает этап авторизации - предоставление определенному лицу или группе лиц прав на выполнение определенных действий, например, доступ к данным и функциям аккаунта.

Авторизация возможна без прохождения двух предыдущих этапов идентификации и аутентификации . Каждый пользователь Интернета, посещающий какой-либо сайт, проходит процедуру авторизации. Сервер, на котором хранятся страницы сайта (web-файлы), создаёт по запросу пользователя сессию и предоставляет пользовательской программе-браузеру доступ к своим файлам.

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

Другие статьи этого канала из серии "Знатоки информационного права":

3 февраля 2021 года.

Автор: Демешин Сергей Владимирович (юрист).

Участвуйте в обсуждении , соблюдайте правила комментирования публикаций, указанные на главной странице этого канала.

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

21 сентября 2020

Идентификация, аутентификация и авторизация: серьезные определения

  • Идентификация — процедура, в результате выполнения которой для субъекта идентификации выявляется его идентификатор, однозначно определяющий этого субъекта в информационной системе.
  • Аутентификация — процедура проверки подлинности, например проверка подлинности пользователя путем сравнения введенного им пароля с паролем, сохраненным в базе данных.
  • Авторизация — предоставление определенному лицу или группе лиц прав на выполнение определенных действий.

Объясняем идентификацию, аутентификацию и авторизацию на енотах

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

  • Для начала система запрашивает логин, пользователь его указывает, система распознает его как существующий — это идентификация.
  • После этого Google просит ввести пароль, пользователь его вводит, и система соглашается, что пользователь, похоже, действительно настоящий, раз пароль совпал, — это аутентификация.
  • Скорее всего, Google дополнительно спросит еще и одноразовый код из SMS или приложения. Если пользователь и его правильно введет, то система окончательно согласится с тем, что он настоящий владелец аккаунта, — это двухфакторная аутентификация.
  • После этого система предоставит пользователю право читать письма в его почтовом ящике и все в таком духе — это авторизация.

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

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

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

А вот если бы вы открыли этот документ для чтения только определенным пользователям, то еноту в таком случае сперва пришлось бы идентифицироваться (ввести свой логин), потом аутентифицироваться (ввести пароль и одноразовый код) и только потом получить право на чтение документа — авторизоваться.

А уж если речь идет о содержимом вашего почтового ящика, то Google никогда и ни за что не авторизует неопознанного енота на чтение вашей переписки — если, конечно, он не идентифицируется с вашим логином и не аутентифицируется с вашим паролем. Но тогда это уже не будет неопознанный енот, поскольку Google однозначно определит этого енота как вас.

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

  • Идентификация и аутентификация;
  • Контроль и управление доступом;
  • Протоколирование и аудит;
  • Шифрование:
  • Контроль целостности;
  • Экранирование.

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

Идентификатор –уникальный набор символов, однозначно соответствующий объекту или субъекту в данной системе .

Идентификация – распознавание участника процесса информационного взаимодействия (ИВ) перед тем, как к нему будут применены какие-либо аспекты ИБ.

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

Аутентификация – обеспечение уверенности в том, что участник ИВ идентифицирован верно.

Профиль – набор установок и конфигураций для данного субъекта или объекта и определяющий его работу в ИС.

Авторизация – формирование профиля прав для конкретного участника ИВ.

Субъект может подтвердить свою подлинность, предъявив по крайней мере одну из следующих сущностей:

  • нечто, что он знает (пароль, криптографический ключ и т.п.);
  • нечто, чем он владеет (электронный ключ, смарт-карта и т.п.);
  • нечто, что есть часть его самого (свои биометрические характеристики).

Аутентификация бывает односторонней (обычно субъект доказывает свою подлинность системе) и двусторонней (взаимной).

Надежная идентификация и аутентификация затруднена по целому ряду причин.

  • В ИС между сторонами может не существовать доверенного маршрута; это значит, что в общем случае данные, переданные субъектом, могут не совпадать с данными, полученными и использованными для проверки подлинности.
  • Почти все аутентификационные сущности можно узнать, украсть или подделать.
  • Имеется противоречие между надежностью аутентификации, с одной стороны, и удобствами субъекта с другой. Так, из соображений безопасности необходимо с определенной частотой просить пользователя повторно вводить аутентификационную информацию.
  • Чем надежнее средство защиты, тем оно дороже.

Главное достоинство парольной аутентификации – простота. Недостаток – это самое слабое средство проверки подлинности.

Основные нарушения при создании и использовании паролей:

Меры, позволяющие повысить надежность парольной защиты:

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

Пусть имеется односторонняя функция f (то есть функция, вычислить обратную которой за приемлемое время не представляется возможным). Эта функция известна и пользователю, и серверу аутентификации.

Пусть имеется секретный ключ K, известный только пользователю.

На этапе начального администрирования пользователя функция f применяется к ключу K n-раз, после чего результат сохраняется на сервере.

После этого процедура проверки подлинности пользователя выглядит следующим образом:

  1. сервер присылает на пользовательскую систему число (n-1);
  2. пользователь применяет функцию f к секретному ключу K (n-1) раз и отправляет результат по сети на сервер аутентификации;
  3. сервер применяет функцию f к полученному от пользователя значению и сравнивает результат с ранее сохраненной величиной. В случае совпадения подлинность пользователя считается установленной, сервер запоминает новое значение (присланное пользователем) и уменьшает на единицу счетчик (n).

Поскольку функция f необратима, перехват пароля и получение доступа к серверу аутентификации, не позволяют узнать секретный ключ K и предсказать следующий одноразовый пароль.

Другой подход к реализации одноразовых паролей состоит в генерации нового пароля через небольшой промежуток времени (например, каждые 60 секунд), для чего могут использоваться программы или smart-карты. Для этого необходимо выполнение условий:

Сервер аутентификации должен знать алгоритм генерации паролей и ассоциированные с ним параметры;

Часы клиента и сервера должны быть синхронизированы.

Аутентификация с использованием токенов в озможна в следующих вариантах:

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

Аутентификация с помощью биометрических данных

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

К числу физиологических характеристик принадлежат особенности:

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

К характеристикам, включающим физиологию и поведение относят анализ особенностей голоса и распознавание речи.

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

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

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

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

Биометрия подвержена тем же угрозам, что и другие методы аутентификации.

Биометрический шаблон сравнивается не с результатом первоначальной обработки характеристик пользователя, а с тем, что пришло к месту сравнения.

Биометрические методы не более надежны, чем база данных шаблонов.

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

Биометрические данные человека меняются, так что база шаблонов нуждается в сопровождении.

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

Этичный хакинг и тестирование на проникновение, информационная безопасность


Если вы из тех, кто хочет узнать как работают инструменты указанного сервиса, а также как ими пользоваться на своём компьютере, то продолжайте читать.

Если вам кажется, что проблема с определением типов файлов без расширений надуманная, то это далеко не так! Во-первых, если подумать, это не такая уж простая задача. А с файлом без расширения вы можете столкнуть, например, при декодировании строки из Base64 кодировки.

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

1) разбора прошивок (например, роутеров, IP камер) на составные части (первый этап обратной инженерии либо анализа работы устройств для поиска уязвимостей и бэкдоров)

2) поиска файловых систем на дисках и их образах (первый этап криминалистической IT экспертизы)

3) поиска удалённых файлов

Как определить тип данных, если у файла нет расширения

Если у файла нет расширения, то единственным вариантом определения его типа остаётся содержимое этого файла. Можно попробовать добавлять различные расширения к имени файла и пытаться открыть соответствующими для этого расширения программами — этот вариант медленные и неэффективный.

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

Такие паттерны на английском часто называют magic — это пошло от «magic number» в исполнимых файлах. Эти файлы имеют «магическое число», хранящееся в определённом месте рядом с началом файла, которое сообщает операционной системе UNIX, что файл является двоичным исполняемым файлом и каким именно из нескольких типов. Концепция «магического числа» была применена к другим бинарным файлам. То есть файлы одинакового типа имеют одинаковую последовательность байтов в определённом месте от начала файлов.

Файл с сигнатурами, описывающими какие именно байты, на каком расстоянии от начала файла характерны для файлов того или иного типа, обычно называют magic file.

Кроме магических чисел могут применяться и другие техники, например, программа file для проведения тестов файловых систем также может использовать системный вызов stat. Тип текстовых файлов определяется по содержащимся в них строкам (например, это может быть PHP код, файл в XML или HTML разметке, JSON и так далее).

Команда file — мгновенное определение типа любого файла

В Linux есть команда file с огромной базой сигнатур, которая очень быстро определяет тип файла:

Чтобы узнать, что за файл без расширения, выполните команду вида:


То есть это текстовый файл офисного пакета Microsoft Office.

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


У программы file имеются опции, подробности о них смотрите в отдельной статье «Инструкция по использованию команды file».

Аналог команды file для Windows

file — это утилита командной строки для Linux, поэтому пользователям Windows нужна какая-то альтернатива. Рассмотрим несколько способов использования file в Windows.

1. Утилита file в Cygwin

Данный способ, на мой взгляд, самый простой. Достаточно скачать Cygwin и вы можете пользоваться большинством утилит Linux. Подробности, в том числе как указывать пути в файловой системе, смотрите в ветке «Как начать знакомство с командами Linux: Cygwin».


2. file в WSL

Подсистема Windows для Linux (WSL) это ещё один способ использовать утилиты Linux в Windows. Подробности о работе с WSL смотрите в справочном материале «WSL (подсистема Windows для Linux): подсказки, инструкции, решения проблем».

3. Скомпилированный file для Windows

Файлы различаются архитектурой (64- и 32-битные), а также компилятором.

Распакуйте скаченный архив. Например, я поместил скаченные файлы в папку C:\Users\MiAl\Downloads\file\.

Откройте командную строку, для этого нажмите Win+x, выберите «Windows PowerShell».

Перейдите в папку с программой:

Для определения расширения файла используйте команду вида:


Вы можете проверить сразу много файлов, для этого перейдите в папку с утилитой file и выполните команду вида:

Например, я хочу проверить все файлы в папке Z:\testfiles\, тогда команда следующая:


4. TrID — кроссплатформенная альтернатива file для Windows и Linux

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


Если указать несколько файлов для идентификации, то будет выведен только самый вероятный вариант типа файла:


Установка TrID в Windows

Распакуйте оба файла в одну папку.

Распакуйте скаченный архив. Например, я поместил скаченные файлы в папку C:\Users\MiAl\Downloads\trid\.

Откройте командную строку, для этого нажмите Win+x, выберите «Windows PowerShell».

Перейдите в папку с программой:

Для определения расширения файла используйте команду вида:

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




Кроме того, использование ключа -ae даст команду TrID добавить предполагаемые расширения к именам файлов. Это удобно, например, при работе с файлами, восстановленными программами для восстановления данных. Например:

На этом этапе файлы в папке c:\temp будут выглядеть так:

Вместо предыдущей опции можно использовать -ce, которая изменит расширение файла на новое; если у файла нет расширения, будет добавлено новыъое. Например:

  • IAmASoundFile.dat -> IAmASoundFile.wav
  • IAmABitmap -> IAmABitmap.bmp

TrID может получить список файлов со стандартного ввода с помощью переключателя -@.

Таким образом, можно работать со всем деревом папок или определенным подмножеством файлов, просто используя вывод какой-либо другой команды через конвейер. Что-то вроде:

Можно указать TrID показывать дополнительную информацию о каждом совпадении (например, тип mime, кто создал эту сигнатуру, сколько файлов было просканировано и так далее); а также можно ограничить количество отображаемых результатов.

Ключ -v активирует подробный режим, а -r:nn указывает максимальное количество совпадений, которое будет отображать TrID. По умолчанию 5 для обычного режима, 2 для подробного, 1 для многофайлового анализа.

Программа TrID обновляется нечасто, но база данных регулярно получает новые сигнатуры, поэтому время от времени обновляйте базу данных.

5. fil — ещё одна кроссплатформенная альтернатива file

Программа fil написана на Go и является кроссплатформенной. Но в программе настолько мало сигнатур, что, на мой взгляд, утилита fil практически бесполезна.

Альтернативы file

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

Detect It Easy

Detect It Easy — это кроссплатформенная программа для определения типов файлов. Имеется вариант с графическим интерфейсом, а также интерфейсом командной строки.

Анализ файла /mnt/disk_d/Share/testfiles/file1 с показом результатов в графическом интерфейсе:

Анализ файла без расширения, расположенного по пути /mnt/disk_d/Share/testfiles/file1 для определения типа файла:

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

Binwalk

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

Использование такое же, как и file, достаточно указать путь до одного или нескольких файлов:

Detect It Easy и Binwalk не столько конкуренты утилиты file, сколько «последний шанс» определить тип данных, если команда file не помогла.

Читайте также: