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

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

Ввод и верификация данных в наукометрических информационно-аналитических системах

Задача 1. Разбор библиографических ссылок

Краткое описание задачи

Развернуть сервис AnyStyle для разбора библиографических ссылок на научные публикации, провести обучение сервиса и сравнить результаты разбора библиографических ссылок с действующей реализацией в ИАС «ИСТИНА»

Актуальность

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

Для ввода данных о статье в информационную систему нужно разбирать такие ссылки по компонентам и для этого существуют специализированные сервисы, например, устаревший FreeCite, который используется в ИАС «ИСТИНА», или AnyStyle – более современный аналог.

Детали

  1. Изучить различные форматы и стандарты описания библиографических ссылок.
  2. Изучить существующую реализацию сервиса FreeCite для разбора библиографических ссылок в ИАС «ИСТИНА».
  3. Проанализировать данные о неудачных разборах FreeCite по данным от пользователей, которые нажали на кнопку «Недоволен результатами разбора» и предложили корректный вариант разбора библиографической ссылки.
  4. Развернуть сервис AnyStyle.
    1. Подготовить обучающую выборку:
      • русскоязычные библиографические ссылки;
      • англоязычные библиографические ссылки.
    2. Провести обучение сервиса.
  5. Провести сравнение результатов разбора библиографических ссылок с FreeCite.

Задача 2. Чистка данных

Краткое описание задачи

Разработать модели, методы и программные средства для автоматизация выявления, удаления и преобразования некорректных текстовых описаний наукометрических данных, включающих следующие: опечатки, некорректное указание атрибутов, «склеенные данные», машиночитаемая разметка от издательских платформ (TeX, JATS, и др.).

Актуальность

При вводе данных в информационную систему могут быть возникать различные ошибки: опечатки; некорректные данные (другой журнал или год); «склеенные данные» (в поле «Фамилия» указано полное ФИО или в названии статьи указана полная библиографическая ссылка); разметка от издательских платформ (теги, TeX, специальные символы). В некоторых случаях из-за несовершенства механизмов ввода и верификации данных автоматически создались некорректные профили, которые аккумулируют большой объём данных, что приводит к тому, что данные учитываются некорректно при оценке деятельности.

Детали

  1. Провести литературный обзор по теме автоматизации поиска и исправления некорректных данных:
    • на этапе ввода данных в систему (валидация, фильтрация);
    • анализ существующей коллекции данных.
  2. Описание и классификация существующих «мусорных» данных.
  3. Разработка моделей и методов для очистки данных на этапе ввода и по имеющейся коллекции.
  4. Разработка программных средств:
    • сервис для очистки данных при вводе в информационную систему;
    • сервис для очистки данных по имеющейся коллекции данных в информационной системе.

Задача 3. Выявление дубликатов

Краткое описание задачи

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

Актуальность

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

Детали

  1. Проанализировать существующие данные в ИАС «ИСТИНА», включая запросы на объединение дубликатов и пользовательские обращения. По результату анализа необходимо сделать следующее:
    • выявить, какие сценарии использования системы приводят к появлению дубликатов, например: существует техническая ошибка в программном коде;
    • определить, какие атрибуты описания двух объектов одного типа являются общими, а какие различными.
  2. Описать модель объекта и её атрибуты с точки зрения поиска дубликатов.
    • Какие есть идентифицирующие признаки, которые однозначно определяют объект. Пример: идентификаторы DOI, ISSN, ISBN и другие.
    • Какие данные в двух описаниях одного объекта могут отличаться?
  3. Научиться выделять идентифицирующие признаки из неструктурированных данных
  4. Проанализировать существующие реализации поиска дубликатов:
    • публикаций;
    • пользователей.
  5. Разработка алгоритма поиска дубликатов:
    • на этапе ввода данных в систему по данным о вводимом объекте;
    • выделение групп дубликатов в коллекции данных.
  6. Разработка программных средств:
    • сервис для потокового поиска дубликатов;
    • сервис для поиска дубликатов среди всего массива данных.

Задача 4. Сопоставление описаний объектов

Краткое описание задачи

Разработать модели, методы и программные средства для автоматизированного сопоставления описаний объектов одного типа. Результатом сопоставления должен быть ответ сервиса: описывают ли данные один и тот же объект, или нет.

Актуальность

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

Детали

  1. Проанализировать имеющиеся данные об одних и тех же объектах, полученные из разных источников: внешние библиометрические БД (Scopus, Web of Science, Crossref, РИНЦ и другие), ввод данных вручную пользователем. Выделить, какие атрибуты могут являться «конфликтами»: описания различаются, но выделить правильное однозначно нельзя.
  2. Классифицировать такие конфликты. Как можно характеризовать такие классы?
  3. Описать модель объекта с точки зрения возможности сопоставления данных.
  4. Разработка алгоритмов для автоматизации сопоставления данных об объектах, включая автоматизацию определения идентичности описываемых объектов.

Задача 5. Административная верификация

Краткое описание задачи

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

Актуальность

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

Детали

  1. Подготовить литературный обзор по следующим темам:
    • Как автоматизируются подобные процессы?
    • Как поддерживать внимание проверяющего при проверке большого объема похожих данных?
    • Как организовать процесс проверки с целью поддержки внимания, снижения количества ошибок из-за невнимательности?
  2. Проанализировать описания проверяемых данных и существующие бизнес-процессы, например, верификация в рамках кампании по ежеквартальному стимулированию. Какие проверки можно автоматизировать?
  3. Описать бизнес-процесс административной верификации с учётом лучших практик.
  4. Описание требований к интерфейсу административной верификации.
  5. Реализация программных программных механизмов:
    • для автоматизации проверок;
    • сделать черновик интерфейса.

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

Задача 1. Поиск и импорт данных

Состояние окружения на настоящее время:

  • по журналам в ИАС «ИСТИНА» данных в целом достаточно;
  • с конференциями чуть хуже — нет единого профиля конференции за все годы, для каждой конкретной конференции мало докладов, нет аннотаций;
  • по семинарам данных почти нет — пока подсистема семинаров не запущена в полном объёме, поэтому в СУБД есть только семь записей о семинарах.

Требуется найти источники, откуда можно загрузить данные о конференциях и семинарах. Желательно, чтобы данных было как можно больше, включая периодичность конференции, ключевые слова, текст анонса (call for papers), члены программного комитета, число докладчиков и т.д. Примером одного из таких источников может быть: IEEE Conferences.

Далее надо разработать модели БД для хранения импортированных данных и произвести сам импорт.

Задача 2. Составление списка критериев для ранжирования

Требуется придумать как можно больше формальных критериев, которые можно рассчитать/верифицировать на основе данных ИАС «ИСТИНА» и импортированных данных, которые можно использовать для ранжирования журналов, конференций и семинаров.

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

На этой странице можно посмотреть, какие критерии есть в ИАС «ИСТИНА» для результатов деятельности.

Задача 3. Формализация задачи ранжирования

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

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

Анализ безопасности больших программных систем

Задача 1. Уровень программного обеспечения

Краткое описание задачи

На этом уровне предлагается:

  • реализовать сканер безопасности, проверяющий наличие уязвимостей в используемом ПО;
  • интегрировать этот сканер с системой мониторинга.

Детали

  1. Сбор информации об уязвимостях:
    • какие уязвимости бывают в программном обеспечении;
    • какие ресурсы собирают и анализируют информацию о выявленных уязвимостях;
    • анализ статистики выявленных уязвимостей в ПО, используемом в рамках проекта ИСТИНА;
    • какие бывают уязвимости в конфигурации и какие из них актуальны для проекта ИСТИНА.
  2. Сбор информации о сканерах безопасности:
    • сетевые и хостовые сканеры безопасности общего назначения, преимущества и недостатки, предоставляемый функционал, тип лицензии;
    • сканеры безопасности для web-приложений, предоставляемый функционал, тип лицензии.
  3. Изучение системы мониторинга, используемой в проекте ИСТИНА.
  4. Проектирование собственного решения:
    • какие именно типы уязвимостей нужно выявлять, из каких источников может быть взята информация о появлении новых уязвимостей (возможный вариант - из обновленной базы знаний сканера безопасности);
    • общая архитектура решения, готовые компоненты, которые могут быть использованы (например, сканеры безопасности с открытым исходным кодом);
    • интеграция решения с системой мониторинга.
  5. Реализация и развертывание решения:
    • программная реализация;
    • создание тестовой площадки и тестирование;
    • внедрение в основной проект.

Задача 2. Уровень web-сервера

Краткое описание задачи

На этом уровне предлагается:

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

Детали

  1. Выделение отдельных классов нарушителей, представляющих угрозу для системы:
    • ботов и сетей ботов, осуществляющих выкачивание недопустимо больших объемов информации;
    • ботов и сетей ботов, осуществляющих рассылку сообщений;
    • ботов и сетей ботов, просто посылающих недопустимо большой поток запросов;
    • пользователей, выкладывающих недопустимую информацию (например, файлы с вирусами);
  2. Анализ типов регистрационной информации, доступной или потенциально доступной для анализа:
    • журналы операционной системы;
    • журналы web-сервера;
    • дополнительные базы данных со сводной информацией и историей анализа;
    • данные о загрузке системы;
  3. Формальное описание выделенных классов нарушителей в терминах данных, доступных для анализа:
    • определение классов;
    • алгоритмы выявления принадлежности к классу: доказательство корректности и оценка сложности по времени и по памяти.
  4. Проектирование блока выявления:
    • дополнитительные сборщики информации (при необходимости);
    • общая архитектура.
  5. Программная реализация и развертывание блока выявления:
    • программная реализация;
    • создание тестовой площадки и тестирование;
    • внедрение в основной проект.

Задача 3. Уровень данных в системе

Краткое описание задачи

На этом уровне предлагается:

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

Детали

  1. Формализация понятия корректности:
    • через описание необходимых условий: "не такая" информация заведомо некорректна (или хотя бы "сильно подозрительна");
    • примеры: ограничение на дату события, структуру "фамилия - имя - отчество" авторов, тематику публикаций (нередки случаи некорректного выбора субъекта системы, соответствующего соавтору)...
    • через описание достаточных условий: "такая" информация заведомо корректна, примеры: подтверждение ответственным сотрудником, верификация с помощью дополнительных данных...
  2. Разработка алгоритма выявления некорректностей: для каждого из формально определенных видов некорректности требуется предложить алгоритм выявления, обосновать корректность этого алгоритма и оценить сложность.
  3. Программная реализация и развертывание:
    • программная реализация;
    • создание тестовой площадки и тестирование;
    • внедрение в основной проект.

Задача 4. Уровень политики безопасности

Краткое описание задачи

На этом уровне предлагается:

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

Детали

  1. Изучение существующих формальных моделей безопасности:
    • модель ChRelBAC;
    • модель CBAC.
  2. Выделение подходов к понятию корректности/некорректности политики безопасности:
    • через перечисление злоумышленных доступов;
    • через описание нормального функционирования (в духе модели Белла-Лападулы).
  3. Проверка корректности на модельном уровне:
    • возможность алгоритмического решения в общем случае (ожидаемый ответ - невозможно);
    • выделение подклассов моделей, в рамках которых есть разрешимость;
    • оценка сложности проверки в разрешимых подмоделях.
  4. В случае появления достаточно богатых случаев разрешимости с достаточно низкой сложностью проверки - программная реализация анализатора политик.
  5. Если все интересные случаи неразрешимы или неподъемны по сложности, подумать об аппроксимации более простой задачей.

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

Актуальность

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

  • Коммерческие мероприятия (worldexpo.pro, www.allconferences.com, …). Почти не содержат данных о наиболее значимых конференциях, но могут использоваться для площадок популяризации и коммерциализации результатов научной деятельности.
  • Каталоги конференций, проводимых организацией (conf.msu.ru, www.ruthenia.ru,...)
  • Системы поддержки проведения конференций (easychair.org, ruconf.ru,…) Имеют небольшой процент покрытия, но могут служить источником данных для процесса автоматического сбора данных и их интеграции на едином ресурсе.
  • Реклама конференций для быстрой публикации (na-konferencii.ru, konferencii.ru, …) Характеризуются очень общим названием «обо всем» (Вектор науки, Вопросы развития современной науки и техники, Научный прорыв 2023, …) Дата окончания приема заявок совпадает или почти совпадает с датой начала конференции. Не представляют интереса для ученых, не могут использоваться для научной деятельности и должны отфильтровываться.
  • Небольшие тематические каталоги (obshestvo.org, ) Могут служить источником данных для процесса автоматического сбора данных и их интеграции на едином ресурсе.

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

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

Задача 1. Автоматическая верификация данных о существующих конференциях

Краткое описание задачи

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

Детали

  • В процессе добавления конференции автоматически искать дубликаты конференции и выдавать подсказки пользователю.
  • Автоматически разбирать название конференции и рекомендовать значения для заполняемых полей (даты, место проведения, номер и другие).
  • Получать текст по url с описанием конференции, искать в окрестности источника по ссылкам информационное письмо или объявление.
  • Обучить нейронную сеть верифицировать указанную пользователем информацию по полнотестовому описанию.

Задача 2. Добавление описания новых конференций

Краткое описание задачи

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

Детали

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

Задача 3. Ранжирование конференций

Краткое описание задачи

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

Детали

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

Задача 4. Поиск авторитетных источников информации о конференциях

Краткое описание задачи

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

Детали

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