http://www.ictnews.ir/
http://ictnews.ir
چهارشنبه 1 مهر 1394
طراحي و معماري امنيتي
طراحي و معماري امنيتي

طرح درس مدرک بين المللي CISSP (قسمت بیست و دوم)

بخش عمده‌اي از تجربه به‌زانو درآمدن سازمان‌ها در سراسر جهان به رخنه‌هاي نرم‌افزاري مربوط مي‌شود. اين که يک شبکه «پوسته سخت و مقاومي در بيرون و يک هسته نرم و جويدني در داخل» دارد، توضيح آشنايي در حوزه امنيت به‌شمار مي‌آيد و به‌خوبي مفهوم خود را مي‌رساند. صنعت امنيت کار فوق‌العاده‌اي را در زمينه پيشرفت‌هاي مربوط به ابزارها و فناوري‌هاي امنيت محيط شبکه (فايروال‌ها، سيستم‌هاي تشخيص نفوذ يا IDS، سيستم‌هاي پيشگيري از نفوذ يا IPS و...) انجام داده است که يک پوسته سخت و مقاوم خارجي را تامين مي‌کنند. اما سخت‌افزاري که پردازش حياتي ما را انجام مي‌دهد هنوز آسيب‌پذيري‌هاي فراواني دارد که به‌طور روزمره مورد بهره‌برداري قرار مي‌گيرند.
در حالي‌که فروشندگان نرم‌افزاري تا حدود زيادي مسئوليت محافظت از محصولاتي که ارايه مي‌کنند را بر عهده مي‌گيرند، اما هيچ چيز آن‌قدر که به نظر مي‌رسد ساده و آسان نيست. صنعت رايانش دايما خواستار عملکرد، قابليت همکاري، انتقال‌پذيري و توسعه‌پذيري بيشتري بوده و فروشندگان به‌سختي تلاش مي‌کنند تا اين جنبه‌ها را در محصولات نرم‌افزاري و سخت‌افزاري خود براي مشتريان تامين کنند. از زماني که صنعت به موضوع ملزومات امنيتي که اين محصولات بايد آن‌ها را نيز تامين نمايند علاقه پيدا کرده (يا اساسا از آن‌ها آگاهي يافته) بيش از ده سال نمي‌گذرد. متاسفانه توسعه نرم‌افزاري که با تمام اين نيازها انطباق داشته باشد کار بسيار دشواري است: عملکرد، قابليت همکاري، انتقال‌پذيري، توسعه‌پذيري و امنيت گسترده. با افزايش سطح پيچيدگي در نرم‌افزار، توانايي پياده‌سازي امنيت مناسب در آن کاهش مي‌يابد. در حالي‌که توسعه‌دهندگان نرم‌افزاري مي‌توانند از روش‌هاي کدنويسي امن‌تري استفاده کنند، يکي از حياتي‌ترين جنبه‌هاي يک نرم‌افزار امن به معماري آن مربوط مي‌شود. در واقع امنيت بايد در هسته زيربنايي سيستم‌هاي عاملي که محيط‌هاي پردازشي را تامين مي‌کنند، ادغام شود. امنيت در توسعه سيستم‌هاي عامل امروزي به‌عنوان تمرکزي اصلي در نظر گرفته نشده است. اضافه کردن امنيت به سيستم‌هاي عاملي که از قبل در سراسر جهان استقرار يافته‌اند و حاوي ميليون‌ها خط برنامه هستند، کار بسيار دشواري است. از سوي ديگر بازنگري در معماري آن‌ها به‌صورتي که امکان ادامه تامين تمام عملکردهاي فعلي خود را داشته باشند و در عين حال همه آن‌ها را به‌طور امن ارايه کنند، تقريبا غيرممکن است.
صنعت سيستم‌هاي «مورد اعتمادي» دارد که سطح بالاتري از امنيت را نسبت به سيستم‌هاي متوسط ويندوز، لينوکس، يونيکس و مکينتاش تامين مي‌کنند. اين سيستم‌ها از ابتدا با در نظر گرفتن امنيت به‌عنوان يکي از اهداف اصلي خود ساخته شده‌اند، بنابراين معماري آن‌ها با سيستم‌هاي که ما بيشتر با آن‌ها خو گرفته‌ايم، تفاوت دارد. سيستم‌هاي مورد اعتماد به‌عنوان سيستم‌هاي همه‌منظوره در نظر گرفته نمي‌شوند. در واقع آن‌ها توابع خاصي را فراهم مي‌کنند، گران هستند، مديريت‌شان دشوارتر است و عموما در محيط‌هاي دولتي يا نظامي مورد استفاده قرار مي‌گيرند.
بايد اميدوار باشيم که بتوانيم به سطحي مابين اين دو دنياي متمايز برسيم، وضعيتي که نرم‌افزارهاي ما هنوز بتوانند تمام ويژگي‌ها و جذابيت‌هايي که به آن‌ها عادت داريم را در اختيار ما بگذارند و در عين حال اين‌کار را کاملا امن انجام دهند. اين کار تنها در صورتي انجام‌پذير است که افراد بيشتري با ايجاد امن نرم‌افزارها از ابتدا (يعني در مرحله معماري) آشنا شوند. رويکرد ادغام امنيت در سطح معماري در مقايسه با رويکرد «وصله‌کاري و اميدوار بودن» که بسياري از سازمان‌ها امروزه با آن سر و کار دارند، فاصله ما با محيط‌هاي امن را بسيار کمتر خواهد کرد.
امنيت کامپيوتري
امنيت کامپيوتري مي‌تواند يک اصطلاح بلاتکليف باشد زيرا براي اشخاص مختلف معاني متفاوتي دارد. بسياري از جنبه‌هاي يک سيستم مي‌توانند امن شوند و امنيت مي‌تواند در سطوح مختلفي با درجات گوناگوني پياده‌سازي شود. همان‌طور که قبلا نيز اشاره کرده‌ايم، امنيت اطلاعات شامل خصوصيات اصلي زير است:
- دسترس‌پذيري: جلوگيري از فقدان داده‌ها و منابع يا از دست رفتن دسترسي به آن‌ها.
- سلامت: جلوگيري از ويرايش غيرمجاز داده‌ها و منابع.
- محرمانگي: جلوگيري از فاش‌سازي غيرمجاز داده‌ها و منابع
اين خصوصيات اصلي به خصوصيات امنيتي دانه‌بندي شده‌تري مانند اعتبارسنجي، ذيحسابي، عدم انکار و قابليت اتکا تقسيم مي‌شوند. يک شرکت چطور مي‌تواند بفهمد که به کداميک از اين موارد نياز دارد، تا چه درجه‌اي به آن‌ها نياز دارد و اين که آيا سيستم‌هاي عامل و برنامه‌هايي که از آن‌ها استفاده مي‌کند عملا چنين ويژگي‌ها و محافظتي را تامين مي‌کنند يا خير؟ وقتي نگاه عميق‌تري به سوالات و خود محصولات بيندازيد، اين پرسش‌ها بيش از پيش پيچيده مي‌شوند. سازمان‌ها تنها درباره رمزنگاري ايميل‌هاي خود هنگام انتقال آن‌ها از طريق اينترنت نگران نيستند. آن‌ها همچنين درباره داده‌هاي محرمانه‌اي که در بانک‌هاي اطلاعاتي‌شان ذخيره شده‌اند يا امنيت مجموعه‌هاي وب خود که مستقيما به اينترنت متصل هستند، سلامت مقادير ورودي داده که به برنامه‌هاي پردازش کننده اطلاعات تجاري فرستاده مي‌شوند، مهاجمين خارجي که سرورها را از کار مي‌اندازند و بر بازدهي تاثير مي‌گذارند، گسترش ويروس‌ها، هماهنگي داخلي مخازن داده، امنيت ابزارهاي موبايل و بسياري موارد ديگر نيز نگران هستند.
اين مسايل تنها بر بازدهي و سودآوري تاثير نمي‌گذارند، بلکه بر افزايش مشکلات قانوني و تعهدات نيز تاثير دارند. اگر هر کدام از مشکلاتي که قبلا به آن‌ها اشاره کرديم روي دهد، شرکت‌ها و مديريتي که آن‌ها را هدايت مي‌کند مجبور به پاسخگويي خواهند بود. در نتيجه براي شرکت‌ها بسيار مهم است (يا بايد باشد) که بدانند به چه امنيتي نياز دارند و چگونه به‌طور صحيح اطمينان پيدا کنند که محافظت واقعا توسط محصولاتي که خريداري نموده‌اند، تامين مي‌شود.
بسياري از اين مشکلات امنيتي بايد پيش از مراحل طراحي و معماري يک محصول و همچنين در طول اين مراحل مورد توجه قرار گيرند. امنيت وقتي در بهترين شرايط ممکن قرار خواهد داشت که در شالوده سيستم‌هاي عامل و برنامه‌ها طراحي و ايجاد شود، نه اين که به‌عنوان يک چاره‌انديشي بعدي به آن‌ها اضافه شود. پس از آن‌که امنيت به‌عنوان بخش مهمي از طراحي ادغام شد، بايستي مهندسي، پياده‌سازي، آزمايش، ارزيابي و احتمالا گواهي و معتبرسازي شود. امنيتي که يک محصول تامين مي‌کند بايد بر اساس دسترس‌پذيري، سلامت و محرمانگي که ادعا مي‌کند قادر به تامين آن است، مورد ارزيابي قرار گيرد. نکته ظريفي که وجود دارد اين است که سازمان‌ها و اشخاص عموما به‌طور کامل درک نمي‌کنند که يک نرم‌افزار چطور اين سرويس‌ها را به‌طور کارآمد تامين مي‌نمايد. البته يک شرکت نرم‌افزاري را مي‌خواهد که محرمانگي منسجمي را تامين کند، اما آيا شخصي که قرار است عملا اين محصول نرم‌افزاري را خريداري نمايد بايد چه سوالي را مطرح کرده و به دنبال چه‌چيزي باشد؟ آيا اين شخص از فروشنده درباره محافظت از کليد رمزنگاري، الگوريتم‌هاي رمزنگاري و اين که فروشنده از کدام مدل چرخه زندگي در توسعه نرم‌افزار استفاده کرده است، سوال مي‌نمايد؟ آيا خريدار مي‌داند که بايد درباره الگوريتم‌هاي Hashing، کدهاي اعتبارسنجي پيام، تحمل خرابي و گزينه‌هاي افزونگي توکار سوال کند؟ پاسخ همه اين پرسش‌ها «غالبا خير» است. نه تنها اکثر مردم کاملا درک نمي‌کنند که براي تامين صحيح دسترس‌پذيري، سلامت و محرمانگي به چه چيزي نياز دارند، رمزگشايي اين که يک قطعه نرم‌افزاري واقعا چه کاري را به‌طور صحيح انجام مي‌دهد (يا نمي‌دهد) بدون در اختيار داشتن پايه آگاهي مورد نياز، بسيار دشوار خواهد بود.
امنيت کامپيوتري هشت تا ده سال قبل بسيار ساده‌تر بود زيرا محيط‌هاي شبکه و نرم‌افزار به‌اندازه امروز پيچيده نبودند. در آن زمان بسيار آسان‌تر مي‌توانستيد خودتان را يک متخصص امنيتي بناميد. با نرم‌افزارهاي امروزي، توقعات بسيار بيشتري از متخصصين امنيتي، فروشندگان نرم‌افزار و سازمان‌هايي که محصولات نرم‌افزاري را خريداري و نصب مي‌کنند، وجود دارد. امروزه سيستم‌هاي کامپيوتري و نرم‌افزاري که روي آن‌ها اجرا مي‌شود بسيار پيچيده هستند و تا وقتي کاملا براي مواجه شدن با آن‌ها آماده نشده باشيد و واقعا نحوه کار اين فناوري‌ها را درک نکنيد، کاملا براي تعيين اين که سطح مناسبي از امنيت وجود دارد يا خير، صلاحيت نخواهيد داشت.
ما در اين بخش امنيت سيستم و نرم‌افزار را از پايه مورد بررسي قرار مي‌دهيم. سپس به‌سراغ نحوه ارزيابي و رده‌بندي اين سيستم‌ها توسط دولت‌ها و ساير موسسات و همچنين اين موضوع که رده‌بندي‌هاي مذکور واقعا چه مفهومي دارند، خواهيم رفت. با اين‌حال پيش از آن‌که وارد مباحث مورد نظر شويم، بايد اين نکته مهم را درک کنيم که منظور ما از معماري‌هاي مبتني بر سيستم و مولفه‌هايي که آن‌ها را تشکيل مي‌دهند چيست.

معماري سيستم
ما قبلا درباره چارچوب‌هاي معماري انترپرايز و رابطه مستقيم آن‌ها با معماري سيستم صحبت کرده‌ايم. بنابراين شما مي‌دانيد که يک معماري ابزاري است که براي درک مفهومي ساختار و رفتار يک ماهيت پيچيده از ديدگاه‌هاي مختلف مورد استفاده قرار مي‌گيرد. يک «توصيف معماري»، تشريح و ارايه رسمي يک سيستم، مولفه‌هاي تشکيل‌دهنده آن، تعاملات و وابستگي‌هاي داخلي که بين اين مولفه‌ها وجود دارند و در نهايت رابطه آن با محيط است. يک معماري ديدگاه‌هاي مختلفي از سيستم را بر‌اساس نيازهاي ذينفعان آن سيستم تامين مي‌کند.
پيش از ورود به بحث مفهوم معماري سيستم، بد نيست با واژگان اين حوزه کمي آشنا شويم. با وجود آن‌که مردم از اصطلاحاتي مانند طراحي، معماري و توسعه نرم‌افزار به‌صورت قابل جايگزين با يکديگر استفاده مي‌کنند، با اين‌حال اگر واقعا بخواهيم اين موضوع را بهتر بشناسيم بايد قاعده‌مندتر باشيم.
وقتي نوبت به فرآيند کلي توسعه سيستم مي‌رسد، معماري در بالاترين سطح قرار مي‌گيرد. معماري يک ساختار مفهومي است که پيش از رسيدن به مراحل طراحي توسعه بايد کاملا درک و شناخته شود. در سطح معماري است که ما به سوالاتي مانند «چرا در حال ايجاد اين سيستم هستيم؟»، «چه کسي از آن استفاده مي‌کند و چرا؟»، «چگونه قرار است از آن استفاده شود؟»، «سيستم در چه محيطي کار خواهد کرد؟»، «چه نوع امنيت و محافظتي مورد نياز است؟» و «سيستم نياز به برقراري ارتباط با چه چيزي را دارد؟» پاسخ مي‌دهيم. پاسخ‌هاي اين سوالات اهداف اصلي که سيستم بايد به آن‌ها برسد را مشخص نموده و به ما کمک مي‌کنند تا سيستم را در يک سطح انتزاعي و خلاصه ايجاد کنيم. اين معماري انتزاعي، اهداف «تصوير بزرگ» را تامين مي‌کند که براي هدايت مراحل بعدي طراحي و توسعه مورد استفاده قرار مي‌گيرند.
در مرحله طراحي سيستم، ما مشخصات ملزومات سيستم را جمع‌آوري کرده و از زبان‌هاي مدل‌سازي براي تعيين نحوه دستيابي سيستم به اهداف طراحي مانند عملکرد، سازگاري، تحمل خطا، توسعه‌پذيري، امنيت، کاربردپذيري و قابليت نگهداري مورد نياز، استفاده مي‌نماييم. زبان مدل‌سازي عمومي گرافيکي است، بنابراين مي‌توانيم سيستم را از يک نماي ساختار آماري يا يک نماي رفتاري ديناميک، تجسم کنيم. ما مي‌توانيم بفهميم که کدام مولفه‌ها در داخل سيستم بايد به‌طور جداگانه پياده‌سازي شوند و چطور براي دستيابي به اهداف معماري بزرگ‌تر با يکديگر همکاري مي‌کنند.
در مرحله طراحي است که ما مدل‌هاي امنيتي مانند Biba و Clark-Wilson را معرفي مي‌کنيم. اين مدل‌ها براي کمک به ايجاد طراحي سيستم به‌منظور انطباق با اهداف معماري به‌کار برده مي‌شوند.
پس از تعريف طراحي سيستم، به مرحله توسعه مي‌رسيم. برنامه‌نويسان جداگانه‌اي براي آماده‌سازي قطعات سيستمي که مسئوليت آن را بر عهده دارند، تعيين خواهند شد و به اين ترتيب کدنويسي نرم‌افزار و ساخت سخت‌افزار آغاز مي‌شود (توجه داشته باشيد که يک سيستم از هر دو نوع مولفه‌هاي سخت‌افزاري و نرم‌افزاري تشکيل شده است).
آخرين عبارتي که بايد از درک صحيح آن مطمئن شويم، سيستم است. وقتي اکثر مردم اين عبارت را مي‌شنوند، به يک کامپيوتر منفرد فکر مي‌کنند، اما يک سيستم مي‌تواند يک کامپيوتر منفرد، يک برنامه، يک مجموعه منتخب از زيرسيستم‌ها، مجموعه‌اي از کامپيوترها يا مجموعه‌اي از شبکه‌ها که از کامپيوترها و برنامه‌ها تشکيل شده است، باشد. يک سيستم مي‌تواند ساده باشد، مانند سيستم‌عامل تک کاربره‌اي که به انجام وظيفه معيني اختصاص دارد. از سوي ديگر سيستم مي‌تواند بسيار پيچيده باشد، مانند يک شبکه انترپرايز که از سيستم‌ها و برنامه‌هاي چند کاربره نامتجانس تشکيل شده است. بنابراين وقتي به معماري‌هاي سيستم نگاه مي‌کنيم، مي‌توانند روي محيط‌هاي بسيار پيچيده و توزيع شده يا زيرسيستم‌هاي بسيار متمرکز اعمال شوند. در نتيجه بايد مطمئن شويم نوع سيستمي که بايد توسعه داده شود در مرحله معماري واقعا درک شده است.
استانداردهاي در حال تکاملي وجود دارند که مشخصات معماري‌هاي سيستم را مشخص مي‌کنند. ابتدا IEEE به استانداردي با نام Standard 1471 رسيد که تحت‌عنوان «IEEE Recommended Practice for Architectural Description of Software-Intensive Systems» شناخته مي‌شود. اين استاندارد توسط ISO پذيرفته و در سال 2007 تحت‌عنوان ISO/IEC 42010:2007 منتشر شد. تا زمان آماده‌سازي اين مطلب، استاندارد ISO مذکور به‌روزرساني شده و حالا تحت عنوان ISO/IEC/IEEE 42010:2013 يا Systems and software engineering - Architecture description شناخته مي‌شود. اين استاندارد همچنان در حال تکامل است و بهسازي آن ادامه دارد. هدف استاندارد مورد بحث، استانداردسازي جهاني نحوه پياده‌سازي معماري بجاي محصولاتي است که برنامه‌نويسان صرفا کار روي آن‌ها را با رويکردهاي انحصاري خودشان انجام مي‌دهند. يک رويکرد قاعده‌مند به معماري سيستم، امکان دستيابي به کيفيت، قابليت همکاري، توسعه‌پذيري، انتقال پذيري و امنيت بهتر را فراهم مي‌کند.
ISO/IEC/IEEE 42010:2013 از همان واژگاني پيروي مي‌کند که ما در تعريف چارچوب‌هاي رسمي معماري انترپرايز به کار برديم:
- معماري: سازماندهي زيربنايي يک سيستم که در مولفه‌هاي آن، ارتباط آن‌ها با يکديگر و محيط و همچنين قواعدي که طراحي و تکامل آن را هدايت مي‌کنند، مجسم مي‌شود.
- توصيف معماري: مجموعه‌اي از مستندات براي هدايت يک معماري به‌صورت رسمي است.
- ذينفع (Stakeholder): شخص، تيم يا سازماني با سود، علاقه يا نگراني‌هايي در رابطه با يک سيستم.
- نما (View): نمايش يک سيستم کامل از نقطه نظر يک مجموعه مرتبط از نگراني‌ها.
- ديدگاه (Viewpoint): مشخصاتي از قراردادها براي ايجاد يک نما و استفاده از آن. الگويي که از آن براي توسعه نماهاي جداگانه از طريق تعيين مقاصد و مخاطبين يک نما و تکنيک‌هاي ايجاد و آناليز آن استفاده مي‌شود.
به‌عنوان يک مثال مقايسه‌اي، اگر بخواهيم خانه خود را بسازيم ابتدا بايد به سراغ يک معمار برويم. او مجموعه‌اي از سوالات را از ما خواهد پرسيد تا «اهداف» کلي خانه مورد نظرمان را درک نمايد. اين اهداف مي‌توانند شامل چهار اتاق خواب، سه سرويس بهداشتي و حمام، اتاق نشيمن، اتاق بازي، گاراژ، مساحت 500 متر مربعي و يک باغچه کوچک باشد. پس از آن‌که اهداف مورد نظر ما مشخص شد، معمار يک نوع متفاوت از مستندات (نقشه بلوپرينت، مستندات مشخصات و...) را آماده خواهد کرد که معماري خانه را در يک قالب رسمي تشريح مي‌کند. معمار بايد مطمئن شود که با اهداف افراد متعددي (ذينفعان) در اين خانه انطباق پيدا مي‌کند. او بايد ملزومات منطقه‌بندي، ملزومات ساختماني، ملزومات قانوني و ملزومات طراحي ما را رعايت کند. هر ذينفع بايد مستندات و اطلاعات (نماهاي) مربوط به نيازها و درک خود از خانه را در اختيار داشته باشد. يک طرح کلي از معماري مي‌تواند براي لوله‌کش تهيه شود، در حالي که طرح ديگري براي تکنيسين‌هاي برق تهيه خواهد شد. مديران منطقه‌بندي و خود ما نيز طراح‌هاي کلي خودمان را دريافت خواهيم کرد. هر ذينفع بايد اطلاعات مربوط به اين خانه را با واژگاني که برايش قابل درک باشد و با نگراني‌هاي خاص خودش مرتبط مي‌شود، در اختيار داشته باشد. اگر معمار مستندات مربوط به ملزومات شبکه برق خانه را به ما بدهد، استفاده چنداني برايمان نخواهد داشت. ما نياز داريم نماي معماري که مستقيما به نيازهاي خودمان ارتباط دارد را ببينيم.
همين وضعيت در مورد يک سيستم صادق است. يک معماري بايد اهدافي که سيستم قرار است به آن‌ها برسد را براي هر ذينفع مشخص نمايد. يک ذينفع درباره عملکرد سيستم نگران است، در حالي که ديگري درباره بازدهي آن نگراني دارد. نگراني يک ذينفع به قابليت همکاري مربوط مي‌شود و ديگري درباره امنيت نگران است. بنابراين معماري مستنداتي را ايجاد مي‌کند که رسما معماري سيستم را براي هر يک از اين ذينفعان تشريح مي‌کند، آن‌هم به بهترين شکل ممکن نسبت به نگراني‌ها و ديدگاه‌هاي آن‌ها. هر ذينفع مستندات خود را بازبيني مي‌کند تا مطمئن شود که چيزي در معماري از قلم نيفتاده است. پس از تصويب معماري، طراحان و توسعه‌دهندگان نرم‌افزار براي آغاز کار ساخت سيستم فراخواني مي‌شوند. شکل 1 رابطه مابين اين اصطلاحات و مفاهيم را نشان مي‌دهد.
ذينفعان يک سيستم عبارتند از کاربران، اپراتورها، مسئولين نگهداري، توسعه‌دهندگان و تامين‌کنندگان. هر ذينفع نگراني‌هاي خودش را در رابطه با سيستم دارد که مي‌تواند عملکرد، بازدهي، امنيت، قابليت نگهداري، کيفيت سرويس، کاربردپذيري و... باشد. معماري سيستم بايد داده‌هاي سيستم را در رابطه با هر نگراني هر ذينفع بيان کند، کاري که از طريق نماها انجام مي‌شود. نماهاي سيستم مي‌توانند منطقي، فيزيکي، ساختاري يا رفتاري باشند.
فرآيندهاي ايجاد معماري سيستم و استفاده از آن در حال تکامل هستند و دايما به سطح بالاتري از قاعده‌مندي و استانداردسازي مي‌رسند. در گذشته معماري‌هاي سيستم براي انطباق با نگراني‌هاي شناسايي شده ذينفعان (عملکرد، قابليت همکاري، بازدهي) توسعه مي‌يافتند اما حالا يک نگراني جديد به اين مجموعه اضافه شده است: امنيت. بنابراين سيستم‌هاي جديد بايستي نه تنها با نگراني‌هاي قبلي، بلکه با نگراني‌هاي تازه‌اي که براي ذينفعان ايجاد مي‌شود انطباق پيدا کنند.
اهداف امنيتي بايد پيش از ايجاد معماري يک سيستم تعريف شوند و نماهاي امنيتي خاص از سيستم بايد براي کمک به هدايت مراحل طراحي و توسعه ايجاد شوند. وقتي مي‌شنويم که امنيت «اضافه شده» به‌معناي آن است که نگراني‌هاي امنيتي در مرحله توسعه (برنامه‌نويسي) مورد توجه قرار گرفته‌اند نه معماري.


مطالب مرتبط
نظرات کاربران

ارسال نظر در مورد این مطلب:
نام شما : *
آدرس ایمیل : *
متن نظر : *
کد امنیتی :
Refresh Code

لطفا عبارت درج شده در تصویر بالا را در کادر زیر بنویسید

*
 


کليه حقوق اين سایت متعلق به ICTNEWS است.
انتشار مطالب با ذکر منبع و لینک به سایت مجاز است.
تماس با ما: 88946450  فرم تماس با ما
این پرتال قدرت گرفته از :
سیستم مدیریت پرتال و خبرگزاری دیاسافت
ارتباط با ما : 1000030200