さまざまな脅威に対抗
アプリケーションを「安全に開発する」ためのこつ 12ポイントで解説
アプリケーション開発を巡って、さまざまなセキュリティの「落とし穴」がある。セキュリティを強化し、安全なアプリケーションの開発につなげるにはどうすればいいのか。
セキュリティインシデントによるビジネス被害を防ぐために重要な取り組みの一つが、アプリケーション開発の工程においてしっかりしたセキュリティ対策を講じることだ。そのためにはどうすればいいのか。12ポイントに沿って分かりやすく解説する。
アプリケーションセキュリティのための12ポイント
1.要件を理解する
アプリケーションを開発する際には、そのアプリケーションの定義、機能、利用範囲、アクセスするユーザーなどを明確にすることが重要だ。このステップでは、アプリケーションを使用する全てのリソース(システム、ネットワーク、クラウドサービスなど)と、その依存関係を特定する。そのために、ソフトウェア部品表「SBOM」(Software Bill of Materials)を作成することが有効だ。
2.上級管理職の承認を得る
IT部門やビジネス部門の上級管理職にアプリケーションをレビューしてもらい、承認を得るとともに、アプリケーション開発に必要な予算を確保することが重要だ。
3.SDLCの各段階で「シフトレフト」を実践する
計画、設計、コーディング、テスト、保守を含むソフトウェア開発ライフサイクル(SDLC)で、セキュリティ対策を工程の早期(左側)へ移す「シフトレフト」のアプローチを取り入れる。早い段階からセキュリティを重視することによって、アプリケーションの脆弱(ぜいじゃく)性を軽減し、高品質なアプリケーションを迅速に提供することにつなげられる。
4.多層防御を実装する
アプリケーションのセキュリティは、多様な脅威に対処し、攻撃リスクを軽減するために設計されるべきだ。さまざまなセキュリティツールを組み合わせた「多層防御」を実装すれば、攻撃者がアプリケーションを侵害するために複数の壁を突破しなければならなくなり、セキュリティが向上する。
5.リスクを分析する
リスク分析によって、アプリケーションに影響を与えうるセキュリティリスクや脆弱性を特定する。分析はコーディングの前か本番環境への導入前に実施する。これによって潜在的なセキュリティイベントとその最悪の結末、単一障害点(SPOF)などを特定できる。定期的なリスク分析をスケジュールし、セキュリティ対策がリスクや脅威に対処し続けられるようにすることも重要だ。
6.セキュリティコントロールを実装する
アプリケーションの開発とリリース後の管理に、以下のセキュリティコントロールの施策を取り入れる。セキュリティを定期的に見直し、安全性の向上を図ろう。
- アクセスコントロール
- アプリケーションとそのデータへの不正アクセスを防ぐために、社内外を問わず全てのアクセス要求に対して認証を求める「ゼロトラストセキュリティ」を実装する。
- 認証
- アクセスを求めるユーザーが本人であることを確認する。そのためには多要素認証(MFA)を利用する。
- 認可
- アクセスを求めるユーザーがそのアクセスを許可されていることを確認する。役割ベースのアクセス制御を使用し、ユーザーの職務と責任範囲に応じて、必要なリソースのみへのアクセスを許可する。
- 是正
- セキュリティ問題を特定し、緩和する。これには、侵害が疑われるアプリケーションを遮断したり、パッチ(修正プログラム)を適用したりすることが含まれる。
- 検出
- アプリケーションが稼働中の場合、ファイアウォール、侵入検知システム(IDS)、アプリケーションスキャンツールなどを使用し、セキュリティイベントを特定する。
- 暗号化
- 入出力時、通信時、保存時など、あらゆる状態のデータを暗号化し、データ流出を防ぐ。
- ログ記録
- アプリケーションの活動を追跡する。これにより、疑わしいトラフィックや行動を特定できる。
- 予防
- ファイアウォールや侵入防止システム(IPS)を用いて不正アクセスをブロックする。
- セキュリティテスト
- ペネトレーション(侵入)テストを通じてアプリケーションの脆弱性を特定する。
7.セキュアなコーディング方法を使用する
新しいアプリケーションをコーディングする際や、既存アプリケーションを変更する方法を特定する際には、国際的に広く認知されたセキュリティ基準やガイドラインを使用してセキュリティを高める。例えば、米国立標準技術研究所(NIST)の「NIST Special Publication 800-53」や、ソフトウェアのセキュリティ向上を活動目的とする非営利組織Open Worldwide Application Security Project(OWASP)の「OWASP Web Security Testing Guide」がある。
8.APIセキュリティを向上させる
API(アプリケーションプログラミングインターフェース)はアプリケーション開発に欠かせない要素で、攻撃者から狙われやすい。APIはアプリケーションの重要な情報(プログラミングロジックやセキュリティ情報など)を含むため、APIのセキュリティを高めることが重要だ。
9.ログの保護と強力なモニタリングを実施する
データのログを不正アクセスを検出、防御するために、モニタリング(監視)が必要になる。強力なモニタリングは、疑わしい通信や潜在的なリスクを特定し、攻撃を防止することに有効だ。
10.インシデント対処計画を策定する
インシデント対処計画の策定は、疑わしい通信やその他のセキュリティイベントに迅速に立ち向かうために重要な取り組みだ。インシデント対処計画では、さまざまな手口の攻撃を想定し、インシデント対処チームの役割と責任を明確にする。演習も実施し、インシデント対処計画の改善点を洗い出す。
11.セキュリティ製品の更新をする
こちらには、ファイアウォールのルールの最新化、IDS/IPSのソフトウェアの更新、セキュリティソフトウェアの定期的なパッチ適用が含まれる。
12.AIの利用を検討する
AI(人工知能)はエンタープライズセキュリティ、特にアプリケーションセキュリティの重要な要素となっている。セキュリティ製品の中にはAIを組み込んで、脅威の検出や対処に活用するものがある。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget グローバルインサイト
米国Informa TechTargetが発信する記事を翻訳し、国内向けに分かりやすく紹介します。最新の海外動向や先進事例を取り上げ、グローバルなITトレンドを把握できる連載です。
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
9
AIで人を減らした企業がもう心変わり 「AIブーメラン現象」の実態
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー