Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Сборник 70 студ конференции БГТУ

.pdf
Скачиваний:
83
Добавлен:
18.03.2016
Размер:
20.16 Mб
Скачать

391

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

Одно из новых предложений состояло в том, чтобы использовать метод ограниченной машины Больцмана (RBM) и показать, что данный метод способен генерировать компактные двоичные коды для ускорения поиска схожих документов. Исследователи также пытались применять метод ускорения к SimilaritySensitiveCoding(SSC) и ForgivingHashing (FgH).

В других исследованияx методы stacked-RBM и boosting-SSC были указаны как более продуктивные решения, чем LSH при использовании на базе данных, содержащей несколько десятков миллионов изображений. Также был предложен новый метод, названный спектральным хешированием (SpH). Он продемонстрировал значительные улучшения по сравнению с LSH, stacked-RBM и boosting-SSC с точки зрения количества битов, требуемых, чтобы найти схожие элементы.

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

Алгоритм STH сочетает в себе следующее: cначала мы находим оптимальные l-битные двоичные коды для всех документов данной коллекции на основе обучения без учителя, и затем обучаем l классификаторов на основе обучения с учителем, чтобы угадывать l-битный код для любого документа вне коллекции. Общая вычислительная сложность процесса обучения примерно квадратичная от количества документов в коллекции и в то же время линейная от среднего размера документов в коллекции.

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

Работа выполнена под руководством к.т.н., проф. каф. «Информатика и программное обеспечение» В. К. Гулакова

392

Е.Г.Свиридова АВТОМАТИЗИРОВАННАЯ СИСТЕМА ЗАЩИТЫ ИНФОРМАЦИИ НА ОСНОВЕ СИММЕТРИЧНЫХ КРИПТОГРАФИЧЕСКИХ МЕТОДОВ С

ВОЗМОЖНОСТЬЮ ДЕМОНСТРАЦИИ ЭТАПОВ ШИФРОВАНИЯ

Объект исследования: симметричные системы криптографической защиты информации.

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

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

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

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

анализ симметричных методов криптографической защиты информации;

анализ программных средств криптографической защиты информации;

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

тестирование программной системы.

Преимущества криптографии с симметричными ключами:

относительно высокая производительность алгоритмов;

 

393

 

 

 

 

 

 

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

 

ключа.

 

 

Входе работы были рассмотрены такие программы, как:

AES Crypt - программа для шифрования и расшифровки файлов с помощью алгоритма AES.

ComodoDiskEncryption -данная программа защищает пользовательские данные путём шифрования доступа к жёсткому диску. Приложение позволяет шифровать данные по одному из нескольких доступных алгоритмов. Среди которых такие известные как: AES, Blowfish, Serpent и другие.

S-Tools – данная программа прячет данные с чужих глаз в файлы изображений или аудио. Причем поддерживаются различные алгоритмы шифрований: IDEA, DES, Triple DES, MDC.

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

Разработанное программное обеспечение является приложением, написанным на языке C# с использованием WindowsForms. Оно позволяет выполнять шифрование и дешифрование различными симметричными алгоритмами: AES, DES, IDES. При этом для алгоритма AES возможен выбор длины ключа (128-256).

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

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

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

Работа выполнена под руководством доц. каф. «Информатика и программное обеспечение» К.В. Дергачева

394

В.А. Свиридов

CODE REVIEW – ИНСТРУМЕНТЫ И ТЕХНОЛОГИИ, ПРИМЕНЕНИЕ ВПРОМЫШЛЕННОЙ РАЗРАБОТКЕ И УЧЕБНОМ ПРОЦЕССЕ

Объект исследования: инспекция кода.

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

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

Инспекция кода (ИК) активно применяется в промышленной разработке программного обеспечения. ИК и её вариации применяются как в компанияхгигантах (например,Google), так и в небольших гибких командах.

Существуют специализированные инструменты для проведения ИК. Например, компания Google уже давно использует ИК. Ни одно изменение не появится в системе контроля версий без позитивной оценки на ИК. В компании Google для проведения ИК разработано специализированное решение – Gerrit. Gerritсоздавался для проекта по разработке OSAndroid, но теперь активно применяется во многих других проектах.

Кроме того частичная поддержка ИК существует и в облачных и корпоративных системах контроля версий, например, в GitHub, BitBucketи RhodeCode.

Применение ИК имеет следующие плюсы:

Уменьшение количества ошибок. Во-первых, свежим взглядом легче заметить опечатки и нестыковки. Во-вторых, ИК часто проводят более опытные коллеги, которые могут увидеть архитектурные и другие просчёты.

Распространение знаний. Знания о системе не скапливаются в сотрудниках, ответственных за её реализацию, а распределяются по коллективу. Кроме того, при проведении ИК, программисты могут подсказать другой вариант решенной проблемы, незнакомый автору кода.

Соблюдение общего стиля кода. В коллективе, необходимо следовать общему стилю кода для увеличения скорости чтения и восприятия чужого кода.

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

Но у ИК есть и минусы – молодые специалисты часто плохо переносят критику старших товарищей. С этой проблемой может помочь знакомство с ИК ещё в университете. Так MIT (Массачусетский технологический институт.) использует ИК с 2011 года. Была написана специальная автоматизированная система для проведения ИК – Caeser. Эта система

395

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

Было принято решение разработать информационную систему для применения ИК в учебном процессе с учётом специфики нашего ВУЗа.

Для реализации системы было принято решение использовать два сервера: первый для хранения пользовательских проектов, второй – для системы ИК, в которой и будут проходить инспекция и обсуждения фрагментов кода.

При реализации описанной системы необходимо решить следующие проблемы:

хранение пользовательских проектов на сервере;

фрагментирование кода;

предвзятость людей;

распределение фрагментов по участникам;

запрет изменения проектов после указанного срока.

Для хранения пользовательских проектов была выбрана система GitLab, которая позволяет просматривать изменения в проекте, а также запрещать пользователям изменять проект после указанного срока.

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

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

Работа выполнена под руководством ст. преп. каф. «Информатика и программное обеспечение» А.Г. Серикова

А.С. Сенченков

ВЫЯВЛЕНИЕ ПОТЕНЦИАЛЬНО ПРОБЛЕМНЫХ СИТУАЦИЙ НА ОСНОВЕ ДАННЫХ О ПОСЕЩАЕМОСТИ И УСПЕВАЕМОСТИ СТУДЕНТОВ ВУЗА

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

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

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

396

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

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

Так же присущее большинству ВУЗов хранение всей информации в бумажном виде, может вызвать некоторые проблемы: внесение исправлений

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

Для решения вышеперечисленных проблем на кафедре «ИиПО» создается программный комплекс (ПК), состоящий из веб-сервиса и мобильного приложения. ПК посредством мобильных приложений будет собирать необходимые данные о посещаемости и успеваемости студентов, на основе которых и будет вы подняться анализ и поиск потенциальнопроблемных ситуаций.

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

Суть правила продукции для представления знаний состоит в том, что в левой части ставится в соответствие некоторое условие, а в правой части действие: если <перечень условия>, то <перечень действий>. Если это условие соответствует значению «истина», то выполняется действие, заданное в правой части продукции. В общем случае под условием понимается некоторое предложение, по которому осуществляется поиск в базе знаний, а под действием – действия, выполняемые при успешном исходе поиска. В продукционной модели база знаний состоит из набора правил. Программа, управляющая перебором правил – машина вывода, связывает знание воедино и выводит из последовательности знаний заключение.

Впродукционных системах выделяют три основные компоненты:

неструктурированная или структурированная БД;

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

o условий (антецендент); в этой части определяются некоторые условия, которые должны выполняться в БД для того, чтобы были выполнены соответствующие действия;

o действий (консеквент): эта часть содержит описание действий, которые должны быть совершены над БД в случае выполнения соответствующих

397

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

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

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

Если посещаемость < 50 % то добавить 3 балла.

 

Если успеваемость > 70 % то вычесть

1 балл.

 

Если успеваемость

< 50

%

И посещаемость < 50 % то

добавить 5 баллов.

Результатом выполнения этих правил будет служить таблица, с минимальным необходимым набором данных, а именно Группа, ФИО Студента и Количество баллов. По этим результатам можно будет увидеть потенциально проблемных студентов – у кого больше набранных баллов, у того проблемных ситуаций больше.

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

какие правила сработали;

по каким предметам;

возможность запросить информацию об успеваемости/посещаемости студента.

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

Работа выполнена под руководством доц. каф. «Информатика

ипрограммное обеспечение» Д.Г. Лагерева

П.В. Сергеенко

РАЗРАБОТКА РАБОЧЕГО МЕСТА ПРЕПОДАВАТЕЛЯ, СТАРОСТЫ И СТУДЕНТА В СИСТЕМЕ МОНИТОРИНГА УСПЕВАЕМОСТИ СТУДЕНТОВ И ПОСЕЩАЕМОСТИ ЗАНЯТИЙ

Объект исследования: мониторинг успеваемости и посещаемости студентов.

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

398

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

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

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

Основным недостатками такого подхода является:

возможность потери карточки;

не наглядность имеющихся данных;

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

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

Веб-интерфейс предоставляет следующие основные возможности:

авторизация пользователя с учетом его роли;

ввод данных о присутствующих на занятии;

выставление оценок за практическое или лабораторное занятие;

просмотр сводной ведомости успеваемости студентов и посещаемости занятий.

Веб-приложение было реализовано с использованием фреймворка ASP.NET MVC 4. Для создания веб-интерфейса использовался фреймворк Twitter Bootstrap. В качестве сервера базы данных используется MS SQL Server 2012 Express.

Работа выполнена под руководством доц. каф. «Информатика и программное обеспечение» Д.И. Булатицкого

399

Д.Д. Соловьев ПРОГРАММНЫЙ МОДУЛЬ УТОЧНЕНИЯ ЭКСПЕРТНЫХ ПРАВИЛ

В СОСТАВЕ СИСТЕМЫ АДАПТИВНОЙ КЛАССИФИКАЦИИ НЕИЗВЕСТНОГО ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Объект исследования: методыобнаружения вредоносного программного обеспечения.

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

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

На кафедре «Информатика и программное обеспечение» БГТУ проводятся исследования, целью которых является повышение эффективности обнаружения неизвестного ВПО за счет объединения различных подходов к решению данной задачи. В результате был создан программный комплекс, поддерживающий классификацию неизвестного ВПО на основе пользовательских правил, задаваемых вручную.В программном комплексе в качестве задания экспертных правил был выбран метод продукционных правил. Это один из самых простых в реализации, но довольно эффективный метод. В его основу положена модель представления знаний в виде конструкций «ЕСЛИ-ТО». С помощью таких правил можно указать одиночные признаки вредоносности.

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

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

(features) и отсеять остальные.

Методы FeatureSelection представляют собой подмножество методов FeatureExtraction (создания новых признаков на основе старых). Однако, FeatureSelection не создает новые признаки, а составляет набор «полезных» признаков. Методы FeatureSelection часто используются при большом числе параметров и сравнительно малом объеме выборки данных или малом числе образцов. Архетипическим случаем является использование FeatureSelection

400

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

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

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

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

Встроенные методы (Embeddedmethods): выполняют отбор признаков при построении модели. Самым распространенным примером является алгоритм ЛАССО (LASSO), который при построении линейной модели «занижает» коэффициенты регрессии, приводя многие из них к нулю. Врезультирующий набор попадают признаки с ненулевыми коэффициентами.

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

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

Работа выполнена под руководством зав. каф. «Информатика и программное обеспечение» доц. А.Г. Подвесовского