情報セキュリティマネジメントSummit
2019 Winter Review

開催日:2019年12月4日 会場:ホテル雅叙園東京

東陽テクニカ

運用前のインシデント対策とは

情報漏えいに関しては、これまで多くの事件が起き対策が進んでいる。そのため原因は、内部犯や設定ミスなどによる人的要因が多いと思うかもしれない。しかし、実はWebアプリケーション攻撃によるものが一番多い。Webアプリの攻撃を防ぐ最適な方法として東陽テクニカの北條氏が推奨するのが、運用前のインシデント対策だ。
※ IPA発行『情報セキュリティ白書2019』

東陽テクニカ ソフトウェア・ソリューション 課長 北條 哲 氏 東陽テクニカ ソフトウェア・ソリューション 課長 北條 哲 氏

東陽テクニカ

ソフトウェア・ソリューション
課長

北條 哲

Webアプリケーション攻撃には脆弱性対策が必須

 Webアプリからの情報漏えいの攻撃例には、改ざんされたWebサイトに誘導してマルウエアをダウンロードさせる「水飲み場型攻撃」や「ドライブバイダウンロード攻撃」などがある。これらは、CMS(Contents Management System)の脆弱性を突いてWebサイトを改ざんするケースが多いため、知らないうちに加害者となる可能性もある。北條氏は、「エンドポイントで対応していても、未対応の攻撃には対抗できません」とまず警告する。

 もう一つが、Webアプリからの情報漏えいだ。代表的な攻撃がDBにアクセスし情報を窃取するSQLインジェクションや、cookie情報を利用した不正アクセスなどをするクロスサイトスクリプティングである。これらは、Webアプリの脆弱性対策を行っていれば防御可能の攻撃だ。

 多くの企業では多数のセキュリティ対策製品を利用しているが、これらは役に立たないのだろうか。各製品は多層防御の考え方で、それぞれの領域で防御している。たとえば、暗号化通信は盗視リスクの低減、ファイアウォールは接続リスクの低減、IPS/IDSは侵入リスクの低減、WAFは攻撃データリスクの低減という具合で、それぞれの役目しか果たさない。では、WebアプリにフォーカスしたWAFはどうか。北條氏は、「たとえばストアドクロスサイトスクリプティングは、攻撃を仕掛ける段階では問題なく、いったんDBに書き込まれた後、それを基に操作することで発生します。2段階の攻撃になるため、WAFでは検知が難しい。それを防止するには、攻撃ロジックそのものの防御が必要です」と語る。つまり、本質的にはWebアプリの脆弱性を塞がなければ対策はできないのだ。

なぜWebアプリ攻撃に対して脆弱なのか

多層防御を行っていても、Webアプリの脆弱性が残っていれば攻撃を防げない

画像を拡大する

運用前のロジック修正を可能にするIAST

 では、いつ脆弱性対策を行うべきか。インシデント対応プロセスでは、インシデントが発生してからの対応を規定しており、インシデントの発生そのものを抑えることを考慮していない。北條氏は、「Webアプリのロジックそのものを修正しないと本当の意味での脆弱性対策にはならないので、運用前に対策を行う必要があります」と語る。

 一般的な開発は、設計、実装、テスト、リリースというプロセスで行われる。セキュリティ要件を考慮した開発では、設計時にアクセス権や認証などに関するセキュリティの基本方針を決定し、それに基づいて実装する。その後、確実に実装されているかを脆弱性診断で確認し、脆弱性が発見される場合は対策を行い、最終テストを実施。リリースという運びになる。しかし、開発現場によっては、設計時のセキュリティ要件の検討が十分に行われずに開発工程が進み、テストの後に脆弱性を診断するケースがある。なぜなら、開発部門のセキュリティスキルが十分でなく、セキュリティ設計の妥当性が判断できないからである。北條氏は、「十分にセキュリティ設計の妥当性を検証する余裕がありません。ただ出荷前にはセキュリティリスクを担保したいので、外部の脆弱性診断サービスは行います。しかし、リリースが目前に迫っていると、本当にクリティカルですぐに対策ができるもの以外はあまり対策されないことも多い。特にロジックに関わる脆弱性は設計からやり直す必要があり、なかなか対策されません」と語る。

 では、より強固な脆弱性対策を実施するにはどうすればいいのだろうか。開発部門に高度なセキュリティスキルを持つ人材を確保できないとすれば、高度なスキルがなくても脆弱性診断をし、対策をできればよい。そのためのソリューションとして北條氏が提案するのが、「IAST(イアスト)」である。

スキル不足や時間不足を補いセキュアプログラミングを実現

 IASTは、開発中にできる脆弱性診断ツールだ。通常の脆弱性診断では動作結果の報告はするが、ソースコードは見ていないので原因までは分からない。オプションでソースコード診断を行うこともできるが、時間も費用もかかる。その点IASTは、機能テスト環境にエージェントを組み込むだけで、テストで実行された機能をインタラクティブに脆弱性診断をし、コードの問題箇所とセキュアコーディング情報を提示する。「セキュリティスキルの高くない開発者でも簡単に利用できます」(北條氏)

 IASTの一つは、イスラエルのセキュリティ企業Checkmarx社が提供している。同社は、Gartner社のリポートで高評価を得ており、ソースコード診断で定評がある。開発工程全体で脆弱性対策ツールを用意しており、主力商品はソースコード診断をする脆弱性診断ツール「Cx SAST(シーエックスサスト)」だ。また、「CxOSA(シーエックスオーサ)」は、オープンソースのリスク解析を行う。

開発工程全体で脆弱性対策ツールを用意

Checkmarx社は、DevOps内の開発工程全体で脆弱性対策ツールを用意している

画像を拡大する

 前述のIASTの機能製品「CxIAST」は、開発中に実施できる脆弱性診断。開発者に対しセキュアプログラミング情報を提供する。その特徴は次の5つ。①機能テストを実行中に自動的に脆弱性を診断し結果を報告。②問題箇所をソースコードレベルで指摘し対策を提示。ソースコード修正例を表示するので、すぐ修正できる。③呼び出されるサードパーティライブラリの問題箇所も指摘。「バイナリデータをデコンパイルしてソースコードを解読するので、ソースコードを所有していない外注先が制作したライブラリ内部の脆弱性まで可視化します」(北條氏)。④唯一完全にSASTと連携。CxIASTは動作した結果判明する脆弱性を検出するので、重複する脆弱性は特に重要性が高いことが分かる。⑤脆弱性診断ルーチンのカスタマイズ。「カスタマイズで診断精度を向上できます。独自の脆弱性診断ルーチンも制作可能です」(北條氏)

 CxIASTで脆弱性診断を実施するには、CxIASTサーバを用意し、Webアプリにエージェントを仕込むだけで準備が完了。診断はツールが自動で行うので、テスターが診断を行うためのキックとしてWebアプリを使用すればよい。

 利用シーンとしては、QA部門による機能テストに加え、ステージング環境での動作チェックがある。北條氏は、「検証中に仕掛けておいて、裏で同時に脆弱性診断ができると非常に費用対効果が高くお勧めです」と語る。

 最後に北條氏は、「インシデント対策にはアプリ自体を安全にすることが重要です。自動的に脆弱性を診断するIASTを活用して、スキルと時間の不足を解決してください」と語った。

お問い合わせ先

情報セキュリティマネジメントSummit
2019 Winter Review

- INDEX -

お問い合わせ先

株式会社東陽テクニカ

お問い合わせURL

URL ● https://www.toyo.co.jp/ss/

お問い合わせはこちら

このページのトップに戻る