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

Ec3fcf78fa2ad21dcc48478df80e0dc4?s=47 Komei Nomura
December 07, 2018

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

第11回インターネットと運用技術シンポジウム IOTS2018

Webアプリケーションの脆弱性を利用してデータベースから機密情報を窃取する攻撃が問題になっている.対策として,クエリのホワイトリストによる検知があるが,大規模なアプリケーションにおいてはクエリパターンが膨大であり,開発者によるリストの手動作成が困難なため,リストの自動作成手法が利用される.しかし,従来のホワイトリスト自動作成手法には,ユーザがWebサービスを利用することによって,発行されるクエリを収集するのに時間がかかり検知の即時性が低い課題や,アプリケーション毎に異なる実装を必要とし汎用性が低い課題がある.
本研究では,アプリケーションの動作テスト実行時の発行クエリからホワイトリストを作成する手法を提案する.提案手法はテスト時の発行クエリを使いアプリケーションの実装に依存せず作成できるため,検知の即時性や汎用性は向上する.

Ec3fcf78fa2ad21dcc48478df80e0dc4?s=128

Komei Nomura

December 07, 2018
Tweet

Transcript

  1. 1.

    ໺ଜ޸໋(ϖύϘݚڀॴ), Ѩ෦ ത, ੁ໺ ఩(ίίϯגࣜձࣾ, גࣜձࣾϨϐμϜ), ྗ෢݈࣍(ྗ෢݈ٕ࣍ज़࢜ࣄ຿ॴ), দຊ྄հ(ϖύϘݚڀॴ, ͘͞ΒΠϯλʔωοτגࣜձࣾ) 2018.12.07

    IOTS2018 ୈ11ճΠϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ WebΞϓϦέʔγϣϯςετΛ༻͍ͨ
 SQLΫΤϦͷϗϫΠτϦετࣗಈ࡞੒ख๏
  2. 5.

    • ϒϥοΫϦετํࣜ • ط஌ͷෆਖ਼ͳύλʔϯΛఆٛ͢Δ • Ϧετʹఆٛͨ͠ύλʔϯͱ߹க͢ΔΫΤϦΛෆਖ਼ͱͯ͠ݕ஌͢Δ • ϗϫΠτϦετํࣜ • ਖ਼ৗͳύλʔϯΛఆٛ͢Δ

    • Ϧετʹఆٛͨ͠ύλʔϯͱ߹க͠ͳ͍ΫΤϦΛෆਖ਼ͱͯ͠ݕ஌͢Δ • ط஌ͷෆਖ਼ΫΤϦ͸ϒϥοΫϦετͰݕ஌Մೳ͕ͩɼະ஌ͷෆਖ਼ΫΤϦΛݕ஌͢Δ ʹ͸ϗϫΠτϦετ͕ඞཁ 5 ෆਖ਼ΫΤϦͷݕ஌ํ๏
  3. 16.

    16 ఏҊख๏͕લఏͱ͢ΔࣗಈςετΛ༻͍ͨ։ൃϓϩηε ։ൃ ςετίʔυهड़ αʔόʹ഑ஔ ࣗಈςετ /P :FT Քಇ։࢝ ςετ੒ޭ

    w ৽ػೳͷ௥Ճ w طଘػೳͷमਖ਼ w 8FCΞϓϦͷಈ࡞खॱͱಈ࡞ͷ݁ՌΛهड़ w ςετίʔυΛݩʹࣗಈͰςετΛ࣮ߦ w 8FCΞϓϦͷಈ࡞͕࢓༷௨Γ͔Λ֬ೝ w ςετࣦഊɿ8FCΞϓϦͷιʔείʔυ΋͘͠͸ ςετίʔυʹ໰୊͋Γ w ςετ੒ޭɿ8FCΞϓϦ͕࢓༷௨Γʹಈ࡞ w 8FCΞϓϦͷιʔείʔυΛαʔόʹ഑ஔ w 8FCΞϓϦΛՔಇ
  4. 17.

    17 ։ൃ ςετίʔυهड़ αʔόʹ഑ஔ ࣗಈςετ ʴ ϗϫΠτϦετ࡞੒ /P :FT Քಇ։࢝

    ςετ੒ޭ w ςετ࣌ʹൃߦ͞ΕͨΫΤϦ͔ΒϗϫΠτϦετΛ
 ࡞੒ w ҎԼΛͦΕͧΕαʔόʹ഑ஔ w 8FCΞϓϦͷιʔείʔυ w ϗϫΠτϦετ ։ൃϓϩηεʹ͓͚ΔఏҊख๏ͷҐஔ෇͚ w 8FCΞϓϦ͕Քಇ͢ΔલʹϗϫΠτϦετΛ࡞੒Մೳ w 8FCΞϓϦͷൃߦΫΤϦͷมԽʹ௥ैͯ͠ɼϗϫΠτ ϦετΛߋ৽Ͱ͖Δ
  5. 21.
  6. 26.

    26 ݕ஌ਫ਼౓ͷධՁɿ࣮ݧ؀ڥ "QQ 1SPYZ42- .Z42- BSUJDMFςʔϒϧͷૢ࡞Λߦ͏ϝιουΛ࣮૷͠ɼςετΛهड़ )551 63- ૢ࡞಺༰ (&5

    BSUJDMFT શͯͷBSUJDMFΛදࣔ (&5 BSUJDMFT UJUMFlz UJUMFͰݕࡧͯ͠BSUJDMFΛදࣔ ʢ42-ΠϯδΣΫγϣϯͷ੬ऑੑ͋Γʣ 1045 BSUJDMFT BSUJDMFΛͭ࡞੒ (&5 BSUJDMFTJE ಛఆͷBSUJDMFΛදࣔ 1"5$) BSUJDMFTJE BSUJDMFΛߋ৽ %&-&5& BSUJDMFTJE BSUJDMFΛ࡟আ UJUMFͱDPOUFOUΧϥϜΛ࣋ͬͨ
 BSUJDMFςʔϒϧΛ࡞੒ ςετ࣌ʹൃߦ͞ΕͨΫΤϦΛऩू͠ɼΫΤϦߏ଄ʹม׵ͯ͠ ϗϫΠτϦετΛ࡞੒ ProxySQL: https://proxysql.com/