前回までは,主にクロスサイト・スクリプティングのぜい弱性とその対策について解説してきた。最終回となる今回は,クロスサイト・スクリプティング以外の「インジェクション系」ぜい弱性について解説する。具体的には,SQLインジェクション,OSコマンド・インジェクション,HTTPヘッダー・インジェクション,そしてメールの第三者中継である。 SQLインジェクション対策にはバインド変数の利用が最適 まず,SQLインジェクションから見ていこう。対策には二つの方法がある。一つは,SQLの「バインド変数(注1)」を使う方法である。バインド変数の書式はプログラミング言語によって異なるが,一例として,Perlを使った場合に,パスワード認証のSQLをバインド変数で書き換えた例を示す(図1)。 (注1) 「準備された文(Prepared Statement)」というのがJIS SQLでの用語だがあまり普及していない。バ
前回はクロスサイト・スクリプティングのぜい弱性を突く攻撃の対策としてのHTMLエンコードの有効性を述べた。ただ,HTMLエンコードだけではクロスサイト・スクリプティング攻撃を完全に防御することはできない。そこで今回は,HTMLエンコードで対処できないタイプのクロスサイト・スクリプティング攻撃の手口と,その対策について解説する。 HTMLエンコードで対処できない攻撃には,次のようなものがある。 タグ文字の入力を許容している場合(Webメール,ブログなど) CSS(カスケーディング・スタイルシート)の入力を許容している場合(ブログなど) 文字コードを明示していないケースでUTF-7文字コードによるクロスサイト・スクリプティング <SCRIPT>の内容を動的に生成している場合 AタグなどのURLを動的に生成している場合注) 以下では,HTMLタグやCSSの入力を許容している場合と,文字コードを明
「クロスサイト・スクリプティング(XSS)脆弱性を悪用された場合の被害例としては『Cookieを盗まれる』ことがよく挙げられる。しかし,実際にはもっと深刻な被害を受ける恐れがある。管理者や開発者はその危険性を十分に認識して,対策を施す必要がある」――。京セラコミュニケーションシステムのセキュリティ事業部 副事業部長である徳丸浩氏は11月10日,ITproの取材に対して,XSS脆弱性の脅威を強調した。 さまざまなWebサイト(Webアプリケーション)において,XSS脆弱性が相次いで見つかっている。その背景には,開発者などの認識不足があると徳丸氏は指摘する。「適切に対策を施すには,XSS脆弱性のリスクを把握する必要がある」(徳丸氏)。しかしながら,実際には,XSS脆弱性のリスクを過小評価しているケースが少なくないという。 例えば,「(自分たちが運営している)携帯電話向けサイトでは(携帯電話上で
「Yahoo!メールのウイルスが悪用したのは『XSS脆弱性』,サイト管理者は注意を」---専門家が警告 「『Yahoo!メール』を狙ったウイルスは,同サイトのクロスサイト・スクリプティング(XSS)脆弱性を悪用した。同様の脆弱性は多くのWebサイトに存在する。このウイルスのソース・コードも出回っているので,今後,同様の攻撃が頻発する可能性は高い。Webサイトの管理者や開発者は十分に注意する必要がある」---。京セラコミュニケーションシステムのセキュリティ事業部 副事業部長である徳丸浩氏は6月15日,ITproの取材に対して警告した。 Yahoo!メールのウイルスは“単純” 6月12日ごろに確認されて「Yamanner」などと名付けられたウイルスは,米Yahoo!が提供するメール・サービス「Yahoo! Mail(Yahoo!メール)」で感染を広げる(関連記事:Yahoo!メールの脆弱性を突
クロスサイト・スクリプティングという言葉は元々,WebアプリケーションのHTMLエンコード漏れなどを利用することによって第三者にJavaScriptを実行させる手法を指す。広義では,HTMLのエンコードによる画面改変などを含むこともある。 前回述べたように,クロスサイト・スクリプティングのぜい弱性はWebアプリケーションに見付かるぜい弱性の半分以上を占める。数年前から指摘されているにもかかわらず,一向になくならない。その理由として,クロスサイト・スクリプティング対策あるいはHTMLエンコード注1)に対する「神話」があり,正しい対策の普及を遅らせているように思う。その「神話」の数々について説明しよう。 注1)実体参照(entity reference)というのが正式だが,あまり普及していない用語なので,HTMLエンコードという用語を用いる 「すべからくHTMLエンコードすべし」が鉄則 HTM
Webアプリケーションのぜい弱性を示す用語として,クロスサイト・スクリプティング,SQLインジェクションといった言葉の認知度はかなり高まった。ブログ・サイトなどでも活発に議論されている。しかし,Webサイトの実態はどうだろうか。 筆者の所属する京セラコミュニケーションシステムでは昨年(2006年),ぜい弱性診断を実施したWebサイトの統計情報「2007年版 Webアプリケーションぜい弱性傾向」を発表した。これによると,パソコン向けWebサイトの48%に致命的なぜい弱性が見つかった。このうちワースト1位はクロスサイト・スクリプティングで56%,2位はSQLインジェクションで11%と,どちらもインジェクション(注入)系のぜい弱性。これらのぜい弱性を持った危険なサイトは依然として存在するのが実情である。 これらWebアプリケーションのぜい弱性があまりなくならない理由はいくつかあるが,以前は「ぜい
基本的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ
This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests. To view the new OWASP Foundation website, please visit https://owasp.org Welcome to the OWASP Global Projects Page An OWASP project is a collection of related tasks that have a defined roadmap and team members. OWASP project leaders are responsible for defining the vision, roadmap, and tasks for the projec
機密情報に合法的に近づけるWebアプリケーションを守れ:Webアプリケーションファイアウォールの必要性(1)(1/3 ページ) 「SQLインジェクション」や「クロスサイトスクリプティング」という用語に聞き覚えはないだろうか。セキュリティに関連する用語であることを知る人は多くても、詳細な説明をできる人はまだ少ないかもしれない。どちらもWebアプリケーションの脆弱性を指す用語である。 個人情報の保護に関する法律(個人情報保護法)の施行によって、より多くの注目を集めるようになった個人情報漏えいに関するニュースが毎日のように流れている。漏えいした個人情報が、もしWebサイトから盗み出されたものであれば、原因はSQLインジェクションであった可能性がある。 この連載では、Webアプリケーションの脆弱性、攻撃手法の実例を挙げて解説するとともに、その脆弱性を防御する装置として市場に現れたWebアプリケーシ
Overview Guardian@JUMPERZ.NET is an open source application layer firewall for HTTP/HTTPS. It works as a reverse proxy server. It analyzes all HTTP/HTTPS traffic against rule-based signatures and protects web servers and web applications from attack. When unauthorized activity is detected, Guardian@JUMPERZ.NET can disconnect the TCP connection before the malicious request reach the web server.
この資料は,昨今のWebアプリケーションのセキュリティ問題が,いかに大きな影響を及ぼしているかを知る手掛かりとなるものだ。資料によると,届出制度を開始してから報告されたソフトウエア製品に関する問題は257件,またWebアプリケーションに関する問題は564件となっている。Web関係は後者だけではない。前者の257件の中にも,Webアプリケーションの問題が少なくとも43%含まれていることが指摘されている。そのアプリケーションはWebサイトではなく,ソフトウエアの管理インタフェースをWebアプリケーションで開発するケースがあり,そこで発見された問題である。このように,Webサイトであるかどうかにかかわらず,Webアプリケーションにおけるセキュリティの問題は,非常に大きな影響を及ぼしている。 では,実際にどのような問題が多く報告されているのだろうか。Webアプリケーションの脆弱性だけにフォーカスし
高木浩光さんの「サニタイズ言うなキャンペーン」 という言葉自体はずいぶん前から存在したのだが、 続・「サニタイズ言うなキャンペーン」とはにて高木さん自身がいくつも誤解の例を挙げているように、 そしてまた最近も 駄目な技術文書の見分け方 その1にて「まだわからんのかね」と言われているように、 「わかりにくい」概念なんだろうとは思う。 そこで、僭越ながら、「サニタイズ言うなキャンペーン」について、 私なりの解釈を書いてみようと思う。 もっともこれが正解であるという保証はないのだが、 間違っていたらどなたかツッコミいただけることを期待しています(_o_) そもそも何のせいで「エスケープ」しなければならないのか たとえば住所氏名を登録させるWebアプリケーションは珍しいものではないと思う。 そこで、私が「Taro&Jiro's castle サウスポール」 とかいう恥ずかしい名前のマンション(?)
【講演1】 脆弱性の届出情報の深刻度評価についてCVSS のお話。「IPA が受付けた脆弱性をCVSSを用いて分析した結果を紹介します」ということで、具体的にこんな事例がこうなった、という話を期待していたのですが……。残念ながら統計データだけで、具体的な事例は出ませんでした。 もっとも、それは私の期待が大きすぎただけで、話としては普通に面白かったと思います。 【講演2】 安全なWebアプリケーションの作り方(番外編)極楽せきゅあ日記 (d.hatena.ne.jp)などで有名な園田さんの講演。中心はフレームワークのお話で、あとは書籍の脆弱性のお話など。 書籍の話ですが、個人が批判する分には問題ないと思うものの、何をもって誤りとするのかが難しいですね。「のけぞる本!」なんてコンテンツがありますが、これは HTML の仕様に照らして間違いだと言っているので、間違いだと断じるだけの論拠があります
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く