失敗しないセキュアコーディング【後編】
安全なコードを書いただけでは「セキュアコーディング」にならないのはなぜ?
ソフトウェア開発ライフサイクルにおいて、リスクを削減、管理するために「セキュアコーディング」に取り組むことは重要だが、その方法を誤解してはいけない。コーディング以外にも注意すべきこととは。
「セキュアコーディング」は、ソフトウェアの安全を確保する上で欠かせない取り組みだ。だが文字通り「セキュリティを意識したコーディング」を指すと考えるのは誤りだ。セキュアなソフトウェアを実現するには、ソフトウェア開発とリスク管理のプロセス全体において、セキュリティを確保するための取り組みを実施することが鍵となる。前編「『セキュアコーディング』に取り組んでもセキュアにならない本当の理由」は「セキュア」という言葉の本質を探った。次に注目するのは「コーディング」という言葉だ。
コーディングだけを気にすればよいわけではない
併せて読みたいお薦め記事
連載:失敗しないセキュアコーディング
セキュアコーディングのヒント
もちろん、コーディングは重要だ。だが「セキュリティ」と同様に、コーディングはソフトウェア開発の大きな要素だとしても、ソフトウェア開発ライフサイクルの一部に過ぎない。セキュアコーディングにおけるコーディングは何を目指すのかを考えるには、ソフトウェアをどう設計するのか、どれほどの手順を費やすのかといったことを念頭に置く必要がある。ソフトウェア開発ライフサイクル(SDLC)は大まかには以下の手順を踏む。
- 要件の特定
- 概念化
- 着手
- 要件収集
- 設計
- 開発
- テスト
- 展開
- サポート
- 保守
- 廃止
各手順はさらに下位手順に細分化される。例えば「テスト」の段階では、以下をはじめとする個別テストを実施する。
- 単体テスト
- 機能テスト
- 回帰テスト
- パフォーマンステスト
- セキュリティテスト
これらの手順のうち、コーディングだけに関係する手順と、コーディングとは無関係でも堅牢(けんろう)なソフトウェアを開発する上で欠かせない手順はそれぞれどれだけあるだろうか。つまりソフトウェア開発プロセスの各段階において、各関係者が実行するプロセス、受けたトレーニング、持っている意識といったさまざまな要因によって、リスクが増減する可能性は大いにある。リスクを管理、軽減した設計のソフトウェアを開発するには、これらの要因全てを考慮して、リスクの低減という成果を得るための行動を関係者に促さなければいけない。コーディングはソフトウェア開発プロセスにおいて目立つ手順だが、それだけを重視すべきではないということだ。
これまでの話をまとめると、ソフトウェアのリスク管理では、ソフトウェア開発ライフサイクル全体を扱う必要があると言える。そのためには2つのことを実施しなければならない。1つ目は、ライフサイクル全体を総合的に理解して考慮すること。2つ目は、開発以外の領域でも関連領域を対象として計画を立てることだ。以下に示す領域を取り込んで、それぞれの代表者を選任し、メンバーとチームが一体となってソフトウェアのセキュリティを向上させることが重要になる。
- テスト担当者
- ビジネスアナリスト
- プロジェクトマネジャー/プロダクトマネジャー
- サポート担当者
- 営業担当者
- マーケター
- 人事担当者
- 法務担当者
リスクとは、ソフトウェア開発プロセス全体の影響を受けるものであり、従来のセキュリティ対策で重視しがちだった領域よりも広い領域に影響が及ぶ。「目的は手段を正当化しない。その理由は単純かつ明白だ。使う手段によって結果の性質が決まるためだ」――。作家のオルダス・ハクスリー氏は、著作『Ends and Means』でそう述べた。言い換えると、何かをする方法によって最終的な状態が決まるということだ。この考え方をソフトウェア開発に当てはめると、まとまりがなく未熟でぞんざいな開発プロセスに従うと、規律が取れた堅牢な開発プロセスに従う場合に比べ、粗悪な設計かつ粗末な実装のソフトウェアが生み出されることになる。セキュアコーディングを実現するには、「セキュア」を上回る目標を定め、「コーディング」だけではなく開発プロセス全体を考慮する必要がある。
Computer Weekly発 世界に学ぶIT導入・活用術
米国TechTargetが運営する英国Computer Weeklyの豊富な記事の中から、海外企業のIT製品導入事例や業種別のIT活用トレンドを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly発 世界に学ぶIT導入・活用術
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社うるる] 「入札市場」攻略ガイド:効率的に落札するためのポイントを徹底解説 -
製品資料
[株式会社うるる] 入札情報に特化した「販路拡大」「効率化」のためのサポートツールとは? -
市場調査・トレンド
[株式会社うるる] 公共入札に成功する企業と失敗する企業の「5つの違い」 -
製品資料
[日本ビジネスシステムズ株式会社] 専門家が教える、Microsoft 365の「テナント統合/分離」を成功に導く秘訣 -
製品資料
[rakumo株式会社] Microsoft 365での情報埋没を防ぐ、社内ナレッジを資産化する情報ポータル活用
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
2
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
3
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
4
「テザリング依存」に潜む落とし穴 “遅いVPN”を解消するネット構築術
-
5
世界のデータセンター容量は5カ国に69%集中、電力消費「5%の壁」が招くものとは?
-
6
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
7
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
8
生成AIが普及しても「技術書」を手放せないエンジニアの本音
-
9
IBM iのブラックボックス化を打破 資産継承と進化を実現する「IBM Bob」の実力
-
10
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
7
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
8
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
9
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
10
「標的型攻撃メール」事例・サンプル集
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー