safe exam browser что отслеживает
1000 и 1 способ обойти Safe Exam Browser
Ну ладно, не 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-адрес экзаменационного ресурса, список разрешенных/запрещенных приложений и сайтов, разрешения на загрузку файлов из Интернет, работу в виртуальной машине и т.д.
Большой простор для творчества и фантазии, не так ли?) Что же, приступим.
Для тестирования нам потребуется: программа 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:
Видим, что SEB способен определить виртуальные машины производителей, которые перечислены в коде! А что, если мы изменим конфиг виртуальной машины, подменив, тем самым, производителя?
Сказано — сделано! Открываем конфигурационный файл VmWare и добавляем следующую строку:
Теперь manufacturer model виртуальной машины станет таким же, как и у основной машины. Запускаем виртуальную машину, на ней включаем SEB и пытаемся получить доступ к тесту — все работает!
3. Компиляция новых версий SEB
А теперь переходим к самому интересному — компиляции «своей» версии SEB! Исходный код доступен здесь. Самое интересное, что конфигурационный файл SEB не отслеживает целостность десктопного приложения (либо отслеживает так, что мы смогли без проблем поменять большую часть кода, хи-хи), тогда как целостность конфигурационного файла, присланного экзаменатором, проверяется строже некуда.
3.1 Запуск в виртуальной машине
Итак, нужно всего лишь в приведенном выше коде закомментировать строчку с нужной ВМ:
В данном случае мы скомпилировали программу таким образом, чтобы она вообще не реагировала на запуск в виртуальной машине VirtualBox. Но есть одно важное замечание: если наши читатели решат воспользоваться данным способом, то необходимо убрать/изменить логгирование событий! Виртуальная машина запустится без проблем, но в логах обязательно отразится запуск через VirtualBox.
3.2 Очистка буфера обмена
Когда SEB включается, он автоматически очищает буфер обмена. Таким образом, все, что скопировал студент до запуска SEB, в SEB не попадет. Что же, вызов принят!
Здесь можно пойти двумя путями:
При этом лучше оставить последующее логгирование — чтобы проверяющий не понял, что с собой в 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 с урезанным функционалом — великое множество, тут все упирается только в воображение креативных и трудолюбивых студентов!
Закончим статью народной мудростью: остановить студента в поиске халявы может только еще большая халява!
1000 и 1 способ обойти Safe Exam Browser
Ну ладно, не 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-адрес экзаменационного ресурса, список разрешенных/запрещенных приложений и сайтов, разрешения на загрузку файлов из Интернет, работу в виртуальной машине и т.д.
Большой простор для творчества и фантазии, не так ли?) Что же, приступим.
Для тестирования нам потребуется: программа 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:
Видим, что SEB способен определить виртуальные машины производителей, которые перечислены в коде! А что, если мы изменим конфиг виртуальной машины, подменив, тем самым, производителя?
Сказано — сделано! Открываем конфигурационный файл VmWare и добавляем следующую строку:
Теперь manufacturer model виртуальной машины станет таким же, как и у основной машины. Запускаем виртуальную машину, на ней включаем SEB и пытаемся получить доступ к тесту — все работает!
3. Компиляция новых версий SEB
А теперь переходим к самому интересному — компиляции «своей» версии SEB! Исходный код доступен здесь. Самое интересное, что конфигурационный файл SEB не отслеживает целостность десктопного приложения (либо отслеживает так, что мы смогли без проблем поменять большую часть кода, хи-хи), тогда как целостность конфигурационного файла, присланного экзаменатором, проверяется строже некуда.
3.1 Запуск в виртуальной машине
Итак, нужно всего лишь в приведенном выше коде закомментировать строчку с нужной ВМ:
В данном случае мы скомпилировали программу таким образом, чтобы она вообще не реагировала на запуск в виртуальной машине VirtualBox. Но есть одно важное замечание: если наши читатели решат воспользоваться данным способом, то необходимо убрать/изменить логгирование событий! Виртуальная машина запустится без проблем, но в логах обязательно отразится запуск через VirtualBox.
3.2 Очистка буфера обмена
Когда SEB включается, он автоматически очищает буфер обмена. Таким образом, все, что скопировал студент до запуска SEB, в SEB не попадет. Что же, вызов принят!
Здесь можно пойти двумя путями:
При этом лучше оставить последующее логгирование — чтобы проверяющий не понял, что с собой в 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 с урезанным функционалом — великое множество, тут все упирается только в воображение креативных и трудолюбивых студентов!
Закончим статью народной мудростью: остановить студента в поиске халявы может только еще большая халява!
Support Frequently Asked Questions
FAQ for Windows and macOS
Safe Exam Browser for Windows
There is also a command line tool which can be used to reset those values for the unlikely case that the SEB Windows Service (a background service which is part of SEB) didn’t work properly or was damaged and can’t be run anymore.This tool can be found at the following directory path in your Program Files directory:
SafeExamBrowser\SebWindowsServiceWCF\SebRegistryResetter.exe
(see manual for details how to use the registry resetter tool).
When SEB is installed, the file type with the file extension .seb and the custom URL protocols seb:// and sebs:// (the latter starting SEB 2.1.1) are registered. These associations are removed when SEB is being uninstalled.
Safe Exam Browser for macOS
Open System Preferences / Keyboard, re-select «Touch Bar shows: App Controls» or the mode you had set before. You have to manually select App Controls in the popup-menu, even if it looks like it is already selected. Then the Touch Bar is back to the setting you had before.В
SEB normally resets the Touchbar mode when quitting to the mode you were using before. Up to macOS 10.15 Mojave, this isn’t possible automatically for the App Controls mode, you then you have to select this mode again manually in the System Preferences / Keyboard pane.
Upcoming SEB versions will support the new Assessment Mode in macOS 10.15.4 and newer, where we don’t need to manually switch the Touch Bar mode.
defaults write com.apple.screencapture location
/Desktop && killall SystemUIServer
Additional Resources
Please also check the following pages:
Please find support following the links below to our Sourceforge project site. The SEB team will answer your questions there.
We kindly request you to first read the SEB manuals and search the discussion board for duplicate questions before asking. You’ll save us time, which we can better spend in improving SEB.
Please always mention, which SEB version and which operating system you are using (for example Windows 7, Windows 8/8.1, Windows 10, OS X 10.11, 10.10, 10.9, 10.8, 10.7, 10.6) and possibly other details about your system!
Otherwise we cannot answer your questions properly!
1000 и 1 способ обойти Safe Exam Browser
Ну ладно, не 1000 и 1 способ, но их довольно много! О чем это мы? О том, что пандемия COVID-19 внесла много изменений в нашу жизнь, в том числе, и в образование — как школьное, так и ВУЗовское. Уроки, лекции и семинары перешли в онлайн-формат, а вопрос, как быть с контролем успеваемости, остался. Как преподавателям убедиться, что сдающий экзамен студент не открыл в соседней вкладке шпаргалки?
Шёл 2020-й год… Весь мир в панике, курс рубля падает, государства переходят в режим ЧС… Несмотря на все это, основное желание среднестатистического студента остается прежним — сдать сессию с наименьшими затратами сил и времени на подготовку. Казалось бы, с переходом на дистанционное обучение для студента все стало проще — нужно всего лишь сделать умное лицо при ответе на вопрос по веб-камере, а прочитать материал можно и с параллельно открытого документа на компьютере. Но не тут-то было!
Многие российские ВУЗы для проверки успеваемости студентов внедрили программу Safe Exam Browser, которая предотвращает практически все попытки читерства. Конечно, для находчивых студентов и это не препятствие — ведь можно гуглить ответы на тест и на втором компьютере (или попросить погуглить друга).
Но, поскольку мы в душе тру хацкеры, мы решили проверить, насколько этот SEB действительно помогает при проведении экзаменов и как все же программно обойти его чуткий контроль (при условии, что студент обладает базовыми навыками работы на компьютере, не впадает в ужас от слов «виртуальная машина» и знает, как установить плагин для браузера Mozilla Firefox). Готовы? Поехали!
Что такое Safe Exam Browser (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
Ловкость рук и немного мошенничества — и теперь можно спокойно приступать к тесту, параллельно открыв гугл в соседней вкладке! 🙂
2. Изменение конфигурационного файла виртуальной машины
Предыдущий способ, конечно, очень прост и понятен, однако вполне может возникнуть ситуация, что экзаменатором собираются еще и логи экзамена — а SEB как раз логгирует все свои события: выключение неразрешенных процессов, очистку буфера обмена и многое другое. Поэтому надо найти способ читерить с включенным SEBом!
Сначала мы решили посмотреть, можно ли включить SEB на виртуальной машине. Здесь, к сожалению, нас постигла неудача — в таких условиях SEB даже не позволяет себя запустить. Но как-то же он понимает, что используется виртуальная машина!
Было опасение, что SEB использует не очень приятные для студента способы вроде обнаружения процессов и сервисов виртуальной машины (ВМ) в системе, но при изучении исходного кода было выяснено, что проверка на запуск из ВМ происходит в функции IsInsideVM() файла SEBWindowsClientMain.cs:
Видим, что SEB способен определить виртуальные машины производителей, которые перечислены в коде! А что, если мы изменим конфиг виртуальной машины, подменив, тем самым, производителя?
Сказано — сделано! Открываем конфигурационный файл VmWare и добавляем следующую строку:
Теперь manufacturer model виртуальной машины станет таким же, как и у основной машины. Запускаем виртуальную машину, на ней включаем SEB и пытаемся получить доступ к тесту — все работает!
3. Компиляция новых версий SEB
3.1 Запуск в виртуальной машине
Итак, нужно всего лишь в приведенном выше коде закомментировать строчку с нужной ВМ:
В данном случае мы скомпилировали программу таким образом, чтобы она вообще не реагировала на запуск в виртуальной машине VirtualBox. Но есть одно важное замечание: если наши читатели решат воспользоваться данным способом, то необходимо убрать/изменить логгирование событий! Виртуальная машина запустится без проблем, но в логах обязательно отразится запуск через VirtualBox.
3.2 Очистка буфера обмена
Когда SEB включается, он автоматически очищает буфер обмена. Таким образом, все, что скопировал студент до запуска SEB, в SEB не попадет. Что же, вызов принят!
При этом лучше оставить последующее логгирование — чтобы проверяющий не понял, что с собой в 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 с урезанным функционалом — великое множество, тут все упирается только в воображение креативных и трудолюбивых студентов!
Закончим статью народной мудростью: остановить студента в поиске халявы может только еще большая халява!