ご参加いただきました皆様、誠にありがとうございました。
脆弱性のない安全なプログラムを開発するために
~ソフトウエアの脆弱性が作りこまれる根本的な原因を学び、問題を回避する~
JPCERTコーディネーションセンターは、 Java 言語で脆弱性を含まない安全なプログラムをコーディングする具体的なテクニックとノウハウを学んでいただくためのセミナーを下記のとおり開催いたします。
従来のプログラミング教育は、基本的なアルゴリズムをどのようにコーディングするかが主なものでした。
Java は比較的セキュアなプログラミング言語ですが、その言語仕様や Java が備えるセキュリティ機構の限界を理解せず、セキュリティへの十分な配慮がなされない場合、予期せぬ脆弱性を含むソフトウエアが生まれます。
本セミナーは、経済産業省の委託によるソフトウエア等の脆弱性対策に関する事業の一環として、学生等の若年層に向けたセキュリティ人材育成を目的として実施いたします。
開催概要・お申し込み
お問い合わせ
ソフトウェアの脆弱性について
JPCERTコーディネーションセンターは、日本国内においては情報セキュリティ早期警戒パートナーシップにおける製品開発者との調整機関の役割を担い、また米国 CERT/CC や英国 CPNI 等との連携による国際的なネットワークを形成し、製品開発者によるソフトウエア製品の脆弱性対応を支援する活動を行っています。その活動を通じて、以下のような傾向があることが分かってきました。
- ここ数年、市場で発見され報告される脆弱性の数は、年間あたり7000件~10000件と非常に高い値で推移している。
- このうち実際に製品開発者と調整機関の間で脆弱性対応の調整が行われ、一般に公開することができた脆弱性はごく一部である。例として、CERT/CC が 2006年の一年間に収集した脆弱性の数は 8064件であるが、このうち実際に製品開発者と調整機関の間で脆弱性対応の調整が行われ、一般に公開することができた件数は、422件に過ぎない。
- 潜在的に市場に出回っていると考えられる脆弱性の数は、CERT/CC や JPCERT/CC等の調整機関が把握し、開発者と調整して修正できる件数を大幅に上回る。
脆弱性情報ハンドリングにより事後的に (対症療法的に) 個々の問題を解決することはできますが、これは根本的な問題解決にはなりません。
近年、情報家電や携帯電話などの普及にともない、これらのシステムの脆弱性を狙った攻撃が増加してきています。これらのシステムは様々な用途で使用されており、攻撃によって多大な被害が発生することもある一方で、今日の PC のようにセキュリティ対策が行われているとはいいがたく、また脆弱性の修正を事後的に適用することが困難なケースが想定されるため、そもそも製品開発者が脆弱性を製品に作りこまないことが非常に重要です。
開発段階における脆弱性対策としてはセキュアコーディングの導入が有効です。
開発で使用されるプログラミング言語に潜在するセキュリティ上の問題などを理解し、対策を打つことでシステムのセキュリティが強化できます。
JPCERT/CCでは、カーネギーメロン大学ソフトウェアエンジニアリング研究所CERT/CCと連携し、脆弱性を生まないための安全なコーディング、すなわちセキュアコーディングに関する知識・ノウハウの習得・蓄積を行っています。
これらの知識・ノウハウを、広く製品開発者に対して情報発信し、市場に出回る製品における脆弱性を減らすとともに、セキュリティに配慮した高品質なプログラミングのできる人材を育成し国内ソフトウェア産業の強化に寄与することを目的として、セミナーの実施、トレーニング教材の公開をしていく予定です。
- 参考資料
Java セキュアコーディングスタンダード CERT/Oracle 版
https://www.jpcert.or.jp/java-rules/ - 脆弱性対策情報 ポータルサイト JVN Japan Vulnerability Notes
https://jvn.jp/