‫ ارزيابي امنيتي برنامه هاي كاربردي تلفن همراه (بخش سوم)- روش هاي تست

 
شماره: IRCAR201509275
تاريخ: 08/07/94
 
روش هاي تست
روش هاي تست مختلفي مي تواند براي ارزيابي برنامه هاي كاربردي مورد استفاده قرار گيرد. از طريق اين فرآيند ارزيابي برنامه ها، سازمان ها مي توانند تصميم بگيرند كه آيا اين برنامه ها مي توانند الزامات امنيتي سازمان را برآورده كنند يا نمي توانند.
در هنگام فرآيند تست و ارزيابي تمامي لايه ها از جمله كلاينت، كد و واسط كاربري بايد مورد ارزيابي قرار گيرد و تمامي لايه ها مي تواند به طور بالقوه تحت تاثير آسيب پذيري امنيتي قرار  داشته باشند.
روش هاي تست از جمله تست ايستاي امنيت برنامه (SAST) و تست پوياي امنيت برنامه (DAST) براي تست برنامه هاي كاربردي تلفن همراه مناسب هستند. روش هاي تست رفتاري و تجزيه و تحليل اجراي برنامه نيز براي برنامه هاي كاربردي تلفن همراه استفاده مي شوند و مي توانند اطلاعات ارزشمندي را در اختيار سازمان ها قرار دهند.
براي فرآيند ارزيابي برنامه ها بايد از چندين روش تست بهره برد زيرا هر روش تست ممكن است تمامي جنبه ها را در نظر نگيرد و تنها يك الزام خاص را مورد بررسي قرار دهد. براي داشتن يك ارزيابي موفق و موثر بايد در ابزارهاي تست به زمان و ملاحظات امنيتي توجه شود.
روش هاي تست مي تواند شامل موارد زير باشد:
·         تست صحت سنجي
·         تجزيه و تحليل كد منبع و كد باينري
·         تجزيه و تحليل پويا يا ايستا
·         تست دستي
·         تست خودكار
روش تست
عملكرد
زمان استفاده از تست
مزايا و معايب تست
تست صحت سنجي
اجراي برنامه اي براي يافتن خطاها
- براي قبول كيفيت برنامه
- براي ارزيابي استقلال برنامه
- براي تاييد عملكرد برنامه
- براي كشف آسيب پذيري هاي امنيتي
اين نوع تست معمولا خصوصيات يكتاي برنامه را مورد ارزيابي قرار مي دهد. براي يافتن آسيب پذيري هايي كه ممكن است در يك برنامه خاص يافت شود استفاده از برنامه هاي پيشرفته تر تست نسبت به تست هاي عمومي كه نتايج كلي دارند ارجحيت دارد.
تجزيه و تحليل كد منبع و كد باينري
- تجزيه و تحليل كد منبع يا كد باينري با استفاده از روش ها و ابزارهاي مختلف.
- باز بيني فايل هاي كد به صورت دستي
- استفاده از ابزارهاي خودكار تجزيه و تحليل ايستا
- مهارت و دانش پيشرفته در خصوص امنيت برنامه براي استفاده از اين نوع تست اهميت بسزايي دارد.
- هنگاميكه كد منبع در دسترس است و براي بازبيني كد منبع و يافتن آسيب پذيري هاي امنيتي موجود در كد منبع.
- هنگاميكه برنامه منبع باز است.
- به منظور تجزيه و تحليل نتايج
- ابزارهاي متعددي مي تواند مورد استفاده قرار گيرد.
 
تجزيه و تحليل ايستا
 
- بازرسي كد
- در صورت عدم دسترسي به كد، اغلب مهندسي معكوس استفاده مي شود.
- تجزيه و تحليل رفتار برنامه
 
- براي در نظر گرفتن تمامي سناريوهاي بالقوه كه ممكن است هنگام اجرا برنامه به وقوع بپيوندد.
- براي تجزيه و تحليل رفتار برنامه و جستجوي هر ضعف قابل سوء استفاده اي
- تضمين درستي مي دهد كه برنامه چگونه صرف نظر از ورودي يا محيطي كه در آن اجرا مي شود رفتار مي كند
- مهندسي معكوس كد مي تواند بسته به نوع كد پيچيده باشد
- مهندسي معكوس بسيار مفيد است و به افراد اجازه مي دهد تا كد را بازبيني كنند
تجزيه و تحليل پويا
- تجزيه و تحليل ورودي
- در نظر گرفتن موارد استفاده مناسب از طريق ورودي هاي مختلف و تجزيه و تحليل رفتار برنامه در مواجه شدن با اين ورودي ها
- استفاده از نمونه ساز يا اجراي برناهه يا هر دو
براي مشاهده كاركرد كدي كه اجرا مي شود
- وقت گير بودن به دليل سناريوهاي ورودي متعدد بالقوه
- دقت اين روش مشكوك است زيرا ضميني وجود ندارد كه تمامي سناريوهاي ممكن بررسي شده است و تجزيه و تحليل كامل كد امكانپذير نيست.
- براي كاهش نتيج مثبت كاذب استفاده از نمونه ساز و دستگاه هاي فيزيكي لازم است
تست دستي
 
تست براي يافتن آسيب پذيري برنامه ها با ورودي دستي و تجزيه و تحليل فردي
تست دستي برنامه براي يافتن آسيب پذيري ها
- وقت گير بودن
- نيازمند نيروهاي بسيار متخصص و ماهر
تست خودكار
- تست براي يافتن آسيب پذيري برنامه
- استفاده از شبيه ساز يا دسترسي راه دور به دستگاه
- انواع ابزارها شامل موارد زير است:
ابزار تست Data-driven
ابزارهاي تست interface-driven كاربر
ابزارهاي Fuzzing
ابزارهاي Fault injection
ابزارهاي تست شبكه
ابزارهاي تست نفوذ
براي تست برنامه و يافتن آسيب پذيري ها از ابزارهاي مختلف خودكار استفاده مي شود
- دريافت گزارش و ارزيابي خطر
-
 
پس از انتخاب ابزارهاي مناسب ارزيابي و تست برنامه كاربردي و جمع آوري نتايج حاصل از آن بايد اين نتايج را نگهداري كنيد. توصيه مي شود تا اين نتايج از طريق يك نرم افزار پايگاه داده جامع به اشتراك گذارده شود. بدين ترتيب متخصصان امنيت و سازمان ها مي توانند از تلاش هاي صورت گرفته استفاده كنند و در زمان و هزينه صرفه جويي شود.
گزارش نتايج حاصله و ارزيابي خطر بسيار حياتي است. نتايج بايد مستقيما و به راحتي در اختيار متخصصان ارزيابي قرار گيرد تا بررسي شوند.
قبول شدن يا رد شدن برنامه كاربردي
بايد رويه اي پيش از ارزيابي برنامه براي مديريت يك برنامه مورد پذيرش واقع شده يا رد شده تنظيم شود. اين مساله بايد به عنوان بخشي از رويه هاي خط مشي سازمان براي امنيت برنامه كاربردي در نظر گرفته شود. اين مساله از آن جهت ضرورت دارد تا بتوان قدم بعدي در مواجه با پذيرش برنامه يا رد آن را دانست و بتوان در صورت پذيرش برنامه را نصب و در غيراينصورت آن را از روي سيستم ها حذف نمود.
بازرس (توصيه مي شود تا بيش از يك بازرس نتايج را ارزيابي كند) بايد نتايج بدست آمده از گزارش ارزيابي و سطح ريسك استفاد از برنامه را به صورت قطعي بررسي كند  و بايد با در نظر گرفتن عملكرد سازمان و الزامات امنيتي آن نتيجه قطعي خود را در خصوص پذيرش يا رد برنامه اعلام كند.
فرد ارزياب بايد با استفاده و رعايت ملاحظات زير تصميم خود را اعلام كند:
·         در صورت پذيرش برنامه و استفاده از آن بايد سطح ريسك برنامه در نظر گرفته شود.
·         وضع امنيت برنامه
·         آستانه ريسك سازمان
·         الزامات ارزيابي سازمان
·         گزارش ها و ارزيابي ريسك خروجي تست برنامه
·         نوع داده اي كه پردازش مي شود
·         ميزان حياتي بودن برنامه براي سازمان
·         كساني كه از برنامه استفاده خواهند كرد
·         محيطي كه برنامه قرار است در آن اجرا يا مستقر شود و نوع سخت افزاري كه مورد نياز است.
·         اسناد برنامه و توافقات سطح سرويس
در نهايت اين سازمان است كه بايد با توجه به نتايج بدست آمده برنامه را مورد پذيرش قرار دهد يا آن را رد كند. گروه يا افرادي كه در سازمان مسئول ارزيابي برنامه ها هستند بايد اين توصيه ها را با كسب و كارهاي ديگري كه ممكن است از اين برنامه ها استفاده كنند به اشتراك بگذارد.
رويه هاي پياده سازي يا حذف برنامه بسته به پذيرش يا رد برنامه بايد اجرا شده و مورد قبول كل سازمان واقع شود.
 
مطالب مرتبط:
 
 
 
منابع:

 

 

نظرات

بدون نظر
شما برای نظر دادن باید وارد شوید

نوشته

 
تاریخ ایجاد: 12 مهر 1394

دسته‌ها

امتیاز

امتیاز شما
تعداد امتیازها:0