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

推薦する

CSS3で蓮の花が咲くアニメーション効果を実現

まずは効果を見てみましょう:この効果は非常に華やかに見えますが、原理は複雑ではありません。1 枚の花...

Rancher で Kubernetes 用の標準化された VMware イメージを構築する方法

Kubernetes を学習するときは、Kubernetes 環境で練習する必要があります。ただし、...

jsのディープコピーを理解しましょう

目次js ディープコピーデータ保存方法浅いコピー/深いコピーとは何か一般的なディープコピーの実装1....

JavaScript でよく使われる 3 つの Web エフェクトの詳細な説明

目次1要素オフセットシリーズ1.1 オフセットの概要1.2 オフセットとスタイルの違い視覚領域クライ...

ページング効果を実現するNode+Express

この記事では、ページング効果表示を実現するためのnode+expressの具体的なコードを参考までに...

Dockerサーバーのストレージリソースプール不足問題の解決

目次1. 問題の説明2. 問題分析3. 問題解決1. Dockerのディスク使用量を確認する2. 再...

Vue ElementUI フォームのフォーム検証

フォーム検証は、フロントエンド開発プロセスで最もよく使用される機能の 1 つです。私の個人的な仕事経...

MYSQL ロック解除とロックテーブルの紹介

MySQL ロックの概要他のデータベースと比較すると、MySQL のロック メカニズムは比較的単純で...

フロントエンドコンポーネント化の基礎知識を詳しく解説

目次コンポーネントの基本概念オブジェクトとコンポーネントの違い成分属性属性とプロパティ属性:財産:ク...

初心者向けWebサイト構築ガイド⑥:FlashFXPの詳しい使い方

今日は、サイトの設定やウェブサイトのアップロードなど、FlashFXP の最も基本的な機能を紹介しま...

MySQLのnull値に関する小さな問題

今日、null 値をテストしていたところ、小さな問題が見つかりました。ここに記録しました。以前にも遭...

Centos7 に mysql 8.0.13 (rpm) をインストールする詳細なチュートリアル

yum か rpm か? yum によるインストール方法は非常に便利ですが、公式サイトから MySQ...

一般的なテーブルコンポーネントの Vue カプセル化の完全な手順記録

目次序文テーブル コンポーネントをカプセル化する必要があるのはなぜですか?ステップ1: 共通コンポー...

トークン生成と検証を実装するミニプログラム

目次プロセスデモミニプログラムバックエンドインターフェースプロセス各リクエストインターフェースは検証...

Ubuntu 18.0.4 は mysql をインストールし、エラー 1698 (28000): ユーザー ''root''@''localhost'' のアクセスが拒否されましたを解決します

序文最近 Linux を学び、その後 Win から Ubuntu に変更しました。以前インストールし...