कुछ समय पहले तक, हमारे लेखों में, हम पीवीएस-स्टूडियो को कोड में त्रुटियों का पता लगाने के लिए एक उपकरण के रूप में तैनात करते थे। उसी समय, हमने लगभग पीवीएस-स्टूडियो को सुरक्षा के संदर्भ में नहीं माना। आइए इस स्थिति को थोड़ा ठीक करने की कोशिश करें और एप्लिकेशन सुरक्षा और DevSecOps प्रथाओं के परीक्षण के संदर्भ में टूल पर एक नज़र डालें।
PVS-Studio स्थैतिक अनुप्रयोग सुरक्षा परीक्षण (स्टेटिक एप्लिकेशन सुरक्षा परीक्षण, SAST) के लिए एक उपकरण है। दूसरे शब्दों में, पीवीएस-स्टूडियो विश्लेषक न केवल टाइपोस, डेड कोड और अन्य त्रुटियों का पता लगाता है, बल्कि संभावित कमजोरियों का भी पता लगाता है।
उपकरण विंडोज, लिनक्स, मैकओएस में चलता है और सी, सी ++ और सी # में कार्यक्रमों के कोड का विश्लेषण करता है। 2018 के अंत तक, जावा भाषा के लिए समर्थन की योजना बनाई गई है।
पीवीएस-स्टूडियो को एसएएसटी टूल के रूप में उपयोग करने वाले विशेषज्ञों की सुविधा के लिए, विश्लेषक
सामान्य कमजोरी गणना ,
एसईआई सीईआरटी कोडिंग मानकों पर अपनी चेतावनी प्रदर्शित करता है, और
एमआईएसआरए मानक (वर्तमान में कार्यान्वयन) का भी समर्थन करता है।
विभिन्न मानकों के
लिए पीवीएस-स्टूडियो
डायग्नोस्टिक्स की अनुपालन तालिकाएँ:
- CWE अनुपालन
- अनुपालन SEI CERT
- MISRA समर्थन (हम 2018 के अंत से पहले इसे लागू करने की योजना बनाते हैं)
SAST टूल अलर्ट का सबसे आम वर्गीकरण कॉमन वीकनेस एन्यूमरेशन (CWE) है। आइए देखें, मैं सीडब्ल्यूई भाषा का उपयोग करता हूं क्योंकि पीवीएस-स्टूडियो विश्लेषक कमजोरियों को रोकने में मदद करता है।
यदि हम जाने-माने सूचना सुरक्षा कमजोरियों (
सीवीई ) के डेटाबेस की ओर मुड़ते हैं, तो यह पता चलता है कि अक्सर कार्यक्रमों में कमजोरियों का कारण कुछ सुरक्षा खामियां नहीं हैं, बल्कि साधारण सॉफ़्टवेयर त्रुटियां हैं। नेशनल इंस्टीट्यूट ऑफ स्टैंडर्ड्स एंड टेक्नोलॉजी (NIST) ने यह बताते हुए पुष्टि की है कि 64% सॉफ़्टवेयर भेद्यताएँ कोड त्रुटियों के कारण हैं।
यह ऐसी त्रुटियां हैं जो संभावित रूप से कमजोरियों को जन्म दे सकती हैं जो सीडब्ल्यूई में वर्णित हैं। तदनुसार, यदि त्रुटि को सीडब्ल्यूई के रूप में वर्गीकृत किया जा सकता है, तो एक मौका है कि यह एक भेद्यता के रूप में शोषण किया जा सकता है और अंततः सीवीई सूची को भर सकता है। स्पष्टता के लिए, आप फ़नल की छवि का उपयोग कर सकते हैं:
कई गलतियां हैं। उनमें से कुछ सुरक्षा के दृष्टिकोण से खतरनाक हैं और इसलिए उन्हें CWE के अनुसार वर्गीकृत किया गया है। कुछ सीडब्ल्यूई त्रुटियों का फायदा उठाया जा सकता है और वे कमजोरियां हैं।
हां, व्यवहार में, CWE त्रुटियों का केवल एक छोटा सा अंश खतरनाक पाया जाता है और कमजोरियां होती हैं। हालाँकि, यदि आप सुरक्षा-महत्वपूर्ण अनुप्रयोग विकसित कर रहे हैं और उपयोगकर्ता सुरक्षा की परवाह करते हैं, तो आपको इन त्रुटियों को बहुत गंभीरता से लेना चाहिए। CWE त्रुटियों को समाप्त करके, आप अपने एप्लिकेशन को कई कमजोरियों से बचाते हैं।
अब त्रुटियों, पीवीएस-स्टूडियो और कमजोरियों के बीच संबंध स्पष्ट हो गया है। PVS-Studio विश्लेषक त्रुटियों को ढूँढता है और उनमें से कई को CWE के रूप में वर्गीकृत करता है। इन त्रुटियों को सुधार कर, आप अपने आवेदन को अधिक विश्वसनीय बनाते हैं। किसी उत्पाद में भेद्यता का पता लगाना उसकी प्रतिष्ठा को गंभीर रूप से प्रभावित कर सकता है। विश्लेषक त्रुटियों को ठीक करके, आप विकास के शुरुआती चरण में इस जोखिम को कम करते हैं - लेखन कोड।
पीवीएस-स्टूडियो विश्लेषक, किसी भी अन्य उपकरण की तरह, यह गारंटी नहीं देता है कि कोड में कोई भेद्यता नहीं है। हालांकि, अगर पीवीएस-स्टूडियो रोकता है, उदाहरण के लिए, संभावित कमजोरियों का 50%, यह पहले से ही अद्भुत है।
इसके अतिरिक्त, हम सुझाव देते हैं कि आप लेख "
कमजोरियों को खोजने में पीवीएस-स्टूडियो की मदद कैसे कर सकते हैं? ", जो उन त्रुटियों को दर्शाता है जो कमजोरियों का कारण बनते हैं, जिन्हें अगर विकास प्रक्रिया में पीवीएस-स्टूडियो उपकरण का उपयोग किया जाता है तो इससे बचा जा सकता है।
PVS-Studio को एक SAST समाधान के रूप में उपयोग करना शुरू करें:
PVS-Studio डाउनलोड करें ।