FixVibe
Covered by FixVibehigh

CSRF संरक्षणम् : अनधिकृतराज्यपरिवर्तनानां विरुद्धं रक्षणम्

क्रॉस्-साइट् अनुरोध-जालसाजी (CSRF) जाल-अनुप्रयोगानाम् कृते महत्त्वपूर्णं खतरा वर्तते । एतत् शोधं Django इत्यादीनि आधुनिकरूपरेखाः कथं रक्षणं कार्यान्वन्ति तथा च SameSite इत्यादीनि ब्राउजर्-स्तरीयाः विशेषताः अनधिकृत-अनुरोधानाम् विरुद्धं रक्षा-गहनं कथं प्रदास्यन्ति इति अन्वेषणं करोति

CWE-352

प्रभाव

क्रॉस्-साइट् रिक्वेस्ट जालसाजी (CSRF) आक्रमणकर्त्रेण पीडितस्य ब्राउजर् इत्यस्य छलं कृत्वा भिन्नजालस्थले अवांछितक्रियाः कर्तुं शक्यते यत्र पीडितः सम्प्रति प्रमाणीकृतः अस्ति यतो हि ब्राउजर्-मध्ये स्वयमेव अनुरोधेषु कुकीज-सदृशानि परिवेश-प्रमाणपत्राणि समाविष्टानि भवन्ति, आक्रमणकारी राज्य-परिवर्तन-क्रियाः-यथा गुप्तशब्द-परिवर्तनं, आँकडा-विलोपनं, व्यवहार-प्रारम्भः वा-उपयोक्तुः ज्ञानं विना जालपुटं कर्तुं शक्नोति

मूलकारणम्

CSRF इत्यस्य मौलिककारणं जालब्राउजर् इत्यस्य पूर्वनिर्धारितव्यवहारः अस्ति यत् यदा कदापि तस्मिन् डोमेने अनुरोधः क्रियते, अनुरोधस्य उत्पत्तिः [S1] इत्यस्य परवाहं न कृत्वा, डोमेनेन सह सम्बद्धानि कुकीजं प्रेषयति अनुप्रयोगस्य स्वस्य उपयोक्तृ-अन्तरफलकात् अनुरोधः इच्छया प्रेरितः इति विशिष्टं प्रमाणीकरणं विना सर्वरः वैध-उपयोक्तृ-क्रियायाः जाल-क्रियायाः च भेदं कर्तुं न शक्नोति

Django CSRF संरक्षण तंत्र

Django मिडलवेयर तथा टेम्पलेट् एकीकरण [S2] इत्येतयोः माध्यमेन एतान् जोखिमान् न्यूनीकर्तुं अन्तःनिर्मितं रक्षाप्रणालीं प्रदाति ।

मिडिलवेयर सक्रियण

django.middleware.csrf.CsrfViewMiddleware CSRF संरक्षणस्य उत्तरदायी अस्ति तथा च सामान्यतया पूर्वनिर्धारितरूपेण [S2] सक्षमम् अस्ति । CSRF आक्रमणानि पूर्वमेव [S2] नियन्त्रितानि इति कल्पयति यत् कस्यापि दृश्यमध्यमवेयरस्य पूर्वं तस्य स्थितिः भवितुमर्हति ।

टेम्पलेट कार्यान्वयन

कस्यापि आन्तरिक POST प्रपत्रस्य कृते, विकासकाः {% csrf_token %} टैगं <form> तत्व [S2] इत्यस्य अन्तः अवश्यं समाविष्टं कुर्वन्ति । एतेन अनुरोधे एकः अद्वितीयः, गुप्तः टोकनः समाविष्टः इति सुनिश्चितं भवति, यत् ततः सर्वरः उपयोक्तुः सत्रस्य विरुद्धं प्रमाणीकरोति ।

टोकन लीकेज जोखिम

एकः महत्त्वपूर्णः कार्यान्वयनविवरणः अस्ति यत् {% csrf_token %} कदापि बाह्य URL [S2] लक्ष्यं कृत्वा प्रपत्रेषु समाविष्टं न कर्तव्यम् । एवं कृत्वा गुप्तं CSRF टोकनं तृतीयपक्षं प्रति लीकं करिष्यति, सम्भाव्यतया उपयोक्तुः सत्रसुरक्षा [S2] क्षतिं करिष्यति ।

ब्राउज़र-स्तरीय रक्षा: SameSite कुकीज

आधुनिकब्राउजरैः रक्षा-गहनतायाः [S1] इत्यस्य स्तरं प्रदातुं Set-Cookie हेडरस्य कृते SameSite विशेषतां प्रवर्तयितम् अस्ति

  • कठोर: कुकी केवलं प्रथमपक्षसन्दर्भे एव प्रेष्यते, अर्थात् URL-पट्टिकायां साइट् कुकी-डोमेन् [S1] इत्यनेन सह मेलति
  • शिथिल: कुकी क्रॉस-साइट उप-अनुरोधयोः (यथा चित्राणि वा फ्रेम) न प्रेष्यते परन्तु यदा उपयोक्ता मूल-साइट् प्रति नेविगेट् करोति तदा प्रेष्यते, यथा मानकलिङ्कस्य अनुसरणं कृत्वा [S1]।

FixVibe तस्य परीक्षणं कथं करोति

FixVibe इदानीं गेटेड् सक्रियपरीक्षारूपेण CSRF संरक्षणं समावेशयति । डोमेनसत्यापनस्य अनन्तरं, active.csrf-protection आविष्कृतानां अवस्था-परिवर्तन-प्रपत्राणां निरीक्षणं करोति, CSRF-टोकन-आकारस्य निवेशानां तथा SameSite कुकी-संकेतानां जाँचं करोति, ततः न्यून-प्रभाव-जाल-मूल-प्रदानस्य प्रयासं करोति तथा च केवलं तदा एव रिपोर्ट् करोति यदा सर्वरः तत् स्वीकुर्वति कुकीपरीक्षाः अपि दुर्बलं SameSite विशेषतां ध्वजयन्ति ये CSRF रक्षा-गहनतां न्यूनीकरोति ।