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を使用する方法と制限する方法

推薦する

Linuxのシグナルメカニズムについての簡単な説明

目次1. シグナルリスト1.1. リアルタイム信号と非リアルタイム信号1.2 信号ステータス1.3 ...

CSS3で実装されたグラデーションスライド効果

成果を達成する コードhtml <div class="css-slideshow&...

CSS でホバー ドロップダウン メニューを実装する方法

いつものように、今日は非常に実用的な CSS 効果についてお話します。マウスがボタンに移動すると、ド...

Reactにおける不変値の説明

目次不変の値とは何ですか?不変の値を使用するのはなぜですか? Reactのパフォーマンス最適化は不変...

MySQL 5.7.19 winx64 無料インストールバージョン設定チュートリアル

mysql-5.7.19-winx64インストールフリー版の設定方法、参考までに具体的な内容は以下の...

MySQLに絵文字表現を保存する詳細な手順

原因: java.sql.SQLException: 列の文字列値が正しくありません: '\...

データベースインデックスの知識ポイントの概要

目次ファーストルックインデックスインデックスの概念インデックスファイルの構成インデックスの役割SQL...

Linuxは数字当てゲームのソースコードを実装する

シンプルな Linux 推測ゲームのソースコードゲームのルール:数字当てゲームは通常 2 人でプレイ...

Iframe 適応高さコードに関する 3 つの議論

B/S システム インターフェースを構築する場合、メイン ページ index.html 内に他のペー...

画像ブラインド表示の効果を実現するための純粋な CSS の例

まず、完成した効果をお見せしましょう 主なアイデア: 実際、このブラインドは一種の手品を使用していま...

Windowsタイムサーバーの設定方法の詳しい説明

最近、会社のサーバーの時間が不正確で、外部の時間ソースと同期できないことがわかりました。会社はドメイ...

CSS 8 目を引く HOVER 効果のサンプル コード

1. エフェクトHTMLを送信する <div id="送信ボタン">...

MySQL データベース開発の 36 の原則 (要約)

序文これらの原則は実際の戦闘から要約されています。あらゆる原則の背後には血なまぐさい教訓があるこれら...

CSS のみを使用して折りたたまれたヘッダー効果を作成する方法の例コード

折りたたまれたヘッダーは、特別オファーや重要なお知らせなど、ユーザーにとって重要な情報を表示するのに...