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
hacomono Inc.
PRO
December 26, 2022
Programming
2.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSにおける標的型Bot対策
hacomono Inc.
PRO
December 26, 2022
More Decks by hacomono Inc.
See All by hacomono Inc.
マルチプロダクトを支えるSelf-service基盤構築の軌跡
hacomono
PRO
0
26
師匠と弟子が「現場」で戦う —フルリモート時代のプロダクトエンジニアJEDI育成プログラムの全貌
hacomono
PRO
0
110
10人は喜んでも、10万人は喜ばない。 10万人の”来たい”を、構造で作る。
hacomono
PRO
0
96
正しく凹む技術:運動で感情を GC(ガベージコレクション )しよう
hacomono
PRO
1
260
開発者の認知負荷軽減を目指して選んだCrossplane - Self-serviceの理想と現実
hacomono
PRO
0
340
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
8
1.9k
AI ネイティブな開発プロセスを目指して ~田中のローカルmac編~
hacomono
PRO
1
110
新規事業×QAの挑戦:不確実性を乗りこなす!フェーズごとに求められるQAの役割変革
hacomono
PRO
0
650
テストプロセスにおけるAI活用 :人間とAIの共存
hacomono
PRO
0
590
Other Decks in Programming
See All in Programming
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
6
1.8k
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
200
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
340
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
56
38k
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
310
業務時間外もAIに働いてもらう話
colorful12
3
10k
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
110
Webの地図
yosuke_furukawa
PRO
6
4.4k
Building an Out-of-Order CPU
latte72
1
770
一人だけ、Kiroが静止する日
hideg
0
100
AHC070解法紹介
eijirou
0
110
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
150
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
699
190k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
Making the Leap to Tech Lead
cromwellryan
135
10k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
390
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Joys of Absence: A Defence of Solitary Play
codingconduct
1
510
Speed Design
sergeychernyshev
33
2.1k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Navigating Team Friction
lara
192
16k
The SEO identity crisis: Don't let AI make you average
varn
0
560
Transcript
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 ご清聴、ありがとうございました