理由の1つは「スコープ」(範囲)です。「アプリケーションの全機能を検査するのは、期間やコスト的にも非現実的であり、取捨選択した一部の機能のみを検査している可能性がある」(はせがわ氏)。
検査をする側は、一通りサービスを使ってみて流れをつかんだ上で「こことここを見ていきましょう」という具合に対象を取捨選択します。検査を受ける側も、重要ではないところは外して対象を決定するのですが、この結果「潜在的な脆弱性があるにもかかわらず、診断対象から外れるものもある」というわけです。
また、診断を行って報告書を作成したにもかかわらず、問題がすぐに修正されるとは限りません。例えば「年末キャンペーンがあるからあと1カ月だけ伸ばそう」とか、「次の定期メンテナンスのときに合わせて修正しよう」という具合に、一定期間リスクを許容するという選択もあります。
もう1つの要因は「いったん診断を済ませた既存の機能は、診断対象から外されがち」ということです。
最初は取り扱う情報も限定的な、シンプルなポイント管理システムでも、拡張していくうちにスマートフォンと連携したり、メールアドレスなどの個人情報とひも付けたり、決済機能を追加したり──という具合に機能が増えていくことは珍しくありません。これに伴って潜在的なリスクも変わってくるのですが、往々にして「検査するのは新しく作ったところだけで、バックエンドは見ないことになりがち」だといいます。この結果、思わぬ問題が発生するというわけです。
システム開発のスピードが上がり、APIを介して複数のサービスがつながり、時にIoTなどさまざまなデバイスがつながってくるいま、肝に銘じなければいけないポイントといえるでしょう。
ではこうした現状を踏まえ、どのように対策すればいいのでしょうか。「何も目新しいことはなく、愚直に、今までやってきたこと、ベストプラクティスを積み重ねるしかない」とはせがわ氏は述べます。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR