web-dev-qa-db-ja.com

Webサイトをミラーリングして取得したファイルをより安全に保存するにはどうすればよいですか?

質問:ウェブサイトをミラーリングして取得したファイルを安全に保存するために推奨される方法、ツール、テクニック、および手順は何ですか?つまり、どのプラクティスがベストプラクティスを構成するかについてさまざまな視点がある場合でも、以下に概説するユースケースに沿った一般に知られ、受け入れられているプラ​​クティスを探しているということです。

背景:ユースケースで提供できる限り多くの具体的な詳細を提供するよう努めましたが、より具体的な詳細を提供するのに苦労していることは認めますこれは私の知識が限られている分野だからです。したがって、私はこの質問を今後の取り組み、研究などをより適切に指示するように求めています。 この質問 で概説されるように、私は時々デューデリジェンス調査の価値のある情報を得るためにウェブサイトをミラーリングします。私は前の質問から、物事はしばしば予想よりも複雑であることを学びました。この質問は、wget、curl、phantomJSなどを使用したときに取得したものを実際に保存することのセキュリティへの影響について考えることに私の関心を反映しています。したがって、ベストプラクティス、私が提案するアクション、または一般的な予防策についてのあなたの考えを歓迎します。たとえば、エアギャップマシンにのみそのようなファイルを保存するか、HTMLを別の形式に変換するか、または固有の脅威をもたらすため、JavaScriptファイルを単に避けることがベストプラクティスである可能性があります。参考として、私はUbuntu Linuxを使用しています。

目標

  • キーワードやその他のタイプの検索のためにテキストベースのファイルを保持します
  • 視覚的およびメタデータ評価のために画像ファイルを保持する
  • 他の2つの目標を踏まえて、安全な方法でファイルを保存および操作します

遭遇したファイルタイプ:これらは私がこれまでに遭遇した主なファイルタイプです...

  • ドキュメント:PDF、RTF、DOC、DOCX、ODF、TXT
  • プレゼンテーション:PPT、PPTX
  • スプレッドシート:XLS、XLSX、CSV
  • 画像:PNG、TIF、JPG、GIF
  • ウェブ:HTML、CSS、JS、PHP
6
Tigelle

リストしたファイルの種類と提示した目標は、巨大な攻撃対象となります。巧妙な敵を想定すると、これは悪用の可能性を大幅に増加させます。 PDFとPPT/PPTXは特に問題があります。自分がはるかに少ないファイルタイプに制限できない場合は、特権の分離またはリモート仮想化を使用して、アクティビティを分離する必要があります。

権限分離

これは、ローカルコンピュータでこのアクティビティを実行する必要がある場合の解決策です。使用するすべてのアプリケーションを個別にサンドボックス化することは困難ですが、いくつかの特権を使用してコンピューターに新しいユーザーを作成できます。

  • 新しいユーザーからのsuおよびSudoへのアクセスを無効にし、そのユーザーとして 使用しないでください にします。
  • ルートから下位ユーザーにsuしないでください TTYプッシュバック攻撃
  • そのユーザーに対してiptables to disable network access を使用します。
  • resource limits を設定して、悪用されたアプリケーションが与えることができる損害の量を減らします。
  • 可能であれば、Xorgの代わりに Wayland を使用するか、systemd-logindを使用してXorgを root以外で実行 してください。
  • 終了して Secure Attention Key を有効にして使用し、新しいセッションに切り替えます。
  • スキャン対象 と、不要なすべてのsetuidファイルまたはsetgidファイル、および setcap ファイルを削除します。
  • auditd のような監査フレームワークを使用して、潜在的に悪意のあるアクティビティを監視します。
  • Sysctlの微調整やパッチの強化など、一般的なシステムの強化を適用します。

敵の巧妙さのレベルによっては、これは十分ではないかもしれません、そして、適度な能力の敵にとってさえ、これはかなり不完全ですが、それは出発点です。これらのファイルへのアクセスに使用しているアプリケーションが任意のコード実行に対して脆弱であると(おそらく正しく)想定する必要があるため、問題はに変わります。信頼できないコードを安全に実行するにはどうすればよいですか?、もちろん非常に広いです。

仮想プライベートサーバー

より簡単な解決策は、VPSを使用することです。自分のコンピューターではなくVPSでリモートでアプリケーションを実行し、そのように操作することができます。 VPSが完全に侵害された場合でも、攻撃対象領域はSSHクライアントと端末の攻撃対象領域に減少します。これはかなり小さいものです。 SSH経由で画像を直接表示することはできないため(少なくとも安全ではありません)、ローカルコンピューターに転送して表示する前に、非常に単純な(悪用が難しい)画像形式に変換することをお勧めします。このような形式の例は、 [〜#〜] ppm [〜#〜] ピクセルマップ形式です。これは、さまざまなユーティリティを使用して画像ファイルに簡単に変換できるため、PDFファイルの表示にも有効です。

VPSのホストは、VPS上のあらゆるものにアクセスして変更することができます。これが問題である場合(たとえば、ファイルの機密性が非常に高い場合、または整合性が最も重要である場合)、VPSを使用したくない場合があります。これは問題になる可能性は低く、ダウンロードしたWebサイトはすでに(おそらく)公開されているため、機密性の問題は発生しないはずです。代わりに専用サーバーを使用することで、データの機密性と整合性を高めることができますが、コストは高くなります。

後で別のVPSに復元できるように、VPSがシャットダウンした場合に備えて、これらのファイルのローカルバックアップを保持する必要があります。ローカルファイルは、システム上にある可能性のあるインデクサーやサムネイルジェネレーターの悪用の影響を受けない「不活性」形式で保存する必要があります。これは、たとえばtarなどのアーカイブにファイルを置くことで実行できます。

グラフィカルユーティリティではなくコマンドラインユーティリティを使用する必要があるため、SSH経由でこれらのファイルにアクセスする方法を見つける必要があります。 VPSでリモートで実行できるいくつかの例:

  • ローカルで安全に表示するために、PNG、TIFF、JPEG、および(アニメーション化されていない)GIFをPPMに変換できます。
  • XLS/XLSXはCSVに変換できますが、これは コマンドライン で問題ありません。良い vimプラグイン があります。
  • RTF、DOC、DOCX、およびODFは、ローカルで安全に表示できる画像に変換できます。
  • コマンドラインでviewPPT/PPTXを表示する方法は知りませんが、 解析 はできます。
  • HTML、CSS、およびJSは、テキストエディターで表示したり、リモートのテキストベースのブラウザーで実行したりできます。
  • PHPは、テキストエディターで表示するか、コマンドラインを使用して実行できますPHPインタープリター。
4
forest

ストレージについて質問したので、私の答えは感染の可能性のあるファイルの保存に焦点を当て、感染の可能性のあるファイルでの作業ではありません(これは非常に異なる問題です)。

一部の画像を含む、言及したすべてのファイルタイプは、マルウェアの配布に使用されているか、まだ使用されています。そのため、それらのそれぞれは、吟味されていない場合、潜在的な脅威となります。

ただし、単にドキュメントファイルをダウンロードするだけでは感染することはないため、感染したファイルであっても、開くまではstoringしても安全です。通常、ドキュメントファイルを開いたり表示したりしたときにのみ感染し、脆弱なソフトウェアを使用したときにのみ悪用されることがあります。ただし、一部の形式(DOCなど)を使用すると、最新のソフトウェアを使用していても、注意しないと悪用される可能性があります。

したがって、それらのドキュメントを安全に保存することでの主な懸念は、ドキュメントを開く偶発的なクリックを防ぐことです。これを防ぐ最も簡単な方法は、それらをスクランブルすることです。基本的なXOR=でもここで機能します。これにより、このようなファイルが誤って開かれることが防止され、十分に安全になります。

1
George Y.