Upgrade to Pro — share decks privately, control downloads, hide ads and more …

悪用厳禁! SQLインジェクションやってみた!

悪用厳禁! SQLインジェクションやってみた!

AWS Jr.Champions登壇資料。セキュリティ対策を講じるサイドだけでなく、攻撃者の立場に立ち代表的な攻撃を実演紹介。

Avatar for toyo-da01

toyo-da01

October 01, 2024
Tweet

More Decks by toyo-da01

Other Decks in Technology

Transcript

  1. / /10 ―― 自己紹介 ―― 1 豊岡 大地(とよおか だいち) 

    所属 : 通信会社  入社 : 2021年(4年目)  趣味:サウナ  最近のハマり:SRE、Nvimのプラグイン(COCからLSPにやっと変えました!)  最近の業務内容 • Amazon ConnectのCTI連携 • Direct Connect/Site to Site VPNを利用した データセンタに向かうトラフィック制御のUTM構築 • 業務効率化活動 (内製サーバーレスウェブアプリケーション開発、エスカレーション効率化など) • 24 AWS Jr. Champions • 23-24 AWS All Certifications Engineer
  2. / /10 ―― 今回の内容について ―― 2  ゴール • AWS上でOWASP

    Juice Shop AMIを使ってセキュリティ演習を行うための 基本的な環境を理解する • 攻撃シナリオ(SQLインジェクションなど )を体験し、防御策を確認する  こんな方向けのセッション • セキュリティ関連の用語や概念を少ししか知らないが、学んでみたい方 • 実際にハンズオンで試せるセキュリティ対策に興味がある方 ※普段の自分はセキュリティチームから指摘された内容を脳死で対応していたので、共有の価値があるかなと思いました笑
  3. / /10 ―― 今回、利用した構成図 ―― 3 VPC (192.168.0.0/16) Pub (192.168.253.0/24)

    Pub (192.168.254.0/24) Pub (192.168.255.0/24) AWS Cloud Internet Gateway Application Load Balancer with WAF ENI ENI 悪意を持ったユーザー 1. EC2インスタンスのパブリックIP にアクセス 2. ALB with WAFのドメインを介し てEC2インスタンスにアクセス AMI 利用 Instance OWASP Juice Shop ※AWS Marketplace AMIで検索すれば出てきますが、ソフトウェア料金はかかりません
  4. / /10 ―― OWASP Juice Shopとは? ―― 4  OWASP

    (オワスプ;Open Worldwide Application Security Project) ソフトウェアのセキュリティを向上させる開発者・技術者・エバンジェリストのコミュ二ティ。  OWASP Juice Shop OWASP Top10*に取り上げられている 重大な脆弱性を意図的に組み込んだトレーニング環境 *脆弱性の解説、防止方法、攻撃シナリオの解説  AWSにおける利用 AWSではAMIとして提供されていて、 SSH接続して`npm run start`を実施するだけ
  5. / /10 ―― SQL インジェクションとは? ―― 5 そもそもSQLインジェクションって、、? 裏で想定されるSQLクエリ想定して、悪意のあるSQLクエリによって 開発者が意図しない情報を取得する

    ``` SELECT * FROM WHERE email = ‘$1’ AND password = ‘$2’; SELECT * FROM WHERE email = ‘’ or 1=1 --’ AND password = ‘$2’; ``` 【対策】 • アプリケーションレイヤー • 外側のレイヤー $1 $2 ①バインド変数を用いる ②ORMを用いる ①WAFを導入する ②セキュリティテストを実施する
  6. / /10 ―― 今回、利用した構成図 ―― 再 VPC (192.168.0.0/16) Pub (192.168.253.0/24)

    Pub (192.168.254.0/24) Pub (192.168.255.0/24) AWS Cloud Internet Gateway Application Load Balancer with WAF ENI ENI 悪意を持ったユーザー 1. EC2インスタンスのパブリックIP にアクセス 2. ALB with WAFのドメインを介し てEC2インスタンスにアクセス AMI 利用 Instance OWASP Juice Shop ※AWS Marketplace AMIで検索すれば出てきますが、ソフトウェア料金はかかりません
  7. / /10 ―― AWS WAFの設定 ―― 7.1 WAF & Shieldを開き、「Create

    web ACL」を選択して、WebACLを作成 任意の名前
  8. / /10 ―― AWS WAFの設定 ―― 7.3 Add Rule ->

    Add my own rules and rule groups SQLManagedだと今回のBodyリクエストは許容 Fieldは、「Body」 Attack Typeは、「Contain SQL Injection attack」
  9. / /10 ―― 他の代表的な攻撃はAWSでどうやってするの?? ―― 8 セキュリティツールが扱いやすいKali LinuxがAMIで提供されています VPC (192.168.0.0/16)

    Pub (192.168.253.0/24) Pub (192.168.254.0/24) Pub (192.168.255.0/24) AWS Cloud Internet Gateway Application Load Balancer with WAF ENI ENI AMI 利用 Instance OWASP Juice Shop 悪意を持ったユーザー Pub AMI 利用 Instance Kali Linux RDPでアクセス Internet
  10. / /10 ―― 他の代表的な攻撃はAWSでどうやってするの?? ―― 9 Kali LinuxをAWS AMIからキックさせたときのTips •

    はじめはRDPが許容されていないので、SSH接続でxrdpを入れてキックする必要があります。 参考サイト) https://blog.denet.co.jp/ec2-kalilinux/ • セキュリティツールが使いやすいLinuxですが、AMIからキックした時点では各種ツールがあまり プリインストールされていないので、参考サイトからインストールする必要があります。 参考サイト) https://www.kali.org/tools/ ※AWS Marketplace AMIで検索すれば出てきますが、ソフトウェア料金はかかりません
  11. / /10 ―― 改めて、今回の内容について――  ゴール • AWS上でOWAP Juice Shop

    AMIを使ってセキュリティ演習を行うための基 本的な環境を理解する • 攻撃シナリオ(SQLインジェクションなど )を体験し、防御策を確認する  こんな方向けのセッション • セキュリティ関連の用語や概念を少ししか知らないが、学んでみたい方 • 実際にハンズオンで試せるセキュリティ対策に興味がある方 ※普段の自分はセキュリティチームから指摘された内容を脳死で対応していたので、共有の価値があるかなと思いました笑 再