صفحه 1 از 3 123 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 28

موضوع: اصول امنيت برنامه های وب

  1. #1
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    اصول امنيت برنامه های وب

    اصول امنيت برنامه های وب


    اينترنت و به دنبال آن وب ، دنيای نرم افزار را دستخوش تحولات فراوانی نموده است . ظهور نسل جديدی از برنامه های كامپيوتری موسوم به "برنامه های وب " از جمله اين تحولات عظيم است . پس از ارائه سرويس وب در سال 1991، وب سايت های متعددی ايجاد گرديد . اينگونه سايت ها به منظور ارائه اطلاعات به مخاطبان خود از صفحات وب ايستا استفاده می كردند . در چنين وب سايت هائی ، امكان تعامل كاربر با برنامه وجود نداشت .

    با توجه به اين كه رويكرد فوق با ماهيت و يا روح نرم افزار چندان سازگار نمی باشد ، تلاش های گسترده ای در جهت ايجاد محتويات پويا انجام و متعاقب آن ، فن آوری های متعددی ايجاد گرديد . به عنوان نمونه ، با پياده سازی فن آوری CGI ( برگرفته از Common Gateway Interface ) ، امكان استفاده از برنامه های خارجی به منظور توليد محتويات پويا فراهم گرديد . بدين ترتيب ، كاربران قادر به درج اطلاعات و ارسال آنها برای يك برنامه خارجی و يا اسكريپت سمت سرويس دهنده شدند . برنامه موجود در سمت سرويس دهنده پس از دريافت اطلاعات و انجام پردازش های تعريف شده ، نتايج را توليد و آنها را برای كاربر ارسال می نمود .


    رويكرد فوق ،‌ به عنوان نقطه عطفی در برنامه های وب تلقی می گردد چراكه برای اولين مرتبه امكان توليد محتويات پويا در وب سايت ها فراهم گرديد . از آن زمان تاكنون فن آوری های متعددی به منظور توليد برنامه های وب ايجاد شده است . PHP و ASP.NET نمونه هائی در اين زمينه می باشند . صرفنظر از اين كه از كدام فن آوری به منظور ايجاد برنامه های وب استفاده می گردد ، ايمن سازی آنان از جمله اهداف مشترك تمامی پياده كنندگان است .

    ویرایش توسط B@RBOD : 2008/12/16 در ساعت 22:31

  2. #2
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Post امنيت برنامه های‌ وب و برداشت های اوليه

    امنيت برنامه های‌ وب و برداشت های اوليه

    زمانی كه در رابطه با امنيت برنامه های وب سخن به ميان می آيد ، تهاجم عليه يك سايت ،‌ سرقت كارت های اعتباری ، بمباران وب سايت ها در جهت مستاصل كردن آنان به منظور ارائه خدمات و سرويس های تعريف شده ، ويروس ها ، تروجان ها ، كرم ها و ... در ذهن تداعی می گردد . صرفنظر از نوع برداشت ما در رابطه با موارد فوق ،‌ می بايست بپذيريم كه تهديدات امنيتی متعددی متوجه برنامه های وب با توجه به ماهيت آنان می باشد . سازمان ها و يا موسساتی كه از اينگونه برنامه ها استفاده می نمايند و يا در صدد طراحی و پياده سازی آنان می باشند ، می بايست به اين نكته مهم توجه نمايند كه ايمن سازی يك برنامه وب ، محدود به بكارگيری يك فن آوری خاص نبوده و فرآيندی است مستمر كه عوامل انسانی و غيرانسانی متعددی می توانند بر روی آن تاثيرگذار باشند .



    امنيت برنامه های وب را می بايست با توجه به
    نوع معماری و رفتار آنان بررسی نمود .

  3. #3
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Post برداشت های غيرواقعی از امنيت برنامه های وب

    برداشت های غيرواقعی از امنيت برنامه های وب

    متاسفانه به دليل عدم شناخت لازم در خصوص ماهيت برنامه های وب از يك طرف و از سوی ديگر عدم آشنائی لازم با مفاهيم امنيت ،‌ شاهد برداشت های نادرست در خصوص امنيت برنامه های وب می باشيم . اجازه دهيد به چند نمونه در اين خصوص اشاره نمائيم :


    • lما ايمن هستيم چون از يك فايروال استفاده می نمائيم . اين تصور كاملا" اشتباه است و به نوع تهديد بستگی خواهد داشت . مثلا" يك فايروال قادر به تشخيص داده ورودی مخرب جهت ارسال به يك برنامه وب نمی باشد . فايروال ها دارای عملكردی قابل قبول در رابطه با اعمال محدوديت بر روی پورت ها می باشند و برخی از آنان می توانند همزمان با بررسی اطلاعات مبادله شده ،‌ امكانات برجسته حفاظتی را ارائه نمايند . فايروال ها جزء لاينفك در يك فريمورك امنيتی می باشند ولی نمی توان آنان را به عنوان يك راهكار جامع به منظور ايجاد و برپائی يك محيط ايمن در نظر گرفت .

    • ما ايمن هستيم چون از SSL ( برگرفته ازSecure Sokets Layer ) استفاده می نمائيم . SSL برای رمزنگاری ترافيك موجود بر روی شبكه يك گزينه ايده آل است ولی قادر به بررسی داده ورودی يك برنامه نمی باشد .



    • ما ايمن هستيم چون از سيستم عاملی استفاده می نمائيم كه نسبت به ساير سيستم های عامل دارای امنيت بيشتری است . استدلال فوق با فرض درست بودن اصل قضيه ، نادرست و غيرمنطقی است چراكه امنيت يك فرآيند است نه يك محصول . بنابراين با بكارگيری يك محصول خاص ( به عنوان نمونه يك سيستم عامل ) نمی توان اين ادعا را داشت كه ما به يك محيط ايمن به منظور ايجاد برنامه های وب دست يافته ايم .


    با رد امنيت يك سيستم عامل نمی توان امنيت يك سيستم عامل ديگر را تائيد نمود.
    ( من خوبم چون شما بد هستيد ! )

  4. #4
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Post امنيت چيست ؟

    امنيت چيست ؟

    اولين رسالت امنيت ، حفاظت از سرمايه های يك سازمان است كه ممكن است شامل آيتم های ملموسی نظير يك صفحه وب و يا بانك اطلاعاتی مشتريان و يا آيتم های غيرملموسی نظير شهرت و اعتبار يك سازمان باشد. امنيت يك مسير است نه يك مقصد و به موازات تجزيه و تحليل زيرساخت و برنامه های موجود ، می بايست اقدام به شناسائی تهديدات و خطرات ناشی از آنان نمود . در واقع ، امنيت به مديريت خطرات و پياده سازی يك سيستم به منظور پاسخگوئی و مقابله با تهديدات اشاره داشته و در ارتباط با عتاصر كليدی زير است :

    • Authentication ، فرآيندی است كه به كمك آن به صورت منحصربفرد سرويس گيرندگان يك برنامه شناسائی می گردند . كاربران ، سرويس ها ، فرآيندها و كامپيوترها ، نمونه هائی از سرويس گيرندگان يك برنامه می باشند . در واقع ، authentication هويت استفاده كنندگان يك برنامه را بررسی می نمايد .


    • Authorization ، فرآيندی است كه به كمك آن دستيابی سرويس گيرندگان تائيد شده به منابع و عملياتی كه قصد انجام آن را دارند بررسی و مجوز لازم صادر می گردد. فايل ها ، بانك های اطلاعاتی ، جداول ، سطرها ، منابع موجود در سطح سيستم نظير كليدهای ريجتسری و داده پيكربندی ، نمونه هائی از منابع مورد درخواست سرويس گيرندگان می باشند . انجام تراكنش هائی خاص نظير خريد يك محصول ، واريز و انتقال پول از يك حساب به حساب ديگر و يا افزايش اعتبار يك كارت اعتباری از جمله عملياتی می باشند كه می بايست مجوز استفاده از آنان برای سرويس گيرندگان صادر گردد . در واقع ، authorization محدوده مجاز عملياتی را كه يك سرويس گيرنده می تواند انجام دهد را مشخص می نمايد .
    • Auditing : مميزی موثر و ثبت عمليات انجام شده يكی از اصول مهم در جلوگيری از انجام اعمال خلاف قانون است . بدين ترتيب اين اطمينان ايجاد خواهد شد كه يك كاربر نمی تواند باعث عدم انحام يك كار و يا فعاليت در سيستم گردد و يا يك تراكنش را مقداردهی اوليه نمايد . مثلا" در يك سيستم e-commerce می بايست از مكانيزم هائی استفاده گردد تا اين اطمينان حاصل گردد كه يك مصرف كننده نمی تواند سفارش انجام شده برای خريد يكصد نسخه از يك كتاب را انكار نمايد .
    • Confidentiality ، كه از آن با نام privacy نيز نام برده می شود ، فرآيندی است كه به كمك آن اين اطمينان ايجاد می گردد كه حريم خصوصی داده رعايت و امكان مشاهده آن توسط كاربران غيرمجاز و يا ساير افرادی كه قادر به رديابی ترافيك يك شبكه می باشند ، وجود نخواهد داشت .
    • Integrity ، فرآيندی است كه به كمك آن اين اطمينان ايجاد می گردد كه داده در مقابل تغييرات تصادفی و يا تعمدی حفاظت خواهد شد . همانند privacy ، يكپارچگی اطلاعات يك فاكتور اساسی در خصوص امنيت داده محسوب می گردد ، خصوصا" در مواردی كه داده در طول شبكه مبادله خواهد شد . يكپارچگی داده در حال حمل ،‌عموما" با استفاده از روش هائی نظير hashing و يا كدهای تائيد پيام انجام می شود .
    • Availability ، فرآيندی است كه به كمك آن اين اطمينان ايجاد خواهد شد كه همواره داده برای كاربران مجاز در دسترس و قابل استفاده خواهد بود . در اغلب حملات از نوع DoS ، مهاجمان اين هدف را دنبال می نمايند كه بتوانند امكان استفاده و در دسترس بودن برنامه برای كاربران مجاز را غيرممكن و عملا" آن را از كار بيندازند .

  5. #5
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Post تعاريف اوليه برخی از اصطلاحات امنيتی : تهديدات ، نقاط آسيب پذير و حملات

    تعاريف اوليه برخی از اصطلاحات امنيتی : تهديدات ، نقاط آسيب پذير و حملات
    • تهديد ( threat ) : به هرگونه پتانسيل بروز يك رويداد مخرب و يا ساير موارد ديگر كه می تواند به سرمايه های يك سازمان آسيب برساند ، تهديد گفته می شود . به عبارت ديگر، هر رويدادی كه بتواند به سرمايه های يك سازمان آسيب برساند ، در زمره تهديدات محسوب می گردد .
      نقاط آسيب پذير (vulnerability) : ضعف های موجود در يك سيستم می باشند كه پتانسيل اوليه بروز يك رويداد مخرب را فراهم می نمايند . ضعف در طراحی ، پيكربندی اشتباه ، استفاده از روش های كدينگ غيرايمن مهمترين دلايل ايجاد يك ضعف در سيستم می باشند . ضعف در بررسی صحت داده ورودی توسط كاربر ، نمونه ای از يك لايه آسيب پذير در يك برنامه است كه می تواند زمينه بروز يك تهاجم را فراهم نمايد .
    • تهاجم (attack) : عملياتی است كه محوريت آن سوء استفاده از نقاط آسيب پذير و پتانسيل های بروز يك رويداد مخرب می باشد . ارسال ورودی مخرب به يك برنامه و يا flooding يك شبكه به منظور از كار انداختن يك سرويس ، نمونه هائی در اين زمينه می باشد .


    يك تهديد پتانسيل بروز يك رويداد مخرب را فراهم می نمايد كه می تواند به سرمايه های يك سازمان آسيب برساند


    در حالی كه در يك تهاجم موفقيت آميز از نقاط آسيب پذير موجود در سيستم استفاده می گردد .


  6. #6
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Post چگونه می توان يك برنامه وب ايمن را ايجاد نمود ؟

    چگونه می توان يك برنامه وب ايمن را ايجاد نمود ؟

    تا زمانی كه شناخت مناسبی نسبت به تهديدات وجود نداشته باشد ، امكان ايجاد يك برنامه وب ايمن وجود نخواهد داشت . بنابراين قبل از هر چيز لازم است كه با "مدل تهديدات " موجود آشنا شويم . هدف مدل فوق، آناليز معماری و نحوه طراحی برنامه به منظور شناسائی نقاط آسيب پذيری است كه ممكن است به صورت تصادفی توسط يك كاربر ناآگاه و يا مهاجمان با اهداف مخرب مورد سوء استفاده قرار گرفته تا با استناد به آنان بتوانند موجوديت و امنيت سيستم را با خطر مواجه نمايند .

    پس از آسنائی با تهديدات ، می بايست با بكارگيری مجموعه ای از اصول امنيتی اقدام به طراحی سيستم نمود . در ادامه ، پياده كنندگان می بايست از روش های ايمن به منظور نوشتن كدهای مطمئن ، مستحكم و قابل اعتماد استفاده نمايند . پس از طراحی و پياده سازی برنامه ، می بايست از يك شبكه ايمن ، يك host مطمئن و يك پيكربندی مناسب بر روی سرويس دهنده ،‌ استفاده گردد .

    ايجاد يك برنامه وب ايمن ، مستلزم اقدامات امنيتی چند جانبه ای است كه موفقيت در تمامی آنان ، ايمن بودن برنامه های‌ وب را تضمين خواهد كرد . ايمن سازی شبكه ، host و برنامه ، رئوس مثلث امنيتی ايجاد برنامه های وب ايمن را تشكيل می دهند .

  7. #7
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Post ايمن سازی شبكه ، host و برنامه

    ايمن سازی شبكه ، host و برنامه
    به منظور ايجاد برنامه های وب ايمن ، تبعيت از يك رويكرد جامع امری است الزامی . بنابراين ، می بايست امنيت برنامه های‌ وب را در سه لايه متفاوت بررسی و اقدامات لازم را در هر لايه با توجه به جايگاه آن انجام داد . شكل زير سه لايه مهم به منظور ايجاد برنامه های وب ايمن را نشان می دهد .




    وجود يك نقطه آسيب پذير در شبكه به يك مهاجم اجازه می دهد تا كنترل يك host و يا برنامه را بدست بگيرد .
    وجود يك نقطه آسيب پذير در host به يك مهاجم اجازه می دهد تا بتواند كنترل يك شبكه و يا برنامه را بدست بگيرد .
    وجود يك نقطه آسيب پذير در برنامه به يك مهاجم اجازه می دهد تا كنترل يك host و يا شبكه را بدست بگيرد .
    ویرایش توسط B@RBOD : 2009/10/26 در ساعت 13:08

  8. #8
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    پیش فرض ايمن سازی شبكه

    ايمن سازی شبكه
    شبكه ، نقطه ورود به يك برنامه وب است و اولين لايه حفاظتی به منظور كنترل دستيابی به سرويس دهندگان متعدد موجود در محيط عملياتی را فراهم می نمايد . با اين كه سرويس دهندگان توسط سيستم های عامل نصب شده بر روی خود حفاظت می گردند ولی نمی بايست به اين موضوع صرفا" اكتفاء نمود و لازم است كه تدابير لازم به منظور حفاظت آنها در مقابل ساير تهديدات ( نظير ارسال سيلابی ‌از بسته های اطلاعاتی از طريق لايه شبكه ) نيز انديشيده گردد .

    ايمن سازی شبكه ، شامل حفاظت از دستگاه های شبكه ای و داده مبادله شده بر روی آنها می باشد . روتر ،‌ فايروال و سوئيچ عناصر اوليه زيرساخت يك شبكه را تشكيل می دهند . شكل زير نحوه استفاده از عناصر فوق را در يك شبكه نشان می دهد .




    يك برنامه وب بر روی يك زيرساخت شبكه ای ايمن فعاليت و به كاربران خود سرويس های لازم را ارائه می نمايد . برای ايمن سازی شبكه ، علاوه بر اين كه شبكه می بايست در مقابل حملات مبتنی بر TCP/IP از خود محافظت نمايد ، بلكه لازم است اقدامات متعدد ديگری نيز در اين رابطه انجام شود . ايجاد اينترفيس های مديريتی ايمن، استفاده از رمزهای عبور قدرتمند ، حصول اطمينان از صحت ترافيك ارسالی از جمله اقدامات ديگر در خصوص ايجاد يك شبكه ايمن می باشد . بدين منظور لازم است كه پورت ها و پروتكل های استفاده شده در هر لايه به دقت بررسی و در صورتی كه وجود آنها غيرضروری تشخيص داده شود و يا استفاده از آنها زمينه بروز تهديداتی را فراهم می نمايد ،‌ می بايست در همان لايه با آنان برخورد و از يك راهكار مناسب امنيتی استفاده گردد .

    وجود ضعف امنيتی در يك شبكه زمينه بروز تهديدات متعددی را فراهم می نمايد . بدون شناسائی اينگونه تهديدات ، امكان مقابله منطقی با آنان وجود نخواهد داشت .

    ویرایش توسط B@RBOD : 2009/10/26 در ساعت 13:08

  9. #9
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Post تهديدات

    تهديدات
    يك مهاجم به منظور برنامه ريزی حملات خود به دنبال دستگاه های شبكه ای است كه بر روی آنها پيكربندی ضعيفی اعمال شده است . تنظيمات ضعيف پيش فرض ، دستيابی بدون ضابطه به منابع موجود بر روی شبكه ، وجود دستگاه هائی كه به درستی patch و يا بهنگام نشده اند، حفره های امنيتی متعددی را در يك شبكه ايجاد می نمايد . وجود حفره های امنتيی فوق و عدم برخورد مناسب با آنها ، احتمال موفقيت مهاجمان را افزايش می دهد .
    مهمترين تهديدات در يك شبكه عبارتند از :

    • جمع آوری اطلاعات
    • sniffing
    • spoofing
    • session hijacking
    • DoS ( برگرفته از Denial of Service )

    با آگاهی از ماهيت هر يك از تهديدات فوق و نحوه تاثير آنها بر روی عملكرد شبكه ، می توان امكانات حفاظتی و تدافعی مناسبی را در يك شبكه پيش بينی و پياده سازی نمود.
    در ادامه به بررسی مختصر هر يك از تهديدات فوق خواهيم پرداخت .


  10. #10
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Post جمع آوری اطلاعات

    جمع آوری اطلاعات
    مهاجمان در اولين مرحله ،‌اقدام به جمع آوری اطلاعات در رابطه با اهداف خود می نمايند . جمع آوری اطلاعات می تواند باعث افشای اطلاعات توپولوژی شبكه ، پيكربندی سيستم و دستگاه های شبكه ای گردد . يك مهاجم می تواند در ادامه با استفاده از اطلاعات جمع آوری شده بر روی نقاط آسيب پذير متمركز و از حفره های امنيتی موجود در جهت تامين خواسته های مخرب خود استفاده نمايد .



    نقاط آسيب پذير
    متداولترين نقاط آسيب پذيری كه شبكه را مستعد اين نوع از حملات می نمايد عبارتند از :

    • ماهيت غيرايمن ذاتی پروتكل TCP/IP
    • پيكربندی ضعيف دستگاه های شبكه ای
    • استفاده غيرايمن از سرويس هائی كه به وجود آنها در يك شبكه نياز نمی باشد .


    حملات
    متداولترين حملات مبتنی بر "جمع آوری اطلاعات" عبارتند از :
    • استفاده از Tracert به منظور تشخيص توپولوژی شبكه
    • استفاده از Telnet به منظور باز نمودن پورت ها و جمع آوری اطلاعات اوليه
    • استفاده از پويشگرهای پورت به منظور تشخيص وضعيت پورت ها
    • استفاده از درخواست های broadcast برای شمارش تعداد host موجود بر روی يك subnet


    پيشگيری و مقابله با تهديدات
    به منظور پيشگيری و مقابله با اين نوع حملات می توان از روش های زير استفاده نمود :
    • استفاده از امكاناتی كه اطلاعات اضافه ای را در خصوص پيكربندی نظير نام و شماره نسخه نرم افزار ارائه نمی نمايد .
    • استفاده از فايروال ها به منظور پوشش سرويس هائی كه نمی بايست در معرض ديد و استفاده عموم قرار داده شوند .

صفحه 1 از 3 123 آخرینآخرین

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •