ペパボ研究所 研究員の野村(@Komei22)です。2018年9月19日から3日間に渡って開催された、第17回情報科学技術フォーラム(FIT2018)で、ペパボ研究所から2件の発表を行いましたので、論文とスライドと共に発表者が紹介します。
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
ペパボ研究所 研究員の野村です。私は「Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法」と題して発表をしました。
Webサービスでは、Webアプリケーションの脆弱性を利用してデータベースに不正クエリを発行し、機密情報を窃取する攻撃が発生します。 このような攻撃からWebサービスを保護するために、不正クエリを検知する対策が必要になります。
従来の不正クエリ検知方法として、開発者がWebアプリケーションが発行するクエリのホワイトリストを手動で作成する方法がありますが、Webアプリケーションの大規模化や複雑化が進むに伴い、ホワイトリストを作成することが困難になります。 また、Webアプリケーションは頻繁に更新され、発行されるクエリが変化するため、ホワイトリストの更新が必要となり、サービス運用者への負荷が高い対策となります。 この問題を解決するために、ホワイトリストを自動で作成する方法が提案されているのですが、Webアプリケーションが稼働した後、即時に不正クエリを検知できない課題や、Webアプリケーションの実装に依存しそれぞれに対して実装が必要となる課題が残されています。
本研究では、Webアプリケーションのテストを実行するときに発行されるクエリを用いて、ホワイトリストを自動作成する手法を提案しています。 提案手法は、開発プロセスを変更することなく、テストの段階でホワイトリストを作成できるため、開発者への負担を軽減しつつ、Webアプリケーションが稼働した後、即時に不正クエリを検知することができます。 また、データベースプロキシを用いて、テストを実行するときに発行されたクエリを収集するため、Webアプリケーションの実装に依存せず、共通の実装で複数のWebアプリケーションに適用できます。
実験では、提案手法によって、SQLインジェクション攻撃で発生した不正クエリを正常と判断した割合と、ブラウザからHTTPリクエストを行ったときに発生する正常なリクエストを不正と判断した割合を計測しました。 実験結果から、提案手法は、SQLインジェクションによって発生する不正クエリを全て検知できるが、一部の正常なクエリを誤検知してしまうことを確認しました。
今後は、ホワイトリストを用いた検知機構の実装を進めるとともに、正常なクエリの誤検知を低減するために、ホワイトリストに足りていない要素を補完する方法を検討したいと考えています。 また、今回実験に用いたWebアプリケーションは小規模なものだったので、より大規模なWebアプリケーションに適用し評価を進めたいと思います。
研究会予稿
スライド
ペパボ研究所 研究員/プリンシパルエンジニアの三宅(@monochromegane)です。 第17回情報科学技術フォーラム(FIT2018)で発表した、アクセス頻度予測に基づく仮想サーバの計画的オートスケーリングについて紹介します。
アクセス頻度予測に基づく仮想サーバの計画的オートスケーリング
Webサービスは、その提供するサービスの成長や利用者の動向によってアクセス頻度が変動することから、サーバ群の処理能力を随時変更可能なクラウドサービスと親和性があります。 一方で、クラウドサービスは使用する仮想サーバ性能に応じた単価に利用時間を乗じて利用料金が決まる従量課金が主流であることから、処理性能を保ちつつ必要最小限数の仮想サーバで運用し利用料金を抑制することがWebサービスの運営者にとって重要な課題となります。
そのため、クラウドサービス事業者は変動するサーバ需要に追従するための動的なキャパシティプロビジョニングを実現するオートスケーリング機能を提供しています。 オートスケーリングはリソース変動を契機とする反応的なもの、指定時刻や間隔を契機とする予測的なものがありますが、複雑化したWebアプリケーションにおいて適切なオートスケーリング契機の基準決定は困難です。また、反応的な手法の場合、仮想サーバ起動完了までの時間差も問題となります。
そこで本研究では、Web アプリケーション構成の複雑さに依存しない指標を用いて、利用動向の変動要因を加味した上で、クラウドサービスの利用料金を考慮したアクセス頻度予測に基づく仮想サーバの計画的オー トスケーリングを行いました。
提案手法では、1台あたりの仮想サーバが一定時間に処理可能なアクセス頻度であるスループット値を指標として用います。加えて、Web サービス運用者が経験的に把握しているアクセス頻度に影響を与える突発的な変動理由を要因として意味付けして学習に加えることで予測精度が向上することに着目し、時系列データを扱う ニューラルネットワークのうち、長期間の時系列に対して予測精度の高いLSTMを用いてアクセス頻度予測モデルを構築しました。 次に、予測アクセス頻度を元に仮想サーバ台数を算出し、指定時刻によるオートスケーリング機能の設定を更新します。
評価から、アクセス頻度以外の要因を考慮することで予測精度が向上すること、仮想サーバ台数を最小限に抑えつつ、仮想サーバごとの負荷が一定に保たれ安定かつ効率的に運用されることを確認しました。
今後について、Webサービス運用者の把握していない突発的なアクセス頻度の変動に対しても、リソース変動を契機とするオートスケーリングと組み合わせることで、より安定かつ効率的な運用を目指したいと思います。
研究会予稿
スライド
まとめ
第17回情報科学技術フォーラム(FIT2018)では、幅広い研究テーマに沿ってペパボ研究所から2件の発表を行いました。 今後も、第11回 インターネットと運用技術シンポジウム(IOTS2018)が鳥取で開催されますので、エンジニアの皆様もぜひご参加ください。
【PR】パートナー積極採用中!
ペパボ研究所では、新しいパートナーを求めています。詳細については、当研究所のトップページをご覧ください。