ブックマーク / ockeghem.hatenablog.jp (25)

  • はてなブックマークボタンがマイクロアド社の新ガイドラインに従ったらこうなる - ockeghem's blog

    すでにこちらでご案内の通り、私のブログ(徳丸浩の日記およびEGセキュアソリューションズオフィシャルブログ)に貼っていた「はてなブックマークボタン」により、読者の皆様の閲覧行動がマイクロアド社によりトラッキングされておりました。読者の皆様に断りなく不快な結果を強いていたことに対してお詫び申し上げます。既に当該ボタンは撤去しております。 その後、株式会社はてな社長の近藤淳也氏およびはてなの日記にて行動情報の提供をやめる旨のアナウンスが一昨日ありました(こことここ)。さらに、マイクロアド社からは、昨日以下のアナウンスがありました。 今後マイクロアドでは、ブログパーツや外部ボタン等、マイクロアドと直接提携関係にあるパートナー以外の第三者にあたる媒体・配信面に付与される可能性のあるものについて、それらの表示領域にマイクロアドからの行動履歴情報の蓄積を無効化するオプトアウトページへの導線設置を義務化い

    MinazukiBakera
    MinazukiBakera 2012/03/15
    まあそうなりますよね。
  • 「管理者パスワードは何日ごとに変更すればよいか」に関する質疑応答 - ockeghem's blog

    昨日Webサイトを守るためのセキュリティ講習会の講師を担当しました。講習会の終了後、受講生から「管理者パスワードの定期的変更」に関する質問がありました。備忘の為、質疑内容を以下に記録します。 Q1:上位ポリシーにて、管理者パスワードは定期的に変更するように義務づけられているが、何日毎に変更するのが正しいのか。最近の専門家の見解をお伺いしたい A1:専門家の見解は分かれているとお答えしました 現在の主流はパスワードを定期的に変更するべしという考え方ですが、それに異論を持つ人もいて、私もその一人です。 一般ユーザのパスワードとは異なり、管理者パスワードは、業務の必要上複数の人が知っている状況があります。その状況では、「定期的に変更」するのではなく、管理者パスワードを知っている人が、他業務に異動、あるいは退職するタイミングで遅滞なく変更するべきです。そうしないと、「管理者でなくなった人が管理者パ

    「管理者パスワードは何日ごとに変更すればよいか」に関する質疑応答 - ockeghem's blog
    MinazukiBakera
    MinazukiBakera 2012/02/01
    「管理者パスワードは何日ごとに変更すればよいか」に関する質疑応答
  • 大垣本を読んで「バリデーションはセキュリティ対策」について検討した - ockeghem(徳丸浩)の日記

    このエントリでは、セキュリティの観点から、バリデーション実装について検討します。大垣さんのを読んで「大垣流バリデーション」について勉強した結果を報告します。 はじめに 大垣さんの記事「入力バリデーションはセキュリティ対策」では、「入力バリデーションはセキュリティ対策である」が力説されています。この記事はおそらくid:ajiyoshiさんのブログ記事「妥当性とは仕様の所作 - SQLインジェクション対策とバリデーション」を受けてのことだと思います。id:ajiyoshiさんのエントリでは、「妥当性検証は仕様の問題であってセキュリティ対策ではありません」と明言されています。私はid:ajiyoshiさんに近い考えを持っていますので、大垣さんの主張について、私なりに考えてみました。 記事を書くにあたり、徳丸の立場を明確にしておきたいと思います。 バリデーションの基準は仕様の問題 バリデーション

    大垣本を読んで「バリデーションはセキュリティ対策」について検討した - ockeghem(徳丸浩)の日記
    MinazukiBakera
    MinazukiBakera 2011/12/26
    「これは中々タフなユーザー体験です。年齢や郵便番号などをうっかり間違えただけで、ログアウトしてエラー表示されるわけですから。」
  • 「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog

    このエントリでは、ネット上で「SQLインジェクション対策」でGoogle検索した結果の上位15エントリを検証した結果を報告します。 SQLインジェクション脆弱性の対策は、既に「安全なSQLの呼び出し方」にファイナルアンサー(後述)を示していますが、まだこの文書を知らない人が多いだろうことと、やや上級者向けの文書であることから、まだ十分に実践されてはいないと思います。 この状況で、セキュリティのことをよく知らない人がSQLインジェクション対策しようとした場合の行動を予測してみると、かなりの割合の人がGoogle等で検索して対処方法を調べると思われます。そこで、以下のURLでSQLインジェクション対策方法を検索した結果の上位のエントリを検証してみようと思い立ちました。 http://www.google.co.jp/search?q=SQLインジェクション対策 どこまで調べるかですが、以前NH

    「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog
    MinazukiBakera
    MinazukiBakera 2011/11/10
    「また上野宣か」
  • 「徳丸本ができるまで」スライドを公開します - ockeghem's blog

    まっちゃ445などで発表に使用した「徳丸ができるまで」のスライドを公開します。 発表時の原稿の後半を少しカットして、最新の状況を加筆しました。 徳丸ができるまで View more presentations from Hiroshi Tokumaru [PR] 「体系的に学ぶ 安全なWebアプリケーションの作り方」のDRMフリーPDFによる電子版が販売開始しました。 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 作者: 徳丸浩出版社/メーカー: SBクリエイティブ発売日: 2011/03/01メディア: 単行購入: 119人 クリック: 4,283回この商品を含むブログ (146件) を見る

    「徳丸本ができるまで」スライドを公開します - ockeghem's blog
    MinazukiBakera
    MinazukiBakera 2011/10/28
    徳丸本裏話。そんなイメージでしたか。w
  • CookieのDomain属性は *指定しない* が一番安全 - ockeghem(徳丸浩)の日記

    たまに誤解があるようですが、Cookieを設定する場合のDomain属性は *設定しない* のがもっとも安全です。以下、例示により説明します。 ※このエントリは、http://blog.tokumaru.org/2011/10/cookiedomain.html に移転しました。恐れ入りますが、続きは、そちらをご覧ください。

    CookieのDomain属性は *指定しない* が一番安全 - ockeghem(徳丸浩)の日記
    MinazukiBakera
    MinazukiBakera 2011/10/13
    「CookieのDomain属性は *指定しない* が一番安全」。IPAセキュア・プログラミング講座……。
  • PHPのイタい入門書を読んでAjaxのXSSについて検討した(3)~JSON等の想定外読み出しによる攻撃~ - ockeghem(徳丸浩)の日記

    昨日の日記の続きで、Ajaxに固有なセキュリティ問題について検討します。今回はJSON等の想定外読み出しによる攻撃です。これら攻撃手法は来ブラウザ側で対応すべきもので、やむを得ずWebアプリケーション側で対応する上で、まだ定番となる対策がないように思えます。このため、複数の候補を示することで議論のきっかけにしたいと思います。 まず、作りながら基礎から学ぶPHPによるWebアプリケーション入門XAMPP/jQuery/HTML5で作るイマドキのWeから、Ajaxを利用したアプリケーションの概念図を引用します(同書P20の図1-23)。 前回、前々回は、(5)のHTTPレスポンスの前後で、JSON等のデータ作成(エンコード)に起因するevalインジェクションや、(5)のレスポンスを受け取った後のHTMLレンダリングの際のXSSについて説明しました。 しかし、問題はこれだけではありません。正常

    PHPのイタい入門書を読んでAjaxのXSSについて検討した(3)~JSON等の想定外読み出しによる攻撃~ - ockeghem(徳丸浩)の日記
    MinazukiBakera
    MinazukiBakera 2011/09/07
    3回目はそんなにぶっ飛んだ内容ではなかった。
  • PHPのイタい入門書を読んでAjaxのXSSについて検討した(2)~evalインジェクション~ - ockeghem(徳丸浩)の日記

    昨日の日記の続きで、Ajaxに固有なセキュリティ問題について検討します。タイトルはXSSとなっていますが、今回紹介する脆弱性はXSSではありません。 作りながら基礎から学ぶPHPによるWebアプリケーション入門XAMPP/jQuery/HTML5で作るイマドキのWeから、Ajaxを利用したアプリケーションの概念図を引用します(書P20の図1-23)。 Ajaxのアプリケーションでは、XMLHttpRequestメソッド等でデータを要求し、サーバーはXML、JSON、タブ区切り文字列など適当な形式で返します。ブラウザ側JavaScriptでは、データ形式をデコードして、さまざまな処理の後、HTMLとして表示します。以下に、Ajaxのリクエストがサーバーに届いた後の処理の流れを説明します。 サーバー側でデータを作成、取得 データ伝送用の形式(XML、JSON、タブ区切り文字列等)にエンコード

    PHPのイタい入門書を読んでAjaxのXSSについて検討した(2)~evalインジェクション~ - ockeghem(徳丸浩)の日記
    MinazukiBakera
    MinazukiBakera 2011/09/06
    『データを「<i>」で区切る方法は読者も興味がないと思うので』 吹いた。確かに興味ないです。
  • PHPのイタい入門書を読んでAjaxのXSSについて検討した(1) - ockeghem's blog

    このエントリでは、あるPHPの入門書を題材として、Ajaxアプリケーションの脆弱性について検討します。全3回となる予定です。 このエントリを書いたきっかけ twitterからタレコミをちょうだいして、作りながら基礎から学ぶPHPによるWebアプリケーション入門XAMPP/jQuery/HTML5で作るイマドキのWeというを読みました。所感は以下の通りです。 タレコミ氏の主張のように、書はセキュリティを一切考慮していない 主な脆弱性は、XSS、SQLインジェクション、任意のサーバーサイド・スクリプト実行(アップロード経由)、メールヘッダインジェクション等 脆弱性以前の問題としてサンプルスクリプトの品質が低い。デバッグしないと動かないスクリプトが多数あった 上記に関連して、流用元のソースやデバッグ用のalertなどがコメントとして残っていて痛々しい 今時この水準はないわーと思いました。以前

    PHPのイタい入門書を読んでAjaxのXSSについて検討した(1) - ockeghem's blog
    MinazukiBakera
    MinazukiBakera 2011/09/05
    セキュリティよりHTMLのほうが気になってしまいます。タイトルに「イマドキのWebサイト」とあるのですが、<td align='right'> とかイマドキあるんでしょうか。
  • モバイルバンキングは今でもsecure.softbank.ne.jp方式が主流 - ockeghem's blog

    6月30日のsecure.softbank.ne.jp廃止*1にともない、みずほダイレクトにおいて、ソフトバンクの携帯電話からログインできなくなるという障害が報告されています(リリース)。 他の銀行はどうかと思い、軽く調べて始めたところ、モバイルバンキングでは今でもsecure.softbank.ne.jp方式が堂々たる主流であることが分かりましたので報告します。 secure.softbank.ne.jpを経由する銀行 以下は、ログイン画面のURLがhttps://secure.softbank.ne.jp/〜となっています。大手都市銀行は全てという感じです。 三井住友銀行 三菱東京UFJ銀行 みずほ銀行 りそな銀行 セブン銀行 じぶん銀行 住信SBIネット銀行 楽天銀行 新生銀行 secure.softbank.ne.jpはホワイトリスト方式で残されるということでしたが、上記モバイルバ

    モバイルバンキングは今でもsecure.softbank.ne.jp方式が主流 - ockeghem's blog
    MinazukiBakera
    MinazukiBakera 2011/07/07
    驚き。
  • 私はいかにしてソフトバンク端末60機種のJavaScriptを検証したか - ockeghem's blog

    昨日のソフトバンクの非公式JavaScript対応の調査結果 | 徳丸浩の日記で報告したように、昨年5月に、ソフトバンク60機種の検証を行い、JavaScript対応の状況などを調査しました。当時はまだ公式なJavaScript対応機種はない状態でしたが、既にほとんどの端末が *非公式に* JavaScriptに対応していました。 このエントリでは、検証の様子を報告します。 なぜJavaScript対応状況を調査したか http://www.hash-c.co.jp/info/20091124.htmlを公表した前後に、とある方(この方)から、ソフトバンクのケータイでもJavaScriptが動作すると伺いました(参考のやりとり)。XMLHttpRequestも含めてJavaScrptが動くと教えていただいた932SHを私も購入して調べたところ、以下が判明しました。 確かにJavaScrip

    私はいかにしてソフトバンク端末60機種のJavaScriptを検証したか - ockeghem's blog
  • EZwebの2011年秋冬モデル以降の変更内容とセキュリティ上の注意点 - ockeghem's blog

    au/KDDIの技術情報サイトEZfactoryには、2011年秋冬モデル以降にEZwebの仕様変更がある旨表示されています。セキュリティ上の問題の可能性もあるため以下に報告します。 EZfactoryトップページでの告知内容 EZfactoryトップページには、2011年秋冬モデルでの変更を以下のように要約しています。 ※お知らせ※ EZブラウザは、2011年秋冬モデルにて、EZサーバを含め、「機能」及び「ネットワーク環境」の見直しを行ないます。 これによる主な変更点は以下のとおりです。 <主な変更点> ・EZサーバの言語変換機能が削除され、HDMLが非サポートとなる。 ・EZブラウザ、PCサイトビューアーのIPアドレス帯域が統一される。 今後EZブラウザ向けコンテンツを作成する場合は、XHTML Basicを推奨します。 http://www.au.kddi.com/ezfactory

    EZwebの2011年秋冬モデル以降の変更内容とセキュリティ上の注意点 - ockeghem's blog
  • 僕が「ホワイトリスト」を採用しなかった訳 - ockeghem's blog

    ホワイトリストという用語はセキュリティの分野では非常に基的な用語ですが、セキュアプログラミングという文脈では意外に曖昧な使われ方がされているように見受けます。エントリでは、ホワイトリストという用語の意味を三種類に分類し、この用語の実態に迫ります。拙著体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸)では、ホワイトリストという用語を一度も使っていませんが、その理由に対する説明でもあります。 ホワイトリストの分類 私の調査によると、ホワイトリストは以下の3種類に分類されます。 許可されたものの一覧表(第一種ホワイトリスト) セキュリティ上安全と考えられる書式(第二種ホワイトリスト) アプリケーション仕様として許可された書式(第三種ホワイトリスト) 以下順に説明します。 許可されたものの一覧表(第一種ホワイトリスト) ホワイトリストというくらいですから、来のホワイトリストは

    僕が「ホワイトリスト」を採用しなかった訳 - ockeghem's blog
    MinazukiBakera
    MinazukiBakera 2011/05/09
    このメールアドレスは使ってみたくなりますね。
  • 「体系的に学ぶ 安全なWebアプリケーションの作り方」3月1日発売です - ockeghem's blog

    去年の5月末に「を書く」という宣言をしてから8ヶ月以上掛かってしまいましたが、ようやく体系的に学ぶ 安全なWebアプリケーションの作り方が脱稿し、3月1日に発売される運びとなりました。 現時点で一番詳しいの目次は、出版元のオフィシャルページにありますが、このブログでもおいおい詳しい内容を紹介したいと思います。また別途サポートページを立ち上げる予定です。 書の目次は以下の通りです。 1章 Webアプリケーションの脆弱性とは 2章 実習環境のセットアップ 3章 Webセキュリティの基礎 〜HTTP、セッション管理、同一生成元ポリシー 4章 Webアプリケーションの機能別に見るセキュリティバグ 5章 代表的なセキュリティ機能 6章 文字コードとセキュリティ 7章 携帯電話向けWebアプリケーションの脆弱性対策 8章 Webサイトの安全性を高めるために 9章 安全なWebアプリケーションのた

  • 続パスワードの定期変更は神話なのか - ockeghem's blog

    2008年2月にパスワードの定期変更は「神話」なのか? - ockeghem(徳丸浩)の日記を書いた時の反応は、賛否両論という感じだったが、その後、twitterでのつぶやきなどを見るに、「パスワードは定期変更しなくてもいいんじゃない?」という意見は、セキュリティの専門家にも多くなっているような印象を受けている。 そのよう状況の中、以下の記事を読んだ。 辞書攻撃がうまくいかない場合、クラッカーは総攻撃(ブルートフォース攻撃とも言います)を仕掛けます。【中略】仮に1秒間に1000万回の計算ができるとすれば、パスワードのクラックに要する時間は1年にもなりません。どんなに強固なパスワードであっても、1年ももたないということになります。だからこそ、3カ月に1回とか半年に1回はパスワードを変更する必要があるのです。(2ページ目より引用) http://www.itmedia.co.jp/enterp

    続パスワードの定期変更は神話なのか - ockeghem's blog
  • iモードブラウザ2.0のJavaScriptではiframe内のコンテンツを読み出せない - ockeghem's blog

    iモードブラウザ2.0では、同一ドメインであっても、iframe内のコンテンツがJavaScriptにより読み出せないよう制限が掛かっていることを確認しましたので報告します。 【追記】元の内容には、重大な事実誤認がありました。正確には、同一ドメイン・同一ディレクトリであれば読み出せます。詳しくは追記2をご覧ください。 きっかけ ケータイtwitter(twtr.jp)においてDNS Rebinding攻撃に対する脆弱性を発見・通報し、即座に修正された - 徳丸浩の日記(2010-02-22)にて既に紹介したように、twitter.comの日のケータイ向けフロントエンドであるtwtr.jpにDNSリバインディング脆弱性があったことを確認・報告し、直ちに修正されました。このエントリの中に、以下のように書いています。 すぐに確認作業が終わるだろうと思っていたが、意外なところで失敗した。ログイン

    iモードブラウザ2.0のJavaScriptではiframe内のコンテンツを読み出せない - ockeghem's blog
    MinazukiBakera
    MinazukiBakera 2010/08/04
    どんどんカオス化するケータイJavaScript……。
  • 本を書くことになりました&レビュアー募集のお知らせ - ockeghem's blog

    ソフトバンククリエイティブさんからお話をいただき、Webアプリケーションセキュリティを書くことになりました。6月から書き始めて、年内に出版できればいいなという感じのスケジュール感です。 今度書くは、入門的な内容になる予定ですので、私のブログの読者が期待するような、マニアックな内容にはならないと思いますが、入門的なこそ今必要なのではないかなと思っています。言語としてはPHPを基として、適宜他の言語(PerlJava等)を補足する予定です。 脱サラしたときの目標の1つが単著を出すことだったのですが、いつもながらそのような機会は向こうからやってきます。私は「はい、やります」と言えばよいだけなので、ありがたいなーと思っています。 今忙しいので書き始めるのは来月からですが、結城さんみたいに、ブログに「を書いています」と書き始めるのがささやかな夢です:-) あと、レビュアーを募集しようと

    本を書くことになりました&レビュアー募集のお知らせ - ockeghem's blog
    MinazukiBakera
    MinazukiBakera 2010/05/28
    @rryu2010 どうですか。 RT @ockeghem: 日記書いた『 本を書くことになりました&レビュアー募集のお知らせ』
  • “完璧なWAF”に学ぶWAFの防御戦略 - ockeghem's blog

    セキュリティExpert 2010に大河内智秀氏が「現状の課題と“完璧なWAF”」と題して寄稿されている。大変興味深い内容であるので、この寄稿をなぞりながら、WAFの防御戦略について検討してみたい。 クロスサイト・スクリプティング(XSS)に対する防御 大河内氏の寄稿の前半は、現状のWAFの課題として、Webアプリケーションに対する攻撃の多く(大半)がWAFのデフォルト設定では防御できないと指摘する。例えばクロスサイト・スクリプティング(XSS)に関しては、以下のような指摘がある。 仮にscriptをブラックリストに指定したとしましょう。それでもまだ不十分です。<IMG>タグでXSSが発動することをご存じでしょうか?プログラムなどでは<IMG>タグは画像添付に必須であり、WAFで禁止することは難しいのが実情で、ブラックリスト方式の課題となっています。 「現状の課題と“完璧なWAF”」より引

    MinazukiBakera
    MinazukiBakera 2010/05/07
    union/**/selectの話が興味深いですね。この日記はブロックされると。
  • 「なぜPHPアプリにセキュリティホールが多いのか?」のセキュリティホール - ockeghem's blog

    大垣靖男さんの連載から 第21回 文字エンコーディングとセキュリティ(3):なぜPHPアプリにセキュリティホールが多いのか?|gihyo.jp … 技術評論社 一見この動作は無害のように思えるかもしれませんが,ブラウザなど,“\”がエスケープ文字になっているシステムでは重大な問題となります。 <div height="<?php echo addslashes($height); ?>" width="<?php echo addslashes($width); ?>"> この記事が公開された当初,上記のechoが抜けていた。しかし,echoがないと,プログラムの正常系としても動作しない。どこかから,突っ込みが入ったのであろう,その後echoが追加された。 しかし,まだ根的におかしい。 なぜなら,以下の部分が間違っているからだ。 ブラウザなど,“\”がエスケープ文字になっているシステム

    「なぜPHPアプリにセキュリティホールが多いのか?」のセキュリティホール - ockeghem's blog
    MinazukiBakera
    MinazukiBakera 2010/04/22
    ズコー RT @ockeghem: そんなに遡らなくても、2009年にそういう説明がありました。しかもセキュリティ専門家です。
  • XMLHttpRequestから送られてくるHTTPリクエストヘッダ - ockeghem's blog

    以下のようになります。CGIでHTTP_で始まる環境変数を列挙したものです。 HTTP_USER_AGENT=DoCoMo/2.0 P07A3(c500;TB;W24H15) HTTP_COOKIE=≪Cookie値≫ HTTP_X_UE_VERSION=1 HTTP_HOST=≪ホスト名≫これは、通常のリクエストと全く同じで、XMLHttpRequestを区別するためのリクエストヘッダはありません。 追記(2009/11/18) PCのブラウザの場合、もう少しヘッダが多くつくことと、際だった違いとして、Refererが付与されることがあります。なぜ付与しないのですかね。ちなみに、SCRIPT要素のSRC属性で呼び出した場合はRefererが付与されます…なんて書いたらSCRIPT要素からのRefererも削除されかねませんな。

    XMLHttpRequestから送られてくるHTTPリクエストヘッダ - ockeghem's blog
    MinazukiBakera
    MinazukiBakera 2009/11/25
    「通常のリクエストと全く同じで、XMLHttpRequestを区別するためのリクエストヘッダはありません。」