HOME >> 情報セキュリティ >> 情報セキュリティ対策実践情報 >> ソフトウェア開発者向け

セキュリティエンジニアリング
- ソフトウェア開発者向けのページ

独立行政法人 情報処理推進機構
技術本部 セキュリティセンター
企画グループ
最終更新日 2012年 8月 9日

このページには、セキュリティエンジニアリングに関する情報を集約します。想定読者としては、主にソフトウェアやファームウェア(組込みソフトウェア)の開発に携わっているプロジェクト管理者、設計者およびプログラマを想定します。

security engineering

目次

 

1. セキュリティ脆弱性の低減

セキュリティ脆弱性を低減するためには、開発者は「どのような脅威が想定されうるのか?」、「どのように対策を施すことができるのか?」について深く考えながら実践する必要があります。

セキュア・プログラミング講座
この講座は、ソフトウェア開発の現場で働いている設計開発者向けおよび品質保証部門向けに、各種のセキュリティ脆弱性をもたらす脅威の構図を紹介しつつ、対策するための手法を紹介しています。

ソフトウェアライフサイクルプロセスに関する参考文献

  • JIS X 0160:2012, ソフトウェアライフサイクルプロセス
    (ISO/IEC 12207:2008 と同等)

 

2. セキュアプロトコルと相互運用可能性確保

インターネットアプリケーションを開発する際には、各種セキュアプロトコルについての知識が必要です。

インターネットセキュリティに関する RFC
RFC(Request for Comments)は、IETF(The Internet Engineering Task Force)におけるインターネット標準化活動によって公表される一連の公式文書です。セキュアプロトコルの実装を促進するため、インターネットセキュリティに関するRFCを掲げ、重要な RFCについてはを日本語に翻訳して提供しています。

アイデンティティ管理技術解説
広義のアイデンティティ管理技術の分野において、インターネットプロトコルが使われています。組織内のアカウント管理において使われるのみならず、インターネット上におけるユーザ認証、属性情報交換、アクセス認可においても多種多様なプロトコルが利用されます。

PKI 関連技術情報
PKI(Public Key Infrastructure)は、公開鍵基盤と訳されます。これは、「公開鍵(暗号技術)」による「基盤(インフラストラクチャ)」を表現しています。この技術に基づいてセキュアプロトコルを利用することによって、ネットワーク上で暗号化、デジタル署名、認証等、様々なセキュリティ機能を実現できます。

電子政府情報セキュリティ相互運用支援技術の開発
PKI アプリケーションを本番環境に近い環境で動作させるための環境と、PKI および GPKI の相互運用可能性問題の有無・内容を検証するツールを提供します。

セキュアプロトコルに対する攻撃法等に関する技術調査
主要なセキュアプロトコルである SSL/TLS、IPsec、SSH についての既知の攻撃法の網羅的な調査、ならびに SSL/TLS についてフォーマルメソッドを用いた検証を実施しました。

セキュアプロトコルに関する参考文献

  • Radia Perlman's IETF Security Tutorial, IETF (2010) (PowerPoint)
  • Radia Perlman's IETF Security Tutorial, IETF (2006) pdf
  • Radia Perlman's IETF Security Tutorial, IETF
    日本語仮訳(「ネットワークセキュリティプロトコル: 入門編」)(2004) pdf  (72KB)

 

3. セキュリティ機能の実装(API、フレームワーク等)

セキュア・プログラミング講座 2- J2EE -(151 ページ: 1,928KB)
Java 2 Enterprise Edition (以下、J2EE)のセキュリティモデルには、アクセスコントロールに関して抽象度が高い概念が導入されています。これらを十分に使いこなすためには、J2EE のセキュリティについて、Bean 開発者、アプリケーションアセンブラ、アプリケーションデプロイヤの観点から深く理解する必要があります。そこで、本講座は、J2EE のリファレンス実装の J2EE Standard Developer Kit を実際に使用しながら J2EE のセキュリティの理解を深めるための内容となっています。

セキュリティ API に関する技術調査
セキュリティ関連の API を利用するアプリケーション開発者に向けた、技術的なガイダンス情報です。既に多く提供されているセキュリティ API に関する一律的な概要紹介にとどまらず、最新の技術動向を踏まえて開発に直接役立つ情報を調査整理し、具体例としてサンプルコードを示しました。

本人認証技術の現状に関する調査
本人認証技術およびその周辺技術の現状に関して包括的な調査を行いました。個々の技術の関連を明らかにし、それぞれの技術がどのような要求に適用できるかをまとめ、現行の諸システムにおける問題点の指摘と、技術の適用方法に関する提言を行うものです。

プロジェクト

参考文献

4. セキュアな動作環境(開発環境・運用環境)

いわゆる「セキュア OS」や「組込み OS」等のオペレーティングシステムについて、特にアクセスコントロール機能の観点から、セキュアな動作環境について、技術調査・技術開発を行っています。

アクセス制御に関するセキュリティポリシーモデルの調査
セキュリティポリシーモデルとその数理論理学的な記述のサーベイです。セキュリティポリシーモデルに関する基本的な理論やその発展ならびに適用事例を調査し、体系的に提示することによって、システム設計や研究開発のための基礎情報を提供しています。

オペレーティングシステムのアクセスコントロール機能におけるセキュリティポリシーモデル (291KB)
1970年代に、多層的な権限を保証するセキュリティポリシーモデル(マルチレベルセキュリティポリシー)を実装し、セキュリティ評価の対象となることが想定された「トラステッド OS」の研究開発が始まりました。以降の四半世紀の間、様々なセキュリティポリシーモデルが提唱されてきました。今日、役割に基づくアクセスコントロール(RBAC: Role Base Access Control)が注目されており、いわゆる「セキュア OS」のみならず、Web アプリケーションにも実装されつつあります。

強制的アクセス制御に基づく Web サーバーに関する調査・設計
オペレーティング・システムによる強制的アクセス制御機構を有する Web サーバー・システムの実現を目指して、技術的な調査を行い、これを踏まえて求められる機能仕様をとりまとめました。

アクセス制御機構を有するセキュア WebDAV の開発
WebDAV の基本プロトコル仕様では定義されていないアクセスコントロール機構として、RBAC を適用したセキュアな WebDAV システムの設計と実装を行いました。

オペレーティングシステムのセキュリティ機能拡張の調査
12 のオペレーティングシステムのセキュリティ機能に関する概要とともに、SELinux と TrustedBSD の実装方法等について調査しました。

SELinux セキュリティ支援プログラムの開発
困難である SELinux のセキュリティポリシーの設定を容易にするための「セキュリティポリシー設定ツール」、 SELinux が出力するログを解析する「セキュリティログ解析ツール」、セキュリティポリシーの設定内容を監査する「セキュリティ監査ツール」を開発しました。

携帯電話 Java 環境におけるセキュリティ技術に関する調査
携帯電話端末組込み Java 環境におけるセキュリティ仕様の現状について調査しました。携帯電話端末を使ったアプリケーション開発における注意点等の情報を提供します。

参考文献

各オペレーティングシステムのセキュリティ関連情報

5. 使い易さとの両立

セキュリティ機能が、ユーザによって有効に使われるようにするためには、それが使い易くある必要があります。セキュリティ機能が利用可能な状態にありながら使われていない場合や、誤操作によるセキュリティ侵害が生じる場合、ユーザビリティの乏しさが原因である可能性があります。

参考文献

6. セキュリティイベント説明能力の確保

高トラフィック観測・分析法に関する技術調査
トラフィックの計測・分析技術に関して、実証実験および事例研究の成果を踏まえた展望を報告します。

未知ウイルス検出技術に関する調査
従来の手法とは異なるアプローチによる新種(未知)ウイルスの検出技術について、技術開発の現状を把握するとともに、有効な検出手法について分析・検討を行いました。

広域インシデント情報共有および分析技術の開発
IODEF標準案の実装技術、およびそれを申請者らの保有する既存のシステムに適用することによって、広域連携を前提とした「広域不正アクセス追跡システム」および「広域インシデント分析・警戒システム」を開発しました。

参考文献

  • ログの活用方法に関する調査
  • MACアドレスを用いたネットワーク利用者の不正通信検出システムの開発 -
    醍醐隆行,太田 耕平,キニ グレンマンスフィールド(株式会社サイバー・ソリューションズ)

security engineering

 

7. 「基準」

通商産業省(現: 経済産業省)告示による「基準」があります。

経済産業省告示による「基準」があります。

  • 「ソフトウエア等脆弱性関連情報取扱基準」 pdf

    「本基準は、ソフトウエア等に係る脆弱性関連情報等の取扱いにおいて関係者に推奨する行為を定めることにより、脆弱性関連情報の適切な流通及び対策の促進を図り、コンピュータウイルス、コンピュータ不正アクセス等によって不特定多数の者に対して引き起こされる被害を予防し、もって高度情報通信ネットワークの安全性の確保に資することを目的とする。」

     

8. 関連組織へのリンク

 

9. セキュリティエンジニアリング全般に関する参考文献