در صورت آشنایی برنامه نویسان و توسعه دهندگان نرم افزار با روش های نا امن برنامه نویسی و جایگزین کردن آنها با روش های امن، می توان گام بزرگی را برای کاهش و یا حذف آسیب پذیری های یک نرم افزار، قبل از انتشار آن، برداشت.
اعتبارسنجی ورودی
تمام ورودی ها از منابع داده نامطمئن را اعتبارسنجی کنید. اعتبارسنجی صحیح ورودی، گستره وسیعی از آسیب پذیری ها نرم افزار را حذف می کند. بهتر است به اکثر منابع داده خارجی همچون خط دستور، واسطهای شبکه، متغیرهای محیطی و فایل های تحت اختیار کاربر، مشکوک باشید. اعتبار سنجی ورودی تا حد زیادی از بروز حملات تزریق SQL جلوگیری به عمل می آورد.
جدی گرفتن هشدارهای کامپایلر
کد خود را با استفاده از بالاترین سطح هشدار ممکن، کامپایل کنید و هشدارها را با اعمال تغییرات در کد از بین ببرید.
معماری و طراحی برای به کارگیری سیاست های امنیتی
یک معماری نرم افزار ایجاد کرده و نرم افزار خود را به گونه ای طراحی کنید که سیاست های امنیتی در آن پیاده سازی و اجرا شود. برای مثال، در صورتی که سیستم شما نیازمند حقوق دسترسی متفاوت در زمان های متفاوتی است، سیستم را به زیرسیستم های مجزا تقسیم کنید به طوری که هر زیر سیستم دارای حق دسترسی مناسب باشد.
سادگی
تا جایی که امکان دارد طراحی را ساده و کوچک نگاه دارید. طراحی های پیچیده احتمال بروز خطا را در پیاده سازی، تنظیمات و به کارگیری افزایش می دهند. به علاوه طراحی پیچیده تلاش لازم برای رسیدن به سطح مطلوب تضمین امنیت را به طرز قابل توجهی بالا می برد، زیرا مکانیزم های امنیتی نیز به همان نسبت پیچیده تر می شوند.
انکار پیش فرض
اساس همه دسترسی ها را بر مبنای اجازه دادن به افراد مجاز به جای مستثنی کردن افراد غیرمجاز قرار دهید. یعنی به صورت پیش فرض از دسترسی ها جلوگیری شود و تنها تعیین کننده شرایطی که تحت آنها اجازه دسترسی صادر می شود، الگوی حفاظت باشد.
وفادار بودن به اصل حداقل حق دسترسی
هر پردازه ای باید با کمترین حقوق دسترسی که برای کامل کردن آن مورد نیاز است، اجرا شود. هر حق دسترسی بالاتری باید در کمترین زمان ممکن در اختیار پردازه قرار گیرد. این راهکار فرصت های مهاجم را برای اجرای کد دلخواه با حق دسترسی ارتقا یافته، کاهش می دهد.
محافظت از داده هایی که به سیستم های دیگر فرستاده می شوند
از تمام داده هایی که به زیرسیستم های پیچیده همچون واسط های فرمان، پایگاه داده های رابطه ای و برنامه های آماده فرستاده می شوند، محافظت به عمل آورید. مهاجمان ممکن است بتوانند از قابلیت های استفاده نشده در زیر سیستم های مذکور، با استفاده از SQL، دستور (command) و یا دیگر حمله های تزریق، سوءاستفاده کرده و زیرسیستم های مذکور را فراخوانی کنند. البته دقت کنید که این مشکل لزوماً مشکل اعتبار سنجی داده های ورودی نیست زیرا زیرسیستم های پیچیده قادر به تشخیص زمینه ای که در آن درخواست ها انجام می شود، نیستند. از آنجایی که پردازه ای که زیرسیستم ها را فراخوانی می کند، قادر به تشخیص زمینه است، بنابراین پردازه مذکور، مسئول محافظت از داده ها، قبل از فراخوانی زیر سیستم های پیچیده است.
اجرای دفاع در عمق
مدیریت خطر را با استفاده از راهبرد دفاع چندلایه انجام دهید، در این صورت اگر یکی از لایه های دفاعی نتواند به خوبی کار کند، لایه دفاعی دیگری از تبدیل شدن یک نقص امنیتی به یک آسیب پذیری قابل سوءاستفاده جلوگیری به عمل می آورد و یا نتایج سوء یک حمله موفق را کاهش می دهد. برای مثال، ترکیب تکنیک های برنامه نویسی امن با محیط اجرای امن منجر به کاهش احتمال سوءاستفاده از آسیب پذیری های باقیمانده در کد، در زمان اجرای برنامه و در محیط عملیاتی می شود.
استفاده از روش های موثر تضمین کیفیت
تکنیک های تضمین کیفیت خوب، در شناسایی و حذف آسیب پذیری ها بسیار مؤثر عمل می کنند. تست نفوذ، تست fuzz (یک تکنیک تست نرم افزار که در آن از ورودی های دور از انتظار، غیرمعمول و تصادفی استفاده می شود) و ممیزی های کد منبع همگی باید به عنوان قسمتی از یک برنامه تضمین کیفیت مؤثر در نظر گرفته شوند. همچنین مرور امنیتی نرم افزار توسط یک گروه که مستقل از تولید کنندگان هستند، می تواند منجر به امنیت بالاتر سیستم شود. در واقع مرورگران بیرونی دیدگاه جدیدی را با خود می آورند و در نتیجه برای حل برخی مشکلات همچون شناسایی و اصلاح پیش فرض های نادرست بسیار مفید واقع می شوند.
اتخاذ یک استاندارد کدنویسی امن
لازم است یک استاندارد کدنویسی امن را بر مبنای زبان برنامه نویسی و سکویی که برای توسعه نرم افزار استفاده می شود، ایجاد کرده و یا از انواع موجود آن استفاده کنید.
تعریف نیازمندی های امنیتی
نیازمندی های امنیتی را هر چه زودتر در چرخه حیات توسعه نرم افزار مشخص کرده و وارد کنید. سپس در مراحل بعدی تولید نرم افزار از همخوانی آنها با نیازمندی های امنیتی اطمینان حاصل کنید. زمانی که نیازمندی های امنیتی تعریف نشده اند، امنیت سیستم تولید شده نمی تواند به صورت مؤثر ارزیابی شود.
مدلسازی تهدیدها
از مدلسازی تهدید برای پیش بینی تهدیدهایی که نرم افزار در آینده با آن مواجه خواهد شد استفاده کنید. مدلسازی تهدید شامل مشخص کردن دارایی های کلیدی، تجزیه برنامه کاربردی، تعیین و دسته بندی تهدیدهای مربوط به هر دارایی و بخش، درجه بندی تهدیدها براساس یک معیار درجه بندی خطر و سپس توسعه راهبرد های کاهش تهدیدها می شود که باید در قسمت های طراحی، کد و تست پیاده سازی شوند.
منبع درج : مرکز مدیریت امداد و هماهنگی عملیات رخدادهای رایانه ای - ماهر
ایده ها برای استارت آپ موجب رونق کسب و کارهای اینترنتی
آینده / استارت آپ
استارتآپها ادبیات بازار سرمایه را بلدند؟
استارت آپ
صدور تاییدیه دانش بنیانی شتابدهنده صدر فردا
اخبار / استارت آپ
اپلیکیشن شارژاپ
گوناگون / استارت آپ / رپرتاژ آگهی / بازتاب
جذابترین ایدههای B2B در سال 2020
استارت آپ
تعریف استارت آپ startup
دانشنامه / استارت آپ / مقاله
۱۰ استارتاپ که بدون سرمایه به سوددهی رسیدند
استارت آپ
ایده ها و پیشنهاد برای استارت آپ در سال جدید
راهکارها و ترفند ها / استارت آپ
استارتآپ ایرانی؛ مرجع اول زنان افغان
استارت آپ
شروع یک کسب و کار نوپا پلتفرمی
استارت آپ
برنامه شبکه اجتماعی تیندر
گوناگون / معرفی وب سایت / استارت آپ
10 استارت آپ برتر تاکسیرانی جهان
استارت آپ
پخت پیتزاهای هیجان انگیز با هوش مصنوعی
آینده / استارت آپ
ایده های استارتاپی فراموش شده
دورنما / بازار / استارت آپ
اپل، استارتاپ فناوری خودران Drive.ai را تصاحب کرد
استارت آپ
بررسی مهمترین چالشهای تیمهای استارتاپی
استارت آپ
نگرانی کاربران از هزینه تعمیر و تامین قطعات
گفت و گو / بازار / استارت آپ
مصاحبه با مدیرعامل و بنیانگذار استارتاپ Moz
گفت و گو / استارت آپ
آشنایی با استارت آپ های حوزه مدیریت آب
استارت آپ
راه اندازی ۷۰ استارت آپ توسط نخبگان ایرانی
استارت آپ
معرفی هشت استارتآپ موفق ایرانی در حوزه فینتک
استارت آپ
اولین مرورگر شرعی دنیا
استارت آپ
از صفر تا پیست
استارت آپ
معرفی برترین استارتاپهای CES 2019
اخبار / استارت آپ
ازدواج با فرد ثروتمند یا خوش اخلاق
سبک زندگی / برترین ها
هدف از تشکیل خانواده چیست
سبک زندگی
اول عاشق شویم، بعد ازدواج کنیم
سبک زندگی
خانواده چیست
سبک زندگی
مشاوره خانواده چیست؟
سبک زندگی
اولویتهای پسانداز خانواده چیست؟
سبک زندگی
هزینه های خانواده چیست؟
سبک زندگی
راهکار بیشتر حرف زدن اعضای خانواده چیست؟
سبک زندگی
چرخه زندگی و خانواده چیست؟
سبک زندگی
اهداف و اصول تشکیل خانواده
سبک زندگی
آموزش جنسی نادرست به سبک خانم جلسه ای
سبک زندگی
لطفا تماشاچی آزار زنان نباشید!
سبک زندگی
کودک آزاری؛ از نشانهها و دلایل تا درمان
گزارش / سبک زندگی / پرورش کودکان
روش های تعیین هدف و مسیر زندگی برای رسیدن به موفقیت
سبک زندگی
مجله اینترنتی دیپروتد نشریه مجازی بر بستر اینترنت به مسائل آموزشی و مقالات پیرامون کسب وکار های نوپا یا استارت آپ ها و سبک زندگی است فعالیت و محتوای مطالب ارائه شده در سایت همه بیشتر در حوزه مدیریت، کارآفرینی ، روانشناسی ،اقتصادی و فناوری اطلاعات است نام اصلی دیپروتد "ریشه های عمیق " با مجوز رسمی از هیات نظارت برمطبوعات مشغول به فعالیت است
ما را در شبکه های اجتماعی دنبال کنید
تمامی حقوق برای سایت فوق محفوط است.
S-TECH: ایرانی توانمند | Powered by: مجله اینترنتی دیپروتد