ИТ-портал компании «Инфосистемы Джет»

Контентная фильтрация: разбор объектов информационного обмена

Контентная фильтрация: разбор объектов информационного обмена

СОДЕРЖАНИЕ

Подход компании "Инфосистемы Джет"
Программный комплекс определения типов данных

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

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

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

  1. множественность кодировок в различных частях объектов информационного обмена;
  2. широкий круг задач, которые выполняют информационные системы (это обстоятельство привело к появлению разнообразных приложений и прикладных программ, что в свою очередь стало причиной большого количества новых форматов данных и файлов различных типов; сейчас тенденция такова, что новых форматов и типов данных будет появляться все больше);
  3. сами файлы стали представлять собой сложную структуру, включающую большое количество уровней вложенности, а также различные другие инкапсулированные компоненты; например, современные файлы MSOffice содержат в себе OLE-объекты[1]; объектом может быть целый файл или только фрагмент файла, графические объекты, тексты, фрагменты звукозаписи и видеозаписи.

    [1] Связь и внедрение объектов, созданных в различных приложениях, осуществляются в Windows с помощью специальной технологии, которая называется OLE (Object Linking and Embedding — связь и внедрение объектов). Технология OLE — это универсальный механизм для создания и обработки составных документов, содержащих одновременно объекты различного происхождения, разной природы, например, текст, таблицы, фотографии, звук и т.п.

    Технология OLE позволяет:

    - внедрять в документ объекты или фрагменты документов, созданные в других приложениях, а также редактировать эти объекты средствами создавшего их приложения;

    - устанавливать связь объекта с документом другого приложения. При установлении связи этот объект продолжает "жить" собственной жизнью и обслуживать другие документы.

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

Кроме того, часть имеющихся на рынке систем определяют формат данных и кодировку текстов только по mime-типу[2], указанному в служебных заголовках. Mime-тип присваивается приложением, в котором создан объект. Приложения далеко не всегда верно указывают mime-тип, что приводит к ошибкам при разборе.

[2] mime-тип — это стандарт, который определяет систему названий типов данных.

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

Однако эта система обладает недостатками, наиболее существенным из которых является отсутствие гибкого языка описания проверок типов данных. В результате возникают серьезные ошибки при распаковке объектов информационного обмена (это может быть неправильное определение мультимедиа или исполняемых файлов) и/или невозможность анализа сложных объектов (например, файлов Microsoft Office). File допускает такие ошибки: некоторые mp3-файлы определяются как текстовые. Mp3-файлы позволяют вставлять текстовые фреймы в свои произвольные участки, file цепляется за эти участки и ошибается при определении типа.

У file бывают проблемы с файлами маленькой длины. Например, если текстовый файл с одним словом, то при совпадении по буквам с бинарным кодом file может определить это слово как бинарный код. Причем если этот файл был в архиве, то архив может быть полностью вырезан.

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

Почему же важно правильно определять кодировку текста?

Во-первых, в России, странах СНГ, а также во многих государствах Азии множественность кодировок — это проблема. В России и странах СНГ язык один — русский (или другой национальный, например, украинский), кодировок — пять. В Азии: язык один — японский, кодировок — три-четыре.

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

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

Подход компании "Инфосистемы Джет"

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

В линейке продуктов "Дозор-Джет" упор делается на надежное определение типов данных и гарантированное определение кодировки текстов. Это в итоге позволяет добиться высокой эффективности фильтрации.

Компания "Инфосистемы Джет" определила свой подход к данной задаче: любой объект информационного обмена по каналам Интернет изначально рассматривается как композитный. То есть в него могут входить различные компоненты: текст, файлы, закодированные бинарные данные, описания и комментарии. Предполагается, что каждый входящий в такой объект компонент в отдельности также может быть сложным объектом.

Определение типов файлов осуществляется не по mime-типу, поскольку этот mime-тип может быть неверно определен. Гарантированное определение типа файла возможно только по его бинарному следу.

Определение кодировки состоит из двух этапов. Первым этапом является определение языка. Затем в рамках языка эмпирически определяется кодировка. Любой язык имеет некие законы построения слова. Любой связный текст обладает определенными характеристиками. Именно эти законы и характеристики ложатся в основу определения кодировки текста в решениях компании "Инфосистемы Джет".

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

Программный комплекс определения типов данных

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

  • слабые возможности языков описания проверок типов данных;
  • слабая расширяемость;
  • невозможность анализа сложных объектов;
  • сложность сопровождения баз mime-типов.

С учетом этого в 2005 году специалистами компании "Инфосистемы Джет" был разработан новый комплекс определения типов данных. По своей сути комплекс является know-how компании. По техническим характеристикам он превосходит все имеющиеся на ИТ-рынке аналогичные системы. В основе данной разработки лежит громадный опыт внедрений систем контентной фильтрации.

По сравнению с другими аналогичными системами на рынке средств контентной фильтрации система по определению типов текстовых файлов работает более корректно. Анализатор текстовых файлов позволяет производить в них поиск данных, закодированных в различных форматах. Здесь представлены некоторые из них: Plain Text, HTML, SMGL, Microsoft Word, Microsoft Excel, Microsoft Help Data, Microsoft Compressed Help Data, Microsoft Access Database, TNEF, RTF, PDF, Postscript, Power Point, Base64, Uuencode, Quoted-Printable и т.д.

Кроме того, в системе "Дозор-Джет" как для выдачи текстового описания типа, так и для выдачи mime-типа используется одна база условий. А это позволяет избежать ошибок, которые могут возникнуть при ведении двух аналогичных баз данных.

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

Описанная выше функциональность "Дозор-Джет" стала возможной за счет:

  • наличия специализированного языка описания проверок типов данных;
  • возможности расширения языка проверок;
  • возможности подключения модулей анализа;
  • явного отображения сигнатур в mime-типы.

Язык описания условий проверки сигнатур

Самым главным достоинством новой системы является мощный язык описания условий проверки сигнатур. Благодаря этому языку стал возможным более глубокий анализ сложных объектов (файлы mp3 и .exe). А для случаев, когда анализ трудно описать на встроенном языке, существует возможность создания подгружаемых модулей анализа.

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

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

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

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

Дополнительные модули анализа данных

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

  • модуль определения текстов и методов их кодирования (ASCII, EBCDIC); важность его определяется тем, что для текстовых файлов не существует сигнатур, по которым можно определять типы;
  • модуль определения исполняемых файлов MS-DOS — .com-файлы; как и для текстовых, для таких файлов не существует стандартных сигнатур, поэтому необходимо проводить детальный анализ содержимого файлов;
  • модуль определения главного типа OLE-контейнера — MS Visio, MS Project, MS Word, MS Excel, MS Powerpoint.
Вернуться к списку статей
Оставьте комментарий
Мы не публикуем комментарии: не содержащие полезной информации или слишком краткие; написанные ПРОПИСНЫМИ буквами; содержащие ненормативную лексику или оскорбления.
О журнале

Журнал Jet Info регулярно издается с 1995 года.

Узнать больше »
Подписаться на Jet Info

Хотите узнавать о новых номерах.

Заполните форму »
Контакты

Тел: +7 (495) 411-76-01
Email: journal@jet.su