初心者Webアプリケーション開発者がチェックすべき情報源2013
毎年恒例の診断前準備として開発者向けに、「初心者Webアプリケーション開発者がチェックすべき情報源」を集めているので、皆さんにもご紹介。他に追加した方が良い情報源があった場合はご指摘いただけると助かります。
上から重要な順。★の付いている「重点」がとりあえず読んどけ、の必須。
必須のポイントは、短期間で大雑把に網羅的にポイントが整理されているもの。
書籍としては、昨年の徳丸本「体系的に学ぶ 安全なWebアプリケーションの作り方」に加えて、「めんどうくさいWebセキュリティ」と「実践 Fiddler」をノミネート、「HTTPの教科書」を入れるか迷ったけど、まだ読んでないので保留。長谷川さんあたりから、何でJavaScriptの本がないんじゃ!といわれそうだけど・・・
とりあえず、昨年懸案だったスマートフォン関係を追加した。
インフラ関係は除外しているんだけど、プラットフォーム診断分もあったほうが良いのだろうか・・・
あと、後半、まったく初心者向けじゃないけど、セキュリティキャンプ生向けにWebテストできるためのツール類を紹介。Webセキュリティ組の参考に、あと、ネットワークセキュリティ組もFiddler2を使うのはパケットの中身の可視化に良いと思うので、インストールして見られるのがよろしいかと。
■重点 ★Webサイト構築 安全なウェブサイトの作り方 改訂第6版 http://www.ipa.go.jp/security/vuln/websecurity.html LASDECなどで公開されていたウェブ健康診断仕様が別冊に加わった。標準チートシートとして使える。 セキュリティ実装 チェックリスト(Excel形式、33KB) 安全なSQLの呼び出し方(全40ページ、714KB) ウェブ健康診断仕様(全30ページ、784KB) ★発注仕様 発注者のためのWebシステム/Webアプリケーション セキュリティ要件書 http://www.tricorder.jp/security_requirement.html クリエイティブコモンズ・ライセンス 「Web システム セキュリティ要求仕様(RFP)」編 β 版 http://www.jnsa.org/active/2005/active2005_1_4a.html ★書籍 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 http://www.amazon.co.jp/dp/4797361190/connect24h-22/ 徳丸 浩 (著) ,価格:¥3,360 電子書籍版もあるので,スマフォに常備とかよいかも。 めんどうくさいWebセキュリティ(追加!) http://www.amazon.co.jp/dp/4798128090/connect24h-22/ Michal Zalewski (著), 上野 宣 (監修), 新丈 径 (翻訳) 価格:¥ 3,129 ■セキュアWebアプリケーション開発 IPA セキュア・プログラミング講座 http://www.ipa.go.jp/security/awareness/vendor/programming/index.html セキュア・プログラミング講座(新版) http://www.ipa.go.jp/security/awareness/vendor/programmingv2/index.html セキュア・プログラミング講座(旧版) WEBプログラマコース http://www.ipa.go.jp/security/awareness/vendor/programmingv1/a00.html 新版にはプログラム例がごっそりに受けているので、初心者向けとしては情報の断裂があると思う。 旧版で見て、そのあとに新版も押さえておきましょう。 『セキュア・プログラミング講座(Webアプリケーション編)』ブートアップセミナー資料(追加) http://www.ipa.go.jp/files/000030878.pdf JPCERT:セキュアコーディング(追加!) http://www.jpcert.or.jp/securecoding.html C/C++ セキュアコーディングセミナー資料 CERT C セキュアコーディングスタンダード Java セキュアコーディングスタンダード CERT/Oracle 版 翔泳社 Codezine 連載集 「動けばいいってもんじゃない」 脆弱性を作り込まないコーディング(全6回) 実例で学ぶ脆弱性対策コーディング(全9回) “誤認逮捕”を防ぐWebセキュリティ強化術(追加!) http://itpro.nikkeibp.co.jp/bn/mokuji.jsp?OFFSET=0&MAXCNT=20&TOP_ID=456761 [1]なりすましの攻撃手法 [2]CSRFとクロスサイトスクリプティング [3]HTTPヘッダーインジェクションとクリックジャッキング [4]DNSリバインディング [5]暗号化の“皮”を重ねて匿名性を確保する「Tor」 Webアプリケーションにセキュリティホールを作らないための クロスサイトスクリプティング対策の基本 〜クロスサイトスクリプティング脆弱性とは?〜 http://www.atmarkit.co.jp/fsecurity/special/30xss/xss01.html http://www.atmarkit.co.jp/fsecurity/special/31xss/xss01.html http://www.atmarkit.co.jp/fsecurity/special/34xss/xss01.html Webアプリケーションに潜むセキュリティホール http://www.atmarkit.co.jp/fsecurity/rensai/webhole01/webhole01.html 第1回 サーバのファイルが丸見え?! 第2回 顧客データがすべて盗まれる?! 第3回 気を付けたい貧弱なセッション管理 第4回 エラーメッセージの危険性 第5回 Webアプリケーションの検査テクニック 第6回 Webサイトのセッションまわりを調べる方法 第7回 攻撃されないためのセッション管理の検査方法 第8回 Webサイトの問い合わせ画面に含まれる脆弱性 第9回 オンラインショッピングにおける脆弱性の注意点 第10回 安全なWebアプリケーション開発のススメ 第11回 Webアプリケーションファイアウォールによる防御 第12回 mod_securityのXSS対策ルールを作成する 第13回 OSコマンドインジェクションを防ぐルールを作成する 最終回 Webアプリケーションの脆弱性を総括する Webアプリにおける11の脆弱性の常識と対策 http://www.atmarkit.co.jp/fjava/rensai4/webjousiki11/webjousiki11_1.html 一部、難があったところが全部直ってる。 脆弱なWebアプリケーション http://thinkit.co.jp/free/tech/7/1/1.html 旧版IPA ISEC『セキュア・プログラミング講座』著者の長谷川さんの記事。 第1回 Webアプリケーションの脆弱性 第2回 ファイル流出 第3回 パラメータからの情報流出 第4回 セッション乗っ取り 第5回 インジェクション攻撃 第6回 各種の問題 クロスサイトスクリプティング対策の基本(追加) http://www.atmarkit.co.jp/ait/articles/0211/09/news002.html クロスサイトスクリプティング対策の基本(前編) クロスサイトスクリプティング対策の基本(中編) クロスサイトスクリプティング対策の基本(後編) ちょっと古いけど、安心の国分さんの記事なので掲載。 ■携帯Web ケータイWebのセキュリティ 第1回 「PCでは見えないはず」に頼ることの危険性 http://www.atmarkit.co.jp/fsecurity/rensai/keitaiweb01/keitaiweb01.html 第2回 間違いだらけの「かんたんログイン」実装法 http://www.atmarkit.co.jp/fsecurity/rensai/keitaiweb02/keitaiweb01.html 第3回 実は厄介、ケータイWebのセッション管理 http://www.atmarkit.co.jp/fsecurity/rensai/keitaiweb03/keitaiweb01.html 最終回 ケータイWebの今後を安全に保つには http://www.atmarkit.co.jp/fsecurity/rensai/keitaiweb04/keitaiweb01.html ちょっと古いが、ガラケーからスマートフォンへの移行で情報の隔絶が おこりそうなのであえて掲載。 ■スマートフォンセキュリティ(追加!) Javaセキュアコーディング入門 http://codezine.jp/article/corner/437 Androidアプリの配布パッケージapkの解析について Javaの参照型変数とセキュリティ スマートフォンアプリへのブラウザ機能の実装に潜む危険 ――WebViewクラスの問題について AndroidアプリにおけるDBファイルの正しい使い方 ハッシュテーブルに対する攻撃手法のはなし 整数オーバーフロー検出の3つのアプローチ ――mezzofantiのバグ修正 ContentProviderのアクセス範囲 ――Dropboxにおける脆弱性の修正 Androidアプリ開発者なら押さえておきたい Javaセキュアコーディングの意味と効果 イチから始める! Androidセキュリティ 連載インデックス http://www.atmarkit.co.jp/fsecurity/index/index_androbasic.html スマートフォンで「できちゃうこと」って? 知ってるつもりで知らない端末のほんとの挙動 デバッグ情報にご用心! 要注意! 本当は怖い出力データ 見せたくないなら「持たせない」が鉄則! Androidアプリのセキュア設計・セキュアコーディングガイド http://www.jssec.org/report/securecoding.html Android Security - 安全なアプリケーションを作成するために http://www.taosoftware.co.jp/android/android_security/ OWASP モバイルセキュリティプロジェクト - トップ10モバイルコントロール https://docs.google.com/document/d/1QOWOrsAo-33bHLdAZksKa4F_8_A_6XndoDF6ri4na_k/edit ■Webセキュリティ診断 OWASP Guide 1.1.1 日本語訳 https://sourceforge.net/project/showfiles.php?group_id=64424&package_id=62287 OWASP Top 10 - 2010 http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202010%20Japanese-A4.pdf 和訳 OWASP Top 10 2013 RC1リリース&日本語訳(ちょっとだけ)(追加!) http://d.hatena.ne.jp/sen-u/20130220/p1 正式版が公開されるのを正座して待ちましょう。 安全な Web アプリ開発の鉄則 2006 http://www.nic.ad.jp/ja/materials/iw/2006/proceedings/T21.pdf 高木先生のプレゼン資料。コンテンツとしては古いけど、今でも色あせていない。 自分でできるWebアプリケーション脆弱性診断 - デブサミ2010 http://www.slideshare.net/uenosen/web-2010-3241609 LASDEC ウェブ健康診断 https://www.lasdec.or.jp/cms/12,1284.html IPAの安全なウェブサイトの作り方に統合。 以下、解説なしで見てわかる人向け。 書いてあることの意味がわからなかったら、徳丸本を読め。 ■ツール類 Fiddler2 Web DeBugger http://fiddler2.com/fiddler2/ Local Proxy Web DeBugger MSのIEの中のひと作。徳丸本でも定番。 Windows限定。 Fiddler徹底解剖(追加!) http://www.hagurese.net/blog/default.aspx?pn=Fiddler%E3%81%A8%E3%81%AF 実践 Fiddler(追加!) http://www.amazon.co.jp/dp/4873116163/connect24h-22/ Eric Lawrence (著) 日本マイクロソフト株式会社 エバンジェリスト 物江 修 (監訳) (翻訳), 長尾 高弘 (翻訳) 価格: ¥ 3,360 今日から使う Fiddler(追加!) http://blogs.msdn.com/b/osamum/archive/2013/07/01/fiddler-1-2.aspx http://www.slideshare.net/osamum/get-startfiddler "XSStest21" [Fiddler2 Extension] by yamagata21 http://yamagata.int21h.jp/tool/XSStest21/ 試してないけどFiddler2の拡張追加機能。yamagata21さん作。 FiddlerとWatcherでWebサイトのセキュリティをチェックする http://news.mynavi.jp/articles/2010/04/21/fiddler/index.html Youtube Fiddler2 http://www.youtube.com/results?search_query=fiddler2 BurpSuite http://portswigger.net/burp/ Local Proxy Web DeBugger Pro版はスキャナ付き。多機能すぎてかえってチューニング難しい。 burp suiteによる初歩のWeb監査(追加!) http://ameblo.jp/principia-ca/entry-11193827251.html Burpsuite (Burp Proxy) の使い方(追加!) http://root99.blogspot.jp/2008/06/webburpsuite.html Youtube Burp Suite(追加!) http://www.youtube.com/results?search_query=Burp+suite その他使い方が分からない人はこちら参照。 Pangolin Automatic SQL Injection Tool http://nosec.org/en/productservice/pangolin/ まともなSQL Injectionスキャナ。悪用厳禁。テスト環境のみ使用推奨。 外で使うと一発アウトです。 使い方 http://www.youtube.com/results?search_query=Pangolin+Automatic+SQL+Injection+Tool&oq=Pangolin+Automatic+SQL+Injection+Tool&gs_l=youtube.3...2479.3181.0.3550.3.3.0.0.0.0.78.221.3.3.0...0.0...1ac.EuR1dW5I8U4 w3af(追加!) http://w3af.org/ いまいち使えないと思うんだけど、使いこなしている人いる? OWASP Zed Attack Proxy Project(追加!) https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project 最新版はメニューが日本語対応しているらしい。使っていないけど。。。忘れないで!って言う人がいるから。 OWASP_Zed_Attack_Proxy(追加!) http://www.checksite.jp/tool/vs/zap/ OWASP ZAP 〜 フリーの Web アプリケーション脆弱性診断ツール(追加!) http://www.websec-room.com/2013/04/06/835 Flash Based XSSについて(追加!) http://subtech.g.hatena.ne.jp/mala/20130604/1370328779 http://subtech.g.hatena.ne.jp/mala/20130604/1370328780 http://subtech.g.hatena.ne.jp/mala/20130604/1370328781 Flashの診断って、たまにあるからね。 Watcher http://websecuritytool.codeplex.com/ Web-security scanner SQL Injection DB http://websec.ca/kb/sql_injection チートシート作成用の参考に ■やられサーバ XAMPP DVWA http://www.dvwa.co.uk/ http://code.google.com/p/dvwa/ http://code.google.com/p/dvwa/wiki/README やられWebサーバ。 何ができるの? http://www.youtube.com/watch?v=oMV0JZVxvdQ badstore(追加!) http://www.badstore.net/ VirtualBox で Badstore.net を起動する方法 http://www.websec-room.com/2013/03/28/821 VMWare Player で Badstore.net を起動する方法 http://www.websec-room.com/2013/03/28/796 ■ホワイトボックス監査関係(追加!) 古すぎて使えないけど。。。商用版なら一応使い物になるのだが、商用のCxSuiteやCoverityは使えるって話だけど、どうなんだろうね。まぁ、Source読める人には、該当個所GrepしてSource読んだほうが早いかもね。 効率的なソースコード検査技術の調査 http://www.ipa.go.jp/files/000013694.pdf 効率的なソースコード検査技術利用ガイド http://www.ipa.go.jp/files/000013696.pdf セキュアな実行コードの生成・実行環境技術に関する調査 http://www.ipa.go.jp/files/000013695.pdf ■コミュニティ(追加!) The Open Web Application Security Project(OWAPS) https://www.owasp.org/index.php/Japan ■その他 ソフトウエアセキュリティ保証成熟度モデル(OpenSAMM)(追加!) http://www.opensamm.org/downloads/SAMM-1.0-ja_JP.pdf パーセントエンコードコンバータ http://www.tagindex.com/cgi-lib/encode/url.cgi URLエンコード・デコードツール「URLDecEnc」v1.01 http://www.forest.impress.co.jp/article/2008/02/14/okiniiri.html