معرفی حملات Brute Force

حمله Brute Force ازجمله حملات کرکینگ است که در آن فرد مهاجم با استفاده از روش آزمون و خطا، اطلاعات ورودی، کلید های رمزگذاری یا یک وب پیج مخفی را پیدا میکنند. فرد مهاجم تمام ترکیبات ممکن را امتحان میکند، به امید این که بتواند به درستی حدس بزند. یکی دیگر از حملات اینترنت حمله DDOS است. برای آشنایی با حمله DDOS به صفحه ی DDOS چیست مراجعه کنید.

حملات کرکینگ معمولا از الگوی خاصی پیروی نمیکند و با بررسی همه احتمالات موجود و یا مواردی که احتمال درست بودن آن‌ها بیشتر است، انجام می‌پذیرد.

این روش، یک روش قدیمی است؛ با این حال همچنان موثر و بین مهاجمان اینترنتی مشهور است. با توجه به طول و پیچیدگی پسوورد، شکستن آن از چند ثانیه تا چند سال ممکن است به طول بی انجامد.
در صورتی که فرد مهاجم از یک کامپیوتر عادی استفاده میکند، این حمله برای عباراتی با  بیش از ۵-۶ کاراکتر پرهزینه و بیهوده خواهد بود.

آشنایی با حمله Brute Force  برای تمامی دارندگان وب سایت و افرادی که دارای رمز عبور و نام کاربری مهم در وبسایتی هستند لازم و ضروری است تا با شناخت این روش ها و نحوه مقابله با آنها فضای امن تری را در سراسر اینترنت داشته باشند. به همین دلیل در این مقاله به مفهوم حمله Brute Force و راهکارهای جلوگیری از آن می پردازیم.

 

حمله brute force چیست

 

 

علت به وجود آمدن حمله Brute Force

انجام این حمله در حالت عادی تلاش زیادی میخواهد؛ با این که تکنولوژی این امر را آسان تر کرده، اما همچنان سوال است که چرا یک فرد باید بخواهد حمله brute force را انجام دهد؟

بدست آوردن سود از تبلیغات یا جمع آوری اطلاعات فعالیت:

فرد مهاجم میتواند از یک وبسایت در کنار دیگر وب سایت ها، برای کسب کمیسیون تبلیغاتی با استفاده از حمله brute force سوء استفاده کند. راه های معروف این کار در ادامه آمده است:

 

  • قرار دادن تبلیغات اسپم در یک وبسایت پر بازدید، به صورتی که با هربار کلیک یک کاربر یا بازدید صفحه، فرد مهاجم کسب درآمد میکند. 
  • تغییر مسیر ترافیک یک وب سایت به وب سایت تبلیغاتی ای که به فرد مهاجم سفارش داده است.
  •  آلوده کردن یک وب سایت یا بازدید کنندگان آن سایت با یک بد افزار، معلمولا spyware، به این صورت که اطلاعات شما را برداشت میکند و بدون این که شما با خبر شوید آن ها را به رقبای شما میفروشد تا آن ها بتوانند عملکرد خود را بهبود ببخشند.

به سرقت بردن اطلاعات شخصی و ارزشمند:

ورود غیر مجاز به حساب های آنلاین مانند شکستن گاوصندوق یک بانک است. همه چیز، از حساب های بانکی گرفته تا اطلاعات مالیاتی را می توان بصورت آنلاین پیدا کرد. تنها کاری که برای یک مجرم لازم است این است که بتواند به درستی وارد حساب ما بشود تا پول یا هویت شما را به سرقت ببرد یا اعتبارنامه خصوصی شما را برای به دست آوردن سود بفروشد.

پخش کردن بدافزار برای ایجاد اختلال در سایت:

اگر شخص مهاجم بخواهد در یک سایت مشکل ایجاد کند یا مهارت های خود را آزمایش کند، ممکن است ترافیک وب سایت را به سایت های مخرب هدایت کند. از طرف دیگر، شخص مهاجم می تواند به طور مستقیم سایتی را که در آن بدافزار مخفی نصب شده است، روی سیستم های بازدید کننده نصب کنند و آن سایت را آلوده کند.

به سرقت بردن سایت شما برای انجام اعمال مخرب:

وقتی یک دستگاه برای فرد مهاجم کافی نباشد، او برای سرعت بخشیدن به کار خود، از ارتشی از سیستم های غیر مشکوک به نام بات نت استفاده می کنند. برای آشنایی یشتر با بات نت، به مقاله  DDOS چیست مراجعه کنید.

بدافزارها می توانند به رایانه، دستگاه تلفن همراه یا حساب های آنلاین شما برای اسپم فیشینگ ، افزودن حمله Brute Force  و موارد دیگر نفوذ کنند. اسپم فیشینگ ها میتوانند ایمیل های جعلی از طرف یک سایت معتبر باشند که از شما افشای رمز ها و اطلاعات شخصی حسابتان را درخواست کنند. اگر شما روی سیستم خود آنتی ویروس نداشته باشید، بیشتر در معرض خطر این حمله ها قرار میگیرید.

از بین بردن اعتبار یک وب سایت:

اگر شما یک وب سایت راه اندازی کنید و به یکی از هدف های خرابکاری افراد مهاجم  تبدیل شوید، یک مجرم سایبری ممکن است تصمیم بگیرد که سایت شما را با محتوای ناپسند آلوده کند. این محتوا ممکن است شامل متن، تصاویر و صدا های خشن، فیلم های نامناسب یا توهین آمیز باشد.

 

انواع حمله Brute Force

هر نوع حمله Brute Force  می تواند از روش های مختلفی برای کشف اطلاعات مهم شما استفاده کند. شما ممکن است در معرض هر یک از روش های معروف  زیر قرار بگیرید:

حمله Brute Force ساده:

در این روش، فرد مهاجم سعی میکند که اعتبارنامه های شما را به صورت منطقی و کاملا بدون نرم افزار یا سایر ابزار ها، حدس بزند. با این روش فرد مهاجم میتواند رمز ها و پین اهای بسیار ساده را مثل guest12345 حدس بزند.

 

حمله به روش Dictionary:

در یک حمله استاندارد، فرد مهاجم یک هدف را انتخاب کرده و رمزهای  ممکن را بر روی آن نام کاربری اجرا می کند به این صورت که یک  فهرست کامل از کلمات و رمز های مختلف تهیه کرده و تمام گزینه های ممکن را برای دسترسی پیدا کردن  به اکانت کاربر امتحان می کند. این روش به عنوان حمله Dictionary شناخته میشود. این نوع از حمله Brute Force از ساده ترین نوع آن است. این عمل به خودی خود حمله حساب نمیشود؛ با این حال افراد مهاجم از این عمل برای شکستن رمز ها استفاده میکنند. معمولا افراد مهاجم از یک لیست جامع با کلمات قوی با کاراکتر های خاص و اعداد استفاده میکنند؛ اما همچنان استفاده از این روش مستلزم زمان و تلاش زیادی است. 

 

حمله Brute Force چندگانه:

در  این روش، فرد مهاجم از هر دو روش حمله Brute Force ساده و حمله به روش Dictionary به صورت همزمان استفاده میکند؛ به این صورت که فرد مهاجم کلمات موجود در دیکشنری را با کمی تغییر امتحان میکند، مثلا اعداد را به کلمات اضافه میکند یا از حروف کوچک و بزرگ در کلمات دیکشنری استفاده میکند مثل  NewYork1993 یا Spike1234.

حمله Brute Force برعکس:

در این نوع حمله فرد مهاجم بجای این که سراغ یک کاربر خاص در یک سایت با یک نام کاربری برود و رمزهای مختلف را بر روی آن اکانت تست کند، لیست کاربران را جمع آوری میکند  و با در نظر داشتن یک یا چند رمز پر استفاده، ورود به اکانت همه کاربران آن سایت را امتحان می‌کند. این روش از حمله Brute Force برای وقتی است که فرد مهاجم قصد تخریب هر کدام از کاربران یک سایت یا سرویس را دارد. بسیاری از این مهاجمان از رمز های بر استفاده ای  که در سراسر اینترنت پخش شده است استفاده میکنند.

استفاده مجدد از اطلاعات اکانت کاربر:

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

ابزار کمک به حمله Brute Force

حدس زدن گذرواژه برای یک کاربر یا سایت خاص می تواند مدت زیادی طول بکشد ، بنابراین افراد مهاجم ابزارهایی را برای انجام سریع این کار به وجود آورده اند.

ابزار خودکاری که به حمله Brute Force  کمک میکنند. این ابزارها میتوانند مچ بودن یا نبودن هر نام کاربری را با یک رمز به سرعت امتحان کنند. نرم افزار های Brute Force می تواند یک رمز دیکشنری را در عرض یک ثانیه پیدا کند. این نرم افزار ها به صورتی برنامه ریز شده اند که راه حل های زیر را اعمال کنند:

در برابر بسیاری از پروتکل های رایانه ای (مانند FTP ، MySQL ، SMPT و Telnet) کار کند.

به افراد مهاجم اجازه بدهد که به مودم های بی سیم حمله کنند.

رمز های ضعیف را تشخیص دهند.

رمز هایی که در حافظه رمزگشایی پنهان شده اند، رمز گشایی کند.

بتوانند کلمات را به زبان  leetspeak ترجمه کنند. این زبان به این صورت است که کلمات انگلیسی را به صورت خاص نمایش میدهد که برای اعمال به عنوان رمز یا نام کاربری مفید است. به عنوان مثال  “don’thackme” به “d0n7H4cKm3,”  تبدیل میشود.

بتواند تمام ترکیبات ممکن از کاراکترها را اجرا کند.

توانایی انجام حمله دیکشنری را داشته باشد.

 

سیستم خودکار

 

برخی ابزار ها می توانند جدول رنگین کمان را که برای رمز ها وجود دارد از قبل محاسبه کند. جدول رنگین کمان فایلی است که در آن شما تعدادی هش دارید که میخواهید رمز آن را کرک کنید. هش یک فایل یا رمز خودش یک کد مخصوص است که برای هرکدام  به صورت اختصاصی ایجاد شده است، مثل اثر انگشت.

به زبان ساده تر Rainbow Table مجموعه ای از رمزهای شکسته شده هستند که در اختیار شما قرار می گیرند و شما با استفاده از نرم افزار کرک تنها یک عملیات مقایسه انجام می دهید و قدرت پردازشی شما صرف محاسبه و مقایسه هش نخواهد شد.

 

جدول رنگین کمان

 

به عبارت دیگر ، جداول رنگین کمان سخت ترین قسمت حمله Brute Force را با سرعت بخشیدن به روند کار از بین می برد.

تاثیر GPU بر روی حمله Brute Force

ما در پردازنده‌های اصلی یا CPU ها تنها چندین هسته داریم که در یک لحظه می‌توانند تنها یک حالت را امتحان کنند، با این که حمله Brute Force برای انجام داده شدن به تعداد هسته های بالایی نیاز دارد؛ در نتیجه مهاجمان برای این حمله از کارت گرافیکی یا GPU ها که تعداد بسیار زیادی هسته پردازشی دارند که در یک لحظه می‌توانند بسیار پر سرعت تر از پردازنده اصلی اقدام به کرک کردن کنند. مهاجمان برای سرعت بخشیدن به کار خود روش هایی یش بینی کرده اند که در ادامه بیان شده:

ترکیب CPU با GPU؛ این کار سرعت کامپیوتر را بالا میبرد. با اضافه کردن هسته های پردازشی بیشتر که در پردازنده گرافیکی وجود دارند برای پردازش، سیستم این توانایی را پیدا میکند که چندین وظیفه را به طور همزمان انجام دهد. پردازش GPU برای آنالیز، مهندسی و سایر برنامه های کاربردی با محاسبات فشرده استفاده می شود. مهاجمان با استفاده از این روش می توانند رمزها را حدود 250 برابر سریعتر از یک CPU بشکنند.

بنابراین ، چه مدت طول می کشد تا رمز عبور را بشکنید؟ به طور مثال یک رمز عبور شش کاراکتری که شامل اعداد هم میشود، تقریباً 2 میلیارد ترکیب ممکن دارد. شکستن آن با یک CPU قدرتمند که 30 رمز عبور در هر ثانیه را تست می کند بیش از دو سال طول می کشد. اضافه کردن یک GPU  قدرتمند و یکپارچه، به همان رایانه اجازه می دهد تا 7،100 رمزعبور را در هر ثانیه آزمایش کرده و رمز عبور را در مدت چند روز کرک کند.

 

زمان شکستن رمز

 

محافظت از رمز ها در برابر حمله Brute Force

برای اینکه خود و شبکه خود را ایمن نگه دارید، نیاز دارید که اقدامات امنیتی خاصی را انجام داده و به دیگران نیز در انجام این کار کمک کنید. برای این کار، اعمال کاربر و سیستم های امنیتی شبکه هر دو به تقویت نیاز دارند. درصورتی که شما از سرور مجازی استفاده میکنید، این سرور ها باید دارای امنیت بالایی باشد، برای آشنایی با سرور های مجازی به صحفه ی سرور مجازی چیست و کاربرد آن در دنیای IT مراجعه کنید.

در ادامه یک سری توصیه ی امنیتی برای متخصصان IT و کاربران اینترنتی جهت محافظت اکانت و رمز های خود در برابر حمله Brute Force بیان شده است:

 

  • از یک نام کاربری و رمز عبور پیشرفته استفاده کنید. با اعتباراتی که از “ادمین” و رمز عبور “1234” قوی تر باشند  از خود و اکانت هایتان در برابر مهاجمان محافظت کنید. هرچه این ترکیب قوی تر باشد، نفوذ هر کسی به آن سخت تر خواهد بود.
  • اکانت های بلااستفاده  با مجوزهای سطح بالا را حذف کنید. این ها یک سری فضای مجازی شبیه به  در هایی با قفل های ضعیف هستند که به راحتی قابل شکستن اند. داشتن اکانت غیر قابل حفاظت، یک ریسک بزرگی است که شما نباید متحمل شوید. پس هرچه سریع تر آن ها را پاک کنید.

پس از اتمام اصول اولیه، مطمئنا شما می خواهید امنیت خود را تقویت کنید. در ادامه ما کارهایی را که می توانید در پس زمینه انجام دهید، به شما خواهیم گفت، سپس راهنمایی هایی را برای حمایت ازعادات ایمن ارائه می دهیم.

محافظت های پس زمینه ای منفعل برای رمز ها عبور

نرخ های رمزگذاری بالا:

برای سخت تر کردن موفقیت حمله Brute Force، مدیران سیستم باید اطمینان حاصل کنند که رمزهای عبور برای سیستم هایشان با بالاترین میزان امنیت رمزگذاری قرار داده شده است، به عنوان مثال رمزگذاری 256 بیتی مناسب است. هرچه تعداد بیت در طرح رمزگذاری بیشتر باشد، رمز عبور سخت تر خواهد بود.

احراز هویت دو مرحله ای:

ادمین میتواند یک ویژگی به احراز هویت اضافه کند به نام احراز هویت دو مرحله ای؛ در این روش کاربر علاوه بر وارد کردن رمز ملزم باشد که از یک فاکتور دیگر مثل اثر انگشت و دیگر اسکن های بیومتریک یا یک کلید یا USB استفاده کند.

محدود کردن امکان تلاش مجدد برای لاگین کردن:

با محدود کردن تعداد تلاش برای ورود به اکانت، تلاش های مشکوک برای لاگین در اکانت شما کاهش میابد، زیرا این روش به این صورت است که فرد به عنوان مثال سه بار تلاش ناموفق برای ورود به حساب شما دارد و شما این فرایند را به گونه ای طراحی کرد اید که پس از این سه بار، فرد به مدت زمان مشخصی اجازه ی تلاش مجدد نداشته باشد. به این صورت ورود به حساب شما برای فرد مهاجم خسته کننده خواهد بود و این باعث میشود حساب شما را رها کرده و به سراغ حساب های ساده تر رود.

قفل کردن حساب پس از تلاش بیش از حد برای ورود به سیستم:

گاهی اوقات مهاجمان با قفل شدن موقت لاگین، منصرف نمیشوند و مدام پس از بازشدن این راه، به تلاش خود ادامه میدهند. در صورتی که اگر بخش IT این فرایند را پیش بینی کرده باشد که پس از چند تلاش ناموفق، کاربر ملزم باشد که برای ورود به حساب، با بخش IT تماس برقرار کند، مانع از این میشود که مهاجم بتواند تلاش های متعدد انجام دهد.

کم کردن میزان ورود مکرر به سیستم: 

اگر شما با هربار تلاش ناموفق فرد برای ورود به اکانت، فاصله ی زمانی تا مجوز تلاش بعدی را بیشتر کنید، در این فاصله ی زمانی شما میتوانید بررسی کنید تا در صورت وجود تهدید، آن را برطرف کنید. از طرفی تمام افراد مهاجم تا مرحله بعد یعنی رسیدن زمان مجاز برای تلاش مجدد صبر نمیکنند و ممکن است این سایتیااکانت را رها کنند.

استفاده از کدهای کپچا CAPTCHA:

تایید دستی، از ربات ها برای به وجود آوردن حمله Brute Force جلوگیری میکنند. کپچا انواع مختلفی دارد، از جمله تایپ کردن متن درون تصویر، تیک زدن یک چک باکس، یا تشخیص اشیاء درون تصویر. شما میتوانید این کد کپچا را هر دفعه پس از ناموفق شدن لاگین، از شخص وارد شونده درخواست کنید.

بلاک کردن IP های مهاجم:

 یکی دیگر از اقدامات مهم و موثر برای پنل مدیریت سایت و سرور، بلاک کردن IPهایی است که بیش از چند بار رمز را اشتباه وارد می‌کنند. در این روش هر IP که بیش از حد مجاز اقدام به تست رمز در فرم لاگین را انجام دهد توسط ابزار‌ها یا پلاگین‌های مخصوص تا مدت زمان مشخصی بلاک خواهد شد. البته باید این لیست که تهیه میشود مدام آپدیت شود.

 

حمایت فعال IT از رمزهای عبور

آموزش رمز عبور:

رفتار حفاظتی کاربر در امنیت رمز تاثیر اساسی ای دارد. به کاربران خود روش های ایمن و ابزارهایی آموزش دهید تا به آنها کمک کند تا پیگیری و کنترل رمز خود را در دسترس داشته باشند.  سرویس هایی مانند Manager Password Kaspersky به کاربران این امکان را می دهد که رمزهای پیچیده و به غیر قابل یادآوری  را بجای اینکه روی برچسب های یادداشت بنویسند ، در یک بخش خاص رمزگذاری شده ذخیره کنند.

از آنجا که کاربران عادت دارند به خاطر راحتی، امنیت خود را به خطر بیاندازند، مطمئن باشید که روش ها و ابزاری که در اختیارشان قرار میدهید به راحتی امنیتشان را تضمین کند. 

بررسی فعالیت های عجیب اکانت خود:

لوکیشن های نامتعرف برای لاگین شدن، تعداد بیش از حد تلاش برای لاگین شدن و غیره از این دست فعالیت های عجیب هستند.

فعالیت های عجیب  روز در اینترنت و و عرصه ی کرکینگ را پیدا کنید و روی بستن راه های ورود از طریق آن ها کار کنید. در صورتی که این فعالیت ها را در یک سایتتان یا اکانت کاربرتان مشاهده کردید بلاک کردن IP address یا قفل کردن اکانت را امتحان کنید، و در صورت نیاز با کاربر تماس بگیرید تا از این که خود کاربر قصد ورود به اکانت را داشته مطمئن شوید.

تقویت قدرت و امنیت رمز عبور در مقابل  حمله Brute Force

بهترین دفاع دربرابر حمله Brute Force این است که مطمئن باشید رمز عبور شما به قدر کافی قوی هستند. حمله Brute Force بستگی زیادی به زمان دارد، پس بهترین راه این است که با افزایش قدرت رمز عبور خود، سرعت این حمله را پایین بیاورید، زیرا در بیشتر مواقع مهاجمان وقتی می بینند کار شکستن رمز زمان زیادی می برد، آن را رها میکنند.

در ادامه چند راه برای افزایش قدرت رمز عبور بیان شده:

رمز عبور طولانی با کاراکتر های متنوع

در صورت امکان بهتر است که رمز عبور شما دارای 10 کاراکترباشد که شامل علامت و عدد هم بشود. این کار   10 به توان 30 احتمال ایجاد میکند، حتی با استفاده از پردازنده GPU که 10.3 میلیارد هش در ثانیه را امتحان می کند، شکستن رمز عبور تقریباً 526 سال طول می کشد. اگرچه، یک ابرکامپیوتر می تواند ظرف چند هفته آن را بشکند. درنتیجه بیشتر بودن تعداد کاراکترها، سختی شکستن رمز عبور را بیشتر میکند .

عبارت های پیچیده برای رمز عبور

همه سایت ها چنین گذرواژه های طولانی ای که در مورد قبل گفته شد را قبول نمی کنند، پس باید به جای چنین عبارت طولانی ای، از عبارات ترکیبی با کاراکتر های خاص استفاده کنید. حمله دیکشنری مخصوص عبارات تک کلمه ای هستند و گاهی بدون تلاش خاصی رمز را میشکنند. 

داشتن قانون خاص برای ساخت رمز عبور

بهترین رمزهای عبور آن هایی هستند که شما می توانید آنها را به خاطر بسپارید اما برای کسی که آنها را می خواند منطق خاصی نداشته باشد. هنگام ساخت اینگونه رمز ها شکل کلمات را تغییر دهید، مثلا به جای wood از عبارت wd استفاده کنید که خودتان میدانید چه معنی یا دارد، اما شخصی که آن را  می بیند از این مسئله اطلاعی ندارد.

عدم استفاده طولانی از یک رمز عبور

این که چند وقت یک بار رمز عبور های خود را تغییر دهید، در حفظ امنیت اکانت های شما بسیار کارآمد است.

استفاده از رمز عبور منحصر به فرد برای هر اکانت

برای دور ماندن از دسترس مهاجمان، هیچ گاه یک رمز را برای دو اکانت استفاده نکنید و در هر سایتی که اکانت میسازید، یک رمز عبور جداگانه داشته باشید. برای بالاتر بردن امنیت خود، در هر اکانت، نام کاربری خود را هم متفاوت قرار دهید؛ با این کار در صورتی که یکی از اکانت های شما دچار حمله شد، بقیه اکانت های شما محفوظ می مانند.

استفاده از برنامه مدیریت رمز عبور

با نصب یک نرم افزار مدیریت رمز عبور، ایجاد و حفظ اطلاعات لاگین شما به صورت اتومات صورت می گیرد و یک رمز برای دسترسی به آن ها به شما میدهد. این برنامه به شما این اختیار را میدهد که با ورود به آن، بتوانید به تمامی اکانت های خود دسترسی داشته باشید. مزیت این برنامه این است که شما نیازی نیست تمام رمز های طولانی و پیچیده ی خود را به اطر بسپارید؛ تنها کافیست یک رمز را به یاد داشته باشید.

 

 

حمله brute force