امنیت جزئی جدایی ناپذیر از فضای سایبری و آنلاین امروزی است. با اینحال گاهن بعضی از جنبههای امنیت کمتر جدی گرفته میشود. اکثر ما امنیت زیرساختی و توسعهای محصولات و حتا امنیت سیستمعاملهای شخصی را کاملن جدی میگیریم. اما چقدر در مورد امنیت پسوردهای شخصی و فرمهای آنلاین میدانیم؟
تنها در سال 2018 و 2019، ۸۸ میلیارد حمله credential stuffing اتفاق افتاده است!
و ۸۱ درصد از کل اطلاعات درز پیدا کرده و منتشر شده کاربران تاکنون، به کمک حملات Credential stuffing بوده است. همچنین در یک سال گذشته حملات تصاحب حساب (Account Takeover )، ۳۰۰ درصد افزایش داشته است!
این آمار فقط بخشی از حملات سایبری است که شبکههای اجتماعی، وبسایتها و کسبوکارهای بزرگ هرروزه با آن درگیر هستند. اواسط سال ۲۰۲۰ میلادی، ۳۰۰ هزار حساب کاربری شرکت Spotify از طریق همین حمله Credential stuffing هک شد.
البته جلوگیری از این نوع حملات کار چندان دشواری نیست. و با راه حلهایی ساده میتوانید برخی حملات credential stuffing و brute force را دفع کنید.
Credential stuffing نوعی از حملات سایبری است که از دادههای درز کرده از یک سرویس برای ورود به سرویس دیگری استفاده میشود. در مثالی سادهتر فرض کنید یک مهاجم لیستی از اطلاعات کاربری شامل نام کاربری و رمزعبور که توسط فروشگاهی به بیرون درز کرده را بدست آورده است. در ادامه با این انگیزه که اشخاص در یک بانک معتبر حساب دارند، همان اطلاعات درز کرده برای ورود به سایت بانک استفاده میکند. از سال 2019 به لطف اطلاعات درز کردهای که در بازار سیاه به فروش میرسند، میزان حملات credential stuffing بطور چشمگیری رشد داشته است. گسترش اطلاعات درز کرده همراه با پیشرفت در حوزه رباتهای سایبری و دیگر ابزارهای credential stuffing منجر شده این نوع حملات تبدیل به یکی از محبوبترین راههای کسب درآمد غیرقانونی شود.
از نظر آماری حملات credential stuffing میزان موفقیت بسیار کمی دارند. بسیاری از برآوردها این میزان را حدود 0.1 درصد نشان میدهند. بدین معنا که از هر 1000 حساب که مهاجم تلاش بر شکستن رمز عبور آن را دارد تنها یکبار موفق میشود. ولی چون مهاجمان لیستهای اطلاعاتی را بین خود به اشتراک میگذارند. علی رغم نرخ موفقیت پایین، همچنان حملات credential stuffing ارزش تلاش را دارند. این مجموعههایی که مهاجمان به اشتراک میگذارند اغلب حاوی میلیونها و یا میلیاردها اطلاعات است. به سادگی میشود حساب کرد، اگر یک مهاجم مجموعهای حاوی یک میلیون اطلاعات کاربری داشته باشد، میتواند به راحتی به هزار حساب دسترسی پیدا کند. علاوه بر این مهاجم میتواند همین اطلاعات را در دیگر سرویسها نیز امتحان کند.
پیشرفت در زمینه رباتهای سایبری حملات Credential stuffing را بسیار محبوب کرده است. در حال حاضر سیستمهای تعبیه شده در وبسایتها به نحوی است که مانع از فعالیت کاربرانی با IP یکسان میشوند که تاکنون تلاشهای ناموفق بیشماری برای ورود به سیستم داشتهاند. به همین دلیل مهاجم با استفاده از نرم افزارهای credential stuffing و رباتهای بیشماری با IPهای متفاوت این سیستم امنیتی تعبیه شده را دور میزنند. در نهایت تنها نشانهای که شرکتهای قربانی دارند افزایش ناگهانی درخواستهای ورود و بالا رفتن نرخ ترافیک سایت است.
دلیل اصلی موفقیت آمیز بودن حملات credential stuffing استفاده مجدد افراد از نام کاربری و رمزهای عبور است. طبق آخرین آمار 85 درصد از افراد از یک رمز عبور یکسان برای بیشتر حسابهای کاربری خود استفاده میکنند. تا زمانی که افراد تصمیم بر تغییر این رویه نگیرند، این دسته از حملات مثمر ثمر خواهد بود.
برخی از محققان حوزه امنیت شبکه حملات Credential stuffing را جزئی از مجموعه حملات brute force قرار میدهند. اما اگر دقیقتر به این نوع حمله نگاه کنیم، تفاوتهای شایانی بین حملات Credential stuffing و brute force وجود دارد. در حملات بروت فورس مهاجم تلاش میکند با استفاده از رمز عبورهای شانسی و یا با امتحان کردن پیشنهادات رایج رمز عبور و بدون هیچ سرنخ و یا پیش زمینهای حساب کاربری را هک کند. ولی برخلاف آن در حملات Credential stuffing مهاجم با استناد به اطلاعات درز کرده از یک سرویس تلاش میکند، اکانت کاربر در دیگر سرویسها را هک کند. به همین علت در این حمله احتمال پاسخهای صحیح به طور چشمگیری کاهش پیدا میکند.
نقطه تفاوت این دو حمله مربوط به نوع رمز عبور است. بیشتر حملات بروت فورس با استفاده از رمز عبور قوی که شامل اعداد، حروف و نمادهاست، دفع میشود. و احتمال حدس این نوع رمز عبور بسیار کاهش مییابد. اما رمز عبور قوی نمیتواند مانع از حملات Credential stuffing شود. در این نوع حمله دیگر مهم نیست رمز عبور چقدر قوی و خاص باشد، تنها کافیست رمز عبور بین حسابها مشترک باشد تا اطلاعات شما به خطر بیافتد.
کاربران، مدیران وبسایتها و وب مسترها باید اقداماتی را برای مقابله با این نوع از حملات انجام دهند. در ادامه اقداماتی را که هر کدام از این افراد باید برای جلوگیری از حمله Credential stuffing انجام بدهند، با هم مرور میکنیم.
از دید یک کاربر دفاع در برابر حملات Credential stuffing بسیار ساده است. تنها کافیست برای هر حساب کاربری خود در پلتفرمها و سرویسها، از یک رمز عبور ویژه استفاده کنید. و همچنین رمز عبورهایتان دارای الگویهای ساده و قابل پیشبینی نباشد. به عنوان دیگر معیار امنیتی به کاربران توصیه میشود در صورت وجود احراز هویت دو مرحلهای آن را فعال کنند.
نحوه عملکرد این احراز هویت بدین صورت است که در ابتدا رمز عبور خود را وارد میکنید. در مرحله دوم پیامکی یا ایمیلی به شما ارسال میشود که حاوی کد ورود است. این نوع احراز هویت جلوی اکثر حملات را میگیرد. دیگر معیار امنیتی برای کاربران دقت بر سیستم وبسایت است. وبسایتهایی که دارای کپچا هستند از وقوع اکثر حملاتی که با ربات انجام میشوند جلوگیری میکنند. زیرا اکثر رباتهای حال حاضر قادر به پاسخگویی به تصاویر کپچا نیستند. پس اصلا وارد مرحله ارسال درخواست نمیشوند چه برسد که حساب کاربری را هک کنند.
برای شرکتهای تجارت الکترونیک و وبسایتها جلوگیری از وقوع حملات Credential stuffing تبدیل به چالشی جدی شده است. حفاظت از اطلاعات کاربران امری مهم در ساختار امنیتی وبسایتهاست. و کافیست تنها یکبار حملات مختلف سایبری مورد تایید قرار گیرند و اطلاعات کاربران به بیرون درز کند، تا ترافیک وبسایت برای مدت طولانی کاهش پیدا کند. اما به یاد داشته باشید که لزوما امنیت شرکتی که مورد حمله Credential stuffing قرار میگیرد به خطر نیافتاده، این حملات به علت درز اطلاعات دیگر شرکتها رخ میدهد.
راهکاری ساده اما موقت، پیشنهاد استفاده از رمزهای منحصر به فرد به کاربران است. هرچند این راهکار در اکثر مواقع مثمر ثمر واقع نمیشود و کاربران باز هم از رمزهای تکراری استفاده میکنند. برخی برنامهها به عنوان معیاری برای جلوگیری از حملات Credential stuffing قبل از تایید گذرواژه کاربر رمز عبور پیشنهادی را در پایگاه دادهای از گذرواژههای شناخته شده چک میکنند. هر چند این فرایند نیز قابل اطمینان نیست، کاربر میتواند از گذرواژه سرویسی استفاده کند که هنوز اطلاعاتش به بیرون درز نکرده است.
ویژگیهای امنیتی مختلفی به کاربران پیشنهاد دهید. یکی از موثرترین راهکارها برای جلوگیری از حملات سایبری استفاده از احراز هویت دو مرحلهای است. در حالی که این نوع احراز هویت باعث ناراحتی بسیاری کاربران میشود و همچنین بسیار وقت گیر است، اما اطلاعات آنها را به خوبی محافظت میکند و مانع از فعالیت رباتهای مزاحم در سایت میشود. احراز هویت دو مرحلهای علاوه بر سختیهایی که برای کاربران دارد، میتواند موجب ضررهای مالی برای صاحبان وبسایت نیز شود. در کشور ایران اغلب احراز هویتهای دو مرحلهای که توسط پیامک تایید میشود، استفاده میکنند. این نوع سیستم امنیتی به ازای هر درخواست احراز هویت برای صاحبان وبسایت هزینهای به همراه دارد. درنتیجه اگر مهاجمی پس از حمله به وبسایت توسط رباتها هزاران درخواست احراز هویت ارسال کند موجب ضرر مالی هنگفتی میشود.
قوی ترین محافظ دربرابر حملات Credential stuffing کپچاهای بسیار پیشرفته هستند. با استفاده از کپچا بدون ضررهای مالی به راحتی میتوانید حملات سایبری که توسط رباتها شکل میگیرند را دفع کنید. کپچا مجموعهای از حروف بهم ریخته، اعداد و تصاویر است که در قالب تصویر به کاربر نمایش داده میشوند. غالب رباتها تنها میتوانند وجود تصویر را در سایت شناسایی کنند اما قادر به پاسخگویی به آنها نیستند. کپچا آزمونی است بر محوریت آزمون تورینگ که به راحتی میتوانند با چند سوال ساده رباتها را از انسانها متمایز کند. هرچند تعداد محدودی از رباتهای امروزی که متکی به هوش مصنوعی هستند میتوانند برخی از کپچاها را حل کنند. اما به علت تکنولوژی بسیار پیشرفته، مهاجمان از این نوع رباتها استفاده نمیکنند.
سرویسهای گوناگونی بر محوریت کپچا به وجود آمده است. سرویس آرکپچا فارسی با استفاده از چالشهای تصویری و به کمک رعایت موارد امنیت لازم (مثل تایید دومرحله پاسخها، آدرسدهی داینامیک به تصاویر و اضافه کردن نویزهای هوشمند) میتواند به راحتی حملات رباتها را خنثی کند. هیچکدام از نرم افزارهای حملات سایبری از آرکپچای فارسی پشتیبانی نمیکنند. درنتیجه حتی مزرعههای کپچا نیز قادر به پاسخ گویی به سوالات و سرویسهای آرکپچا نیستند.