Lewati ke konten utama

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:

  1. 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.
  1. Glasswall Halo memproses permintaan dan melakukan deteksi jenis file pada file asli.

  2. Untuk memastikan bahwa hanya deteksi jenis file yang dilakukan tanpa tindakan lanjutan apa pun, sertakan parameter response-content dalam URL dengan nilai noRebuiltFile,noAnalysisReport. Ini mengaktifkan mode hanya deteksi jenis file.

  3. Glasswall Halo menganalisis file menggunakan Glasswall Embedded Engine untuk menentukan jenis file yang sebenarnya.

  4. Setelah deteksi berhasil, Glasswall Halo menyertakan jenis file sebenarnya yang teridentifikasi dalam header respons dengan kunci header x-filetype.

  5. 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 header yang benar harus disertakan pada setiap permintaan.
  • Mengatur response-content ke noRebuiltFile,noAnalysisReport di 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-filetype adalah unknown, itu berarti Glasswall tidak dapat mengidentifikasi tipe file yang sebenarnya untuk file yang diberikan.

  • Jika nilai x-filetype adalah '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 fileEkstensi
Doc.Doc, .dot
Xls.Xls, .xlt
Ppt.Ppt, .pps, .pot
PDF.PDF
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.