IT社会を、守る、育てる

セキュア・プログラミング講座〜ソフトウェア開発における脆弱性対策は上流工程から!〜

IPAでは、ソフトウェア開発に携わる開発部門および品質保証部門の方々に向けて、セキュリティの脆弱性をわかりやすく解説し、また開発成果物に脆弱性を含ませないための開発手法を紹介する「セキュア・プログラミング講座」を公開しています。

セキュア・プログラミング講座のねらい
テストや運用などの下流工程からセキュリティ脆弱性を発見するアプローチを採用した場合、下流工程までに多くの脆弱性が作り込まれ、もはや容易に修正ができなかったり、手戻りにより修正にコストや納期への影響が大きい事態になる危険性があります。よって上流工程から脆弱性対策を意識して開発を進めることが必要です。「セキュア・プログラミング講座」では上流工程からセキュリティ脆弱性を意識した開発を行うための開発手法を紹介しています。

セキュア・プログラミング講座が紹介する開発工程における脆弱性への対処
セキュア・プログラミング講座が紹介する開発工程における脆弱性への対処

セキュア・プログラミング講座の内容
現在のセキュア・プログラミング講座では以下の2つの講座を設けています。

  1. Webアプリケーション編
    (Webアプリケーションの開発工程と脆弱性対策の関係)
  2. C/C++言語編
    (C/C++言語によるソフトウェア開発工程と脆弱性対策の関係)

詳しい説明は以下のページをご覧ください。

イラスト 脆弱性は開発の上流工程から対策するのが有効

関連情報

安全なウェブサイトの作り方

安全なウェブサイトの作り方

IPAが届出を受けた脆弱性関連情報を基に、届出件数の多かった脆弱性や攻撃による影響度が大きい脆弱性を取り上げ、ウェブサイト開発者や運営者が適切なセキュリティを考慮した実装ができるようにするための資料です。

別冊:安全なSQLの呼び出し方

別冊:安全なSQLの呼び出し方

「安全なウェブサイトの作り方」の別冊として、SQLインジェクション対策が安全なものであるための要件を掘り下げて検討し、どの製品をどのように使えば安全なSQL呼び出しを実現できるのか、いくつかの具体的ケースについて示しています。

別冊:ウェブ健康診断仕様

別冊:ウェブ健康診断仕様

「安全なウェブサイトの作り方」の別冊として、危険度の高い脆弱性など13の診断項目について、検出パターンと、それに対応した脆弱性有無の判定基準が記載されています。

Web Application Firewall 読本

Web Application Firewall 読本

ウェブサイト運営者がWAFの導入を検討する際に、WAFの理解を手助けするための資料です。WAFの概要、機能の詳細、導入におけるポイント等をまとめました。

DNSキャッシュポイズニング対策

DNSキャッシュポイズニング対策

「DNSキャッシュポイズニングの脆弱性」の対策を促進することを目的としており、検査ツールの使用方法や、DNSの適切な設定方法に関する情報等をまとめています。

『新しいタイプの攻撃』の対策に向けた設計・運用ガイド

『新しいタイプの攻撃』の対策に向けた設計・運用ガイド

サイバー攻撃において、システム構築・運用者がとるべき対策・設計手法を纏めたガイドになります。WBSなど設計・構築に活用できる資料も含まれています。

ファジング活用の手引き

ファジング活用の手引き

「ファジング活用の手引き」は、ソフトウェア製品の脆弱性を検出する技術の一つである「ファジング」(*1)の概要から実践方法、および製品開発組織におけるファジングの活用方法などをまとめた手引書です。

ソースコードセキュリティ検査ツール iCodeChecker

ソースコードセキュリティ検査ツール iCodeChecker

ソースコードセキュリティ検査ツール「iCodeChecker」は、C言語で作成されたソースコードに脆弱性が存在しないかどうかを検査するツールです。

脆弱性体験学習ツール AppGoat

脆弱性体験学習ツール AppGoat

ウェブアプリケーションやサーバ・デスクトップアプリケーションの脆弱性の発見方法や対策について実習形式で体系的に学べる開発者向けの学習ツールです。利用者は、学習テーマ毎に用意された演習問題に対して、埋め込まれた脆弱性の発見やプログラミング上の問題点の把握や対策手法の学習を対話的に実施できます。