امنیت وب 1 – هکرها وارد می شوند

1398/02/25
 وضعیتی که در آن فراغتی حاصل از در امان بودن از آسیب یا آمادگی رویایی با هر تهدید و حمله را داشته باشید.

امنیت وب چیست؟

تعریف امنیت

 وضعیتی که در آن فراغتی حاصل از در امان بودن از آسیب یا آمادگی رویایی با هر تهدید و حمله را داشته باشید.
امنیت در وب
دور نگه داشتن سرور و اپلیکیشن خود از هر تهدید و حمله ای.
وب سایت ها بر خلاف سایر سرورهایی که استفاده می کنیم، نظیر mail server  و Ftp server ها، قابل شناسایی و عمومی هستند. برای وصل شدن به آن گونه سرور ها اغلب، شما نیاز به یک IP و Password دارید و در صورت دانستن این ها مبادلات اطلاعات و فایلی در سطح محدودی انجام خواهد شد. اما وب سایت ها تفاوت دارند.
  • وب سایت ها قابل جستجو هستند. اغلب نمایی از وجهه بیرونی یک شرکت و جنبه مهمی از یک برند هستند. حتی در مواردی مانند amazon، وب سایت، خود شرکت و ماهیت و اساس آن است.
  • وب سایت ها از جنبه ارتباط با کاربرها هم متفاوتند. وب سایت با انسان تعامل دارد. ما اطلاعات وب سایت ها را به چشم می بینیم. ما به وب سایت ها اعتماد می کنیم و اطلاعاتی مانند کارت بانکی خود را در آن وارد می کنیم.
بنابراین ما نیاز به سطحی از امنیت داریم که برای این به اشتراک گذاری اطلاعات به ما اطمینان دهد. هم چنین برای اینکه ما به حفاظت در مقابل تهدید و حملات دست پیدا کنیم، ابتدا باید درباره خطرات موجود مطلع شویم. ما باید بدانیم چه کسی و چگونه می تواند به ما صدمه بزند. یعنی همزمان به دانش و عمل نیاز داریم. ممکن است شما زمان و هزینه گزافی روی محافظت از یک وب سرور صرف نمایید اما این هزینه در صورتی که مورد ساده ای را که از قلم افتاده، تشخیص ندهید، به هدر خواهد رفت.
پس: هشیاری + حفاظت = امنیت
ما در این مقاله قرار نیست تمام مسایل امنیت را به صورت کامل و عمیق پوشش دهیم، اما سعی می کنیم تمام مواردی را که یک فرد برای ملاحظات امنیتی ابتدایی باید مد نظر قرار دهد، مطرح و بررسی کنیم.

اهمیت امنیت

نکته ای که در حوزه وب سایت ها جالب است این است که شما با اندکی html و css و خریداری یک هاست می توانید یک وب سایت داشته باشید. اما این سادگی ممکن است افراد تازه کار را به اشتباه بیاندازد که با افزودن اندکی تکنولوژی دیگر نظیر javascript و SQL و .Net می شود به راحتی یک وب سایت را راه اندازی کرد. در حالی که با افزودن تکنولوژی های متفاوت، پیچیدگی سیستم خود را بالاتر می برید. این پیچیدگی، افراد غیرحرفه ای را به سمتی پیش می برد که ممکن است در کنار راه اندازی سیستم، اقدام به احداث کوچه و خیابان هایی برای هکر ها کنند.
هکرها سرتاسر وب را جستجو می کنند تا وب سایت هایی را که دارای کدنویسی های غیرحرفه ای است، پیدا کنند. در این لحظه آن ها بهترین کد را برای هک کردن سیستم می نویسند و می توانند با ایجاد تغییرات کوچکی در وب سایت شما، داده های شما را بدزدند و یا با نصب نرم افزاری بر روی سرور شما، آن را تحت کنترل خود بگیرند. به این نرم افزار ها malicious software یا نرم افزار مخرب و به صورت اختصار malware می گویند.
کارهایی که Malware ها انجام می دهند:
  • ارسال ایمیل spam
  • Spyware یا جاسوسی کردن که مثلا می تواند پسورد و اطلاعات حساب بانکی را بدزدد.
  • ارسال web request: معمولا برای افزایش آمار بازدید با it used to denial of service attack to keep people from being able to access other website
  • استفاده از رایانه شما برای اسکن کردن و یافتن آسیب پذیری سایر رایانه ها
  • Data crunching: استفاده از ظرفیت های رایانه شخصی شما برای یافتن رمزعبور خاصی یا تولید بیت کوین
  • ایجاد backdoor برای دسترسی های آینده
که مورد آخر، رایج ترین کار malware هاست. یعنی در ابتدا نیازی به آن سیستم ها ندارند اما هکر ها علاقه مندند که ارتشی از زامبی های کامپیوتری داشته باشند تا هر زمان خواستند بتوانند از آنها برای شکستن دیوار دفاعی یک سرور بزرگ تر استفاده کنند. به این زامبی های کامپیوتری Botnets می گویند.
تعداد و اندازه این botnet ها قابل اندازه گیری نیست. آن ها اغلب کاملا ساکن و آماده صدور دستورات از سوی سرور اصلی هستند. معمولا آن ها را به مشتری ها اجاره می دهند تا در زمان مناسب برای کارهایی نظیر همان موارد بالا یا خرابکاری یا فعالیت های سیاسی استفاده شود. نکته اینجاست که در هر حال شما کنترلی بر روی سرور خود ندارید که قرار است برای چه هدفی مورد استفاده قرار گیرد.
بنابراین اهمیت امنیت به موارد زیر باز می گردد:
  • از دست دادن کنترل سرور
  • در صورت بروز مشکل، شما قسمتی از آن هستید. یعنی شما هم ناخواسته بخشی از فعالیتی می شوید که باعث غیرپایدار شدن محیط وب می شود.
  • این موضوع می تواند سرور شما را بد نام کند. مثلا با ارسال ایمیل های نامناسب باعث شود افراد در دریافت ایمیل های شما به مشکل بر بخورند.
  • می تواند باعث رسوایی عمومی شود. یعنی در حالی که شما کنترل سرور خود را ندارید، اطلاعات نامناسبی بر روی آن منتشر شود که به برند شما آسیب وارد کند.
  • باعث به هدر رفتن هزینه ها شود. حتی در صورتی که پولی از سرور شما دزدی نشود، با از دست رفتن اعتبار شما، هزاران مشتری به سمت رقیب شما خواهند رفت. موردی که باعث از بین رفتن یا آسیب دیدن شرکت های بزرگی طی چند سال اخیر شد.
بنابراین شما با رعایت نکات ایمنی، باعث ایجاد امنیت برای خود، مشتریان خود و همسایگان خود در اینترنت خواهید شد. همانگونه که رعایت امنیت از نکات مهم مسئولیت های یک شهروند خوب در جامعه است.

هکر کیست؟

 
هکر یک جادوگر رایانه ای و یک ایده پرداز مبتکر است.
تعداد زیادی از تکنولوژی های مشهور رایانه ای امروز، از دل گاراژهای هکرها به دنیا آمده اند.
هکرها از جنبه امنیت به دو دسته تقسیم می شوند:
  • White hat یا کلاه سفید
  • Black hat یا کلاه سیاه
 

هکرهای کلاه سفید

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

هکرهای کلاه سیاه

همینطور که در حال تشویق هکر های کلاه سفید هستیم، این هکرهای کلاه سیاه هستند که باید بیشتر درباره آن ها بدانیم. لقب هکر کلاه سیاه در مفهوم عام به کسی داده می شود که از وب سرور شما در راهی استفاده می کند که نمی خواهید. این بازه شامل قشر وسیعی از کاربران است. کسانی که فقط در تلاشند که چگونه برای خود نام کاربری جالب انتخاب کنند تا افرادی که قصد دارند تمام داده های پایگاه داده شما را بربایند. او می تواند فردی باشد که به صورت تصادفی آدرس IP شما را پیدا کرده یا کسی که با شما خصومت شخصی دارد.
هکرهای سیاه را می توان در چند گروه بزرگ تقسیم بندی کرد:
  • Curious users یا کاربران کنجکاو:
    این افراد می خواهند بدانند اگر این قسمت url را تغییر دهند چه اتفاقی می افتد؟ دوست دارند اتفاقی را رقم بزنند که در سناریوی عادی امکان رخداد آن یا اجازه انجامش وجود ندارد. هم چنین این افراد ممکن است به گونه ای سیستم را دستکاری کنند که به اطلاعاتی نظیر pdf ای که اجازه دسترسی به آن ندارند، برسند. آن ها اغلب افرادی غیر حرفه ای اند و خیلی متوجه درست یا غلط بودن کاری که می کنند نیستند. یه جورایی اگه نمی خواهی از پنجره ات داخل را ببینم پس باید پرده را بکشی. این افراد اغلب بی خطر هستند اما در استراتژی امنیت، ما آن ها را در نظر می گیریم.
  • Thrill seekers یا ماجراجویان هیجان طلب:
    این افراد اغلب برای جنبه سرگرمی این کار را می کنند. خطر این افراد این است که ممکن است به صورت اتفاقی شما مورد هدف آن ها قرار بگیرید. در این صورت آن ها می توانند باعث بروز مشکلاتی برای شما و کاربرانتان شوند. اما احتمالا قصد دزدی از شما را ندارند و فقط جنبه سرگرمی برای آن ها اهمیت دارد.
  • Trophy hunters یا جایزه بگیران:
    این هکرها به دنبال اثبات جرم و به دست آوردن شهرت و تحسین همکاران خود هستند. برای آن ها یک هک خوب معادل به دست آوردن مدال طلا است. این هکرها ممکن است از شما دزدی کنند اما قصد فروش یا استفاده از چیزی که ربوده اند را ندارند. تنها افتخار آن ها این است که به چیزی دست یابند که قرار بوده به هیچ وجه به آن نرسند. خبر بد این است ماهرترین نوع هکرها، این گروه هستند و خبر خوب آن که، آن ها کاری با شما ندارند. مگر آن که شما وب سایت با اهمیتی نظیر ارگان های دولتی یا فروشگاه های اینترنتی بزرگی باشید که امنیت برای شما مهم بوده است و تا کنون هزینه زیادی برای امنیت خود کرده اید.
  • Script kiddies یا Skiddies یا Skids:
    این لغت به قشر مخربی از هکرها اختصاص دارد که خودشان مهارتی در زمینه برنامه نویسی و دانش هک ندارند. آن ها فقط کدهای یک هکر را اجرا می کنند تا عملیات هک را انجام دهد. این دسته از هکرها که عموما نوجوانان هستند، دانش کافی برای درک اثرات و جوانب یک هک خوب را ندارند. این گروه به دلیل جمعیت قابل توجهی که دارند، باید مورد توجه قرار بگیرند اما از آنجا که اغلب کدهایی که این اجرا می کنند، قدیمی و از پیش شناخته شده هستند، دفاع در مقایل آن ها راحت است. گاهی هم گرفتار سیستم های می شوند که دارای پدافند یا ردیاب هکر هستند و در مواردی که قصد هک کردن دستگاه های امنیتی را داشته باشند، به راحتی دستگیر می شوند.
  • Political activists یا فعالان سیاسی:
    این افراد در راستای پیش برد یک هدف سیاسی از مهارت های هک خود استفاده می کنند و با توجه به نوع گروه بندی خود می توانند مهارت های متفاوتی داشته باشند. گروهی از Skiddie های تازه کار تا بهترین بهترین ها. این افراد با انگیزه ترین هکرها در میان هکرهای کلاه سیاه هستند و زمانی که با شما روبرو شوند به راحتی تسلیم نمی شوند. اگر در محدوده ای که سیاست خیز است فعالیت می کنید، باید کاملا مراقب این افراد باشید.
  • Professionals یا حرفه ای ها:
    منظور از هکر حرفه ای کسی است که از این راه درآمد دارد و آن را به عنوان یک شغل انجام می دهد. از دزدیدن اطلاعات تا فروختن سرویس های یک وب سایت راه هایی است که می تواند برای آن ها درآمدزا باشد. این افراد دارای انگیزه بالایی هستند چرا که انگیزه مالی دارند. برخی از آن ها به صورت انفرادی کار می کنند که احتمالا به تازگی از Skiddie بودن فارغ التحصیل شده اند. اما برخی به صورت گروهی هستند که افراد با استعداد را با صرف میلیاردها تومان به کار می گیرند تا به آن ها کمک کنند. اصلی ترین نگرانی ما این افراد هستند. زیرا هزینه زیادی را برای ما و مشتریان ما می توانند به همراه داشته باشند.
در طول مطالعه این مطلب، شناخت انواع هکرها و آگاهی از انگیزه آن ها می تواند به در مقابله بهتر با آن ها کمک کند.
 

یک ذهنیت امنیتی یا Security mindset ایجاد کنید

اولین قدم برای ایجاد امنیت این است که ذهنیت تمام سازمان به سمت دستیابی به یک محیط امن سوق پیدا کند. این نکات را در نظر داشته باشید:
  • همه افراد سازمان، همواره نکات امنیتی را رعایت کنند و امنیت دغدغه آن ها باشد. ضعیف ترین فرد در زمینه امنیت، سطح ایمنی شما را مشخص می کند.
  • علاوه بر تیم تولید، سایر افراد هم باید درباره امنیت، ذهنیت مناسب داشته باشند. ممکن است این مسایل نیاز به آموزش داشته باشد.
  • مدیر و تصمیم گیرنده مجموعه باید مدل امنیت خود را داشته باشد و آن را به گروه تزریق کند.
  • به دست آوردن امنیت ممکن است نیازمند صرف هزینه و زمان باشد.
  • در تولید یک وب سایت، زمانی را برای دستیابی به امنیت در نظر بگیرید.
  • باید کارفرما را نسبت به انتخاب هایی که در زمینه امنیت تاثیرگذار است، آگاه کرد.
  • مرور تمام تکنولوژی ها اعم از نرم افزار و سخت افزار های مورد استفاده.
  • مرور کدهایی که در حال استفاده هستند یا در حال تولید هستند. مرور امنیت بر روی کد باز بسیار راحت تر صورت می گیرد.
  • مرور سناریو و روندها
  • مرور سطوح دسترسی
  • آموزش های دوره ای و یادآوری های مداوم
  • توسعه دهندگان developers باید با یادگیری کامل تکنولوژی های به کار رفته، کدهای امن تر و کامل تری بنویسند.
  • برنامه نویسان خوب، کدهای امن تری می نویسند. میزان هزینه ای که در استخدام یک برنامه نویس می کنید، می تواند سطح امنیت شما را مشخص کند.
  • اگر برای نرم افزاری برای تست نوشته اید، نرم افزاری هم برای تست امنیت بنویسید. مثلا اگر SQL injection نگرانی شماست، کدی بنویسید که مطمئن شود در نرم افزار شما SQL injection امکان ندارد.
داشتن یک ذهنیت امنیتی می تواند شما را از ایمن بودن در کنار تغییرات موجود، مطمئن سازد.
 

یک خط مشی امنیتی بسازید

اغلب شرکت ها دارای اساس نامه و قوانین و مقررات هستند و برای خود privacy and policy خود را نوشته اند. اما شما باید سند راهنمایی با در نظر گرفتن نکات امنیتی نیز داشته باشید.
نوشتن راهنمای امنیتی Security privacy می تواند شما را در راه ایجاد ذهنیت امنیتی Security mindset کمک کند. این راهنما می تواند در آینده برای بازنگری امنیتی بر روی محصول یا سازمان مفید باشد. هم چنین افراد جدیدی که وارد تیم می شوند می توانند از این راهنما استفاده کنند تا با سایر اعضا هماهنگ و هم دانش شوند.
خط مشی امنیتی شما باید موضوعاتی را در بر بگیرد:
  • نحوه حفاظت اطلاعات با ارزش را مشخص کنید.
  • قوانین و راهنماهای استفاده از آن اطلاعات را بنویسید.
  • مطمئن شوید که این سند، ساده، روشن و قابل انجام است. سخت بودن آن باعث عدم انجام و عدم انجام آن باعث عدم امنیت می شود.
  • تمام ذینفعان را در آن در نظر بگیرید. (اعضای تیم تولید، تیم منابع انسانی، تیم فروش، مدیریت سیستم، محتوا و... و حتی کاربر نهایی)
  • هر چند وقت یک بار آن را مرور کنید. چرا که دغدغه های امنیتی، متناسب با تغییر اطلاعات، تغییر اشخاص و سایر تغییرات، تغییر می کنند.
چگونه راهنمای امنیتی بنویسیم:
  1. مقیاس خط مشی را مشخص کنید. قرار است نگران چه چیزهایی باشیم و نگران چه مواردی نباشیم.
  2. اطلاعات و داده هایی را که باید کنترل و محافظت شوند، طبقه بندی کنیم. آیا درباره داده های دیتابیس صحبت می کنیم یا صحبت از فایل تصاویر است، یا اطلاعات مشتریان، یا کارت اعتباری.
  3. سپس باید نقشه ای از افراد و سیستم داشته باشیم. چه کسی مجاز به دسترسی به چه جایی است و چه نوع دسترسی ای باید داشته باشد.
  4. هم چنین باید روش های نگهداری اطلاعات را برای انواع اطلاعات مشخص کنیم. مثلا اگر با اطلاعات بانکی مشتریان در پایگاه داده سر و کار داریم، بهترین روش برای نگهداری آن ها چیست؟ هم چنین اگر قرار است به دلیلی این اطلاعات کپی شود، ابتدا به چه دلیلی قابل قبول باشد؟ و این کار به چه صورت انجام گیرد؟ مثلا اگر قرار است از پایگاه داده ای که شامل اطلاعات بانکی کاربران است، بکاپ گرفته شود، روش مناسب نگهداری آن چیست؟ باید مطمئن شویم که این اطلاعات از دست نخواهد رفت.
  5. در نهایت باید وظایف و مسئولیت افراد و گروه ها را مشخص کنید. یکی از بدترین اتفاقاتی که می تواند رخ دهد این است که دو نفر، هر کدام تصور کنند نفر دیگری قرار است به فلان موضوع رسیدگی کند. این راهنما کمک می کند هر کس وظایف خود را به صورت واضح در نظر داشته باشد.
داشتن یک راهنمای امنیتی واضح می تواند، حوزه مسئولیت افراد را در یک سازمان مشخص کند تا امنیت را از چیزی که دغدغه هیچ کس نیست، تبدیل به مسئولیت هر فرد کند.
 
User Avatar
نویسنده : محمد فرامرزی راد
امتیاز شما :

دیدگاه کاربران



ارسال پیام



 Security code