スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Opera "Content-Length" Processing Buffer Overflow Vulnerability 対策

2010年03月05日 23:00

http://secunia.com/advisories/38820
http://www.exploit-db.com/exploits/11622

operaで長大なContent-Lengthを読み込ませるとOverflowする
という脆弱性が出ました。

今のところ、10.50 10.10でもOverFlowするし
security fix もいつになるか解らないので
ちょっとした対策方法を考えてみました。

結論から言うと
「プロキシでhttp headerをチェックする」
です

まぁ説明するまでも無いんですが

プロキシサーバはsquidを利用し
「reply_header_max_size」を設定しました。

例)
reply_header_max_size 3 KB

3KBが妥当かは解りませんがPoCではContent-Lengthだけで5KB程度ありましたし
codeを挿入することを考えるともう少し大きい設定でもいいかもしれません

ただ、3KBでも通常のブラウジングには影響は無さそうでした

ってか、3KBを超えるreply headerってどういう場合が想定されますかね?
その辺は詳しくないので・・・
まぁ問題があったら調整する感じが良いでしょう


ちなみにsquidには
「reply_body_max_size」
というContent-Lengthをチェックしてくれるパラメータがあるのですが
件のPoCには残念ならが効果を発揮しませんでした。

どうやら整数値が大きすぎてsquidがContent-Length値として認識できないようで・・・
(最新版では試してないので、全てのバージョンでどうかは確認してません)




スポンサーサイト

Zen Cart ってSecurityPatch解り難いよ・・・

2009年12月21日 22:39

ちょっと仕事でZenCartを触る機会があったんだけど、
SecurityPatchの状況が非常に解り辛い状態だったので書いてみる。

ちなみに、カートシステム自体を触ったわけでもなく
PHPも読めても書けない人なので詳しいことは解らない。
あくまで、セキュリティ検証で触った程度なので。


http://www.zen-cart.com/

まず、公式にある最新版1.3.8aなのだが
これは脆弱性が存在するバージョンのようです。
なんせ、
更新日が「2007-12-11」
古すぎ。

枯れててそうならいいんだけど、
どうもフォーラムでパッチやコードを公開しているみたいだ。
ところが、これが解りにくい。正直探せない。
公式サイトでアップデート情報をうまく取り出す方法があったら
誰か教えてほしいですw


仕方がないので、CVEから引っ張り出すことに。


「Zen Cart」で検索し、日付なんかを参考に
1.3.8a以降の脆弱性をピックアップ


http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-4323
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-4322
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-4321
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-6986
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-6985
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-6878
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-6877
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-2255
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-2254
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-6616
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-6615


こんなに出てきますw
詳細を説明するのはムリなので省略。

簡単に眺めただけでも
「SQLインジェクション」
「XSS」
「任意のコードを実行」
「任意のファイル読み取り」

とまぁやりたい放題です。



といっても対応自体はそれほど難しいことではなく。
何種類かの修正で対応できます。

●adminフォルダの制限
http://www.zen-cart.com/forum/showthread.php?t=130161

adminのrenameと、出来ればIPアドレスなどで制限をかけることが望ましいです。
あと、セキュリティバイパス的なパッチもあった気がするけど、
運用上気にする必要がなければ無視していいはずです。

これ以上調べるのもう疲れたw

●不要フォルダの削除
http://www.zen-cart.com/forum/showthread.php?t=142784

- /docs
- /extras
- /zc_install
- /install.txt

これを削除するなり外部からアクセス不能に。


●/includes/classes/shopping_cart.phpを修正
http://www.zen-cart.com/forum/showthread.php?p=604473

詳細はフォーラムを参照してください。
あと名前のとおり非常に重要なファイルなので
修正は慎重に


これで対応出来るはず。
だけど、いろいろ調べすぎてわけが解らなくなってるので
ほんとに大丈夫か自信なかったりw
(追記:nessusのプラグイン最新にしてスキャンするといろいろ検知出来ます)


ZenCartの開発者は、フォーラムで対応するんじゃなくて
わかりやすい場所での告知と、adminやinstallerは抜本的な対応をしてほしいです。

正直、この状態で公開してるのを見ると、
脆弱性を残したままのZenCart製ショッピングサイトは世界中に相当数あるんじゃないかと。
普通に考えて
多少気にする人でも、最新版落として後は更新チェックするくらいで
放置すると思う。


こんなんじゃ、ZenCart製ショッピングサイトを利用するときは
どうせ個人情報だだ漏れだろ、くらいの気分で使わざるをえない・・・



あと、ぜんぜん関係ないけど今回情報を参照してて思ったんだけど
securityfocusの情報書いてる人、プログラムの事さっぱり解ってないよね、たぶん。

あまりにも誤読というか、曲解というかが多すぎて
まったくあてにならないというか、逆に壮絶に俺を混乱させてくれたよ。
まぁ書いてる人全員がそうというわけじゃないと思うけど・・・

MITM SSL renegotiation

2009年11月18日 22:38

TLS/SSLに設計上の脆弱性、広範囲にわたって深刻な影響の可能性
http://journal.mycom.co.jp/news/2009/11/09/006/index.html

みたいなヤツ。

範囲が限定的だとか、
opensslのupdateで無効になったとか、
デフォじゃ無効じゃないとか、
クライアント証明書関係だとか何だとか
情報が錯綜しててわけわからん。

なので、とりあえずopensslがどんな対応をしてるか確認してみた。
ただ、そこまでキチンと追えてないので、あってるかどうか・・・


まず、diffをとってみる。全部書くと溢れるので一部抜粋

>diff -r openssl-0.9.8k openssl-0.9.8l


diff -r openssl-0.9.8k\ssl\ssl3.h openssl-0.9.8l\ssl\ssl3.h
329,332c329,333
< #define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 0x0001
< #define SSL3_FLAGS_DELAY_CLIENT_FINISHED 0x0002
< #define SSL3_FLAGS_POP_BUFFER 0x0004
< #define TLS1_FLAGS_TLS_PADDING_BUG 0x0008
---
> #define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 0x0001
> #define SSL3_FLAGS_DELAY_CLIENT_FINISHED 0x0002
> #define SSL3_FLAGS_POP_BUFFER 0x0004
> #define TLS1_FLAGS_TLS_PADDING_BUG 0x0008
> #define SSL3_FLAGS_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x0010



新たに
SSL3_FLAGS_ALLOW_UNSAFE_LEGACY_RENEGOTIATION
を定義し



diff -r openssl-0.9.8k\ssl\s3_lib.c openssl-0.9.8l\ssl\s3_lib.c
2594a2595,2597
> if (!(s->s3->flags & SSL3_FLAGS_ALLOW_UNSAFE_LEGACY_RENEGOTIATION))
> return(0);
>




こんな感じでrenegotiationをはじくように各所に記述してるっぽい。
これで無効にしてるって感じ。
だけど、削除したわけじゃないので機能させるこも可能。
(上のSSL3_FLAGS_*みたいのは全部そんな感じ)

デフォでは、機能しないように定義されているようです。
(SSL_OP_*系のフラグがそれっぽい)


機能させるには
>openssl s_server -bugs=1

みたいなオプションで起動すると、イケル。
ってか、
> #define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 0x0001
> #define SSL3_FLAGS_DELAY_CLIENT_FINISHED 0x0002
> #define SSL3_FLAGS_POP_BUFFER 0x0004
> #define TLS1_FLAGS_TLS_PADDING_BUG 0x0008
> #define SSL3_FLAGS_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x0010

この辺が全部有効になるような気もするが。


で、apacheはどうなってんのか気になったので確認してみた。

./modules/ssl/ssl_engine_init.c

たぶん、ここで初期設定を定義してると思うんだけど

ssl_init_ctx_protocolで

SSL_CTX_set_options(ctx, SSL_OP_ALL);

と定義してあるんだよね。
SSL_OP_ALLで-bugsと同じフラグもたってるような気がするんだけど・・・

opensslのドキュメント読んでも
SSL_CTX_set_options() adds the options set via bitmask in B to B.
Options already set before are not cleared!


すでに設定したオプションはそのまま残るらしいし、
その後、クリアした形跡もないので、やはりオンになってる気配が。


うーん、opensslをupdateしても、apahceでは機能有効になってるのかな・・・
PoCでアタックしたほうが早い気がしてきた。



つーか、RENEGOTIATIONが、いつどんなタイミングで使われるのか
ハッキリと掴めなかったので結局対処したほうがいいかどうか
わからんかったw

まー、みんなそれほど慌ててないので、平気なんだろうが・・・


追記:
詳細資料がこんなとこにあったわ・・・
http://extendedsubset.com/?p=8


Mozilla Plugin Check

2009年10月20日 22:30

http://secunia.com/blog/64/
http://www.mozilla.com/en-US/plugincheck/

mozillaがFirefoxのプラグインの更新状況を確認してくれる
サービスを始めた模様

アドオンはいままでも更新お知らせしてくれた
っていうか簡単にアップデートもしてくれたけど
これで、プラグインもチェックしてくれる

とはいえ、チェックしてくれるだけで
更新は手動みたいだけど

updateを押すと該当のサイトに飛ぶだけ。

それでも、いままで何もなかったわけだから
十分な進歩だろう。

これで、アップデートもしてくれるようになれば
なんと素敵なことか・・・

Microsoftの無料セキュリティソフトは「お粗末」とSymantec幹部

2009年10月03日 01:45

http://www.itmedia.co.jp/news/articles/0910/01/news065.html

「何もしないよりはマシだが、結局は払ったお金に見合うものしか手に入らない」


じゃあオマエラのソフトは払ったお金に見合う価値があるのかと。
別にマイクロソフトの製品を持ち上げるつもりはないけど、
あぐらをかいて見れるような出来じゃないだろと・・・
お粗末だとか判断するのもまだ早すぎるし。


つか、世の中にはお金を払ってまでアンチウイルスを導入したいと思わない
という人がどれだけ居るか理解してるのか。

そういう人たちが、マイクロソフトの無料アンチウイルスなら
とりあえず入れてみるか、っていう方向に動いてくれる可能性の
大事さを、もっと全面に出して指示すべき。


それに、お金をかけてるからすばらしい製品なんだみたいなのも・・・

[09/10/20追記]
http://www.itmedia.co.jp/enterprise/articles/0910/15/news012.html

マイクロソフトの小野寺さんが、提供の狙いを語っていた。

「市場によっては何十種類ものセキュリティ対策製品が存在して、ユーザーに分かりにくい状況となっている」
「例えば検索サービスで「Free Anti-Virus」などと検索すると、攻撃者のSEO対策などでたくさんの偽セキュリティ対策ソフトへのリンクが表示されてしまいます。」

まさに、このような状況の対策としてマイクロソフトがアンチウイルスを
投入することは意義があると思われる。


とはいえ、やはりアンチウイルスとして優秀かどうかは
なんとも言えないので、詳しい人がわざわざ使う必要はないのかもしれない。

俺も長年愛用していた antivirが日本語化するというので
舞い戻る可能性が非常に高いw
http://www.free-av.com/



最近の記事


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。