युनिट्स
1. सायबरसुरक्षा मध्ये कृत्रिम बुद्धिमत्तेचा परिचय: भूमिका, सीमा, संरक्षण नीतिशास्त्र आणि सत्यापन 2. लॉग आणि एसआयईएम विश्लेषण: आर्टिफिशियल इंटेलिजन्ससह आवाजापासून इव्हेंट वेगळे करणे 3. धोक्याची शिकार: गृहीतके स्थापित करणे आणि कृत्रिम बुद्धिमत्तेसह सिग्नल शोधणे 4. भेद्यता स्कॅनिंग आणि प्राधान्यक्रम: CVE, CVSS, EPSS आणि संदर्भासह योग्यरित्या क्रमवारी लावणे 5. घटना प्रतिसाद: जलद विश्लेषण, प्लेबुक आणि कृत्रिम बुद्धिमत्तेसह नियंत्रित निर्णय 6. फिशिंग आणि सामाजिक अभियांत्रिकी विश्लेषण: ईमेल, URL आणि शीर्षलेख पुनरावलोकन 7. सुरक्षित कोड पुनरावलोकन आणि स्थिर विश्लेषण: कृत्रिम बुद्धिमत्तेसह भेद्यता शोधणे 8. थ्रेट इंटेलिजन्स: IOC, TTP, MITER ATT&CK आणि कृत्रिम बुद्धिमत्तेसह सेन्समेकिंग 9. रिपोर्टिंग आणि कम्युनिकेशन: निष्कर्षांपासून तांत्रिक अहवाल ते कार्यकारी सारांश 10. सीमा, गोपनीयता, नैतिकता आणि अनधिकृत वापर प्रतिबंध 11. एंड-टू-एंड SOC वर्कफ्लो, ऑटोमेशन (SOAR), गुणवत्ता व्यवस्थापन आणि स्व-ऑडिट
युनिट 7 / 11

सुरक्षित कोड पुनरावलोकन आणि स्थिर विश्लेषण: कृत्रिम बुद्धिमत्तेसह भेद्यता शोधणे

नफा:

  • दुसरा डोळा म्हणून कृत्रिम बुद्धिमत्ता वापरण्याची क्षमता आणि संदर्भ देऊन कोडमध्ये OWASP वर्ग असुरक्षा (इंजेक्शन, हार्ड सिक्रेट, ऍक्सेस कंट्रोल) ध्वजांकित करा
  • आर्टिफिशियल इंटेलिजन्स द्वारे उत्पादित चुकीच्या सकारात्मक गोष्टी संदर्भासह दूर करण्याची क्षमता आणि प्रत्येक शोध प्रमाणित न करता त्याला खरी असुरक्षा मानणे प्रतिबंधित करणे
  • हे ओळखण्याची क्षमता कृत्रिम बुद्धिमत्तेद्वारे सुचविलेले निराकरण नवीन भेद्यता/बग सादर करू शकते आणि प्रत्येक पॅच पुनरावलोकन आणि चाचणी गेटमधून पास करू शकते

सॉफ्टवेअरमधील भेद्यता ही सर्वात महाग असुरक्षा आहे कारण ती सुरुवातीपासून उत्पादनामध्ये एम्बेड केलेली असते आणि लाखो वापरकर्त्यांना वितरित केली जाते. सिक्योर कोड रिव्ह्यू म्हणजे प्रोडक्शनमध्ये जाण्यापूर्वी सोर्स कोड ओळ वाचण्याची आणि भेद्यता - SQL इंजेक्शन, प्रमाणीकरण भेद्यता, हार्ड-कोडेड पासवर्ड, चुकीची अधिकृतता - पकडण्याची प्रक्रिया आहे. जेव्हा हाताने केले जाते तेव्हा ते मंद आणि थकवणारे असते; मोठ्या कोड बेसमध्ये भेद्यता चुकवणे सोपे आहे.

AI दोन कारणांसाठी कोड पुनरावलोकनात शक्तिशाली आहे: कोड देखील एक भाषा आहे आणि AI पॅटर्न ओळखण्यात चांगली आहे. AI कोडच्या तुकड्यात धोकादायक पॅटर्न त्वरीत ध्वजांकित करू शकते (प्रयोगकर्ता इनपुट थेट क्वेरीमध्ये टाकणे, एनक्रिप्टेड डेटा स्टोरेज, गहाळ इनपुट प्रमाणीकरण), प्रत्येक धोकादायक का आहे हे स्पष्ट करू शकते आणि निराकरण सुचवू शकते. परंतु AI ला कोडचा संपूर्ण ऑपरेटिंग संदर्भ दिसत नाही (इनपुट दुसऱ्या स्तरावर क्लिअर केले जाऊ शकते), ते अस्तित्वात नसलेली असुरक्षा शोधू शकते (खोटे सकारात्मक) किंवा वास्तविक भेद्यता चुकते (खोटे नकारात्मक) आणि सर्वात महत्त्वाचे म्हणजे, ते प्रस्तावित केलेले "निराकरण" नवीन भेद्यता किंवा बग आणू शकते. एआय हा कोड रिव्ह्यूमधला दुसरा डोळा आणि पॉइंटर आहे; शोध ही खरी भेद्यता आहे की नाही आणि निराकरण योग्य आणि सुरक्षित आहे की नाही हे विकसक आणि सुरक्षा तज्ञ ठरवतात.

कोड पुनरावलोकनाचे चरण

  1. वाव आणि संदर्भ द्या. कोणती भाषा, कोणती चौकट, हा कोड कुठे इनपुट घेतो, कुठे आऊटपुट देतो, कोणत्या थरावर काम करतो? संदर्भाशिवाय कोडचे पुनरावलोकन चुकीचे सकारात्मक परिणाम देते.
  2. धोकादायक पॅटर्नसाठी स्कॅन करा. ज्ञात AI असुरक्षा वर्ग शोधा (जसे की OWASP Top 10): इंजेक्शन, प्रमाणीकरण, संवेदनशील डेटा प्रकटीकरण, प्रवेश नियंत्रण.
  3. प्रत्येक शोध न्याय्य आहे. प्रत्येक ध्वजासाठी: कोणती ओळ, कोणता असुरक्षितता वर्ग, त्याचा कसा उपयोग केला जाऊ शकतो, पुरावा काय आहे. अन्यायकारक शोध गांभीर्याने घेतला जात नाही.
  4. खोटे सकारात्मक दूर करा. इनपुट खरोखर साफ केले जात आहे का, तो मार्ग खरोखर प्रवेशयोग्य आहे का - संदर्भासह तपासा.
  5. निराकरण सत्यापित करा. पुष्टी करा की AI द्वारे शिफारस केलेला पॅच प्रत्यक्षात असुरक्षा बंद करतो, नवीन भेद्यता/बग सादर करत नाही आणि चाचणी उत्तीर्ण झाला आहे.
  6. मानवी मान्यता. विकसक + सुरक्षा तज्ञ शोध आणि निराकरणाचे पुनरावलोकन करतात; अशा प्रकारे ते कोड रिपॉजिटरीमध्ये प्रवेश करते.

अटी: SAST (स्टॅटिक ॲप्लिकेशन सिक्युरिटी टेस्टिंग — स्टॅटिक सिक्युरिटी टेस्टिंग जे सोर्स कोड न चालवता त्याचे विश्लेषण करते). DAST (डायनॅमिक — डायनॅमिक चाचणी जे चालू असलेल्या ऍप्लिकेशनची बाहेरून चाचणी करते). OWASP Top 10 ही सर्वात सामान्य वेब ऍप्लिकेशन भेद्यतेची मानक यादी आहे. इंजेक्शन ही एक असुरक्षा आहे जी वापरकर्त्याच्या इनपुटचा कमांड/क्वेरी (उदा. SQL इंजेक्शन) म्हणून अर्थ लावल्यामुळे उद्भवते. पॅरामीटराइज्ड क्वेरी ही योग्य पद्धत आहे जी कोडपासून इनपुट विभक्त करून इंजेक्शनला प्रतिबंध करते.

सामान्य असुरक्षा वर्गांची सारणी

असुरक्षितता वर्ग

लक्षण (कोडमध्ये)

योग्य उपाय

AI चा सापळा

एसक्यूएल इंजेक्शन

क्वेरीमध्ये इनपुटमध्ये सामील होत आहे

पॅरामीटराइज्ड क्वेरी

सॅनिटायझेशनकडे दुर्लक्ष करू शकतो

हार्ड कोडेड गुप्त

कोडमधील पासवर्ड/की

गुप्त सुरक्षित (वॉल्ट), env

खोटे सकारात्मक (नमुना/चाचणी)

कमकुवत प्रमाणीकरण

गहाळ/चुकीचे नियंत्रण

शक्तिशाली, केंद्रीकृत नियंत्रण

संदर्भ चुकतो

सदोष प्रवेश नियंत्रण

अधिकृतता तपासणी नाही

सर्व्हर साइड अधिकृतता

गुंतागुंतीचा प्रवाह समजत नाही

संवेदनशील डेटा प्रकटीकरण

पासवर्ड-मुक्त स्टोरेज/लॉगिंग

एनक्रिप्शन, मास्किंग

टीकात्मकता कळत नाही

असुरक्षित अनुक्रमणिका

अविश्वसनीय डेटा डीसीरियलाइज करा

सुरक्षित पार्सिंग

दुर्मिळ नमुना चुकतो

तीन लहान प्रकरणे

केस 1 - वास्तविक इंजेक्शन पकडणे. डेव्हलपरकडे डेटा ऍक्सेस फंक्शनची एआय तपासणी केली जाते. AI त्या रेषेला चिन्हांकित करते जिथे वापरकर्त्याचे userId मूल्य थेट SQL मजकूरात जोडले जाते आणि म्हणते "हे क्लासिक SQL इंजेक्शन आहे, त्यास पॅरामीटराइज्ड क्वेरीमध्ये बदला"; नमुना दुरुस्ती प्रदान करते. डेव्हलपर पुष्टी करतो की इनपुट इतरत्र सेनिटाइज केले गेले नाही, ते एक वास्तविक असुरक्षा आहे याची पडताळणी करतो, सूचित पॅरामीटराइज्ड क्वेरी लागू करतो आणि एक चाचणी लिहितो. एआयने असुरक्षिततेवर प्रकाश टाकला; डेव्हलपरकडून पडताळणी आणि सुधारणा चाचणी आली.

केस 2 - चुकीचे सकारात्मक निश्चित रहस्य. AI फाईलमध्ये पासवर्ड = "test1234" ओळ पाहतो आणि "क्रिटिकल: हार्डकोड पासवर्ड" म्हणतो. विकसक संदर्भ तपासतो: ही एक युनिट चाचणी फाइल आहे, एक डमी चाचणी डेटा आहे, जो उत्पादनात सोडला जात नाही आणि वास्तविक प्रणालीवर पोर्ट केलेला नाही. शोध खोटे सकारात्मक आहे. डेव्हलपर हे दस्तऐवज करतो परंतु कारवाई करत नाही कारण ते खरे रहस्य नाही. धडा: AI चे "कठोर रहस्य" चिन्ह संदर्भानुसार काढून टाकले जाणे आवश्यक आहे; प्रत्येक स्ट्रिंग गुप्त नसते.

केस 3 - नवीन भेद्यता निराकरण. AI XSS (क्रॉस-साइट स्क्रिप्टिंग) भेद्यतेसाठी एक निराकरण प्रस्तावित करते; परंतु त्याने सुचवलेला कोड चुकीच्या ठिकाणी इनपुट साफ करतो आणि दुसऱ्या भागात आउटपुट एन्कोडिंग वगळतो; परिणामी, अंतर पूर्णपणे बंद होत नाही. सुरक्षा तज्ञ निराकरणाचे पुनरावलोकन करतो, गहाळ कोडिंग लक्षात घेतो आणि योग्य स्तरावर त्याचे निराकरण करतो. धडा: AI ने शिफारस केलेला पॅच आपोआप सुरक्षित नाही; प्रत्येक निराकरणाचे पुनरावलोकन आणि चाचणी केली जाते.

कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट

कमकुवत प्रॉम्प्ट:

या कोडमध्ये काही त्रुटी आहे का, ते दुरुस्त करा: [code]

हा प्रॉम्प्ट कोणताही संदर्भ देत नाही (भाषा, फ्रेमवर्क, इनपुट स्त्रोत), औचित्य विचारत नाही, चुकीच्या सकारात्मकतेवर प्रश्न विचारत नाही आणि AI द्वारे निर्मित सुधारणा आंधळेपणाने स्वीकारण्यास तयार आहे. AI ची खरी असुरक्षा आणि अस्तित्वात नसलेली दोन्ही मिश्रित चिन्हे.

शक्तिशाली सूचना:

तुमची भूमिका: सहाय्यक जो सुरक्षित कोड पुनरावलोकनामध्ये विकसकाचा दुसरा डोळा आहे. निर्णय घेणे; थेट लागू केलेल्या निराकरणाचा विचार करा. कोड: [भाषा/फ्रेमवर्क निर्दिष्ट करा].संदर्भ: हे कार्य [इनपुट स्त्रोत: उदा. [बाह्य HTTP विनंती] प्राप्त करते, [आउटपुट गंतव्य] वर लिहिते. तुमचे कार्य: (1) OWASP वर्गासह संभाव्य भेद्यता ध्वजांकित करा, प्रत्येकासाठी ओळ क्रमांक + धोकादायक का + शोषण कसे करावे + पुरावे द्या, (2) प्रत्येक शोधासाठी किमान 1 चुकीची सकारात्मक परिस्थिती लिहा (उदा. इनपुट दुसऱ्या लेयरमध्ये स्वच्छ केले असल्यास), (3) निराकरण सुचवा परंतु "[पुनरावलोकन + लेखन चाचणी]" चिन्हासह; निराकरण नवीन भेद्यता/बग सादर करते की नाही याचे देखील मूल्यांकन करा. बनावट भेद्यता जोडत आहे.[कोड]

सशक्त प्रॉम्प्ट संदर्भ देते, OWASP वर्ग आणि पुरावे विचारतात, चुकीचे सकारात्मक प्रश्न आणि उपायांचे धोके, मानवी पुनरावलोकनास भाग पाडतात.

कॉपी करण्यायोग्य प्रॉम्प्ट टेम्पलेट्स

असुरक्षितता स्कॅन टेम्पलेट OWASP टॉप 10 साठी [भाषा/फ्रेमवर्क] कोड तपासा. प्रत्येक संभाव्य शोधासाठी: ओळ क्रमांक, भेद्यता वर्ग, ते धोकादायक का आहे, नमुना शोषण, पुराव्याची ताकद (काही/संभाव्य/कमकुवत). संदर्भ: इनपुट [स्रोत], आउटपुट [लक्ष्य]. बनावट निष्कर्ष जोडणे; तुम्हाला खात्री नसल्यास, "[सत्यापित करणे आवश्यक आहे]" टाइप करा. कोड: [पेस्ट]

फॉल्स पॉझिटिव्ह एलिमिनेशन पॅटर्न खालील कोड शोधण्यासाठी, वास्तविक भेद्यता नसलेल्या परिस्थितींची यादी करा: इनपुट दुसऱ्या स्तरावर साफ करता येईल का, हा मार्ग प्रवेशयोग्य आहे का, हे मूल्य चाचणी/नमुना आहे का, फ्रेमवर्क स्वयंचलितपणे संरक्षित आहे. प्रत्येकाची पुष्टी कशी करायची ते लिहा. शोधणे: [पेस्ट]

फिक्स इव्हॅल्युएशन टेम्प्लेटर खालील भेद्यतेसाठी निराकरण करण्याची शिफारस करा; मग तुमच्या स्वतःच्या निराकरणावर टीका करा: (1) ते खरोखरच असुरक्षा बंद करते का, (2) ते नवीन भेद्यता/बग सादर करते, (3) मी कोणती चाचणी लिहावी (सकारात्मक आणि नकारात्मक केस), (4) कार्यप्रदर्शन/कार्यक्षमता प्रभाव. मी निराकरणाचे पुनरावलोकन आणि चाचणी करेन. भेद्यता + कोड: [पेस्ट]

असुरक्षितता वर्गासाठी सुरक्षित पॅटर्न टीचिंग टेम्प्लेट [उदा. SQL injection] तुलनेने सुरक्षित टायपिंग पॅटर्न आणि या भाषा/फ्रेमवर्कमध्ये सामान्य चुकीचे नमुने दाखवतात. सामान्य नियम + कोड उदाहरण द्या; परंतु माझ्या कोडमध्ये ते लागू करण्यापूर्वी तुम्ही संदर्भ विचारावा अशी माझी इच्छा आहे. भाषा/चौकट: [लिहा]

सामान्य चुका

  • संदर्भाशिवाय पुनरावलोकन करा. भाषा, फ्रेमवर्क आणि इनपुट/आउटपुट संदर्भाशिवाय, AI वास्तविक आणि बनावट दोन्ही निष्कर्षांना गोंधळात टाकते; संदर्भ जरूर द्या.
  • वास्तविक कमकुवतपणासाठी प्रत्येक चिन्हे चुकणे. AI खोटे सकारात्मक (चाचणी डेटा, इनपुट दुसर्या स्तरावर साफ) तयार करते; प्रत्येक शोध संदर्भासह चाळून घ्या.
  • AI ची सुधारणा आंधळेपणाने लागू करणे. शिफारस केलेले पॅच नवीन भेद्यता/बग सादर करू शकतात; पुनरावलोकन करा आणि चाचण्या लिहा.
  • खोट्या नकारात्मकवर विश्वास ठेवणे. जरी एआयने "कोणतीही भेद्यता नाही" असे म्हटले तरीही, गंभीर मार्गांचे स्वतः परीक्षण करा; स्टॅटिक स्कॅनिंग प्रत्येक भेद्यता शोधत नाही.
  • बाह्य साधनाला कोड/गुप्त देणे. खाजगी कोड आणि वास्तविक रहस्ये (की, पासवर्ड) ही बौद्धिक संपदा आणि भेद्यता आहे; निनावी करा किंवा कॉर्पोरेट, पृथक साधने वापरा.
टीप: AI पुनरावलोकन कोड असताना, सर्वात कार्यक्षम फिल्टर म्हणजे प्रत्येक शोधासाठी "पुराव्याची ताकद" (काही/संभाव्य/कमकुवत) विचारणे. "कमकुवत" म्हणून चिन्हांकित केलेले बहुतेक निष्कर्ष चुकीचे सकारात्मक आहेत; तुम्ही तुमची ऊर्जा “खात्री” असलेल्यांना द्या.
खबरदारी: AI चे प्रस्तावित सुरक्षा निराकरण चाचणी केल्याशिवाय वेअरहाऊसमध्ये प्रवेश करू नये. चुकीचे "निराकरण" दोन्ही असुरक्षा उघडू शकते आणि उत्पादनात कार्यात्मक त्रुटी होऊ शकते; प्रत्येक पॅच पुनरावलोकन आणि चाचणी गेटमधून जातो.

सारांशात

सुरक्षित कोड पुनरावलोकन हा उत्पादनात जाण्यापूर्वी असुरक्षा पकडण्याचा सर्वात स्वस्त मार्ग आहे आणि कोड ही भाषा असल्याने, AI येथे एक शक्तिशाली दुसरा डोळा बनतो: धोकादायक पॅटर्न फ्लॅग करते, जोखीम स्पष्ट करते, निराकरणे सुचवते. परंतु AI संपूर्ण ऑपरेटिंग संदर्भ पाहत नाही, खोटे सकारात्मक आणि चुकीचे नकारात्मक निर्माण करते आणि ते शिफारस केलेले पॅच नवीन असुरक्षा सादर करू शकतात. त्यामुळे पुनरावलोकनामध्ये सहा पायऱ्या आहेत (संदर्भ, स्क्रीनिंग, औचित्य, खोटे सकारात्मक निर्मूलन, निराकरण सत्यापन, मानवी मान्यता) आणि निर्णय विकसक आणि सुरक्षा तज्ञावर आहे. तीन तत्त्वे: संदर्भाशिवाय कोणत्याही शोधाचा अर्थ लावला जात नाही, प्रत्येक चिन्ह संदर्भासह काढून टाकले जाते, कोणतेही निराकरण न तपासता स्टोरेजमध्ये जात नाही. आणि कोड/सिक्रेट कधीही निनावीपणाशिवाय बाहेरील टूलला दिले जात नाही.

अर्ज कार्य

नमुना कोड स्निपेट घ्या (एकतर तुमच्या स्वतःच्या कोडमधून संवेदनशील भाग काढून टाकणे किंवा भेद्यतेसह नमुना कोड). AI ला "असुरक्षा स्कॅनिंग" टेम्प्लेटसह त्याचे परीक्षण करा; प्रत्येक शोधासाठी "फॉल्स पॉझिटिव्ह एलिमिनेशन" टेम्प्लेट लागू करा आणि वास्तविक शोध काढून टाका. "उपचार मूल्यमापन" टेम्प्लेटसह सर्वात गंभीर शोधाची दुरुस्ती करा, त्याचे स्वतः पुनरावलोकन करा आणि एक सकारात्मक + एक नकारात्मक चाचणी केस लिहा. किती निष्कर्ष खोटे सकारात्मक होते ते लक्षात घ्या.

चेकलिस्ट

  • कोडचे पुनरावलोकन करण्यापूर्वी मी भाषा, फ्रेमवर्क आणि इनपुट/आउटपुट संदर्भ दिले आहेत.
  • [ ] मी प्रत्येक शोधासाठी लाइन क्रमांक, असुरक्षा वर्ग, शोषण मार्ग आणि पुरावे विचारले.
  • मी संदर्भासह खोट्या सकारात्मक गोष्टींसाठी प्रत्येक शोध तपासला.
  • [ ] मी AI ची सुधारणा आंधळेपणाने लागू केली नाही; मी पुनरावलोकन केले आणि एक चाचणी लिहिली.
  • [ ] "कोणतीही भेद्यता नाही" आउटपुट असूनही, मी स्वतः गंभीर मार्गांचे परीक्षण केले.
  • मी कोड/सिक्रेट्स अनामित केले किंवा कॉर्पोरेट आयसोलेटेड टूलिंग वापरले.
  • [ ] मी विकसक + सुरक्षा मंजुरीद्वारे शोध आणि निराकरण उत्तीर्ण केले आहे.