آشنایی با وب اپلیکیشن
آشنایی با وب اپلیکشن: مزایا، تهدیدات و راهکارهایی برای Web Application Security
وب اپلیکیشن (PWA)Web Application یا اپلیکیشن تحت وب به برنامههایی گفته میشود که از طریق وب قابل اجرا هستند. در ادامه همراه ما باشید تا با ماهیت PWA، دلایل گسترش، مزایا و نقاط ضعف آن و راهکارهای ایمنسازی وب اپلیکیشن آشنا شویم.
وب اپلیکیشن چه کاربردی دارد؟
وب اپلیکیشن (Web App) برنامهای است که از طریق مرورگر اینترنت در دسترس کاربران قرار میگیرد. به عبارت دیگر وباپ، یک سایت با عملکرد مشابه اپلیکیشن است که با تمرکز روی کاربران و با یک هدف مشخص، طراحی و اجرا میشود.
بسیاری از سایتها و نرمافزارها از PWA استفاده میکنند. برای مثال میتوان به سایتهای زیر اشاره کرد:
- Alibaba.com
- Flipkart.com
- Weather.com
- Bookmyshow.com
- Voot.com
- Tinder.com
- Ele.me
- Starbucks.com
- Housing.com
دلایل گسترش وب اپلیکیشنها
وب اپلیکیشنها به دلیل مزایای مختلفی که دارند، در طول این سالها مورد توجه قرار گرفتهاند. در ادامه با برخی از ویژگیهای مثبت و نقاط قوت اپلیکیشنهای تحت وب آشنا میشویم:
- برنامهنویسی اپلیکیشنهای تحت وب به صورت یکپارچه است؛ در نتیجه وب اپلیکیشنها روی دستگاههای مختلف قابل استفاده و قابل اجرا هستند. بنابراین؛ محدودیت استفاده از اپلیکیشن اختصاصی برای سیستم عامل، از طریق وب اپلیکیشن رفع شده است. در نتیجه کاربران میتوانند به راحتی، با وارد کردن آدرس اپلیکیشن تحت وب در نوار جستجوی مرورگر به اپ مدنظرشان دسترسی پیدا کنند.
- با استفاده از وب اپلیکیشنها نیازی به نصب برنامه نیست و در نتیجه فضایی از حافظه دستگاه کاربر اشغال نمیشود.
- وب اپلیکیشنها سرعت، دقت و عملکرد مناسبی دارند و به خوبی و به طور کاربردی، نیازهای کاربران را رفع میکنند.
- برخلاف بسیاری از اپلیکیشنها، WPA ها به بروزرسانی نیاز ندارند و همیشه با استفاده از فرایند Service Worker با آخرین نسخه و کاملا بهروز و حتی به صورت آفلاین نیز در دسترس کاربران قرار میگیرند.
- کد نویسی وب اپلیکیشن برای برنامه نویسان نسبتا آسان است.
- وب اپلیکیشنها ازCSS و JavaScript نیز پیشتیبانی میکنند.
معایب و تهدیدات وب اپلیکیشنها
اپلیکیشنهای تحت وب علیرغم همه مزایایی که دارند؛ معایب و نقاط ضعفی نیز دارند. برای مثال؛ با وجود امنیت نسبتا قابلقبول وب اپلیکیشنها و استفاده از بستر HTTPS، WPAها همچنان ممکن است از سوی هکرها مورد حمله قرار بگیرند. در ادامه به برخی از حملات و تهدیدات وب اپلیکیشنها اشاره خواهیم کرد:
-
Cross site scripting (XSS)
در چنین حملاتی هکر یک اسکریپت به مرورگر شما تزریق میکند و به اطلاعات مهم دسترسی مییابد
-
SQL injection
در این حمله، دستوراتی به URL وارد میشود که برای هکر امکان تغییر، حذف، ایجاد اطلاعات یا دسترسی به دادههای باارزش کاربر را فراهم میسازد.
-
Directory traversal/Unicode
در این حمله هکر میتواند از طریق مرورگر، همه پوشههای روی سیستم را ببیند.
-
Command injection
این حمله، کد مخرب را از یک برنامه تحت وب به سیستم دیگر منتقل میکند.
-
Cookie poisoning and snooping
در این حمله هکر از طریق محتوای مخرب، کوکیهای کاربر را خراب کرده یا میدزدد.
لازم به ذکر است که تهدیدات و حملات وب اپلیکیشن به این موارد محدود نمیشود. برای مثال، برخی از سایر تهدیدات عبارتند از:
-
Buffer overflow
-
Data breach
-
Cross-site request forgery (CSRF)
-
Memory corruption
-
Denial of service
-
Authentication hijacking
-
TCP fragmentation
-
management exploits attack
-
DMZ protocol attacks
-
interception security
-
message interception
علاوه بر تهدیدات امنیتی، وب اپلیکیشنها معایب و محدودیتهای دیگری نیز دارند که در این خصوص میتوان به عدم سازگاری با مرورگرهای قدیمی، عدم هماهنگی با نسخههای قدیمی IOS و عدم امکان اجرای همه قابلیتهای اپلیکیشنهای معمولی اشاره کرد.
راهکارهایی برای Web Application Security
اما چگونه باید از آسیبها و تهدیدات اپلیکیشنهای تحت وب جلوگیری کرد و امنیت وب اپلیکیشنها را افزایش داد؟ در ادامه به چند راهکار اشاره میکنیم:
- مهمترین راهکار برای حفاظت از اپلیکیشنهای تحت وب، استفاده از رمزگذاری (Encryption) و احراز هویت (authentication) است.
- برای حفاظت از WPAها میتوان از WAF یا فایروال برنامههای تحت وب استفاده کرد که از حملات Ross site forgery،Cross site scripting و SQL injection جلوگیری میکند.
- برای کاهش حملات DDoS در برنامههای تحت وب، میتوان از شبکه Anycast استفاده کرد.
- کابران برای جلوگیری از حمله Cookie poisoning and snooping باید برای کوکیها مدت انقضا تعیین کنند، برای خروج از Logout استفاده نمایند و علاوه بر این؛ از ذخیره پسوردها در کوکی خودداری کنند.
- برای محیط لینوکس و پیشگیری از حمله Buffer overflow میتوان از ابزارهایی مانند Stackgurd , Stackshield استفاده کرد.
بیشتر بخوانید: چه چیزی جانگو را تا این حد محبوب می کند؟
جمعبندی
در این مقاله به بررسی ماهیت وب اپلیکشن، مزایا، معایب و تهدیدات آن پرداختیم و با چند راهکار کاربردی برای Web Application Security آشنا شدیم.
به طور کلی اپلیکیشنهای تحت وب، در سالهای اخیر توسعه و گسترش یافتهاند. در حال حاضر بسیاری از سایتها و برنامهها، همزمان با بهروزرسانی اپلیکیشن بومی(Native Application)، به توسعه اپلیکیشن تحت وب نیز توجه دارند. وب اپلیکیشنها نقش بهسزایی در جذب کاربران موبایلی دارد و بدون شک وبسایتهایی که از اهمیت PWA ها غافل نشدهاند، چندین قدم از سایر رقبای خود جلوتر هستند.
اگر به حوزه IT علاقه دارید؛ برای کسب اطلاعات بیشتر در این زمینه میتوانید سایر مطالب کاربردی مجله دوران آکادمی را مطالعه کنید.
دیدگاهتان را بنویسید