アプリケーションセキュリティの防衛計画を立てる:『ホーム・アローン』編
2022年12月20日
0 分で読めますホリデーシーズンは、お気に入りの定番映画を見返すのにぴったりの季節です!お涙頂戴のホリデー映画を好む人もいれば(Hallmarkの作品がそうですね)、1990年の名作ホーム・アローンで、8歳の少年が間抜けな悪党2人に仕返しする姿を毎年楽しみにしている人もいます。
8歳の子どもが、マイクロマシンやアイロンなど、いくつものドタバタな罠を使って、たった一人で自宅を2人組の強盗から守るなんて、考えるだけでも愉快です。しかし、企業が自社の資産(つまりアプリケーション)を攻撃者から守る状況は、ずっと現実的です。適切なアプリケーションセキュリティ対策を講じても、悪党の頭をバーナーで焼くほど愉快ではないかもしれませんが、さまざまな点でケビン・マカリスターの「防衛計画」に似ています。
そこでホリデーシーズンにちなんで、攻撃者を寄せ付けないための最善のアプリケーションセキュリティ「防衛計画」を立ててみましょう。

アプリケーションの「階」
ケビンの巧みな計画では、地下室、1階、2階のすべてに罠が仕掛けられていました。映画の中で彼は、あらゆる入口や部屋に対して抜け目のない作戦を考える必要がありました。ハリーとマーブ(強盗たち)がどこから家に侵入し、侵入後に何をするのか、予測できなかったからです。
同じように、優れたアプリケーションセキュリティ計画は、アプリケーションのあらゆる「階」、つまりソースコード、ソフトウェアサプライチェーン、インフラをカバーします。
ケビンは家のすべての階に巧妙で(ときには本当に悪辣な)罠を仕掛けただけでなく、それらが連動するようにも計画していました。マーブはタールが塗られた階段をよじ登り、靴を脱がざるを得ませんでした。その結果、釘を踏むのにおあつらえ向きの状態に!(ゾッとしますね。)ハリーは接着剤を塗ったラップにまんまと引っかかり、そのあと扇風機に足を引っかけ、羽毛を大量に浴びることに。羽毛は接着剤にぴったりくっつきました!ケビンのいたずらは見事に連動していたのです。
ケビンの罠と同様に、アプリケーションセキュリティ計画の各要素も連動させる必要があります。アプリケーションのある「階」で起きることはすべて、ほかの「階」でのセキュリティ対策と結び付けなければなりません。今日では、独自開発とオープンソースの両方を含むソースコード、クラウドインフラ、コンテナにおけるセキュリティ対策を連携させることを意味します。それぞれの「階」を見ていきましょう。
1階:ソースコード
自社で開発したおなじみのソースコードは、アプリケーションの最も基本的なレイヤーです。セキュリティを考慮して書かれていなければ、攻撃者にとって格好の侵入口になりかねません。
しかし、セキュリティチームが常にあらゆる場所に目を配ることはできません。そこで、防衛計画の一部を自動化する必要があります。ケビンが仕掛け糸で罠を自動的に作動させたように、チームは自動化された静的アプリケーションセキュリティテスト(SAST)を活用して、安全でないコードを見つけて修正できます。ソースコードを保護するには、定期的に静的アプリケーションセキュリティテスト(SAST)を実施することと、開発者を教育することの2つが必要です。ベストプラクティスを身に付けてもらい、開発の初期段階から安全なコーディングができるようにしましょう。

2階:ソフトウェアサプライチェーン
アプリケーションの2番目の「階」はソフトウェアサプライチェーンです。ゼロから作るのではなく、組み合わせてアプリケーションを構成するコンテナのベースイメージやオープンソースコンポーネントなどが該当します。ただし、ソフトウェアサプライチェーンのセキュリティ課題を修正するには、専門的な機能が必要です。コンテナに特有の脆弱性をスキャンするツールと、オープンソースのリスクを特定するツールを使う必要があります。また、どちらのツールも、資産を最も安全なバージョンに戻すなど、明確な修正手順を提示できなければなりません。

3階:インフラ
アプリケーションセキュリティに対する最善の包括的なアプローチを実現するには、クラウド環境やInfrastructure as Code(IaC)など、アプリケーションの構造を形作る要素について考える必要があります。ストレージにはどのクラウドサービスを使っていますか?適切な権限とアクセス制御が設定されていますか。それとも、アプリケーションを危険にさらす可能性がありますか?IaCもソースコードと同様に、安全に記述されていますか?
アプリケーションのインフラを保護するには、状況に応じたアプローチが必要です。クラウドエコシステムは単独で存在しているわけではありません。実際には、どのように使われるかはIaCに大きく左右されます。

防衛計画のすべての要素をつなげる
個別に見れば、どのツールも優れています。しかし、あえて「計画」と呼び、「計画の数々」とは呼ばないのには理由があります。個々のセキュリティ対策を連携させる戦略がなければ、検出した脆弱性の全体像を見落としてしまいます。分断されたツールは、セキュリティ対策で連携する必要がある開発者、セキュリティ担当者、クラウドアーキテクトにとっても課題となります。
Snykは、この課題に一元化されたプラットフォームで取り組み、ソースコード、オープンソース、コンテナ、クラウド、IaCという5つの領域をカバーしています。さらに、各領域を熟知する開発チームが主導できるよう、開発者向けトレーニングも提供しています。開発者向けセキュリティプラットフォームの詳細をご覧ください。もちろん、ひと休みして代わりに『ホーム・アローン』を観たい場合もご心配なく。戻ってきたら、ここでお待ちしています!

CTFを始めよう
オンデマンドのバーチャル入門ワークショップで、CTFチャレンジの解き方を学びましょう。



