
توضیحات
حمله Credential Stuffing، حمله تزریق اتوماتیک ترکیب نامهایکاربری و رمزهایعبور جمع آوریشده از رخنه و نفوذ به دیگر سایتها برای دسترسی غیرمجاز به حسابهایکاربری بهمنظور کلاهبرداری استفاده میشود.
برای اجرای این حمله، مهاجم تعداد زیادی از اعتبارنامهها را به صورت اتوماتیک در وبسایت مورد نظر وارد میکند تا در نهایت با یک یا چند حسابکاربری موجود مطابقت پیدا میکند. سپس مهاجم، اطلاعات ذخیرهشده، شماره کارتهای اعتباری و سایر اطلاعات شناسایی مالک آن حسابکاربری را به سرقت میبرد و حتی ممکن است از آن اطلاعات برای مقاصد مخرب دیگری مانند ارسال هرزنامه یا فیشینگ استفاده کند.
حمله Credential stuffing که از حملات مربوط به احرازهویت میباشد، فرم جدیدی از حملات برای بدستآوردن کنترل و مالکیت یک حسابکاربری[3] محسوب میشود. این حمله یک تهدید نوظهور است و علاوه بر ایجاد خطر برای کاربران و مشتریان، برای سازمانهای بزرگ و حتی کسبوکارهای کوچک نیز خطرناک است.

حمله Credential Stuffing یکی از متداولترین شیوههای سوءاستفاده از نامهایکاربری و کلماتعبور به سرقترفته توسط مجرمان سایبری است و یکی از زیر مجموعه های حمله brute force است، با این تفاوت که بهجای استفاده از دیکشنریهای کلمات متداول برای حمله، از اعتبارنامه های بدست آمده از نقص های امنیتی و حملات صورت گرفته در گذشته و یا بر روی دیگر وبسایتها استفاده میشود.
در واقع حمله brute force حملهای آفلاین با رمزهایعبور مبتنی بر دیکشنریها است و حملهCredential Stuffing حملهای آنلاین است که با بهرهگیری از اعتبارنامهها انجام میشود و در نتیجه اجرای این حمله آسانتر و نرخ موفقیت آن بیشتر است و علت اصلی آن عادت کاربران به استفاده از رمزهایعبور یکسان در وبسایتهای متفاوت است و وجود ابزارهای اتوماتیک برای اجرای این حمله نشان دهنده این است که اجرای این قبیل حملات، نیاز به دانش چندان زیادی ندارد.

در تصویر بالا تفاوت حمله brute force و credential stuffing به صورت نمادین نشان داده شده است.
راهحل و پیشگیری
- از احرازهویتچندگانه استفاده کنید.
- سیاستهایی را در مورد رمزهایعبور، انتخاب و اعمال کنید، برای مثال سیاستهایی در مورد عدم انتخاب مجدد رمزهایعبور قدیمی و یا میزان پچیدگی آنها.
- به کارمندان و کاربران در مورد سیاستهای انتخابی و تهدیدات موجود آموزش دهید.
- از CAPTCHA استفاده کنید.
- ترافیک مستقیم از ارائهدهندگان سرویس مانند AWS را مسدود کنید.
- هدر درخواستها را بررسی کنید و در صورت وجود ردپای ابزارهای حمله، دسترسی آنها را محدود و یا درخواستها را مسدود کنید.
- داده هایی یکتا مانند ترکیبی از فونت های نصب شده، پلاگین های نصب شده بر روی مرورگر و سخت افزار مورد استفاده از هر یک از کاربران جمع آوری کنید و درخواست به URLهای محافظت شده از طریق جاوااسکریپت و بدون این اطلاعات را مسدود کنید.
- درخواستهای ارسالشده توسط مرورگرهای اتوماتیک و Headless مانند PhantomJS و headless Chrome را مسدود کنید و با اجبار اجرای کدهای جاوااسکریپت موجود در پاسخ سرور (برای مثال، کدی برای ایجاد یک توکن معتبر که باید در درخواستها درج شود)، مهاجم را به استفاده از مرورگر واقعی مجبور کنید تا در صورت بروز حادثه اطلاعات کافی داشته باشید.
- درخواستهایی از مبدأ آدرسهای IP خصوصی، غیرقابل مسیریابی در هر رنج IP و همچنین آدرسهای IP مخرب جمعآوریشده در برخی وبسایتها مانند www.abuseipdb.com را مسدود کنید.
- از فرآیندهایی با چند گام برای ورود به وبسایت استفاده کنید.
- تعداد کوششها برای احرازهویت در وبسایت را در یک بازه زمانی مشخص محدود کنید.
منابع
- https://www.owasp.org/index.php/Credential_stuffing
- https://cheatsheetseries.owasp.org/cheatsheets/Credential_Stuffing_Prevention_Cheat_Sheet.html
- https://www.csoonline.com/article/3448558/credential-stuffing-explained-how-to-prevent-detect-and-defend-against-it.html
- https://medium.com/@jsoverson/10-tips-to-stop-credential-stuffing-attacks-db249cac6428



