معرفی 10 حمله برتر owasp
معرفی 10 حمله برتر owasp
Injection
این حمله زمانی اتفاق می افتد که داده های نامعتبر از طریق یک لیست ورودی به مترجم کد ، ارسال شود.
با تائید اعتبار و یا پاکسازی اطلاعات مشکوکی که کاربر ارسال میکند، میتوان از این آسیب پذیری جلوگیری کرد.
علاوه بر این admin پایگاه داده میتواند حجم زیادی از اطلاعات یک حمله
injection
را کنترل کند تا احتمال بروز این حمله کاهش یابد.
Broken Authentication
آسیب پذیری در احراز هویت (login) ، میتواند به حملاتی منجر شود که دسترسی حساب کاربر یا admin را آسانتر کند .
مثلا لیستی از نام کاربری و رمز عبور کاربران را بدست آورد.
از راه هایی که برای کاهش خطرات این آسیب پذیری پیشنهاد میشود ، استفاده از
Two-Factor Authentication (2FA)
و
یا
Rate Limiting
می باشد.
Sensitive Data Exposure
اگر برنامه های تحت وب ، نتوانند از اطلاعات حساس کاربران ، مانند اطلاعات مالی و password محافظت کنند ،
به مهاجمان اجازه سوء استفاده از این اطلاعات را میدهند و یکی از راه های محبوب سرقت اطلاعات برای مهاجمان ، حمله ی Man-In-The-Disk می باشد.
خطرات این حمله میتواند با رمزنگاری اطلاعات مهم و غیرفعال کردن حافظه caching برای این اطلاعات ، تا حدودی کم شود.
XML External Entities (XXE)
این حمله از طریق تجزیه ورودیXML برنامه های وب ، رخ میدهد.
تجزیه XML میتواند برنامه وب را فریب دهد تا اطلاعات کاربر را برای یک نهاد خارجی مثل یک واحد ذخیره سازی نامعتبر ،
ارسال کند و اطلاعات از طریق این نهاد خارجی نامعتبر به مهاجم ارسال می شود.
یکی از راه های مقابله با این حمله این است که برنامه وب ، اطلاعاتی که پیچیدگی کمتری دارند مانند JSON (Java Script Object Notation) را بپذیرد و یا میتوان از نهاد های خارجی در برنامه های XML استفاده نکرد.
Broken Access Control
سیستم کنترل دسترسی ، سیستمی است که دسترسی افراد به اطلاعات یا عملکرد ها را کنترل میکند .
شکستن این سیستم ، برای مهاجم این امکان را فراهم میکند که احراز هویت را دور بزند و حتی وظایف کاربران ممتاز مثل administrator ها را انجام دهد.
مثلا یک برنامه وب به کاربر این اجازه را میدهد به راحتی حساب کاربری خود را فقط با تغییر بخشی از url و بدون هیچ تائید امنیتی دیگری عوض کند که با استفاده از
Authorization Token
میتوان امنیت سیستم کنترل دسترسی را تضمین کرد و کنترل محکمی روی آن اعمال کرد.
Security Misconfiguration
این آسیب پذیری اغلب نتیجه ی استفاده از تنظیمات پیش فرض و یا نمایش خطاهای بیش از حد می باشد که میتوان با حذف امکانات غیر قابل استفاده از برنامه وب ، خطرات این آسیب پذیری را کاهش داد. ” معرفی 10 حمله برتر owasp “
Cross-site scripting (XSS)
زمانی که برنامه وب به کاربر اجازه میدهد تا کد سفارشی را به مسیر url یک وبسایت عمومی اضافه کند ، این آسیب پذیری رخ میدهد و مهاجم میتواند با قرار دادن کدهای مخربی در مرورگر ، از اطلاعات کاربر سوء استفاده کند.
برای مثال مهاجم میتواند ایمیلی که حاوی یک لینک از سایت یک بانک معتبراست ، برای کاربر ارسال کند . ” معرفی 10 حمله برتر owasp ”
این لینک میتواند کد جاوا اسکریپت مخربی در انتهای url خود داشته باشد و اگر سایت بانک ، به درستی در برابر این آسیب پذیری محافظت نشده باشد ،
این کد مخرب در مرورگر کاربر اجرا میشود و مهاجم به راحتی از کاربر سو استفاده میکند.
استفاده نکردن از درخواست های نامعتبر Http ، استفاده از چارچوب های توسعه مدرن مانند
ReactJS
و
Ruby On Rails
میتواند تا حدودی از خطرات این آسیب پذیری کم کند.
Insecure Deserialization
هدف اصلی این آسیب پذیری برنامه های تحت وبی هستند که مدام از Serialize و Deserialize داده ها استفاده میکنند .
Serialization به معنی گرفتن object از کد برنامه و تبدیل آن به فرمتی قابل استفاده برای اهداف دیگر ،
مثل ذخیره اطلاعات روی دیسک می باشد وDeserialization دقیقا برعکس آن است.
یک Deserialization نا امن ، نتیجه استفاده از یک منبع نامعتبر است و میتواند عواقب جدی مانند حملات DDOS و حمله های از راه دور را داشته باشد .
برای مقابله با این حمله باید جلوی Deserialization هایی که از منابع نامعتبر انجام می شود را گرفت.
Using Components with known vulnerabilities
بسیاری از توسعه دهندگان وب از component هایی مانند کتابخانه ها و چارچوب ها در برنامه های وب خود استفاده می کنند .
در واقع این component ها قطعات نرم افزاری هستند که به توسعه دهندگان کمک میکند تا از کار های بیهوده اجتناب و عملکرد های لازم را به درستی اجرا کنند.
توسعه دهندگان component ها بروزرسانی ها و patch های امنیتی ، درباره آسیب پذیری ها را ارائه میدهند ولی توسعه دهندگان برنامه های وب ، از این patch ها و آخرین
ورژن
component
ها در برنامه هایشان استفاده نمی کنند و موجب بروز این آسیب پذیری میشوند.
برای کاهش خطرات این آسیب پذیری توسعه دهندگان باید component های غیرقابل استفاده را از برنامه های خود حذف کنند و
مطمئن شوند component هایی که استفاده می کنند ، از منابع معتبر و بروز است. ” معرفی 10 حمله برتر owasp ”
Insufficient Logging and Monitoring
بسیاری از برنامه های وب نمیتوانند در زمان مناسب نقص های امنیتی را تشخیص دهند .
میانگین زمان لازم برای کشف خطا ، 200 روز بعد از حادثه است که این زمان ،
فرصت مناسبی برای مهاجم فراهم میکند تا قبل از هر عکس العملی مشکل جدیدی درست کند.
Owasp توصیه میکند توسعه دهندگان وب نظارت و پیگیری های لازم را روی logging داشته باشند. ” معرفی 10 حمله برتر owasp ”