web-dev-qa-db-ja.com

ファイルストリームに含まれるウイルスはコンピューターに感染できますか?

私はJavaユーザーからのbase64画像文字列を受け入れるWebアプリケーションを持っています。これらの文字列は最初にバイトストリームに変換され、その後、ウイルスがスキャンされます。その後、ファイルは実際の画像のサイズを変更したバージョンとして保存されます。

私の質問は、ファイルがbase64文字列からメモリ内バイトストリームに変換されたときに、ウイルスが含まれている場合、そのウイルスがバイトストリームをエスケープして残りのサーバーに感染する可能性があるかどうかです。 ?または、ストリームがディスクに保存されたファイルに変換された後にのみそれを行うことができますか?

5
Maurice

どちらでもない。

ファイルとしてディスク上に存在するウイルスは無害です。データとしてメモリに常駐するウイルスは無害です。それは、何かがそれを実行しようとするか、それを不適切に解釈したときにのみ、マシンに感染することができます。これは、ユーザーのアクション(誰かに.exeファイルをダウンロードして実行するように仕向ける)や、アプリケーションの脆弱性(たとえば、PDF PDFリーダーの脆弱性およびアプリケーションをだまして悪意のある命令を実行させる)。

だからあなたの状況からいくつかの例を選ぶには:

  1. WebサーバーにRCEの脆弱性がある場合、リクエスト内の悪意のあるデータがアプリケーションに到達する前にウイルスを実行する可能性があります( examples
  2. 不適切な入力処理により、攻撃者がアプリケーションをだまして悪意のあるコマンドを実行する可能性があります( examplesmore examples
  3. プログラミング言語のストリーム処理システムにエラーがあると、悪意のあるペイロードがコードを実行する可能性があります(そのため、私はその例すらありません)
  4. ファイルをディスクに保存する場所が、アプリケーションがコードを見つけて実行する可能性のある場所でもある場合、攻撃者はアプリケーションをだましてウイルスを保存させ、アプリケーションをだまして実行させる可能性があります( examples
  5. 画像処理ライブラリに既知の脆弱性がある場合、悪意のある画像がサーバーでコマンドを実行できる可能性があります( examples

ただし、ウイルスがサーバーに存在するだけでは問題を引き起こすことはできません。自分自身を実行する方法を見つける必要があります。唯一の防御策は、適切なアプリケーションセキュリティを実践し、すべてを最新に保つことです。

11
Conor Mancone