DropboxなどSSLで認証するサービスのエラーを無視するプログラミングが蔓延している? セキュリティホール作りまくりで、Twitter, Facebox, Googleなどでも中間者攻撃、やられ放題? ― 2013年03月01日 09時48分12秒
ASAHIネット(http://asahi-net.jp )のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
以下のこと、セキュリティに詳しい人、間違っていたり、ご意見があれば、
お願いします。
DropboxのAPIは、SSLを通して使うので、調べていたら、SSLの認証でエラー
が出ても無視するというプログラミング例があちこちにあった。
Javaでの例が多かったが、Java以外でもPerlライブラリで、そういうことや
っている例があった。
SSLの証明書がおかしいというエラーが出ているのに、無視するという危険
な方法は、中間者攻撃(Man-In-The-Middle attacks)を受けるだろうし、セキ
ュリティホール作りまくりだろう。
http://ja.wikipedia.org/wiki/中間者攻撃
Dropboxに、こういうやり方でつないでいる連中、きっといつでも攻撃され
放 題状態なんだろう。
いままた、「なりすましウイルス」で誤認逮捕された話、容疑者が捕まって
話題になっているが、こんなやり方してたら、中間者攻撃による、なりすまし
で、いろいろウイルスを放り込まれても仕方ない。
すでにやられていても、きっと、当人は気づいてないだろうね。
Dropboxが使っているOAuthの認証は、Twitte, Facebox, Googleなど多くの
サービスでも使っているはずだから、これらに対しても同じ事やっていたら、
これらのサービスでも、中間者攻撃、やられ放題なのではないか。
■だめな人たち
http://blog.livedoor.jp/seki1109/archives/51595101.html
JavaでSSLを使ってhttp postしたい!
愚かにも、「ホスト名を無視する設定が必要そう」だって。
http://www.lifewithunix.jp/notes/2012/12/06/dropbox-api-ssl_verify_mode/
FreeBSD: Dropbox-api とSSL_verify_mode
これも、検証をしない設定をしている。
http://blog.7kai.org/2013/01/dropbox-api-command-proxy/
Dropbox API Command 不具合対応祭り
(SSL_verify_mode/case insensitive/download log/unexpected EOF/Proxy)
上記を受けて、
--- ここから ---
gfxさんから神パッチを頂き WebService::Dropbox をバージョンアップすると
警 告が出ないようになりました、ありがとうございます、ありがとうござい
ます。
--- ここまで ---
だって。
セキュリティホールになるパッチなのに、それを崇めて神パッチとは。
こいつら、頭が、おかしい。どうかしている。
http://stackoverflow.com/questions/7256955/java-sslexception-hostname-in-certificate-didnt-match
Java SSLException: hostname in certificate didn't match
これは、ホスト名が違っていてもOKにする危険なやり方。
その他、これや後述のstackoverflow.comをみても、右側に並んでいる
LinkedやRelatedの中には、だめな例がいっぱいある。
stackoverflow.comの例は、AndroidのJavaのことが多いが、もし、こんなコード
を使ったアプリがいっぱい出回っていたら、Androidは、やられ放題じゃないか。
■まともな人たち
http://blog.antoine.li/2010/10/22/android-trusting-ssl-certificates/
Antoine Hauck's blog
Android: Trusting SSL certificates
Friday, October 22nd, 2010 | Author: Antoine Hauck
http://stackoverflow.com/questions/1666052/java-https-client-certificate-authentication
Java HTTPS client certificate authentication
http://emo.sourceforge.net/cert-login-howto.html
SSL Client Authentication How-to
http://stackoverflow.com/questions/2703161/how-to-ignore-ssl-certificate-errors-in-apache-httpclient-4-0
How to ignore SSL certificate errors in Apache HttpClient 4.0
エラーを無視する解決策ばかり出ているので、エラーを無視するなという、
まともな考えを持つBrunoさんという人が怒っている。
火を消さず、火災報知器のバッテリーをはずすような対応だと、うまいこと、
言ってるね。
It should be noted that the answers to this question don't do more
than what's asked: they let you ignore the error but don't fix the
underlying problem (a bit like removing the batteries from a smoke
alarm instead of putting out the fire). Certificates have a purpose in
ensuring the security of the SSL/TLS connection, ignoring those
errors introduces a vulnerability to MITM attack. Use test
certificates instead of ignoring the error. Bruno May 13 '12 at 22:42
http://stackoverflow.com/questions/2012497/accepting-a-certificate-for-https-on-android
Accepting a certificate for HTTPs on Android
他の回答は、危険なものだが、この中にある、
The following main steps are required to achieve a secured connection
from Certification Authorities which are not considered as trusted by
the android platform.
で始まるやり方が、エラーを無視しないという、まともな考えに基づいている。
これは、上記、Antoine Hauckさんが、自分のブログから転載。
http://stackoverflow.com/questions/2642777/trusting-all-certificates-using-httpclient-over-https
これも、他の回答は、危険なものだが、
You basically have four potential solutions to fix a "Not Trusted"
exception on Android using httpclient:
のあと、
This answer uses solution #4, which seems to me to be the most robust.
で始まるemmbyさんの回答や
This is a bad idea. Trusting any certificate is only (very) slightly
better than using no SSL at all.
で始まるdanさんの回答が、まともな考えに基づいている。
関連本:
http://www.amazon.co.jp/exec/obidos/ASIN/4274065421/showshotcorne-22/
マスタリングTCP/IP SSL/TLS編 [単行本]
Eric Rescorla (著), 齋藤 孝道 (著), 古森 貞 (著), 鬼頭 利之 (著)
http://www.amazon.co.jp/exec/obidos/ASIN/4274065731/showshotcorne-22/
OpenSSL―暗号・PKI・SSL/TLSライブラリの詳細― [単行本]
John Viega (著), Matt Messier (著), Pravir Chandra (著), 齋藤 孝道 (著)
http://www.amazon.co.jp/exec/obidos/ASIN/4797361190/showshotcorne-22/
体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と
対策の実践 [大型本]
徳丸 浩 (著)
その他の関連本は、関連をみてください。
関連:
http://iiyu.asablo.jp/blog/2012/11/05/6624134
Javaセキュアコーディング, C/C++ほか、セキュアなプログラミング関係
---
以下のこと、セキュリティに詳しい人、間違っていたり、ご意見があれば、
お願いします。
DropboxのAPIは、SSLを通して使うので、調べていたら、SSLの認証でエラー
が出ても無視するというプログラミング例があちこちにあった。
Javaでの例が多かったが、Java以外でもPerlライブラリで、そういうことや
っている例があった。
SSLの証明書がおかしいというエラーが出ているのに、無視するという危険
な方法は、中間者攻撃(Man-In-The-Middle attacks)を受けるだろうし、セキ
ュリティホール作りまくりだろう。
http://ja.wikipedia.org/wiki/中間者攻撃
Dropboxに、こういうやり方でつないでいる連中、きっといつでも攻撃され
放 題状態なんだろう。
いままた、「なりすましウイルス」で誤認逮捕された話、容疑者が捕まって
話題になっているが、こんなやり方してたら、中間者攻撃による、なりすまし
で、いろいろウイルスを放り込まれても仕方ない。
すでにやられていても、きっと、当人は気づいてないだろうね。
Dropboxが使っているOAuthの認証は、Twitte, Facebox, Googleなど多くの
サービスでも使っているはずだから、これらに対しても同じ事やっていたら、
これらのサービスでも、中間者攻撃、やられ放題なのではないか。
■だめな人たち
http://blog.livedoor.jp/seki1109/archives/51595101.html
JavaでSSLを使ってhttp postしたい!
愚かにも、「ホスト名を無視する設定が必要そう」だって。
http://www.lifewithunix.jp/notes/2012/12/06/dropbox-api-ssl_verify_mode/
FreeBSD: Dropbox-api とSSL_verify_mode
これも、検証をしない設定をしている。
http://blog.7kai.org/2013/01/dropbox-api-command-proxy/
Dropbox API Command 不具合対応祭り
(SSL_verify_mode/case insensitive/download log/unexpected EOF/Proxy)
上記を受けて、
--- ここから ---
gfxさんから神パッチを頂き WebService::Dropbox をバージョンアップすると
警 告が出ないようになりました、ありがとうございます、ありがとうござい
ます。
--- ここまで ---
だって。
セキュリティホールになるパッチなのに、それを崇めて神パッチとは。
こいつら、頭が、おかしい。どうかしている。
http://stackoverflow.com/questions/7256955/java-sslexception-hostname-in-certificate-didnt-match
Java SSLException: hostname in certificate didn't match
これは、ホスト名が違っていてもOKにする危険なやり方。
その他、これや後述のstackoverflow.comをみても、右側に並んでいる
LinkedやRelatedの中には、だめな例がいっぱいある。
stackoverflow.comの例は、AndroidのJavaのことが多いが、もし、こんなコード
を使ったアプリがいっぱい出回っていたら、Androidは、やられ放題じゃないか。
■まともな人たち
http://blog.antoine.li/2010/10/22/android-trusting-ssl-certificates/
Antoine Hauck's blog
Android: Trusting SSL certificates
Friday, October 22nd, 2010 | Author: Antoine Hauck
http://stackoverflow.com/questions/1666052/java-https-client-certificate-authentication
Java HTTPS client certificate authentication
http://emo.sourceforge.net/cert-login-howto.html
SSL Client Authentication How-to
http://stackoverflow.com/questions/2703161/how-to-ignore-ssl-certificate-errors-in-apache-httpclient-4-0
How to ignore SSL certificate errors in Apache HttpClient 4.0
エラーを無視する解決策ばかり出ているので、エラーを無視するなという、
まともな考えを持つBrunoさんという人が怒っている。
火を消さず、火災報知器のバッテリーをはずすような対応だと、うまいこと、
言ってるね。
It should be noted that the answers to this question don't do more
than what's asked: they let you ignore the error but don't fix the
underlying problem (a bit like removing the batteries from a smoke
alarm instead of putting out the fire). Certificates have a purpose in
ensuring the security of the SSL/TLS connection, ignoring those
errors introduces a vulnerability to MITM attack. Use test
certificates instead of ignoring the error. Bruno May 13 '12 at 22:42
http://stackoverflow.com/questions/2012497/accepting-a-certificate-for-https-on-android
Accepting a certificate for HTTPs on Android
他の回答は、危険なものだが、この中にある、
The following main steps are required to achieve a secured connection
from Certification Authorities which are not considered as trusted by
the android platform.
で始まるやり方が、エラーを無視しないという、まともな考えに基づいている。
これは、上記、Antoine Hauckさんが、自分のブログから転載。
http://stackoverflow.com/questions/2642777/trusting-all-certificates-using-httpclient-over-https
これも、他の回答は、危険なものだが、
You basically have four potential solutions to fix a "Not Trusted"
exception on Android using httpclient:
のあと、
This answer uses solution #4, which seems to me to be the most robust.
で始まるemmbyさんの回答や
This is a bad idea. Trusting any certificate is only (very) slightly
better than using no SSL at all.
で始まるdanさんの回答が、まともな考えに基づいている。
関連本:
http://www.amazon.co.jp/exec/obidos/ASIN/4274065421/showshotcorne-22/
マスタリングTCP/IP SSL/TLS編 [単行本]
Eric Rescorla (著), 齋藤 孝道 (著), 古森 貞 (著), 鬼頭 利之 (著)
http://www.amazon.co.jp/exec/obidos/ASIN/4274065731/showshotcorne-22/
OpenSSL―暗号・PKI・SSL/TLSライブラリの詳細― [単行本]
John Viega (著), Matt Messier (著), Pravir Chandra (著), 齋藤 孝道 (著)
http://www.amazon.co.jp/exec/obidos/ASIN/4797361190/showshotcorne-22/
体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と
対策の実践 [大型本]
徳丸 浩 (著)
その他の関連本は、関連をみてください。
関連:
http://iiyu.asablo.jp/blog/2012/11/05/6624134
Javaセキュアコーディング, C/C++ほか、セキュアなプログラミング関係
コメント
_ おばら ― 2013年03月01日 21時41分05秒
_ maoyam ― 2013年03月03日 03時38分22秒
本当にひどいですね…
脅威をつくる道具にしかなっていないですね…
脅威をつくる道具にしかなっていないですね…
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。
※投稿には管理者が設定した質問に答える必要があります。
トラックバック
このエントリのトラックバックURL: http://iiyu.asablo.jp/blog/2013/03/01/6734038/tb
おかしいなぁと思っていたので、良いタイミングで正しい解決方法が得られました。
こんな感じで検索すると、ぽろぽろでてきまする
https://www.google.co.jp/search?client=safari&rls=en&q=apns+verify_peer&ie=UTF-8&oe=UTF-8&redir_esc=&ei=ZKAwUcj7BuvnmAWuvYHoDA