デバイスデータ収集
注文や取引の詳細と組み合わせると、デバイスデータ(IPアドレス、デバイスID、ジオロケーション情報など)は不正の強力な指標になるか、GeoIPルックアップを介してロケーションに基づいて手動ルールを作成する際に使用することができます。Access FraudSightでデバイスデータを利用するには2段階のプロセスを経なければなりません。手順1は、デバイスデータを収集することです。手順2は、デバイスデータを使用する
ThreatMetrix JS
Webサイト用のThreatMetrix JSライブラリ。ThreatMetrixプラットフォームを活用して、ブラウザに起因する不正やセキュリティの脆弱性をリアルタイムで検出します。
実装
以下の"Threatemetrix JavaScriptV4"データを含むJavaScriptファイルを作成します。ファイルの名前は匿名でなければなりません(例:asdfghjkl.js)
関数threatmetrix.profileの名前を(ファイルasdfghjkl.jsから)匿名のawddc.prflに変更します。e.g.awddc.prfl
デバイスデータ収集が行われるWebページで、ヘッドセクションに
<script type="text/javascript" src="path/to/asdfghjkl.js"></script>
(または同様の)ものを配置します。<script type="text/javascript">awddc.prfl ("PROFILING_DOMAIN", "ORGANISATION_ID", sessionid);</script>
の(または同様の)を使用して、Webページからデバイスプロファイリング関数(awddc.prfl)を呼び出します。
注記:関数パラメータについては、以下の「必要な詳細」セクションを参照してください。
次のように、関数名threatmetrix.profile
を独自の名前に変更します。
var threatmetrix=threatmetrix||{};threatmetrix.version=4,threatmetrix.create_url=function(t,e,r,n,c){function i(){return Math.floor(2742745743359*Math.random())}function a(){return o(i())}function o(t){return(t+78364164096).toString(36)}var m=i(),u=i(),l=885187064159;u=((u=u-u%256+threatmetrix.version)+m)%2742745743359,l=(l+m)%2742745743359;var s="https://"+t+"/"+(m=a()+o(m))+e,h=[(u=o(l)+o(u))+"="+r,a()+a()+"="+n];return void 0!==c&&c.length>0&&h.push(a()+a()+"="+c),s+"?"+h.join("&")},threatmetrix.beacon=function(t,e,r,n){var c="turn:aa.online-metrix.net?transport=",i="1:"+e+":"+r,a={iceServers:[{urls:c+"tcp",username:i,credential:r},{urls:c+"udp",username:i,credential:r}]};try{var o=new RTCPeerConnection(a);o.createDataChannel(Math.random().toString());var m=function(){},u=function(t){o.setLocalDescription(t,m,m)};"undefined"==typeof Promise||o.createOffer.length>0?o.createOffer(u,m):o.createOffer().then(u,m),setInterval(function(){o.close()},1e4)}catch(t){}},threatmetrix.load_tags=function(t,e,r,n){threatmetrix.beacon(t,e,r,n);var c=document.getElementsByTagName("head").item(0),i=document.createElement("script");i.id="tmx_tags_js",i.setAttribute("type","text/javascript");var a=threatmetrix.create_url(t,".js",e,r,n);i.setAttribute("src",a),threatmetrix.set_csp_nonce(i),c.appendChild(i)},threatmetrix.csp_nonce=null,threatmetrix.register_csp_nonce=function(t){if(void 0!==t.currentScript&&null!==t.currentScript){var e=t.currentScript.getAttribute("nonce");null!=e&&""!==e?threatmetrix.csp_nonce=e:void 0!==t.currentScript.nonce&&null!==t.currentScript.nonce&&""!==t.currentScript.nonce&&(threatmetrix.csp_nonce=t.currentScript.nonce)}},threatmetrix.set_csp_nonce=function(t){null!==threatmetrix.csp_nonce&&(t.setAttribute("nonce",threatmetrix.csp_nonce),t.getAttribute("nonce")!==threatmetrix.csp_nonce&&(t.nonce=threatmetrix.csp_nonce))},threatmetrix.cleanup=function(){for(;null!==(hp_frame=document.getElementById("tdz_ifrm"));)hp_frame.parentElement.removeChild(hp_frame);for(;null!==(tmx_frame=document.getElementById("tmx_tags_iframe"));)tmx_frame.parentElement.removeChild(tmx_frame);for(;null!==(tmx_script=document.getElementById("tmx_tags_js"));)tmx_script.parentElement.removeChild(tmx_script)},threatmetrix.profile=function(t,e,r,n){void 0!==t&&void 0!==e&&void 0!==r&&8===e.length&&(threatmetrix.cleanup(),threatmetrix.register_csp_nonce(document),threatmetrix.load_tags(t,e,r,n))};
必要な詳細
デバイスデータ関数を呼び出すには、次の詳細が必要です。
プレースホルダー | 説明 |
---|---|
ORGANISATION_ID |
|
PROFILING_DOMAIN |
|
sessionId | 特定のデバイスデータコレクションを表すために、ページビューに一意の値を生成しなければなりません。 注記:有効なsessionIdは、30~128文字の長さであり、大文字または小文字の英字(a-z、A-Z)、数字(0-9)、ハイフン(-)、またはアンダースコア(_)のみで構成されます。間違った一致をする可能性が低いため、UUIDをお勧めします。 |
sessionId生成の例
デバイスデータをリスク評価の一部として適用するには、
function create_uuid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16 | 0,
v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
function create_uuid() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); });
Threatmetrix関数の呼び出し
...
var sessionid = create_uuid(); // function to create UUID
awddc.prfl ("PROFILING_DOMAIN", "ORGANISATION_ID", sessionid); // call Threatmetrix
...
... var sessionid = create_uuid(); // function to create UUID awddc.prfl ("PROFILING_DOMAIN", "ORGANISATION_ID", sessionid); // call Threatmetrix ...
デバイスデータと評価のリンク
deviceData.collectionReference
次の手順