Analisis Komparasi Validasi Magic Bytes dan MIME Type dalam Mitigasi Serangan Polyglot pada REST API
Keywords:
REST API, file upload, MIME Type, Magic Bytes, file polyglotAbstract
Sebagian besar waktu, validasi unggahan file pada layanan REST API masih menggunakan pemeriksaan MIME Type di header HTTP. Metode ini mudah digunakan dan tidak memakan banyak ruang, tetapi rentan terhadap modifikasi header dan tidak cukup efektif untuk melindungi dari serangan file baru, terutama file polyglot yang secara teknis merupakan file gambar yang sah tetapi juga mengandung payload berbahaya. Studi ini menetapkan lingkungan pengujian terkontrol yang terdiri dari backend REST API berbasis Node.js, pembangkitan dataset otomatis, dan bot serangan berbasis Python untuk mengevaluasi efektivitas validasi MIME Type dan Magic Bytes dalam mengurangi serangan unggahan file. Dataset uji coba terdiri dari 200 sampel, termasuk file gambar biasa, malware umum, malware dengan ekstensi yang diubah, dan file polyglot. Hasil eksperimen menunjukkan bahwa MIME Type masih dapat membiarkan file normal lolos dan memblokir malware umum dengan header non-gambar. Namun, ia tidak dapat menghentikan malware yang diubah namanya atau file polyglot yang tampak seperti gambar. Magic Bytes selalu memblokir malware umum dan malware yang diubah namanya tanpa memengaruhi file sah. Namun, ia masih tidak dapat mendeteksi file polyglot karena hanya memeriksa header biner di awal file. Uji latensi menunjukkan bahwa penggunaan Magic Bytes hanya menambah waktu pemrosesan yang sangat kecil, dalam rentang mikrodetik. Ketika memeriksa salah satu sampel polyglot dalam format heksadesimal, terlihat bahwa file tersebut mengandung header JPEG asli dan payload skrip PHP di tengah file. Hasil ini menunjukkan bahwa Magic Bytes dapat membantu melindungi dari kelemahan MIME, tetapi harus digunakan bersama alat lain untuk melindungi dari serangan file polyglot.