Русский
Русский
English
Статистика
Реклама

Удаленное образование

1000 и 1 способ обойти Safe Exam Browser

31.07.2020 16:11:33 | Автор: admin

Ну ладно, не 1000 и 1 способ, но их довольно много! О чем это мы? О том, что пандемия COVID-19 внесла много изменений в нашу жизнь, в том числе, и в образование как школьное, так и ВУЗовское. Уроки, лекции и семинары перешли в онлайн-формат, а вопрос, как быть с контролем успеваемости, остался. Как преподавателям убедиться, что сдающий экзамен студент не открыл в соседней вкладке шпаргалки?

В России эту проблему решили с помощью open-source программы Safe Exam Browser (SEB). Казалось бы, теперь ни один искатель халявы не сможет смухлевать, но так ли уж неприступна эта крепость? Заходи под кат, сегодня мы расскажем и покажем кучу способов обмануть SEB!


Шёл 2020-й год Весь мир в панике, курс рубля падает, государства переходят в режим ЧС Несмотря на все это, основное желание среднестатистического студента остается прежним сдать сессию с наименьшими затратами сил и времени на подготовку. Казалось бы, с переходом на дистанционное обучение для студента все стало проще нужно всего лишь сделать умное лицо при ответе на вопрос по веб-камере, а прочитать материал можно и с параллельно открытого документа на компьютере. Но не тут-то было!

Многие российские ВУЗы для проверки успеваемости студентов внедрили программу Safe Exam Browser, которая предотвращает практически все попытки читерства. Конечно, для находчивых студентов и это не препятствие ведь можно гуглить ответы на тест и на втором компьютере (или попросить погуглить друга).

Но, поскольку мы в душе тру хацкеры, мы решили проверить, насколько этот SEB действительно помогает при проведении экзаменов и как все же программно обойти его чуткий контроль (при условии, что студент обладает базовыми навыками работы на компьютере, не впадает в ужас от слов виртуальная машина и знает, как установить плагин для браузера Mozilla Firefox). Готовы? Поехали!

Что такое Safe Exam Browser (SEB)?


Safe Exam Browser (SEB) программа для проведения экзаменов, тестов и т.д. в режиме онлайн. Предусматривает защиту от:
  • открытия посторонних приложений (видео- и голосовой связи);
  • параллельного поиска информации в веб-браузере;
  • запуска приложения на виртуальной машине;
  • перехода на определенные сайты;
  • сохранения информации в буфере обмена перед входом в программу.

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



Конфигуратор SEB представляет собой приложение с интуитивно понятным интерфейсом:



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

Большой простор для творчества и фантазии, не так ли?) Что же, приступим.
Для тестирования нам потребуется: программа SEB, виртуальная машина (VmWare, VirtualBox), браузер Mozilla Firefox, что-нибудь для компиляции большого проекта на C# (автор использовал Visual Studio Code), какой-нибудь образовательный ресурс (например, тест на Moodle, настроенный только для работы с SEB).

Дисклеймер: при написании статьи автору очень помогла эта статья.

1. Смена user-agent браузера


Для реализации этого способа не потребуется практически никаких знаний и инструментов. Проверим, как реагирует тест на Moodle на запуск через обыкновенный веб-браузер:



Как видно из скриншота, SEB не позволяет получить доступ к тесту из обычного браузера.
Согласно документации, в качестве веб-браузера SEB использует XULRunner движок Gecko браузера Mozilla. Попробуем подменить user-agent браузера Mozilla на user-agent, указанный в конфигураторе SEB:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0 SEB

Установим какой-нибудь плагин для подмены user-agent, например, User-Agent Switcher, и добавим к нему следующий вариант:



Ловкость рук и немного мошенничества и теперь можно спокойно приступать к тесту, параллельно открыв гугл в соседней вкладке! :)



2. Изменение конфигурационного файла виртуальной машины


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

Сначала мы решили посмотреть, можно ли включить SEB на виртуальной машине. Здесь, к сожалению, нас постигла неудача в таких условиях SEB даже не позволяет себя запустить. Но как-то же он понимает, что используется виртуальная машина!

Было опасение, что SEB использует не очень приятные для студента способы вроде обнаружения процессов и сервисов виртуальной машины (ВМ) в системе, но при изучении исходного кода было выяснено, что проверка на запуск из ВМ происходит в функции IsInsideVM() файла SEBWindowsClientMain.cs:

private static bool IsInsideVM()        {            using (var searcher = new ManagementObjectSearcher("Select * from Win32_ComputerSystem"))            {                using (var items = searcher.Get())                {                    foreach (var item in items)                    {                        Logger.AddInformation("Win32_ComputerSystem Manufacturer: " + item["Manufacturer"].ToString() + ", Model: " + item["Model"].ToString(), null, null);                        string manufacturer = item["Manufacturer"].ToString().ToLower();                        string model = item["Model"].ToString().ToLower();                        if ((manufacturer == "microsoft corporation" && !model.Contains("surface"))                            || manufacturer.Contains("vmware")                            || manufacturer.Contains("parallels software")                             || manufacturer.Contains("xen")                            || model.Contains("xen"))                            || model.Contains("virtualbox"))                        {                            return true;                        }                    }                }            }            return false;        }


Видим, что SEB способен определить виртуальные машины производителей, которые перечислены в коде! А что, если мы изменим конфиг виртуальной машины, подменив, тем самым, производителя?

Сказано сделано! Открываем конфигурационный файл VmWare и добавляем следующую строку:



Теперь manufacturer model виртуальной машины станет таким же, как и у основной машины. Запускаем виртуальную машину, на ней включаем SEB и пытаемся получить доступ к тесту все работает!

3. Компиляция новых версий SEB


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

3.1 Запуск в виртуальной машине


Подмену производителя мы уже сделали в пункте 2, но как было бы круто создать версию SEB, которая запускается в любой виртуальной машине, верно? К тому же, сделать это более чем легко (если не считать танцев с бубном при попытках скомпилировать проект в первый раз а все из-за несходства платформ .NET).

Итак, нужно всего лишь в приведенном выше коде закомментировать строчку с нужной ВМ:



В данном случае мы скомпилировали программу таким образом, чтобы она вообще не реагировала на запуск в виртуальной машине VirtualBox. Но есть одно важное замечание: если наши читатели решат воспользоваться данным способом, то необходимо убрать/изменить логгирование событий! Виртуальная машина запустится без проблем, но в логах обязательно отразится запуск через VirtualBox.

3.2 Очистка буфера обмена


Когда SEB включается, он автоматически очищает буфер обмена. Таким образом, все, что скопировал студент до запуска SEB, в SEB не попадет. Что же, вызов принят!

Здесь можно пойти двумя путями:
  1. Покопаться в файле SEBClipboard.cs, убрать логгирование ошибок или немного изменить алгоритм очистки буфера обмена.
  2. Закомментировать строку в файле SEBWindowsClientMain.cs:

                 // Clean clipboard            //SEBClipboard.CleanClipboard();            Logger.AddInformation("Clipboard cleaned.", null, null);
    


    При этом лучше оставить последующее логгирование чтобы проверяющий не понял, что с собой в SEB вы захватили То-Что-Нельзя-Использовать-На-Экзамене :)


Воспользовавшись любым из этих способов, можно получить желанный результат:



Таким образом, с собой в SEB можно пронести любой текст, картинку словом, шпаргалку, которую можно поместить в буфер обмена.

3.3 Помощь друга или убираем запрет на Discord


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

Здесь есть простор для полёта фантазии, но, в целом, достаточно закомментировать подходящие по смыслу строки вроде processToClose.Kill(); в файле SEBNotAllowedProcessController.cs.
Также советуем рассмотреть строки SetForegroundWindow(windowHandle);, BringWindowToTop(windowHandle); и работу службы WatchDog. Грамотное выстраивание логики приложения и логгирования ключ к успеху!
И мы тем временем получили запущенный Discord при работающем SEB:



Что еще могут попробовать энтузиасты?


Вариантов осталось достаточно, хватит на 1000 и 1 бессонную ночь за компьютером. Например, можно перекомпилировать SEB так, чтобы он не запускался поверх всех окон, и его можно было бы свернуть как обычное приложение.

Также можно попробовать запустить SEB на других ОС (невероятно, но факт: очевидцы утверждают, что стандартный ВУЗовский конфиг для SEB на OS X даже голосовую связь по Discord остановить не может!).

Итак, способов собрать SEB с урезанным функционалом великое множество, тут все упирается только в воображение креативных и трудолюбивых студентов!

Закончим статью народной мудростью: остановить студента в поиске халявы может только еще большая халява!
Подробнее..

Из песочницы Корона-триггер назревшие изменения в экосистеме образования

19.06.2020 16:07:35 | Автор: admin
Пандемия наглядно продемонстрировала, насколько российская система образования не готова к диджитализации. Чтобы осознать это, потребовалось прямо-таки уткнуть себя в негативный опыт. Происходило вот что: уже работавшие онлайн-компании отрасли выросли в 4-5 раз. Прочие офлайновые в докороновирусном мире компании были вынуждены адаптироваться в пожарном режиме. Школы допобразования, тренинговые центры, даже преподаватели телесных практик срочно делали услуги дешевле и переносили их в интернет. Но труднее всех, пожалуй, пришлось школьному и высшему образованию.

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

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


Методология онлайн-обучения для школьной программы


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

Онлайн-программы также хороши возможностью учиться в индивидуальном ритме. Скорость восприятия, например, математики у детей может отличаться в 60 раз. Офлайн-урок аналогового образования линеен это трансляция материала некой усредненной аудитории. Учитель объясняет со средней скоростью, которая комфортна только для нескольких человек в классе: отличники поняли с полуслова и им скучно, двоечники не успевают. Что делают современные образовательные платформы с их передовыми алгоритмами, со специалистами по машинному обучению, с элементами искусственного интеллекта? Тот же Учи.ру дает ребенку знания в интерактивном режиме, позволяя выбирать недопонятые темы и комфортную скорость усвоения материала.

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

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

Разностороннее развитие и актуальные области знаний


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

Наставничество, социализация и командная работа


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

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

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

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

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

Самоорганизации и тайм-менеджмент


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

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

Путь трансформации


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

Прокторинг на стероидах, или как контролировать онлайн-экзамены

20.04.2021 10:21:38 | Автор: admin

Недавно ProctorEdu и КРОК запустили систему для контроля онлайн-тестирования на экономическом факультете МГУ. Она помогает наблюдать за студентами, которые сдают экзамен.

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

Такой подход к онлайн-обучению, прокторинг, первыми внедрили Coursera и Udemy. Разработчики ProctorEdu задумали собственную систему прокторинга в 2016 году именно для учебных заведений, но вскоре поняли, что она способна решать другие, более серьезные задачи.

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

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

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

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

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

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

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

Как это работает

Во время экзамена ProctorEdu ведет запись с камеры, микрофона и экрана компьютера.

Система отслеживает, кто находится в кадре: сравнивает человека с фотографией, сделанной перед началом тестирования, или со сканом паспорта, загруженного перед экзаменом.

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

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

На основе нарушений по формуле рассчитывается рейтинг достоверности результатов экзамена.

E [0, 100] оценка доверия (если E < 0, то E = 0), xk усредненное за сеанс значение метрики k, wk весовой коэффициент метрики k, M {b1,b2,c1,c2,...} метрикиE [0, 100] оценка доверия (если E < 0, то E = 0), xk усредненное за сеанс значение метрики k, wk весовой коэффициент метрики k, M {b1,b2,c1,c2,...} метрики

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

Протокол сеанса в PDF-форматеПротокол сеанса в PDF-формате

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

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

Проктор может развернуть видео на весь экран и приглядеться к происходящему, объяснить участнику, что тот делает не так, предупредить о нарушении, приостановить или досрочно завершить экзамен.

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

Ограничения браузера и детекция лиц

Запись камеры и экрана, распознавание лиц, логирование клавиатуры Это звучит не секьюрно, поэтому разработчики ProctorEdu сознательно отказались от идеи устанавливать свое ПО на компьютеры участников экзамена.

ProctorEdu работает через браузер при помощи супервизор SDK JavaScript-библиотеки, в которой реализованы алгоритмы машинного обучения.

SDK не требует установки расширений и плагинов. ProctorEdu интегрируется с сервисом онлайн-тестирования при помощи стандарта IMS LTI или нескольких API-команд. Система запускается на странице тестирования и работает параллельно с ним.

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

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

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

Разработчики с самого начала планировали запустить эти алгоритмы в браузере. Обычно такие задачи решают при помощи компиляции C++ в WebAssembly (Wasm). Считается, что это хорошая практика.

Чисто теоретически Wasm работает быстрее, чем JavaScript сценарий, но на практике выяснилось, что он медленнее, потребляет больше памяти и процессора, весит больше. Только загрузчик такого кода получается от 10 МБ.

Пришлось разрабатывать на JavaScript в несколько итераций. Первые версии были слабенькими и часто ошибались, но со временем команда ProctorEdu добилась стабильной работы и вывела это решение в продакшн.

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

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

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

Сейчас разработчики планируют перенести в браузер и алгоритм распознавания лиц. Пока что модель великовата (2030 Мбайт с учетом сжатия), это в то время как все SDK весит около 1 мегабайта. Но здесь стоит постараться и найти решение.

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

Серверная часть ProctorEdu

Кстати, об архитектуре системы.

Основной компонент ProctorEdu сервер приложений. Он работает на Node.js и занимается обработкой веб-запросов и веб-сокетных соединений. Сервер приложений связан с базой MongoDB. Там хранятся все данные, не являющиеся бинарными объектами. Для файлов, изображений, записей экзаменов предусмотрено отдельное S3-совместимое объектное хранилище.

Архитектура ProctorEdu включает отдельный сервис под API распознавания лиц и документов, и TURN-сервер для координации WebRTC-подключений между компьютерами участников.

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

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

Обычно ProctorEdu разворачивают на базе одного из российских хостингов, поддерживающих хранение персональных данных, но систему можно запустить и на локальном сервере, как в проекте с МГУ и КРОК.

Требования к железу невысокие: компьютер с восьмиядерным процессором и 8 ГБ оперативной памяти потянет порядка 500 одновременных сессий. Однажды ProctorEdu обслуживала больше 5 тыс. одновременных участников экзамена и понадобилось всего 6 серверов для обработки клиентских запросов.

Можно ли обмануть систему?

Можно, но не так, как это обычно пытаются сделать.

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

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

Конечно, это все легко детектируется.

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

Еще можно попробовать списывать при помощи удаленного рабочего стола или виртуальной машины. Отследить их с вкладки браузера практически невозможно. Чтобы закрыть эту возможность, в систему добавили интеграцию с Safe Exam Browser.

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

Конечно, и это не панацея. Если постараться, Safe Exam Browser можно обмануть. Еще можно раздобыть скрытые наушники или аппаратный сплиттер для мониторов. Любой алгоритм можно обойти, вопрос лишь в том, сколько усилий для этого потребуется. ProctorEdu делает так, чтобы было проще выучить, чем смухлевать. И наши клиенты подтверждают, что система успешно справляется с этой задачей.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru