セッションハイジャックの調査
セッションハイジャック攻撃を調査するときは、次のヒントを参考にしてください。
| 使用可能なインターフェース: Salesforce Classic および Lightning Experience |
| 使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition Salesforce Shield または Salesforce Event Monitoring アドオンサブスクリプションが必要です。 |
まず、攻撃に関する詳細情報を示す、次のリアルタイムイベント監視イベントを照会します。具体的には、次のようになります。
- SessionHijackingEvent とその情報を保存する SessionHijackingEventStore は、未承認ユーザが、盗取したセッション識別子を使用して Salesforce ユーザのセッションの所有権を窃取した状況を追跡します。Salesforce はこのようなイベントを検知するために、ユーザの現在のブラウザフィンガープリントが既知のフィンガープリントとどのくらい顕著に異なるかを評価します。Salesforce では、確率的に推測された変化の重要度を使用します。
- LoginEventStream (とその情報を保存する LoginEvent) は、組織のすべてのログインアクティビティを追跡します。
たとえば、組織が SessionHijackingEvent を受信したとします。ここで最初にすることは、イベントの関連する項目を確認し、攻撃に関する次のような基本情報を得ることです。
- Score: 0.0 ~ 1.0 の数値で、新しいブラウザフィンガープリントが以前のフィンガープリントとどのくらい顕著に異なるかを示します。数値が大きいほど、セッションハイジャック攻撃が生じた可能性が高くなります。
- UserId: ユーザの一意の ID。この ID を使用して、LoginEvent の詳細を照会します。
- EventDate: この攻撃がいつ発生したか。
- SecurityEventData: この異常検知に対する寄与度が最大であるブラウザフィンガープリントの特性の現在の値と以前の値を示す JSON 項目。寄与する可能性のある特性の完全リストについては、この表を参照してください。
- Summary: イベントのテキスト形式の概要。
-
Current-Previous 項目のペア: 次の項目のペアにより、ブラウザフィンガープリントの選択した特性の現在の値と以前の値にすばやくアクセスできます。
- CurrentIp および PreviousIp: 現在および以前の IP アドレス。
- CurrentPlatform および PreviousPlatform: 現在および以前のオペレーティングシステム (Win32、MacIntel、iPad など)。
- CurrentScreen および PreviousScreen: 現在および以前の画面サイズ (ピクセル単位、(900.0,1440.0) など)。
- CurrentUserAgent および PreviousUserAgent: ブラウザ、バージョン、オペレーティングシステムなどの種別を識別する、ブラウザのユーザエージェントの現在の値と以前の値。たとえば、Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36 などです。
- CurrentWindow および PreviousWindow: 現在および以前のウィンドウサイズ (ピクセル単位、(1200.0,1920.0) など)。
項目の完全リストについては、API ドキュメントを参照してください。
次の SOQL クエリのサンプルは、上記の項目値を返します。
1SELECT Score, UserId, EventDate, SecurityEventData, Summary
2FROM SessionHijackingEventStoreSecurityEventData 項目には、この異常検知をトリガしたブラウザフィンガープリントが示されるため、詳しく見ていきましょう。サンプルデータは次のようになります。
1[
2{
3"featureName": "userAgent",
4"featureContribution": "0.45 %",
5"previousValue": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142",
6"currentValue": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36."
7},
8{
9"featureName": "ipAddress",
10"featureContribution": "0.23 %",
11"previousValue": "201.17.237.77",
12"currentValue": "182.64.210.144"
13},
14{
15"featureName": "platform",
16"featureContribution": "0.23 %",
17"previousValue": "Win32",
18"currentValue": "MacIntel"
19},
20{
21"featureName": "screen",
22"featureContribution": "0.23 %",
23"previousValue":"(1050.0,1680.0)",
24"currentValue": "(864.0,1536.0)"
25},
26{
27"featureName": "window",
28"featureContribution": "0.17 %",
29"previousValue": "1363x1717",
30"currentValue": "800x1200"
31}
32]このサンプル JSON は、ウィンドウ、IP アドレス、プラットフォーム、など、ブラウザフィンガープリントの多数の特性が変化していることを示しています。Salesforce は、ユーザセッションが乗っ取られたと結論付けます。