ペパ研 研究会 運用技術

第11回インターネットと運用技術シンポジウム(IOTS2018)で研究発表をしました

ペパ研 研究会 運用技術

ペパボ研究所 研究員の野村(@Komei5296)です。2018年12月6日と7日に米子コンベンションセンターで開催された、第11回インターネットと運用技術シンポジウム(IOTS2018)で、研究発表を行いましたので紹介します。

Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法

Webサービスでは、Webアプリケーションの脆弱性を利用してデータベースに不正クエリを発行し、機密情報を窃取する攻撃が発生します。 ここでいう不正クエリとは、攻撃によって生じる開発者の想定外のクエリのことを指します。 このような攻撃からデータベース上の情報を保護するために、不正クエリを検知する方法が必要となります。

不正クエリを検知する方法として、Webアプリケーションが発行するクエリを手動でホワイトリストに登録し、そのリストに合致しないクエリを検知する方法があります。 しかし、この方法は、大規模なWebアプリケーションでは、発行されるクエリのパターンが多く、ホワイトリストの作成が難しくなります。 また、Webアプリケーションが改修された場合は、発行されるクエリの変化に追従して、ホワイトリストを更新する必要があります。 このような運用者への負担を軽減するために、ホワイトリストを自動で作成する手法が提案されています。 しかし、Webアプリケーション稼働中にユーザ入力によって発行されるクエリを利用するため、Webアプリケーションが稼働した後、即時に不正クエリを検知できない課題や、Webアプリケーションの実装に依存した手法となっており、適用するWebアプリケーションに対して、それぞれ手法の実装が必要となる課題が残されています。

本論文では、ホワイトリスト作成による運用者への負荷を軽減しつつ、従来手法の課題の課題を解決するために、開発者がWebアプリケーションの変更に追従してテストコードを整備する開発プロセスにおいて、テスト時に発行されるクエリを用いたホワイトリスト作成を提案しました。 この開発プロセスでは、Webアプリケーションの変更に応じてテストコードが整備されるため、テスト時に発行されるクエリはWebアプリケーションの変更に追従して変化します。 この特性を利用することで、Webアプリケーションが発行するクエリの変化に追従したホワイトリストの更新を行います。 また、このようにテスト工程でホワイトリストの作成を行うことで、Webアプリケーションが稼働した後、即時に不正クエリを検知できる状態を作り出すことができます。 Webアプリケーション毎の実装を不要にするために、データベースプロキシを用いて、テスト時のクエリの収集を行います。

実運用上の評価として、実験により、テスト時に発行されたクエリから作成したホワイトリストの検知精度を評価しました。 SQLインジェクション攻撃により発生した不正クエリを検知できなかった割合と、ブラウザからHTTPリクエストを送ったときに発生する正常なクエリを誤検知した割合を計測しました。 実験結果から、SQLインジェクションによる不正クエリを全て検知できるが、正常なクエリの一部を誤検知することを確認しました。 正常なクエリの誤検知が発生したことから、大規模なWebアプリケーションに適用する場合は、発行されるクエリのパターンが多いため、誤検知されるクエリ数も多くなると考えられます。 今後は、このような誤検知されるクエリを低減するために、ホワイトリストに不足しているクエリを補完する方法を検討していきます。

予稿

スライド


おわりに

第11回インターネットと運用技術シンポジウム(IOTS2018)では、ペパボ研究所から1件の発表を行いました。

当日のセッションで多くの発表を聞いて、自分の発表の技術が足りていないことを痛感しました。 また、分かりやすい発表は、活発な議論を生み、より質の高いフィードバックを得ることができると感じたので、発表資料の作成や発表そのものの技術を身に付けていくことが今後の課題だと思いました。

今回、IOTS2018に参加するにあたって、査読結果でいただいたコメントへの回答文を作成しながら論文の修正を行い、カメラレディを提出しました。 査読コメントからどのように修正すべきかを考えていく過程で、論文内で説明不足な点や記述できていない考えに気づけるだけでなく、研究の立ち位置や方向性についても気づける点が多くありました。 このように、査読コメントから様々なことに気づくことができたので、そのコメントが意図している内容をしっかりと考えて、いろんな場合を想定し、研究をどのように発展させていけばいいか、を考えることがこれから研究を進めていく上で重要だと思いました。 また、今後研究を発展させてジャーナルを執筆する場合においても、回答文の作成は重要になってくると思うので、今回経験は非常に意味のあるものとなりました。

IOTS2018への参加とその過程で学んだことを今後の研究開発に生かしていきたいと思います。


【PR】パートナー積極採用中!

ペパボ研究所では、新しいパートナーを求めています。詳細については、当研究所のトップページをご覧ください。