失敗しないセキュアコーディング【後編】
安全なコードを書いただけでは「セキュアコーディング」にならないのはなぜ?
ソフトウェア開発ライフサイクルにおいて、リスクを削減、管理するために「セキュアコーディング」に取り組むことは重要だが、その方法を誤解してはいけない。コーディング以外にも注意すべきこととは。
「セキュアコーディング」は、ソフトウェアの安全を確保する上で欠かせない取り組みだ。だが文字通り「セキュリティを意識したコーディング」を指すと考えるのは誤りだ。セキュアなソフトウェアを実現するには、ソフトウェア開発とリスク管理のプロセス全体において、セキュリティを確保するための取り組みを実施することが鍵となる。前編「『セキュアコーディング』に取り組んでもセキュアにならない本当の理由」は「セキュア」という言葉の本質を探った。次に注目するのは「コーディング」という言葉だ。
コーディングだけを気にすればよいわけではない
併せて読みたいお薦め記事
連載:失敗しないセキュアコーディング
セキュアコーディングのヒント
もちろん、コーディングは重要だ。だが「セキュリティ」と同様に、コーディングはソフトウェア開発の大きな要素だとしても、ソフトウェア開発ライフサイクルの一部に過ぎない。セキュアコーディングにおけるコーディングは何を目指すのかを考えるには、ソフトウェアをどう設計するのか、どれほどの手順を費やすのかといったことを念頭に置く必要がある。ソフトウェア開発ライフサイクル(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
-
事例
[テクバン株式会社] 1画面でITサービスデスク業務が完結 太陽ホールディングスに学ぶデバイス管理 -
製品資料
[デジタルサーカス株式会社] ライセンス無料 Drupalベースの「多言語ECサイト開発用パッケージ」の実力は? -
製品資料
[デジタルサーカス株式会社] 日本発グローバル企業用Drupal「Risley(リズリー)」の実力とは? -
製品資料
[デジタルサーカス株式会社] Drupalサイト運用のリスク解消 潜在的なセキュリティ問題を迅速に発見する方法 -
製品資料
[株式会社ソースポッド] SCS評価制度への対応で工数が増大? 取得後の管理・運用をどう進めるべきか
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
2
OpenAIやAnthropicでさえ制御不能 2026年夏「3大サイバー攻撃」の衝撃
-
3
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
4
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
5
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
6
世界PC出荷数が20%急減 情シスを直撃するPC先行調達の反動と価格高騰
-
7
「レガシーシステム・老朽化システムの運用課題と刷新」に関するアンケート
-
8
セキュリティは「情シス任せ」が過半数 漏えい発生時やSCS評価制度の課題は?
-
9
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
10
326のIPアドレスで1200超のアクセス AIエージェント関与が疑われる攻撃の中身
ホワイトペーパーランキング PR
-
1
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
2
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
3
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
4
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
5
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
6
プログラミング不要で誰でも実現できる、ネットワーク運用管理の自動化とは
-
7
東大教授と考える、AI時代の「データ主権」「信頼性」「ガバナンス」の在り方
-
8
Linux初心者でも知らないとまずい「RHEL」「SLES」の違いとは?
-
9
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
10
生成AIの活用を阻む「5つの壁」とは? AIネイティブ組織へ変革を遂げる方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー