Skip to content

Instantly share code, notes, and snippets.

@rch850
Last active August 29, 2015 14:02
Show Gist options
  • Select an option

  • Save rch850/0d4a3a83c42cb4eac6cd to your computer and use it in GitHub Desktop.

Select an option

Save rch850/0d4a3a83c42cb4eac6cd to your computer and use it in GitHub Desktop.
CCS Injection Vulnerability ざっくり

ブラウザからの閲覧についての影響は小さい

クライアント、サーバの両方が OpenSSL を使っていて、かつ脆弱なバージョンのときだけ攻撃できる。 メジャーなブラウザは OpenSSL を使っていないらしい(参考:ssl - which browser is using openssl - Stack Overflow)。 よって、ブラウザからの閲覧についての影響は小さい。

ではどういう時が対象なのか?

例えば、ウェブサイトが何らかの Web API を使っていて、ウェブサイトのサーバと API が脆弱な OpenSSL を使っている場合は対象となる。

ウェブブラウザ (OpenSSLを使っていない)
      ↑
[ここは対象外]
      ↓
ウェブサイト (脆弱な OpenSSL を使用)
   ↑
[ここが対象]
   ↓
何らかの Web API (脆弱な OpenSSL を使用)

ウェブブラウザが脆弱な OpenSSL を使っていたとしたら、もちろんブラウザとサイト間の通信も対象となる。

Android の HTTP クライアントは、WebView 以外は基本的に脆弱な OpenSSL らしい(要出典)。

サーバだけが脆弱なときはどうなのか?

クライアントは対策済み、もしくは OpenSSL ではなく、サーバが脆弱な OpenSSL を使っている状況について、OpenSSL や JVN と、レピダムで言っていることが異なるので、疑問が生じる所。

OpenSSL Security Advisory [05 Jun 2014]

The attack can only be performed between a vulnerable client and server.

JVN#61247051: OpenSSL における Change Cipher Spec メッセージの処理に脆弱性

サーバとクライアント間の SSL/TLS 通信が、中間者攻撃 (man-in-the-middle attack) によって解読されたり、改ざんされたりする可能性があります。

OpenSSL #ccsinjection Vulnerability

サーバだけがバグの存在するバージョンの場合は、クライアントの偽装を行う攻撃が行われる恐れがあります。

サーバ持ってる人はどうすんの?

影響範囲が小さいとはいえ、起こるべき状況では起こるので、脆弱な OpenSSL を使ってる場合はアップデートしましょう!

余談

chrome://credits/ 開いたら openssl って書いてあるんだけど

OpenSSL 使ってるのは Android 限定とのこと。

https://src.chromium.org/viewvc/chrome/trunk/deps/third_party/openssl/README.chromium?revision=270417

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment