blog

アプリケーションセキュリティに影響を与える 4 つの重要な要因

充実したセキュリティチームは、インシデントや悪用への対応を行うだけでなく、社内の情報システムチームと積極的に連携して、プロアクティブなソフトウェアセキュリティ体制を構築することができます。情報システム...

Oct 25, 2013 · 3 min. read
シェア

充実したセキュリティチームは、インシデントや悪用への対応を行うだけでなく、社内の情報システムチームと積極的に連携して、事前予防的なソフトウェアセキュリティ体制を構築します。情報システムとソフトウェアの安全なコードを構築するための効果的なアプリケーションセキュリティ手順は、通常、2つのタイプの自動化されたセキュリティテスト、すなわち、静的セキュリティスキャニングテストと動的セキュリティスキャニングテストに依存しています。

静的スキャンは通常、コード開発サイクルで行われ、脅威モデリングと分析を通じて静的コードをスキャンし、そこから脆弱性を見つけます。一方、動的スキャンは、本番環境で実際のコードをスキャンし、コードが動作している状態で脆弱性を探します。また、第三のタイプのテストとして、手動侵入テストがあり、これは、ホワイトハット分析を含み、人間の関与を必要とします。一般的に、効果的なアプリケーションセキュリティ対策は、3つのタイプのセキュリティスキャニングテストをすべて利用し、静的セ キュリティスキャンと動的セキュリティスキャンは、アプリケーション開発ライフサイクルの一部として利用し、侵入テストは、必要なときに 利用します。

効果的な自動コード・スキャン戦略は、IT 開発チームにとってできるだけシームレスでなければなりません。効果的な自動化セキュリティプログラムの重要な成功要因は、IT 開発チームの作業を最小限に抑えることです。サイクル内作業と事前予防的なセキュリティ対策の間には逆相関があります。サイクル外の作業が必要であればあるほど、セキュリティコードスキャンプロセスの展開と成功率は低下します。IT アプリケーション開発サイクル外のコードスキャニングは、通常、開発スケジュール外の時間を必要とし、歓迎されない追加作業とみなされます。さらに、プロセスのスケジューリングと追跡、およびステータスの維持には、余分な労力が必要です。

セキュア・コード・スキャニング・プログラムの展開を成功させるための主な障害は次のとおりです:

手作業によるスキャン:コードのスキャンには、コードをアップロードするための手作業が必要です。場合によっては、このスキャン作業をサポートするために、特別なコンパイルディレクティブや特別なビルドが必要になります。

手動プロセス:開発プロセスサイクル外でのコードスキャンには、スキャンスケジュールと再スキャンの期間に関するプロセスを確立する必要があります。このため、リマインダーを設定し、必要な日付にスキャンが完了するように、このプロセスを管理する専用のリソースが必要になります。

コードカバレッジ:テストには、「知らないことはテストできない」という古い格言があります。開発者がコードをアップロードすることを要求するアウトオブサイクル・テストは、静的コード・スキャンのために、開発者が正し いコードをアップロードすることに同じように依存します。すべてのライブラリと関連するコードがアップロードされていることを確実にすることは、アプリケーションを保守しているセキュリ ティチームにとって、不可能に近い仕事です。効果的なアプリケーションの静的および動的なコードスキャンプロセスには、4つの重要な要素があります。

--内部展開

-連続スキャン

-開発ビルドサイクルとの緊密な統合

-欠陥追跡システムとの緊密な統合

1.内部展開

内部で展開され、ソース・コード管理システムにリンクされたスキャナは、開発者がコードの検索や特別なコンパイルの実行、コードのアップロードに時間を費やす必要がなくなります。代わりに、開発者はソースコード管理ツリーでコードの正しい場所を選択するだけで、すべてのサブファイルが定期的にスキャンされます。オンプレミスのダイナミック・スキャン・ソリューションでは、スキャン・テスト・ベンダーが外部ツールを使用してテスト・サイトにアクセスできるようにファイアウォール・ルールを変更する必要がないため、ダイナミック・スキャンが簡素化されます。

2.連続スキャン

オンプレミスシステムは、継続的なスキャンを設定できるため、手動でコードをアップロードする必要がなくなります。また、オンプレミスシステムは、継続的なスキャンや定期的なスキャンを設定することも可能で、このオンプレミス設定により、組織はより頻繁にスキャンを行うことができるようになりました。

3.開発ビルドサイクルとの緊密な統合

ソース管理システムやビルド・システムと緊密に統合されたスキャナによって、コード・スキャニングは多くのソース管理システムやビルド・システムの機能を活用することができます。例えば、継続的ビルド統合を使用している先進的な開発チームは、開発者のビルドがメインのコードベースに統合またはチェックインされる前に、特定のテストに合格するようにビルドシステムを構成することができます。コードセキュリティスキャンテストは、これらの性能テストや単体テストの1つとして設定することもできます。

4.欠陥追跡システムとの緊密な統合

最新のソースコード管理システム及びビルドシステムのほとんどは、欠陥追跡システムとも緊密に統合されており、ソフトウエアの欠陥を特定のバージョンのコードに関連付けることができ、さらにその欠陥を特定のシステムビルドに関連付けることができます。コードスキャナの中には、既存の欠陥管理システムに自動的に欠陥を作成するものもあり、これによってアウトオブサイクル時間を短縮し、セキュリティ欠陥をチームの欠陥バックログにシームレスに統合することができます。

効果的な事前予防的アプリケーションセキュリティには、コードスキャンをアプリケーション開発サイクルにシームレスに統合することが必要であり、セキュリティスキャンが既存の開発プロセスのように機能すればするほど、開発チームによる導入と継続的な利用が成功する可能性が高まります。

Read next

PCは死んだのか?そんなことはない!

PCの死に関する報道は非常に誇張されており、誰もがタブレットを手に入れ、キーボードとマウスを捨てていると言われています。しかし実際には、PCはまだ広く使われています。だから、「PCは死ぬ」と言うのはもうやめにしませんか?ありがとうございました。

Oct 25, 2013 · 5 min read