حملات سایبری از طریق تزریق کد چگونه انجام می شود؟

13 شهریور 1397 حملات سایبری از طریق تزریق کد چگونه انجام می شود؟

روابط عمومی شرکت ایدکو (توزیع کننده محصولات کسپرسکی در ایران)؛ تزریق کد- که اغلب به آن اجرای کد ریموت (RCE) می‌گویند- نوعی حمله از سوی مهاجمینی است که قادرند یک کد آلوده‌ را به اپلیکیشنی تزریق و اعمال کنند: یک حمله‌ی تزریقی. این کدِ بیگانه قادر است به امنیت اطلاعات رخنه کرده و پایگاه اطلاعاتی یا مالکیت‌های خصوصی را دچار نقص نماید. این نوع حملات در بسیاری از موارد می‌توانند بخش احراز هویت را دور زده و معمولاً با آن دسته از اپلیکیشن‌هایی سر و کار دارند که برای اجرا به داده‌ی کاربری نیاز دارند.

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

در نمونه‌ی فوق می‌بینیم که پیج اطلاعاتی PHP آسیب پذیر است و چنانچه کد ()URLhttp://example.com/?code=phpinfo اجرا گردد، نمایش داده خواهد شد.

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

انواع تزریق کد

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

نحوه‌ی عملکرد تزریق‌های SQL

اگر تزریق از نوع SQL باشد، هدف حمله فاسد کردن پایگاه اطلاعاتی قانونی است؛ بطوریکه در فضای اطلاعاتی سر و گوش آب می‌دهد و داده‌های غلط را در آن تزریق می‌کند. مهاجم ابتدا باید ورودی را در برنامه‌ی کاربردی وبِ مورد نظر (داخلِ پرس و‌جوی SQL) قرار دهد. این روش تنها زمانی مؤثر است که SQL برنامه‌ی کاربردی، ورودی کاربر را در خود داشته باشد. آنوقت است که پی‌لود (دستورِSQL  آلوده) اجازه‌ی ورود پیدا کرده و مأموریت خود را علیه سرور پایگاه داده شروع می‌کند.

شبهِ‌کُدِ زیر، برنامه‌نویسیِ سمتِ سرور (side-server) است که می‌تواند نمونه‌ی خوبی از یک تأییدیه‌ی آسیب‌پذیر در مقابل تزریق‌های SQL  باشد.

مهاجم در کد بالا پی‌لودی را که دستور SQL (از سوی سرور پایگاه اطلاعات) را عوض می‌کند وارد می‌نماید. به عنوان مثال فیلدِ رمزعبور اینگونه خواهد بود:

password’ OR 1=1

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

SELECT id FROM users WHERE username=’username’ AND password=’password’ OR 1=1

 تزریق SQL چه کارهایی می‌تواند انجام دهد؟

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

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

چگونه جلوی تزریق‌های SQL را بگیریم؟

چند روش برای کاهش میزان آسیب‌پذیری اپلیکیشن‌هایتان وجود دارد؛ اما پیش از شروع هر یک از این مراحل توصیه می‌شود حتی‌الامکان همه‌ی داده‌های کاربر-محور را آلوده تصور کرده و به هیچکس اعتماد نکنید و بعد راهکارهای زیر نیز در این راستا به شما کمک خواهند کرد:

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

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

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

تزریق اسکریپت

این آسیب‌پذیری امنیتی، تهدیدی است که به مهاجم اجازه می‌دهد تا از طریق مؤلفه‌های رابط کاربری، کد آلوده را مستقیماً به وبسایت‌های داده‌محور تزریق کند. اغلب به این حمله Cross-Site Scripting یا XSS می گویند. تگ‌های <script>، <meta>، <html>، <body>، <embed>، <frame>، <frameset>، <img>  بیش از بقیه مورد هدف تزریق‌های اسکریپت قرار می‌گیرند.

چگونه از تزریق‌های اسکریپت جلوگیری کنیم؟

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

  • ورودی کاربر را با حذف محتوای مستعد آلودگی، تأیید و پاکسازی کرده و یا از آن رد شوید.
  • هر رشته‌ی پرس و‌جو در URLها را پاک کنید.
  • پیش از اجرا در سرور، هر نوع داده یا چینشی را تأیید و پاکسازی کنید.

نتیجه‌گیری

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

منبع: کسپرسکی آنلاین (ایدکو)

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

محصولات مرتبط

  • Kaspersky Cloud Password Manager

    Kaspersky Cloud Password Manager ابزار مدیریت کلمه عبور ابری کسپرسکی (KCPM) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    25,971,000 ریال43,285,000 ریال
    خرید
  • Kaspersky Safe Kids

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

    25,971,000 ریال43,285,000 ریال
    خرید
  • Kaspersky Security Cloud Personal

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

    288,722,500 ریال
    خرید
  • Kaspersky Standard

    سیستم امنیتی بهبودیافته به همراه تقویت‌کننده عمکرد دستگاه طرح امنیتی استاندارد ما، نه تنها سیستم امنیتی قدرتمندی را برای انواع ویروس‌ها، بدفزارها و باج‌افزارها ارائه می‌دهد ...

    49,005,000 ریال81,675,000 ریال
    خرید
  • Kaspersky Plus

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

    70,273,500 ریال117,122,500 ریال
    خرید
  • Kaspersky Premium

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

    75,174,000 ریال125,290,000 ریال
    خرید
  • Kaspersky Small Office Security

    محافظت در حین کار Kaspersky Small Office Security به طور خاص برای سازمان‌هایی طراحی شده است که 5 تا 50 دستگاه کامپیوتر در خود جای داده‌اند. نصب آن بسیار آسان است؛ مدیریت آن ...

    519,750,000 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    831,572,500 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    623,672,500 ریال
    خرید
  • Kaspersky Small Office Security

    999,047,500 ریال
    خرید
  • Kaspersky Small Office Security

    727,622,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,163,635,000 ریال
    خرید
  • Kaspersky Small Office Security

    831,572,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,331,110,000 ریال
    خرید
  • Kaspersky Small Office Security

    935,522,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,495,697,500 ریال
    خرید
  • Kaspersky Small Office Security

    952,847,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,524,572,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,342,660,000 ریال
    خرید
  • Kaspersky Small Office Security

    2,148,272,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,732,472,500 ریال
    خرید
  • Kaspersky Small Office Security

    2,771,972,500 ریال
    خرید
  • Kaspersky Small Office Security

    2,093,410,000 ریال
    خرید
  • Kaspersky Small Office Security

    3,349,472,500 ریال
    خرید
  • Kaspersky Small Office Security

    3,970,285,000 ریال
    خرید
  • Kaspersky Small Office Security

    6,352,472,500 ریال
    خرید
  • Kaspersky Standard For Mobile

    امنیت موبایل خود را در تمامی دستگاه‌ها به‌طور کامل سامان‌دهی کنید. دستگاه‌های هوشمند خود را با یک موبایل سکیوریتی، در برابر جدیدترین تهدیدات دیجیتال محافظت کنید — تا خیال‌تان ...

    49,005,000 ریال
    خرید

نظر خودتان را ارسال کنید


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