Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
OpenSSL_DTLS_CVE_2014_0221 — OpenSSL DTLS CVE-2014-0221 リモート拒否 | Kitploit
ツール/GitHubGitHub/tpdlshdmlrkfmcla/openssl_dtls_cve_2014_0221
脆弱性分析エクスプロイトネットワークセキュリティ暗号化ペネトレーションテスト
GitHubtpdlshdmlrkfmcla/openssl_dtls_cve_2014_0221

OpenSSL_DTLS_CVE_2014_0221

OpenSSL DTLS CVE-2014-0221 リモート拒否

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
1年前未レビュー

OpenSSL_DTLS_CVE_2014_0221

OpenSSL DTLS CVE-2014-0221 リモートサービス拒否

DTLS(Datagram Transport Layer Security)とは?

データグラム転送層セキュリティ。*物理層

TCP層データグラム対応 : TLS
UDP層データグラム対応 : DTLS : HandShakeプロセスの適切な修正を通じて鍵交換、認証、セキュリティパラメータ設定などを処理し、タイムアウトおよび再送信を通じて非接続性の特性を持つUDPの安定したセキュア通信をサポート

DTLSはDatagram Transport Layer Securityの略で、UDP(User Datagram Protocol)ベースの通信にセキュリティを提供するためのプロトコルです。 TLS(Transport Layer Security)はTCP(Transmission Control Protocol)ベースの通信にセキュリティを提供するために主に使用されますが、UDPは接続指向ではなくパケットベースのプロトコルであるため、TLSをそのまま適用するのは困難です。 このようなUDPベースの通信にセキュリティを提供するためにDTLSが設計されました。

DTLSはTLSの基本構造と非常に似ていますが、いくつかの主要な違いがあります:

データグラム対応: DTLSはデータグラムベースのプロトコルであるUDPに適するように設計されています。TLSは接続指向のTCPに最適化されているため、これをUDPに適用するためにデータグラム単位で動作できるように改良されました。
ハンドシェイクプロセスの適切な修正: DTLSはTLSと同様にハンドシェイクプロセスを使用して、通信の認証、鍵交換、セキュリティパラメータの設定などを処理します。ただし、UDPの特性上、パケットの喪失や順序の変化が発生する可能性があるため、このような状況に対応できるメカニズムがDTLSに追加されました。
タイムアウトと再送信: DTLSは、パケットの喪失や再送信が必要な場合に備えて、タイムアウトと再送信のメカニズムを含んでいます。これはUDPの非接続性の特性を補完し、安定したセキュア通信を可能にします。
セキュリティの考慮: DTLSはTLSと同じセキュリティプロトコルを使用して、データの機密性、完全性、認証を保証します。したがって、UDPベースのアプリケーションでも安全にデータを転送できます。
DTLSは主にVoIP(音声通話)、マルチメディアストリーミング、ゲームサーバーなど、UDPを使用する環境でセキュリティを提供するために活用されています。

では、OpenSSL DTLSの脆弱性

なぜOpenSSLなのか : DTLSとは : UDPベースのTLS、DTLS 1.0はOpenSSLで実装されている

改ざんされたハンドシェイク送信による中間者(MITM)攻撃で、転送データを復号化し、サーバー/クライアント間の転送データを操作できる脆弱性(CVE-2014-0224)
異常なDTLSハンドシェイクをOpenSSL DTLSクライアントに送信することで、サービス拒否攻撃が可能な脆弱性(CVE-2014-0221)
異常なDTLSフラグメントをOpenSSL DTLSクライアントまたはサーバーに送信することで、任意のコード実行が可能な脆弱性(CVE-2014-0195)
do_ssl3_write関数の欠陥により任意のコード実行が可能な脆弱性(CVE-2014-0198)
この脆弱性は、OpenSSL 1.0.0と1.0.1でSSL_MODE_RELEASE_BUFFERSオプションが有効になっている場合に発生します(このオプションはデフォルトでは無効です)
ssl3_read_bytes関数の競合状態(race condition)により、攻撃者がセッションにデータを注入したり、サービス拒否攻撃が可能な脆弱性(CVE-2010-5298)
この脆弱性は、OpenSSL 1.0.0と1.0.1を使用するマルチスレッドアプリケーションでSSL_MODE_RELEASE_BUFFERSオプションが有効になっている場合に発生します(このオプションはデフォルトでは無効です)
anonymous ECDH暗号スイートが有効なOpenSSL TLSクライアントに対してサービス拒否攻撃が発生する可能性がある脆弱性(CVE-2014-3470)

影響を受ける製品とバージョン

OpenSSL 0.9.8系バージョン
OpenSSL 1.0.0系バージョン
OpenSSL 1.0.1系バージョン
このうちCVE-2014-0221は、異常なDTLSハンドシェイクをOpenSSL DTLSクライアントに送信することでサービス拒否攻撃が可能な脆弱性

調査したCVE-2014-0221

< DTLSサービス拒否脆弱性(CVE-2014-0221)>
o DTLS(Datagram Transport Layer Security)は、TLSをベースとして暗号化されたデータグラムを転送するためのプロトコル
o 異常なDTLSハンドシェイクメッセージ(DTLS Helloメッセージ)をDTLSクライアントに送信した場合、OpenSSLが再帰状態に陥るように実装されているため、サービス拒否攻撃が可能

  • DTLS Helloメッセージを処理する際に、関数自身を再帰呼び出しする

サンプルコード dtls1_get_message_framentメソッドの再帰呼び出し部分の例

root@kitploit:~
if(!s->server && s->d1->r_msg_hdr.frag_off == 0 && wire[0] == SSL3_MT_HELLO_REQUEST) {
    if(wire[1] == 0 && wire[2] == 0 && wire[3] == 0) {
        if(s->msg_callback)
            s->msg_callback(0, s->version, SSL3_RT_HANDSHAKE,
                wire, DTLS1_HM_HEADER_LENGTH, s, s->msg_callback_arg);

            s->init_num = 0;
            return dtls1_get_message_fragment(s, st1, stn, max, ok);
    }
    else {
        al=SSL_AD_UNEXPECTED_MESSAGE;
        SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,SSL_R_UNEXPECTED_MESSAGE);
        goto f_err;
    }
}
ツールをダウンロード