Сейф экзам браузер как обойти

Обновлено: 05.07.2024

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

Вероятно, такие жёсткие меры не применяются вместе с SEB, но это лишь мое предположение

Оу, я каким-то образом пропустил эти строки в статье. Моя кульпа. Да, вы правы, но наш опыт (среди российских ВУЗов) показал, что во время именно прохождения тестов веб-камеры не были задействованы. А при устных ответах на вопрос с использованием веб-камер находчивые студенты смотрят в разные стороны, вспоминая материал :) Возможно, где-то действительно применяются более жесткие меры (например, для выпускников школ), но пока что в ВУЗах мы такого не встречали!

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

Олимпиаду не списывал, если кому-то это важно :)

Слышал про технологию ответа учителю с закрытыми глазами. Не практиковали? )

Просят снимать стол второй камерой, например телефоном.

Честно скажу, что для обывателя установить SEB — уже проблема (наблюдал, помогал). Какое уж там хакерство.

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

Поставить второй комп рядом, подключить компы, клаву с мышкой и монитор через КВМ и под столом педалькой переключать )))

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

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

Понимаю, что вопрос с подвохом. Но вот подвоха в упор не вижу. Написали бы все тоже, но по линейной алгебре, и это был бы вызов)
А по программированию, в чем проблема? Прежде всего, надо принять факт, что цель не в том, чтобы максимально точно отранжировать студентов, а том, чтобы дать навык, хз, как перевести, real world programming, решать свои задачи при помощи написания кода, уметь говорить на одном языке с профессиональными программистами.

Поэтому, я за личные маленькие проекты. Которые не должны в себе содержать вещи типа алгоритма Дейкстры, но должны
1) не повторять друг друга
2) быть написанными на мейнстримном языке. В идеале js, как для фронта, так и бека, можно python, но точно не C++ или Delphi
3) иметь хотябы микроскопическую, но пользу.
4) иметь побольше интеграций готовых компонент, API, готового ПО (СУБД, например)
5) размещены на github, и быть запущеными не на ноутбуке студента из под дебага, а на free tier публичного облака.

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

Если же надо что-то на пару часов, то задача типа "спарсить курс биткойна и послать по имейл" с разрешенным гуглежом. Если опытные синиоры с SO не слазят, то зачем студенту запрещать?

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


Ну ладно, не 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 представляет собой приложение с интуитивно понятным интерфейсом:


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

Большой простор для творчества и фантазии, не так ли?) Что же, приступим.

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

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:


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

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


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

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

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

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

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


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

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

Здесь можно пойти двумя путями:

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


Таким образом, с собой в 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 с урезанным функционалом — великое множество, тут все упирается только в воображение креативных и трудолюбивых студентов!

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

Эл. об. (5 группа)

Эл. об. (5 группа)

Эл. об. (5 группа) запись закреплена

Инструкция по установке Safe Exam Browser

Если вы работаете в браузере Firefox, то закройте его. Safe Exam Browser основан на Firefox и не может работать с ним одновременно.

8. Возвращаемся к п.1. и нажимаем на «Конфигуратор ИЭ» (см. фото 6);
9. Начнётся скачивание. Найдите скачанный файл (по умолчанию файлы скачиваются в «Загрузки») и откройте его двойным нажатием левой кнопкой мыши на него. (cм. фото 7);
10. Запустится Safe Exam Browser и применит настройки, о чем сообщит вам во всплывающем окне «SEB Re-Configured» и спросит о желании выйти из Safe Exam Browser (ДА/НЕТ) (см. фото 8);
11. При следующих запусках Safe Exam Browser будет открывать портал СДО ИЭ, с которым вы можете работать как обычно, но теперь вам доступны для выполнения тесты под Safe Exam Browser (см. фото 9);
(данная инструкция прописана в файле "Инструкция по установке и настройке Safe Exam Browser для сдачи тестов", прикреплено ниже)

Дополнительно:
На зачете необходимо войти в MS Teams для общения с преподавателем до запуска Safe Exam Browser, так как последний уже не позволит запустить какие-либо приложения.
Крайне рекомендуется, чтобы MS Teams был установлен отдельным приложением, а не открыт в браузере, так как MS Teams отдельным приложением работает значительно стабильнее, а запустить MS Teams в Firefox + Safe Exam Browser вообще не представляется возможным.
Обучающийся самостоятельно обеспечивает наличие необходимого оборудования для прохождения промежуточной аттестации с применением ЭО и ДОТ, минимальный комплект которого составляют:
· компьютер с выходом в Интернет со скоростью не менее 2 Мбит/с и системными требованиями – Windows 7 и выше/ Mac OS X 10.10 и выше.
· наушниками (либо колонками); web-камерой; микрофоном, или мобильным телефоном с камерой с разрешением не менее 3 МП.



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

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


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

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

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

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

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


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


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

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

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:

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

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


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

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

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

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

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


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

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

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

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


Таким образом, с собой в 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 с урезанным функционалом — великое множество, тут все упирается только в воображение креативных и трудолюбивых студентов!

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

Читайте также: