- 締切済み
暗号化されたファイルでも中身を変えられる?
パソコン内に暗号化されたファイルがあり、その状況でパソコンがマルウェアに感染するとします。 そのマルウェアが[暗号化されたファイルの中身の一部または全部を変える、悪意のあるコードまたはファイルを付加する] こういうことは出来るのか、ご教授ください。 出来るのならば、暗号を解除しようとすると、どのようなことが起こるのでしょうか。 ○解除に失敗するので、そのファイルは永久に使えなくなる ○変えられた通りの内容のファイルになっている。 中身の一部を変えられると、解除後は、中身を変えられた部分と変わっていないそれ以外の部分で構成されるファイルになっている。変えられた部分が悪意のあるコードだと、解除後のファイルを開くとそのコードが実行される。 全部を変えられると解除後はすべて変えられたファイルになっている(エクセルファイルが全く別の悪意のある実行ファイルになっている等) ○付加された悪意のあるコードまたはファイルがそのまま残り、解除後のファイルは(元のファイル+悪意のあるコードまたはファイル)という構成になる。解除後のファイルを開くと、その付加されたコードまたは付加されたファイルが実行される。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 日吉 龍(@VDSL)
- ベストアンサー率68% (176/258)
こんばんわ。 > [暗号化されたファイルの中身の一部または全部を変える、悪意のあるコードまたはファイルを付加する] できます...が意味を成さないでしょう。 付加されたコードやファイルは暗号化されていないので、ファイルの復号を試みた時に結果的に付加された部分が復号処理で破壊され、無意味なデータになるでしょう(その前にエラーになるでしょうが)。 > ○解除に失敗するので、そのファイルは永久に使えなくなる 暗号化の方式によります。 ストリーム暗号という、1ビットもしくは1バイト単位で暗号化/復号を行う暗号化方式であれば、最後に無意味なデータが付加されても元の部分の復号処理には基本的に影響は及びません。 ブロック暗号という、もっと大きな単位をひと塊として暗号化/復号を行う暗号化方式であれば、最後に付加されたデータも含めて復号を試みるため、必要なデータを取り出すのは不可能ではないにせよ、非常に困難になるでしょう。 > ○変えられた通りの内容のファイルになっている。 マルウェアが暗号化処理を再現できるのであれば、復号 -> ファイルの改変 -> 暗号化をすることで意味のある改変を元ファイルに加えられますが、そうでない限りは意図的な改変するのは不可能です。 > 中身の一部を変えられると、解除後は、中身を変えられた部分と変わっていないそれ以外の部分で構成されるファイルになっている。変えられた部分が悪意のあるコードだと、解除後のファイルを開くとそのコードが実行される。 前述のとおり、変えられた部分を含めて復号をしようとするので、まず間違いなくエラーが発生して復号できません(復号した結果として意味があるデータが取り出せたかどうかは、暗号化ソフトが判別できる)。強引に復号したとしても、変えられた部分が破壊されるだけでコードは実行されないでしょう。 > 全部を変えられると解除後はすべて変えられたファイルになっている(エクセルファイルが全く別の悪意のある実行ファイルになっている等) 全部変える = 復号した結果として意図したファイルを出力されることが可能ということは、復号に対応する暗号化を自力で行えるということを意味します。結局のところ、悪意を持って改変を加える側が暗号化処理を再現できるかどうかに依存します。 > ○付加された悪意のあるコードまたはファイルがそのまま残り、解除後のファイルは(元のファイル+悪意のあるコードまたはファイル)という構成になる。解除後のファイルを開くと、その付加されたコードまたは付加されたファイルが実行される。 この可能性があるとすれば、自己解凍型のファイルだけでしょう。 自己解凍型のファイルは、結局のところexe + 暗号化されたデータであり、exeの部分は暗号化の対象外です(そこまで暗号化されていたらそもそも実行できない)。exeの部分を改変してマルウェアを埋め込むことはできるでしょう。 また、復号した結果として出てくるデータがわかっているのであれば、同じくexe部分に改変を加えることで、復号処理が終了した後に、復号されたデータを改変するようなプログラムを埋め込むことも可能でしょう。
補足
>ストリーム暗号という、1ビットもしくは1バイト単位で暗号化/復号を行う暗号化方式であれば、最後に無意味なデータが付加されても元の部分の復号処理には基本的に影響は及びません。 ストリーム暗号では 中の一部を変えられたファイル復号する時にはエラーになるが 悪意のあるコードまたはファイルを付加された場合(元のファイルの最後にコードを追加したり、新たなファイルを最後に付加した場合)、 暗号化された部分のファイルは問題なく復号できて、そこに悪意のあるコードまたはファイルが付加された状態になるのでしょうか? >この可能性があるとすれば、自己解凍型のファイルだけでしょう。 付加される悪意のあるコードまたはファイルがスクリプト形式だと、ストリーム暗号によって正常なスクリプトファイルを暗号化したファイルを復号した場合、元の正常なスクリプトファイルに悪意のあるスクリプトが付加されているので、復号されたファイルを実行すると、付加された悪意のあるスクリプトコードまたはスクリプトファイルが実行されることはないでしょうか?