SlideShare a Scribd company logo
1 of 56
پروژه درس امنيت استادمحترم: جناب آقاي دكتر سخاوتي دانشجو: مجتبي قاسمي روشن
فصلاول
یا تهدید پذیري: Vulnerability  يك ضعف يا اختلال در طراحي ، پياده سازي ، اجرا و يا مديريت يك سيستم اطلاق مي شود كه بتواند بطور بالقوه آن سيستم را با تهديد مواجه كند. مثل يك Bug نرم افزاري كه با استفاده از آن خطا ميتواند كاركرد يك سيستم را از كار بيندازد. يا انتخاب يك رمز ساده مثل 1234 براي يك سيستم يك تهديد پذيري محسوب ميشود.
Threatیا تهدید  ,[object Object]
نداشتن رمز عبور براي سيستم يك تهديد پذيري است و در حالي كه استفاده يك كاربرغير مجاز از اين تهديد پذيري و دسترسي به سيستم يك تهديد است.,[object Object]
تهديد ها و حمله ها: ,[object Object],رد كردن سرويس يا Denial of service نوعي از حمله كه در آن تلاش براي خارج كردن يك سرويس از دسترسي كاربران صورت مي گيرد. در اين روش به سيستم يا منابع آن از لحاظ فني آسيبي نميرسد و عمدتا با ارسال حجم وسيعي از درخواست هاي بي هدف به سرويس مورد نظر، با هدف اشغال كردن منابع مفيد آن به دست مي آيد. ,[object Object],Phishing‌ يا شكار اطلاعات شخصي و مالي فرد: عمدتا توسط ايميل انجاممي شود و سعي مي گردد تا اطلاعات شخصي كاربر مانند رمز عبور يا اطلاعات كارت اعتباري از طريق يك وب سايت مجاز مثل بانك ، بدست آورده شود. اين نوع حمله زير مجموعه دسته بزرگتري از حملات با نام مهندسي اجتماعي است.
Masquerading يا جعل هويت: نوعي از حمله است كه حمله كننده با استفاده از هويت يك كاربر مجاز به منابع يك سيستم حفاظت شده دسترسي پيدا مي كند و يا به ارسال و دريافت اطلاعات مي پردازد.
Message tampering یا دستكاري در پيام : ‌به تغيير پيامهايي كه براي يك كاربر ارسال مي شود در بين راه اطلاق مي گردد.
مديريت مخاطره فرآيند شناسايي مخاطرات، اولويت بندي آنها بر اساس هزينه مورد نياز براي بازيابي سيستم و همچنين شناسايي و پياده سازي راه كار هايي براي كاهش اين مخاطرات را مديريت مخاطرات مي گويند. سطوح مخاطره يا ريسك اگر خطري خيلي جدي باشد و احتمال وقوع آن نيز زياد باشد، هزينه بازيابي آن در صورت وقوع بسيار زياد خواهد بود.
Security policy يا سياست هاي امنيتي بر اساس نتايج بدست آمده از تحليل مخاطره و اولويت بندي انجام شده،‌ سياست امنيتي، نقاط تهديد پذير يك سيستم و نوع ايمن شدن آنها را دقيقا مشخص مي كند. اصولا هيچ سياست امنيتي اي نميتواند كليه مخاطرات متوجه يك سيستم را در بر بگيرد و معمولا توازني بين مخاطرات و منابع موجود را برقرار مي كند.
Security services يا خدمات امنيتي كاركرد هايي هستند كه براي پياده سازي سياست هاي امنيتي استفاده مي شود. از مهمترين خدمات امنيتي مي توان به شناسايي هويت ،‌كنترل دسترسي ، محرمانه بودن داده ها ،‌يكپارچگي داده ها و عدم انكار اشاره كرد.
تعريف سازمان استاندارد جهاني از هر يك از اين خدمات ,[object Object],وظيفه اين خدمت حصول اطمينان از دسترسي هويت يك كاربر يا مبدا داده ها مي  باشند. ,[object Object],وظيفه اين خدمت جلوگيري از دسترسي افراد غير مجاز به منابع و داده هاي حفاظت شده مي باشد
[object Object],اين سرويس تضمين مي كند كه فقط كاربران مجاز قادر به فهم داده هاي محافظت شده مي باشند كه براي پياده سازي اين خدمت از مكانيزم هايي مانند رمز گذاري استفاده مي شود. ,[object Object],وظيفه اين خدمت حصول اطمينان از عدم تغيير داده ها توسط افراد غير مجاز مي باشد. ,[object Object],اين خدمت تضمين مي كند كه فرستنده يا گيرنده اطلاعات نتواند دريافت يا ارسال اطلاعات را انكار كند.
تفاوت :authentication and authorization وظیفه شناسايي هويت پاسخ به اين سوال است كه كاربر كيست و آيا واقعا همان كسي است كه ادعا مي كند؟ ولي كنترل دسترسي مجموعه مجوز هايي است كه به يك كاربر تشخيص هويت داده شده داده مي شود. و وظيفه اش پاسخ به اين سوال است كه يك كاربر مجاز ( تشخيص هويت داده شده ) چه كار مي تواند بكند و به چه اطلاعاتي مي تواند دسترسي داشته باشد؟
مكانيزم هاي امنيتي: ,[object Object],براي پياده سازي يك سرويس امنيتي مشخص بكار مي رود مثل محرمانگي داده ها. ,[object Object],	به يك سرويس خاص تعلق ندارد.
يا بازيابي امنيتي:Security recovery يكسري روش هايي هستند كه به يك سيستم كمك مي كند كه زمانيكه يك حمله اتفاق مي افتد ، از آن حمله بتواند خودش را بازيابي كند و به موقعيت قبل از حمله باز گردد. مثل قرار دادن بعضي از كاربران در ليست سياه يا قطع ارتباط فيزيكي شبكه با خارج تا زمانيكه مشكل پيدا شود. كه اين روش به يك سرويس امنيتي خاص محدود نمي شود و يك مكانيزم امنيتي فراگير است.
Security audit يا حسابرسي امنيتي: این مكانيزم فعاليت هاي حساس به امنيت يك سيستم مانند تغيير داده هاي محرمانه را به طور دائم نظارت مي كند. براي مثال در صورتيكه يكپارچگي داده هاي يك سيستم حسابداري به هر دليلي از بين برود يا تغيير كند، مكانيزم حسابرسي امنيتي مي تواند آنرا بلافاصله تشخيص دهد و براي بازيابي آنرا به مديريت سيستم گزارش دهد.
Intrusion detection يا تشخيص حمله: وظیفه اين مكانيزم شناسايي اتفاقات خاصي است كه مغاير با سياست هاي امنيتي يك سيستم است و يا به طور بالقوه مي تواند براي آن يك تهديد محسوب گردد. براي مثال اگر ورود به يك شبكه محلي از يك سيستم خارجي ممنوع باشد، در صورتيكه چنين اتفاقي بيفتد مكانيزم تشخيص حمله آنرا بعنوان يك حمله احتمالي ثبت و گزارش مي كند.
فصلدوم
[object Object],		علمی كه به مطالعه  cryptographyوcryptanalysis  مي پردازد. ,[object Object],	اصولا رمزگذاري داده هايي هست كه توسط همه قابل فهم است و اين مكانيزم آنرا براي عموم 	غير قابل فهم مي كند. ,[object Object],روشهايي هستند كه به كشف رمز بدون دانش و بدون دانستن نحوه ي رمزگذاري مي پردازد.
[object Object],ديتايي كه مي خواهد رمز گذاري شود و هنوز رمزگذاري نشده. ,[object Object],ديتايي است كه بدون رمزگذاري رد و بدل مي شود. ,[object Object],فرايند و عمليات رمز گذاري را گويند. ,[object Object],فرآيند و عمليات تبديل ديتاي رمزگذاري شده به plain text را گویند.
مكانيزم هاي محرمانگي اطلاعات به دو صورت انجام مي گيرد: رمز نگاري متقارن  symmetric encryption رمز نگاري نامتقارن asymmetric encryption
رمز نگاری متقارن یا symmetric encryption: كليد هايي كه براي رمزگذاري و رمزگشايي استفاده مي شود يكسان هستند مثل سيستم قفل و كليد در دنياي حقيقي. اگر افراد بخواهند در اين روش رمز متن رمزنگاري شده را باز كنند مستلزم اين است كه هر دوي آنها اين كليد را در اختيار داشته باشند كه اين هم مستلزم اين است كه فرد رمز گذاري كننده در يك مكانيزم امن اين كليد را انتقال بدهد به فردي كه مي خواهد رمز گشايي كند، كه اين خود يكي از مشكلات رمزگذاري متقارن است.
 رمز نگاری نا متقارن یا asymmetric encryption: در اين روش كليد رمزگذاري با رمزگشايي متفاوت است و فرقش با روش قبلي وجود دو كليد متفاوت براي رمزگذاري و رمزگشايي است. معمولا در روشهاي نامتقارن از به توان رساندن استفاده مي كنند. مثل الگوريتم RSA
رمز نگاري متقارن يا  symmetric encryption به دو صورت انجام مي شود: ,[object Object],يك رشته از اطلاعات را دريافت مي كند و به صورت پيوسته رمزنگاري مي كند. مثل محاوره 	تلفني رمز گذاري شده. ,[object Object],  	استاندارد رمزگذاري مبتني بر block cipher‌ به دو صورت DES(data encrypt standard)  و AES(advanced encrypt standard) مي باشند، كه DES مشكلاتي داشت و 	تبديل به  AES شد.
روش Stream cipher توسط دو مكانيزم رمزنگاري مي شود: همزمان يا synchronous stream cipher : اطلاعات رمزگذاري شده قبلي به هيچ عنوان نقشي در كليد ما بازي نمي كنند كه به اين 	روش KeyAutoKey يا KAK مي گوييم. روش كار به اين صورت است كه يك رشته از 	اطلاعات بهمراه يك رشته از رمز كه تعداد بيت آنها معادل هستند با هم XOR مي شوند. خود همزمان يا Self-synchronous stream cipher :  كه به آن cipher text auto key  يا CTAK مي گوييم كه در آن قسمتي از ديتايرمزگذاري شده به شكل دائمي به مولد كليد براي توليد كليد بازخورانده مي شود. بنابراين 	دائما ما با n بيت از cipher text را بازمي خورانيم . بنابراين تابع توليد كننده كليد ما 	يكي از پارامتر هاي وروديش n بيت از متن رمزگذاري شده است.
مزيت هاي روش KAK: اگر خطايي اتفاق بيفتد ، اين خطا در فرآيند رمزنگاري ما انتشار پيدا نمي كند. مثلا اگر چند بيت در انتقال رشته اي از اطلاعات مثل صدا ، خراب شود ، فقط به صورت يك خش كوچك در گيرنده ظاهر مي شود كه قابل شناسايي است.
:KAKعيب روش Spoofing يا جعل هويت خيلي راحت است كه البته باز در مورد صدا نمي شود كه صداي كس ديگري را جعل كرد. بنا بر اين گيرنده فريب نمي خورد.
:CTAKمزيت هاي روش  حسن اين روش اين است كه جعل هويت را سخت مي كند. اگر كسي به تعداد K بيت خلل وارد كند. از آنجايي كه ما n بيت از متن رمز گذاري شده را به مولد كليد مي دهيم بنابراين هميشه n بيت انتشار خطا داريم. حالا اگر كسي بيايد و K بيت از cipher text‌ را تغيير بدهد بنابر اين ما n+k بيت خطا خواهيم داشت كه سيستم مي تواند آنرا چك بكند و اگر چيز نرمالي نباشد تشخيص بدهد كه جعل هويت يا spoofing اتفاق افتاده است.
مشخصاتي كه نرم افزار يا سخت افزار مولد كليد يا key generator بايد داشته باشد: مولد كليد بايد بتواند تعداد نامحدودي ورودي را دريافت كند. هر كليدي بايد منحصر به فرد باشد. مولد كليد بايد خروجي كاملا تصادفي را توليد كند. طول كليد عملا نامحدود باشد. از جاهاي random اي بتواند استارت كند. شاخص مهم ديگر اينكه هشدار دهنده خطا داشته باشد.
Block cipher: متن يا ديتاي ما را به بلاك هاي مثلا x بيتي تقسيم مي كند و هر كدام از بلاكها را جداگانه رمزنگاري ميكند. به عدد x كه يك عدد مثبت integer است block size‌ مي گوييم. ما هر بلاك را كه x بيت است به تابع رمزنگاري مي دهيم كه اين تابع به نوبه خودش يك كليد دارد كه در نهايت يك بلاك از plain text را به يك بلاك از متن رمزنگاري شده تبديل مي كند.
DES: الگوريتمي است كه يك بلاك 64 بيتي از متن را با استفاده از كليد 56 بيتي رمز مي گذارد. فرآيند رمزگذاري DES شامل 16 مرحله مختلف است كه به شكل جداگانه كار رمزگذاري را انجام مي دهند. كه در مرحله بعد اين بلاك 64 بيتي را به 2 بلاك 32 بيتي تبديل مي كند. نيمه بلاك سمت راست را با آن كليد 56 بيت اوليه رمزنگاري مي كند و سپس اين نيمه را با نيمه سمت چپ XOR مي كند و اين نتيجه را بعنوان نيمه سمت راست در نظر مي گيرد و نيمه سمت راستي كه در مرحله قبل دست نخورده بود را به عنوان نيمه سمت چپ در نظر مي گيرد و دوباره عمليات بالا روي آن انجام مي شود. اين كار 16 بار انجام مي شود و هر بار از كليد مختلف كه توسط آن كليد 56 بيتي بدست مي آيد انجام مي شود. در مرحله آخر ديتاي رمزگذاري شده يكبار ديگر با آن ماتريس البته برعكس جابجا مي شوند. كه از اين الگوريتم ديگر استفاده نمي شود.
AES: اين الگوريتم با استفاده از كليدهايي با طول 128 يا 192 يا 256 بيت بر روي يك بلاك 128 بيتي كار مي كند. بنابراين sizeBlock ها نسبت به DES بزرگتر شده و طول كليد نيز متفاوت شده است. در فرآيند رمز گذاري و رمز گشايي، ورودي و خروجي و كليد به عنوان واحد بايت در غالب  يك آرايه كه آرايه وضعيت ناميده مي شود، پردازش مي شوند. تمام سطر هاي اين آرايه ثابت و 4 سطر است بنابراين در هر ستون 32 بيت داريم و تعداد ستون بسته به طول كليد متفاوت است. بنابراين در هر سطر كه 32 بيت داريم اگر از 128 بيت كليد استفاده شود تعداد ستون هاي ما 4 تا خواهد بود. واگر از كليد 192 بيتي استفاده كنيم 32/192=6 ستون خواهيم داشت. تعداد مراحل پردازش به طول كليد بستگي دارد و براي كليد 128 بيتي 10 مرحله و 192 بيتي 12 مرحله و 256 بيتي 14 مرحله مختلف استفاده مي كنيم. و مراحل جابجايي و XOR‌ انجام مي شود و بسيار سنگين و رمزگشايي آن غير ممكن است.
الگوريتم RSA از روش هاي نامتقارن: اين الگوريتم 2 عدد اول نسبتا بزرگ را به صورت اتفاقي انتخاب مي كند. پيمانه n‌را برابر p*q‌ قرار مي دهيم. اين الگوريتم تا حدود زيادي از نظريه اعداد استفاده مي كند. تابع اويلر را بر روي پيمانه n‌محاسبه مي كنيم. ΦN=(p-1)(q-1)  يك عدد بعنوان public key كه اسمش را pub مي گذاريم را طوري انتخاب مي كنيم كه nΦ نسبت به اول باشد. بعد كليد خصوصي را طوري انتخاب مي كنيم كهpub*private = 1 mod Φn   يعني pub*private همنهشت است با 1 به پیمانه Φn. حالا n و pub را مي توانيم انتشار بدهيم و همه از آن اطلاع پيدا كنند و private key و Φn را محرمانه نگه داريم.
فصل سوم مكانيزم‌هاي يكپارچگي داده‌ها و شناسايي هويت
مكانيزم‌هاي مختلفي براي يكپارچگي داده‌ها و شناسايي هويت ابداع شده كه از :معروفترين آنها ,[object Object]
Secure Hash Standard (SHA-1 ,SAH-256 ,SHA-384 ,SHA-512 )
Message Authentication Cods (MACS)
Keyed – Hash Message Authentication Codes (HMAC)هستند.
Cryptographic Hash Function Hash Function به يك تابعي گفته مي شود كه يك ورودي با طول متفاوت قبول مي‌كند و يك خروجي با طول ثابتي ايجاد مي‌كند.براياينكه اين Function امن باشد يكسري خصوصياتي بايد داشته باشد.
H(m)  كه H تابع و m ورودي باشد H(m) خيلي محاسبه‌اش ساده باشد تقريباً غير ممكن باشد كه ما از روي H(m) يعني مقدار تابع به m يعني ورودي تابع دست پيدا كنيم.  غير ممكن باشد كه يك پيامي را تغيير بدهيم و خروجي تابع H(m) تغيير پيدا نكند. غير ممكن باشد كه 2 پيام متفاوت H(m) يكساني داشته باشند.
MAC یا : Message authentication code يكي از اين Message Authentication ها Hash Function يا (MAC) است. كاري كه MAC مي‌كند اين است كه يك كليد را كه Secret key  است به همراه يك پيام به عنوان ورودي قبول مي‌كند و يك خروجي مي‌دهد بنام MAC يا كد شناسايي هويتي كه به آن پيام تعلق دارد. كاربرد اصلي اين تابع اين است كه زمانيكه ما يك متني را براي كسي ارسال مي‌كنيم آن شخص بتواند از هويت اصلي فرستنده اطمينان حاصل كند.
Secure Hash Standard يا(SAH) بايد بسيار سخت و غيرممكن باشد كه ما بتوانيم از خروجي تابع Hash كه اصطلاحاً به آن Message Digest  هم مي‌گوييم به اصل پيام دسترسي پيدا كنيم. Message Digest  معمولاً چيزي است كه مي‌توانيم به شكل غير رمزگذاري شده و غير Secure به همراه متن فرستاده شود. در اينجا هدف ما Confidentiality  و محرمانگي داده‌ها نيست بلكه هدف ما حصول اطمينان از درست بودن و صحت فرستنده پيام است. يكپارچگي را هم مي‌توان بررسي كرد چون اگر تغييري در پيام اصلي اتفاق بيافتد Message Digest متفاوتي خواهد داد.
Message Digest 5 (MD5) به صورت MD5, MD4, MD2  در سال‌هاي مختلف ابداع شده و اين 3 الگوريتميكMessage Digest128بيتي توليد مي‌كنند صرف نظر از اينكه ورودي اين تابع چه طولي داشته باشد. البته وروديش بايد كمتر از  بيت باشد
مكانيزم‌هاي كنترل دسترسي يا Authorization منابع محدود يا حفاظت شده يك سيستم، زماني كه يك فردي شناسايي مي‌شود و وارد سيستم مي‌شود تا به اين منابع دسترسي پيدا كند، دسترسي آن منابع را بصورت محدود يا محافظت شده به اين افراد ارائه بدهند. انواع مكانيزم‌هاي کنترل دسترسی: ,[object Object]
Rule – Based access control,[object Object]
Rule – Based Access control يعني بر اساس يك قانون سيستم‌هايي كه نياز به امنيت زيادي دارند مثل سيستم‌هاي نظامي كه سطوح امنيتي متفاوتي وجود دارد ديگر Integrity – based چاره كار اين سيستم‌ها نيست. بنابراين ما به هر منبعي يك Security label اختصاص مي‌دهيم . با مكانيزم پياده‌سازي Rule – Basedبه هر فردي هم يك Security label اختصاص مي‌دهيم حالا براي‌اينكه فردي بتواند به هر منبعي دسترسي پيدا كند بايد Security label آن فرد حداقل مساوي يا بيشتر از آن Security label باشد كه مي‌خواهد به آن دسترسي پيدا كند.
فصل ششم
:سرویس امنيت پرداخت طراحي سرويس امنيت پرداخت با تحليل ريسك يا Risk Analysis شروع مي‌شود كه اول بايد ريسك‌ها و تهديدات موجود را شناسايي كنيم و اولويت بندي كنيم و بر اساس آن يك سرويس امنيتي را پياده‌سازي كنيم. سيستم‌هاي امنيتي بسته به نوع كاركرد بايد متفاوت باشند. اصولاً مشكلاتي كه سيستم پرداخت چه سنتي چه الكترونيك با آن مواجه بوده سه مورد است.
پول مي‌تواند جعل شود. (سند ديجيتال مي‌تواند به كرّات كپي شود) امضاء مي‌تواند جعل شود. (امضاي ديجيتال مي‌تواند توسط هر كسي كه Private key آن شخص را داشته باشد اتفاق بيافتد) چك مي‌تواند برگشت بخورد.(هويت يك شخص مشتري ممكن است به يك  Transactionنسبت داده بشود همچنين پرداخت خاصي كه مشتري مي‌خواهد محرمانه باقي بماند)
 ما چند الزام امنيتي پايه و اساسي براي پرداخت الكترونيكي مي‌خواهيم Payment Authentication Payment Integrity Authorization Payment Payment Confidentiality
Payment Authentication يعني هم فروشنده و هم خريدار هويت‌شان شناسايي شود. البته هويت پرداخت و سيستمي  آن فرد. اگر كه Anonymity شخص مورد نظر نياز نباشد، يكي از مكانيزم‌هاي Authentication اي كه در قسمت قبل گفتيم، اين نياز را برآورده مي‌كند حالا اگر Anonymity فرد مورد نياز باشد يعني هويت فرد بخواهد نشان داده نشود و محفوظ بماند راهكارهاي خاصي نياز داريم كه در ادامه به آن اشاره خواهيم كرد.
PaymentIntegrity بسيارشبيه Data Integrity است. اصولاً  Integrity به اين معني است كه اطلاعات ما يكپارچه بماند. براي اين منظور هم مكانيزم‌هاي امنيتي كه در بخش اول گفتيم كفايت مي‌كند مثل  Hash Function.
Authorization Payment به معني كسب اجازه است كه بعد از اينكه مشتري و فروشنده Authenticate مي‌شوند و هويتشان احراز مي‌شود ما نياز به اين داريم كه به شكل صريح و مستند، اجازه‌ي برداشت پول از حساب مشتري و واريز آن به حساب فروشنده را داشته باشيم به اين مكانيزم Authorization Paymentمي‌گويند.
PaymentConfidentiality به مكانيزم‌هايي مي‌پردازد كه اطلاعات رد و بدل شده‌ي بين فروشنده و مشتري بايد محرمانه بماند كه باز مي‌توانيم از سيستم‌هاي امنيتي مثل Encryption استفاده كنيم. البته در پرداخت الكترونيك اين قسمت را نياز داريم كه قسمتي از اطلاعات را از ديد Entity هاي ديگر محفوظ نگه داريم و يا نگه نداريم.

More Related Content

Similar to Amniat

E commerce security
E commerce securityE commerce security
E commerce securitymeryamsiroos
 
Rajabi security project
Rajabi security projectRajabi security project
Rajabi security projectabnoos1
 
security in network
security in networksecurity in network
security in networksamaneirfan
 
Information security & isms
Information security & ismsInformation security & isms
Information security & ismsmeryamsiroos
 
Security in internet shopping
Security in internet shoppingSecurity in internet shopping
Security in internet shoppingfarnazkhosronia
 
Security in internet shopping
Security in internet shoppingSecurity in internet shopping
Security in internet shoppingfarzaneh1234
 
security in internet shopping
security in internet shoppingsecurity in internet shopping
security in internet shoppingfarzaneh1234
 
Network-security muhibullah aman-first edition-in Persian
Network-security muhibullah aman-first edition-in PersianNetwork-security muhibullah aman-first edition-in Persian
Network-security muhibullah aman-first edition-in PersianMuhibullah Aman
 
Understanding Security in .Net Framework
Understanding Security in .Net FrameworkUnderstanding Security in .Net Framework
Understanding Security in .Net FrameworkVahid Farahmandian
 
E commerce security(without animation)
E commerce security(without animation)E commerce security(without animation)
E commerce security(without animation)mmousavi
 
گاهنامه چهارمحال و_بختیاری_دیماه
گاهنامه چهارمحال و_بختیاری_دیماهگاهنامه چهارمحال و_بختیاری_دیماه
گاهنامه چهارمحال و_بختیاری_دیماهtarasad
 
Authentication
AuthenticationAuthentication
Authenticationpeykanpour
 
Authentication
AuthenticationAuthentication
Authenticationpeykanpour
 
Authentication
AuthenticationAuthentication
Authenticationpeykanpour
 
Authentication
AuthenticationAuthentication
Authenticationpeykanpour
 
M.nemati ssl&tls
M.nemati ssl&tls M.nemati ssl&tls
M.nemati ssl&tls rezgarnemati
 
Ips سیستمهای پیشگیری از نفوذ
Ips سیستمهای پیشگیری از نفوذIps سیستمهای پیشگیری از نفوذ
Ips سیستمهای پیشگیری از نفوذkamrankamran1234
 

Similar to Amniat (20)

E commerce security
E commerce securityE commerce security
E commerce security
 
Rajabi security project
Rajabi security projectRajabi security project
Rajabi security project
 
security in network
security in networksecurity in network
security in network
 
Information security & isms
Information security & ismsInformation security & isms
Information security & isms
 
Network security
Network securityNetwork security
Network security
 
Security in internet shopping
Security in internet shoppingSecurity in internet shopping
Security in internet shopping
 
Security in internet shopping
Security in internet shoppingSecurity in internet shopping
Security in internet shopping
 
security in internet shopping
security in internet shoppingsecurity in internet shopping
security in internet shopping
 
Network-security muhibullah aman-first edition-in Persian
Network-security muhibullah aman-first edition-in PersianNetwork-security muhibullah aman-first edition-in Persian
Network-security muhibullah aman-first edition-in Persian
 
Ssl security
Ssl securitySsl security
Ssl security
 
Understanding Security in .Net Framework
Understanding Security in .Net FrameworkUnderstanding Security in .Net Framework
Understanding Security in .Net Framework
 
E commerce security(without animation)
E commerce security(without animation)E commerce security(without animation)
E commerce security(without animation)
 
گاهنامه چهارمحال و_بختیاری_دیماه
گاهنامه چهارمحال و_بختیاری_دیماهگاهنامه چهارمحال و_بختیاری_دیماه
گاهنامه چهارمحال و_بختیاری_دیماه
 
Authentication
AuthenticationAuthentication
Authentication
 
Authentication
AuthenticationAuthentication
Authentication
 
Authentication
AuthenticationAuthentication
Authentication
 
Authentication
AuthenticationAuthentication
Authentication
 
Amniat
AmniatAmniat
Amniat
 
M.nemati ssl&tls
M.nemati ssl&tls M.nemati ssl&tls
M.nemati ssl&tls
 
Ips سیستمهای پیشگیری از نفوذ
Ips سیستمهای پیشگیری از نفوذIps سیستمهای پیشگیری از نفوذ
Ips سیستمهای پیشگیری از نفوذ
 

Amniat

  • 1. پروژه درس امنيت استادمحترم: جناب آقاي دكتر سخاوتي دانشجو: مجتبي قاسمي روشن
  • 2.
  • 4. یا تهدید پذیري: Vulnerability يك ضعف يا اختلال در طراحي ، پياده سازي ، اجرا و يا مديريت يك سيستم اطلاق مي شود كه بتواند بطور بالقوه آن سيستم را با تهديد مواجه كند. مثل يك Bug نرم افزاري كه با استفاده از آن خطا ميتواند كاركرد يك سيستم را از كار بيندازد. يا انتخاب يك رمز ساده مثل 1234 براي يك سيستم يك تهديد پذيري محسوب ميشود.
  • 5.
  • 6.
  • 7.
  • 8. Masquerading يا جعل هويت: نوعي از حمله است كه حمله كننده با استفاده از هويت يك كاربر مجاز به منابع يك سيستم حفاظت شده دسترسي پيدا مي كند و يا به ارسال و دريافت اطلاعات مي پردازد.
  • 9. Message tampering یا دستكاري در پيام : ‌به تغيير پيامهايي كه براي يك كاربر ارسال مي شود در بين راه اطلاق مي گردد.
  • 10. مديريت مخاطره فرآيند شناسايي مخاطرات، اولويت بندي آنها بر اساس هزينه مورد نياز براي بازيابي سيستم و همچنين شناسايي و پياده سازي راه كار هايي براي كاهش اين مخاطرات را مديريت مخاطرات مي گويند. سطوح مخاطره يا ريسك اگر خطري خيلي جدي باشد و احتمال وقوع آن نيز زياد باشد، هزينه بازيابي آن در صورت وقوع بسيار زياد خواهد بود.
  • 11. Security policy يا سياست هاي امنيتي بر اساس نتايج بدست آمده از تحليل مخاطره و اولويت بندي انجام شده،‌ سياست امنيتي، نقاط تهديد پذير يك سيستم و نوع ايمن شدن آنها را دقيقا مشخص مي كند. اصولا هيچ سياست امنيتي اي نميتواند كليه مخاطرات متوجه يك سيستم را در بر بگيرد و معمولا توازني بين مخاطرات و منابع موجود را برقرار مي كند.
  • 12. Security services يا خدمات امنيتي كاركرد هايي هستند كه براي پياده سازي سياست هاي امنيتي استفاده مي شود. از مهمترين خدمات امنيتي مي توان به شناسايي هويت ،‌كنترل دسترسي ، محرمانه بودن داده ها ،‌يكپارچگي داده ها و عدم انكار اشاره كرد.
  • 13.
  • 14.
  • 15. تفاوت :authentication and authorization وظیفه شناسايي هويت پاسخ به اين سوال است كه كاربر كيست و آيا واقعا همان كسي است كه ادعا مي كند؟ ولي كنترل دسترسي مجموعه مجوز هايي است كه به يك كاربر تشخيص هويت داده شده داده مي شود. و وظيفه اش پاسخ به اين سوال است كه يك كاربر مجاز ( تشخيص هويت داده شده ) چه كار مي تواند بكند و به چه اطلاعاتي مي تواند دسترسي داشته باشد؟
  • 16.
  • 17. يا بازيابي امنيتي:Security recovery يكسري روش هايي هستند كه به يك سيستم كمك مي كند كه زمانيكه يك حمله اتفاق مي افتد ، از آن حمله بتواند خودش را بازيابي كند و به موقعيت قبل از حمله باز گردد. مثل قرار دادن بعضي از كاربران در ليست سياه يا قطع ارتباط فيزيكي شبكه با خارج تا زمانيكه مشكل پيدا شود. كه اين روش به يك سرويس امنيتي خاص محدود نمي شود و يك مكانيزم امنيتي فراگير است.
  • 18. Security audit يا حسابرسي امنيتي: این مكانيزم فعاليت هاي حساس به امنيت يك سيستم مانند تغيير داده هاي محرمانه را به طور دائم نظارت مي كند. براي مثال در صورتيكه يكپارچگي داده هاي يك سيستم حسابداري به هر دليلي از بين برود يا تغيير كند، مكانيزم حسابرسي امنيتي مي تواند آنرا بلافاصله تشخيص دهد و براي بازيابي آنرا به مديريت سيستم گزارش دهد.
  • 19. Intrusion detection يا تشخيص حمله: وظیفه اين مكانيزم شناسايي اتفاقات خاصي است كه مغاير با سياست هاي امنيتي يك سيستم است و يا به طور بالقوه مي تواند براي آن يك تهديد محسوب گردد. براي مثال اگر ورود به يك شبكه محلي از يك سيستم خارجي ممنوع باشد، در صورتيكه چنين اتفاقي بيفتد مكانيزم تشخيص حمله آنرا بعنوان يك حمله احتمالي ثبت و گزارش مي كند.
  • 21.
  • 22.
  • 23. مكانيزم هاي محرمانگي اطلاعات به دو صورت انجام مي گيرد: رمز نگاري متقارن symmetric encryption رمز نگاري نامتقارن asymmetric encryption
  • 24. رمز نگاری متقارن یا symmetric encryption: كليد هايي كه براي رمزگذاري و رمزگشايي استفاده مي شود يكسان هستند مثل سيستم قفل و كليد در دنياي حقيقي. اگر افراد بخواهند در اين روش رمز متن رمزنگاري شده را باز كنند مستلزم اين است كه هر دوي آنها اين كليد را در اختيار داشته باشند كه اين هم مستلزم اين است كه فرد رمز گذاري كننده در يك مكانيزم امن اين كليد را انتقال بدهد به فردي كه مي خواهد رمز گشايي كند، كه اين خود يكي از مشكلات رمزگذاري متقارن است.
  • 25. رمز نگاری نا متقارن یا asymmetric encryption: در اين روش كليد رمزگذاري با رمزگشايي متفاوت است و فرقش با روش قبلي وجود دو كليد متفاوت براي رمزگذاري و رمزگشايي است. معمولا در روشهاي نامتقارن از به توان رساندن استفاده مي كنند. مثل الگوريتم RSA
  • 26.
  • 27. روش Stream cipher توسط دو مكانيزم رمزنگاري مي شود: همزمان يا synchronous stream cipher : اطلاعات رمزگذاري شده قبلي به هيچ عنوان نقشي در كليد ما بازي نمي كنند كه به اين روش KeyAutoKey يا KAK مي گوييم. روش كار به اين صورت است كه يك رشته از اطلاعات بهمراه يك رشته از رمز كه تعداد بيت آنها معادل هستند با هم XOR مي شوند. خود همزمان يا Self-synchronous stream cipher : كه به آن cipher text auto key يا CTAK مي گوييم كه در آن قسمتي از ديتايرمزگذاري شده به شكل دائمي به مولد كليد براي توليد كليد بازخورانده مي شود. بنابراين دائما ما با n بيت از cipher text را بازمي خورانيم . بنابراين تابع توليد كننده كليد ما يكي از پارامتر هاي وروديش n بيت از متن رمزگذاري شده است.
  • 28. مزيت هاي روش KAK: اگر خطايي اتفاق بيفتد ، اين خطا در فرآيند رمزنگاري ما انتشار پيدا نمي كند. مثلا اگر چند بيت در انتقال رشته اي از اطلاعات مثل صدا ، خراب شود ، فقط به صورت يك خش كوچك در گيرنده ظاهر مي شود كه قابل شناسايي است.
  • 29. :KAKعيب روش Spoofing يا جعل هويت خيلي راحت است كه البته باز در مورد صدا نمي شود كه صداي كس ديگري را جعل كرد. بنا بر اين گيرنده فريب نمي خورد.
  • 30. :CTAKمزيت هاي روش حسن اين روش اين است كه جعل هويت را سخت مي كند. اگر كسي به تعداد K بيت خلل وارد كند. از آنجايي كه ما n بيت از متن رمز گذاري شده را به مولد كليد مي دهيم بنابراين هميشه n بيت انتشار خطا داريم. حالا اگر كسي بيايد و K بيت از cipher text‌ را تغيير بدهد بنابر اين ما n+k بيت خطا خواهيم داشت كه سيستم مي تواند آنرا چك بكند و اگر چيز نرمالي نباشد تشخيص بدهد كه جعل هويت يا spoofing اتفاق افتاده است.
  • 31. مشخصاتي كه نرم افزار يا سخت افزار مولد كليد يا key generator بايد داشته باشد: مولد كليد بايد بتواند تعداد نامحدودي ورودي را دريافت كند. هر كليدي بايد منحصر به فرد باشد. مولد كليد بايد خروجي كاملا تصادفي را توليد كند. طول كليد عملا نامحدود باشد. از جاهاي random اي بتواند استارت كند. شاخص مهم ديگر اينكه هشدار دهنده خطا داشته باشد.
  • 32. Block cipher: متن يا ديتاي ما را به بلاك هاي مثلا x بيتي تقسيم مي كند و هر كدام از بلاكها را جداگانه رمزنگاري ميكند. به عدد x كه يك عدد مثبت integer است block size‌ مي گوييم. ما هر بلاك را كه x بيت است به تابع رمزنگاري مي دهيم كه اين تابع به نوبه خودش يك كليد دارد كه در نهايت يك بلاك از plain text را به يك بلاك از متن رمزنگاري شده تبديل مي كند.
  • 33. DES: الگوريتمي است كه يك بلاك 64 بيتي از متن را با استفاده از كليد 56 بيتي رمز مي گذارد. فرآيند رمزگذاري DES شامل 16 مرحله مختلف است كه به شكل جداگانه كار رمزگذاري را انجام مي دهند. كه در مرحله بعد اين بلاك 64 بيتي را به 2 بلاك 32 بيتي تبديل مي كند. نيمه بلاك سمت راست را با آن كليد 56 بيت اوليه رمزنگاري مي كند و سپس اين نيمه را با نيمه سمت چپ XOR مي كند و اين نتيجه را بعنوان نيمه سمت راست در نظر مي گيرد و نيمه سمت راستي كه در مرحله قبل دست نخورده بود را به عنوان نيمه سمت چپ در نظر مي گيرد و دوباره عمليات بالا روي آن انجام مي شود. اين كار 16 بار انجام مي شود و هر بار از كليد مختلف كه توسط آن كليد 56 بيتي بدست مي آيد انجام مي شود. در مرحله آخر ديتاي رمزگذاري شده يكبار ديگر با آن ماتريس البته برعكس جابجا مي شوند. كه از اين الگوريتم ديگر استفاده نمي شود.
  • 34. AES: اين الگوريتم با استفاده از كليدهايي با طول 128 يا 192 يا 256 بيت بر روي يك بلاك 128 بيتي كار مي كند. بنابراين sizeBlock ها نسبت به DES بزرگتر شده و طول كليد نيز متفاوت شده است. در فرآيند رمز گذاري و رمز گشايي، ورودي و خروجي و كليد به عنوان واحد بايت در غالب يك آرايه كه آرايه وضعيت ناميده مي شود، پردازش مي شوند. تمام سطر هاي اين آرايه ثابت و 4 سطر است بنابراين در هر ستون 32 بيت داريم و تعداد ستون بسته به طول كليد متفاوت است. بنابراين در هر سطر كه 32 بيت داريم اگر از 128 بيت كليد استفاده شود تعداد ستون هاي ما 4 تا خواهد بود. واگر از كليد 192 بيتي استفاده كنيم 32/192=6 ستون خواهيم داشت. تعداد مراحل پردازش به طول كليد بستگي دارد و براي كليد 128 بيتي 10 مرحله و 192 بيتي 12 مرحله و 256 بيتي 14 مرحله مختلف استفاده مي كنيم. و مراحل جابجايي و XOR‌ انجام مي شود و بسيار سنگين و رمزگشايي آن غير ممكن است.
  • 35. الگوريتم RSA از روش هاي نامتقارن: اين الگوريتم 2 عدد اول نسبتا بزرگ را به صورت اتفاقي انتخاب مي كند. پيمانه n‌را برابر p*q‌ قرار مي دهيم. اين الگوريتم تا حدود زيادي از نظريه اعداد استفاده مي كند. تابع اويلر را بر روي پيمانه n‌محاسبه مي كنيم. ΦN=(p-1)(q-1) يك عدد بعنوان public key كه اسمش را pub مي گذاريم را طوري انتخاب مي كنيم كه nΦ نسبت به اول باشد. بعد كليد خصوصي را طوري انتخاب مي كنيم كهpub*private = 1 mod Φn يعني pub*private همنهشت است با 1 به پیمانه Φn. حالا n و pub را مي توانيم انتشار بدهيم و همه از آن اطلاع پيدا كنند و private key و Φn را محرمانه نگه داريم.
  • 36. فصل سوم مكانيزم‌هاي يكپارچگي داده‌ها و شناسايي هويت
  • 37.
  • 38. Secure Hash Standard (SHA-1 ,SAH-256 ,SHA-384 ,SHA-512 )
  • 40. Keyed – Hash Message Authentication Codes (HMAC)هستند.
  • 41. Cryptographic Hash Function Hash Function به يك تابعي گفته مي شود كه يك ورودي با طول متفاوت قبول مي‌كند و يك خروجي با طول ثابتي ايجاد مي‌كند.براياينكه اين Function امن باشد يكسري خصوصياتي بايد داشته باشد.
  • 42. H(m) كه H تابع و m ورودي باشد H(m) خيلي محاسبه‌اش ساده باشد تقريباً غير ممكن باشد كه ما از روي H(m) يعني مقدار تابع به m يعني ورودي تابع دست پيدا كنيم. غير ممكن باشد كه يك پيامي را تغيير بدهيم و خروجي تابع H(m) تغيير پيدا نكند. غير ممكن باشد كه 2 پيام متفاوت H(m) يكساني داشته باشند.
  • 43. MAC یا : Message authentication code يكي از اين Message Authentication ها Hash Function يا (MAC) است. كاري كه MAC مي‌كند اين است كه يك كليد را كه Secret key است به همراه يك پيام به عنوان ورودي قبول مي‌كند و يك خروجي مي‌دهد بنام MAC يا كد شناسايي هويتي كه به آن پيام تعلق دارد. كاربرد اصلي اين تابع اين است كه زمانيكه ما يك متني را براي كسي ارسال مي‌كنيم آن شخص بتواند از هويت اصلي فرستنده اطمينان حاصل كند.
  • 44. Secure Hash Standard يا(SAH) بايد بسيار سخت و غيرممكن باشد كه ما بتوانيم از خروجي تابع Hash كه اصطلاحاً به آن Message Digest هم مي‌گوييم به اصل پيام دسترسي پيدا كنيم. Message Digest معمولاً چيزي است كه مي‌توانيم به شكل غير رمزگذاري شده و غير Secure به همراه متن فرستاده شود. در اينجا هدف ما Confidentiality و محرمانگي داده‌ها نيست بلكه هدف ما حصول اطمينان از درست بودن و صحت فرستنده پيام است. يكپارچگي را هم مي‌توان بررسي كرد چون اگر تغييري در پيام اصلي اتفاق بيافتد Message Digest متفاوتي خواهد داد.
  • 45. Message Digest 5 (MD5) به صورت MD5, MD4, MD2 در سال‌هاي مختلف ابداع شده و اين 3 الگوريتميكMessage Digest128بيتي توليد مي‌كنند صرف نظر از اينكه ورودي اين تابع چه طولي داشته باشد. البته وروديش بايد كمتر از بيت باشد
  • 46.
  • 47.
  • 48. Rule – Based Access control يعني بر اساس يك قانون سيستم‌هايي كه نياز به امنيت زيادي دارند مثل سيستم‌هاي نظامي كه سطوح امنيتي متفاوتي وجود دارد ديگر Integrity – based چاره كار اين سيستم‌ها نيست. بنابراين ما به هر منبعي يك Security label اختصاص مي‌دهيم . با مكانيزم پياده‌سازي Rule – Basedبه هر فردي هم يك Security label اختصاص مي‌دهيم حالا براي‌اينكه فردي بتواند به هر منبعي دسترسي پيدا كند بايد Security label آن فرد حداقل مساوي يا بيشتر از آن Security label باشد كه مي‌خواهد به آن دسترسي پيدا كند.
  • 50. :سرویس امنيت پرداخت طراحي سرويس امنيت پرداخت با تحليل ريسك يا Risk Analysis شروع مي‌شود كه اول بايد ريسك‌ها و تهديدات موجود را شناسايي كنيم و اولويت بندي كنيم و بر اساس آن يك سرويس امنيتي را پياده‌سازي كنيم. سيستم‌هاي امنيتي بسته به نوع كاركرد بايد متفاوت باشند. اصولاً مشكلاتي كه سيستم پرداخت چه سنتي چه الكترونيك با آن مواجه بوده سه مورد است.
  • 51. پول مي‌تواند جعل شود. (سند ديجيتال مي‌تواند به كرّات كپي شود) امضاء مي‌تواند جعل شود. (امضاي ديجيتال مي‌تواند توسط هر كسي كه Private key آن شخص را داشته باشد اتفاق بيافتد) چك مي‌تواند برگشت بخورد.(هويت يك شخص مشتري ممكن است به يك Transactionنسبت داده بشود همچنين پرداخت خاصي كه مشتري مي‌خواهد محرمانه باقي بماند)
  • 52. ما چند الزام امنيتي پايه و اساسي براي پرداخت الكترونيكي مي‌خواهيم Payment Authentication Payment Integrity Authorization Payment Payment Confidentiality
  • 53. Payment Authentication يعني هم فروشنده و هم خريدار هويت‌شان شناسايي شود. البته هويت پرداخت و سيستمي آن فرد. اگر كه Anonymity شخص مورد نظر نياز نباشد، يكي از مكانيزم‌هاي Authentication اي كه در قسمت قبل گفتيم، اين نياز را برآورده مي‌كند حالا اگر Anonymity فرد مورد نياز باشد يعني هويت فرد بخواهد نشان داده نشود و محفوظ بماند راهكارهاي خاصي نياز داريم كه در ادامه به آن اشاره خواهيم كرد.
  • 54. PaymentIntegrity بسيارشبيه Data Integrity است. اصولاً Integrity به اين معني است كه اطلاعات ما يكپارچه بماند. براي اين منظور هم مكانيزم‌هاي امنيتي كه در بخش اول گفتيم كفايت مي‌كند مثل Hash Function.
  • 55. Authorization Payment به معني كسب اجازه است كه بعد از اينكه مشتري و فروشنده Authenticate مي‌شوند و هويتشان احراز مي‌شود ما نياز به اين داريم كه به شكل صريح و مستند، اجازه‌ي برداشت پول از حساب مشتري و واريز آن به حساب فروشنده را داشته باشيم به اين مكانيزم Authorization Paymentمي‌گويند.
  • 56. PaymentConfidentiality به مكانيزم‌هايي مي‌پردازد كه اطلاعات رد و بدل شده‌ي بين فروشنده و مشتري بايد محرمانه بماند كه باز مي‌توانيم از سيستم‌هاي امنيتي مثل Encryption استفاده كنيم. البته در پرداخت الكترونيك اين قسمت را نياز داريم كه قسمتي از اطلاعات را از ديد Entity هاي ديگر محفوظ نگه داريم و يا نگه نداريم.
  • 57.
  • 58.
  • 59. در پرداخت الكترونيكي علاوه بر مسائل گفته شده براي ما قابليت دسترسي Availability و قابليت اطمينان يا Reliabilityمهم است. Availability در دسترس بودن يعني هميشه آن سيستم در حال خدمت رساني باشد و هيچ‌وقت متوقف نشود. Reliabilityيعني قابليت اطمينان داشته باشد و حمله كنندگان توسط حملاتDos نتوانند سيستم را مختل كنند. روش‌هاي مختلفي‌ براي Availability وجود دارد از جمله Redundancy داشتن منابع تكراري از سيستم (چه منابع سخت افزاري و چه منابع نرم افزاري) كه در صورت وقوع اشكالي در يكي از آن منابع، منبع ديگر بتواند جايگزين منبع شوند.