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

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

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

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

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

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

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

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

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

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

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

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

passwordOR 1=1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نتیجهگیری

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

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

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

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

  • Kaspersky Internet Security for Android

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

    7,080,750 ریال
    خرید
  • Kaspersky Cloud Password Manager

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

    10,624,500 ریال
    خرید
  • Kaspersky Safe Kids

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

    2,656,125 ریال10,624,500 ریال
    خرید
  • Kaspersky Small Office Security

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

    6,378,750 ریال25,515,000 ریال
    خرید
  • Kaspersky Security Cloud Personal

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

    70,868,250 ریال
    خرید
  • Kaspersky Standard

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

    10,023,750 ریال20,047,500 ریال
    خرید
  • Kaspersky Plus

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

    14,374,125 ریال28,748,250 ریال
    خرید
  • Kaspersky Premium

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

    15,376,500 ریال30,753,000 ریال
    خرید

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


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