SST連載・解説記事

  1. HOMEHOME
  2. SSTコラムSSTコラム
  3. SSTなるほど!コーナー
  4. 06 安全なWebサイトを構築するための参考資料集(2016年4月版)

(2016年4月27日公開, 2017年7月3日更新)

 安全なWebサイトを構築するための参考資料集

はじめに

本記事ではWebサイトを設計・開発・運営する人たちを対象とした、安全なWebサイトを構築するための各種ガイドラインや参考資料を、無償で利用できるWebコンテンツを中心に紹介していきます。

なお、本記事は2016年4月時点の情報に基づいています。(「開発者向けセキュリティ関連コンテンツ(METI/経済産業省)」は2017年7月に追加)

以下のようなケースでお役に立ちます。

  • Webサイトの脆弱性対策を行うための総合的なガイドライン資料を探している。
  • Webサイト開発の教育資料として、セキュアプログラミングの資料を探している。
  • 実際に脆弱性診断を受けたところ脆弱性が指摘された。
    どう修正すれば良いのか、ヒントを探している。

総合的なガイドライン資料

「ここからセキュリティ! 情報セキュリティ・ポータルサイト」

http://www.ipa.go.jp/security/kokokara/index.html

紹介コメント
  • 対策する」 →「ガイドライン等」→「事業者向け」に情報セキュリティシステムの開発や管理に関するガイドラインなどが紹介されています。
  • その他にも教育・学習資料など、各省庁や企業が公開しているコンテンツが多数紹介されています。

「開発者向けセキュリティ関連コンテンツ(METI/経済産業省)」

http://www.meti.go.jp/policy/netsecurity/secdoc/dev_contents.html

紹介コメント
  • システム開発や構築に関わる開発者全般に向けた、各種基準・ガイドライン・レポート・ツールなどが多数紹介されている、経済産業省ウェブサイトのページです。特にガイドラインの紹介が充実しています。

「Webシステム/Webアプリケーションセキュリティ要件書 2.0」

https://github.com/ueno1000/secreq

紹介コメント
  • OWASP Japan セキュリティ要件定義書ワーキンググループの成果物として、安全なWebアプリケーションの開発に必要なセキュリティ要件書を入手できます。
  • 発注者と開発者との間でセキュリティ要件を整理する時に活用できます。

「脆弱性対策:IPA 独立行政法人 情報処理推進機構」

https://www.ipa.go.jp/security/vuln/index.html

紹介コメント

IPAからの脆弱性対策用各種コンテンツが集約されています。
Webサイト向けのガイドラインとしては以下が参考になります。

Webサイト開発者向けセキュアプログラミング資料

「安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構」

http://www.ipa.go.jp/security/vuln/websecurity.html

紹介コメント
  • SQLインジェクションやXSS(クロスサイトスクリプティング)などWebアプリケーションの脆弱性の解説と、実際のプログラミングにおける対策方法が紹介されています。
  • 別冊「安全なSQLの呼び出し方」はSQLインジェクションに特化した内容となっています。
  • 別冊「ウェブ健康診断仕様」は実際に脆弱性診断で使われるパターンや診断仕様の一部が公開資料として整理されたものです。SQLインジェクションやXSSなどが存在するか、開発者や発注者が自分たちで簡易的に検査するための参考資料となります。

「JPCERT コーディネーションセンター HTML5 を利用したWeb アプリケーションのセキュリティ問題に関する調査報告書」

https://www.jpcert.or.jp/research/html5.html

紹介コメント
  • HTML5で追加された様々な機能について、セキュリティ面でどのような影響があるか整理されています。
  • JavaScriptを活用したWebアプリケーションを開発する際に参考になります。

「IPA セキュア・プログラミング講座:IPA 独立行政法人 情報処理推進機構」

http://www.ipa.go.jp/security/awareness/vendor/programming/

紹介コメント
  • WebアプリケーションおよびC/C++言語のセキュア・プログラミング講座のコンテンツを閲覧できます。
  • また各種セミナー資料や、IPA 以外での有用なサイトと参考文献なども紹介されています。

HTTPSのWebサイトで適切にSSL/TLSを設定するための資料

「SSL/TLS暗号設定ガイドライン
~安全なウェブサイトのために(暗号設定対策編)~
:IPA 独立行政法人 情報処理推進機構」

https://www.ipa.go.jp/security/vuln/ssl_crypt_config.html

紹介コメント
  • SSL/TLSを用いてWebブラウザとサーバとの通信を暗号化するHTTPSですが、暗号技術の組み合わせで構築されているため、設定が複雑になりがちです。
  • よく使われるWebサーバに絞って、適切にSSL/TLS設定を行うためのガイドラインが提供されていますので、HTTPSを使いたい時に活用できるガイドラインです。

「IPA 独立行政法人 情報処理推進機構:PKI 関連技術情報」

http://www.ipa.go.jp/security/pki/index.html

紹介コメント
  • SSL/TLSの設定にはサーバ証明書が必要ですが、サーバ証明書が適切に発行されるための仕組みとして、公開鍵基盤(PKI):Public Key Infrastructure) が活用されています。
  • そのPKIについて、使われている技術要素や仕組みなどが解説されているので、証明書の世界をより詳しく知りたい時の参考資料として活用できます。

「CRYPTREC | トップページ」

http://www.cryptrec.go.jp/index.html

紹介コメント
  • 暗号アルゴリズムの評価などが随時検証され、公開されてます。
  • SSL/TLSの暗号スイートの設定で「今」何を設定すればよいのか、決定するための技術的な根拠としてこれらの資料を活用できます。

Webサイト以外の開発領域も含んだセキュアプログラミング資料

「JPCERT コーディネーションセンター セキュアコーディング」

https://www.jpcert.or.jp/securecoding/

紹介コメント
  • C/C++やJavaを使ったプログラミングでのセキュアなコーディング標準についてWebサイトコンテンツとして提供していたり、書籍の紹介などがあります。
  • Webサイトだけでなく、C/C++/Javaでの様々な開発領域をカバーしています。

「JSSEC | 一般社団法人日本スマートフォンセキュリティ協会」

https://www.jssec.org/

紹介コメント
  • 「部会/WGからの報告・成果物」から、スマートフォンアプリケーションをセキュアに開発するためのコーディングガイドを参照できます。

書籍

書籍としては以下の2冊が、入門としておすすめです。

「体系的に学ぶ 安全なWebアプリケーションの作り方
脆弱性が生まれる原理と対策の実践」

http://www.sbcr.jp/products/4797361193.html

紹介コメント
  • Webアプリケーションの脆弱性の解説と、どうやって安全に作るか、が解説されてます。
  • 脆弱性が存在するPHPのサンプルコードを題材にして解説が進みますので、開発者に特に読んでもらいたい一冊です。

「暗号技術入門 第3版 秘密の国のアリス」

http://www.hyuki.com/cr/

紹介コメント
  • 暗号技術についての分かりやすい入門書で、SSL/TLSやHTTPSの仕組みについても解説されています。

組織的に取り組める教育サービスについて

組織的にセキュアプログラミング教育に取り組んだり、自分たちの組織にフィットしたガイドラインを策定したい場合は、弊社のeラーニングやガイドライン策定支援サービスをご検討ください。

「安全なWebサイト構築のための教育[eラーニング]」

https://www.securesky-tech.com/service/e_learning.html

「セキュア設計・開発ガイドライン策定支援」

https://www.securesky-tech.com/service/guideline.html

まとめ

今回は安全なWebサイトを構築する際に役立つ参考資料を紹介しました。

次回はまたHTTPプロキシツールの紹介に戻ります。
これまでBurpSuiteを使った説明をしてきましたが、WebサイトによってはBurpSuiteでは正常に接続できない場合が稀にあります。そのようなときは他のHTTPプロキシツール(例えば Fiddler: http://www.telerik.com/fiddler )を使うと接続できる時があります。
そこで Fiddler を使った場合のプロキシ設定や、脆弱性を再現するためのHTTPリクエスト改ざん方法について解説します。

次回もよろしくお願いいたします。

今までのコラム

Webセキュリティをざっくり理解するための3つのMAP

Page Top