Ilustasi Pembajakan LMS
Ilustasi Pembajakan LMS

FITRAH.SCH.ID – Memasuki era digital, pembelajaran daring dengan memanfaatkan Learning Management System (LMS) semakin populer. Bahkan, tidak sedikit instansi pemerintah menyediakan platform Massive Open Online Course (MOOC) sebagai platform pembelajaran bagi pegawai dan masyarakat umum.

Saya sendiri baru-baru ini mengikuti pelatihan online di salah satu platform MOOC milik pemerintah pusat. Tentu sebagai ASN yang baik, meskipun hanya diberi hak pengembangan kompetensi 24 JP selama masa kontrak, tetap harus meningkatkan performa dan kemampuan sesuai perkembangan zaman.

Secara umum, platform LMS tersebut sangat baik. Terdapat beragam konten yang selalu diperbarui sesuai isi terkini. Selain itu, sertifikat pelatihan telah dilengkapi Tanda Tangan Elektronik (TTE) yang membuatnya sah dan diakui secara resmi. Tak hanya itu, dari aspek penyelenggaraan, platform ini memiliki batasan waktu bagi para peserta dalam menyelesaikan pelatihan.

Terakhir, fitur pembeda dari MOOC lainnya adalah batasan akses terhadap konten. Materi pelatihan hanya bisa diakses oleh peserta terdaftar, bagi yang terlewat harus mengikuti batch berikutnya.

Gambaran Platform LMS

Alur Pembelajaran

LMS ini memiliki alur belajar yang sistematis dan jelas. Secara singkat, prosesnya sebagai berikut:

  1. Peserta mendaftar akun menggunakan email, NIK ataupun NIP.
  2. Peserta memilih pelatihan yang tersedia. Namun, tidak semua pelatihan bisa diakses setiap saat, karena ada jadwal tertentu yang mengatur ketersediaannya.
  3. Peserta belajar dengan menyimak materi berupa video, paparan dan modul yang disediakan serta mengerjakan soal evaluasi pada setiap bagiannya.
  4. Setelah memenuhi KKM (Kriteria Ketuntasan Minimal), peserta akan mendapatkan sertifikat yang dapat diunduh setelah masa pelatihan berakhir.

Secara umum, sistem ini tampaknya dirancang dengan baik dan memastikan bahwa hanya peserta yang memenuhi syarat yang bisa mendapatkan manfaat dari pelatihan.

Namun, dalam pengujian lebih lanjut, saya menemukan celah keamanan yang memungkinkan seseorang untuk mengunduh konten LMS tanpa harus mendaftar atau mengikuti kelas terlebih dahulu.

Hasil Data Materi
Hasil Data Materi

Teknologi Platform

LMS ini dibangun menggunakan arsitektur microservices, yaitu sebuah pendekatan dengan membagi aplikasi menjadi layanan-layanan kecil yang bekerja secara independen. Setiap layanan nantinya memiliki fungsi yang spesifik dan dapat berkomunikasi dengan layanan lainnya melalui API. Pendekatan ini mempermudah skalabilitas, pemeliharaan, dan fleksibilitas dalam pengembangan sistem.

Tidak seperti sistem monolith, di mana seluruh komponen aplikasi terintegrasi dalam satu unit besar, pendekatan microservices memungkinkan setiap bagian aplikasi berjalan secara terpisah. Dalam sistem monolith, jika terjadi kesalahan pada satu bagian, seluruh aplikasi bisa terdampak.

Sebaliknya, dalam arsitektur microservices, masalah dalam satu layanan tidak akan langsung mengganggu layanan lainnya, sehingga lebih mudah dalam hal troubleshooting dan pengembangan fitur baru.

Nah uniknya, terdapat temuan pada akses backend dari LMS yang ternyata berada pada server dan domain yang berbeda. Layanan ini justru berada pada server eksternal dan tidak menggunakan domain resmi (.go.id)

Disinilah pemicu utamanya. Sebagai pengguna yang menyerahkan data pribadi pada platform tersebut, saya ingin memastikan apakah ada potensi risiko keamanan. Mengingat data dan akses RestAPI yang dikembangkan dengan arsitektur dan sistem tersebut, berpotensi lebih rentan terhadap eksploitasi oleh pihak yang tidak berwenang.

Celah Keamanan: Mengakses Konten Tanpa Enroll

Dalam pengamatan yang saya lakukan, ternyata terdapat kelemahan yang cukup signifikan pada sistem LMS ini. Salah satu layanan RestAPI yang digunakan oleh LMS tidak memiliki autentikasi yang ketat, sehingga siapa saja yang mengetahui endpoint API tersebut bisa mengakses dan mengunduh materi tanpa perlu mendaftar atau mengikuti kelas terlebih dahulu.

Dengan memanfaatkan celah ini, seseorang bisa mendownload seluruh konten LMS, termasuk:

  • Video pembelajaran
  • Materi dalam bentuk PDF
  • Soal evaluasi dan latihan

Bahkan lebih jauh lagi, seseorang bisa memanfaatkan konten tersebut dalam pelatihan lain atau menggunakannya di luar konteks LMS yang bersangkutan. Hal ini jelas menimbulkan berbagai permasalahan, baik dari sisi keamanan data maupun hak akses terhadap materi pembelajaran.

Script Python untuk Pentest LMS
Script Python untuk Pentest LMS

Implikasi dan Peluang Pembajakan

Celah keamanan ini memiliki dampak yang cukup serius, terutama dalam hal pengelolaan hak akses dan distribusi konten. Beberapa implikasi yang mungkin terjadi akibat kelemahan ini antara lain:

  1. Pelanggaran Hak AksesSeharusnya hanya peserta terdaftar yang bisa mengakses materi. Namun, dengan adanya celah ini, siapa saja dapat mengaksesnya tanpa batasan. Alhasil, kita bisa membuat cloning LMS dengan konten materi yang sama.
  2. Potensi Penyalahgunaan dan Pembajakan KontenMateri yang tersedia di LMS bisa saja disebarluaskan oleh pihak yang tidak bertanggung jawab, bahkan diperjualbelikan di platform lain.
  3. Kehilangan Kontrol atas Distribusi MateriPihak penyelenggara LMS kehilangan kendali atas siapa yang bisa mengakses dan memanfaatkan materi yang mereka sediakan.
Hasil Data Pelatihan
Hasil Data Pelatihan

Solusi Pencegahan

Untuk mengatasi masalah ini, ada beberapa langkah yang bisa diterapkan oleh pengelola LMS, di antaranya:

  1. Implementasi Sistem Validasi yang KetatAPI seharusnya hanya bisa diakses oleh pengguna yang telah terdaftar dan mengikuti pelatihan. Ini bisa dilakukan dengan menggunakan token autentikasi yang valid dan membatasi akses berdasarkan status keikutsertaan pengguna. Tidak hanya dibatasi pada hak akses, bahkan jika perlu ditambahkan setiap akan akses materi.
  2. Memisahkan Frontend dan Backend dengan AmanDalam arsitektur aplikasi berbasis microservice, backend dan frontend seharusnya memiliki autentikasi yang kuat sehingga akses ke data tidak bisa dilakukan secara langsung oleh pengguna yang tidak berwenang.
  3. Menyimpan Konten di Server yang AmanSalah satu hal yang juga menjadi perhatian adalah fakta bahwa meskipun ini merupakan platform milik pemerintah, beberapa konten dihosting di domain eksternal yang bukan merupakan domain resmi pemerintah. Hal ini berisiko tinggi terhadap kebocoran data dan akses ilegal oleh pihak luar. Apalagi beberapa data menyangkut NIK dan NIP lengkap dengan data pribadi lainnya.

Konklusi dan Rekomendasi

Sebagai langkah proaktif, saya telah melaporkan temuan ini kepada pengelola LMS tersebut, saat ini hanya perlu menunggu tanggapan serta tindak lanjut. Harapannya, semoga dengan adanya laporan ini pihak penyelenggara LMS bisa segera memperbaiki sistem mereka agar lebih aman dan dapat melindungi hak akses pengguna dengan lebih baik.

Melalui tulisan ini, kita saling mengingatkan bahwa keamanan dalam sebuah sistem tidak boleh dianggap remeh, terlebih jika melibatkan konten berharga yang seharusnya hanya diakses oleh pihak yang berhak. Selain itu, tidak seyogyanya jika platform LMS platmerah menggunakan backend yang dijalankan pada server pihak ketiga.

Dengan perbaikan yang tepat, LMS ini bisa menjadi platform yang lebih aman dan dapat dipercaya oleh penggunanya. Semoga insight ini bisa menjadi bahan refleksi bagi kita semua agar lebih peduli terhadap keamanan sistem digital yang kita gunakan sehari-hari.

 

Pendidikan itu Harapan

Teknologi itu Jawaban

 

Fitrah Izul Falaq

Pengembang Teknologi Pembelajaran, Ahli Pertama

NB: Script scrapping untuk testing kerentanan API hubungi saya aja di [email protected]

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

You May Also Like

DeepSeek : Trigger Inklusifitas AI untuk Pendidikan

Kecerdasan Buatan (AI) telah mengalami transformasi yang sangat besar. Setelah Deepseek rilis…