MySQL がユーザー名とパスワードの漏洩を引き起こす可能性のある Riddle の脆弱性を公開

MySQL がユーザー名とパスワードの漏洩を引き起こす可能性のある Riddle の脆弱性を公開

MySQL バージョン 5.5 および 5.6 を標的とする Riddle 脆弱性により、中間者攻撃によってユーザー名とパスワード情報が漏洩する可能性があります。できるだけ早くバージョン5.7にアップデートしてください。

Riddle 脆弱性は DBMS Oracle MySQL に存在し、攻撃者はこれを利用して中間者認証を通じてユーザー名とパスワードを盗むことができます。

「Riddle は、Oracle MySQL 5.5 および 5.6 クライアント データベースで見つかった、深刻度の高いセキュリティ脆弱性です。これにより、攻撃者は Riddle を中間者攻撃の立場で利用して、MySQL クライアントとサーバー間の SSL 構成の接続を侵害することができます」と脆弱性の説明には書かれています。 「この脆弱性は非常に危険です。第一に、非常に人気のある SQL データベースである MySQL に影響を及ぼし、第二に、本来安全であるはずの SSL 接続にも影響を及ぼすからです。」

CVE-2017-3305 として追跡されている Riddle 脆弱性により、MySQL 5.5 および 5.6 がユーザー名やパスワードなどのデータをサーバーに送信する際に、攻撃者がそれらのデータを取得できるようになります。

バージョン 5.5.49 および 5.6.30 のセキュリティ更新プログラムでは、脆弱性は完全に修正されませんでした。専門家は、バージョン 5.7 以降の MariaDB システムはこの脆弱性の影響を受けないと指摘しました。

セキュリティ研究者のパリ・ロハール氏は、Riddle 脆弱性の原因は、以前から MySQL データベースに存在し、修正されていなかった BACKRONYM 脆弱性であると述べました。 Backronym の脆弱性は、トラフィックが暗号化されている場合でも、中間者攻撃でパスワードを漏洩するために利用される可能性があります。

「MySQL 5.5.49 および 5.6.30 の安定版のセキュリティ アップデートでは、認証プロセスが完了した後のセキュリティ パラメータの検証が追加されました。」 「認証が完了した後にアクションが実行されるため、Riddle 中間者攻撃と SSL ダウングレードを組み合わせると、攻撃者はログイン データを盗み、MySQL サーバーに認証してログインできるようになります」と Rohár 氏は書いています。

「興味深いことに、MySQL サーバーがユーザーの認証を拒否した場合、MySQL クライアントは SSL 関連のエラーを報告せず、代わりにサーバーから送信された暗号化されていないエラー メッセージを報告します。これらのエラー メッセージは、中間者攻撃者によって制御されます。」

専門家は、これらのアプリケーションのセキュリティ更新が適切に機能しているため、クライアント ソフトウェアを MySQL 5.7 または MariaDB に更新することを推奨しています。

概念実証

著者は Perl で書かれた PoC スクリプトを提供しています。ローカル ポート 3307 で riddle が開き、MySQL サーバーは localhost:3306 で実行されます。

仲介サーバー上で riddle を実行します。

$ perl なぞなぞ.pl

MySQL クライアントを謎に接続します。

$ mysql --ssl-mode=REQUIRED -h 127.0.0.1 -P 3307 -u ユーザ -p パスワード

正しいユーザー名とパスワードを入力すると、riddle はサーバーに接続し、SQL ステートメントを実行して出力します。

information_schema.TABLES から COUNT(*) を選択 --> 121

MySQL クライアントは、riddle から送信されたエラー メッセージを受信します。

エラー 1045 (28000): アクセスが拒否されました: MITM 攻撃

オラクルは脆弱性を適時に修正できなかった

Riddle の脆弱性は 2 月に発見されましたが、Oracle MySql ソフトウェアにはまだ影響があります。

「Oracle の顧客でなければ、脆弱性を Oracle に報告しても意味がありません (セキュリティ関連のものであっても)。Oracle は報告を完全に無視し、誰もそのことを知らないのであれば満足なので、修正する必要はありません」と Rohár 氏は説明した。

要約する

上記は、ユーザー名とパスワードの漏洩を引き起こす可能性のある MySQL Riddle 脆弱性に対する解決策を紹介したものです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MySQL 8.0 で列を素早く追加する方法
  • MySQLオンラインDDLの使用に関する詳細な説明
  • MySQL DDL による同期遅延を解決する方法
  • MySQL 8.0 アトミック DDL 構文の詳細な説明
  • MySQL オンライン DDL ツール gh-ost 原理分析
  • MySQL DDLステートメントの使用
  • 一般的なMysql DDL操作の概要
  • MySQL 8.0 の新機能の分析 - トランザクション データ ディクショナリとアトミック DDL
  • MySQL データ定義言語 DDL の基本ステートメント
  • MySQL 8.0 DDLアトミック機能と実装原則
  • MySQLオンラインDDL gh-ostの使用の概要
  • MySQL 5.7 でブロックポジショニング DDL の問題を解決する
  • MySQL 8.0 の新機能: アトミック DDL ステートメントのサポート
  • MySQL 8.0 オンライン DDL クイック列追加の概要

<<:  Linux でネットワーク パケット損失と遅延をシミュレートする方法

>>:  Reactでpropsを使用する方法と制限する方法

推薦する

別の種類の「キャンセル」ボタン

「キャンセル」ボタンは必要な操作プロセスの一部ではなく、デザイン上の主要な要素として表示されません...

vsftpd ユーザーが ssh 経由でログインすることを禁止する方法

序文vsftp は使いやすく安全な FTP サーバー ソフトウェアです。システムユーザーまたは仮想ユ...

win10 での mysql 8.0.16 winx64 インストールの最新グラフィック チュートリアル

このデータベースをダウンロードするには、多くの時間とトラフィックがかかります。踏み込んだ落とし穴で時...

MySQL で期限切れのデータレコードを定期的に削除する簡単な方法

1. MySQL に接続してログインしたら、まず MySQL でイベント機能が有効になっているかどう...

Vue の状態管理: Vuex の代わりに Pinia を使用する

目次1. ピニアとは何ですか? 2. Piniaは使いやすい3. ユーザーエクスペリエンス1. ピニ...

mysql 一時テーブルの使用状況の分析 [クエリ結果は一時テーブルに保存できます]

この記事では、例を使用して MySQL 一時テーブルの使用方法を説明します。ご参考までに、詳細は以下...

react-virtualized を使用して、動的な高さを持つ画像の長いリストを実装する

目次開発中に発生した問題解決具体的な実装実績まとめバーチャルリストは、スクロールコンテナ要素の表示領...

JTAを実装するためにAtomikosと組み合わせたTomcatについて

最近、プロジェクトは環境を切り替え、WebLogic を Tomcat に置き換えました。途中で発生...

JavaScript ES6 モジュールの詳細な説明

目次0. モジュールとは何か1.モジュールの読み込み1.1 方法1 1.2 方法2 2. 輸出と輸入...

強くお勧めします! Vue 3.2 でシンタックスシュガーを設定する

目次前の1. セットアップ構文シュガーとは何か2. セットアップコンポーネントを使用して自動的に登録...

vue3 コンポーネント通信方法の概要と例

vue3コンポーネントの通信モードは次のとおりです。小道具$放出$expose / 参照$属性vモデ...

バランスの取れたデジタルスクロール効果を実現するJavaScript

目次1. 実施の背景2. 実装のアイデア3. 実施プロセス1. 実施の背景先週、ユーザーがタスクを完...

Node.jsはSTMPプロトコルとEWSプロトコルに基づいてメールを送信します

目次1 STMP プロトコルに基づいてメールを送信する Node.js メソッド2 MS Excha...