حملات سایبری
حمله کانال جانبی، حمله بروت فورس، حمله 51درصد

در دنیای سایبری و دیجیتال امروزی باید مراقب رمزها، پین کدها، کلیدهای خصوصی کیف پول رمزارز خود و سایر اطلاعات حیاتی مهم هویتی یا مالی خود باشیم زیرا کلاهبرداران اینترنتی یا همان هَکِرها همیشه سعی در حمله به سمت این قبیل اطلاعات دارند. اما اگر متخصص نرم افزار نیستید (و اکثر ما نیستیم) ممکن است مشخص نباشد که در مورد چه نوع حملاتی صحبت میکنیم. پس بیایید دقیق تر نگاه کنیم تا متوجه شویم:
حمله 51 درصدی
حمله کانال جانبی (Side-channel attack): یک «شَزِم» برای مصرف انرژی
وقتی آهنگی در رادیو پخش می شود، شزم (اپ موبایلی برای تشخیص نام آهنگی که میشنوید Shazam) میتواند به آن گوش دهد و به شما بگوید در حال حاضر چه آهنگی در حال پخش است. برای انجام این کار، Shazam سعی میکند در کتابخانه ای از آهنگها جستجو و نهایتا یک مطابقت پیدا کند. با ابزارهای مناسب، می توانید به همان اندازه به مصرف انرژیِ (مصرف برقِ) دستگاههای مختلف گوش دهید و داده های کلیدی را از آن استخراج کنید!
فرض کنید یک مهاجم به کامپیوتر یا گوشی موبایل یا کیف پول سخت افزاریِ رمزارزهای شما دسترسی فیزیکی دارد. در این حالت، مهاجم میتواند مصرف انرژی دستگاه را اندازهگیری کنند و درست مانند کاری که اپلیکیشنِ شزم Shazam با صدا انجام می دهد، الگوی مصرف انرژی را با یک پایگاه داده مخصوص مطابقت دهد. این در نهایت به شنونده (مهاجم) اجازه می دهد تا رمز دستگاه شما را بشکند.
این یک شکل خاص از حمله کانال جانبی است، اما چندین نوع دیگر وجود دارد.
نرم افزارها و ساخت افزارهای امنیتی به طور خاصی با اقدامات متقابل پیچیده ای اقدام به پنهان کردن تشعشعات الکترومغناطیسی و مصرف انرژی می کنند و از دستگاه شما در برابر کسانی که می خواهند به آن گوش دهند و از آن به عنوان یک بردار حمله استفاده کنند محافظت می کند. (در امنیت سایبری، بردار حمله مسیری است که یک هکر برای سوء استفاده از آسیبپذیریهای امنیتی طی میکند.)
حملات خطا (Fault attacks): اعمال تغییرات در مدار در حین کار
حمله خطا، عملی است که باعث ایجاد اختلال در مدار در حین کار می شود. این باعث بروز خطا در یک دستگاه یا ماشین می شود که می تواند منجر به یادگیری بیشتر در مورد عملکرد آن شود یا حتی یک رفتار متفاوت و معیوب را تحمیل کند. چنین رفتاری می تواند شامل پرش از مراحل یک فرآیند یا ارائه یک خروجی اشتباه باشد. همه اینها هدف یک حمله خطا است.
نرم افزارها و ساخت افزارهای امنیتی برای جلوگیری از موفقیت این نوع حملات، اقدامات محافظتی درون خود ندارد که امکان تشخیص کارآمد خطا و واکنش های امنیتی مناسب را فراهم می کنند.
حملات نرم افزاری (Software attacks): یاد گرفتن اینکه چه چیزی باعث تیک زدن دستگاه می شود
هدف حملات نرم افزاری افشا، تغییر، غیرفعال کردن، تخریب یا سرقت اطلاعات است. حملات نرم افزاری را می توان به انواع مختلفی از حملات تقسیم کرد که همه سعی می کنند رفتارهای غیرمنتظرۀ ناشی از موزد هدف قرار دادن نرم افزار را پیدا کنند. این رفتارهای غیرمنتظره در نرم افزار توسط وارد کردن اطلاعات نامتعارف انجام میپذیرد و در واقع می توانند آسیب پذیری ها یا اطلاعات حساس را نمایان سازند.
با بازی کردن با ورودیها، میتوانید درباره نحوه برنامهریزی نرمافزار دستگاه در برابر واکنش به ورودیهای نادرست، اطلاعات بیشتری کسب کنید. این درک از نرم افزار می تواند منجر به کشف نقاط ضعف آن شود. با این حال، نرم افزارها میتوانند با به کارگیری یک سیستم بسیار ساده که از رابط های بسیار کمی استفاده می کند، سطح حمله را به شدت کاهش دهند.
حمله بروت فورس (Brute Force Attacks)
حمله Brute Force تلاشی برای شکستن رمز عبور، یافتن نام کاربری، یافتن یک صفحه وب پنهان یا یافتن کلید مورد استفاده برای رمزگذاری پیام با استفاده از یک روش آزمون و خطا و بررسی تمام حالات ممکن است. این روش به میزان زیادی از امیدواری نیز نیاز دارد تا در نهایت رمز عبور را بهدرستی حدس زده شود. Brute force حملهای قدیمی اما همچنان محبوب و موثر است.
روشهای انجام حملهی Brute Force
یکی از کاربردهای حمله Brute Force انجام دادن کرک است. کرک یا Cracking عنوان عملیاتی است که معمولن مهاجم برای به دست آوردن رمز عبور یا نام کاربری جهت وارد شدن به یک سرور، سایت، سرویس و … انجام میدهد. در این نوع حملات مهاجم با استفاده از الگوهایی که در اختیار دارد ابزارهایی را استفاده میکند تا بتواند فهرستی از کاربران یا رمزهای موجود را روی سرور مدنظر تست کند. با این کار مهاجم در نهایت میتواند نام کاربری یا رمز عبور سرور، سایت و … را به دست آورد.
حملات Cracking خود دارای انواع مختلفی هستند و عملکرد و الگوی خاصی را نمیتوان برای آنها در نظر گرفت. ولی با توجه به استفادهی کاربران از پسوردهای تکراری، فهرستی از پسوردها، نامکاربریها و … وجود دارد که در اصطلاح به آن دیکشنری گفته میشود و رایجترین روش برای انجام حملهی Cracking است.
در دیکشنریها برای پسوردهایی که کاربرد بیشتری میان کاربران دارند، الگوهای خاصی تعریف میشود. برای نمونه 123456 پسوردی است که اولین و بیشترین استفاده در دیکشنری پسورد را دارد. دیکشنری در واقع فهرستی از رمز عبورهای رایج یا رمزهایی است که مهاجمان در طول سالهای قبل با استفاده از آنها به خیلی از سایتها نفوذ کردهاند. مهاجم هر رمز در دیکشنری را برای نفوذ امتحان میکند و این کار را تا زمانی که ترکیب صحیح نام کاربری و رمز عبور سایت را کشف کند، ادامه میدهد.
همچنین در نوع دیگری از حملات cracking، مهاجمان فهرستی از پسوردها یا نام کاربریهایی دارند که در اصطلاح به آنها Combo گفته میشود. معمولن این Comboها بعد از تست بهوسیلهی ابزارهای کرک، روی سایتها یا سرویسهای مقصد، رتبه نیز میگیرند.
یکی دیگر از روشهای انجام Brute Force شکستن رمزعبور با نرمافزارهایی است که برای این کار تولید شدهاند. این نرمافزارها برای سرویس مقصد ایجاد میشوند و با توجه به الگوریتمهای آماده، نوع سیستم و موارد مرتبط، رمزهای عبور تصادفی ایجاد میکنند. در حملات Brute Force، مهاجمان الگوهای خود و همچنین بازههای خطاگیری و قفل شدن را در نرمافزار مورد استفاده تنظیم و فیلترینگهای خود را نسبت به سرویس مقصد آنقدر محدود میکنند تا مدتزمان دریافت نتیجه را به حداقل برسانند.
برای نمونه مهاجم وقتی که قصد نفوذ به یک سرور لینوکس را دارد، میداند که امکان استفاده از کاراکتر ^ یا % وجود ندارد یا بسیار کم است، پس فیلترهای اعمال شده برای ایجاد نامکاربری را از این مقادیر خالی میکند تا نتایج را در زمان سریعتری دریافت کند.
روشهای جلوگیری از حملات Brute Force
تقریبن میتوان گفت روشی برای مقابلهی کامل با این نوع حملات وجود ندارد اما، میتوان بهگونهای احتمال یافتن پسورد در این حملات را به حداقل رساند. برخی از این روشها به شرح زیر هستند:
رمزهایعبور قویِ انتخاب کنید. بزرگترین هدیهای که میتوانید به مهاجمان بدهید رمزهایعبور یکسان برای تمامی سرورها، اکانتها و … است! از این اقدام بهجد اجتناب کنید. برای رمزگذاری روی تمام نرمافزارها، سرورها، بخش مدیریت سایتها و … از پسورد Full Complex و طولانی استفاده کنید. رمزها باید شامل حروف بزرگ و کوچک و اعداد و کاراکترهای خاص باشند.
از کلمات معنیدار و قابل حدس در رمزهای عبور استفاده کنید.
از الگوریتمهای رمزگذاری پیچیده مانند SHA-512 استفاده کنید، از الگوریتمهای رمزگذاری قدیمی یا ضعیف استفاده نکنید. استفاده کردن از الگوریتمهای پیچیده و جدید بهطور چشمگیری سرعت حملات Brute force را کاهش میدهد.
رمزهای عبور خود را در نرمافزارهای مخصوص این کار نگهداری کنید. به این ترتیب هم رمزهای پیچیدهی خود را فراموش نمیکنید و هم بهراحتی به آنها دسترسی خواهید داشت. در ضمن امنیت این نرمافزارها در برابر اینگونه حملات نیز بسیار بیشتر است.
اطلاعات رمزگذاری شدهی خود را در یک جای امن نگه دارید که مهاجمان به آن دسترسی نداشته باشند.
رمزهای عبور مشترک سرور خود را در سایتهایی که ثبتنام میکنید، وارد نکنید. یکی دیگر از بزرگترین مشکلاتی که که مهاجم با کمک آن میتواند بدون نیاز به Brute Force سرور شما را هک کند، پسورد مشترک و ورود آنها در سایتهای غیرمعتبر است.
مواردی که میتوانند جلوی حملات Brute Force روی وبسایتها را بگیرند، کمی سادهتر هستند و کاربر با اندکی تغییر، بهسادگی میتواند حداقل الگوهای راحت را برای مهاجم حذف کند. برای نمونه تمام کاربران آماتور و مهاجمان، میدانند که صفحه ورودی پیشفرض قسمت ادمین، برای سیستم مدیریت wordpress و ورود اعضای آن، آدرس
/wp-admin.php و wp-login.php است. پس اولین قدم برای جلوگیری از حملات مهاجمان، تغییر صفحات پیشفرض و یا ایجاد محدودیت برای دسترسی به این صفحه است. برای نمونه صفحات مدیریتی حساس برای سیستم خود را میتوانید محدود به IP کنید. با این روش امکان تست پسورد برای قسمت مدیریت بهوسیلهی مهاجمان کمتر وجود دارد. در سرورها نیز با تغییر پورتهای پیشفرض سرور میتوانید جلوی این حملات را بگیرید. برای نمونه پورت پیشفرض ورود با ssh پورت شماره 22 است و میتوان آن را به پورت بازی دیگر تغییر داد. در سرورهای ویندوزی نیز بیشترین کرکها روی پورت پیشفرض Remote Desktop با شماره 3389 انجام میشوند. اگر از این سرویس استفاده میکنید، پورت پیشفرض Remote Desktop را حتمن تغییر دهید.
حمله مرد میانی
در واقع یک اصطلاحی کلی برای زمانی است که مهاجم خود را بین کاربر و برنامه قرار میدهد؛ ممکن است یا برای شنود باشد و یا برای جعل هویت یکی از طرفین. به صورت کلی این طور به نظر میرسد که یک تبادل اطلاعات عادی در جریان است. رهگیری جریان های ارتباطی (برای مثال از طریق WiFi عمومی) و انتشار اطلاعات محرمانه.
هدف از این حمله، سرقت اطلاعاتی مانند اطلاعات ورود به حساب کاربری اشخاص یا اطلاعات حسابهای بانکی میباشد. اطلاعات به دست آمده ناشی از این حمله، میتواند برای اهداف زیادی مورد استفاده قرار گیرد از جمله سرقت هویت، انتقال غیر مجاز وجه یا تغییر غیر قانونی پسورد.
به طور کلی، اگر بخواهیم حمله Man-in-the-middle یا MITM را تشبیه کنیم، باید بگوییم مانند این است که یک پستچی، صورتحساب بانکی شما را باز کند، مشخصات حساب خود را بنویسد، دوباره درِ پاکت نامه را بسته و آن را تحویل دهد.
کی لاگر (Key Logger)
کی لاگر یا ثبت کنندۀ کلید یک حمله سایبری نیست اما روشی است که می تواند امنیت و حریم خصوصی شما را به شدت به خطر بیاندازد. کیلاگر، به نرمافزارهایی گفته میشود که کلیدهای فشردهشده بر روی صفحه کلید (کیبورد Keyboard) را ذخیره میکنند؛ به صورتی که میتوان به کمک آن، اطلاعات تایپ شدهٔ کاربران؛ از قبیل رمزهای عبور آنها را سرقت کرد.
در این روش، هکر با نصب بدافزار (Malware) روی کامپیوتر یا موبایلِ شخص قربانی، ضرباتی که کاربر روی صفحه کلید یا کیبورد سخت افزاری یا نرم افزاری وارد می کند را ثبت و حروف، اعداد یا سایر علائم تایپ شده توسط کاربر را برای خود ارسال می نماید.
از کیلاگرها میتوان برای یافتن منابع اشکالات استفاده کرد و نحوه ارتباط کاربران و سیستم، نحوه انجام کار و پیشرفت آن را در بعضی کارهای اداری مورد بررسی قرار داد. کیلاگرها بهطور گسترده در اینترنت وجود دارند.
کیلاگرها را میتوان هم به صورت نرمافزاری و هم به صورت سختافزاری مورد استفاده قرار داد. ابزار سختافزاری عموماً به ۳ شکل در دسترس هستند: ابزاری که به کابل صفحهکلید متصل میشوند، ابزاری که داخل صفحهکلید قرار میگیرند و ابزاری که خود همانند یک صفحهکلید معمولی هستند. نوع اول به راحتی قابل شناسایی و به راحتی قابل نصب است ولی نوع دوم و سوم نیاز به دسترسی بیشتر به داخل صفحهکلید دارند و به راحتی قابل شناسایی نیستند.

یک روش ساده برای مقابله با کیلاگرها
کیلاگرهایِ نرمافزاری معمولاً در سطوح پایین سیستمعامل کار میکنند؛ بدین معنی که از اتفاقات سطح بالا مانند فوکوس روی برنامههای مختلف بیاطلاع هستند و تنها کلیه کلیدهای فشرده شده را استخراج میکنند. فرض میشود شما در رایانهای در حال کار هستید که برنامه کیلاگر در آن فعال و غیرقابل کشف است. به عنوان مثال در یک کافی نت از اینترنت استفاده میکنید. برای جلوگیری از دزدیده شدن نام و گذرواژههایتان، به ازای هر حرفی که در فیلد نام کاربری (Username) یا گذرواژه (رمز عبور Password) تایپ میکنید، روی قسمت دیگری از صفحه کلیک کنید تا فوکوس از روی جعبه متن برداشته شود. سپس تعدادی کلید را به صورت تصادفی فشار دهید. پس از این کار، حرف بعدی از نام یا گذرواژهتان را وارد کنید. این کار را تا وارد کردن کامل مشخصات ادامه دهید. با انجام این روش ساده، آنچه در برنامه کیلاگر ذخیره میشود، تعداد زیادی حروف تصادفی و طولانی است. گر چه اطلاعات شما نیز در این حروف قرار دارد، اما کشف آنها بسیار مشکل است. این روش نمیتواند مانع کیلاگرهایی شود که در سطوح بالاتر فعالیت میکنند یا مستقیماً مقادیر داخل فیلدها را میخوانند.