امنیت در وب سرویسها و برنامههای تحت وب
اگر نمی دانید از چه چیزی می خواهید دفاع کنید، نمیتوانید در نبرد پیروز شوید.
آنچه در دوره SANS SEC 522 می گذرد!!!
روز اول با مروری بر حملات اخیر برنامههای کاربردی وب و روندهای امنیتی آغاز می شود.
به دنبال آن فن آوری های اساسی مورد استفاده در برنامه های تحت وب بررسی می شود. ما اطلاعات درستی را در اختیار شما قرار می دهیم تا بتوانید نحوه عملکرد برنامه های وب و مفاهیم امنیتی مربوط به آنها را درک کنید.
برنامه های وب مدرن با ترکیبی از زیرساخت سرور، زیرساخت ابری و احتمالاً سایر منابع داده پشتیبانی می شوند. ممکن است کد در یک برنامه به طور کامل قفل شده باشد، اما اگر تنظیمات سرور ناامن باشد، سروری که برنامه را اجرا می کند به راحتی آسیب می بیند. قفل کردن محیط وب ضروری است ، بنابراین ما این مفهوم اساسی دفاع از پلت فرم و میزبان را پوشش می دهیم. شما با مشکلات رایج زیرساخت و امنیت ابر با برنامه های وب آشنا خواهید شد تا بتوانید آنها را به درستی ایمن کنید.
از آنجا که اتوماسیون در حال تبدیل شدن به یک عنصر مهم در فرایند توسعه است، زیرساخت ها و اجزای توسعه از طریق پیکربندی ساخته و نگهداری می شوند. مدیریت این تنظیمات برای امنیت برنامه بسیار مهم است. ما بهترین فرایندهای عملی و جنبه های کلیدی ایمن سازی پیکربندی های مربوط به برنامه وب را از زیرساخت گرفته تا محیط های ابری و تنظیمات سطح سرور وب را پوشش می دهیم تا بتوانید از پیکربندی ها و محیط های پشتیبانی مرتبط برای برنامههای وب گرانبها محافظت کنید.
روز دوم به حفاظت در برابر تهدیدهای ناشی از ورودی خارجی اختصاص دارد.
برنامههای کاربردی مدرن باید منابع متعدد مانند برنامه های دیگر ، مرورگرها و سرویس های وب را بپذیرند. حملات برنامه های وب در چند سال گذشته به ما یادآوری کرده است که همه الگوهای حمله اغلب استفاده می شوند.
روز را با بحث تزریق SQL آغاز می کنیم. مکانیسم های اصلی حمله پوشش داده شده است، و نمونه های واقعی و الگوهای دفاعی که در برنامه های بزرگ کار می کنند دنبال می شوند. سپس به جعل درخواست از طریق سایت میپردازیم، که یک حمله رایج علیه مکانیسمهای جلسه است. ما تاریخچه حمله و الگوهای مدرن دفاعی را به طور عمیق پوشش می دهیم تا از برنامه وب شما در برابر جعل درخواست بین سایتی محافظت کنیم.
پس از آن بحث مفصلی در مورد اسکریپت نویسی بین سایت ها، رایج ترین آسیب پذیری در برنامه های وب ، دنبال می شود. اسکریپت نویسی متقابل یک حمله پیچیده نیست، اما سطح حمله بزرگ، دفاع effectively در برابر آن را دشوار میکند. ما بر روی استراتژیهای کاهش و آزمایش اسکریپت نویسی بین المللی در محیط های سازمانی در دنیای واقعی تمرکز می کنیم.
در ادامه به نقص و همزمانی منطق تجاری می پردازیم. این موضوعات دشوار برای تشخیص با اسکنرهای خودکار است، بنابراین ضروری است که متخصصان امنیتی این مشکلات را درک کرده و به هر قیمتی از آنها اجتناب کنند.
روز سوم با بحث احراز هویت در برنامه های کاربردی وب شروع می شود.
و پس از آن نمونه هایی از بهره برداری و کاهش اقدامات قابل اجرا در کوتاه مدت و بلند مدت آغاز میشود. با توجه به روند حرکت به سمت تکیه کمتر بر گذرواژه ها برای احراز هویت، ما الگوهای مدرن احراز هویت بدون رمز عبور و احراز هویت چند عاملی را پوشش میدهیم. ما با ارائه اطلاعاتی در مورد نحوه کشف و آزمایش آسیب پذیریها بحث را تکمیل می کنیم.
موضوع دیگر، نسل جدید راه حلهای تک علامت مانند OAuth و فناوریهای مرتبط مانند JWT و OpenID Connect است. ما مفاهیم استفاده از این سیستمهای احراز هویت/مجوز و “gotchas” رایج و اجتناب ناپذیر را پوشش میدهیم.
احراز هویت با بحث مجوز دنبال می شود. یک برنامه وب نه تنها نیاز به شناسایی دقیق کاربر دارد ، بلکه باید دسترسی به اطلاعات (کنترل دسترسی) را بر اساس امتیازات کاربر محدود کند. شما نحوه صحیح برنامهریزی برای کنترل دسترسی در طول چرخه عمر توسعه و مشکلات رایج هنگام اجرای چنین کنترلی را خواهید آموخت. مشابه بحث احراز هویت، ما با آسیب پذیری ها شروع می کنیم و سپس به سراغ آزمایش کاهش آسیب پذیری می رویم و پس از آن بخشی از بهترین شیوه ها را دنبال می کنیم.
اینترنت محرمانه بودن اطلاعات منتقل شده را تضمین نمی کند. رمزگذاری معمولاً برای محافظت از یکپارچگی و محرمانه بودن اطلاعات مبادله شده با برنامه های وب استفاده می شود. این دوره، امنیت داده ها در حال انتقال و همچنین روی دیسک را پوشش می دهد و چگونه رمزگذاری می تواند به امنیت این اطلاعات در زمینه امنیت برنامه های وب کمک کند.
ما بحث مدیریت جلسه در برنامه های وب را ادامه می دهیم. ما به تکنیک هکر در حمله به مکانیسم جلسه و استراتژیهای دفاعی مرتبط میپردازیم. ما بهترین شیوههای امنیت جلسه را ارائه میدهیم تا اطمینان حاصل شود که مدیریت جلسه برنامه شما تا حد ممکن قوی است.
ما روز چهارم را با تمرکز بر مکانیسم های دفاعی فعال آغاز می کنیم تا بتوانیم در بازی هک و دفاع از افراد بد جلو باشیم.
ما موضوعاتی مانند مدیریت بارگذاری پرونده، تشخیص نفوذ و استفاده از فریب را پوشش خواهیم داد. این مطالب به گونه ای طراحی شده است که در دفاع از برنامه خود امتیاز بیشتری به شما می دهد.
سپس به امنیت JavaScript و XML (AJAX) و سرویس های وب ناهمزمان و سایر سرویس های وب می پردازیم که در حال حاضر فعال ترین بخش در توسعه برنامه های وب هستند. مسائل مربوط به امنیت همچنان در حال بوجود آمدن است، زیرا سازمانها مشتاق هستند تا فناوری های وب جدید را بدون درک اولیه بدون اطمینان از آنها بشناسند.
ما مسائل امنیتی، استراتژی های کاهش و بهترین شیوه های کلی برای پیاده سازی AJAX و خدمات وب (SOAP و REST) را پوشش خواهیم داد. ما همچنین حملات و روندهای دنیای واقعی را بررسی می کنیم تا درک بهتری از آنچه در برابر آن محافظت می کنید، داشته باشید.
ما روز را با چندین مکانیسم دفاعی مبتنی بر سرصفحه مشتری مانند سیاست امنیت محتوا به پایان می رسانیم تا به شما در امنیت بیشتر برنامه های خود کمک کنیم. ما به طور عمیق در مورد چگونگی بالا بردن سطح دانش این سرفصل ها از طریق یک برنامه کاربردی صحبت می کنیم ، اما همچنین به سقوط احتمالی این مکانیسم ها نیز خواهیم پرداخت.
روز پنجم بر فناوری های پیشرفته برنامه های کاربردی وب و تحقیقات جاری در این زمینه تمرکز دارد.
موضوعاتی مانند امنیت سریال سازی ، جک زدن و بازگرداندن مجدد DNS پوشش داده شده است. این آسیب پذیری ها در سال های اخیر ظهور کرده و تغییر کرده است و ما استراتژی های دفاعی خود را در برابر آنها اصلاح می کنیم. ما تحولات اخیر در مورد این موضوعات و آخرین تاکتیک های دفاعی برای محافظت در برابر این حملات را پوشش می دهیم.
ما همچنین مسائل امنیتی مربوط به اجزای HTML5 و مدیریت یونی کد در دنیای برنامه های وب را پوشش خواهیم داد. آسیب پذیری های زیادی در این مناطق در حال ظهور است و ما در مورد بهترین شیوه ها برای رفع آنها بحث خواهیم کرد.
سپس جنبه آزمایش امنیت برنامه های کاربردی وب را بررسی می کنیم – از متدولوژی های اصلی آزمایش گرفته تا استراتژی های خط پایپ CI/CD مدرن. آزمایش برنامه های تحت وب با توجه به برنامه تحویل پیوسته فعلی می تواند چالش برانگیز باشد، بنابراین هدف ما ارائه اطلاعات مربوطه است تا به شما در حرکت در چرخه های آزمایش برنامه های مدرن کمک کند.
برای فعال کردن هرگونه تشخیص نفوذ، ورود و مدیریت خطا باید به درستی انجام شود. ما رویکرد صحیح برای رسیدگی به حوادث و گزارشات را مورد بحث قرار می دهیم، سپس برای پوشش جنبه های مدرن تشخیص نفوذ در امنیت برنامه های وب، بیشتر تمرکز می کنیم.
روز ششم با معرفی چرخه زندگی توسعه نرم افزار ایمن و نحوه استفاده از آن در توسعه وب آغاز می شود.
فعالیت اصلی یک کارگاه بزرگ خواهد بود که درس های آموخته شده در طول دوره را به هم پیوند می دهد و آنها را با برنامه های کاربردی تقویت می کند. برای پیاده سازی یک وب سایت پویا و کامل پایگاه داده، به یک ماشین مجازی ارائه می شود. علاوه بر این ، آنها از یک ابزار سفارشی برای شمارش آسیب پذیری های امنیتی و شبیه سازی ارزیابی آسیب پذیری وب سایت استفاده خواهند کرد. سپس دانش پذیران باید تصمیم بگیرند که کدام آسیب پذیری ها واقعی هستند و کدام موارد مثبت کاذب هستند، سپس آسیب پذیری ها را کاهش دهند. اسکنر به دانش آموز نمره می دهد زیرا آسیب پذیری ها حذف می شوند یا به عنوان مثبت کاذب بررسی می شوند. دانش پذیران می توانند این تمرین را گسترش دهند و آسیب پذیری هایی را که توسط اسکنر ارائه نشده است، بیابند.
دانش پذیران از طریق این تمرینات عملی نحوه ایمن سازی برنامه وب را یاد می گیرند، با ایمن سازی سیستم عامل و سرور وب، پیدا کردن مشکلات پیکربندی در تنظیم زبان برنامه و پیدا کردن و رفع مشکلات برنامه نویسی در سایت امنیت برنامه های تحت وب خود را تا حد قابل قبولی حدف می کنند.
دیدگاهتان را بنویسید