Credential Stuffing چیست؟
Credential Stuffing یکی از انواع حملات سایبری است که هکرها برای دسترسی به حسابهای آنلاین از آن استفاده میکنند. در این نوع حمله، هکرها از نامهای کاربری و رمزهای عبور دزدیده شده برای ورود به سیستمها و حسابهای مختلف استفاده میکنند. به طور ساده، هکرها با بهرهگیری از ابزارهای خودکار، انواع مختلفی از ترکیبهای نام کاربری و رمز عبور را امتحان میکنند تا به یک ترکیب درست برسند و موفق به ورود به حسابهای شخصی شوند. یکی از دلایل مؤثر بودن این نوع حمله، عادت بسیاری از افراد به استفاده از یک نام کاربری و رمز عبور مشابه برای ورود به چندین سیستم و سایت مختلف است. این رفتار باعث میشود که اگر هکرها به اطلاعات کاربری فردی دسترسی یابند، به راحتی بتوانند از همان اطلاعات برای دسترسی به سایر حسابها نیز استفاده کنند. به این ترتیب، مهاجمان میتوانند در کمترین زمان به چندین حساب مختلف وارد شوند و از آنها سوءاستفاده کنند. طبق آمارهای جرایم سایبری، نرخ موفقیت این نوع حملات بین ۰.۱٪ تا ۴٪ متغیر است. این درصد ممکن است کم به نظر برسد، اما با این وجود، حملات Credential Stuffing میتوانند خسارات زیادی به بار آورند. به علاوه، این حملات به قدری رایج شدهاند که در سال ۲۰۲۲، یکی از ارائهدهندگان خدمات احراز هویت گزارش کرد که به طور متوسط، برای هر دو ورود قانونی به حساب، یک تلاش برای حمله Credential Stuffing انجام میشد. در نهایت، این حملات هر ساله میلیونها حساب کاربری را مورد هدف قرار میدهند و به یکی از چالشهای بزرگ امنیت سایبری تبدیل شدهاند. به همین دلیل، افراد و سازمانها باید اقدامات پیشگیرانهای برای حفاظت از اطلاعات خود انجام دهند تا از چنین تهدیداتی جلوگیری کنند.

نحوه عملکرد حمله Credential Stuffing
حمله Credential Stuffing مشابه تلاش برای باز کردن دربهای مختلف با یک دسته کلید است. فرض کنید یک دزد یک دسته کلید بزرگ پیدا میکند و در خیابان شروع به امتحان کردن هر کلید بر روی دربهای مختلف خودروها میکند. به طور آماری، در نهایت یکی از این کلیدها درب یک خودرو را باز خواهد کرد. در حمله Credential Stuffing، به جای استفاده از کلیدهای فیزیکی، هکرها از اطلاعات دزدیدهشده (نام کاربری و رمز عبور) برای دسترسی به حسابهای آنلاین استفاده میکنند.
مراحل حمله Credential Stuffing به این صورت است:
- مهاجمان یک پایگاه داده بزرگ از ترکیبهای نام کاربری و رمز عبور به دست میآورند. این دادهها میتوانند از طریق خرید از دارک وب، نقضهای دادهای قبلی یا حملات فیشینگ به دست بیایند.
- در مرحله بعدی مهاجمان از ابزارهای خودکار مانند باتها برای امتحان کردن این اطلاعات بر روی سایتهای مختلف استفاده میکنند. این ابزارها میتوانند همزمان تلاشهای زیادی را انجام دهند و حتی قادرند از سدهای امنیتی ساده مانندCAPTCHA نیز عبور کنند.
- اگر یکی از ترکیبهای نام کاربری و رمز عبور دزدیده شده با حسابی معتبر در سایتها مطابقت داشته باشد، مهاجم به آن حساب دسترسی پیدا میکند.
- در مرحله آخر پس از ورود، هکر میتواند اطلاعات شخصی را سرقت کند، خریدهای تقلبی انجام دهد یا حملات بیشتری را علیه حسابهای مرتبط راهاندازی کند.

تاریخچهی حملات Credential Stuffing
اولین نشانههای حملات credential stuffing در سال ۲۰۱۴ شناسایی شد. در این زمان، هکرها در دارک وب شروع به ارائه خدماتی برای کسب درآمد از اطلاعات حسابهای کاربری به سرقت رفته کردند. این هکرها به راحتی میتوانستند از دادههای موجود برای انجام حملات به حسابهای مختلف استفاده کنند. ابزارهای اولیهی credential stuffing که برای این منظور استفاده میشدند، معمولاً بین ۵۰ تا ۲۵۰ دلار قیمت داشتند و قابلیت هدفگیری شرکتهای خاص را نیز داشتند. در ابتدا، این ابزارها تنها برای اعتبارسنجی مجموعههایی از ایمیلها و رمزهای عبور طراحی شده بودند. به عبارت دیگر، هکرها میتوانستند از این ابزارها برای تست کردن ترکیبهای مختلف ایمیل و رمز عبور استفاده کنند. اما به مرور زمان، هکرها برای دستیابی به اطلاعات دقیقتر از حسابهای به سرقت رفته، نیاز به خرید ابزارهای پیشرفتهتری برای بررسی حسابها داشتند. امروزه، حملات credential stuffing به شکلی پیچیدهتر و به طور کاملاً خودکار انجام میشوند. هکرها میتوانند تنها با ۵۰۰ دلار، نرمافزارهای مخصوص این نوع حملات را تهیه کرده و با دسترسی به لیستهایی از ترکیبهای مختلف ایمیل و رمز عبور، حملات خود را آغاز کنند. علاوه بر این، آنها از سرویسهای پروکسی برای مخفی کردن هویت خود استفاده میکنند. این ابزارها به گونهای طراحی شدهاند که به طور همزمان صدها هزار ترکیب از اطلاعات حسابهای مختلف را بررسی کرده تا وارد وبسایتهای متعدد شوند.
نمونههای واقعی از حملات Credential Stuffing
حملات Credential Stuffing یکی از تهدیدات سایبری مهم در دنیای امروز میباشند و بسیاری از شرکتهای بزرگ در صنایع مختلف مورد هدف این نوع از حملات قرار گرفتهاند. در ادامه، به برخی از مشهورترین شرکتهایی که با این حملات مواجه شدهاند، اشاره خواهیم کرد:
- HSBC: در سال ۲۰۱۸، بانک HSBC مورد هدف یک حمله بزرگCredential Stuffing قرار گرفت که اطلاعات مالی مشتریان خود را در معرض خطر جدی قرار داد.
- DailyMotion: در ژانویه سال ۲۰۱۹، سایت ویدئویی DailyMotion به دلیل مواجه شدن با این حمله، به طور موقت از دسترس خارج شد.
- Reddit: در سال ۲۰۱۹، سایت Reddit مورد حمله قرار گرفت که این حمله منجر به از دست دادن دسترسی برخی از کاربران به حسابهایشان شد و هکرها دادههای آنها را به سرقت بردند.
- Spotify: در سال ۲۰۲۰، سرویس پخش موسیقی Spotify مورد هدف حملهای قرار گرفت که از دادههای ۳۸۰ میلیون کاربر جمعآوریشده از منابع مختلف استفاده میکرد.
حملات Credential Stuffing همچنان تهدید بزرگی برای بسیاری از شرکتها هستند و فهرست شرکتهای آسیبدیده از این نوع حملات در حال افزایش است.
دلایل اصلی برای افزایش حملات Credential Stuffing:
در اینجا به برخی از دلایل اصلی که باعث افزایش حملات credential stuffing شدهاند، اشاره میکنیم
- دسترسپذیری اطلاعات حسابهای به سرقت رفته
امروزه، هکرها به راحتی میتوانند به پایگاههای داده عظیم حاوی اطلاعات ورود به حسابهای به سرقت رفته دسترسی پیدا کنند. یکی از این پایگاه دادههای مشهور، Collection 1-5 است که بیش از ۲۲ میلیارد نام کاربری و رمز عبور را در خود جای داده است. بخش زیادی از این اطلاعات از حملهای که در سال ۲۰۱۶ به Yahoo صورت گرفت و منجر به افشای اطلاعات ۱.۵ میلیارد کاربر شد، به دست آمده است.
- پیشرفتهای فناوری
فناوریهایی مانند headless browsers (مرورگرهایی که مانند مرورگرهای معمولی عمل میکنند، اما بدون رابط کاربری گرافیکی (UI) اجرا میشوند)، امکان ورود به سیستم را با سرعت بالا فراهم کردهاند. به عنوان مثال، PhantomJS از JavaScript استفاده میکند و میتواند از طریق خط فرمان اجرا شود. هکرها همچنین میتوانند از تکنیکهایی مانند IP spoofing برای استفاده از آدرسهای IP جعلی استفاده کنند.
- دسترسی آسان به ابزارهای حمله
برای راهاندازی حملات credential stuffing، هکرها نیازی به تجهیزات پیچیده ندارند و به راحتی میتوانند نرمافزارها و سختافزارهای مورد نیاز را تهیه کنند.
- افزایش تعداد حسابهای آنلاین با گسترش فضای کار از راه دور
با گسترش کار از راه دور، تعداد زیادی از کاربران برای دسترسی به پلتفرمهای آنلاین جدید مانند سیستمهای ویدئو کنفرانس و ابزارهای همکاری آنلاین حسابهای جدید ایجاد کردهاند. این افزایش تعداد حسابها به همراه ضعفهای امنیتی مانند استفاده از رمزهای عبور مشابه و ضعیف، زمینهساز حملات Credential Stuffing شده است. یکی از مثالهای بارز این موضوع، حملات به پلتفرمهایی مانند Zoom بود، چرا که کاربران زیادی در تلاش برای دسترسی به این سیستمها بودند. این حملات نشاندهنده ضعفهای امنیتی ناشی از عدم توجه به مدیریت صحیح رمزهای عبور در دوران جدید کاری است.
- مشکل در شناسایی حملات
از آنجا که اطلاعات ورود به سیستم در حملات credential stuffing واقعی و معتبر هستند، شناسایی هکرهایی که خود را به جای کاربران قانونی جا میزنند، بسیار دشوار است. به همین دلیل، آگاهی از روشهای شناسایی این حملات و اتخاذ تدابیر پیشگیرانه برای جلوگیری از آنها، از اهمیت بالایی برخوردار است.
تفاوت حملات Credential Stuffing و Brute Force:
حملات credential stuffing و brute force هر دو به طور کلی به تلاشهای غیرمجاز برای ورود به حسابهای کاربران اشاره دارند. با این حال، نحوه عملکرد و تکنیکهای آنها کاملاً متفاوت است. در اینجا تفاوتهای اصلی این دو نوع حمله آورده شده است:
- روش اجرا:
در حملات brute force، هکرها سعی میکنند با امتحان کردن تمام ترکیبهای ممکن از حروف، اعداد و نمادها، رمز عبور صحیح را حدس بزنند. این روش زمانبر است و ممکن است صدها هزار یا حتی میلیونها تلاش را شامل شود. در مقابل، در حملاتcredential stuffing، هکرها از ترکیبهای نام کاربری و رمز عبوری که قبلاً از نقضهای دادهای یا خرید از دارک وب به دست آمدهاند، استفاده میکنند. سپس این ترکیبها را با استفاده از ابزارهای خودکار برای ورود به سیستمهای مختلف امتحان میکنند.
- هوشمندی:
حملات credential stuffing به دلیل استفاده از ترکیبهای واقعی و از پیش شناخته شده، هوشمندانهتر عمل میکنند. هکرها دیگر نیاز ندارند رمز عبور را حدس بزنند؛ بلکه فقط باید ترکیبهای دزدیده شده را در سیستمهای مختلف امتحان کنند. در حالی که در حملاتbrute force، هکرها از ترکیبهای تصادفی یا رمزهای عبور رایج برای تلاشهای خود استفاده میکنند که ممکن است کمتر مؤثر باشد.
- مقیاس:
حملات credential stuffing معمولاً در مقیاسهای بسیار بزرگتری انجام میشوند. هکرها میتوانند هزاران یا حتی میلیونها ترکیب دزدیده شده را برای ورود به حسابهای مختلف امتحان کنند. از سوی دیگر، حملات brute force ممکن است در مقیاسهای کوچکتری انجام شوند و معمولاً تنها روی یک حساب تمرکز دارند. این حملات برای شکستن یک رمز عبور خاص به تلاشهای مکرر نیاز دارند.
چگونه به حملات Credential Stuffing واکنش نشان دهیم؟
هنگامی که حملات Credential Stuffing شناسایی میشوند، انجام اقدامات سریع و مؤثر برای کاهش آسیبها و محافظت از حسابهای کاربری امری ضروری است. در اینجا راهکارهایی برای واکنش به این نوع حملات و مدیریت آنها به طور مؤثر ارائه شده است:
- قفل کردن حسابهای آسیب دیده: در مرحله اول، پس از شناسایی حمله یا نفوذ به سیستم، قفل کردن فوری حسابهای آسیبدیده باید به عنوان اولین اقدام انجام شود. این اقدام از گسترش تهدید و دسترسیهای غیرمجاز به اطلاعات حساس جلوگیری میکند. پس از قفل کردن حسابها، از کاربران آسیبدیده درخواست کنید که بلافاصله رمز عبور خود را تغییر دهند و در صورت امکان، از آنها بخواهید که به طور کامل روند بازیابی حساب را طی کنند. همچنین، دسترسی به این حسابها را تا زمانی که کاربران بتوانند هویت خود را به طور کامل تأیید کنند و رمز عبور جدیدی تنظیم نمایند، باید مسدود کرد. این فرآیند موجب کاهش ریسکهای امنیتی بیشتر شده و اطمینان حاصل میکند که هیچ سوءاستفادهای از حسابهای به خطر افتاده صورت نگیرد.
- نظارت دقیق بر فعالیتهای غیرعادی: در مرحله دوم، نظارت دقیق و مستمر بر فعالیتهای غیرعادی باید به طور جدی انجام شود تا هرگونه نشانه از حملات یا نفوذ به سیستم شناسایی گردد. تغییرات در رفتار حسابها و الگوهای ورود کاربران باید به طور دقیق و لحظهای بررسی شوند. به ویژه، باید به دنبال نشانههای هشداردهندهای مانند تلاشهای غیرعادی برای ورود، ورود به حسابها از آدرسهای IP ناشناخته، یا تراکنشهای مشکوک و غیرمعمول باشید. همچنین، هرگونه فعالیت غیرمنتظره باید به طور فوری بررسی و ارزیابی شود. برای افزایش دقت و سرعت در شناسایی تهدیدات، استفاده از ابزارهای خودکار و هوش مصنوعی برای شناسایی الگوهای غیرعادی و فعالیتهای مشکوک توصیه میشود. این ابزارها قادرند به صورت بلادرنگ نقاط ضعف سیستم و حملات احتمالی را شناسایی کنند و به تیمهای امنیتی هشدار دهند.
- اطلاعرسانی به کاربران آسیبدیده: به صورت شفاف با تمامی کاربران متاثر از حمله ارتباط برقرار کرده و از آنها بخواهید که رمزهای عبور خود را در تمامی سرویسها تغییر دهند. همچنین به کاربران توصیه کنید که تایید هویت دو مرحلهای (MFA) را فعال کنند، که با اضافه کردن یک لایه امنیتی بیشتر، از حملات احتمالی آینده جلوگیری خواهد کرد.
چگونه از وقوع حملات Credential Stuffing جلوگیری کنیم؟
جلوگیری از حملات Credential Stuffing برای کاربران عادی کار پیچیده ای نیست. استفاده از رمز عبورهای منحصر به فرد برای هر سرویس، به طور چشمگیری این نوع حملات را بیاثر میکند. علاوه بر این، استفاده از یک مدیر رمز عبور برای سادهتر کردن این فرایند به کاربران پیشنهاد میشود. همچنین، فعالسازی تأیید هویت دو مرحلهای (MFA) برای تقویت بیشتر امنیت حسابها، در صورت امکان، انتخاب خوبی است. اما برای سازمانها و کسبوکارها، جلوگیری از حملات Credential Stuffing چالشبرانگیزتر است، به ویژه برای سازمانهایی که از سرویسهای احراز هویت استفاده میکنند. اگرچه سازمانها میتوانند از کاربران بخواهند از رمزهای عبور منحصر به فرد استفاده کنند، اما اجرای کامل این راهکار برای همه کاربران دشوار است. خوشبختانه، سازمانها میتوانند از روشهای مختلفی برای مقابله با این نوع حملات بهرهبرداری کنند تا امنیت سیستمهای خود را تقویت کنند.
- CAPTCHA
CAPTCHA یکی از روشهای رایج پیشگیری از حملات است که از کاربران میخواهد قبل از ورود به سیستم، اثبات کنند که انسان هستند. این فرایند معمولاً شامل وارد کردن کاراکترهای مخدوش شده یا شناسایی تصاویری خاص از میان چند تصویر است. اما مشکل اصلی CAPTCHA این است که هکرها میتوانند با استفاده از مرورگرهای بدون رابط کاربری (headless browsers) آن را دور بزنند. به همین دلیل، توصیه میشود که CAPTCHA همراه با سایر تدابیر امنیتی به کار گرفته شود تا امنیت بیشتری فراهم گردد.
- تأیید هویت دو مرحلهای (MFA)
MFA یکی از مؤثرترین روشها برای جلوگیری از حملات Credential Stuffing است. این روش از کاربران میخواهد که هویت خود را با استفاده از دو عامل تأیید کنند، مثل رمز عبور و کدی که به دستگاه موبایل آنها ارسال میشود. این روش از دسترسی غیرمجاز جلوگیری کرده و امنیت بیشتری برای حسابهای کاربری فراهم میکند. اگرچه استفاده از MFA ممکن است در تمامی موارد عملی نباشد ولی میتوان آن را با دیگر روشهای احراز هویت مانند شناسایی دستگاه ترکیب کرد.
- استفاده از Device Fingerprinting
Device Fingerprinting به این معنا نیست که کاربر باید از اثر انگشت واقعی خود استفاده کند. بلکه این روش از JavaScript برای جمعآوری اطلاعات مختلف از دستگاه کاربران نظیر سیستمعامل، مرورگر، زبان، آدرس IP و غیره بهره میبرد. این اطلاعات برای ایجاد یک اثر انگشت دیجیتال منحصر به فرد برای هر کاربر استفاده میشود. در صورتی که ترکیب این دادهها در چند تلاش متوالی تکرار شود، این روش قادر است حملات Credential Stuffing و Brute force را شناسایی کند و به مقابله با آنها بپردازد.
- فهرستهای مسدود و مجاز IP
برای جلوگیری از دسترسی هکرها به شبکه، سازمانها میتوانند از فهرستهای مسدود و مجاز IP استفاده کنند. آدرسهای IP مخرب را میتوان مسدود کرد و آدرسهای مجاز را میتوان برای ورود به شبکه پذیرفت. این روش به کاهش حملات از طریق IPهای مشکوک کمک میکند.
- مسدود کردن مرورگرهای بدون رابط کاربری(headless browsers)
مرورگرهای Headless معمولاً توسط رباتهای مخرب برای انجام فعالیتهای خودکار استفاده میشوند. این مرورگرها به راحتی از طریق JavaScript callsشناسایی میشوند، بنابراین یکی از روشهای مؤثر برای جلوگیری از حملات Credential Stuffing مسدود کردن این مرورگرها است. با این حال، باید توجه داشت که مسدود کردن تمام مرورگرهای Headless ممکن است به طور ناخواسته رباتهای مفید را نیز مسدود کند. رباتهای مفید شامل خزندههای موتور جستجو مانند Google یا Bing هستند که برای ایندکس کردن صفحات وب و بهبود نتایج جستجو عمل میکنند. علاوه بر این، برخی رباتها برای نظارت بر وضعیت سایت و مدیریت chatbots استفاده میشوند. بنابراین، کلید شناسایی رباتهای مفید، شناخت منبع آنها است. رباتهای مفید معمولاً توسط شرکتهای معتبر و شناخته شده به کار میروند. این رباتها معمولاً به قوانین و سیاستهایی که شما در سایت خود تعیین کردهاید احترام میگذارند، بنابراین تشخیص و مدیریت دقیق آنها میتواند به شما کمک کند تا از رباتهای مخرب جلوگیری کرده و همچنان از مزایای رباتهای مفید بهرهبرداری کنید.
- ممنوعیت استفاده از آدرسهای ایمیل بهعنوان شناسه کاربری
استفاده از آدرس ایمیل بهعنوان شناسه کاربری یک روش رایج است که بسیاری از کاربران از آن برای ورود به سرویسهای مختلف استفاده میکنند. این روش باعث میشود که احتمال استفاده مجدد از اطلاعات ورود (مانند نام کاربری و رمز عبور) در چندین سرویس افزایش یابد. برای کاهش این خطر و تقویت امنیت، بهتر است که کاربران از آدرس ایمیل بهعنوان شناسه کاربری استفاده نکنند. بهجای آن، استفاده از شناسههای منحصر به فرد یا سیستمهای ورود دیگر (مانند استفاده از شناسههای دیجیتال یا شمارههای کاربری تصادفی) توصیه میشود.