Mojtaba Montakhabi 686 روز پیش MTR
بازدید 557 بدون دیدگاه

بررسی حملات وب

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

بررسی حملات وب

 

فهرست مطالب

  1. حملات تزریقی Injection Attacks
      1. حمله تزریق sql یا sql injection
      2. تزریق اسکریپت بین سایت یا اسکریپت جعلی Cross-Site Scripting (XSS)
      3. حمله تزریق XML یا XML Injection
  2. Fuzzing (یا تست Fuzz)
  3. حمله Zero-day
  4. پیمایش دایرکتوری Directory traversal attack
  5. محروم سازی خدمات توزیع شده (DDoS مخفف Distributed Denial-of-Service)
  6. حمله Man-In-The-Middle
  7. حمله نیروی بی رحم Brute Force Attack
  8. استفاده از کد ناشناس یا شخص ثالث Third-Party Code

 

رایج ترین حملات امنیتی به وب سایت ها

 
 

حمله تزریق sql یا sql injection

 

پروژه امنیت برنامه های باز وب ( OWASP مخفف Open Web Application Security Project) در آخرین گزارش خود، نقص های حملات تزریقی را بالاترین عامل خطر برای وب سایت ها معرفی نموده است. روش تزریق SQL محبوب ترین روشی است که توسط مجرمان سایبری در این دسته استفاده می شود.

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

محافظت از وب سایت شما در برابر حملات مبتنی بر تزریق عمدتاً به این بستگی دارد که شما چگونه  و به چه میزان پیچیدگی در کد نویسی ساختار پایگاه خود اجرا نموده اید. به عنوان مثال، اولین روش جهت کاهش ریسک تزریق SQL این است که همیشه از عبارات پارامتریک در جایی که استفاده نمایید. علاوه بر این، می توانید از یک سیستم احراز هویت شخص ثالث جهت خارج نمودن منابع حفاظت شده از پایگاه داده خود استفاده کنید. یک تزریق موفق sql می تواند داده های حساس را از پایگاه داده backend بخواند و همچنین می تواند داده ها را ویرایش یا حذف نماید یا عملیات های  administration را اجرا نماید.

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

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

کره جنوبی در سال 2014 دریافت که برای سال ها 100 میلیون کارت اعتباری تحت سرقت قرار گرفته بود. علاوه بر این 20 میلیون حساب بانکی هک شده بود. از ترس اینکه حساب های بانکی خالی نشود کارت های اعتباری بیش از 2 میلیون شهروند این کشور مسدود یا تعویض شد.

از حملات تزریق Sql می توان برای دور زدن فرایند احراز هویت، افشای اطلاعات محرمانه و توزیع کدهای مخرب استفاده نمود.

نمونه دیگر اطلاعات کاربران وبسایت کورا، سایت مشهور پرسش و پاسخ Quora می باشد که اطلاعات 100 میلیون کاربر هک گردید.

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

 

نحوه کاهش حملات تزریق sql

سیستم پیشگیری از نفوذ یا امضای ips یا intrusion prevention system را می توان جهت شناسایی و جلوگیری از حملات تزریق sql استفاده نمود تا زمانی که قابلیت مشاهده در ترافیک برنامه را داشته باشد رمزگذاری سرتاسری با https به عنوان مثال مانع از این توانایی شود. از میان ip ها برای شناسایی امضاهای حمله، باید مطمئن شوید که با آخرین و جدیدترین نسخه های منتشر شده امضا به آی پی ها به روز رسانی صورت پذیرد تا تهدیدات جدید ردیابی شوند، که به طور مداوم توسط عوامل تهدید در حال توسعه هستند.

 

Snort مهمترین سیستم پیشگیری از نفوذ (IPS) منبع باز در جهان است. Snort IPS از یک سری قوانین استفاده می کند که به تعریف فعالیت شبکه مخرب کمک می کند و از آن قوانین برای یافتن بسته هایی که با آنها مطابقت دارند استفاده می نماید و هشدارهایی را برای کاربران ایجاد می کند. اسنورت را می توان به صورت درون خطی برای متوقف کردن این بسته ها نیز مستقر کرد. Snort دارای سه کاربرد اصلی است: به عنوان یک sniffer بسته مانند tcpdump، به عنوان یک ثبت کننده بسته – که جهت اشکال زدایی ترافیک شبکه مفید است، یا می تواند به عنوان یک سیستم جلوگیری از نفوذ کامل شبکه استفاده شود. Snort را می توان برای استفاده شخصی و تجاری به طور یکسان دانلود و پیکربندی نمود. مجموعه قوانین مشترک Snort توسط Cisco Talos توسعه، آزمایش و تایید شده است.

 

حمله تزریق sql یا sql injection

انواع حملات تزریق SQL

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

 

1. In-band SQLi

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

  1. Error-based SQLi
  2. Union-based SQLi

Error-based SQLi

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

Union-based SQLi

در این حالت، payload مخرب از عملگر SQLs پیوستگی UNION جهت ترکیب نتایج چندین دستور SELECT در یک خروجی استفاده می کند که همراه با پاسخ HTTP برگردانده می شود.

2. Blind SQL Injection/Inferential SQLi

در یک تکنیک تزریق SQL کور، هکر payload مخرب داده ها را ارسال می کند، سپس ساختار سرور پایگاه داده را با استفاده از پاسخ برنامه وب بازسازی می نماید. در Blind SQLi، داده ها در واقع توسط برنامه وب بازیابی نمی شوند، بنابراین مهاجم نمی تواند نتایج یک حمله را با استفاده از همان کانال ارتباطی که برای راه اندازی این نوع حمله استفاده کرده است، مشاهده نماید. Blind SQL Injection که معمولاً به عنوان روش استنتاجی نیز نامیده می شود، چندین نوع است:

  1. Content-based SQLi
  2. Time-based SQLi

Content-based SQLi

حملات SQLi مبتنی بر محتوا، برنامه وب را مجبور می سازد تا نتایج متفاوتی را بسته به اینکه Query مخرب SQL نتیجه TRUE یا FALSE را برمی‌گرداند، برگرداند. نتیجه Query تعیین می کند که آیا محتوای موجود در پاسخ HTTP ثابت بماند یا تغییر کند. در نتیجه، مهاجم می‌تواند تعیین کند که آیا بار مخرب نتیجه درست یا نادرست را برمی‌گرداند، حتی اگر پرس و جو هیچ داده‌ای را از پایگاه داده برگرداند.

Time-based SQLi

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

Out-of-Band SQLi

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

 

حمله تزریق اسکریپت بین سایت یا اسکریپت جعلی Cross-Site Scripting (XSS)

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

xss مخفف اسکریپت نویسی متقابل سایت است، این واژه را مایکروسافت ابداع نموده است.

Same Orgin Policy 

SOP یا خط مشی یکسان مبدأ یک مکانیسم امنیتی مهم است که نحوه تعامل یک سند یا اسکریپت بارگیری شده توسط یک مبدا را با منبعی از مبدا دیگر محدود می سازد.

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

چنانچه پروتکل، پورت (در صورت مشخص شدن) و میزبان برای هر دو یکسان باشد، دو URL منشأ یکسانی دارند. ممکن است این مورد را به عنوان “طرح/میزبان/جدول پورت” یا فقط “Table” ببینید. (“مثلا” مجموعه ای از موارد است که با هم یک مجموعه را تشکیل می دهند – یک فرم عمومی برای دو، سه،‌ چهار، پنج و غیره)

این خط‌ مشی اساساً سه چیز مختلف را در مبدا شامل پروتکل، میزبان و پورت بررسی می نماید، فقط در صورتی که هر سه مورد برای دو سایت یکسان باشند. مبداهای مختلف و سپس مرورگر اجازه خواندن یا نوشتن متقاطع را خواهند داشت، به عنوان مثال اگر یک وب سایت با نام دامنه msp-ict.com و یک وب سایت دیگر msp-connect.com داشته باشیم، مرورگر بررسی می کند که آیا پروتکل در هر دو مورد یکسان است یا خیر، یعنی http ,https و به همین ترتیب در بررسی بعدی جهت میزبان بررسی می‌شود که بدیهی است که آنها متفاوت هستند، بنابراین مرورگر خواندن و نوشتن مبدا متقابل را مسدود می سازد، همانطور که می‌توانید تصور کنید این یک ویژگی عالی است که امنیت وب اولیه را تضمین می‌کند، اما همواره اینگونه نیست.

همانطور که میدانید جاوا اسکریپت از طریق Document Object Model (DOM) – Web APIs یا dom apis که توسط مرورگر ارائه می شود به صفحات html دسترسی دارد، به این معنی که می توانیم dom را دستکاری کنیم و آن را مانند تغییر نمایش یک صفحه یا شکل بهتری به نظر برسانیم، اگرچه مهاجم می تواند برخی از توکن های csrf (Cross-Site Request Forgery. جعل درخواست بین سایتی (CSRF) حمله ای است که کاربران احراز هویت شده را مجبور می کند تا درخواستی را به یک برنامه وب که در حال حاضر بر اساس آن احراز هویت شده اند ارسال کنند. ) را نیز به همین روش سرقت نماید و مشکل بزرگی را ایجاد نماید یا می تواند ب سادگی برخی از کوکی ها را بخواند و آن ها را از طریق درخواست ajax و یا شاید ارسال فرم هر چه فرضیه ممکن را به وب سایت ارسال نماید،

یک مطالعه اخیر توسط Precise Security نشان میدهد که حمله XSS رایج ترین حمله سایبری است که تقریباً 40٪ از کل حملات را تشکیل می دهد. اگرچه XSS از متداول‌ترین حملات است، بیشتر این حملات چندان پیچیده نیستند و توسط مجرمان سایبری آماتور با استفاده از اسکریپت‌ هایی که دیگران ایجاد نموده اند، اجرا می‌شوند.

انواع حملات تزریق XSS

  1. Reflected XSS (AKA Non-Persistent or Type I)
  2. Stored XSS (AKA Persistent or Type II)
  3. DOM Based XSS (AKA Type-0)

Reflected XSS (AKA Non-Persistent or Type I)

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

حمله XSS

Stored XSS (AKA Persistent or Type II)

XSS ذخیره شده معمولاً زمانی اتفاق می افتد که ورودی کاربر در سرور مورد نظر ذخیره می شود، مانند یک پایگاه داده، در یک انجمن پیام، گزارش بازدیدکنندگان، فیلد نظرات و غیره. و سپس قربانی می تواند داده های ذخیره شده را از برنامه وب بدون آن بازیابی نماید. داده ها جهت ارائه در مرورگر ایمن هستند. با ارائه HTML5 و سایر فناوری‌ های نوین مرورگر ها، می‌توانیم محتویات حمله را تصور کنیم که به طور دائم در مرورگر قربانی، مانند پایگاه داده HTML5 ذخیره می‌شود و هرگز به سرور ارسال نمی‌شود.

DOM Based XSS (AKA Type-0)

DOM مبتنی بر XSS شکلی از XSS است که در آن کل جریان داده های آلوده از منبع به مرورگر تزریق می شود، یعنی منبع داده ها در DOM است، جریان داده هرگز از مرورگر خارج نمی‌شود. به عنوان مثال، منبع (جایی که داده های مخرب خوانده می شود) می تواند URL صفحه باشد (به عنوان مثال document.location.href)، یا می تواند عنصری از HTML باشد، و سینک یک فراخوانی متد حساس است که باعث می شود اجرای داده های مخرب صورت پذیرد(به عنوان مثال، document.write).

برای سال‌ها، بیشتر مردم این موارد (XSS ذخیره‌شده، XSS منعکس شده، DOM) را به عنوان سه نوع مختلف XSS تصور می‌کردند، اما در واقعیت، همپوشانی دارند. شما می توانید هر دو XSS مبتنی بر DOM ذخیره شده و منعکس شده داشته باشید. شما همچنین می توانید XSS مبتنی بر غیر DOM ذخیره شده و منعکس شده را نیز داشته باشید، و این موضوع کمی سردرگمی ایجاد می نماید، بنابراین برای کمک به روشن شدن موضوعات، از اواسط سال 2012، جامعه تحقیقاتی پیشنهاد و استفاده از دو عبارت جدید را جهت کمک به سازماندهی انواع XSS که ممکن است رخ دهد، ارائه نمودند:

  1. Server XSS
  2. Client XSS

سرور XSS

سرور XSS زمانی اتفاق می‌افتد که داده‌های غیرقابل اعتماد ارائه‌ شده توسط کاربر در پاسخ HTTP تولید شده توسط سرور گنجانده شود. منبع این داده ها می تواند از درخواست یا از یک مکان ذخیره شده باشد. به این ترتیب، می توانید هر دو سرور Reflected XSS و Server ذخیره شده XSS را داشته باشید.

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

 کلاینت XSS (سرویس گیرنده)

Client XSS زمانی اتفاق می‌افتد که از داده‌های غیرقابل اعتماد ارائه‌ شده توسط کاربر برای به‌روزرسانی DOM با یک فراخوان ناامن جاوا اسکریپت استفاده شود. یک فراخوان جاوا اسکریپت در صورتی ناامن تلقی می شود که بتوان از آن جهت معرفی جاوا اسکریپت معتبر به DOM استفاده نمود. منبع این داده ها می تواند از DOM باشد، یا می تواند توسط سرور ارسال شده باشد (از طریق تماس AJAX یا بارگیری صفحه). منبع نهایی داده ها می تواند از یک درخواست یا از یک مکان ذخیره شده در کلاینت یا سرور باشد. به این ترتیب، می توانید هر دو Reflected Client XSS و Stored Client XSS داشته باشید.

بررسی حملات وب تزریق اسکریپت

نحوه کاهش حملات تزریق XSS

شما می توانید با راه اندازی فایروال برنامه وب (WAF) از وب سایت خود در برابر حملات XSS محافظت نمایید. (Web application firewall) WAF به عنوان یک فیلتر عمل می نماید و هرگونه درخواست مخرب به وب سایت شما را شناسایی و مسدود می سازد. معمولاً شرکت‌های میزبانی وب در هنگام خرید سرویس خود WAF را به عنوان یک گزینه در اختیار می گذارند، البته می‌توانید خودتان نیز آن را راه‌اندازی نمایید.

حمله تزریق XML و یا XML injection

تزریق XML منطق یک برنامه یا سرویس XML را دستکاری می سازد و یا به خطر می اندازد. تزریق محتوا و/یا ساختارهای XML ناخواسته به یک پیام XML می‌تواند منطق مورد نظر یک برنامه کاربردی را تغییر دهد، همچنین تزریق XML می‌تواند باعث درج محتوای مخرب در پیام‌ها/اسناد شود.

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

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

 

Fuzzing

حملات وب

Fuzz Testing یا Fuzzing یک روش تست خودکار نرم افزار است که ورودی های نامعتبر، بد شکل یا غیرمنتظره را به سیستم تزریق می کند تا عیوب و آسیب پذیری های نرم افزار را آشکار کند. یک ابزار fuzzing این ورودی ها را به سیستم تزریق می کند و سپس جهت بررسی موارد خاص مانند خرابی یا نشت اطلاعات نظارت را اجرا می سازد. به عبارت ساده‌تر، فاز کردن ورودی‌های غیرمنتظره را به سیستم وارد می‌کند و بررسی می‌کند که آیا سیستم واکنش‌های منفی به ورودی‌ها نشان می‌دهد که نشان‌دهنده امنیت، عملکرد یا شکاف‌ها یا مشکلات کیفیت است یا خیر.

فرض اصلی تست فازی این است که ورودی های عمدی بدشکل را به یک سیستم برای شناسایی خرابی ها وارد کند. یک fuzzer سه جزء کلیدی دارد: شاعری که ورودی‌های نادرست یا موارد تست را ایجاد می‌کند، پیکی که موارد آزمایشی را به نرم‌افزار هدف تحویل می‌دهد، و اوراکلی که تشخیص می‌دهد آیا نقصی در هدف رخ داده است. حمله فازی یک فرآیند خودکار است که جهت یافتن آسیب‌پذیری‌های برنامه استفاده می‌شود و شامل قرار دادن مقادیر عظیمی از داده های تصادفی یا فازی در کد منبع و مشاهده نتایج است. یک حمله فازی موفق، مناطق مستعد نفوذ سایبری مخرب، درج کد و بازیابی داده‌ها را در معرض نور قرار می‌دهد و برنامه‌ها را در معرض خطر حمله جدی برنامه قرار می‌دهد.

Fuzzing بیش از 30 سال پیش توسعه یافت و به دلیل توانایی آن در تشخیص نقاط ضعف در یک برنامه مورد توجه قرار گرفت. در طول سه دهه سلطنت خود، مهاجمان و تیم های امنیت سایبری به طور یکسان به حملات فازی به عنوان روشی مقرون به صرفه و صرفه جویی در زمان برای تست امنیت برنامه (AST) روی آورده اند. با این حال، همه فازرها یکسان ایجاد نمی شوند، برخی از آنها خطر بیشتری نسبت به سایرین دارند که به جای ورودی تصادفی، بر تجزیه و تحلیل برنامه و زیرساخت آن تکیه دارند. بنابراین Fuzzer ها را می توان با دانش شناخته شده قبل از شروع حمله طبقه بندی نمود و به عنوان گنگ dumb یا هوشمند smart شناخت.

 

 حملات fuzzing

 

 

 

حمله Zero-day

حمله روز صفر Zero-day گسترش حمله فازی است، اما به خودی خود نیازی به شناسایی نقاط ضعف ندارد. جدیدترین مورد این نوع حمله توسط گوگل Study شناسایی شد، جایی که آنها سوء استفاده های بالقوه Zero-day  را در نرم افزار ویندوز و مروگر کروم شناسایی کردند.

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

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

حمله Zero-day

 

پیمایش دایرکتوری Directory traversal attack

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

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

حملات وب پیمایش مسیر

 

محروم سازی سرویس توزیع شده (DDoS مخفف Distributed Denial-of-Service)

حمله DDoS به تنهایی به هکر های مخرب اجازه نمی دهد امنیت را نقض نمایند اما به طور موقت یا دائم سایت را آفلاین می نماید. بررسی ریسک‌های امنیت فناوری اطلاعات آزمایشگاه کسپرسکی در سال 2017 به این نتیجه رسید که یک حمله DDoS به طور متوسط برای مشاغل کوچک 123 هزار دلار و شرکت‌های بزرگ 2.3 میلیون دلار هزینه دارد.

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

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

 

 

محروم سازی سرویس توزیع شده (DDoS مخفف Distributed Denial-of-Service)

 

انواع حملات DDoS

  1. Volume Based Attacks
  2. Protocol Attacks 
  3. Application Layer Attacks 

1. حملات مبتنی بر حجم
شامل سیل های UDP، سیل های ICMP و سایر سیل های بسته جعلی می شود. هدف حمله اشباع کردن پهنای باند سایت مورد حمله است و بزرگی آن بر حسب بیت در ثانیه (Bps) اندازه گیری می شود. bits per second

2. حملات پروتکلی
شامل سیل های SYN، حملات بسته های تکه تکه شده، Ping of Death، Smurf DDoS و موارد دیگر است. این نوع حمله منابع واقعی سرور یا تجهیزات ارتباطی میانی مانند فایروال و متعادل کننده بار load balancers را مصرف می نماید و بر حسب بسته در ثانیه (Pps) اندازه گیری می شود. packets per second

3. حملات لایه برنامه
شامل حملات کم و آهسته، سیل GET/POST، حملاتی که Apache را هدف قرار می دهند، آسیب پذیری های ویندوز یا OpenBSD و موارد دیگر را شامل می شود. هدف این حملات که از درخواست‌های به ظاهر قانونی و بی‌گناه تشکیل شده است، از کار انداختن سرور وب است و بزرگی آن بر حسب درخواست در ثانیه (Rps) اندازه‌گیری می‌شود. Requests per second

حملات DDoS

حمله Man-In-The-Middle

حملات Man-in-the-Middle در میان سایت هایی رایج است که داده های خود را هنگام انتقال از کاربر به سرورها رمزگذاری نکرده اند. به‌عنوان کاربر، می‌توانید با بررسی اینکه آیا URL وب‌سایت با HTTPS شروع می‌شود، که در آن «S» به معنای رمزگذاری داده‌ها است، یک خطر بالقوه را شناسایی نمایید.

مهاجمان از نوع حمله مرد میانی جهت جمع آوری اطلاعات (اغلب حساس) استفاده می کنند. مجرم داده ها را هنگام انتقال بین دو طرف رهگیری می کند. اگر داده ها رمزگذاری نشده باشند، مهاجم می تواند به راحتی اطلاعات شخصی، ورود به سیستم یا سایر جزئیات حساس را که بین دو مکان در اینترنت حرکت می کنند را بخواند. هدف از حمله سرقت اطلاعات شخصی مانند اعتبار ورود به سیستم، جزئیات حساب و شماره کارت اعتباری است. هدف ها معمولاً کاربران برنامه های مالی، مشاغل SaaS، سایت های تجارت الکترونیک و سایر وب سایت هایی هستند که ورود به سیستم در آنها ضروری است.

یک راه ساده برای کاهش حمله از نوع man-in-the-middle این است که یک گواهی لایه سوکت امن (SSL) در سایت خود نصب نمایید. این گواهی تمام اطلاعاتی را که بین طرفین منتقل می شود رمزگذاری می کند تا مهاجم به راحتی آن را درک نکند. به طور معمول، اکثر ارائه دهندگان هوست  مدرن در حال حاضر دارای یک گواهی SSL با بسته میزبانی خود هستند.

به طور کلی، حمله MITM معادل این است که یک پستچی صورت حساب بانکی شما را باز می کند، جزئیات حساب شما را می نویسد و سپس پاکت را دوباره مهر می کند و آن را به درب منزل شما تحویل می دهد.

حمله Man in the Middle

 

 

 

استفاده از کد ناشناس یا شخص ثالث Third-Party Code

اگرچه یک حمله مستقیم به سایت شما نیست، استفاده از کد تایید نشده ایجاد شده توسط شخص ثالث می تواند منجر به نقض شدید امنیتی شود. سازنده اصلی یک قطعه کد یا یک برنامه، رشته مخربی را در داخل کد پنهان کرده است یا ناخودآگاه یک درپشتی را ایجاد نموده است. سپس شما کد “آلوده” را در سایت خود قرار می دهید، و پس از آن اجرا می شود یا درب پشتی مورد سوء استفاده قرار می گیرد. اثرات حمله Third-Party Code می تواند از انتقال ساده داده تا دسترسی مدیریت به سایت شما متغیر باشد.

جهت جلوگیری از خطرات ناشی از نقض احتمالی، همیشه از توسعه دهندگان خود بخواهید اعتبار کد را بررسی و بررسی کنند. همچنین، مطمئن شوید که افزونه‌هایی که استفاده می‌کنید (مخصوصاً برای وردپرس و جوملا) به‌روز هستند و به‌طور مرتب پچ های امنیتی را دریافت می‌کنند – تحقیقات نشان می‌دهد که بیش از 17000 افزونه وردپرس (یا حدود 47 درصد از افزونه‌های وردپرس در زمان مطالعه)  طی دو سال به روز نشده اند.

حمله نیروی بی رحم Brute Force Attack

حمله brute force یک روش بسیار ساده جهت دسترسی به اطلاعات ورود به سیستم یک برنامه وب است. مهاجم سعی می کند ترکیب نام کاربری و رمز عبور را حدس بزند تا به حساب کاربری دسترسی پیدا کند. البته، حتی با رایانه های متعدد، این فرایند می تواند سال ها طول کشد، مگر اینکه رمز عبور بسیار ساده و واضح باشد.

بهترین راه برای محافظت از اطلاعات ورود به سیستم، ایجاد یک رمز عبور قوی یا استفاده از احراز هویت دو مرحله ای (2FA) است. به عنوان مالک سایت، می توانید از کاربران خود بخواهید که هر دو را برای کاهش خطر حدس زدن رمز عبور توسط یک مجرم سایبری تنظیم کنند.

نام «نیروی بی‌رحم» از مهاجمانی گرفته شده است که از تلاش‌های بسیار شدید جهت دسترسی به حساب‌های کاربری استفاده می نمایند. با وجود اینکه یک روش حمله سایبری قدیمی است، حملات brute force تست و آزمایش می شوند و تاکتیک محبوب هکرها باقی می مانند.

 

انواع حملات Brute Force

انواع مختلفی از روش‌های حمله brute force وجود دارد که به مهاجمان اجازه دسترسی غیرمجاز و سرقت داده‌های کاربر را می‌دهد.

  1. حملات ساده Brute Force
  2. حملات دیکشنری
  3. حملات هیبریدی Brute Force
  4. حملات بروت فورس معکوس

حملات ساده Brute Force

یک حمله brute force ساده زمانی اتفاق می‌افتد که یک هکر سعی می‌کند اعتبار ورود کاربر را به صورت دستی و بدون استفاده از هیچ نرم‌افزاری حدس بزند. این معمولاً از طریق ترکیب رمزهای عبور استاندارد یا کدهای شماره شناسایی شخصی (PIN) است.

این حملات ساده هستند چراکه بسیاری از افراد هنوز از رمزهای عبور ضعیف مانند “password123” یا “1234” استفاده می کنند یا از قوانین رمز عبور ضعیف استفاده می کنند، مانند استفاده از رمز عبور یکسان برای چندین وب سایت. گذرواژه‌ها را می‌توان توسط هکرهایی حدس زد که حداقل کار شناسایی را جهت شکستن رمز عبور احتمالی یک فرد، مانند نام تیم ورزشی مورد علاقه‌شان انجام می‌دهند.

حملات دیکشنری

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

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

حملات هیبریدی Brute Force

حمله brute force ترکیبی زمانی است که یک هکر یک روش حمله دیکشنری را با یک حمله brute force ساده ترکیب می کند. با دانستن یک نام کاربری توسط هکر شروع می‌شود، سپس یک حمله دیکشنری و روش‌های ساده brute force را جهت کشف ترکیب ورود به حساب کاربری انجام می‌دهد.

مهاجم با لیستی از کلمات بالقوه شروع می کند، سپس با ترکیب حروف، حروف و اعداد آزمایش می کند تا رمز عبور صحیح را پیدا کند. این رویکرد به هکرها اجازه می دهد تا رمزهای عبوری را پیدا کنند که کلمات رایج یا محبوب را با اعداد، سال ها یا کاراکترهای تصادفی مانند “SanDiego123” یا “Rover2020” ترکیب می کند.

حملات بروت فورس معکوس

در یک حمله brute force معکوس، مهاجم فرآیند را با یک رمز عبور شناخته شده آغاز می کند، که معمولاً از طریق یک نفوذ شبکه کشف می شود. آنها از آن رمز عبور برای جستجوی اعتبار ورود منطبق با استفاده از لیست میلیون ها نام کاربری استفاده می کنند. مهاجمان همچنین ممکن است از رمز عبور ضعیفی که معمولاً استفاده می‌شود، مانند «Password123» برای جستجو در پایگاه‌داده نام‌های کاربری مشابه استفاده کنند.

 

حملات وب

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

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

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

 

آموزش شبکه
 

link

 

نظرات کاربران

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
Click outside to hide the comparison bar
مقایسه