カットオーバー直前の監査は逆効果
ソフトウェアのセキュリティ対策は開発プロセス上で行うべし
ソフトウェア開発の各工程でセキュリティの検証および修正作業を徹底すれば、解析の価値と効果を高められる。
セキュリティのためのコード監査には、1つ大きな問題がある。この監査によって解決される問題よりも、引き起こされる問題の方が多くなりがちなことだ。
1回の監査調査ですべての問題を洗い出そうとすると、開発者を途方に暮れさせることになる。開発チームに、既知の問題がずらりと並んだリストを提供するだけで、実際の改善にはほとんどつながらないという結果になりやすい。
実際、ソフトウェア開発ライフサイクル(SDLC)の終わり近くに監査ツールを使い、潜在的な問題が大量に検出されると、プロジェクトマネジャーは、そのコードを修正するためにプロジェクトを遅らせるか、コードをそのままにした状態で市場にリリースするかを判断しなければならないという苦しい立場に立たされる。
しかも、既知の脆弱性がある製品を市場にリリースすると、企業は非常に深刻なリスクにさらされる。脆弱性が1つでも悪用され、その脆弱性が以前に検出されていたにもかかわらず修正されていなかったという確かな証拠がある場合、企業は多大な金銭的代償を払うことになるだろう。管理の在り方を厳しく糾弾されることは言うまでもない。
集中管理型のポリシーベースのセキュリティアプローチを取れば、セキュリティ脆弱性を防ぐことができる。なぜなら、開発プロセスの最終段階でセキュリティの確保を図るのではなく、企業が求めるセキュリティ要件に沿ってコードが作成されていくからだ。ポリシー管理、ワークフロー管理、ワークフロー最適化を利用して、開発プロセスの中で、自動化されたセキュリティ対策を進めることで、開発チームはプロジェクトの進ちょくやチームの生産性に支障をきたすことなく、コードのセキュリティを大幅に向上させることができる。
例えば、静的解析は開発リソースの消耗を招く傾向があり、静的解析をSDLCの後半に監査として行うと、この傾向に拍車が掛かるばかりだ。静的解析を行うタイミングがSDLCの中で後の方になるほど、検出された問題に関連するコードを開発担当者が覚えていて、問題を素早く理解して修正できる可能性は低くなる。開発プロセスの中でのセキュリティ対策として「各開発工程の作業とできるだけ近いタイミングでセキュリティの検証および修正作業を行う」ことを徹底すれば、解析の価値と効果を高められる。
こうしたセキュリティ対策の一環として静的解析を行うことで、以下の2つの明確なメリットが期待できる。
開発者がより良いプログラミング習慣を取り入れるようになる
潜在的なセキュリティ問題を修正するための作業が、開発者がコードで実現しようとしていたこととの関連においてより良く理解される。このため、開発者が自分の失敗から学び、最終的に習慣として安全なコードを作成するようになる可能性が高い。
開発者が問題をより迅速かつ容易に修正できる
開発者は、問題が報告されたときにコードをまだ新鮮に記憶していれば、そのコードについて、「どのような動作を意図していたか」「記述の仕方はどのような理由で選んだか」「セキュリティ要件を満たすように変更を加える場合、どのような影響を考慮しなければならないか」などを思い出そうとして時間を浪費せずに済む。当然のことながら、同じ問題を何週間も何カ月も後になって知ると、同じ結果に到達するのにはるかに多くの労力が必要になる。
開発プロセスの中でのセキュリティ対策の要となるのが「ポリシー管理」だ。ポリシーに関する企業の目的の整合性を損なうことなく、個別プロジェクトごとに簡単にポリシーを構成することや、個別プロジェクトのポリシーと全社的ポリシーの両方を簡単に展開/更新すること、迅速な問題調査と報告のためにそれらの適用を自動化することが可能でなければならない。
一連のポリシーを注意深く定義し、実装すれば、開発者の持つ関連するセキュリティIQの向上につながるナレッジベースが構築される。
策定したポリシーを適用する上では、「ワークフロー管理」が必要になる。ワークフロー管理では、開発生産性を高め、持続可能なプロセスの基盤となるワークフローの定義、自動化、監視が行われる。
また、品質ポリシーに関する作業は、静的解析プロセスを持続可能でスケーラブルなものにし、チームの既存ワークフローの不可欠な部分としてうまく組み込めるように最適化しなければならない。自動化、反復性、一貫性が実現されないと、企業が展開しようとする品質への取り組みは効果が落ちてしまう。
ワークフローを最適化する方法の1つは、「セキュリティのための静的解析を、メトリクス分析やピアコードレビューなどほかの分析とともに行う」ことだ。そうすれば、より厄介な、あるいはより複雑なシナリオにまず重点的に取り組ませることで、開発者の時間をより有効に活用できる。
例えば、コードの特定部分が高い循環的複雑度を持ち、深刻度の高いセキュリティ問題も抱えていることが分かれば、そうした大きく複雑な問題の対策に開発者を動員することが先決となるだろう。実際、これは、ピアコードレビューで議論されるべき事項に集中的に対処するのにコード解析が役立つことを示す格好の例だ。
ワークフローの最適化方法には、ほかにも次のようなものがある。
- 報告された各問題への対処を、問題個所を担当した開発者に直接任せるとともに、ポリシーに規定された優先順位に応じて問題の優先順位を設定する:
これにより、重大な問題への対処がタイムリーに行われる - 集中型の構成管理を行う:
これにより、ルールセットが一貫して適用され、優先事項やプロセスの変化に合わせて簡単に更新できる - 自動リファクタリングをなるべく使用する:
これは、チームができるだけ早くルール違反を正すのに役立つ
本稿筆者のウェイン・アリオラ氏はParasoftの戦略担当副社長として、事業開発チームとSOA/Webソリューションチームを統括している。ハイテクおよびソフトウェア開発業界の戦略コンサルティングを15年経験している。Parasoftで働く前はFasturnで事業開発担当シニアディレクター、PricewaterhouseCoopersで主席コンサルタントを務め、後者では戦略改革業務のリーダーとして認められていた。カリフォルニア大学サンタバーバラ校でBA、インディアナ大学でMBAを取得。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
新着ホワイトペーパー PR
-
製品資料
[LRM株式会社] 「標的型攻撃メール」事例・サンプル集 -
製品資料
[LRM株式会社] セキュリティ教育はなぜ「年間計画」を立てる必要があるのか? -
製品資料
[LRM株式会社] セキュリティの重要性が伝わらない…… 効果がない社員教育から脱却する方法 -
製品資料
[LRM株式会社] 「標的型攻撃メール訓練」導入ガイド 社員の意識を確実に高める仕組みの作り方 -
事例
[株式会社マクニカ] アイカ工業に学ぶ脆弱性対策 情シスが把握できずにいたアセットも正確に把握
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
2
「VMware離れ」は本当か 3000社がVCF 9にかじを切った現実的な理由
-
3
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
4
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
5
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
6
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
7
AI全部入り「Microsoft 365 E7」に企業が二の足を踏む訳 移行意向はわずか4%
-
8
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
9
なぜOpenAIやAnthropicのAIは「脱走」したのか 情シスが迫られるエージェント統制
-
10
エンジニアが選考を辞退する本当の理由 7割が隠す“面接の違和感”とは
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
3
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
4
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
7
PostgreSQLの「機能」「性能」「運用」「拡張性」に関する悩みの解消法
-
8
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
9
Macの安全神話は崩壊? 最新の脅威動向から見えた攻撃のトレンドと有効な対策
-
10
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー