असुरक्षित प्रत्यक्ष वस्तु सन्दर्भ - IDOR भेद्यता भनेको के हो?

वस्तु पहुँच लक नगर्दा के हुन्छ? नमस्ते, IDOR जोखिम

विषयसूची

पढ्नै पर्ने पोस्टहरू

रुचिका पछिल्ला पोस्टहरू

IDOR भनेको के हो? विकासकर्ताहरूले किन ख्याल गर्नुपर्छ?

IDOR भनेको के हो? असुरक्षित प्रत्यक्ष वस्तु सन्दर्भ (IDOR) एउटा महत्वपूर्ण सुरक्षा त्रुटि हो जुन अनुप्रयोगहरूले उचित पहुँच नियन्त्रणहरू लागू नगरी प्रयोगकर्ता ID, फाइलहरू, वा डाटाबेस कुञ्जीहरू जस्ता आन्तरिक वस्तुहरू उजागर गर्दा हुन्छ। DevSecOps वातावरणमा, जहाँ सुरक्षा विकास जीवनचक्रभरि एकीकृत हुन्छ, संवेदनशील डेटाको सुरक्षा र प्रणाली अखण्डता कायम राख्न IDOR कमजोरीहरूलाई रोक्नु आवश्यक छ।

IDOR जोखिमले आक्रमणकारीहरूलाई अनधिकृत स्रोतहरू पहुँच गर्न वस्तु सन्दर्भहरू (जस्तै, URL मा प्रयोगकर्ता ID परिवर्तन गर्ने) हेरफेर गर्न सक्षम बनाउँछ। यसले डेटा चुहावट, गोपनीयता उल्लङ्घन, र प्रणाली भित्र अनधिकृत कार्यहरू निम्त्याउन सक्छ। उदाहरणका लागि, यदि API अन्त्य बिन्दु जस्तै /एपीआई/प्रयोगकर्ता/१२३ अनुरोधकर्ताले यसलाई हेर्नको लागि अधिकृत छ भनी प्रमाणित नगरी संवेदनशील जानकारी फिर्ता गर्छ भने, अनुप्रयोगले असुरक्षित प्रत्यक्ष वस्तु सन्दर्भको सामना गरिरहेको छ।

IDOR को जोखिम बुझ्नु र रोक्नु महत्त्वपूर्ण छ, सुरक्षा टोलीहरूको लागि मात्र होइन तर विकासकर्ताहरू र DevOps इन्जिनियरहरूको लागि पनि। सुरुदेखि नै बलियो पहुँच नियन्त्रण संयन्त्र र सुरक्षित डिजाइन ढाँचाहरू सुनिश्चित गर्नाले उत्पादनमा पुग्नु अघि यी जोखिमहरूलाई कम गर्न मद्दत गर्दछ। "IDOR के हो?" भन्ने प्रश्नको जवाफ दिनु भनेको सुरक्षित-द्वारा-पूर्वनिर्धारित वास्तुकला तर्फको आधारभूत कदम हो।

किन IDOR अझै पनि आधुनिक API हरूमा हुन्छ र Pipelines?

आधुनिक सुरक्षा ढाँचाहरूको प्रसारको बावजुद जस्तै OAuth, J.W.T., र RBAC, IDOR जोखिमहरू प्रचलित छन्।

IDOR जोखिमका सामान्य कारणहरू:

  • प्राधिकरण लागू नगरी वस्तु पहिचानकर्ताहरूलाई प्रमाणित गर्दै: विकासकर्ताहरूले कुनै वस्तु अवस्थित छ भनी पुष्टि गर्न सक्छन् (जस्तै, प्रयोगकर्ता, निर्माण, वा लग फाइल) तर हालको अनुरोधकर्तालाई यसलाई हेर्न वा परिमार्जन गर्न अनुमति छ कि छैन भनेर पुष्टि गर्न बिर्सन्छन्।
  • आन्तरिक कुराहरू उजागर गर्दै dashboardपहुँच जाँच बिना: आन्तरिक अनुप्रयोगहरू प्रायः "पूर्वनिर्धारित रूपमा सुरक्षित" मानिन्छन् र सीमित वा कुनै भूमिका-आधारित पहुँच प्रतिबन्धहरूसँग तैनाथ गरिन्छन्।
  • आन्तरिक बराबर सुरक्षित मान्दै: प्रति-प्रयोगकर्ता वा प्रति-भूमिका जाँचहरू लागू गर्नुको सट्टा नेटवर्क सीमाहरू (जस्तै, IP ह्वाइटलिस्टिङ, VPN पहुँच) मा भर पर्दा असुरक्षित प्रत्यक्ष वस्तु सन्दर्भहरू कायम रहन अनुमति दिन्छ।
    यी निरीक्षणहरू प्रायः IDOR भनेको के हो भन्ने गलत बुझाइबाट उत्पन्न हुन्छन् - वस्तु ID को उपस्थितिलाई अनुमतिको लागि प्रोक्सीको रूपमा व्यवहार गर्ने।

वास्तविक-विश्व उदाहरण परिदृश्यहरू:

  • CI प्रणालीले निर्माण कलाकृतिहरू डाउनलोड गर्न URL हरू प्रदान गर्दछ, तर अनुरोधकर्ता अधिकृत टोलीको हिस्सा हो कि होइन भनेर प्रमाणित गर्दैन।
  • आन्तरिक समर्थन dashboard भूमिका-आधारित पहुँच प्रमाणित नगरी, सजिलै अनुमान गर्न सकिने आईडीहरू प्रयोग गरेर कर्मचारीहरूलाई ग्राहक प्रोफाइलहरू हेर्न अनुमति दिन्छ।
  • आन्तरिक रूपमा विकसित प्लगइनहरू वा स्क्रिप्टहरूले डिबगिङको समयमा सुविधाको लागि अप्रमाणित अन्त्य बिन्दुहरू मार्फत डेटा उजागर गर्छन्।

यी प्रत्येकले पहुँच नियन्त्रण छोड्दा उत्पन्न हुने वास्तविक IDOR जोखिम प्रदर्शन गर्दछ।

वास्तविक कार्यप्रवाहहरूमा सामान्य IDOR एक्सपोजर बिन्दुहरू

IDOR जोखिमहरू विकासको क्रममा प्रायः सतहमा pipelines, आन्तरिक उपकरणहरू, र API हरू जब वस्तु-स्तर पहुँच जाँचहरूलाई बेवास्ता गरिन्छ।

वास्तविक संसारका उदाहरणहरू:

  • निर्माण कलाकृतिहरू: CI/CD प्लेटफर्महरूले अनुमानित URL हरूमा कलाकृतिहरू भण्डारण गर्न सक्छन्। यदि पहुँच जाँचहरू हराइरहेको छ भने, यी अन्तिम बिन्दुहरू असुरक्षित प्रत्यक्ष वस्तु सन्दर्भहरू बन्न सक्छन्।
  • लग फाइलहरू: अनुरोधकर्ताको भूमिका प्रमाणित नगरी पहिचानकर्ताहरूमा आधारित लगहरू फिर्ता गर्ने उपकरणहरूले अर्को IDOR जोखिम परिचय गराउन सक्छ।
  • समर्थन उपकरणहरू: आन्तरिक पहुँचलाई प्राधिकरणसँग तुलना गर्ने प्रणालीहरू अनुमानित वस्तु सन्दर्भहरू मार्फत दुरुपयोगको जोखिममा हुन्छन्।

सैद्धान्तिक समस्याहरू:

  • कन्फिगरेसन फाइलहरू: खुलासा गर्दै /कन्फिग/उत्पादन वा समान अन्त्य बिन्दुहरू प्रमाणीकरण र प्राधिकरण लागू नगरी असुरक्षित प्रत्यक्ष वस्तु सन्दर्भमा जान्छ, विशेष गरी जब गोप्यहरू इम्बेड गरिएका हुन्छन्।

सबै अवस्थामा, त्रुटि भनेको ID जान्नु पर्याप्त छ भन्ने मान्नु हो; IDOR ले व्यवहारमा प्रतिनिधित्व गर्ने कुरा यही हो।

Dev Tools, CI Plugins, र Internal API हरूमा IDOR कसरी पत्ता लगाउने र परीक्षण गर्ने

पत्ता लगाउनु भनेको IDOR के हो र कोडमा वस्तु पहुँचको बारेमा धारणाहरू कसरी प्रकट हुन्छन् भन्ने कुरा बुझ्नु समावेश छ।

IDOR जोखिमका संकेतहरू:

  • वस्तु ID हरूमा आधारित संवेदनशील डेटा फिर्ता गर्ने अन्त्यबिन्दुहरू।
  • वस्तु गणना सम्भव छ भन्ने सुझाव दिने ढाँचाहरू।
  • प्रयोगकर्ताको भूमिकाको आधारमा न्यूनतम वा कुनै पहुँच प्रतिबन्ध बिना आन्तरिक उपकरणहरू।

पत्ता लगाउने रणनीति:

  • प्रयोगकर्ता-आपूर्ति गरिएको वस्तु सन्दर्भहरूमा अन्तिम बिन्दुहरू कसरी निर्भर हुन्छन् भनेर मूल्याङ्कन गर्नुहोस्।
  • पहुँच तर्क कहाँ हराइरहेको छ वा ढिलो रूपमा लागू गरिएको छ भनेर पहिचान गर्नुहोस्।
  • अनधिकृत पहुँच अवरुद्ध छ कि छैन भनेर पुष्टि गर्न अवरोध उपकरणहरू वा API परीक्षकहरू प्रयोग गरेर अनुरोधहरूको नक्कल गर्नुहोस्।

वास्तविक-विश्व लेखापरीक्षण लक्ष्यहरू:

  • अन्त्य बिन्दुहरू जस्तै /निर्माण/{आईडी}/कलाकृति।
  • Dashboardखुला क्वेरी प्यारामिटरहरूबाट कन्फिगरेसन विवरणहरू रेन्डर गर्दै।
  • पहुँच प्रमाणीकरण बिना ID हरू प्रयोग गर्ने लग वा मेट्रिक्स प्यानलहरू।

IDOR के हो भनेर बुझ्नाले विकास टोलीहरूलाई वस्तु सुरक्षा सक्रिय रूपमा प्रमाणित गर्न अनुमति दिन्छ।

IDOR जोखिमहरूलाई कसरी रोक्ने Pipelines र API हरू

रोकथाम ए IDOR जोखिम DevSecOps को मुख्य उद्देश्य हो। परिधि प्रतिरक्षामा भर पर्नुको सट्टा, विकास जीवनचक्रको हरेक चरणमा कार्यान्वयन हुनुपर्छ।

DevSecOps-केन्द्रित उपायहरू:

  • स्वचालित परीक्षणको समयमा CI/CD: तपाईंको सुनिश्चित गर्न अनधिकृत पहुँचको नक्कल गर्नुहोस् pipeline क्याच र झण्डाहरू पर्दाफास गरियो असुरक्षित प्रत्यक्ष वस्तु सन्दर्भहरू।
  • SASTSCA मर्ज ब्लकिङको साथ: परिचय गराउने वा बिग्रने परिवर्तनहरूलाई रोक्न स्थिर र संरचना विश्लेषण उपकरणहरू प्रयोग गर्नुहोस्। IDOR को कमजोरीहरू।
  • विकासको क्रममा अन्तिम बिन्दु लेखा परीक्षण: कोड समीक्षामा वस्तु-स्तर पहुँचको औचित्य र कागजात आवश्यक छ।
  • आन्तरिक उपकरणहरूको लागि म्यानुअल समीक्षा: उपकरण आन्तरिक भएको कारणले समीक्षा नछोड्नुहोस्। धेरै असुरक्षित प्रत्यक्ष वस्तु सन्दर्भहरू आन्तरिक प्रणालीहरूमा लुकेका छन्।

Xygeni ले IDOR पत्ता लगाउने र रोकथामलाई कसरी स्वचालित बनाउँछ

IDOR को जोखिमहरूलाई ठूलो मात्रामा रोक्नु भनेको म्यानुअल समीक्षाबाट निरन्तर, स्वचालित प्रवर्तनमा सर्नु हो। ठ्याक्कै त्यहीं हो जहाँ जाइगेनी भित्र आउछ

असुरक्षित वस्तु सन्दर्भहरू ढुवानी गर्नु अघि Xygeni ले तपाईंलाई कसरी समात्न र ब्लक गर्न मद्दत गर्छ भन्ने कुरा यहाँ छ:

  • वास्तविक समयमा IDOR ढाँचाहरू पत्ता लगाउँछ
    Xygeni ले तपाईंको भरमा अन्तिम बिन्दु व्यवहार र स्रोत कोड परिवर्तनहरूको विश्लेषण गर्दछ CI/CD कार्यप्रवाह। यदि यसले उचित प्राधिकरण जाँच बिना प्रत्यक्ष वस्तु पहुँच फेला पार्छ भने, जस्तै /एपीआई/प्रयोगकर्ता/१२३ कुनै भूमिका प्रमाणीकरण बिना नै पर्दाफास भयो भने, यसले तुरुन्तै अलर्ट जारी गर्छ।
  • असुरक्षित अन्त्य बिन्दुहरू पूर्व-तैनाती रोक्छ
    Guardrails तपाईंको CI मा pipelines stop ले अप्रमाणित वस्तु सन्दर्भ पत्ता लागेमा निर्माण गर्छ। तपाईं यी सेट गर्न सक्नुहुन्छ guardrails बिल्ड तोड्न, PR असफल गर्न, वा समीक्षाको लागि ट्याग गर्न। यो GitHub Actions, GitLab CI, Jenkins, र थपसँग काम गर्दछ।
  • निष्कर्षहरूलाई PR र अडिट ट्रेलहरूसँग जोड्छ
    प्रत्येक खोज यससँग जोडिएको छ pull request, commit, र योगदानकर्ता विकासकर्ता। यसले तपाईंलाई स्पष्ट ट्रेसेबिलिटी दिन्छ, परिवर्तन कसले ल्यायो, कसले समीक्षा गर्यो, र यो नीति अनुरूप छ कि छैन।

वास्तविक संसारको उदाहरण

विकासकर्ताले नयाँ अन्त्यबिन्दु धकेल्छ:
/build/7020/artifact.zip प्राप्त गर्नुहोस्

Xygeni ले बिल्ड ID पहुँच नियन्त्रणद्वारा सुरक्षित छ कि छैन भनेर जाँच गर्छ। यदि छैन भने:

  • PR लाई चेतावनीको साथ फ्ल्याग गरिएको छ
  • सीआई pipeline तैनाती रोक्छ
  • अडिट लगले घटना रेकर्ड गर्छ, जसले परिवर्तन कसले अगाडि बढायो र के समाधान गर्न आवश्यक छ भनेर देखाउँछ।

Xygeni को स्वचालित सुरक्षाले तपाईंको कोडमा IDOR कमजोरीहरू जहाँबाट सुरु हुन्छन्, त्यहीँबाट रोक्न सुनिश्चित गर्दछ र pipelines.

निष्कर्ष: IDOR ले निरीक्षणहरूलाई उल्लंघनमा परिणत गर्छ

त्यसो भए, IDOR भनेको के हो? यो एउटा जोखिम हो जुन कोडले ID को स्वामित्व पहुँच हुनु बराबर हो भनेर मान्दा उत्पन्न हुन्छ। यसले सार्वजनिक-मुखी अन्त्य बिन्दुहरू जत्तिकै आन्तरिक उपकरणहरूलाई असर गर्छ।

असुरक्षित प्रत्यक्ष वस्तु सन्दर्भहरू विरुद्ध सुरक्षित गर्नु भनेको हरेक पटक पहुँच प्रमाणित गर्नु हो। स्वचालित पहिचान, असुरक्षित तैनातीहरू रोक्नुहोस्, र तपाईंको स्ट्याकभरि सुरक्षा नीतिहरू लागू गर्नुहोस्।

मुख्य अभ्यासहरूको सारांश:

  • वस्तु-स्तर प्राधिकरण लागू गर्नुहोस्।
  • आन्तरिक समानताहरू सुरक्षित छन् भनेर कहिल्यै नसोच्नुहोस्।
  • IDOR के हो र यो तपाईंको कोडमा कसरी प्रकट हुन्छ भनेर बुझ्नुहोस्।
  • IDOR जोखिमहरूको लागि निगरानी गर्नुहोस् pipeline.
  • Xygeni जस्ता उपकरणहरू प्रयोग गरेर स्वचालित सुरक्षा प्रदान गर्नुहोस्।

IDOR जोखिमलाई उन्नत शोषणको आवश्यकता पर्दैन, केवल बेवास्ता गरिएको सन्दर्भ। अरू कसैले फेला पार्नु अघि यसलाई सुरक्षित गर्नुहोस्!

sca-उपकरण-सफ्टवेयर-रचना-विश्लेषण-उपकरणहरू
आफ्नो सफ्टवेयर जोखिमहरूलाई प्राथमिकता दिनुहोस्, सुधार गर्नुहोस् र सुरक्षित गर्नुहोस्
आफ्नो नि:शुल्क खाता पाउनुहोस्।
कुनै क्रेडिट कार्ड आवश्यक छैन।

आफ्नो सफ्टवेयर विकास र डेलिभरी सुरक्षित गर्नुहोस्

Xygeni उत्पादन सुइटको साथ