リンクラッピングとは
Microsoft Defender for Office 365、Proofpoint、Mimecast などのメールゲートウェイを導入している組織では、受信メール内のすべての URL がメールボックスに届く前に書き換えられます。example.com/report は eur01.safelinks.protection.outlook.com/?url=htt... のような形になります。
狙いはクリック時点の保護です。メールのスキャン時点では無害でも、1 時間後に悪意あるコンテンツへ差し替えられることがあります。そこでゲートウェイはクリックを毎回自社スキャナーに戻し、その瞬間にリンク先の評価を再確認します。
ラッピングの代償
ラッピングは、最も古いセキュリティの助言——「リンクにマウスを重ねて行き先を読む」——を無効にします。ステータスバーに出るのはゲートウェイのドメインで、本来のドメインではありません。さらにリンクプレビューが壊れ、URL をドキュメントに書けず、ターミナルに貼り付けられず、クリックの記録がゲートウェイ運営者に渡ります。
デコードは元の URL を取り戻し、判断を自分の手に戻す作業です。
各形式
Outlook SafeLinks はリンク先を url クエリパラメーターに 1 回パーセントエンコードして格納します。後続の data、sdata、reserved は追跡用メタデータなので破棄して構いません。
Proofpoint URLDefense には 3 世代あります。v1 と v2 は u パラメーターに独自置換を施し、- が %、_ が / を表します。v3 はパス形式 __example.com__;!!... です。本ツールは置換を戻してからパーセントデコードします。
Google は /url?q=(検索結果)または /url?url= を使い、Facebook、LinkedIn、Twitter にも同種の仕組みがあります。
汎用ラッパーはリンク先を url、u、target、redirect、dest、link といった名前のパラメーターに入れます。ベンダーを特定できない場合はこれらを走査します。
デコード結果を安全に読む
URL を取り戻しても作業は半分です。文字列全体ではなく登録可能ドメインを見てください。paypal.com.secure-login.ru の持ち主は secure-login.ru です。似た形の文字、想定外のトップレベルドメイン、正規ホストなのに /wp-content/uploads/ のような不自然なパス、といった点に注意します。そして、デコード結果が正常に見えることは、その先のファイルが安全である証明にはなりません。