क्या Agile विकास की दुकान में सुरक्षा का परीक्षण करने के लिए सबसे अच्छा अभ्यास है?

Agile विकास के संबंध में, प्रति रिलीज सुरक्षा परीक्षण के लिए सबसे अच्छा अभ्यास क्या हैं?

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

0
जोड़ा संपादित
विचारों: 1

4 उत्तर

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

0
जोड़ा

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

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

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

Unit testing, Defense Programming and lots of logs

यूनिट परीक्षण

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

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

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

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

लॉगिंग

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

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

0
जोड़ा

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

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

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

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

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

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

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

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

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

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

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

0
जोड़ा