初心者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