失敗しないセキュアコーディング【後編】
安全なコードを書いただけでは「セキュアコーディング」にならないのはなぜ?
ソフトウェア開発ライフサイクルにおいて、リスクを削減、管理するために「セキュアコーディング」に取り組むことは重要だが、その方法を誤解してはいけない。コーディング以外にも注意すべきこととは。
「セキュアコーディング」は、ソフトウェアの安全を確保する上で欠かせない取り組みだ。だが文字通り「セキュリティを意識したコーディング」を指すと考えるのは誤りだ。セキュアなソフトウェアを実現するには、ソフトウェア開発とリスク管理のプロセス全体において、セキュリティを確保するための取り組みを実施することが鍵となる。前編「『セキュアコーディング』に取り組んでもセキュアにならない本当の理由」は「セキュア」という言葉の本質を探った。次に注目するのは「コーディング」という言葉だ。
コーディングだけを気にすればよいわけではない
併せて読みたいお薦め記事
連載:失敗しないセキュアコーディング
セキュアコーディングのヒント
もちろん、コーディングは重要だ。だが「セキュリティ」と同様に、コーディングはソフトウェア開発の大きな要素だとしても、ソフトウェア開発ライフサイクルの一部に過ぎない。セキュアコーディングにおけるコーディングは何を目指すのかを考えるには、ソフトウェアをどう設計するのか、どれほどの手順を費やすのかといったことを念頭に置く必要がある。ソフトウェア開発ライフサイクル(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
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
2
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
3
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
4
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
5
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
6
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
7
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
8
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
9
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
10
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー