JVNTA#94494000: 改ざんチェックのない CBC モードで暗号化された実行ファイルにおいて任意のコードを埋め込まれる問題
CRANK

NTT、兵庫県立大学および NEC の研究チームにより、改ざんチェックが行われずに CBC モードによって暗号化されているバイナリ実行ファイルに任意コードを埋め込まれる問題が発見されました。この問題は研究チームにより ACNS 2020 において公表されました。共通鍵暗号のブロック暗号において、暗号方式によらず以下のいずれかのモードを利用しており、且つ改ざんチェック機能のないシステムやアプリケーション例えば、特定のファイル暗号ソフトウェアや OpenSSL コマンドなど、改ざんチェックのないソフトにより暗号化されたファイル、またはディスク暗号ソフトウェアにより暗号化されたディスクなどが影響を受ける可能性があります。CBC モードについてCBC モードは、共通鍵暗号のうちブロック暗号 (AES や 3DES など) でよく使われている暗号モードで、分割されたブロックを暗号化する際に、一つ前の暗号文ブロックと XOR 演算を行ってから暗号化する方式です。1ブロック目は前のブロックが存在しないため、IV (Initialization Vector)と呼ばれる値を用いて XOR 演算を行います。本記事では、平文のブロックを (M1, M2, ..., Mn) 、暗号文のブロックを (C1, C2, ..., Cn)、…

jvn.jp
Related Topics: Security
1 comments
  • 去年とかそれより前に出てたTLSとかでの、CBCのIVとかパディング関係のと基本的には似てるけれど、バイナリの低エントロピーな性質を活用して初期ポイントを任意に選べるようになった的な感じ、だろうか?
    とりあえず(?)、すでにTLS (1.3?)のプロトコルレベルでも、PCI DSSとかのガイダンスでもCBCはNGになってるし、アルゴリズムとして脆弱とマークされてるのは使わないようにちゃんと運用しましょう、という、でしょうか。。