ikepyonのお気楽な日々〜技術ネタ風味〜 このページをアンテナに追加 RSSフィード

気になった日々のニュースとメモのためのリンクと戯言のページ

To Do(というかやりたいこと。何時終わることやら)
-ITIL導入のための成熟度チェックシートみたいなの(あると便利だよね?)
-Hacknotes Web Security Portable Reference和訳(出版社募集中)
-Webアプリケーションセキュリティ検査ツールの改良(一応完成)
-Hacker HighSchoolの資料の日本語訳
-OSSTMMの日本語訳
-「燃えるセキュアプログラミング」若しくは「サルでも分かるセキュアプログラミング」とか書いてみたいなぁみたいな。

これだけはチェックしときなはれ!!受入れテスト用セキュリティチェックリスト公開中
Webアプリケーションセキュリティはてなぐるーぷ(テスト中やで)
SQL Injectionの仕組みと対策公開中
RSS feed meter for http://d.hatena.ne.jp/ikepyon/
Secure Coding に入ろう!! [MLの詳細]
メールアドレス
SKUF Meeting なかのひと

2007-04-27 ねむい

誰ですか?「ikepyon 本 セキュリティ」こんなキーワードでやってきた人って…

もしかして、本出せってこと?w

[]今日違和感ソフトウェアキーボード使っているので、安全です」 今日の違和感「ソフトウェアキーボード使っているので、安全です」を含むブックマーク 今日の違和感「ソフトウェアキーボード使っているので、安全です」のブックマークコメント

いや、確かに単純なキーロガーに対しては、安全ですけどね…そんな胸張っていうもんじゃないでしょ?

クリックしたときの画面ショット取られたり、通信のAPIをフックされたりすると、あまり意味ないですよと言いたかった今日この頃

あちこちで、最近ソフトウェアキーボードなるものがはやっているようですが、トロイの木馬とか、スパイウェアが入っている時点で、PCで取り扱っている情報は筒抜けになってると思ったほうがいいと思うんですよ。

ま、効果が全くないとは言わないけど、実装する手間を考えたら、そんなことよりもっと別のことに労力をかけたほうがいいと思うんだよねぇ。

[]ワンタイムパスワードを生成する電子ペーパーカードを公開、トッパンフォームズ ワンタイムパスワードを生成する電子ペーパーカードを公開、トッパンフォームズを含むブックマーク ワンタイムパスワードを生成する電子ペーパーカードを公開、トッパンフォームズのブックマークコメント

http://www.itmedia.co.jp/enterprise/articles/0704/26/news007.html

やすっ。これなら、大量に配布してもコストに見合うなぁ。

SecureIDって、結構なお値段がするので、大量導入が難しかったりするけど、これならあまり気にせずに入れられそう。

まーまー 2007/04/28 00:10 つ ttp://karetta.jp/show/site/award-2007

トラックバック - http://d.hatena.ne.jp/ikepyon/20070427

2007-04-26 あと1日

昨日酔った勢いで、昨日、おとついに見つけた本をポチっとなしてしまったw

計8,788円なり〜orz

[]Sandcat -Free fault-injection testing tool for web applications (from id:tessyさんとこ) Sandcat -Free fault-injection testing tool for web applications (from id:tessyさんとこ)を含むブックマーク Sandcat -Free fault-injection testing tool for web applications (from id:tessyさんとこ)のブックマークコメント

http://www.syhunt.com/section.php?id=sandcat

Webアプリケーション検査ツールらしい。

でも、ブラウザからデータ入力できるわけではないようなので、入力データの設定がかなりめんどくさい。

早く、例のツールを仕上げないと。連休明けぐらいにベータを公開できるといいなぁ。

WiiでRimo見たい! WiiでRimo見たい!を含むブックマーク WiiでRimo見たい!のブックマークコメント

D

いやなんとなく

[]JVN iPedia JVN iPediaを含むブックマーク JVN iPediaのブックマークコメント

http://jvndb.jvn.jp/index.html

こんなのできていたんだ。知らなかったorz

[]株価操作スパムとStorm Wormがダブル攻撃 (from id:ripjyr さんとこ) 株価操作スパムとStorm Wormがダブル攻撃 (from id:ripjyr さんとこ)を含むブックマーク 株価操作スパムとStorm Wormがダブル攻撃 (from id:ripjyr さんとこ)のブックマークコメント

http://www.itmedia.co.jp/enterprise/articles/0704/26/news031.html

今は株価操作スパムで、人手を介さないとできないけど、そのうち株価操作ボットが出てくるよなぁ、きっと。

そういうお話を結構前にしたなぁ。

ネットで株取引している人って、案外、IDパスワードブラウザに覚えこませてたりしてそうだし、でボットがその情報を読んで、勝手に取引とか…

怖い怖い

トラックバック - http://d.hatena.ne.jp/ikepyon/20070426

2007-04-25 だるっ

[]Professional Pen Testing For Web Applications (Programmer to Programmer) Professional Pen Testing For Web Applications (Programmer to Programmer)を含むブックマーク Professional Pen Testing For Web Applications (Programmer to Programmer)のブックマークコメント

Professional Pen Testing for Web Applications (Programmer to Programmer)

Professional Pen Testing for Web Applications (Programmer to Programmer)

なんか面白そう。表紙のスキンヘッドのおっちゃんがいいかもw

昨日の本とあわせてポチっとナしようかなぁ?

http://www.neurofuzz.com/modules/content/index.php?id=2

Amazon.com調べたら、ここも参考にしろって書かれてた。

The List of known surnames is here:

http://www.neurofuzz.com/modules/wfdownloads/visit .php?cid=3&lid=6

The "All_attack.txt" Attack Dictionary can be found at:

http://www.neurofuzz.com/modules/wfdownloads/visit .php?cid=2&lid=9

The latest version of "generateDictionary.pl" is here:

http://www.neurofuzz.com/modules/wfdownloads/visit .php?cid=1&lid=7

Finally the webAppHoneypot VMware image can be found @ Wrox/Wiley:

ftp://anonymous:wrox%40wiley.com@downloads.wileypub.com/0471789666/webAppHoneypot.tar.gz

All_atack.txtは結構使えるかも。

[]pen-test.jpn.org pen-test.jpn.orgを含むブックマーク pen-test.jpn.orgのブックマークコメント

http://pen-test.jpn.org/

なんか前に見かけたような気もするけど・・・

[]新手のフィッシングサイト?(from zone-h) 新手のフィッシングサイト?(from zone-h)を含むブックマーク 新手のフィッシングサイト?(from zone-h)のブックマークコメント

クレジットカード番号、Social IDが漏れてないかを確認するサイトらしい。

https://www.stolenidsearch.com/

いやぁどう考えても怪しいでしょw

こんなとこに、ほいほいクレジットカード番号を入れる人って、フィッシングに引っかかる人だろうしなぁw

それにこのサービスが、本物だったとしても、漏れているクレジットカード番号(多分、有効なものが多いかと)が分かるし、あまり良くない気がするなぁ。

トラックバック - http://d.hatena.ne.jp/ikepyon/20070425

2007-04-24 ねむい

[]悪質な「JavaScript」がますます狡猾になっている(from id:ripjyrさんとこ) 悪質な「JavaScript」がますます狡猾になっている(from id:ripjyrさんとこ)を含むブックマーク 悪質な「JavaScript」がますます狡猾になっている(from id:ripjyrさんとこ)のブックマークコメント

http://www.atmarkit.co.jp/news/200704/23/eweek.html

暇なときにXMLHTTPRequest使ったブルートフォースデモスクリプト考えてみようかな?

[]ハードディスク消去ツール「wipe-out」 ハードディスク消去ツール「wipe-out」を含むブックマーク ハードディスク消去ツール「wipe-out」のブックマークコメント

http://www.wheel.gr.jp/~dai/software/wipe-out/

どうなんだろう?OSSで出てきて、日本語対応というのがうれしいかな?

[]How to Break Web Software: Functional And Security Testing of Web Applications And Web Services How to Break Web Software: Functional And Security Testing of Web Applications And Web Servicesを含むブックマーク How to Break Web Software: Functional And Security Testing of Web Applications And Web Servicesのブックマークコメント

なんか面白そう。サンプルはこちら

http://searchsoftwarequality.techtarget.com/searchAppSecurity/downloads/How_to_Break_SW_Ch_04.pdf

トラックバック - http://d.hatena.ne.jp/ikepyon/20070424

2007-04-20 ぐったり

なんかに憑かれています。

[]ウォッチファイア、 ウェブアプリ脆弱性検査ソフトの試用ダウンロード提供開始 ウォッチファイア、 ウェブアプリ脆弱性検査ソフトの試用ダウンロード提供開始を含むブックマーク ウォッチファイア、 ウェブアプリ脆弱性検査ソフトの試用ダウンロード提供開始のブックマークコメント

http://japan.zdnet.com/news/sec/story/0,2000056194,20347394,00.htm?ref=rss

ちょっと触っているんだけど、やっぱり、入力ページから数ページ後に脆弱性があった場合、検査できないのは合いも変わらず。今回からPyScanなるものが追加されており、自分で検査ツールが作れるようで。

ただ、Pythonなんだよねぇ。

そうそう、今回のバージョンから一緒についてくるPowerToolはライセンスが切れても使えるようなので、検査には結構よさげ。特にToken Analyzerとかブルートフォースツールは使えますな。HTTP ProxyJavaScriptで色々制御できそうなのでこちらも使えそう。

トラックバック - http://d.hatena.ne.jp/ikepyon/20070420

2007-04-19 耐えられなかったw

[]こっそり公開中 こっそり公開中を含むブックマーク こっそり公開中のブックマークコメント

作成中のツールの仕様英語で公開中。

まだ、書き出したところなので、何もないですが。

2007-04-18 明日は更新しません

[]不正アクセス検挙数世代別推移Update(from id:tetsutalow先生とこ) 不正アクセス検挙数世代別推移Update(from id:tetsutalow先生とこ)を含むブックマーク 不正アクセス検挙数世代別推移Update(from id:tetsutalow先生とこ)のブックマークコメント

http://d.hatena.ne.jp/tetsutalow/20070418#p1

なかなか興味深いです。

子供への教育って重要ですねぇ。

[]認めたくないものだな、若さゆえの過ちというものをw(from はっぱさんとこ) 認めたくないものだな、若さゆえの過ちというものをw(from はっぱさんとこ)を含むブックマーク 認めたくないものだな、若さゆえの過ちというものをw(from はっぱさんとこ)のブックマークコメント

うわ、昔の/.のコメントがさらされてるよw

http://slashdot.jp/comments.pl?sid=24964&cid=96979

ちゃんと試してないけど、古いブラウザでは、こういった攻撃が可能だったんだが、最近ブラウザは簡単にはできなくなってた気がする。XMLHTTPRequestだとできるのかもしれないけどね。要検証ですよ。

/.では他にも悪さしたんだよねぇ。知らずにXSSバグふんじゃったりorz

たまたま、動かなかったから問題なかったモノの、動いてたら危険だったしorz

hasegawayosukehasegawayosuke 2007/04/19 00:20 こういう、既成の観念にとらわれない、斜め向きの発想ってセキュリティでは大切ですよねー。

ikepyonikepyon 2007/04/19 09:42 そうですね〜。なんせ奴らは常識の斜め上を行きますからw

トラックバック - http://d.hatena.ne.jp/ikepyon/20070418

2007-04-17 明日も更新します。

[]第5回WASF カンファレンス 第5回WASF カンファレンスを含むブックマーク 第5回WASF カンファレンスのブックマークコメント

http://www.wasf.net/conference070705.html

2007/7/5に開催らしい。

発表も募集しているらしいので、面白いネタが出るといいなぁ。

vulcainvulcain 2007/04/18 02:46 がんばってください>発表(w

ikepyonikepyon 2007/04/18 10:15 えぇぇぇ〜話すネタないですし…w

トラックバック - http://d.hatena.ne.jp/ikepyon/20070417

2007-04-16 明日更新します。 このエントリーを含むブックマーク このエントリーのブックマークコメント

トラックバック - http://d.hatena.ne.jp/ikepyon/20070416

2007-04-13 ぐったり

[]Winny著作権法違反幇助事件の判決(1)ソフトウエアの開発自体は罪に問われていない Winny著作権法違反幇助事件の判決(1)ソフトウエアの開発自体は罪に問われていないを含むブックマーク Winny著作権法違反幇助事件の判決(1)ソフトウエアの開発自体は罪に問われていないのブックマークコメント

http://itpro.nikkeibp.co.jp/article/COLUMN/20070409/267743/

結局なにが有罪で、何が無罪か分からないのですよ。これが分からんことには、検査ツール作っても一般公開日本では出来ないですよ。

目的は、どこかのサイトを攻撃するためではなく、自分達が作ったもの、管理しているものに脆弱性がないことを確認するために作ってるんだけどねぇ。

[]権限拡張自動テスト 権限拡張の自動テストを含むブックマーク 権限拡張の自動テストのブックマークコメント

https://www.watchfire.com/securearea/whitepapers.aspx?id=24

うーむ、私が昔考えていたことまんまじゃないかw

http://d.hatena.ne.jp/ikepyon/20041201#p1

お〜、2年ほど前に、既に書いていたよw

結構すごいやん>自分w

ま、その前に高木先生が考えてるんだけどねw

トラックバック - http://d.hatena.ne.jp/ikepyon/20070413

2007-04-12 だるだる

[]初心者のためのWEBアプリセキュリティ対策 初心者のためのWEBアプリのセキュリティ対策を含むブックマーク 初心者のためのWEBアプリのセキュリティ対策のブックマークコメント

http://ameblo.jp/yosswi/entry-10028788115.html

うーん、うーん、大筋は間違ってないんだけど、高木先生サニタイズ脳と言われそう。

まず、入力時のチェックでタグの変換はダメですよ。これは、タグ変換をいらないところでやることによるバグの混入を防ぐためです。タグの変換は出力直前にしましょう。

あくまで、入力時のチェックは、数字しか入ってないかとか、許可されている文字だけで構成されているかとか、文字数が最大文字数を超えていないか、フォーマットが正しいものかといったことしかチェックしないようにしましょう。

これだけで、セキュリティの強度は大きく変わります(当然、許可されている文字に危険な文字が入るとダメなので、これだけではダメですが)。こういったことは、きちんとしたアプリケーションであればやっていて当然のことです。

次に、出力時のチェックで、SQL文の話がありますが、シングルクォートをダブルクォートに変換とありますが、これは、正しくありません。この変換をしてしまうと、問題が発生したり、誤ったデータを使ってしまうことになります。

正しくは、シングルクォート1個(')をシングルクォート2個('')に変換しないといけません。そうしないと思わぬバグが発生します。また、RDBMSによっては(多くのRDBMSが該当しますが)「¥」も「\\」に変換しないといけません。こうしないとSQLインジェクションを起こす危険性があります。

SQLを使うとき一番良いのはバインメカニズムを使用することです。PHPでも、PHP5ならPDOを使えば標準で使用できます。PHP4の場合はライブラリを別途使わないとダメみたいですが。

但し、バインメカニズムも万能ではなく、DB処理系文字コードが違う場合は問題が発生することがあります。とはいえ、手でエスケープ処理を行うより、漏れが発生しないため、セキュリティの強度はぐっと上がります。

XSS対策としてタグの変換というのだけでは不十分です。リンクjavascript:alert(document.cookie);と入れると、ポップアップが出るように、タグを使わない方法がいくつもあります。なので、XSS対策は結構面倒です。

そのときそのときに応じたチェックなり、エスケープ処理が必要となります。

また、あげられている3つの方法ではセッションハイジャックは防ぐことは出来ません。

まあ、暗黙の了解で書いていないのかもしれませんが・・・

セッションハイジャックセッション管理に使用されるセッションIDを盗む若しくは推測して、攻撃する手法なので、セッションIDを推測できないものにするということが対策となります(盗まれないようにという点については、XSS対策やSSLを使うことである程度防げます)。

今あるPHPJSPといったものではその言語フレームワークセッション管理機能を持っているので、そういったものを使っている限りにおいては、まず問題は発生しません。

しかし、独自でセッション管理を実装していると、簡単に推測されたり、問題が発生することがあります。

例えば、ミリ秒単位現在時刻をMD5ハッシュ化したものをセッションIDとして使用していると、一見すると、ランダムに見えますが、同時にアクセスがあった場合、同じセッションIDが別のユーザに割り振られるなんてことがあるので、こういったものはセッションIDとして使用してはいけません。

とまあ、細かいツッコミを入れてみたけど、確かにプログラムが本職じゃない人にはセキュアプログラミングは難しいかもなぁ。誰でも簡単に安全なプログラムが書けるフレームワークがあればいいのかもね。ま、そういうのは幻想かもしれないけど・・・

[]セキュアにコーディング セキュアにコーディングを含むブックマーク セキュアにコーディングのブックマークコメント

昨日見つけた記事をじっくり読んでみた。

本来の意味でのハンガリアン記法はすごいかもしれない。一般に言われているハンガリアン記法変数の型を変数名に持たせちゃえというのだけども、本来は、変数名、関数名に状態(意味といった方がいいか?)を持たせるというものだったらしい。

例えば安全だったら接頭辞に「s」を、安全でなかったら、接頭辞に「us」をつけるという言った感じ。

そうすると、こんな感じになる。

usParam = Request.getValue("param");

sParam = sEscape(usParam);

これらは、「=」左辺と右辺で接頭辞が同じであればよいことになるので、正しいコードとして認識しやすい。

output.sWrite(usParam);

output.write(sParam);

また、これらも、安全でない変数を安全な関数で使うか、安全な変数を安全でない関数で使うことが一目瞭然のため、分かりやすい。

ところが、こんな場合は危険なコードとなる。

sParam = Request.getValue("param");

output.write(param);

安全でない変数を安全とみなす変数に代入したり、安全でない変数を安全でない関数で使うことになるため、危険な匂いがぷんぷんするわけだ。

param = sEscape(Request.getValue("param"));

output.sWrite(sParam);

また、こういったものも、2重にエスケープしてしまうという間違いを起こす可能性があるので、危険なコードといえる。

これは何も、セキュアなコーディングに関するだけじゃないと思う。例えば、あるかどうか分からないけど、アプリケーションで複数の文字コードを処理しなければならないとき、SJISだったら「sjis」、EUCだったら「euc」、JISだったら「jis」、UTF8だったら「utf8」のように接頭辞を決めてしまえば、今変数に入っているコードは何か一目瞭然だ。こうすることで、バグの混入を少なく出来るのはすばらしいと思う。

一般に言われているハンガリアン記法変数の型を表記してしまうけど、これって、コンパイラやツールがチェックしてくれるのであまりうれしくないけど(Cの場合はポインタか実体か一目で分かるのでこれはこれで便利だけどね)、本来の意味でのハンガリアン記法は、その変数関数がどういった状態なのかというのを一目で分かるのですばらしいなぁ。なんといっても、危険なコードの匂いが、機械的に判断つくというのがいいねぇ。

今度から、ハンガリアン記法使ってみようっと。

yosswiyosswi 2007/04/12 13:19 ikepyonさん、ご指摘ありがとうございます。
こんなに指摘項目があったとはお恥ずかしい限りです(’_’;)が、このように教えていただけたので書いておいてよかったと思いました。こちらのサイトで勉強させてください。

ikepyonikepyon 2007/04/12 14:16 いえいえ、こちらこそいきなりですみません。
あまり、セキュリティについて詳しくはないんですが、ちまちまとやっていますので、よろしくお願いします。
日本各地で勉強会も開催されていますので、興味があれば、一度参加されることをお勧めします。

トラックバック - http://d.hatena.ne.jp/ikepyon/20070412

2007-04-11 ねむっ

[] を含むブックマーク のブックマークコメント

Webアプリ 検査ツール フリー」で検索してきてる人、ごめんなさいね。色々協力してもらって、今テスト&改良中なので、しばらく待ってくださいな。出来たら、どこかで公開する予定なので・・・。但し、何らかの制限はかけさせてもらいますけど。少なくとも、メールアドレスとか、名前とかは、入力してもらう予定です(これは自衛のためであって、何かに使うというわけではありません。念のため)。

協力者様、ありがとうございます。もう少し、きちんとテストしてから、依頼したほうが良かったかも^^;

ちょっと反省。

[]子どもの話にすれば「ドキリ」とする(from id:sonodamさんとこ) 子どもの話にすれば「ドキリ」とする(from id:sonodamさんとこ)を含むブックマーク 子どもの話にすれば「ドキリ」とする(from id:sonodamさんとこ)のブックマークコメント

http://d.hatena.ne.jp/sonodam/20070411/p1

うーん、底辺の底上げというのは非常に難しいことだと思う。でも、それを放棄しちゃいけない。

親から子へ教育するのではなく、まず、学校なんかで、子供教育して、そこから親への展開というのはどうなんでしょうね?

最近は、親子の会話が少ないらしいから、ダメかな?

sonodamsonodam 2007/04/11 16:30 難しいのは承知だけど(リテラシー不要論言ってるし(笑))、でも切り開きたいと思っているんだよねー。子どものことを話題にすれば、一般的な親は動くなあ、というのであのエントリーになったんだけどね。

ikepyonikepyon 2007/04/11 17:17 私もそうだったりします。積極的に勉強しようとする人はほっといてもいいけど、そうでない人のレベルを上げるには?というのは難しい課題ですね。
前に、「ゲーム脳の恐怖」とかいうトンデモ本が売れてましたけど、あれと同じで、「インターネットの恐怖」とかいう題名で本を出せば、目を引くかなぁとか思いましたw

2007-04-10 ぐだぐだ

[][]動的なSQL文でのバインメカニズム 動的なSQL文でのバインドメカニズムを含むブックマーク 動的なSQL文でのバインドメカニズムのブックマークコメント

アプリを開発していると、どうしても動的に条件が変わるSQL文を作りたくなるときがある。そういった時って、生のSQL文を、入力データのチェックとか、自前のエスケープルーチンとかかけて作っていることが多いんではないか?

その方が楽だしなぁ。エスケープルーチンのミスとか漏れをなくすために、バインメカニズムで作れへんかなぁ?と思った、今日この頃

今度、Javaクラスでもサンプルで書いてみるか。

[]検査ツールでなおさないと行けないところ 検査ツールでなおさないと行けないところを含むブックマーク 検査ツールでなおさないと行けないところのブックマークコメント

  • マルチパート関連
  • chunk encoding周り
  • sslまわり
  • ページ形式が同じかどうかのチェック
  • uiまわり

金床金床 2007/04/10 22:29 Javaでの話ですが
動的に組み立てる場合でも、変数の部分は「?」にしておく形で動的に(元になる)SQLを組み立て、バインドメカニズムを使っておりますヽ(´ー`)ノ

ikepyonikepyon 2007/04/11 10:17 それが一番安全ですよね。
この間のまっちゃでバインドメカニズム使ってますか?と聞いたら、面倒なので使ってないという意見があったので、動的に組み立てるSQLも使うには、それ専用のクラスがあればいいのかなぁと思いました。

トラックバック - http://d.hatena.ne.jp/ikepyon/20070410

2007-04-09 だるだる

[]英語の完全攻略法 実践編1──発想転換のプロセスを知る 英語の完全攻略法 実践編1──発想転換のプロセスを知るを含むブックマーク 英語の完全攻略法 実践編1──発想転換のプロセスを知るのブックマークコメント

http://itpro.nikkeibp.co.jp/article/Watcher/20070402/267147/

なるほど、日本語をそのまま英語にするのではなく、英語にしやすい日本語英語にしていくのね。

でも、似たようなことやっているかも^^;

私の場合、日本語でまず文章を作るのではなく、日本語で言いたいことの要旨だけまとめて、そこからいきなり単語を並べていく感じかな?

こうやっていくと、自分で訳が分からなくなるので、関係代名詞とかは基本的に使わない。基本文章はぶつ切りw。SVOOとかSVOCとかの名詞部分には1個か2個の形容詞とか、Vに副詞とかがつくだけのシンプルなもの。で、そんな書き方をやっていると、あちこちにitとかtheyとか出て分からなくなって、しょうがないから、以前に出てきた単語を何度も書く羽目になるという。

ある意味、ひどい気がするデスよ。

ネックになるのは単語力なんだよねぇ。

トラックバック - http://d.hatena.ne.jp/ikepyon/20070409

2007-04-07 とりあえず

ikepyon2007-04-07

[]検査ツール 検査ツールを含むブックマーク 検査ツールのブックマークコメント

SQL Injection、XSS検査ツール、とりあえずできたーー♪

OSコマンドインジェクションのテストが残っているけどなw

ちょっとバギーなところもあるけど、もう少しですよ。

見栄えが今一だけど、ま、てけと〜に作っているので、ご勘弁をw

f:id:ikepyon:20070408025734j:image

f:id:ikepyon:20070408025351j:image

f:id:ikepyon:20070408025402j:image

トラックバック - http://d.hatena.ne.jp/ikepyon/20070407

2007-04-04 眠すぎる

[]JavaScript Hijacking Vulnerability Detected JavaScript Hijacking Vulnerability Detectedを含むブックマーク JavaScript Hijacking Vulnerability Detectedのブックマークコメント

http://www.fortifysoftware.com/servlet/downloads/public/JavaScript_Hijacking.pdf

http://www.fortifysoftware.com/security-resources/javascripthijacking.jsp

AJAXJavaScriptがのっとれるかも?というレポートらしい。後で読む。

しかし、AJAXって結構危険だと思うんだよねぇ。

トラックバック - http://d.hatena.ne.jp/ikepyon/20070404

2007-04-03 さむい

[][]Webアプリセキュリティ検査ツール Webアプリセキュリティ検査ツールを含むブックマーク Webアプリセキュリティ検査ツールのブックマークコメント

http://www.devnull.jp/tdiary/20070402.html#p01

厳しいツッコミwがあったので、反応してみる。

とあるページでいろいろと情報入力するとメールが飛んできて、メールに書いてあるURL(一度限り有効)をクリックすると登録が完了する、みたいなサイト検査できますか?<イジワル

今作っている仕様ではできませんw

このケースについては、巡回動作としてメールを取得して、取得したメールにあるURLに飛ぶみたいなルーチンを付け加えればよさげかなぁ?そのときにメールパターン記憶しておいて、とかやるとよりよさげ。

そのうち機能として乗っけても良いかもw

あと、現状の検査ツールで弱いのは、毎回リンク先が変わったり、更新する回数制限があるやつ。

基本的に、検査ツールは巡回したときのパラメータテストパターンに書き換えて送信するので、こういったパターンには非常に弱いw

これについては、検査中のレスポンスに含まれるリンクを確認して、その内容を元に、動的にリクエストを作成してやればいいかなぁとか単純に考えてしまうわけで。何が同じ内容のリンクか?という判断が難しいのが問題だけど・・・

[]なぜ、仕様を公開するのか? なぜ、仕様を公開するのか?を含むブックマーク なぜ、仕様を公開するのか?のブックマークコメント

ぶっちゃけいうと、こういったセキュリティ検査仕様って、本来なら秘密にしておいたほうが、金がもうけられるし、安全といえば、安全。でも、この程度のことって、攻撃する人間はいつも考えていると思うし、それ以上に、守る側や、作る側が知ることが大事と思うから公開している。そうすることで、安全なアプリケーションが増えれば、そのほうが使う人(私もそうだし)が大きな利益を得られると思うから。

ただ、実際に簡単に脆弱性の有無を判断するツールを公開するというのは、この国ではあまりにもリスクが大きい(どこかの誰かさんのおかげでねぇorz)。というわけで、ツールが出来ても、この国で、一般に公開することはありえないなぁ。公開することで、開発者に大きな利益があることがわかっていてもね。

まったく、アホなことしてくれたよ、どこか人は。

bunbun 2007/04/03 23:36 「上から○番目のリンクをクリックする」とかの”動作”を記録・再現できるようにすれば、なんとかなりますかねぇ。

ikepyonikepyon 2007/04/04 01:09 そういうのだといけそうな気がしますねぇ。ただ、何が同じ意味のリンクなのか?というのを自動で判断させるのが難しいなぁと思うんですよ。そのためには別のリンクだけど、同じ意味を持っているリンクを検査する人に踏ませるというのが、いいのかなぁ?と思います。

ただ、いくらでも、検査ツールの検査を回避するアプリが考えられるので、難しいところですw
そういうのも含めて、自動化できると、テストが楽になるよなぁと思うと、何とか自動化したいと思うのですけどねぇ。

h-ふじたh-ふじた 2007/04/09 08:40 そういうところの自動化を、どのレイヤーで任せるのかによっても変わってくるような気もします。
画面遷移でレイアウトが大体決まっている場合は、画面上での操作を記録するツールを併用するのも一つの方法ではないかと思ってます。

ikepyonikepyon 2007/04/09 18:37 画面上の操作を記録で何とかするのは、非常に難しそうです^^;
少なくとも私には無理です。
なので、別のアプローチで、実装しようかなぁ?と思ってます。

トラックバック - http://d.hatena.ne.jp/ikepyon/20070403

2007-04-02 ねむい

[][]Webアプリセキュリティ検査ツール Webアプリセキュリティ検査ツールを含むブックマーク Webアプリセキュリティ検査ツールのブックマークコメント

現在作成中の検査ツールでは、XSSモジュールOSコマンドインジェクション用モジュール、その他インジェクション及びDirectory Traversal用モジュールを作ってみた。

検出の仕組みは簡単には以下のような感じ。

XSSモジュール

単純に、レスポンスに指定した文字列が含まれているかどうかで、脆弱性の有無を判断。まあ、XSSはこれでたぶん問題ないだろうし。

OSコマンドインジェクション用モジュール

サーバ側からTCP接続を行うような攻撃パターンを送信し、ツール側で、TCP接続を待ちうけ。接続があったら、脆弱性ありと判断。

その他インジェクション及びDirectory Traversal用モジュール

対策がなされていなければ、必ずSQLエラーなどのシステムエラーが発生するデータ(例えば「'」)と、そのデータを含むけれど、エラーが発生しないようなデータ(例えば「' or 'a'='b」)を投げてみて、そのレスポンスの構造の違い(とりあえず、HTMLタグが同じかどうかを確認)で判断。対策がされていれば、両方ともエラーか、両方とも正常な結果を表示するはず。つまり、構造的には同じものが返ってくると思う。

多分、エラーと通常のレスポンスHTMLタグ構造が異なるはずだから、検出できるかなぁと思うのですよ。ちなみに商用検査ツールではこういったロジックでは検出してないっぽい。


とまあ、やっと出来そうな目処がついてきたので、ちょっと公開w

追記:

Blind SQL injectionを検査手法として取り入れない理由は、商用ツールであるからってのもあるけれど、検索での脆弱性は見つかられても、追加とか、Stored Procedureとかでの検出が難しそうってのもあるデスよ(というのは後付理由w。実際は思いつかなかっただけw。まあ、組み込んでもいいけど、気が向いたらやるということでw)

[]HTML Parser HTML Parserを含むブックマーク HTML Parserのブックマークコメント

http://htmlparser.sourceforge.net/

くそっ、こんなのあったのかorz

もうちょっとじっくり調べればよかった。これ使うように修正するかなぁ?

yamagata21yamagata21 2007/04/02 14:13 例えば、属性値部分にaddslashだけ行われて出力されている場合、レスポンスに元の文字列がそのまま含まれているわけではないけど、スクリプトの実行は可能とかあるかも〜。>XSS
 
ファイアウォールではねられたりしてw (監査企業向けではなくて、同一組織内向けだから良いのかも。)>OSCMD
 
WebInspect の Blind SQL Injectionモジュールとかは、これに類するロジックを持っていたような気がします。タグの構造だけじゃなくて、レスポンスサイズの大きな変化の有無も見ていたかも。>商用検査ツールではこういったロジックでは検出してないっぽい

ikepyonikepyon 2007/04/02 14:21 XSSについては、とりあえずなので^^;
最終的には、Javascriptの構文解析して・・・ってのがいいかと今思いつきましたw

OSCMDについては確かにそうですけど、そこまでフォローはしないですw。基本、開発時のテストで使うものと想定してますから。

多分、Blind SQL Injectionモジュールは、SQLの文法的には正しくて、必ず結果が1件以上あるものと、0件になるものというので調べてるのではないかと。AppScanはそんな感じですし。

ikepyonikepyon 2007/04/02 18:18 追加ですが、XSSの検査は、入力したデータと、レスポンスで検出するデータは異なります。なので、変換かかっている場合でも問題ないかと。問題は、テストパターンが大量になるので、考えるのが面倒というだけですw

トラックバック - http://d.hatena.ne.jp/ikepyon/20070402

1900 | 01 | 06 |
2003 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 02 | 03 | 04 |
2011 | 01 | 02 |
Connection: close