آسیب امنیتی مهم در وب

آسیب پذیری امنیتی وب چیست؟ انواع تهدیدها و راه های پیشگیری

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

فهرست مطالب

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

تفاوت احراز هویت (Authentication) و مجوز دسترسی (Authorization)

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

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

احراز هویت و مجوز

13 آسیب پذیری امنیتی مهم در وب

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

  • Injection Flaws (نقص‌های تزریق)

فرض کنید یک فرم لاگین دارید که از شما نام کاربری و رمز عبور می‌خواهد. اگر برنامه به‌جای بررسی و پاکسازی ورودی‌ها، همان طور که کاربر داده را وارد کرده به پایگاه داده ارسال کند هکر به سیستم وارد می‌شود. این همان Injection Flaws است!

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

برای جلوگیری از وقوع این آسیب پذیری‌ها شما بایستی ورودی‌ها را پاکسازی کنید. از دستورات آماده استفاده کنید و از اجرای کدهای تزریقی در SQL جلوگیری کنید.

  • Broken Authentication (احراز هویت ناقص)

این آسیب زمانی رخ می‌دهد که سیستم نتواند کاربر را به درستی شناسایی کند. به زبانی ساده سیستم در بررسی هویت کاربر دچار مشکل می‌شود و افراد ناشناس می‌توانند به راحتی به حساب کاربری دیگران دسترسی یابند.

اگر بخواهم موارد متداول را توضیح بدهم می‌توان گفت:

    1. داشتن رمز عبورهای ساده یا پیش فرض که قابل شناسایی هستند و مهاجم می‌تواند آن‌ها را شناسایی و به سیستم کاربر دسترسی پیدا کند.
    2. اگر سیستم نتواند شناسایی کند که هر Session برای چه کاربری است مهاجم‌ها می‌توانند با انجام کارهایی مثل Session Hijacking به حساب‌های دیگران دسترسی پیدا کنند.
    3. احراز هویت‌های تک مرحله‌ای که امنیت کمتری نسبت به تأیید هویت‌های چند مرحله‌ای دارند.

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

  • (XSS) Cross-Site Scripting (تزریق اسکریپت بین‌سایتی)

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

برای پیشگیری از XSS بایستی ورودی‌ها را بررسی و پاک سازی نمایید. از توابع و روش‌های ایمن برای وارد کردن داده‌ها به HTML یا جاوا اسکریپت استفاده کنید.
استفاده از CSP و ایجاد محدودیت‌هایی برای منابعی که مرورگر می‌تواند بارگذاری کند.

  • Insecure Direct Object References (ارجاع مستقیم ناامن به اشیا)

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

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

  • Security Misconfiguration (پیکربندی نادرست امنیتی)

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

    1. تغییر تنظیمات پیش فرض پس از نصب نرم افزارها.
    2. محدودسازی دسترسی‌های غیرضروری.
    3. دادن دسترسی‌های لازم به کاربر و خودداری از دادن دسترسی‌های اضافه.
    4. بررسی تنظیمات به صورت دوره‌ای و اصلاح آن‌ها.
  • CSRF (جعل درخواست بین‌ سایتی)

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

این لینک درخواستی را برای سایت بانک که مرورگر هنوز کوکی آن را دارد می‌فرستد و مثلا درخواست پول می‌کند. سایت بانک هم به خیال اینکه درخواست از طرف شماست آن را اجرا می‌کند و تمام پول شما از دست رفت! این همان CSRF است.

CSRF به نوعی شیطنت اینترنتی است که هکرها کاربران را وادار می‌کنند بی‌آنکه بخواهند کاری را انجام دهند که نباید. برای بهبود امنیت وب سایت و جلوگیری از بروز این رویداد کارهای زیادی را می‌توان انجام داد.

    1. از توکن‌های CSRF استفاده شود. این توکن‌ها یک جور کد امنیتی اضافه‌اند که همراه درخواست ارسال می‌شوند اگر این کد نباشد سایت درخواست شما را نمی‌پذیرد.
    2. محدودکردن درخواست‌های HTTP از منابع غیر مجاز.
    3. تایید هویت‌های مجدد برای عملیات‌های خاص.
  • Unvalidated redirects and forwards (تغییر مسیر و انتقال ناامن)

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

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

  • Server-Side Request Forgery (جعل درخواست سمت سرور)

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

    1. آدرس‌هایی که سرور به آن‌ها درخواست بفرستد را محدود سازید.
    2. ورودی‌ها را بررسی کنید.
    3. از فایروال‌های مناسب استفاده کنید.

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

  • Cryptographic Failures (نقص‌های رمزنگاری)

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

برای پیشگیری از بروز این آسیب شما می‌توانید کارهای زیر را انجام دهید:

    1. از الگوریتم‌های رمزنگاری قوی استفاده کنید.
    2. رمز عبورها را در محلی امن ذخیره کنید و از دسترسی غیرمجاز جلوگیری کنید.
    3. از پروتکل‌های امن استفاده کنید.
  • Malware (بدافزار)

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

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

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

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

  • Phishing (فیشینگ)

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

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

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

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

  • DDoS (حمله منع سرویس توزیع‌شده)

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

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

برای کاهش اثر حملات DDoS می‌توان از فایروال، Rate Limiting، CDN و سرویس‌های مخصوص محافظت در برابر DDoS استفاده کرد. همچنین داشتن زیرساخت مناسب و برنامه‌ای برای مقابله و بازیابی پس از حمله می‌تواند به کاهش خسارت‌های ناشی از قطعی سایت کمک کند.

  • AI DDoS (حملات DDoS مبتنی بر هوش مصنوعی)

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

خانه‌ای مطمئن برای وب سایتتان!

امروزه امنیت سایت‌ها حرف اول را می‌زند و هیچ کسی دوست ندارد که سایتش هک شود و یا اطلاعاتش را از دست دهد. اینجاست که شما به یک میزبانی وب امن نیاز پیدا می‌کنید! میزبانی وب پویان آی تی دژی محکم در برابر هکرها و مشکلات امنیتی است و با پشتیبانی همه‌جانبه در کنار شماست.

و در آخر

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

سوالات متداول

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

  1. به‌روزرسانی سیستم
  2. استفاده از رمزنگاری‌های قوی
  3. محدودسازی دسترسی‌ها
  4. استفاده از فایروال‌ها و ابزار امنیتی

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

منابع

  • https://www.toptal.com/cybersecurity/10-most-common-web-security-vulnerabilities
  • https://gcore.com/learning/10-common-web-security-vulnerabilities/

به این مقاله امتیاز دهید!

میانگین امتیاز 4.1 / 5. تعداد رأی ها : 8

هنوز هیچ رأیی داده نشده. اولین نفر باشید!

و در ادامه بخوانید

اولین دیدگاه را اضافه کنید.

    برچسب ها

    امنیت وب سایت