اخیرا بابت یک پروژه نرم افزاری که یک اپلیکیشن موبایل شامل فرانت اند و بک اند است نیازمند اخذ گواهینامه امنیتی افتا شدیم (چون این نرم افزار در یک سازمان دولتی مورد استفاده قرار می گیرد)، گواهینامه امنیتی افتا (امنیت فضای تولید و تبادل اطلاعات) گواهینامه ای است که برای تایید صلاحیت امنیتی برنامه هایی که می خواهند در سازمان های دولتی بکار گرفته شوند مورد نیاز است و پیمانکاران دستگاه های دولتی موظف به پیاده سازی برنامه ها و محصولات فناوری اطلاعات خود بر اساس این استاندارد هستند.
معمولا این ممیزی بر اساس استاندارد ISO/IEC 15408 انجام میشود. این استاندارد با استفاده از استاندارد دیگری با شماره 18045 مورد استفاده قرار می گیرد که در واقع روش شناسی (متدولوژی) ارزیابی را برای ما مشخص میکند. آزمایشگاهی هم که صلاحیت ارزیابی محصولات فناوری اطلاعات مبتنی بر این استاندارد را داشته باشد خودش باید بر اساس استاندارد شماره 17025 ارزیابی (توسط سازمان ملی استاندارد) شده باشد.
این استاندارد که تحت عنوان Common Criteria و یا CC شناخته میشود، تقریبا در سراسر دنیا یک استاندارد شناخته شده است که در لحظه نگارش این مقاله در نسخه 3.1 و بازبینی 5 قرار دارد.
معیارهای مشترک یا همان Common Criteria یک چهارچوبی است که نیازمندی های عملکردی امنیتی یا SFR و نیازمندی های تضمین امنیتی یا SAR ها را برای کاربران سیستم های کامپیوتری مشخص میکند. این نیازمندی های عملکردی امنیتی و یا تضمین امنیتی در اسنادی مانند سند هدف امنیتی یا ST و یا در سند پروفایل حفاظتی یا PP مشخص میشوند. تولید کنندگان محصولات فناوری اطلاعات در سند هدف امنیتی مشخص میکنند که محصول که از آن تحت عنوان TOE و یا Target of Evaluation یاد میشود از چه ویژگی های امنیتی تشکیل شده است و باید ادعایی که در سند هدف امنیتی کرده اند اثبات شود که این کار توسط آزمایشگاه های ارزیابی امنیتی صلاحیت دار انجام میشود، اینکه هر سازمانی چه نیازمندی های امنیتی دارد و پیمانکاران و تولید کنندگان نرم افزار چه ویژگی های امنیتی را باید در محصولاتشان پیاده سازی کنند معمولا در پروفایل های حفاظتی مشخص میشود، پروفایل حفاظتی سندی است که سازمان های دولتی با توجه به نیازمندی های امنیتی خود منتشر میکنند.
معیارهای مشترک یا CC علاوه بر نرم افزارهای کاربردی طیف وسیعی از سیستم های فناوری اطلاعات شامل سیستم های عامل، بانک های اطلاعاتی، سیستم های کنترل دسترسی و سیستم های مدیریت کلید را بر برمی گیرند و طوری طراحی شده است که شامل کلیه این محصولات باشد.
آزمایشگاه ها معمولا به دو روش ارزیابی را انجام میدهند یا محصول را بصورت آماده بکار تحویل می گیرند و شروع به انجام تست های ارزیابی می کنند و یا خود تولید کننده را هم بصورت تعاملی در فرآیند ارزیابی درگیر می کنند، در ارزیابی تعاملی آزمایشگاه ضمن شفاف سازی الزامات روش بررسی الزام را نیز در اختیار شرکت توسعه دهنده قرار میدهد، شرکت توسعه دهنده نیز براساس این روش الزامات را در قالب خوداظهاری بررسی و گزارش نموده و مستندات بررسی را در قالب فیلم و گزارش مصور به همراه آخرین نسخه محصول و مستندات به آزمایشگاه ارائه میدهد، آزمایشگاه نیز ارزیابی و بررسی نهایی را بر روی محصول انجام داده و در صورت تایید الزامات، پس از اجرای تست نفوذ گزارش به مرکز راهبردی افتا ارائه خواهد شد. بدیهی است دراین روش به دلیل کاهش تکرار فرآیند پذیرش و همچنین تسهیل در امر ارزیابی به دلیل وجود مستندات شفاف هزینه های ارزیابی تا 50 درصد کاهش مییابد. اگر حاصل نتیجه ارزیابی منفی باشد گزارش عدم انطباق (عدم انطباق محصول با استاندارد) به شرکت توسعه دهنده یا همان تولید کننده داده میشود تا نسبت به رفع مشکلات اقدام کند.
خروجی کار آزمایشگاه های ارزیابی امنیتی دو نوع گزارش است یکی Observation Report یا OR و یکی Evaluation Technical Report و یا ETR گزارش ETR گزارش فنی مبسوط تری است که ریز خطاها و آسیب پذیری های امنیتی محصولات را مشخص میکند.
این استاندارد شامل یازده رده (Class)، شصت و هفت خانواده (Family)، صد و سی و هشت جزء (Component) و دویست و پنجاه عنصر (Element) امنیتی است که باید در محصولات فناوری اطلاعات مورد ارزیابی قرار بگیرد.
فهرستی از کلاس های امنیتی مربوط به نیازمندی های عملکردی امنیتی (SFR) و زیر مجموعه های هر کدام به همراه علائم اختصاری آنها :
بعنوان مثال کلاس FIA مربوط به شناسایی و احراز هویت کاربران میباشد که باید در برنامه های کامپیوتری پیاده سازی شوند.
نکته ای که وجود دارد سازمان ها با توجه به حساسیت های کاری خود الزامات و سخت گیری های مختلفی بابت ارزیابی محصولات میکنند و این موضوع تحت عنوان سطح ممیزی و یا سطح تضمین اطمینان یا Evaluation Audit Level و یا به اختصار EAL شناخته میشود، در این استاندارد هفت سطح EAL وجود دارد که به ترتیب از شماره یک تا هفت میزان حساسیت ممیزی بالا میرود.
معمولا در ایران سطوح ارزیابی امنیتی شامل موارد زیر میشوند :
مرکز مدیریت راهبردی افتا معمولا در سطح یک ارزیابی قرار دارند و جزو پایین ترین سطح اطمینان شناخته میشوند، در این سطح معمولا سورس کد برنامه نیازی به بررسی ندارد و برنامه ها تنها از لحاظ عملکردی تست میشوند، ولی سطح ارزیابی سازمان پدافند غیرعامل معمولا سطح چهار یا متوسط شناخته میشوند و معمولا سورس برنامه ها بررسی میشوند و الزامات و سخت گیری های خاص خود را دارد.
در جدول زیر فهرستی از سطوح EAL و سطح اطمینان هرکدام آورده شده است :
همانطور که گفتیم این استاندارد حول دو محور می چرخد یکی نیازمندی های عملکردی امنیتی یا SFR ها و دیگری نیازمندی های تضمین امنیتی یا SAR ها، SFR ها که در جدول اول آوردیم، اشاره به قابلیت ها و فیچر هایی از برنامه داره که امکانات امنیتی در اختیار ما قرار میده مانند رمزنگاری، احراز هویت، مجوزدهی (مدیریت نقش ها)، احراز هویت دو عاملی، مدیریت گذرواژه و رویداد نگار وقایع از جمله قابلیت هایی هستند که زیر مجموعه SFR ها دسته بندی میشوند، فهرست نیازمندی های عملکردی امنیتی بسته به سطح و نوع ارزیابی حتی برای یک محصول میتوانند متفاوت باشند، برخی قابلیت های امنیتی (SFR ها) ممکن است ووابسته به دیگر نیازمندی های عملکردی امنیتی باشند.
اما در مقابل SFR ها، نیازمندی های تضمین عملکرد یا SAR ها هستند، نیازمندی های تضمین عملکرد تضمین میکنند که قابلیت های امنیتی عملکردی یا همان SFR ها با ادعا های مطرح شده چقدر منطبق و اطمینان بخش هستند.
فهرستی از مهمترین کلاس های ارزیابی تضمین عملکردی در تصویر زیر آمده است :
هر کدام از کلاس های فوق مفهوم و کاربرد خود را دارد که در این مطلب نمی گنجد، بعنوان مثال کلاس ADV_FSP به معنای سند مشخصات عملکردی یا همان Functional Specification است که باید برای توسعه محصول آماده شود و الزام وجود آن برای هر سطح اطمینان مشخص شده است.
تجربه ای که من از ممیزی استانداردهای امنیتی دارم در ایران، چه بعنوان کارشناس آزمایشگاه (که مدتی در یکی از این شرکتهای دارای مجوز آزمایشگاه امنیتی مشغول به کار بودم !) و چه بعنوان مشتری آزمایشگاه، تصور درست و دقیقی از روش های ارزیابی در این آزمایشگاه ها وجود ندارد و وقتی در مورد نحوه دقیق ارزیابی و ابزارها سوال میشود پاسخ های گنگی به طرف داده میشود، از آنجائیکه استاندارد های ایزو بعضا بصورت مجرد (Abstract) و کاملا جنریک (Generic) طراحی میشوند کلی گوئی هایی زیادی در آنها وجود دارد که ارزیابی بر اساس آنها مهارت و تخصص خود را می طلبد.
در این مطلب سعی کردم شما رو با استاندارد 15408 و فرآیند ارزیابی آن بصورت خیلی گذرا آشنا کنم، امیدوارم مفید بوده باشه.