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