Di Rusia, masalah ini diselesaikan menggunakan program Safe Exam Browser (SEB) open-source . Tampaknya sekarang tidak ada satu pun pencari freebie yang dapat menipu, tetapi apakah "benteng" ini benar-benar tidak dapat diakses? Ikutlah dipotong, hari ini kami akan memberi tahu dan menunjukkan kepada Anda banyak cara untuk menipu SEB!
Saat itu tahun 2020 ... Seluruh dunia berada dalam kepanikan, nilai tukar rubel jatuh, negara-negara bagian memasuki mode darurat ... Terlepas dari semua ini, keinginan utama rata-rata siswa tetap sama - untuk lulus sesi dengan sedikit pengeluaran tenaga dan waktu untuk persiapan. Tampaknya dengan transisi ke pembelajaran jarak jauh, semuanya menjadi lebih mudah bagi siswa - Anda hanya perlu membuat wajah yang cerdas saat menjawab pertanyaan di webcam, dan Anda dapat membaca materi dari dokumen terbuka paralel di komputer. Tapi itu tidak ada!
Banyak universitas Rusia telah menerapkan program Browser Ujian Aman untuk memeriksa kemajuan siswa, yang mencegah hampir semua upaya untuk menyontek. Tentu saja, ini bukan halangan bagi siswa yang banyak akal - Anda dapat mencari jawaban ujian di Google di komputer kedua (atau meminta teman untuk meng-google-nya).
Tapi, karena kami berjiwa buruh, kami memutuskan untuk memeriksa seberapa besar SEB ini benar-benar membantu dalam melaksanakan ujian dan bagaimana secara terprogram melewati kontrol sensitifnya (asalkan siswa memiliki keterampilan komputer dasar, tidak merasa ngeri dengan kata-kata " mesin virtual βdan tahu cara menginstal plug-in untuk browser Mozilla Firefox). Siap? Pergilah!
Apa itu Safe Exam Browser (SEB)?
Safe Exam Browser (SEB) adalah program untuk melakukan ujian, tes, dll. dalam mode online. Memberikan perlindungan terhadap:
- membuka aplikasi asing (komunikasi video dan suara);
- pencarian informasi secara paralel di browser web;
- menjalankan aplikasi di mesin virtual;
- pergi ke situs tertentu;
- menyimpan informasi di clipboard sebelum memasuki program.
Arsitektur SEB mencakup dua bagian: aplikasi desktop dan browser. Aplikasi tersebut berjalan di komputer siswa dan memblokir semua aplikasi lain kecuali yang diperlukan untuk ujian. Interaksi melalui jaringan hanya dapat dilakukan dengan browser SEB, sedangkan browser terhubung ke platform pendidikan tempat tes atau ujian diselenggarakan (mis. Moodle ). Penguji dapat mengotorisasi penggunaan aplikasi pihak ketiga, seperti Excel atau kalkulator, selama ujian, dan kemudian siswa dapat meluncurkannya. Semua izin dan pengaturan lain tersebut dibuat menggunakan konfigurasi SEB dan ditulis ke file konfigurasi, yang kemudian diluncurkan oleh aplikasi desktop.
SEB Configurator adalah aplikasi dengan antarmuka yang intuitif:
Di sini Anda dapat mengatur URL sumber daya ujian, daftar aplikasi dan situs yang diizinkan / dilarang, izin untuk mengunduh file dari Internet, bekerja di mesin virtual, dll.
Banyak ruang untuk kreativitas dan imajinasi, bukan?) Baiklah, mari kita mulai.
Untuk pengujian, kami membutuhkan: program SEB, mesin virtual (VmWare, VirtualBox), browser Mozilla Firefox, sesuatu untuk mengkompilasi proyek besar di C # (penulis menggunakan Visual Studio Code), beberapa sumber daya pendidikan (misalnya, tes Moodle dikonfigurasi hanya untuk bekerja dengan SEB).
Penafian: Artikel ini banyak membantu saya saat menulis artikel ini .
1. Mengubah agen pengguna browser
Praktis tidak ada pengetahuan dan alat yang dibutuhkan untuk menerapkan metode ini. Mari kita periksa bagaimana tes Moodle bereaksi saat diluncurkan melalui browser web biasa:
Seperti yang Anda lihat dari tangkapan layar, SEB tidak mengizinkan akses ke tes dari browser biasa.
Menurut dokumentasi, SEB menggunakan XULRunner , mesin Gecko dari browser Mozilla , sebagai browser web . Mari kita coba mengganti agen pengguna browser Mozilla dengan agen pengguna yang ditentukan dalam konfigurasi SEB:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0 SEB
Instal plugin untuk menggantikan agen pengguna, misalnya, User-Agent Switcher , dan tambahkan opsi berikut ke dalamnya:
Sleight of hand dan sedikit penipuan - dan sekarang Anda dapat melanjutkan ke pengujian dengan aman, sekaligus membuka Google di tab berikutnya! :)
2. Mengubah file konfigurasi mesin virtual
Metode sebelumnya, tentu saja, sangat sederhana dan lugas, tetapi sebuah situasi mungkin muncul dimana penguji juga mengumpulkan log ujian - dan SEB hanya mencatat semua kejadiannya: mematikan proses yang tidak sah, membersihkan clipboard dan banyak lagi. Oleh karena itu, kita perlu menemukan cara curang dengan mengaktifkan SEB!
Kami pertama kali memutuskan untuk melihat apakah SEB dapat diaktifkan di mesin virtual. Di sini, sayangnya, kami gagal - dalam kondisi seperti itu SEB bahkan tidak mengizinkan dirinya untuk diluncurkan. Tapi entah bagaimana dia menyadari bahwa mesin virtual sedang digunakan!
Ada kekhawatiran bahwa SEB menggunakan metode yang tidak menyenangkan bagi siswa, seperti mendeteksi proses dan layanan mesin virtual (VM) di sistem, tetapi ketika mempelajari kode sumber, ditemukan bahwa pemeriksaan peluncuran dari VM terjadi di fungsi IsInsideVM () dari file 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;
}
Kami melihat bahwa SEB dapat mendeteksi mesin virtual dari produsen yang tercantum dalam kode! Tetapi bagaimana jika kita mengubah konfigurasi mesin virtual, dengan demikian mengubah pabrikan?
Tidak lebih cepat diucapkan daripada dilakukan! Buka file konfigurasi VmWare dan tambahkan baris berikut:
Sekarang model pabrikan mesin virtual akan sama dengan model mesin utama. Kami memulai mesin virtual, menyalakan SEB dan mencoba mengakses tes - semuanya berfungsi!
3. Kompilasi versi baru SEB
Dan sekarang mari beralih ke bagian yang menyenangkan - kompilasi dari SEB versi "kami"! Kode sumber tersedia di sini . Yang paling menarik adalah file konfigurasi SEB tidak melacak integritas aplikasi desktop (atau melacaknya sehingga kami dapat mengubah sebagian besar kode tanpa masalah, hee-hee), sedangkan integritas file konfigurasi yang dikirim oleh pemeriksa diperiksa lebih ketat.
3.1 Berjalan di mesin virtual
Kami sudah mengubah pabrikan pada langkah 2, tetapi betapa kerennya membuat versi SEB yang berjalan di mesin virtual apa pun, bukan? Selain itu, lebih dari mudah untuk melakukan ini (kecuali menari dengan rebana saat mencoba menyusun proyek untuk pertama kalinya - dan semuanya karena ketidaksamaan platform .NET).
Jadi, Anda hanya perlu mengomentari baris dengan VM yang diinginkan dalam kode di atas:
Dalam hal ini, kami menyusun program sedemikian rupa sehingga tidak bereaksi sama sekali saat diluncurkan di mesin virtual VirtualBox. Tetapi ada satu catatan penting: jika pembaca kami memutuskan untuk menggunakan metode ini, maka perlu untuk menghapus / mengubah pencatatan acara! Mesin virtual akan mulai tanpa masalah, tetapi peluncuran melalui VirtualBox akan tercermin di log.
3.2 Menghapus clipboard
Saat SEB dinyalakan, secara otomatis membersihkan clipboard. Dengan demikian, semua yang disalin siswa sebelum peluncuran SEB tidak akan masuk ke SEB. Nah, tantangan itu diterima!
Ada dua cara untuk pergi ke sini:
- Gali ke dalam file SEBClipboard.cs, hapus error logging, atau ubah sedikit algoritma kliring clipboard.
- Komentari baris di file SEBWindowsClientMain.cs:
// Clean clipboard //SEBClipboard.CleanClipboard(); Logger.AddInformation("Clipboard cleaned.", null, null);
Pada saat yang sama, lebih baik untuk meninggalkan logging berikutnya - sehingga penguji tidak mengerti bahwa dengan Anda di SEB Anda telah membawa Sesuatu-Yang-Tidak-Dapat-Digunakan-Saat-Ujian :)
Dengan menggunakan salah satu metode ini, Anda bisa mendapatkan hasil yang diinginkan:
Dengan demikian, Anda dapat membawa teks apa pun ke SEB, gambar - dengan kata lain, lembar contekan yang dapat ditempatkan di papan klip.
3.3 Bantuan dari teman atau hapus larangan Discord
SEB terlihat seperti wanita yang sangat moody - dengan Skype, Discord, dll. itu tidak akan menyala, tetapi akan menempatkan Anda pada pilihan: saya atau mereka.
Baiklah, mari kita coba untuk mengurangi tingkat stres dalam situasi seperti ini.
Ada ruang untuk pelarian imajinasi, tetapi, secara umum, cukup mengomentari baris yang sesuai artinya seperti "processToClose.Kill ();" di file SEBNotAllowedProcessController.cs.
Kami juga menyarankan Anda untuk mempertimbangkan baris "SetForegroundWindow (windowHandle);", "BringWindowToTop (windowHandle);" dan layanan WatchDog. Membangun aplikasi yang kompeten dan logika logging adalah kunci sukses!
Dan sementara itu, kami menjalankan Discord dengan SEB yang berjalan:
Apa lagi yang bisa dicoba oleh para penggemar?
Ada cukup pilihan tersisa, cukup untuk 1000 dan 1 malam tanpa tidur di depan komputer. Misalnya, Anda dapat mengkompilasi ulang SEB agar tidak berjalan di atas semua jendela dan dapat diminimalkan seperti aplikasi normal.
Anda juga dapat mencoba menjalankan SEB di OS lain (luar biasa, tetapi benar: saksi mata mengklaim bahwa konfigurasi universitas standar untuk SEB di OS X bahkan tidak dapat menghentikan komunikasi suara melalui Discord!).
Jadi, ada banyak cara untuk merakit SEB dengan fungsionalitas yang lebih rendah, semuanya di sini hanya bersandar pada imajinasi siswa yang kreatif dan pekerja keras!
Mari selesaikan artikel dengan kearifan