Mengidentifikasi jenis file sebenarnya untuk mengurangi risiko
Saat menangani file secara elektronik, penting untuk mengidentifikasi jenis file dengan benar. Ini menghilangkan ancaman penyamaran jenis file, di mana file dapat disalahartikan dengan ekstensi atau tipe MIME palsu.
API kami mengidentifikasi jenis file sebenarnya dengan benar, sehingga sistem dapat mengambil tindakan yang tepat untuk mencegah pelanggaran keamanan, kerusakan data, atau pemrosesan file yang tidak diinginkan.
Setelah jenis file yang benar diidentifikasi, Anda dapat membuat keputusan yang tepat dalam aplikasi Anda berdasarkan skenario berikut:
Jenis file yang didukung
Jika jenis file yang terdeteksi termasuk dalam daftar jenis file yang didukung, Anda dapat dengan yakin melanjutkan pemrosesan CDR reguler pada file tersebut di dalam sistem Anda.
Jenis file yang tidak didukung
Jika jenis file yang terdeteksi termasuk dalam daftar jenis file yang tidak didukung, sangat penting untuk segera mengambil tindakan guna mencegah kelanjutan file tersebut di dalam sistem Anda.
Dalam kasus seperti itu, disarankan agar Anda menerapkan mekanisme "fail fast" untuk menghentikan pemrosesan file lebih lanjut, sehingga memastikan sistem Anda terlindungi dari penanganan file yang berpotensi berbahaya atau tidak kompatibel.
Penyamaran jenis file
Jika jenis file yang terdeteksi berbeda dari ekstensi atau MIME type file yang dinyatakan, hal ini dapat mengindikasikan penyamaran file, di mana pelaku berbahaya mencoba menyesatkan sistem.
Dalam skenario seperti itu, pertimbangkan untuk mengambil tindakan penanganan yang lebih ketat terhadap file di dalam sistem Anda. tindakan ini dapat mencakup mengisolasi file, menjalankan pemeriksaan keamanan tambahan, atau memberi tahu administrator untuk investigasi lebih lanjut.
Event Glasswall Halo
Cara membuat permintaan ke Glasswall Halo:
- Mulailah dengan menginisiasi permintaan ke API Glasswall Halo, pilih endpoint yang sesuai berdasarkan jenis file:
- Untuk file Binary, gunakan endpoint
api/v3/cdr-file. - Untuk file yang dienkode Base64, gunakan endpoint
api/v3/cdr.
-
Glasswall Halo memproses permintaan dan melakukan deteksi jenis file pada file asli.
-
Untuk memastikan bahwa hanya deteksi jenis file yang dilakukan tanpa tindakan lanjutan apa pun, sertakan parameter
response-contentdalam URL dengan nilainoRebuiltFile,noAnalysisReport. Ini mengaktifkan mode hanya deteksi jenis file. -
Glasswall Halo menganalisis file menggunakan Glasswall Embedded Engine untuk menentukan jenis file yang sebenarnya.
-
Setelah deteksi berhasil, Glasswall Halo menyertakan jenis file sebenarnya yang teridentifikasi dalam header respons dengan kunci header
x-filetype. -
Sekarang Anda dapat menggunakan informasi jenis file sebenarnya yang diperoleh untuk pemrosesan lebih lanjut, pemeriksaan keamanan, atau tindakan lain yang diperlukan dalam aplikasi atau sistem Anda.
Autentikasi API
Glasswall Halo mendukung dua jenis autentikasi: Basic dan Bearer. Sebelum membuat permintaan apa pun, Anda harus melakukan autentikasi menggunakan skema yang sesuai berdasarkan konfigurasi Anda.
Basic
Jika sistem Anda dikonfigurasi dengan autentikasi Basic, Anda perlu memperoleh organisation ID dan token dari System Administrator. Gabungkan nilai-nilai ini dalam format <OrganisationId>:<Token> lalu lakukan encoding Base64. Nilai hasil encoding tersebut harus disertakan dalam header permintaan sebagai berikut:
Authorization: Basic ZGVtbzpwQDU1dzByZA==
Bearer
Untuk autentikasi bearer, Anda memerlukan bearer token yang diperoleh dari identity provider Anda. Setelah memperoleh token tersebut, sertakan token itu dalam header permintaan sebagai berikut:
Authorization: Bearer ZGVtbzpwQDU1dzByZA==
Catatan: pastikan Anda menggunakan metode autentikasi yang sesuai dengan konfigurasi sistem Anda. Menggunakan autentikasi yang benar memastikan akses yang berhasil ke Glasswall Halo API dan mencegah masalah otorisasi apa pun.
Pelajari lebih lanjut tentang autentikasi Glasswall Halo
Konstruksi permintaan
Untuk memproses file biner atau file yang dienkode base64 menggunakan Glasswall Halo, ikuti petunjuk di bawah ini:
Pemrosesan file biner
Kirim string biner dalam body permintaan ke endpoint berikut:
POST {baseUrl}/api/v3/cdr-file?response-content=noRebuiltFile,noAnalysisReport
Pemrosesan file yang dikodekan Base64
Kirim string yang dikodekan Base64 dalam isi permintaan ke endpoint berikut:
POST {baseUrl}/api/v3/cdr?response-content=noRebuiltFile,noAnalysisReport
Format isi permintaan
Body permintaan harus dalam format JSON dan menyertakan field Base64 yang berisi string file yang dienkode Base64, serta field filename yang menentukan nama file asli (termasuk ekstensi file yang sesuai).
{
"base64": "string",
"fileName": "filename.pdf",
}
Catatan
- Ganti {baseurl} dengan URL dasar aktual dari Glasswall Halo API.
auth headeryang benar harus disertakan pada setiap permintaan.- Mengatur
response-contentkenoRebuiltFile,noAnalysisReportdi URL memastikan bahwa hanya deteksi tipe file yang dilakukan tanpa membangun ulang file atau menghasilkan laporan analisis. - Untuk pemrosesan file biner, gunakan multipart form post, sedangkan untuk pemrosesan file yang dikodekan Base64, berikan konten file dalam body permintaan JSON dengan nama file yang sesuai.
Penanganan respons
Setelah membuat permintaan yang berhasil, Anda akan menerima kode status 201. Namun, saat menjalankan API dalam mode deteksi tipe file, tidak akan ada output file dalam respons. Untuk mengidentifikasi tipe file yang sebenarnya, periksa header respons dan temukan key x-filetype. Nilai header ini akan menunjukkan tipe file yang sebenarnya.
-
Jika nilai
x-filetypeadalah unknown, itu berarti Glasswall tidak dapat mengidentifikasi tipe file yang sebenarnya untuk file yang diberikan. -
Jika nilai
x-filetypeadalah 'txt', itu menunjukkan bahwa file tersebut hanya berisi teks UTF-8 atau ASCII.
Status: 201 Created
Headers:
access-control-allow-origin: *
access-control-expose-headers: *
content-length: 0
content-type: text/plain
date: Thu,20 Jul 2023 10:55:46 GMT
strict-transport-security: max-age=31536000; includeSubDomains
x-applied-policy: service-dynamic
x-file-size: 301189
x-filetype: pdf
x-processing-id: 779b6828-1e1b-4148-9dc0-a3f1e38cb119
x-processing-status: rebuilt
Dalam contoh di atas, nilai x-filetype adalah PDF, yang menunjukkan bahwa tipe file yang sebenarnya adalah dokumen PDF.
Untuk detail lebih lanjut tentang kemungkinan kode kesalahan yang dapat dikembalikan oleh API, lihat API Documentation kami. Di sana Anda juga dapat menemukan informasi lengkap untuk menangani berbagai skenario kesalahan.
Nilai yang diharapkan
Jenis file output dikaitkan dengan grup jenis file, bukan ekstensi individual. Dengan Embedded Engine milik Glasswall, beberapa ekstensi diidentifikasi oleh satu nilai. Untuk lebih memahami nilai output dari header jenis file, silakan lihat tabel di bawah ini:
| Nilai jenis file | Ekstensi |
|---|---|
| Doc | .Doc, .dot |
| Xls | .Xls, .xlt |
| Ppt | .Ppt, .pps, .pot |
| Docx | .Docx, .docm, .dotx, .dotm |
| Xlsx | .Xlsx, .xltx, .xltm, .xlsm |
| Pptx | .Pptx, .pptm, .ppsx, .ppam, .potm, .ppsm, .potx |
| Tiff | .Tif, .tiff, .geotiff |
| Svg | .Svg |
| Emf | .Emf |
| Wmf | .Wmf |
| Jpeg | .Jpeg, .jpg, .jpe, .jif, .jfif, .jfi |
| Png | .Png |
| Gif | .Gif |
| Bmp | .Bmp, .dib |
Ringkasan
Dengan menerapkan deteksi jenis file yang sebenarnya di aplikasi Anda, Anda dapat memastikan bahwa sistem Anda memproses file dengan aman dan efisien, sehingga mengurangi risiko yang terkait dengan jenis file yang tidak didukung atau berpotensi berbahaya. Menangani deteksi jenis file dengan tepat dan merespons berbagai skenario secara sesuai akan membantu menjaga keamanan dan keandalan infrastruktur Anda.
Mulai cepat
Untuk mencoba Glasswall Halo sendiri, silakan merujuk ke Panduan Mulai Cepat kami.