Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWSにおける標的型Bot対策
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
hacomono Inc.
PRO
December 26, 2022
Programming
2.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSにおける標的型Bot対策
hacomono Inc.
PRO
December 26, 2022
Transcript
51 slides
AWSにおける標的型Bot対策
PRESENTATION AGENDA 01 私とhacomonoについて 02 弊社サービスの特性 03 課題 04 AWSサービスを使った解決策
section 01 私とhacomonoについて
4 section 01: 私とhacomonoについて 株式会社 hacomono 大西 時雨 / Shigure
Onishi SREチーム マネージャー 香川県の離島からフルリモートで勤務 2021年8月にhacomonoに入社 好きなAWSのサービスはS3
5 5 代 表: 蓮田 健一 設 立: 2013年7月 (現在10期目) 住 所: 東京都渋谷区神宮前 2丁目34番17号 住友不動産原宿ビル 5F メンバー:
120名 フィットネスクラブなど、月謝制店舗向け会員管理・予約・決済システム hacomono開発・販売 株式会社hacomono
section 02 弊社サービスの特性
7 section 02: 弊社サービスの特性 フィットネスクラブの レッスン予約は熱い オンライン化する前は 店舗に行列ができるような状態 我々は慣習をオンラインに持っていった
8 section 02: 弊社サービスの特性 場所指定システム
9 section 02: 弊社サービスの特性 スケジュール公開
10 section 02: 弊社サービスの特性 スケジュール公開
11 section 02: 弊社サービスの特性 スケジュール公開 AutoScalingも中々追いつかない 事前に顧客から公開時間を聞いて強化スケジュールセット (Aurora Serverless v2、Lambdaによるサーバレス化も検証中
)
12 section 02: 弊社サービスの特性 あまりにもアクセスが増え過ぎではないか? 1分でそんなに増えるものか? 予約完了が開始3秒以内に終わってる? 同じ人が同じ場所で毎回予約いるんだけど?と問い合わせくる
13 section 02: 弊社サービスの特性 もしやBot . . . ? 🤔
14 section 02: 弊社サービスの特性 顧客からも調査依頼がくる ログをとりあえず目視で見る
15 section 02: 弊社サービスの特性 目視結果 1. UAが「python-requests/x.xx.x」 2. 1分間隔で1日中アクセスしてくるIP 3.
予約確認画面を通らずに予約完了 4. 公開時間ぴったりにアクセスして3秒で予約完了
16 section 02: 弊社サービスの特性 行動ログの可視化 (QuickSight) ユーザーがどのようなページ遷移をして予約に至ったか? 1日に何回アクセスがあったか?など
17 section 02: 弊社サービスの特性 Botが販売されていることを知る
18 section 02: 弊社サービスの特性 自分が会員側であまりにも予約が取れないなら自分用に作る、、、かも 完全にそれを否定することは心情的にも難しい 最終的に判断するのは我々ではなく、我々の顧客 (企業様の規約の話) 便利になる世の中は素晴らしいことではある だが、ITリテラシーによって優劣が大きく変わってしまうのは考えもの
対策しなければ、サービス解約されるかもしれないので頑張る Botって本当にダメなのか?
section 03 課題
20 section 03: 課題 1. IP制限 ツールを購入・作成して自宅で実行している人を一掃 インフラ系の知識がなければ突破できない 2. UAによるブロック
販売されたものをそのまま使っている人を一掃 プログラムの修正知識などがなければ対応不能 簡単なところから対策
21 section 03: 課題 全然収まらない . . . 😢
22 section 03: 課題 1. AWS WAFによるIPベースのRate limit 短時間で大量にアクセスしてくるユーザーをブロック ホスティング型の予約
Botをブロック 2. AWS WAF Bot Control 一般的なBotはブロックされるようになった 3. URLを連番からランダム文字列 URLの予測を不可能に ちょっと構成変更
23 section 03: 課題 まだすり抜ける . . . 😢
section 04 AWSサービスを使った解決策
25 section 04: AWSサービスを使った解決策 1. AWS WAF Bot Control for
Targeted Bots (2022年10月リリース) 標的型ボットの攻撃から保護するブラウザの調査、フィンガープリント、 行動分析などの 高度なボット検出技術を簡単に有効にできます https://aws.amazon.com/jp/about-aws/whats-new/2022/10/aws-waf-challenge-rule-action-bot-control-targeted-bots/ 2. Amazon Fraud Detector (2020年7月 GA) 機械学習 (ML) の経験がなくても、不正検出 モデルを構築、デプロイ、管理できます。 https://aws.amazon.com/jp/fraud-detector/ AWS WAFの新機能とAWSサービスの紹介
26 section 04: AWSサービスを使った解決策 Bot対策をしてもBot側に対策を打たれて突破される 基本的に対策されたもの検知してから対策を打つので後手に回る 機械学習ならBotの振る舞いから検出モデルを作れば ある程度先回りできるのではないか? いたちごっこから開放されたい
27 section 04: AWSサービスを使った解決策 我々のビジネスの場合、Botをブロックするのが本当の目的ではない。 機械学習を作り込んだところで予測は所詮予測である。 ブロックするのではなく、マーキングすることをゴールとする 1. 最終的にはログを目視判断する 2.
相手はジムに現れるし個人情報も握ってる 偽陽性がたくさん出るぐらいで良い 要求と要件を整理
AWS WAF Bot Control for Targeted Bots
29 section 04: AWSサービスを使った解決策 1. TGT_VolumetricIpTokenAbsent Challengeトークンを含むかどうかで判断 2. TGT_VolumetricSession 過去のトラフィックと比較して異常に増加していないかで判断
3. TGT_SignalAutomatedBrowser ブラウザ自動化周りで判断 4. TGT_SignalBrowserInconsistency ブラウザの問い合わせデータに矛盾がないかを検査 AWS WAF Bot Control for Targeted Bots
30 section 04: AWSサービスを使った解決策 AWS WAF Bot Control for Targeted
Bots
31 section 04: AWSサービスを使った解決策 疑わしい行動をするとこんな状態になる
32 section 04: AWSサービスを使った解決策 疑わしい行動をするとこんな状態になる
Amazon Fraud Detector
34 section 04: AWSサービスを使った解決策 1. 疑わしいオンライン決済の特定 2. 新規アカウント不正の検出 3. トライアルプログラムやロイヤリティプログラムの不正使用の防止
4. アカウント乗っ取り検出の改善 Amazon Fraud Detectorのユースケース
35 section 04: AWSサービスを使った解決策 1. オンライン不正インサイト 過去データが存在しないものに有効 (大量のアカウント不正発行 ) 2.
トランザクション不正インサイト 過去データが存在するものに有効 (クレカの決済など) 3. アカウント乗っ取りインサイト 過去データが存在するものに有効 (ログインの時間帯、ログイン場所など ) 4. SageMakerのインポート Amazon Fraud Detectorの不正検出モデル
36 section 04: AWSサービスを使った解決策 CSVのEVENT_LABELに不正フラグを立てて、Fraud Detectorに食わせるだけ データセットについて
37 section 04: AWSサービスを使った解決策 これだけでそれっぽい結果が返ってくる 学習結果について
38 section 04: AWSサービスを使った解決策 1. 学習データと同じ型の要素データをFraud Detectorに送る 2. 送ったデータの不正度が点数で返ってくる 3.
開発者が不正かどうかを判断する —------------------------------------- if (700点 < score) { # ブロックする処理 } 不正かどうかの判断基準
39 section 04: AWSサービスを使った解決策 このモデルは「billing_state」の項目がスコアに大幅に影響を与えている どの要素が影響を与えているか
40 section 04: AWSサービスを使った解決策 Amazon Fraud Detector
41 section 04: AWSサービスを使った解決策 レスポンス比較 (資料探せなかった) Fraud Detector Targeted Bots
200ms ~ 250ms? 50ms以下?
42 section 04: AWSサービスを使った解決策 カスタマイズ比較 Fraud Detector Targeted Bots モデル構築から
検出時の挙動は自前 ブラックボックス 検出時の挙動は他の AWS WAFと同じ
43 section 04: AWSサービスを使った解決策 運用比較 Fraud Detector Targeted Bots モデルを自分で運用・調整
おまかせ
44 section 04: AWSサービスを使った解決策 精度比較 Fraud Detector Targeted Bots 開発者による
一定水準の精度
45 section 04: AWSサービスを使った解決策 コスト比較 Fraud Detector Targeted Bots 0.03
USD/予測 10.00USD/検査するリクエスト100万件
46 section 04: AWSサービスを使った解決策 全リクエストを突っ込むわけにはいかない 😢 1予測が約4円
47 section 04: AWSサービスを使った解決策 両方利用するのが現実的 1. Targeted Botsで手前である程度落とす 2. 予約完了リクエスト時のみFraud
Detectorで評価 作戦変更
section 05 まとめ
49 section 05: まとめ 弊社の場合、要求と要件がそこまで厳しくないため素人の自分でもここまでできた。 Fraud Detectorは1日触っただけで今日ぐらいの資料が作れるぐらいに簡単。 大変なのはデータセットをクレンジングなり評価する仕組みの方である。 機械学習素人でもそれっぽいことでき〼
50 Copyright Machiiro Inc. All Rights Reserved. 私たちはフィットネス業界の新しいプラットフォームを構築していきます。 一人では決して達成できない大きな目標を成し遂げるために、心強い仲間を募集しています。 Join
us! こんな仲間を募集しています • 「私」ではなく「お客様」を主語に業務を捉えられる方 • 現状維持ではなく、会社・自己の成長、カイゼン意欲のある方 • プロ意識・責任感を持って仕事に取り組める方
Mission ご清聴、ありがとうございました
More Decks by hacomono Inc.
See All by hacomono Inc.
クラウドネイティブDBはいかにして制約を克服したか?_ver_tbts2026
hacomono
PRO
0
350
マルチプロダクトを支えるSelf-service基盤構築の軌跡
hacomono
PRO
0
140
師匠と弟子が「現場」で戦う —フルリモート時代のプロダクトエンジニアJEDI育成プログラムの全貌
hacomono
PRO
0
820
10人は喜んでも、10万人は喜ばない。 10万人の”来たい”を、構造で作る。
hacomono
PRO
0
130
正しく凹む技術:運動で感情を GC(ガベージコレクション )しよう
hacomono
PRO
1
320
開発者の認知負荷軽減を目指して選んだCrossplane - Self-serviceの理想と現実
hacomono
PRO
0
450
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
8
2.1k
AI ネイティブな開発プロセスを目指して ~田中のローカルmac編~
hacomono
PRO
1
120
新規事業×QAの挑戦:不確実性を乗りこなす!フェーズごとに求められるQAの役割変革
hacomono
PRO
0
750
Other Decks in Programming
See All in Programming
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
380
Getting Started with Vibe Coding
miccheng
0
220
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
570
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
350
Scalaの型でマルチテナントの認可を守る
nextbeatdev
0
110
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
330
コード生成時代のAPI定義を支えるRequest Spec移行
pvcresin
0
120
複数ドメインを一つのアプリに統合するFlutterの設計と運用_FlutterKaigi2026登壇資料(須永高弘)
takahirosunaga
0
180
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
9.1k
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
5.8k
Modernizing iOS Apps
seyfoyun
0
150
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
330
A Modern Web Designer's Workflow
chriscoyier
699
190k
Practical Orchestrator
shlominoach
192
12k
Optimizing for Happiness
mojombo
378
71k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
460
Marketing to machines
jonoalderson
1
6k
Visualization
eitanlees
153
17k
Agile that works and the tools we love
rasmusluckow
331
22k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Bash Introduction
62gerente
615
220k
Balancing Empowerment & Direction
lara
6
1.4k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
350