Lewati ke konten utama

Pelaporan engine

Proses analisis

Library Glasswall menerima file melalui API yang dipublikasikan dan meneruskannya melalui sejumlah siklus proses. Output dari setiap siklus menjadi input untuk siklus berikutnya, sehingga mempertahankan tingkat pemisahan antarproses. Analisis file terjadi pada setiap siklus. Siklus awal mengungkap struktur file dan ukuran bagian-bagian penyusunnya. Siklus berikutnya berfokus pada pelaksanaan pemeriksaan sintaktis dan semantis, yang mengidentifikasi kemungkinan sumber risiko, field di luar rentang, atau struktur yang malformed.

Jika elemen file dikompresi, elemen tersebut akan diekspansi dan hasilnya dinilai, dianalisis, serta diverifikasi. Hal ini memungkinkan laporan analisis yang dipublikasikan pada akhir proses memberikan penilaian menyeluruh atas konten dan struktur file. Dengan menelusuri proses sanitisation dan remediation, Glasswall dapat menyediakan laporan akurat tentang tindakan yang dapat dilakukan oleh fungsi regenerasi Glasswall, sehingga file menjadi conformant dengan spesifikasi.

Selama setiap siklus, file yang sedang diproses ditransformasikan ke dalam representasi internal milik Glasswall sendiri. Hal ini menyederhanakan proses parsing dan traversal serta membantu menyediakan isolasi. Saat proses analisis menavigasi struktur Glasswall, pemeriksaan terperinci tidak hanya dilakukan pada komponen individual tetapi juga pada tingkat yang lebih tinggi terhadap hubungan antar komponen file. Pemeriksaan tingkat lebih tinggi ini memungkinkan struktur semantis dan konsistensi file diverifikasi dengan benar.

Laporan analisis

Laporan analisis Embedded Engine menyediakan deskripsi data yang terperinci dan agnostik terhadap jenis file, serta dicatat dalam format XML. Struktur laporan ini mengikuti Analysis Report XSD, yang dirancang untuk menyederhanakan parsing dan pemrosesan. XSD laporan analisis berada di folder /schemas/sdk_editor dalam paket rilis Embedded Engine.

Laporan analisis berisi informasi file berikut:

  • Ringkasan Dokumen — informasi tingkat tinggi yang spesifik untuk file.
  • Policy Manajemen Konten — pengaturan switch manajemen konten yang telah diterapkan pada file yang diproses.
  • Grup Konten — pengelompokan utama konten yang terdeteksi dalam file yang diproses.
  • Item Konten — struktur tingkat rendah yang terdeteksi dalam file yang diproses.
  • Item Masalah — struktur yang terdeteksi yang tidak sesuai dengan spesifikasi pabrikan atau ketika struktur yang terdeteksi tidak diizinkan oleh policy (dalam kedua kasus file ditolak).
  • Item Sanitisation — struktur yang terdeteksi di bawah manajemen konten yang ditandai untuk dihapus oleh policy.
  • Item yang Diizinkan — struktur yang terdeteksi di bawah manajemen konten yang diizinkan oleh policy.
  • Item Remedy — koreksi otomatis yang diterapkan pada file yang diproses untuk menyelaraskan file dengan spesifikasi pabrikan.

Contoh laporan analisis

Bagian ini berisi Glasswall Analysis Report ringkas yang mencakup semua elemen utama dari laporan pada umumnya. Contoh khusus ini didasarkan pada file PDF.

Ringkasan dokumen

Setiap laporan XML diawali dengan ringkasan dokumen seperti ditunjukkan di bawah ini:

    <gw:DocumentSummary>
<gw:TotalSizeInBytes>2293803</gw:TotalSizeInBytes>
<gw:FileType>pdf</gw:FileType>
<gw:Version>PDF-1.6</gw:Version>
<gw:FileTypeDetectionMethod>signature match</gw:FileTypeDetectionMethod>
<gw:InputSHA256>DEE7CEB7AB57227121FF65F0D8D0878CBEDF90864069D9525698257972498099</gw:InputSHA256>
<gw:OutputSHA256>83EE59FAB5972429CE65CBB22EBF8B592D53F47927E0FA751584875D4F80CA1E</gw:OutputSHA256>
<gw:ProcessingTimeMilliseconds>101</gw:ProcessingTimeMilliseconds>
<gw:ComplexityLevel>4.41</gw:ComplexityLevel>
</gw:DocumentSummary>

  • TotalSizeInBytes - Ukuran file input
  • FileType - Jenis file yang dideteksi oleh Glasswall
  • Version - Versi format file (jika dapat ditentukan)
  • FileTypeDetectionMethod - Metode deteksi Glasswall yang digunakan untuk menentukan format file
  • InputSHA256 - SHA-256 dari file input asli
  • OutputSHA256 - SHA-256 dari file output setelah diproses oleh Glasswall (jika file dibuat ulang)
  • ProcessingTimeMilliseconds - Waktu yang diukur Glasswall untuk memproses file
  • ComplexityLevel - Perkiraan Glasswall atas tingkat kompleksitas file, yang dihasilkan dengan menghitung log10 hingga 2 tempat desimal dari jumlah artefak yang diidentifikasi dalam file

Manajemen konten

policy manajemen konten yang digunakan pada file kemudian dicantumkan.

Catatan: Semua policy untuk semua jenis file dicantumkan dalam setiap laporan. Jika policy belum dikonfigurasi tetapi tersedia, pengaturan policy default yang diterapkan juga akan dicantumkan.

Beberapa pengaturan switch manajemen konten PDF ditampilkan di bawah ini:

    <gw:ContentManagementPolicy>
<gw:Camera cameraName="pdfConfig">
<gw:ContentSwitch>
<gw:ContentName>javascript</gw:ContentName>
<gw:ContentValue>sanitise</gw:ContentValue>
</gw:ContentSwitch>
<gw:ContentSwitch>
<gw:ContentName>acroform</gw:ContentName>
<gw:ContentValue>sanitise</gw:ContentValue>
</gw:ContentSwitch>
<gw:ContentSwitch>
<gw:ContentName>embedded_files</gw:ContentName>
<gw:ContentValue>sanitise</gw:ContentValue>
</gw:ContentSwitch>
</gw:Camera>
</gw:ContentManagementPolicy>

Grup dan item konten

Jumlah grup konten berbeda yang ditemukan dalam file (16), beserta contoh item konten dari grup pertama, ditampilkan di bawah ini:

    <gw:ContentGroups groupCount="16">
<gw:ContentGroup>
<gw:BriefDescription>PDF document has Basic File Section structure instances</gw:BriefDescription>
<gw:ContentItems itemCount="5">
<gw:ContentItem>
<gw:TechnicalDescription>PDF Header Instances</gw:TechnicalDescription>
<gw:InstanceCount>1</gw:InstanceCount>
<gw:TotalSizeInBytes>15</gw:TotalSizeInBytes>
<gw:AverageSizeInBytes>15</gw:AverageSizeInBytes>
<gw:MinSizeInBytes>15</gw:MinSizeInBytes>
<gw:MaxSizeInBytes>15</gw:MaxSizeInBytes>
</gw:ContentItem>
</gw:ContentItems>>
</gw:ContentGroup>
...
</gw:ContentGroups>

Item sanitasi

Dalam contoh ini, karena switch metadata telah diatur ke sanitise, struktur dictionary ditampilkan sebagai ditandai untuk dihapus.

    <gw:SanitisationItems itemCount="1">
<gw:SanitisationItem>
<gw:TechnicalDescription>Document information dictionary detected in a document trailer dictionary.</gw:TechnicalDescription>
<gw:SanitisationId>16872998749</gw:SanitisationId>
<gw:InstanceCount>1</gw:InstanceCount>
<gw:TotalSizeInBytes>0</gw:TotalSizeInBytes>
</gw:SanitisationItem>
</gw:SanitisationItems>

Item yang diizinkan

Dalam contoh ini, karena switch metadata telah diatur ke allow, struktur dictionary karenanya dipertahankan.

    <gw:AllowedItems itemCount="1">
<gw:AllowedItem>
<gw:TechnicalDescription>Document information dictionary detected in a document trailer dictionary.</gw:TechnicalDescription>
<gw:AllowedId>16872998749</gw:AllowedId>
<gw:InstanceCount>1</gw:InstanceCount>
<gw:TotalSizeInBytes>0</gw:TotalSizeInBytes>
</gw:AllowedItem>

Item Remedy

Tidak semua laporan XML menyertakan Remedy, karena ini adalah koreksi otomatis yang dibuat untuk menyelaraskan file yang diregenerasi dengan spesifikasi file. Dalam contoh ini, sebuah item remedy telah dilaporkan dalam file.

    <gw:RemedyItems itemCount="1">
<gw:RemedyItem>
<gw:TechnicalDescription>
PDF Stream is missing an End-Of-Line before the &apos;EndStream&apos; marker.
</w:TechnicalDescription>
<gw:RemedyId>1605893787</gw:RemedyId>
<gw:InstanceCount>7</gw:InstanceCount>
</gw:RemedyItem>
</gw:RemedyItems>

Item Masalah

Sangat sedikit file yang memiliki masalah, karena ini berarti file tersebut bukan hanya tidak sesuai dengan spesifikasi file, tetapi Glasswall juga tidak dapat melakukan Remedy pada masalah tersebut agar kembali ke standar yang ditetapkan dalam spesifikasi. File dengan item masalah tidak dapat dibuat ulang.

    <gw:IssueItems itemCount="1">
<gw:IssueItem>
<gw:TechnicalDescription>
/Info dictionary contained an unexpected key (/GTS_PDFXConformance).
</gw:TechnicalDescription>
<gw:IssueId>1670998746</gw:IssueId>
<gw:InstanceCount>1</gw:InstanceCount>
</gw:IssueItem>
</gw:IssueItems>

Item masalah juga dilaporkan ketika sebuah file telah ditentukan tidak sesuai karena policy pengelolaan konten (ketika pengaturan disallow digunakan).

Setiap item Sanitisation, Allowed Item, item Remedy, atau item Issue memiliki ID numerik unik yang terkait dengannya, sehingga item tersebut dapat diidentifikasi secara unik oleh aplikasi lain yang mungkin ingin memproses laporan XML.