1000 und 1 Möglichkeit, den Safe Exam Browser zu umgehen

Okay, nicht 1000 und 1 Weg, aber es gibt einige davon! Worüber reden wir? Die Tatsache, dass die COVID-19-Pandemie viele Veränderungen in unserem Leben bewirkt hat, auch in der Bildung - sowohl in der Schule als auch an der Universität. Lektionen, Vorträge und Seminare sind in das Online-Format übergegangen, aber die Frage, wie mit der Kontrolle des Fortschritts umzugehen ist, bleibt offen. Wie können Lehrer sicherstellen, dass der Schüler, der die Prüfung ablegt, die Spickzettel auf der nächsten Registerkarte nicht geöffnet hat?



In Russland wurde dieses Problem mit dem Open-Source-Programm Safe Exam Browser (SEB) gelöst . Es scheint, dass jetzt kein einziger Werbegeschenk-Sucher schummeln kann, aber ist diese "Festung" wirklich so unzugänglich? Kommen Sie unter den Schnitt, heute werden wir Ihnen eine Reihe von Möglichkeiten zeigen, wie Sie SEB betrügen können!



Das Jahr war 2020 ... Die ganze Welt ist in Panik, der Rubel fällt, die Staaten gehen in den Notfallmodus ... Trotz alledem bleibt der Hauptwunsch eines durchschnittlichen Schülers derselbe - die Sitzung mit dem geringsten Aufwand und der geringsten Zeit für die Vorbereitung zu bestehen. Es scheint, dass mit dem Übergang zum Fernunterricht für den Schüler alles einfacher geworden ist - Sie müssen nur ein kluges Gesicht machen, wenn Sie eine Frage auf einer Webcam beantworten, und Sie können das Material aus einem parallel geöffneten Dokument auf einem Computer lesen. Aber es war nicht da!



Viele russische Universitäten haben das Safe Exam Browser-Programm implementiert, um den Fortschritt der Studenten zu überprüfen, wodurch fast alle Betrugsversuche verhindert werden. Dies ist natürlich kein Hindernis für findige Schüler - Sie können die Antworten auf den Test auf einem zweiten Computer googeln (oder einen Freund bitten, ihn zu googeln).



Da wir jedoch im Herzen arbeiten, haben wir uns entschlossen zu prüfen, inwieweit diese SEB wirklich bei der Durchführung von Prüfungen hilft und wie sie ihre sensible Kontrolle programmgesteuert umgehen kann (vorausgesetzt, der Schüler verfügt über grundlegende Computerkenntnisse und wird durch die Worte nicht entsetzt. “ virtuelle Maschine “und weiß, wie das Plug-In für den Mozilla Firefox-Browser installiert wird). Bereit? Gehen!



Was ist der Safe Exam Browser (SEB)?



Safe Exam Browser (SEB) ist ein Programm zur Durchführung von Prüfungen, Tests usw. im Online-Modus. Bietet Schutz gegen:



  • Öffnen von Fremdanwendungen (Video- und Sprachkommunikation);
  • parallele Suche nach Informationen in einem Webbrowser;
  • Ausführen einer Anwendung in einer virtuellen Maschine;
  • zu bestimmten Orten gehen;
  • Speichern von Informationen in der Zwischenablage vor dem Aufrufen des Programms.


Die Architektur von SEB besteht aus zwei Teilen: einer Desktop-Anwendung und einem Browser. Die Anwendung wird auf dem Computer des Schülers ausgeführt und blockiert alle anderen Anwendungen mit Ausnahme derjenigen, die zum Bestehen der Prüfung erforderlich sind. Eine Interaktion über das Netzwerk ist nur mit dem SEB-Browser möglich, während der Browser eine Verbindung zu der Bildungsplattform herstellt, auf der der Test oder die Prüfung gehostet wird (z . B. Moodle ). Der Prüfer kann zulassen, dass Anwendungen von Drittanbietern wie Excel oder ein Taschenrechner während der Prüfung verwendet werden, und der Schüler kann sie dann starten. Alle diese Berechtigungen und sonstigen Einstellungen werden mit dem SEB-Konfigurator ausgeführt und in eine Konfigurationsdatei geschrieben, die anschließend von der Desktopanwendung gestartet wird.





Der SEB Configurator ist eine Anwendung mit einer intuitiven Oberfläche:





Hier können Sie die URL der Prüfungsressource, die Liste der zulässigen / verbotenen Anwendungen und Websites, die Berechtigungen zum Herunterladen von Dateien aus dem Internet, die Arbeit in einer virtuellen Maschine usw. festlegen.



Viel Raum für Kreativität und Fantasie, nicht wahr?) Nun, fangen wir an.



Zum Testen benötigen wir: SEB-Programm, virtuelle Maschine (VmWare, VirtualBox), Mozilla Firefox-Browser, etwas zum Kompilieren eines großen Projekts in C # (der Autor hat Visual Studio Code verwendet), einige Lernressourcen (z. B. einen konfigurierten Moodle-Test) nur für die Arbeit mit SEB).



Haftungsausschluss: Dieser Artikel hat mir beim Schreiben dieses Artikels sehr geholfen .



1. Ändern des Browser-Benutzeragenten



Für die Implementierung dieser Methode sind praktisch keine Kenntnisse und Werkzeuge erforderlich. Lassen Sie uns überprüfen, wie der Moodle-Test reagiert, wenn er über einen normalen Webbrowser gestartet wird:





Wie Sie dem Screenshot entnehmen können, erlaubt SEB keinen Zugriff auf den Test über einen normalen Browser.

Laut Dokumentation verwendet SEB XULRunner , die Gecko-Engine des Mozilla-Browsers , als Webbrowser. Versuchen wir, den Benutzeragenten des Mozilla-Browsers durch den im SEB-Konfigurator angegebenen Benutzeragenten



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



zu ersetzen : Installieren Sie ein Plug-In, um den Benutzeragenten zu ersetzen, z. B. User-Agent Switcher , und fügen Sie die folgende Option hinzu:







Fingerspitzengefühl und ein wenig Betrug - und jetzt können Sie sicher mit dem Test fortfahren und gleichzeitig Google im nächsten Tab öffnen! :) :)







2. Ändern der Konfigurationsdatei der virtuellen Maschine



Die vorherige Methode ist natürlich sehr einfach und unkompliziert, aber es kann vorkommen, dass der Prüfer auch die Prüfungsprotokolle sammelt - und SEB protokolliert nur alle Ereignisse: Deaktivieren nicht autorisierter Prozesse, Löschen der Zwischenablage und vieles mehr. Daher müssen wir einen Weg finden, um mit aktiviertem SEB zu betrügen!



Wir haben uns zunächst entschieden, ob SEB in einer virtuellen Maschine aktiviert werden kann. Hier haben wir leider versagt - unter solchen Bedingungen lässt sich die SEB nicht einmal starten. Aber irgendwie merkt er, dass eine virtuelle Maschine benutzt wird!



Es gab Bedenken, dass SEB Methoden verwendete, die für den Schüler nicht sehr angenehm waren, z. B. das Erkennen von Prozessen und Diensten einer virtuellen Maschine (VM) im System. Beim Studium des Quellcodes wurde jedoch festgestellt, dass die Überprüfung zum Starten von einer VM in der Funktion IsInsideVM () der Datei SEBWindowsClientMain.cs erfolgt:



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;
        }


Wir sehen, dass SEB virtuelle Maschinen von Herstellern erkennen kann, die im Code aufgeführt sind! Was aber, wenn wir die Konfiguration der virtuellen Maschine und damit den Hersteller ändern?



Gesagt, getan! Öffnen Sie die VmWare-Konfigurationsdatei und fügen Sie die folgende Zeile hinzu:







Jetzt entspricht das Herstellermodell der virtuellen Maschine dem der Hauptmaschine. Wir starten die virtuelle Maschine, schalten SEB ein und versuchen, auf den Test zuzugreifen - alles funktioniert!



3. Zusammenstellung neuer Versionen von SEB



Und jetzt kommen wir zum lustigen Teil - der Zusammenstellung "unserer" Version von SEB! Der Quellcode ist hier verfügbar . Das Interessanteste ist, dass die SEB-Konfigurationsdatei die Integrität der Desktop-Anwendung nicht nachverfolgt (oder nachverfolgt, damit wir den größten Teil des Codes problemlos ändern können, hee-hee), während die Integrität der vom Prüfer gesendeten Konfigurationsdatei strenger überprüft wird.



3.1 Ausführen in einer virtuellen Maschine



Wir haben den Hersteller bereits in Schritt 2 gewechselt, aber wie cool wäre es, eine Version von SEB zu erstellen, die auf jeder virtuellen Maschine ausgeführt wird, oder? Darüber hinaus ist dies mehr als einfach (außer beim ersten Kompilieren eines Projekts mit einem Tamburin zu tanzen - und das alles aufgrund der Unähnlichkeit von .NET-Plattformen).



Sie müssen also nur die Zeile mit der gewünschten VM im obigen Code auskommentieren:







In diesem Fall haben wir das Programm so kompiliert, dass es beim Start in der virtuellen VirtualBox-Maschine überhaupt nicht reagiert. Es gibt jedoch einen wichtigen Hinweis: Wenn sich unsere Leser für diese Methode entscheiden, muss die Ereignisprotokollierung entfernt / geändert werden! Die virtuelle Maschine wird ohne Probleme gestartet, aber der Start über VirtualBox wird in den Protokollen angezeigt.



3.2 Zwischenablage löschen



Wenn SEB eingeschaltet ist, wird die Zwischenablage automatisch gelöscht. Somit wird alles, was der Student vor dem Start von SEB kopiert hat, nicht in SEB gelangen. Nun, die Herausforderung wird angenommen!



Hier gibt es zwei Möglichkeiten:



  1. Stöbern Sie in der Datei SEBClipboard.cs, entfernen Sie die Fehlerprotokollierung oder ändern Sie den Algorithmus zum Löschen der Zwischenablage geringfügig.
  2. Kommentieren Sie die Zeile in der Datei SEBWindowsClientMain.cs aus:



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




    Gleichzeitig ist es besser, die nachfolgende Protokollierung zu belassen - damit der Prüfer nicht versteht, dass Sie in SEB etwas mitgebracht haben, was bei der Prüfung nicht verwendet werden kann :)



Mit einer dieser Methoden können Sie das gewünschte Ergebnis erzielen:







So können Sie jeden Text, ein Bild - kurz einen Spickzettel, der in die Zwischenablage gelegt werden kann - zu SEB mitbringen.



3.3 Hilfe von einem Freund oder Aufhebung des Discord-Verbots



SEB sieht aus wie eine sehr launische Frau - mit Skype, Discord usw. es wird sich nicht einschalten, sondern Sie vor eine Wahl stellen: entweder ich oder sie.



Versuchen wir, den Stress in einer solchen Situation zu reduzieren.



Es gibt Raum für einen Flug der Fantasie, aber im Allgemeinen reicht es aus, Zeilen zu kommentieren, die in ihrer Bedeutung angemessen sind, wie "processToClose.Kill ();" in der Datei SEBNotAllowedProcessController.cs.

Wir empfehlen Ihnen auch, die Zeilen "SetForegroundWindow (windowHandle);", "BringWindowToTop (windowHandle);" und der WatchDog-Dienst. Kompetente Erstellung von Anwendungs- und Protokollierungslogik ist der Schlüssel zum Erfolg!



Und in der Zwischenzeit haben wir Discord mit SEB zum Laufen gebracht:







Was können Enthusiasten noch probieren?



Es gibt noch genügend Optionen, genug für 1000 und 1 schlaflose Nacht am Computer. Beispielsweise können Sie SEB neu kompilieren, sodass es nicht über allen Fenstern ausgeführt wird und wie eine normale Anwendung minimiert werden kann.



Sie können auch versuchen, SEB auf anderen Betriebssystemen auszuführen (unglaublich, aber wahr: Augenzeugen behaupten, dass die Standardkonfiguration der Universität für SEB unter OS X nicht einmal die Sprachkommunikation über Discord stoppen kann!).



Es gibt also sehr viele Möglichkeiten, SEB mit reduzierter Funktionalität zusammenzubauen. Hier hängt alles nur von der Vorstellungskraft kreativer und fleißiger Studenten ab!



Beenden wir den Artikel mit Volksweisheit : Nur ein noch größeres Werbegeschenk kann einen Schüler auf der Suche nach einem Werbegeschenk aufhalten!



All Articles