امنیت در نرم افزار هایتان را از پایه بنا کنید

هنگامیکه مشغول جمع آوری نیازمندی ها برای نرم افزارتان هستید ، به طور معمول کاربرد ، کارایی ، ظاهر گرافیکی کاربر ، قابلیت نگهداری و سایر ویژگی ها را در آن لحاظ می کنید ، اما امنیت چطور ؟
امنیت باید از ابتدای ساخت سیستم در آن در نظر گرفته شود و باید قسمتی از مشخصات و نیازمندی های کاربردی سیستم در نظر گرفته شود. امنیت ممکن است یک کشمکش باشد ، مشتریان و مدیران پروژه گاها فکر می کنند امنیت جزئی ذاتی از سیستم است. آنها ممکن است از تاکید بر امنیت طفره روند و آن را به دید فرآیندی که باید به مرور و در طول توسعه نرم افزار تکمیل شود نگاه کنند. واقعیت این است که هرچه توسعه نرم افزار تکمیل تر شود ، اعمال و در نظر گرفتن امنیت پر هزینه تر و زمانبر تر خواهد بود.
بنابراین ، این فرض که نیازی نیست امنیت را به چشم یک نیازمندی در سیستم ببینیم ، یک ریسک بسیار بزرگ است. هنگامیکه امنیت به طور مشخص قسمتی از نیازمندی های یک نرم افزار نباشد ، ممکن است هیچگاه در نظر گرفته نشود. چرخه توسعه امن (Security Development Lifecycle – SDL) که بر یکپارچه سازی امنیت با چرخه توسعه نرم افزار تاکید دارد ، مبتنی بر ۷ گام است:
یک . جمع آوری نیازمندی های امنیتی
دو . امن کردن طراحی
سه . ترکیب کردن مدل های حمله (Incorporate threat modeling)
چهار . انجام بازبینی کد
پنج . انجام آزمون های نفوذ (penetration tests)
شش . امن کردن توزیع نرم افزار
هفت . یکپارچه سازی نظرات در تکرار بعدی چرخه توسعه نرم افزار
در صورت جمع آوری نیازهای امنیتی و در نظر گرفتن امنیت در تمامی گام های فرآیند توسعه نرم افزار ، برطرف کردن مشکلات بالقوه در حین طراحی و توسعه بسیار کم هزینه تر از زمانی خواهد بود که پس از عرضه نرم افزار ، خطایی بروز کند. یکی از سخت ترین جنبه های تولید نرم افزار های امن ، تجزیه و تحلیل کردن خطرات در مقابل برنامه کاربردی و شناسایی قسمت هایی از سیستم است که بالاترین ریسک را نشان می دهند. تمرین مدل سازی تهدید ، از چگونگی حمله به نرم افزار پرده بر می دارد و موجب شناسایی راههای مقابله با حمله و تامین امنیت می شود.
SDL به برنامه نویسان اجازه می دهد تهدید ها را شناسایی و به سرعت اقدامات متقابل لازم را در طول چرخه توسعه نرم افزار انجام دهند و به نوعی انجام اقدامات متقابل جزئی از امکانات برنامه به شمار می آید. برخی از برنامه نویسان از همان ابتدا اقدام به لیست کردن حملات بالقوه به عنوان نقص های نرم افزار می نمایند و آنها را در سیستم های پیگیری باگ (Bug Tracking System) ثبت و تا زمان تعدیل کامل ، آنها را از لیست حذف نمی نمایند. با استفاده از این روش ، تهدیدها هیچگاه فراموش نمی شوند و تا زمانیکه اقدامات متقابل برای حل مشکل آنها توسعه نیافته باشد ، همیشه در دید خواهند بود.
انتشارات مایکروسافت (Microsoft Press) سه کتاب منتشر کرده است که می تواند شما را در زمینه درک فرایندی که مایکروسافت از آنها بهره می برد ، یاری دهد :
- Writing Secure Code, Second Edition by Michael Howard and David LeBlanc (Redmond, WA: Microsoft Press, 2002)
- The Security Development Lifecycle by Michael Howard and Steve Lipner (Redmond, WA: Microsoft Press, 2006)
- Threat Modeling by Frank Swiderski and Window Snyder (Redmond, WA: Microsoft Press, 2004)
این کتابها دربردارنده انبوهی از اطلاعات درباره تکنیک های برنامه نویسی امن هستند .
در طول سالها ، بهترین شیوه ها و راههای کدنویسی فرموله ، تست و اشتراک گذاشته شده اند. اصول امنیتی نیز از این قاعده مستثنی نبوده اند.
معرفی کتاب Introducing Microsoft SQL Server 2008 R2

کتاب Introducing Microsoft SQL Server 2008 R2 یکی از جدیدترین کتاب های مایکروسافت است (MS Press) که ۱۰ فصل ابتدایی آن به صورت رایگان قابل دریافت است . این کتاب برای افرادی که می خواهند با قابلیت های جدید SQL Server 2008 R2 آشنا شوند مناسب است و همانطور که در پیشگفتار کتاب نیز آمده انتظار می رود مخاطبان این کتاب پیش زمینه ای در مورد SQL Server داشته باشند. همانطور که می دانید سطح تغییرات در SQL Server 2008 R2 به نسبت SQL Server 2008 بقدری زیاد است که نمی توان آن را در حد یک Service Pack در نظر گرفت و به همین جهت ارائه کتابی که تمرکز اصلی آن بر روی قابلیت های SQL Server 2008 R2 باشد بسیار لازم و ضروری به نظر می رسید. این کتاب توسط Ross Mistry و Stacia Misner نگارش شده است .
هر چند نویسندگان تنها آشنایی با SQL Server را پیش زمینه مطالعه کتاب عنوان کرده اند اما به نظر شخصی من ، این کتاب برای افرادی مناسب است که تسلط کاملی بر روی تمامی ویژگی های و قابلیت های سطح بالای SQL Server داشته اند و صرفا می خواهند از این کتاب به عنوان ابزاری برای بروزرسانی دانش خود بهره ببرند. تمرکز اصلی کتاب بر روی ارائه مفاهیم و قابلیت های جدید است و به ارائه مثال های محدودی اکتفا شده است و این موضوع نیاز به یک کتاب جانبی عملی تر در کنار این کتاب را ، ایجاد می کند.
برای دریافت این کتاب می توانید به این صفحه مراجعه نمایید .
معرفی کتاب Moving to Microsoft Visual Studio 2010

کتاب Moving to Visual Studio 2010 یکی از جدیدترین کتاب های رایگان عرضه شده توسط Microsoft Press است . این کتاب توسط Patrice Pelland ، Pascal Paré و Ken Haines به قلم نگارش در آمده است . این کتاب ۳۳۶ صفحه ای به سه قسمت مجزا تقسیم بندی شده است که هر قسمت مخاطبان خاص خود را دارد . قسمت ابتدایی این کتاب برای توسعه دهندگانی است که قصد دارند از Visual Studio 2003 به Visual Studio 2010 مهاجرت نمایند . به همین ترتیب قسمت های دوم و سوم نیز به توسعه دهندگانی که از Visual Studio 2005 و Visual Studio 2008 استفاده می کنند اختصاص یافته است .
این کتاب برای توسعه دهندگانی که با نسخه های پیشین Visual Studio کار کرده اند و اکنون قصد مهاجرت به نسخه ۲۰۱۰ را دارند مناسب است . این کتاب به بررسی قابلیت های جدید Visual Studio 2010 می پردازد و ابزارهای جدید گنجانده شده در این نسخه را معرفی می کند و در همین رابطه گریزی بر تکنولوژی های جدید ارائه شده نیز خواهد داشت هر چند تمرکزی بر شرح این تکنولوژی های جدید ندارد . به عبارت دیگر این کتاب ، برای یادگیری یک زبان خاص ، و یا استفاده به عنوان یک کتاب مرجع و یا تمرکز بر روی تکنولوژی خاصی نگارش نشده است .
برای دریافت این کتاب و کدهای مربوطه می توانید به این آدرس مراجعه نمایید .

