
حمله Password Spraying، نوعی از حمله brute force است که در آن مهاجم یک رمزعبور ضعیف را بر روی تعداد زیادی از حسابهایکاربری امتحان میکند، سپس رمزعبور دوم و به همین ترتیب ادامه پیدا میکند. تفاوت این حمله با حمله brute force در این است که در حمله brute force مهاجم تلاش میکند برای دسترسی غیرمجاز به یک حسابکاربری، رمزعبورهای زیادی را بر روی آن امتحان کند. تصویر زیر نشاندهنده این تفاوت است.
نرخ موفقیت این حمله بسیار زیاد است زیرا حتی در تعداد انبوه حسابهایکاربری، کاربرانی وجود دارند که از رمزعبورهای رایج استفاده کرده باشند. تکنیک Password Spraying مهاجم را قادر میسازد دادههای مالی و محرمانه سازمان را سرقت کند و سازمان را در معرض حملات دیگری مانند حملات فیشینگ و یا کلاهبرداری با ایمیل سازمان قرار میدهد.
تکنیک اسپریکردن یک رمزعبور بر روی تعدادی از حسابهایکاربری، به مهاجم این امکان را میدهد که بدون فعالکردن سیاست قفلشدن حسابهایکاربری، ناشناخته باقی بماند. حمله Password spray معمولاً برنامههایی با قابلیت SSO[1] و برنامههای مبتنی بر ابر را که از پروتکلهای احرازهویت متحد[2]استفاده میکنند، هدف قرار میدهند. هدف قراردادن احرازهویت متحد میتواند به مخفیکردن ترافیک مخرب کمک کند و دسترسی بیشتری را برای مهاجم فراهم کند.
- راهحل و پیشگیری
- از احرازهویتچندگانه[3] استفاده کنید.
- سیاستهایی را در مورد رمزهایعبور، انتخاب و اعمال کنید، برای مثال سیاستهایی در مورد عدم انتخاب مجدد رمزهایعبور قدیمی و یا میزان پچیدگی آنها.
- به کارمندان و کاربران در مورد سیاستهای انتخابی و تهدیدات موجود آموزش دهید.
- از CAPTCHA استفاده کنید.
- ترافیک مستقیم از ارائهدهندگان سرویس مانند AWS را مسدود کنید.
- هدر درخواستها را بررسی کنید و در صورت وجود ردپای ابزارهای حمله، دسترسی آنها را محدود و یا درخواستها را مسدود کنید.
- داده هایی یکتا مانند ترکیبی از فونت های نصب شده، پلاگین های نصب شده بر روی مرورگر و سخت افزار مورد استفاده از هر یک از کاربران جمع آوری کنید و درخواست به URLهای محافظت شده از طریق جاوااسکریپت و بدون این اطلاعات را مسدود کنید.
- درخواستهای ارسالشده توسط مرورگرهای اتوماتیک و Headless مانند PhantomJS و headless Chrome را مسدود کنید و با اجبار اجرای کدهای جاوااسکریپت موجود در پاسخ سرور (برای مثال، کدی برای ایجاد یک توکن معتبر که باید در درخواستها درج شود)، مهاجم را به استفاده از مرورگر واقعی مجبور کنید تا در صورت بروز حادثه اطلاعات کافی داشته باشید.
- درخواستهایی از مبدأ آدرسهای IP خصوصی، غیرقابل مسیریابی در هر رنج IP و همچنین آدرسهای IP مخرب جمعآوریشده در برخی وبسایتها مانند www.abuseipdb.com را مسدود کنید.
- از فرآیندهایی با چند گام[4] برای ورود به وبسایت استفاده کنید.
- تعداد کوششها برای احرازهویت در وبسایت را در یک بازه زمانی مشخص محدود کنید.
- منبع
- https://cheatsheetseries.owasp.org/cheatsheets/Credential_Stuffing_Prevention_Cheat_Sheet.html
- https://doubleoctopus.com/security-wiki/threats-and-tools/password-spraying/
- https://medium.com/@CTM360/beware-of-password-spraying-3147aa20367f
[1] single sign-on (SSO)
[2] federated authentication protocols
[3] multi-factor authentication (MFA)
[4] Multi-Step