سؤال

انا مطور ويب التي واعية جدا من الأمن و محاولة لجعل بلدي تطبيقات ويب آمنة قدر الإمكان.

كيف من أي وقت مضى كنت قد بدأت كتابة بلدي تطبيقات ويندوز في C# و عندما يأتي الاختبار أمن C# التطبيق, أنا حقا فقط المبتدئ.

فقط أتساءل عما إذا كان أي شخص لديه أي دروس جيدة/التمهيدي حول كيفية الإختراق الخاص بك ويندوز كتابة رمز الأمان.

هل كانت مفيدة؟

المحلول

كتب من قبل مايكل هوارد نقطة انطلاق جيدة;

هناك الكثير من الروابط و مقالات مثيرة للاهتمام من مايكل هوارد بلوق هنا

هناك مثيرة للاهتمام تقديمي باور بوينت من مايكروسوفت حول تقييم التهديدات والمخاطر ASP هنا.

نصائح أخرى

وبصرف النظر عن كل الإجابات واضحة لمنع عازلة الفيضانات، حقن رمز، جلسة highjacking وآخرون. الله. عليك أن تجد شخص آخر للتحقق التعليمات البرمجية / البرمجيات لأنك يمكن أن نفكر فقط طرق الإختراق البرنامج أن تعرف كيفية الوقاية. فقط لأنك لا تستطيع ايجاد وسيلة لالإختراق البرمجيات الخاصة بك وهذا لا يعني أن لا أحد آخر يمكن.

وهذا هو الشيء الذي من الصعب جدا بالنسبة لك أن تفعل، وأعتقد أنك تقترب من المشكلة من زاوية خاطئة. إذا كنت تكتب أي طلب من أي حجم ثم محاولة التعامل مع الأمن في نهاية المطاف، من خلال البحث عن طرق محددة لكسر البرمجيات الخاصة بك، يكاد يكون من المستحيل.

وهذا هو لعدد من الأسباب. كنت تعتقد بالفعل حول البرنامج بطريقة معينة. كنت أفكر في طرق محددة للتفاعل معها، وكنت تعرف كيفية الحصول على أفضل من ذلك. كنت لا تفكر في ذلك من حيث طرق لاستغلالها، وهذا أمر من الصعب القيام به مع البرامج التي كنت معتادا بشكل وثيق مع.

وثمة مشكلة أخرى هي أن المهمة هذه النقطة هي كبيرة جدا للتعامل معها. أي مشاكل التي قد لا تجد فتح أي عدد من المشاكل الأخرى. شيك نظام أمني واسع هو مكان قريب محبب بما فيه الكفاية.

ما يجب أن تقوم به هو التفكير في الأمن أثناء كتابة البرامج. تعلم أفضل الممارسات، والنظر في كل طريقة والفئة التي تكتب من منظور أمني. هذا يسير جنبا إلى جنب مع وحدة الاختبار، في محاولة للنظر ما المدخلات قد يجعل هذا جزء محدد من كسر برنامجي. ومن ثم التعامل معها على هذا المستوى.

وبعد ذلك وأعتقد أن لها مسألة الاستجابة بسرعة لأية مخاوف الأمان التي يتم إجراؤها كنت على علم.

الأشياء الصغيرة التي كنت قد تأتي عبر خلال تجربتي الخاصة.

  • لا تستخدم SQL ديناميكية ، ثم عرضة للحقن SQL.بدلا من استخدام استعلامات SQL مع المعلمات.
  • لا تزايد معرفات مثل user_id = 1, 2, 3 الخ الخ ومن ثم استخدام ذلك في URL شيء.aspx?user_id=1, ومن ثم يمكنني تخمين المقبل معرف الدورة الأمل.نفس الحسابات و ما من أي وقت مضى آخر الحساسة.
  • احترس من XSS, (الكتابة عبر الموقع).إذا كنت تقبل إدخال المستخدم وتخزينها مباشرة ، تأكد من أنها لا يمكن أن تذهب إدراج تنبيه() عن اسمه أو أي شيء.

هذه ليست قائمة كاملة.فقط الأشياء التي كنت قد واجهت في الآونة الأخيرة.

لتأمين الخاص بك الفوز استمارة طلب فتحه وتحاول أن تفعل كل ما المستعمل امدا لا ينبغي أن تفعل! ساوضح:

إذا "يقول دخول yes أو no"، حاول مع A-Z، 0-9 لأن هذا هو ما يفعله بعض المستخدمين في محاولة للعثور على بعض تتبع المكدس والتي قد تكون مثيرة للاهتمام. لذا وضعت المصادقون في كل مكان.

وحذار من الاتصال بقواعد البيانات ولكن إذا كنت قادما من ديف على شبكة الإنترنت يجب أن تكون أكثر وعيا من لي:)

والجزء الأصعب هو احترس حول تسرب الذاكرة أو أشياء من هذا القبيل، ولكن هذا في تطبيقات كبيرة كبيرة أو في تطبيقات لا متطورة.

scroll top