2008-08-05 10 views
8

Agile विकास के संबंध में, प्रति रिलीज सुरक्षा परीक्षण के लिए सबसे अच्छा अभ्यास क्या हैं?क्या एग्इल डेवलपमेंट शॉप में सुरक्षा का परीक्षण करने के लिए सर्वोत्तम अभ्यास हैं?

यदि यह मासिक रिलीज है, तो क्या दुकानें हर महीने कलम-परीक्षण कर रही हैं?

उत्तर

1

मैं एग्इल विकास पर कोई विशेषज्ञ नहीं हूं, लेकिन मुझे लगता है कि आपके निर्माण चक्र में कुछ बुनियादी स्वचालित पेन-टेस्ट सॉफ़्टवेयर को एकीकृत करना एक अच्छी शुरुआत होगी। मैंने वहां कई सॉफ्टवेयर पैकेज देखे हैं जो बुनियादी परीक्षण करेंगे और स्वचालन के लिए उपयुक्त हैं।

1

मैं सुरक्षा विशेषज्ञ नहीं हूं, लेकिन मुझे लगता है कि सुरक्षा का परीक्षण करने से पहले आपको सबसे महत्वपूर्ण तथ्य पता होना चाहिए, जो आप रक्षा करने की कोशिश कर रहे हैं। केवल अगर आप जानते हैं कि आप क्या रक्षा करने की कोशिश कर रहे हैं, तो आप अपने सुरक्षा उपायों का उचित विश्लेषण कर सकते हैं और केवल तभी आप उन लागू उपायों का परीक्षण शुरू कर सकते हैं।

बहुत सार, मुझे पता है। हालांकि, मुझे लगता है कि यह हर सुरक्षा लेखा परीक्षा का पहला कदम होना चाहिए।

+0

+1 ठीक है, @ डेविड। मैं * एक सुरक्षा विशेषज्ञ हूं, और किसी भी तरह से मैं अभी भी तथाकथित "विशेषज्ञ" देखता हूं जो इस मूल सिद्धांत को नहीं प्राप्त करते हैं। – AviD

1

Unit testing, Defense Programming और लॉग के बहुत सारे

इकाई परीक्षण

सुनिश्चित करें कि आप इकाई परीक्षण को जल्द से जल्द हो (उदा पासवर्ड भेजने से पहले एन्क्रिप्टेड किया जाना चाहिए, एसएसएल सुरंग काम कर रहा है, आदि) । यह आपके प्रोग्रामर को गलती से प्रोग्राम असुरक्षित बनाने से रोक देगा।

रक्षा प्रोग्रामिंग

मैं व्यक्तिगत रूप से पैरानॉयड प्रोग्रामिंग इस फोन लेकिन विकिपीडिया कभी नहीं गलत (व्यंग्य) है। असल में, आप अपने कार्यों में परीक्षण जोड़ते हैं जो सभी इनपुट जांचता है:

  • उपयोगकर्ता की कुकीज़ मान्य है?
  • क्या वह अभी भी लॉग इन है?
  • एसक्यूएल इंजेक्शन के खिलाफ फ़ंक्शन के पैरामीटर सुरक्षित हैं?

    पागल की तरह प्रवेश करें सब कुछ (भले ही आप जानते हैं कि इनपुट अपने खुद के कार्यों द्वारा उत्पन्न कर रहे हैं, तो आप वैसे भी परीक्षण किया जाएगा)

लॉगिंग। लॉग जोड़ने के लिए उन्हें जोड़ने के लिए आसान है। एक उपयोगकर्ता लॉग इन किया है? इसे लॉग करें एक उपयोगकर्ता को 404 मिला? इसे लॉग करें व्यवस्थापक ने एक पोस्ट संपादित/हटा दिया? इसे लॉग करें कोई प्रतिबंधित पृष्ठ तक पहुंचने में सक्षम था? इसे लॉग करें

आश्चर्यचकित न हों अगर आपकी लॉग फ़ाइल आपके विकास चरण के दौरान 15+ एमबी तक पहुंच जाती है। बीटा के दौरान, आप तय कर सकते हैं कि कौन से लॉग निकालें। यदि आप चाहते हैं, तो आप तय करने के लिए एक ध्वज जोड़ सकते हैं कि कोई निश्चित ईवेंट कब लॉग होता है।

2

आपका आवेदन डोमेन क्या है? निर्भर करता है।

चूंकि आपने "Agile" शब्द का उपयोग किया था, मुझे लगता है कि यह एक वेब ऐप है। मेरे पास आपके लिए एक अच्छा आसान जवाब है।

जाओ Burp Suite की एक प्रति खरीदें (यह "burp" के लिए # 1 Google परिणाम --- एक निश्चित अनुमोदन!); यदि आप नवंबर तक इंतजार करते हैं तो यह आपको 99 ईयू, या ~ $ 180USD, या $ 98 ओबामा डॉलर खर्च करेगा।

बर्प वेब प्रॉक्सी के रूप में काम करता है। आप फ़ायरफ़ॉक्स या आईई या जो कुछ भी इस्तेमाल कर अपने वेब ऐप से ब्राउज़ करते हैं, और यह आपके द्वारा उत्पन्न सभी हिट एकत्र करता है। इन हिट को "घुसपैठिए" नामक एक फीचर में खिलाया जाता है, जो एक वेब फूजर है। घुसपैठिया आपके सभी प्रश्नपत्रकों को प्रदान किए जाने वाले सभी मानकों को समझ लेगा। इसके बाद यह प्रत्येक पैरामीटर के लिए पागल मानों का प्रयास करेगा, जिसमें SQL, फाइल सिस्टम और HTML मेटाएक्टेक्टर शामिल हैं। एक ठेठ जटिल रूप पोस्ट पर, यह लगभग 1500 हिट उत्पन्न करने जा रहा है, जिसे आप डरावनी पहचानने के लिए देखेंगे --- या, अधिक महत्वपूर्ण रूप से एक Agile संदर्भ में, नई --- त्रुटि प्रतिक्रियाएं।

प्रत्येक रिलीज पुनरावृत्ति पर आपके वेब ऐप में प्रत्येक क्वेरी हैंडलर को फ़ज़िंग करना # 1 चीज है जो आप औपचारिक "एसडीएलसी" स्थापित करने और हेडकाउंट जोड़ने के बिना एप्लिकेशन सुरक्षा में सुधार करने के लिए कर सकते हैं। इसके अलावा, प्रमुख वेब ऐप सुरक्षा हॉट स्पॉट्स के लिए अपने कोड की समीक्षा करें:

  • केवल पैरामीटरयुक्त तैयार SQL कथन का उपयोग करें; कभी भी तारों को संयोजित न करें और उन्हें अपने डेटाबेस हैंडल पर फ़ीड न करें।

  • ज्ञात अच्छे पात्रों (एलनम, मूल विराम चिह्न) की एक सफेद सूची में सभी इनपुट फ़िल्टर करें, और, सबसे महत्वपूर्ण बात यह है कि अपने क्वेरी परिणामों से आउटपुट फ़िल्टर डेटा HTML मेटाएक्टएक्टर्स को HTML निष्कर्षों (quot, lt, gt) , आदि)।

  • उपयोग लंबे यादृच्छिक मुश्किल से अनुमान पहचानकर्ता कहीं भी आप वर्तमान में क्वेरी पैरामीटर में सरल पूर्णांक पंक्ति आईडी का उपयोग कर रहे हैं, और यह सुनिश्चित करें उपयोगकर्ता एक्स बनाने के उपयोगकर्ता Y का डेटा नहीं देख सकते हैं सिर्फ उन पहचानकर्ता का अनुमान लगाकर।

  • अपने आवेदन में प्रत्येक क्वेरी हैंडलर का परीक्षण यह सुनिश्चित करने के लिए करें कि वे केवल तभी कार्य करें जब वैध, लॉग-ऑन सत्र कुकी प्रस्तुत की जाए।

  • अपने वेब स्टैक में एक्सएसआरएफ सुरक्षा चालू करें, जो आपके सभी प्रस्तुत किए गए फॉर्मों पर छिपे हुए फॉर्म टोकन पैरामीटर उत्पन्न करेगा, ताकि हमलावरों को दुर्भावनापूर्ण लिंक बनाने से रोका जा सके जो असुरक्षित उपयोगकर्ताओं के लिए फ़ॉर्म सबमिट करेंगे।

  • ब्रशिप्ट का उपयोग करें --- और कुछ और नहीं --- हैश पासवर्ड स्टोर करने के लिए।

संबंधित मुद्दे