タグ

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

  • 徳丸本の台湾版が発売開始されました - ockeghem's blog

    拙著「体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸)」が中国語繁体字に翻訳され、台湾で販売開始されましたので報告します。出版社の紹介ページ。 @kuroneko_stacyさんが、早くも台湾で購入されたそうで、書店での平積みの様子を写真にとって下さいました。画像をクリックすると拡大します。 昨日見が届きましたので、いくつか写真を紹介します。まずは表紙。 謝辞のところ。 人気の(?)3章、悪人と銀行員の会話。 台湾屋さんのコメント(@kuroneko_stacyさんと現地屋さんの会話) 徳丸台湾でも人気だそうです。屋のおじちゃんが良さを熱く語ってくれました。「このは凄く良くできている!日人が書いているんだ。知ってたか?」って聞かれたので、おこがましくも著者は友人ですよって言わせていただきました(笑) https://twitter.com/kuronek

  • 書籍「Android Security」の暗号鍵生成方法には課題がある - ockeghem's blog

    書籍「Android Security  安全なアプリケーションを作成するために」は既に各方面で絶賛されているように、Androidアプリケーションの開発者には必携の書籍だと思いますが、新しい分野だけに、首をひねらざるを得ない箇所もありました。このエントリでは、同書第10章「暗号化手法」から共通鍵の生成方法について議論します。 はじめに 書籍「Android Security」(業界では「タオ」と呼ばれているので、以下タオと記述)の10章では、端末内のファイルを暗号化して保存する手法について説明されています。その際に問題となるのが、鍵の生成と保管の方法です。スマートフォン端末、とくにAndroid端末は、アプリケーションのリバースエンジニアリングとルート化の可能性は常にあるため、あらゆる場合にも破られない暗号化というものはありません。このため、守るべき情報資産と、想定する脅威(言い換え

    書籍「Android Security」の暗号鍵生成方法には課題がある - ockeghem's blog
  • 「管理者パスワードは何日ごとに変更すればよいか」に関する質疑応答 - ockeghem's blog

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

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

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

    大垣本を読んで「バリデーションはセキュリティ対策」について検討した - ockeghem(徳丸浩)の日記
  • 「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
  • 「徳丸本ができるまで」スライドを公開します - 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
  • 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
  • もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog

    たにぐちまことさんの書かれた『よくわかるPHPの教科書(以下、「よくわかる」)』を購入してパラパラと見ていたら、セキュリティ上の問題がかなりあることに気がつきました。そこで、拙著「体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸)」の章・節毎に照らし合わせて、「よくわかる」の脆弱性について報告します。主に、徳丸の4章と5章を参照します。 4.2 入力処理とセキュリティ 「よくわかる」のサンプルや解説では、入力値検証はほとんどしていません。しかし、入力値検証をしていないからといって即脆弱かというとそうではありません。徳丸でも強調しているように、入力値検証はアプリケーション要件(仕様)に沿っていることを確認するもので、セキュリティ対策が目的ではないからです。 「よくわかる」の中で、私が見た範囲で唯一の入力値検証は、郵便番号のチェックをするものです。以下に引用します(「よくわ

    もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog
  • みずほダイレクトの謎 - ockeghem's blog

    ソフトバンク携帯電話のSSL方式変更に伴い、みずほ銀行のモバイルバンキングが一部使えなくなっていましたが、昨日復旧したようです。 7月3日時点では、みずほダイレクトのトップに以下のように表示されていました。URLは魚拓のものです。 現在、ソフトバンクの携帯電話からアクセスいただいた、みずほダイレクト(モバイルバンキング)の[ネット決済振込サービス]および[Pay-easy(ペイジー)税金・料金払込みサービス]において、一部のお取引がご利用いただけません。「ご利用の端末のユーザーIDを「ON」に設定し、再度アクセスしてください。」と表示された場合には、パソコンなどでご利用ください。 お客さまには大変ご迷惑をおかけしておりますことをお詫び申しあげます。 (原因につきましては現在調査中です。) http://megalodon.jp/2011-0703-0032-51/www.mizuhoban

    みずほダイレクトの謎 - ockeghem's blog
  • Amazonの2011年上半期ブックランキングのコンピュータ書部門で第8位に - ockeghem's blog

    拙著「体系的に学ぶ 安全なWebアプリケーションの作り方」はおかげさまで多くの読者の支持をいただき、まことにありがとうございます。おかげさまで、Amazonの2011年上半期ブックランキングのコンピュータ書部門で第8位となりました。 皆様のご愛読に感謝致します。ありがとうございました。 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 作者: 徳丸浩出版社/メーカー: SBクリエイティブ発売日: 2011/03/01メディア: 単行購入: 119人 クリック: 4,283回この商品を含むブログ (146件) を見る

    Amazonの2011年上半期ブックランキングのコンピュータ書部門で第8位に - ockeghem's blog
  • モテるセキュ女子力を磨くための4つの心得「SQLインジェクションができない女をアピールせよ」等 - ockeghem's blog

    こんにちは、セキュリティ勉強会などで講師を担当しているockeghem夫です。私は学歴も知識もありませんが、セキュリティに関してはプロフェッショナル。今回は、モテるセキュ女子力を磨くための4つの心得を皆さんにお教えしたいと思います。 1. あえて2〜3世代前の書籍の知識で対策する あえて2〜3世代前の書籍の知識で脆弱性対策するようにしましょう。そして勉強会の打ち上げで好みの男がいたら話しかけみましょう。「あ〜ん! addslashes当にマジでチョームカつくんですけどぉぉお〜!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「SQLインジェクションとか詳しくなくてぇ〜! サテ技に載ってたからずっとaddslashes使ってるんですけどぉ〜! 日語が化けるんですぅ〜! ぷんぷくり〜ん(怒)」と言いましょう。だいたいの男は新しい書籍を持ちたがる習性があるので、古か

    モテるセキュ女子力を磨くための4つの心得「SQLインジェクションができない女をアピールせよ」等 - ockeghem's blog
  • ソーシャルボタンを導入したヨミウリ・オンラインはリンク制限を撤廃すべき - ockeghem's blog

    ヨミウリ・オンラインを閲覧していて、ふと、ソーシャルブックマークのボタンが設置されていることに気がつきました。以下に引用します。 ご覧のように、twitterやfacebookの他、はてなブックマークにワンタッチで登録できるようになっています。ソーシャルブックマークのボタンにはヘルプボタン(右端の?)があり、ヘルプページにリンクしています。 ヨミウリ・オンラインにソーシャルボタン導入 ヨミウリ・オンライン(YOL)の記事に「ソーシャルボタン」、および「携帯に送るボタン」を設置しました。ソーシャルボタンはソーシャルサービス上で記事をブックマークしたり、関心を持った記事を手軽に友人・知人と共有したりすることができます。ぜひご利用ください。 【中略】 (2010年11月15日 読売新聞) http://www.yomiuri.co.jp/info/socialbutton/ 引用部分にあるように

  • 僕が「ホワイトリスト」を採用しなかった訳 - ockeghem's blog

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

    僕が「ホワイトリスト」を採用しなかった訳 - ockeghem's blog
  • ライザムーン(LizaMoon)攻撃に対してもWAFは有効 - ockeghem's blog

    ライザムーン攻撃に対する行き届いた解説を読みました。 大規模インジェクション 「LizaMoon」攻撃について調べてみた。 - piyolog ここで紹介されている内容は素晴らしいと思うのですが、一点、WAFに関する以下の記述が引っかかりました。 SQLインジェクションであれば既知の攻撃手法でありWAFで防ぐことは出来るのではという考え方もありますが、例えばブラックリストタイプのWAFでこの数値リテラル型をつくSQLインジェクションを防ぐことが出来ません。HTTPリクエストとして受けた文字列だけで、最終的にデータベースに対して発行されるSQLでその文字列がどのような扱いになるか(数値リテラルになるのかどうか)判断することが出来ないためです。 当にブラックリストタイプのWAFで防ぐことができないのでしょうか。IBMのレポートに紹介されている以下の攻撃で考えてみます。 /target.asp

    ライザムーン(LizaMoon)攻撃に対してもWAFは有効 - ockeghem's blog
  • オレ標準JavaScript勉強会発表資料 - ockeghem's blog

    Loading...での発表に用いた資料です。 お役に立つかどうかは心許ないのですが、ドキュメントの一部を希望されていた方もおられましたので、slideshareで公開します。 ガラケーで楽しむオレJSの勧めView more presentations from Hiroshi Tokumaru.

    オレ標準JavaScript勉強会発表資料 - ockeghem's blog
  • 携帯電話事業者に学ぶ「XSS対策」 - ockeghem's blog

    NTTドコモとソフトバンクモバイルは、フィーチャーフォン(いわゆるガラケー)にてJavaScriptの対応を始めています。JavaScriptに対応すると、クロスサイト・スクリプティング(XSS)脆弱性の懸念が高まりますが、両社は独自の手法によりXSS対策をしている(しようとしている)挙動が観測されましたので報告します。この内容は、オレ標準JavaScript勉強会でネタとして使ったものです。 NTTドコモに学ぶ「XSS対策」まず、サンプルとして以下のようなXSS脆弱なスクリプトを用意します。 <?php session_start(); ?> <body> こんにちは<?php echo $_GET['p']; ?>さん </body>これを以下のURLで起動すると、IE7では下図のような表示になります。 []http://example.com/xss01.php?p=山田<scrip

    携帯電話事業者に学ぶ「XSS対策」 - ockeghem's blog
  • “完璧なWAF”に学ぶWAFの防御戦略 - ockeghem's blog

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

  • ockeghem's blog

    はてなダイアリーのサービス停止に伴い、はてなダイアリーにあった日記をこちら(はてなブログ)に移行しました。 現在、記事の更新は停止していますが、将来記事を書く可能性はあります。 はてなブックマークボタンを外しました | 徳丸浩の日記以降、こちらの更新を原則的に停止していましたが、恒久的に更新を停止し、tumblrに移行することに致しました。詳しくは、ブログとソーシャルブックマークの移行について - 徳丸浩のtumblrを参照下さい。 すでにこちらでご案内の通り、私のブログ(徳丸浩の日記およびEGセキュアソリューションズオフィシャルブログ)に貼っていた「はてなブックマークボタン」により、読者の皆様の閲覧行動がマイクロアド社によりトラッキングされておりました。読者の皆様に断りなく不快な結果を強いていたことに対してお詫び申し上げます。既に当該ボタンは撤去しております。 その後、株式会社はてな社長

    ockeghem's blog
  • P-07AでもJavaScriptが再開され、あらたな制限がみつかった - ockeghem's blog

    i-mode2.0は前途多難 - ockeghem(徳丸浩)の日記にて報告したように、ドコモのiモードブラウザ2.0のJavaScript機能が5/28に停止されていたが、日ケータイアップデートが準備されたので、深夜3時まで待たずに即座にアップデートを実行した。そして、JavaScriptが復活していることを確認した。 iモードブラウザ2.0のJavaScript « mpw.jp管理人のBlogで報告されているように、alert関数や、setRequestHeaderメソッドが無効化されていることを確認した。関数自体は削除されていないのだが、実行しても何もおこらない状態になっている。alertを無効化した理由は理解に苦しむが、setRequestHeaderを無効化したのは、携帯JavaScriptとXSSの組み合わせによる「かんたんログイン」なりすましの可能性で指摘したような危険性を

    P-07AでもJavaScriptが再開され、あらたな制限がみつかった - ockeghem's blog
  • 携帯電話向けWebアプリのセッション管理はどうなっているか - ockeghem's blog

    最近購入したPHP×携帯サイト 実践アプリケーション集を読んでいて妙な感じがしたので、この感覚はなんだろうと思っていたら、その理由に気づいた。書に出てくるアプリケーションは、PHPのセッション管理機構を使っていないのだ。そんな馬鹿なと思ったが、目次にも索引にも「セッション」や「session」という語は出てこない。サンプルプログラムのCD-ROM上で session を検索しても出てこないので、セッションはどこでも使っていないのだろう。 そうは言っても、書にはブログやSNSなど認証が必要なアプリケーションも登場する。書で採用している認証方式はこうだ。 携帯電話の個体識別番号を用いた、いわゆる「かんたんログイン」のみを使う 認証状態をセッション管理機構で維持しない。全てのページで毎回認証する そのため、「iモードID」など、ユーザに確認せずに自動的に送信されるIDを用いる つまり、全て

    携帯電話向けWebアプリのセッション管理はどうなっているか - ockeghem's blog