アプリ自体のセキュリティを高める
そのクラウドサービスのセキュリティは万全か? 最低限確認したいポイントとは
クラウドのアプリケーションが普及するに従い、セキュリティリスクも肥大化している。インフラだけでなくアプリ自体のセキュリティを強化し、脆弱性を防止するため方法を紹介する。
昨今、クラウドベースのアプリは広範囲に普及し、目覚しいスピードで増え続けている。これらのアプリはインターネット経由でアクセス可能であり、どこでも、誰でも使用できることから、セキュリティは非常に重要となる。クラウドベースのアプリを作成・管理する企業は、アプリを構成する全てのレイヤーが安全であることを保証しなければならない。アプリのユーザーは、その安全性が頼りなのだ。
例えば、米GoogleのGmailが悪意のある攻撃者によってハッキングされ、ユーザーの電子メールの内容が読み取られた場合にどうなるか想像してみよう。Googleには非常に悪い評判が立つだろうが、それだけでなく、ユーザーはすぐに別の電子メールを探し始めるだろう。結果として顧客を失い、最終的にはお金も必然的に失うことになる。また、ハッカーがGmailのセキュリティ上の脆弱性を悪用していたことが判明し、そしてそのセキュリティホールがあらかじめ確認されていれば悪用を容易に防げたことが明らかになったら、ユーザーはどういった反応を示すだろうか? これは少々大げさな例だが、このような状況は日常的に起こっており、企業は手遅れになる前に、セキュリティ侵害を防ぐための適切な対策を打つことが極めて重要になる。
本記事では、クラウドベースのアプリのセキュリティを最大限に強化し、セキュリティ侵害を防ぐために企業が採用できる3つの異なる戦略について説明する。
セキュリティの脆弱性を発見し修正する
クラウドベースのアプリのセキュリティを確保するための最初のアプローチは、可能な限り多くの脆弱性を見つけて修正することだ。アプリのセキュリティ上の脆弱性を探す方法は数多く存在する。例えば、手動または自動ソースコードレビュー、汚染解析、Webスキャン、ファズテスト(※1)、フォールトインジェクション(欠陥注入)テストやシンボリック実行など。しかしながら、Webアプリのソフトウェア脆弱性を見つける場合は、これらの手法の全てが同じように適用できるわけではない。クラウドベースのアプリでは、アプリ自体の脆弱性だけでなく、OSやハイパーバイザーのような下位レイヤーの脆弱性の両方を考慮しなければならない。そのため、侵入テストサービスを採用してアプリをチェックし、検出されたあらゆる脆弱性に関するセキュリティ報告書を作成することは、常に有効な良い方策だ。
※1 ファズテスト(fuzz testing/fuzzing):ランダムな不良データ(ファズ)を用いて、プログラムを攻撃し、どこに障害が発生するかを調べるテスト。
セキュリティ検査を実施した後でも、ゼロデイ攻撃に対する脆弱性が存在する可能性について考慮しておくことが重要だ。しかし、検査の過程で、大部分の危険度の高い脆弱性は排除されるものである。
セキュリティの脆弱性の悪用を防ぐ
クラウドアプリのセキュリティを最強にするための第2の戦略は、アプリの新しい脆弱性を発見するのではなく、既存の脆弱性が悪用されるのを防ぐことだ。こうした悪用を防止するための技術やツールが幾つかある。
ファイアウォール
ファイアウォールは、非武装地帯(DMZ)との境界の特定ポートへのアクセスをブロックするために使用する。これで、攻撃者がインターネットから、または別のDMZから脆弱なアプリにアクセスする攻撃を防ぐことができる。
不正侵入検知(IDS)/不正侵入保護(IPS)
IDS/IPSを使用して既知の攻撃パターンを探し出し、攻撃が対象のアプリに到達する前にブロックすることができる。
Webアプリケーションファイアウォール(WAF)
WAFは、アプリケーションレイヤーでの悪質なパターンを探すために使用でき、SQLインジェクション、クロスサイトスクリプティング、パストラバーサル(パスの乗り換え)のような脆弱性を検出することが可能だ。WAFには、ブラックリスト方式、ホワイトリスト方式の2種類のソフトウェアがある。ブラックリスト方式のWAFが既知の悪質なリクエストだけをブロックするのに対し、ホワイトリスト方式のWAFは、デフォルトで全ての疑わしいリクエストをブロックする。ブラックリスト方式では、ブラックリストに存在しないリクエストでも、WAFを完全にバイパスしないようにクエリを再構築するのは簡単だ。ホワイトリストの方が安全だが、全ての有効なリクエストを手作業でプログラムしなければならないため、設定に多くの時間を必要とする。企業がWAFの構築に時間を投資する用意がある場合、WAFは最終的により強固なものになるだろう。NginxのWebサーバを運用している企業は、オープンソースのNaxsi Webアプリケーションファイアウォールをホワイトリスト方式として使用し、アプリを保護することを検討すべきだ。
コンテンツ配信ネットワーク(CDN)
CDNは、インターネット経由で複数のデータセンターを介してコンテンツを配信し、Webページをより速くロードするためにドメインネームシステム(DNS)を使用している。ユーザーがDNSリクエストを送信すると、CDNはユーザーの場所に最も近いIPアドレスを返す。これは、Webページをより速くロードできるだけではなく、トラフィックはCDNを通って流れるため、結果的にシステムをサービス妨害(DoS)攻撃から保護している。通常、CDNはWAF、電子メール保護、稼働時間とパフォーマンスの監視、Googleアナリティクスなど、他の保護メカニズムも持っており、これらを使用することもできる。
認証
2要素認証のメカニズムを可能な限り採用すべきだ。クラウドアプリへのログインに、ユーザー名とパスワードの組み合わせだけでは巨大な脆弱性となる。攻撃者はソーシャルエンジニアリング攻撃を通じて、この情報を収集できる可能性があるからだ。また、攻撃者はパスワードを推測したり、ブルートフォース攻撃(※2)で強引に解析したりすることも考えられる。なお、シングルサインオン(SSO)も、生産性を向上させると同時に、セキュリティを保持しつつ、全てのユーザーに適切なアクセス権を持たせることを保証する。
※2 ブルートフォース攻撃(Brute Force Attack):力ずくで暗号を解読して、パスワードを取得する攻撃手段のこと。Brute Forceとは「力ずくで、強引に」という意味。
悪用による被害を局所的なものにする
クラウドアプリに対するセキュリティ攻撃の被害を最小限にとどめるために、クラウドサービス事業者(CSP)がとり得る手段は幾つかある。
仮想化
危険にさらされたアプリが与えるダメージを仮想環境のインフラだけに限定することでセキュリティを強化できる。だが、アプリを独自の仮想環境で実行するということは、企業や組織が稼働中の全てのアプリ用にOSを用意する必要があることを意味する。これは全くのリソースの無駄遣いであり、コンテナの人気がとても高くなっているのはこのためである。コンテナは、本格的な仮想化レイヤーを必要とせずに、システムの残りの部分からアプリを隔離することができるソフトウェアコンポーネントである。代表的なコンテナとして、Linuxコンテナ(LXC)やDockerが挙げられる。
サンドボックス
ハッカーがバックエンドシステムへアクセスできても、アプリに対する攻撃の影響はサンドボックス環境内に限定される。そのため、OSへアクセスする攻撃を仕掛けるにはサンドボックスを突破する必要がある。LXCやDockerなどさまざまなサンドボックス環境が利用できる。
暗号化
社会保障番号やクレジットカード番号などの重要な情報をデータベースに格納する際には、適切に暗号化しなければならない。アプリが暗号化をサポートしていれば、企業は既に暗号化された形態でデータをクラウドに送信することになる。
ログの監視/セキュリティ情報イベント管理(SIEM)
攻撃が発覚した場合、攻撃がどこから来たのか、背後にいる攻撃者は誰か、いかにして問題を軽減するか、これらのことを迅速に判断するためのロギングシステムやSIEMを用意しておくとよい。
バックアップ
適切なバックアップシステムは、何かがうまくいかなかった場合に非常に重要となる。正常に稼働するバックアップシステムを構築することは簡単ではなく、間違いなく運用するにはかなりの時間が必要だ。このため多くの企業は、バックアップのプロセスを外部委託することを選択する。
結論
データをオンプレミスではなくクラウドに保持する場合、解決しなければならない新たなセキュリティ上の課題が多く存在する。だが幸いなことにこれらの課題を解決しやすくする方法もたくさんある。アプリの脆弱性を見つけて修正することは、脆弱性の悪用を防ぐことと同様に重要であり、また、悪意のある攻撃をブロックする適切な防御メカニズムを持つことと同じく、欠かすことのできないものでもある。
これまでに述べたように、クラウドベースのアプリを保護するには多くの方法があるが、適切にセットアップするには時間と労力が必要になる。こうした制約があるため、企業は多くの場合、投資に対するリターンをすぐには見いだせず、セキュリティの重要性を軽視しがちだ。実際問題として、セキュリティはアプリのインフラが危険にさらされて初めて重要視されることが多い。しかしながら、そもそもアプリのセキュリティを強化し、脆弱性を防止するための適切な手順を取り、万が一、脆弱性が悪用された場合の対策を用意しておくことは、クラウドアプリ環境の成功とセキュリティのみならず、組織全体の活力にとっても、極めて重要である。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
新着ホワイトペーパー PR
-
製品資料
[NTTPCコミュニケーションズ株式会社] 「回線速度不足」だけが原因ではない? Web会議の遅延を解決する方法とは -
製品資料
[東京エレクトロン デバイス株式会社] 工場の可用性向上に重要な「7つの領域」と対策 OTセキュリティ強化の基礎知識 -
製品資料
[リコージャパン株式会社] 問い合わせ対応で本来の業務が進まない、総務や情シスの負担をどう減らす? -
製品資料
[リコージャパン株式会社] 自社データから高精度な回答を生成、簡単に生成AIチャットボットを構築する方法 -
技術文書・技術解説
[アトラシアン株式会社] IT運用や従業員サポートは生成AIでどう変わる? 使い方や導入の流れは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
全社標準Copilotに絶望? MS Copilotで問い合わせ6割減できた企業は何が違った
-
2
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
3
「AI活用を前提とした業務PCへの移行」に関するアンケート
-
4
「データストレージの活用方法」に関するアンケート
-
5
身代金支払いは逆効果 情シスのためのランサムウェア対策ガイド2026
-
6
多要素認証導入済みでもランサムウェア被害に 復旧費用は平均2億7000万円
-
7
DXを阻む「動くだけ」のレガシーシステムに決別するための生成AI活用術
-
8
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
9
「ITインフラとデータ保護・バックアップ対策」に関するアンケート
-
10
自社を守る「SCS評価制度」活用法 7割の企業が取引先起点の情報漏えいに直面
ホワイトペーパーランキング PR
-
1
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
4
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
5
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
「スクラム」と「カンバン」の違いとは? アジャイル型開発手法を徹底比較
-
8
AI時代に成功するための「ナレッジマネジメント」ベストプラクティス
-
9
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
10
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー