セキュリティに関する考慮事項
セキュリティの観点から、BuildVuは3つの明確な領域に分けることができます:
- BuildVuの開発およびテスト方法
- PDFの処理(Java)
- 変換されたドキュメント(ホスティングを含む)
すべてのコードはIDRsolutionsの正社員によって社内で記述され、プライベートリポジトリに保管されています。すべてのコード変更は、少なくとも2人の他の開発者によってピアレビューされます。また、すべてのコード変更は、パフォーマンス、リグレッション、セキュリティ、コードセキュリティについて、SonarQubeと多数のユニットテストを使用してテストされます。
私たちはAIを、開発者がより良いコードを書くのに役立つ有用なツールと見なしています(Stack OverflowやAIコードヒントなどを使用する場合と同様です)。Webサイトで見つけたコードを単純にコピー&ペーストしないのと同じように、コードベース内のすべてのコードは私たちが開発し、私たちがレビューし、そして最も重要なことに、私たちが完全に理解しています。
私たちの戦略は以下の通りです:
- できるだけ早くパッチ適用版を作成する
- すべての顧客に非公開で通知し、最新バージョンへの更新を推奨する
- 次回の一般リリースで修正されたことを公に認め確認する(すべての顧客がこれに関して問題がないことを確認した上で)。これは2018年にJPedal製品で潜在的なXXE脆弱性があった際に実施されました リリースノートを参照 。
BuildVuはJavaアプリケーションであり、すべての処理はJava仮想マシン(JVM)内で実行されます。Java以外には、システムの依存関係は必要ありません。BuildVuはサードパーティのJava依存関係も使用していません。
BuildVuのPDFパーサーは、PDFファイル内に保存されている任意のコードを実行せず、ネットワーク呼び出しも行いません(試用版を除く。試用版はトライアルの使用状況を追跡します)。
変換時のリスクは、主にアップタイムと安定性に関連しています。一部のPDFファイルは、処理に過度なシステムリソースを必要とすることで、悪意のある動作をする可能性があります。
この脅威は、メモリ制限を設定し、最大変換時間を利用することで軽減できます。
PDFファイルには任意のJavaScriptが含まれている可能性がありますが、BuildVuが生成する出力にはこれは含まれません。
PDFアノテーションは、悪意のある行為者が悪用しようとする可能性がある領域です。懸念される主なアノテーションは、Linkアノテーション、FileAttachmentアノテーション、およびメディアアノテーションタイプです。
Linkアノテーションは、悪意のある行為者がユーザーを危険なサードパーティのWebサイトに誘導するために使用される可能性があります。
FileAttachmentアノテーションは、PDFファイルに任意のファイルを添付するために使用される可能性があります。BuildVuはファイル添付を実行しませんが、変換の出力にはそれらを含めます。変換されたドキュメントを提供する際には、Webサーバーが添付ファイルを実行しないように注意する必要があります。BuildVuは、この理由から、添付ファイルをファイル拡張子なしで書き出します。
メディアアノテーションタイプも、ユーザーがPDFファイルに任意のファイルを添付できる領域です。BuildVuは特定のファイル拡張子を持つメディアアノテーションのみを書き出します(こちらに記載 )が、BuildVuはメディアファイルの内容を検証しません。
BuildVuでセキュリティ脆弱性が発見された場合、私たちは顧客に非公開で通知し、脆弱性を公に開示する前に修正の機会を提供することを目指します。
当社のソフトウェアで脆弱性を発見された場合は、お問い合わせ から開示していただけます。
