یک تبلت جستجوی DMARC را برای دامنهٔ بانکی نشان می‌دهد که p=none را نشان می‌دهد، و یک هشدار امنیتی بانک روی لپ‌تاپ پشت‌سر باز است

read receipts

قفلِ خودتحسینِ همه، روی درِ باز آویزان است

بانکِ شما دارای DMARC است. پروازِ شما هم. و این تقریباً هیچ کاری نمی‌کند، و تنظیمی که این را ثابت می‌کند تنها یک کلمه است.

·3 دقیقه مطالعه

تقریباً نه از هر ده دامنه‌ای که یک رکورد DMARC منتشر می‌کنند، آن را روی p=none تنظیم کرده‌اند — حالتی که به جهان می‌گوید دقیقاً چه کسی شما را جعل می‌کند و سپس آن‌ها را بدون مانع رد می‌کند. تجزیهٔ Red Sift از ده سال گذشته نشان می‌دهد که اعمال DMARC واقعی در سال‌های متعدد در رقم‌های تک‌رقمی قرار دارد، و حتی اعدادِ فروشندگانِ خوش‌بین نیز بیشترِ رکوردها را در حالتِ none نگه می‌دارند.

این‌جا طنزِ پنهانِ آن کلمه است. DMARC — که در RFC 7489 مشرح شده — چیزی است که تعیین می‌کند یک سرورِ دریافت‌کندهٔ ایمیل باید چه کاری انجام دهد هنگامی که پیامی که ادعا می‌کند از دامنهٔ شما است، بررسی‌های پایین‌تری را ناپذیر می‌کند. این بررسی‌ها SPF هستند (آیا این سرور برای شما اجازهٔ ارسال دارد؟) و DKIM (آیا این پیام به‌طورِ رمزنگاری توسطِ شما امضا شده است؟). DMARC بر روی این‌ها نشست می‌کند و یک رأی صادر می‌کند. p=none رأیی است که رأی نیست. این می‌گوید: تقلب را متوجه شو، تقلب را ثبت کن، برایم گزارشی درباره‌ی تقلب بفرست — و با این‌حال آن را تحویل بده.

یک دتکتورِ دود با باتری کشیده‌شده هنوز روی سقف آویزان است. مانندِ حفاظت به نظر می‌رسد. مانندِ حفاظت عکس می‌شود. فقط هنگامی که آشپزخانه در آتش است، هشدار نمی‌دهد.

دو تنظیمِ واقعاً موثری p=quarantine هستند، که پیام‌های ناموفقی را به اسپم می‌فرستند، و p=reject، که به دریافت‌کنندگان می‌گوید پیش از رسیدنِ آن برگرد کنند. این تمامِ بازی است. یک کلاهبردار جعل کننده billing@yourbank.example با دیوار روبرو می‌شود تنها اگر آن بانک reject منتشر کرده باشد. اگر بانک none منتشر کرده باشد — و اکثری این‌طور کرده‌اند — جعل در صندوق‌ورودی سقوط می‌کند و دقیقاً مانندِ چیزِ واقعی به نظر می‌رسد، کاملاً با لوگوی واقعی کشیده‌شده مستقیماً از وب‌سایتِ واقعی.

چرا همه در none متوقف می‌شوند؟ زیرا none اولین گام ایمن است، و گام‌های ایمن اول روشی دارند که به آدرسِ دائمی تبدیل می‌شوند. شما قرار است از آن‌جا شروع کنید، گزارش‌ها را بخوانید، هر سرویسِ قانونی را که از طرفِ شما ارسال می‌کند پیدا کنید — فروشندهٔ حقوق‌پرداختی، پلتفرمِ بازاریابی، ابزارِ بلیت‌دهی که هیچ کس مستند نکرده — همه آن‌ها را به‌درستی امضا کنید، و سپس به reject سفت کنید. آن حرکتِ آخری حرکتِ ترسناک است. به reject برگردید و هنوز یک فرستندهٔ بی‌اعتماد در بیرون وجود داشته باشد و صورت‌حساب‌های خودتان را سیاه‌سوراخ خواهید کرد. پس تیم‌ها رکورد را منتشر می‌کنند، به حسابرس می‌گویند کار انجام شده، و هرگز برای پایان‌دادن به آن بر نمی‌گردند. ایمیل‌های گزارش انبوه می‌شود و خوانده نمی‌شود. باتری بیرون می‌ماند.

قربانی شما هستید، شخصی که این پیام را می‌خوانید. هنگامی که برندی که به شما اعتماد دارید DMARC را روی none نگه می‌دارد، "از دامنهٔ واقعی‌شان آمده است" دیگر معنایی ندارد، زیرا جعلِ یک مجرم همان آزمایشِ چشم را پاس می‌کند. این دقیقاً شکافی است که ما در سمتِ دریافت در xmail تماشا می‌کنیم: یک پیام می‌تواند ناموفقِ احراز‌هویت سرد باشد و همچنان با لباسِ شرکتِ خدماتِ شما برسد، زیرا شرکتِ خدمات هرگز به اینترنت نگفت تقلب‌ها را رد کند.

پس این‌جا یک آزمایشی است که می‌توانید در حدود پانزده ثانیه اجرا کنید. هر برندی را که با ایمیلِ "فعالیتِ مریب" ترساند بگیرید — یک جستجویِ عمومی DMARC را بازکنید و دامنه‌اش را چسبانید. اگر خط مشی p=none می‌خواند، آن شرکت از دریافت‌کنندگان می‌خواهد جعل را متوجه شوند و بی‌خیال بمانند. میلیون‌ها دامنه هر روز آرام‌آرام این درخواست را می‌کنند.

حلِ این مسئله تکنولوژی بیشتر نیست. این دارای شجاعتِ تغییرِ یک کلمه از none به reject است. هشدار قبلاً دود را می‌بیند. کسی فقط باید باتری را دوبارهٔ توی دتکتور بگذارد.

DMARC records stuck at p=none (no enforcement)

منابع

  1. IETF — RFC 7489, the DMARC specification defining p=none, quarantine, and reject
  2. Red Sift — State of DMARC adoption and enforcement analysis
  3. Valimail — Annual email fraud / DMARC enforcement reports

→ همهٔ مقاله‌ها