サイバーセキュリティとは、さまざまな攻撃から守ることです。その中の一つが「ダウングレード攻撃」です。この攻撃は「バージョンロールバック攻撃」や「ビディングダウン攻撃」とも呼ばれ、攻撃者がシステムを安全性の低い状態に引き下げます。
ダウングレード攻撃には多様な手法があります。ここでは、その意味、方法、防止策について解説します。ありがたいことに、これらの攻撃はよく知られており、文書化されているため、貴社の安全を守るためにゼロから新しい対策を構築する必要はありません。
すべての侵入が最先端の技術や脆弱性を利用するわけではありません。攻撃者は似た手法の欠陥を突いて、システムを安全性の低い状態に引き下げます。STARTTLSのような機会主義的な暗号化アプリは、暗号化された通信と暗号化されていない通信の両方を使うため、ダウングレード攻撃に狙われやすいです。
HTTPSのダウングレード攻撃は、訪問者にHTTPSではなくHTTPで接続させるものです。2015年に発生したLogjam攻撃は、より大規模な悪質な作戦の一部でした。Logjamでは、中間者攻撃者がTLS接続を512ビット暗号に引き下げ、暗号化されていない通信上のデータを読み取ります。
下位互換性のあるシステムは、どれもダウングレードの対象となります。訪問者にシステムの更新を促すのは一案ですが、古い技術を使って貴社のサーバにアクセスできることも求められる場合があります。
この攻撃はシステムを直接破壊するのではなく、通常はより大きな攻撃計画の一環として実施されます。後続の攻撃、特に暗号攻撃などへの足がかりを作るのです。
ダウングレードを実現する一般的な方法は、中間者攻撃 (MITM) を仕掛けることです。これにより、攻撃者は利用者のネットワーク通信を妨害できます。その後、仲介者としての立場を利用し、サーバに対して安全性の低いTLSまたはSSLのバージョンを使わせる操作を行います。
ダウングレードが成功すると、攻撃者は中間者攻撃を利用して利用者とサーバ間の通信を密かに奪取できます。また、偽の要求をサーバに送ることで、暗号鍵やセッションクッキーなどの機密情報を狙うことも可能です。
以上は、旧バージョンの脆弱性がどのように悪用されるかの一例です。以下では、さまざまなダウングレード攻撃の手法について説明します。
ダウングレード攻撃は、通信やシステムの安全性を、攻撃に弱い低レベルのプロトコルに引き下げるサイバー攻撃の一種です。安全な通信を傍受して、より弱い暗号方式を強制させたり、通信相手間のプロトコル交渉を操作したりする方法があります。
この攻撃の危険性は、システムのセキュリティや通信が低下する点にあります。例えば、攻撃者がWebブラウザに古くて弱いSSL/TLSのバージョンを使わせた場合、ログイン認証情報や金融情報などの機密データが読み取られる恐れがあります。
さらに、暗号のダウングレード攻撃はセキュリティ機能そのものを無効化する可能性もあります。たとえば、攻撃者がソフトウェア更新のプロセスを旧バージョンに戻すことができれば、マルウェアなどの不正なプログラムを含む偽の更新をインストールさせ、システム全体が危険にさらされる恐れがあります。
このため、最新かつ安全なプロトコルやソフトウェアを使用し、通信とデータを守るために適切な認証と暗号化技術を採用することが重要です。
目的を達成する代表的なダウングレード攻撃は、以下の通りです。
対象の機器がすでに古いバージョン(SSLを含む)を使用していれば、ダウングレードは不要です。一般には、以下のような状況で攻撃が行われることが多いですが、その他の場合もあり得ます。
RSA Export Keys (FREAK) は、MITMと暗号アルゴリズムの弱点を突く攻撃です。輸出用RSA暗号化TLSおよびSSLソリューションを狙います。
攻撃者は、利用者とブラウザの間に入り、通常のRSA暗号スイートから輸出用のものへ切り替えるよう促します。なお、クライアントからサーバへ送られるウェルカムメッセージで暗号スイートが交渉されます。
サーバがこの安全性の低い暗号スイートに切り替わると、攻撃者は通信を解読し、改竄することが可能となります。
POODLE攻撃は、プロトコルのダウングレードを突く手法です。MITMを用いて利用者のブラウザに悪意のあるペイロードや他の暗号方式を使わせるよう仕向けます。
攻撃者は中間に立ち、TLSサーバへ要求を送ることで安全な接続を一度確立させた後、その接続を切断します。サーバが下位互換のためにSSLをサポートしている場合、数回の接続失敗後にSSL 3.0へ切り替わることがあります。
ダウングレード後、攻撃者はSSL 3.0のCBC暗号モードの脆弱性を突くことができます。
この段階では、パディングオラクル攻撃と呼ばれる手法で、異なる入力のリクエストを送信し、その応答を観察します。攻撃者は応答に基づいて暗号文を少しずつ解読し、セッションクッキーを暴露、利用者のセッションを乗っ取ったり、パスワードやデータを盗む恐れがあります。
BEAST (Browser Exploit Against SSL/TLS) は、TLS 1.0およびSSLのCBCモードの脆弱性を突く攻撃です。POODLE攻撃と同様、実施が難しい状況で行われることが多いです。
BEAST攻撃は、前述のMITM攻撃と同様に通信のプロトコルをダウングレードします。その後、攻撃者はクライアントとサーバ間の通信を断片的に記録し、暗号化の制限を変更するデータを注入してサーバの反応を観察します。これにより、暗号鍵なしで通信の暗号ブロックを徐々に解読することが可能となります。
Logjam脆弱性はFREAKと似た手法です。この攻撃は、基本の通信にDiffie-Hellmanプロトコルを採用しているTLSサーバを狙います。攻撃者はMITM攻撃を用い、サーバが512ビットの鍵(DHE EXPORTと呼ばれる)という弱い方式を使用するよう仕向けます。
保護のダウングレードに成功した攻撃者は、その後、暗号の制限を突破し、通信を完全に支配する可能性があります。
デジタル署名やハッシュ処理を弱体化させる攻撃も存在します。これにより、攻撃者は通信を傍受し、解読することが容易になります。
この攻撃は利用者、サーバ、またはその両方を狙う場合があります。前述の手法と同様に、MITMを用いて通信をダウングレードし、その後、通信を妨害します。
ダウングレード攻撃を防ぐには、攻撃の入口を塞ぐことが不可欠です。もし輸出用暗号のサポートが安全性の穴となっている場合は、その機能を削除するのが正しい対策です。TLSやSSLの古いバージョンを使用している場合も、問題の修正が求められます。
ダウングレード攻撃を防止するための有効な方法の一つは、安全で堅牢なTLS設定を導入することです。具体的には、TLS 1.2や1.3といった安全なプロトコルのみをサポートし(古いバージョンとの互換性は無効にする)、既知のダウングレード脆弱性がない強固な暗号を利用することが含まれます。
Downgrade Attack - Github
最新情報を購読