عنوان مقاله :

ارتقا ضریب امنیت داده و اطلاعات در سایت‌ها - بخش اول

گردآوری و تالیف : محمد صادق زحمتکش
تاریخ انتشار : 18 مرداد 1396
دسته بندی ها : پی اچ پی

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

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

انواع روش های حمله و نفوذ به سایت

SQL Injection

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

http:// www.example.com/show.php ? SELECT * FROM users WHERE name = '"+userName+"';

XSS

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

 

XSRF

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

Header Injection

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

http://www.nyphp.org/phundamentals/8_Preventing-Email-Header-Injection

DDOS ATTACK

حمله  DoS یا  Distributed Denial of Service نوعی از حمله است که هدف آن، از کار اندازی سیستم هدف با استفاده از هدر دادن منابع آن است. طوری که سیستم سرویس دهنده دیگر توانایی پاسخ گویی به کاربران عادی خود را نداشته باشد.

CMD => Ping  192.168.1.1  -t  -l  6500

سرقت session یا اطلاعاتش

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

کرک هش پسوردها

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

register_globals

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

دسترسی مستقیم به فایلهای اینکلودی

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

Remote file inclusion

در این روش نفوذگر میتواند فایل مورد نظر خودش را (که میتواند در هاست شما یا هاست دیگری باشد) بجای فایلهای برنامهء شما اینکلود(include) کند.

Session fixation

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

http://website.com/

دلایل هک شدن وب سایت ها

Cross site scripting یا XSS

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

Injection flaws

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

Malicious file execution

این مسئله به هکر ها اجازه اجرای برنامه یا کدی را میدهد که امکاناتی در تغییرات یا مشاهده اطلاعات یا حتی تحت کنترل گرفتن کل نرم افزار سایت یا سیستم را میدهد. این مشکل در سایتهایی که امکان ارسال فایل را به کاربران بدون بررسی ماهیت اطلاعات را می دهد اتفاق می افتد (مثلا ارسال یک اسکریپ PHP یا ASP به جای فایل تصویری توسط کاربر)

Insecure direct object reference

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

Cross site request forgery

در اینگونه حملات هکر کنترل مرورگر قربانی را یدست آورده و زمانی که وی وارد سایت (login) شده درخواستهای نادرستی را به سایت ارسال می کند. (نمونه آن چندی پیش دز سایت myspace اتفاق افتاده بود و هکری با استفاده از یک کرم اینترنتی پیغامی را در میلیونها صفحه کاربران این سایت نمایش داد)

Information leakage and improper error handling

همانطور که از نام این مشکل مشخص است زمانی که در خطاهای نرم افزار سایت به شکل مناسبی مدیریت نشوند در صفحات خطا اطلاعات مهمی نمایش داده شود که امکان سوء استفاده از آنها وجود داشته باشد.(نمونه ای از همین مشکل چندی پیش برای یکی از سایتهای فارسی نیز بوجود آمد و اطلاعات کاربری و کلمه عبور اتصال به بانک اطلاعات در زمان خطا نمایش داده می شد و باعث سوء استفاده و تغییر اطلاعات کاربران این سایت شد).

Broken authentication and session management

این مشکل در زمانی که نشست کاربر (session) و کوکی اطلاعات مربوط به ورود کاربر به دلایلی به سرقت می‌رود یا به دلیلی نیمه کاره رها می‌شود، ایجاد می‌شود. یکی از شیوه‌های جلوگیری از این مشکل رمزنگاری اطلاعات و استفاده SSL است.

Insecure cryptographic storage

این مشکل نیز چنانچه از عنوان آن مشخص است بدلیل اشتباه در رمزنگاری اطلاعات مهم (استفاده از کلید رمز ساده یا عدم رمز نگاری اطلاعات کلیدی) است.

Insecure communications

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

Failure to restrict URL access

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

برچسب :

مقالات پیشنهادی

مزایا و معایب فریم ورک Codeigniter

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

آرایه ها و توابع مرتبط با آن در زبان php

آرایه متغیری است که می تواند چندین مقدار را در خود نگهداری نماید . این نوع متغیر تمامی موارد مورد نظر را درون خود با یک نام واحد نگهداری کرده . و به ه...

مدیریت فایلها در زبان برنامه نویسی PHP - بخش دوم

فایل ها به دو دسته تقسیم می شوند . فایل ها با فرمت ascci و فایل با فرمت باینری. فایلهای با قالب متنی از نوع اسکی هستند.مثل .txt , html , asp , .php ای...

Composer ، ابزار مدیریت پکیچ ها و پلاگین ها در PHP

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

دیدگاه های ارزشمند شما

برای ارسال نظر لازم است ابتدا وارد سایت شوید
mohammad | 2 ماه پیش

با عرض سلام و ادب محمد صادق زحمتکش
این مطلب فوق العاده بود فقط یه چیزی کم داشت اونم دسته بندی
درخواست من این هست که در قسمت بعد لطفا توضیحات بیشتر در رابطه با حمله ها عمومی که نسبت به سایت ها اتفاق می افتاد بگذارید

محمدصادق زحمتکش | 2 ماه پیش

با سلام خدمت شما

در مقاله ی قسمت سوم انواع حملات و روش باز داری توضیح داده شده است