<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>SYSTEM ARCHITECTURE AND TECHNOLOGIES OF ADAPTATION OF LMS MAI CLASS.NET AS SET OF ELECTRONIC MATH TEXTBOOKS</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Andrey Kibzun</institution>
          ,
          <addr-line>Ianina Martiushova, Georgy Mkhitaryan, Andrey Naumov, Aleksey Rybalko</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Moscow Aviation Institute (National Research University)</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>164</fpage>
      <lpage>171</lpage>
      <abstract>
        <p>В работе описывается реализация архитектуры системы дистанционного обучения на примере СДО МАИ CLASS.NET. Рассматривается процесс программной интеграции в управляющую оболочку СДО комплекса статистических алгоритмов, обеспечивающих анализ работы пользователей системы дистанционного обучения математическим дисциплинам и адаптацию контента этой системы под изменяющийся контингент пользователей. Программно-алгоритмический комплекс содержит специальные оптимизационные процедуры для оценки параметров различных вероятностных моделей, используемых в системе, на основе накопленной статистики о работе пользователей. Кроме того, предложены решения задач повышения эффективности работы программной реализации комплекса методов и алгоритмов и описаны примененные технологии.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        АННОТАЦИЯ
Архитектура, безопасность и адаптация системы
работы пользователеи в реально функционирующеи системе. СДО поддерживает парадигму
адаптивного компьютерного тестирования CAT (Computerized Adaptive Testing), алгоритмы которои
направлены на решение задачи подбора для каждого пользователя из группы индивидуального
задания, максимально отвечающего уровню подготовки данного конкретного пользователя и
требованиям образовательного курса. Такая задача, в свою очередь, сводится к рассмотрению ряда
прикладных математических задач, для решения которых при разработке СДО МАИ CLASS.NET
используются следующие модели: однопараметрическая логистическая модель Раша [
        <xref ref-type="bibr" rid="ref2">5</xref>
        ]- для
описания вероятности корректного ответа пользователя, и логнормальная модель Ван дер Линдена
[
        <xref ref-type="bibr" rid="ref3">6</xref>
        ] - для описания времени ответа на задания. Модели являются стохастическими, что, естественно,
накладывает определенные сложности при исследовании и дальнеишем использовании в реально
функционирующих СДО. Далее рассмотрим особенности программнои реализации алгоритмов
решения прикладных задач, связанных со статистическои обработкои данных, и используемых
вероятностных моделеи относительно взаимодеиствия с серверным и клиентским программным
обеспечением.
      </p>
      <p>СДО МАИ CLASS.NET обладает клиент-сервернои архитектурои, то есть часть деиствии,
например, отображение курсов, происходит на стороне клиента (пользователя), а другая часть на
стороне сервера, например, хранение и обработка информации из базы данных, вычисление
статистических показателеи пользователя. Как и в большинстве современных распространенных
систем, в СДО МАИ CLASS.NET отдельно происходит формирование статического и динамического
контента: статические элементы страницы (фаилы CSS (Cascading Style Sheets), js-фаилы (JavaScript),
изображения и т.д.) хранятся на стороннем сервере, что снижает нагрузку на систему генерации
динамического контента: задании, теоретических материалов курсов и статистическои
информации пользователя.</p>
      <p>Для хранения статистическои и прочеи пользовательскои информации используется
система управления базами данных (СУБД) MySQL. При обработке данных взаимодеиствие с базои
организовывается посредством запросов и скриптов на языке программирования PHP, которыи
является одним из наиболее распространенных языков, применяющихся для создания и работы
веб-сервисов. Архитектура серверов позволяет использовать также другие языки
программирования, например, Python. Преимущество использования различных языков
заключается в том, что один и тот же алгоритм может выполняться за различное время в
зависимости от выбранного для реализации языка, либо средства одного языка позволяют
реализовать более сложные алгоритмы благодаря наличию определенных особенностеи,
например, дополнительных структур данных,значительно упрощающих процесс
программирования.</p>
      <p>Алгоритм решения задачи формирования ограниченных по времени тестов основан на
модификации метода ветвеи и границ и проверке выполнения вероятностного ограничения
методом Монте-Карло, что требует большого количества вычислении. Для реализации подобных
алгоритмов требуются дополнительные вычислительные средства, например, при использовании
языка программирования Python удобно воспользоваться средствами специальных библиотек. В
СДО МАИ CLASS.NET алгоритм был реализован на PHP, при этом дополнительно были разработаны
генератор реализации логарифмически нормальных случаиных величин, а также внесены
изменения в базу данных и js-фаилы для возможности фиксирования времени, которое
потребовалось пользователю, чтобы решить и ответить на задания системы.</p>
      <p>В отличие от задачи формирования ограниченных по времени тестов задача оценивания
уровнеи сложности тестов на основе метода максимального правдоподобия удобнее реализуется
при помощи Python с использованием средств свободно распространяемых библиотек с открытым
кодом, позволяющих расширить возможности работы с массивами данных и использовать
специальные математические функции.</p>
      <p>
        В терминах, используемых в [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], опишем работу программнои реализации математических
алгоритмов. В архитектуре СДО МАИ CLASS.NET существует разделение формирования
статического (CSS-фаилы, js-фаилы и другие) и динамического (задания, теоретические материалы,
статистическая информация) контента, что позволяет снизить нагрузку на сервер. Генерация
динамического контента происходит при непосредственном взаимодеиствии с базои данных
пользователеи и базои контента, которая разделяется на 3 основных компонента: &lt;&lt;Проверщик&gt;&gt;,
&lt;&lt;Оценщик&gt;&gt;, &lt;&lt;Генератор&gt;&gt; (рис.1). Программные реализации всех математических алгоритмов
осуществлены в компоненте &lt;&lt;Оценщик&gt;&gt;, которыи взаимодеиствует с базои данных для
получения статистическои информации о пользователях и для изменения информации о заданиях,
например, корректировки сложности и интегрального реитинга.
      </p>
      <p>Для организации выполнения реализованных в системе математических алгоритмов,
требующих большого числа вычислении, используется планировщик задании, позволяющии
автоматизировать запуск выполнения программного комплекса в определенное ранее заданное
время, что позволяет правильно распределить нагрузку на сервер. Также важно учесть
приоритетныи порядок выполнения алгоритмов и исключить проблемы синхронизации запросов
к базе данных со статистическои информациеи, чтобы работа алгоритмов не вызвала сбои или
чтение некорректных данных.</p>
      <p>Приоритетныи порядок работы программных реализации в компоненте &lt;&lt;Оценщик&gt;&gt;
задан следующим образом:
1. оценка сложности заданий;
2. интегральный рейтинг;
3. формирование тестов с заданной суммарной сложностью заданий.</p>
      <p>Рис.1. Масштабируемая система дистанционного обучения
Для решения проблемы синхронизации запросов к базе данных используются механизмы
блокировок и транзакции, которые доступны в СУБД MySQL.</p>
      <p>Большинство алгоритмов, используемых в работе СДО МАИ CLASS.NET, требовательны в
плане вычислении. В условиях реально функционирующеи СДО следует учитывать такие факторы,
как технические характеристики серверного оборудования, программное обеспечение на сервере,
возможность изменения и добавления нового ПО, архитектура СДО, посещаемость и использование
СДО пользователями в определенное время суток и другие характеристики, которые позволяют
оценить готовность и устоичивость системы к объемным вычислениям. Например, на данныи
момент СДО МАИ CLASS.NET обслуживает более 3000 пользователеи в семестр. Очевидно, что при
одновременном использовании системы всеми пользователями проводить дополнительные
вычисления нецелесообразно, так как это может замедлить скорость работы СДО. В течение
семестра для периода в одни сутки можно определить пиковые часы ≈ 7ч (обычно вечерние в
период с 18:30 до 1:30 часов) и часы с наименьшеи активностью ≈ 5ч (утренние в период с 5:00
до 10:00 часов). Также очевидно, что ближе к концу семестра активность пользователеи в СДО резко
возрастает, что уменьшает период наименьшеи активности до ≈ 3ч.</p>
      <p>Архитектура СДО МАИ CLASS.NET позволяет интегрировать её в другие системы
дистанционного обучения, например, Moodle посредством взаимодеиствия с Moodle API. Такая
модель организации дистанционного образовательного процесса позволяет использовать
преимущества и нивелировать недостатки обеих систем. В первую очередь СДО МАИ позволяет
унифицировать подход к обучению математическим дисциплинам и обеспечивает доступ к
различным статистическим показателям. Также адаптивные алгоритмы, разработанные для СДО
CLASS.NET, могут быть реализованы как программные плагины для других систем дистанционного
обучения и интегрированы в них.</p>
      <p>В случае интеграции систем остро встаёт вопрос о безопасности взаимодеиствующих СДО и
соответствующих связываемых программных компонент при передаче информации. Для
обеспечения безопасности СДО CLASS.NET были рассмотрены каналы потенциальных угроз.
Построена экспертная модель потенциальных угроз. Для этого проведен анализ связеи СДО
CLASS.NET и построена текущая модель связеи системы с СДО по стандарту IDEF-0. Текущая
реализация использует контеинерную архитектуру OpenVZ для виртуализации компонентов.
Открытость исходных кодов проекта OpenVZ позволяет как коммерческим компаниям, так и
мировому сообществу проводить сканирование кода управляющеи системы (далее гипервизора
[7]) для выявления недекларированных возможностеи (далее НДВ), что положительно сказывается
на уровне безопасности кода (см. рис.2). В приведеннои на рис.2 диаграмме отображается модель
связеи компонентов СДО с внешнеи средои, а также логические отношения компонентов СДО между
собои. Диаграмма составлена по стандарту IDEF0 функционального моделирования и позволяет
оценить потенциальные каналы атак. Для наглядности взаимного расположения компонентов СДО
указана легенда с идентификаторами компонентов.</p>
      <p>Рис.2. Модель связей СДО CLASS.NET
СДО функционирует в сетевои среде вуза, а также доступна из глобальнои сети. Таким
образом, сетевые интерфеисы модуля приложения во внутреннюю и внешнюю сети являются
точками демаркации для контура безопасности. Первичнои мерои безопасности является изоляция
интерфеисов управления от каналов передачи пользовательских данных и настроики контента СДО
в отдельную сеть управления. Реализация такои сети возможна на уровне коммутации (по
технологии VLAN), а также с помощью виртуальных частных сетеи (VPN). В системе безопасности
СДО МАИ CLASS.NET использован второи вариант как более гибкии с точки зрения управления
безопасностью доступа и дающии возможность каскадирования VPN сервера с дополнительными
серверами проверки (NAC), службами коммутации (NAT) и шлюзами аутентификации
пользователеи (RADIUS).</p>
      <p>Для предупреждения массированных сетевых атак и попыток эксплуатации уязвимостеи с
помощью специально созданных сетевых пакетов канал доступа к инфраструктуре контролируется
с помощью сканера сетевых атак. Сканер работает как система раннего оповещения о начале атаки.
Общии межсетевои экран (далее МЭ) настроен на фильтрацию сетевых пакетов от непроверенных
источников. В том числе, на уровне глобального МЭ есть возможность настроить геофильтр и
черныи список адресов для блокировки крупных сегментов внешнеи сети, как первая мера защиты
от массированных сетевых атак. Схема безопасности сети (см. рис.3) построена также с учетом
возможности захвата злоумышленником одного из внутренних серверов таких, как система-модуль
СДО.</p>
      <p>
        Приложение СДО построено с учетом возможности работы в среде с распределением
нагрузки [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], и выход из строя $N-1$ модулеи распределенного приложения (где $N$ - общее число
модулеи) не должно повлиять на функционал и доступность системы в целом. Для блокировки
возможности злоумышленника использовать захваченные модули как площадку для вторжения во
внутреннюю сеть предусмотрена схема автоматическои микросегментации сети посредством
использования локальных МЭ. Для усиления безопасности расположение модулеи локальных МЭ и
средств управления ими должно быть внешним по отношению к самим модулям СДО. В качестве
оптимального варианта локальные правила МЭ нужно применять и настраивать на уровне
виртуального коммутатора с использованием движка модуля управления настроиками в качестве
контроллера конфигурации МЭ. Для распределения нагрузки между модулями СДО использован
модуль реверс-прокси.
      </p>
      <p>Рис.3. Схема сети СДО CLASS.NET и каналов передачи служебных сигналов
Такои модуль способен реализовать несколько функции обеспечения одновременно
безопасности и надежности работы СДО. Для защиты канала передачи контента в СДО
реверспрокcи модуль может выступать как звено консолидации трафика с модулеи СДО по HTTP каналу,
шифрования канала и отдачи далее пользователю контента по HTTPS протоколу с подписанным
сертификатом безопасности. При возникновении сетевои атаки реверс-прокси закрывает собои
веб-серверы приложения и способен выдержать значительно более серьезную атаку за счет
легковесности и целевои специфики работы. В случае выхода из строя всех N модулеи СДО,
например, как следствие ошибки при обновлении/конфигурации или иных служебных операции,
реверс-прокси способен самостоятельно отдавать пользователям контент СДО из своего кэша,
эмулируя тем самым корректную работу статическои части СДО, например, модуля «Теория».</p>
      <p>Для принятия решения о запуске мер пресечения атаки, а также для дальнеишего разбора
инцидента в системе ведется подробныи журнал событии в инфраструктуре СДО. Для пресечения
возможности подмены или затирания журнала злоумышленником при захвате модулеи СДО
инструмент журналирования размещен на отдельном сервере и настроен как единая точка сбора
журналов со всех компонентов инфраструктуры (на схеме рис.3 указаны лишь некоторые из
каналов журналирования и управления для улучшения читаемости). Анализ журнала человеком
является трудоемкои процедурои с низкои скоростью принятия решении, поэтому проведена
автоматизация поиска корреляции в журнале событии с библиотекои шаблонов типовых атак.
Анализатор журнала реализован как отдельныи сервер с возможностью вызова команд управления
на модуле управления настроиками [8].</p>
      <p>Все указанные на схеме сетевои безопасности модули реализованы как виртуальные
машины, а также ряд модулеи, не связанных с сетевои коммутациеи, реализован как виртуальные
контеинеры. Реализация самих описанных ранее модулеи безопасности и контроля за
инфраструктурои СДО может быть различнои. В рамках текущеи работы предлагается набор</p>
      <p>Табл.1. Вариант реализации приложений обеспечения контуров безопасности
Компонент
Сканер сетевых атак</p>
      <p>Сервер VPN
Реверс-прокси
Глобальныи МЭ
Виртуальныи коммутатор
Сервер журналирования</p>
      <p>Сервер аналитики
Модуль управления настроиками
Реализация
Suricata 1.4.4
SoftEther 4.19</p>
      <p>Nginx 1.8.0</p>
      <p>PfSense 2.2.6</p>
      <p>Open vSwitch 2.4.0
Logstash 1.8 + ElasticSearch 2.1</p>
      <p>OSSEC 2.8.3
Ansible 1.9.4
Заключение</p>
      <p>В работе рассмотрены технологии реализации и адаптации программного комплекса
интеллектуальнои поддержки функционирования СДО МАИ CLASS.NET, а также обсуждается
концепция обеспечения безопасности системы. Благодаря используемому подходу обеспечивается
отказоустоичивость, безопасность и эффективность работы системы. Характеристики, получаемые
в результате обработки статистических данных, работы студентов могут быть легко
импортированы в любую систему автоматизации работы вуза. Используемые средства обеспечения
безопасности СДО существенно повышают надежность ее работы, что подтверждается
многолетним опытом эксплуатации системы в МАИ.</p>
      <p>Литература</p>
      <p>References
Об авторах:
Кибзун Андрей Иванович, профессор, заведующии кафедры «Теория вероятностеи» факультета «Прикладная математика
и физика» Московского авиационного института (национального исследовательского университета), доктор
физико-математических наук, kibzun@mail.ru;
Мартюшова Янина Германовна, старшии преподаватель кафедры «Теория вероятностеи» факультета «Прикладная
математика и физика» Московского авиационного института (национального исследовательского
университета), ma1554@mail.ru;
Мхитарян Георгий Араикович, магистрант кафедры «Теория вероятностеи» факультета «Прикладная математика и
физика» Московского авиационного института (национального исследовательского университета),
grgmkn@mail.ru;
Наумов Андрей Викторович, профессор кафедры «Теория вероятностеи» факультета «Прикладная математика и физика»
Московского авиационного института (национального исследовательского университета), доктор
физикоматематических наук, naumovav@mail.ru;</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Наумов</surname>
            <given-names>А</given-names>
          </string-name>
          .В,
          <string-name>
            <surname>Джумурат</surname>
            <given-names>А</given-names>
          </string-name>
          .С.,
          <string-name>
            <surname>Иноземцев</surname>
            <given-names>А</given-names>
          </string-name>
          .И. «
          <article-title>Система дистанционного обучения математическим дисциплинам CLASS</article-title>
          .NET» // Вестн. компьют. и информ.
          <source>технологии. - 2014</source>
          . -
          <fpage>Т</fpage>
          .1, №10, стр.
          <fpage>36</fpage>
          -
          <lpage>40</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          5.
          <string-name>
            <surname>G.Rasch.</surname>
          </string-name>
          «
          <article-title>Probabilistic models for some intelligence</article-title>
          and attainment tests» // The University of Chicago Press -
          <year>1980</year>
          ..
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          6.
          <string-name>
            <surname>Wim</surname>
            <given-names>J. van der Linden.</given-names>
          </string-name>
          «Conceptual Issues in Response-Time Modeling» // Law School Admission Council,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>Naumov A.V.</given-names>
            ,
            <surname>Dzhumurat</surname>
          </string-name>
          <string-name>
            <given-names>A.S.</given-names>
            ,
            <surname>Inozemtsev</surname>
          </string-name>
          <string-name>
            <surname>A.O.</surname>
          </string-name>
          «
          <article-title>Distance Learning System for Mathematical Disciplines CLASS</article-title>
          .NET » // Herald of computer and information technologies,
          <year>2014</year>
          ., vol.
          <volume>1</volume>
          , no.
          <issue>10</issue>
          , pp.
          <fpage>36</fpage>
          -
          <lpage>40</lpage>
          Kibzun
          <string-name>
            <given-names>A.I.</given-names>
            ,
            <surname>Panarin</surname>
          </string-name>
          <string-name>
            <surname>S.I. «</surname>
          </string-name>
          <article-title>The formation of integral rating by statistical processing of test results</article-title>
          »// Automation and Remote Control},
          <year>2012</year>
          , vol.
          <volume>1</volume>
          , issue 6, pp.
          <fpage>119</fpage>
          -
          <lpage>139</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>Kibzun A.I.</given-names>
            ,
            <surname>Inozemtsev</surname>
          </string-name>
          <string-name>
            <surname>A. O.</surname>
          </string-name>
          «
          <article-title>Evaluation of test difficulty levels based on the maximum likelihood estimation</article-title>
          »// Automation and Remote Control,
          <year>2014</year>
          , vol.
          <volume>1</volume>
          ,
          <issue>issue4</issue>
          , pp.
          <fpage>20</fpage>
          -
          <lpage>37</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <given-names>Naumov A.V.</given-names>
            ,
            <surname>Inozemtsev</surname>
          </string-name>
          <string-name>
            <surname>A. O.</surname>
          </string-name>
          «
          <article-title>The algorithm of formation of individual tasks in distance learning systems</article-title>
          »//Herald of computer and information technologies,
          <year>2013</year>
          ., vol.
          <volume>1</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>35</fpage>
          -
          <lpage>42</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Rasch</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <article-title>«Probabilistic models for some intelligence</article-title>
          and attainment tests»//The University of Chicago Press,
          <year>1980</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Wim J. van der Linden.</surname>
          </string-name>
          «Conceptual Issues in Response-Time Modeling»// Law School Admission Council,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>Rybalko</given-names>
            <surname>А.А</surname>
          </string-name>
          . «
          <article-title>Virtualization as the foundation of computer security systems of new generation</article-title>
          »//Vestnik Moskovskogo Aviatsionnogo Instituta,
          <year>2009</year>
          . vol.
          <volume>16</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>12</fpage>
          -
          <lpage>18</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <given-names>Rybalko</given-names>
            <surname>А.А</surname>
          </string-name>
          . «
          <article-title>Modelling cloud protection with virtualization mechanisms</article-title>
          »//Vestnik Moskovskogo Aviatsionnogo Instituta,
          <year>2010</year>
          . vol.
          <volume>16</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>143</fpage>
          -
          <lpage>149</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>