تست امنیتی جاواکارت
Download
Report
Transcript تست امنیتی جاواکارت
بسمهتعالی
تست امنیتی ریسکمبنا
1
رسول جلیلی
به ــار92
2
مرور تکـ صفحهای جل ـ ــسه قبلـ
مباحث ـ ت ـسـت امنیتی ریسک-مبنا
معرفـی تست ریسکمبنا
3
تست نفوذ (تست در موقعیت عملیاتی)
جعبهسیاه ــی ولی با دو کاله
مفید و ضرو ری ولی دیــر ،هزینه جبران باال
4
انجام هزار تست برای یافتن یک تهدید خوب می ارزد
Boris Beizer
فتار برنامه
تست امنیت موضوعی ورای پویش پورتها برای بررس ی ر
تر از تست جعبهسیاهی
نیاز به تستی خیلی عمیق
حتی ورای تست کارکردی مکانیزمهای امنیتی
نظر گرفتن حقایق معمارانه
در
ی تسترها <<<
نیاز به اتخاذ رویکرد ریسکمبنا از سو
افکار حملهکننده
سیستم بعالوه
تمرکز کند
تستر دقیقا میتواند روی بخشهایی از کد که حمله روی آن موفق میشود
بر اساس آنها
در سیستم و خلق تستهایی
<<< شناسایی ریسکها
5
6
•
تستهای عادی نرمافزار (تستهای غیر امنیتی) نگران رفتار نرمافزار در شرایط شکست ( )failهستند.
•
بی آنکه به انگیزه شکست توجه کنند
•
تست امنیتی نرمافزار (تست ایمنی نرمافزار) فرض بر حمله خصمانه دشمن هوشمند است.
•
بیشتر سیستمهای به لحاظ ایمنی بحرانی و یا سیستمهای با تضمین باال در دنیای کاله سفیدی سیر میکنند.
•
واقعیت چیز دیگری است ،در دنیای ما کاله سیاههای زیادی هستند
•
حمله کننده توجهی ندارد که یک آسیبپذیری ناش ی از یک اشکال زمان پیادهسازی است یا یک عیب طراحی
<<< اشکاالت راحتتر ،اکسپلویت میشوند <<< .به همین نسبت عیوب طراحی سختتر کشف و رفع
میشوند.
7
نکته مثبت تست امنیتی مولفه ،شکستن امنیت سیستم به بخشهای جدا از هم ...
از نظر تئوری ،اگر هر مولفه ایمن پیادهسازی شده باشد و مسائل بین اجزاء را هم به لحاظ طراحی رعایت
کرده باشد سیستم نهایی باید شکلی منطقی داشته باشد
اما تست امنیتی باید در سطح سیستم نیز ادامه بیابد و سطح تجمیع شده را نیز در بر بگیرد
نقطه تالقی تست نفوذ و تست امنیتی
سناریوهای سوءکاربردی که در زیست چرخه زودتر تهیه شدهاند برای اغنای طرح های تست استفاده
میشوند
همانقدر کالهسیاهی که کالهسفیدی!
بزرگترین مشکل امنیتی نرمافزار<<<< نرمافزار
ورودی می گیرد
سوالی که توسعهدهندگان باید به آن فکر کنند<<< آیا
می توان به ورودی اعتماد کرد؟
بافر تا
اعتماد به ورودی ریشه اصلی مشترک از سرریز
تزریق sqlیا حتی XSS
نیاز به کنترل دقیق ورودی
ابزارهای حمله تا حد زیادی روی ورودی تمرکز دارد
البته تست نفوذ نیز روی ورودی ها تمرکز می کند
رویکرد لیست سیاهی (برای نپذیرفتن ورودی های بد )
جواب نمی دهد نیاز است که همه ورودی ها را بجز
لیست سفید رد کند
8
تست ورودی مخرب الزم است ولی کافی نیست
تس تتت امنیت تتی همین تتین بای تتد ب تته داد اس تتا تار اج تزا
سیستمی حالت برنامه و ...توجه کند
فرا وا یه تای
بجز توجته بته ریستاهایی کته هنتوز در سیستت بتاهی مانتدا استت تستت
امنیتی باید شامل موارد دیگری نیز باشد
› سوکتها
› پایپها
› رجیستریها
› فایلها
› RPCها
9
در د و بعد :
توجه به زمان
اکثر پروتکل های
.1بعد نخسست مرتبط با حالت برنامه است (
نرمافزاری مدرن بدون حالت هستند) .هاهای مربوط به تغییر سادا
تغییر حالت برنامه
متغیرها برای
غیر مستقی .هنگام به
نیز به حالت وابسته است اما
.2بعد دوم
تار و پرسوجوی متغیرهای محیطی یا
اشتراک گذاری یا داداسا
سری حمالت معنا پیدا میکند .حمالتی که چنین متغییرهایی را بعد
تغییر میدهند .مثال :حمله TOCTOU
از زمان چا شد شان
)(time to Check-Time to Use
چند ریسه ای موضوعی که بسیاری برنامه نویسان از اثرات ممکن
آن و حمالت زما ی مربوط بدان مطلع نیستند
10
11
ی
سطح کار
زمان تست
تست نفوذ زمانی که نرمافزار کامل شده و در محیط عملیاتی نصب شد انجام میگیرد .تستی
نسبتا مختصر به شمار میآید
تست امنیتی میتواند پیش از اتمام نرمافزار و در سطح مولفهها انجام گیرد .بنابراین محیط تست با
استفاده از موکلها( )stubو پیش از تجمیع است.
رویکرد تست نفوذ کامال بیرون به درون ولی در اینجا هم بیرون به درون و هم درون به بیرون
.1
قبال گفتی که این رویکرد بر فرض توان تعریف مرز و محیط سیست
است <<<<فرض ی که همیشه درست نیست
.2
معماری سرویسمبنای امروزی <<< SOAهر ترافیکی روی
پورت 80عبور می کند <<< دیوار آتش ک ک کارایی ود را از
دست واهد داد.
12
سازمانهای تست استاندارد با رویکرد سنتی ؟؟
آنها فقط قادر به تست کارکردهای امنیتی هستند
دفاتر تضمین کیفیت سنتی ؟
آنها مشکالت بیشتری در این رابطه دارند
طراحی تست امنیتی دشوار است الزم است شبیه حملهکنندا فکر کرد
تستهای امنیتی همیشه سبب اکسپلویت مستقیم نمی شوند
تست امنیتی ریسک مبنا بیشتر به تجربه امنیتی نیاز دارد (تا تجربه تست )
13
14
به منظور ارائه امکانات بیشتر تمایل تجاری به سمت کارتهای ه وشمند
پردازش
چندکاربری است که دارای نرمافزار مقیمی با ظرفیت نگه داری و
رکوردهای بیشتری سبت به کارتهای مغناطیس ی سنتی باشند وجود دارد
ی
کارتها به طور معمو ل از سیست رمزنگار
پیییداای برای احر از اصالت تراکنشها و
تایید هویت دارندا کارت استفادا میکنند.
ودکار کالسهای کد
تست سطح پایین و
دستورهای ممکنه و کارکرد رمز
موفقیت اغلب کارتها
اپلتهای مخصوص جاواکارتی که برای
پیگیری ابعاد با ریسا با ال در Global
platformروی پیادا سازی کارت
در وضعیتهای
رفتن برنامه به حالت نامعلوم
نیاز به roll backتراکنش و
مختلف که
...دارد
در تست های
ناموفق بودن بسیاری از کارتها
غیر کارکردی
امنیتی
15
سناریو های س ــوء کاربرد