एप्लिकेसन प्रोग्रामिङ इन्टरफेस (API) एउटा यस्तो तरिका हो जसले एप्लिकेसनहरूलाई एकअर्कासँग सञ्चार गर्न अनुमति दिन्छ। यसले विकासकर्ताहरूलाई पहुँचयोग्य तरिकाले डेटा निकासी र साझेदारी सक्षम पार्दै सफ्टवेयर एप्लिकेसनहरू निर्माण गर्ने तरिका प्रदान गर्दछ।
संवेदनशील हुन सक्ने जानकारीलाई रूपान्तरण गर्न API हरू व्यापक रूपमा प्रयोग हुने भएकाले साइबर आक्रमणहरूलाई सहज बनाउन API हरू प्रयोग गर्न सकिन्छ । कमजोर प्रमाणीकरण, इन्क्रिप्शनको अभाव, तार्किक त्रुटिहरू, र असुरक्षित अन्त्य बिन्दुहरू जस्ता कमजोरीहरूले API हरूलाई आक्रमणहरूको लागि कमजोर बनाउँछन्।
API हरू कार्यान्वयन गर्दा सुरक्षा उपायहरूको अभावका कारण हुने केही प्रमुख आक्रमणहरू यस प्रकार छन्:
म्यान-इन-द-मिडल (MITM)
संवेदनशील जानकारी प्राप्त गर्न, घुसपैठकर्ताले API आदानप्रदानहरू समावेश गर्ने सञ्चारलाई रिले र अवरोध गरेर सञ्चार गर्ने पक्षहरू बीचको ट्राफिकलाई रोक्छ।
API इंजेक्शनहरू (XSS र SQLi)
कोड इन्जेक्सन आक्रमणमा, क्रस-साइट स्क्रिप्टिङ (XSS) र SQL इन्जेक्सन (SQLi) जस्ता आक्रमण गर्नको लागि दुर्भावनापूर्ण कोडलाई कमजोर सफ्टवेयर प्रोग्राममा घुसाइन्छ।
एक अपराधीले कमजोर API मा दुर्भावनापूर्ण स्क्रिप्ट इन्जेक्ट गर्न सक्छ, अर्थात्, जसले उचित फिल्टर इनपुट र एस्केप आउटपुट (FIEO) प्रदर्शन गर्न असफल हुन्छ र अन्त-प्रयोगकर्ताहरूको ब्राउजरहरूलाई लक्षित गर्दै XSS आक्रमण सुरु गर्दछ। साथै, दुर्भावनापूर्ण कोड API सन्देशमा घुसाइन्छ, जस्तै, डाटाबेसबाट वस्तुहरू, रेकर्डहरू मेटाउने आदेशहरू।
सेवा वितरित अस्वीकार (DDoS)
वितरित सेवा अस्वीकार (DDoS) आक्रमणमा, धेरै प्रणालीहरूले लक्षित प्रणाली, सामान्यतया वेब सर्भरहरूको ब्यान्डविथ भर्छन्। API मा DDoS आक्रमणले समवर्ती जडानहरूले भरिएर, वा प्रत्येक अनुरोधमा ठूलो मात्रामा जानकारी पठाएर/अनुरोध गरेर यसको मेमोरी र क्षमतालाई ओझेलमा पार्ने प्रयास गर्दछ। २०१७ को सुरुमा FCC वेबसाइटमा DDoS आक्रमणले टिप्पणी प्रणालीमा ठूलो मात्रामा API अनुरोधहरू जारी गर्न व्यावसायिक क्लाउड सेवाहरू प्रयोग गर्यो। यसले उपलब्ध मेसिन स्रोतहरू खपत गर्यो र मानव टिप्पणीकर्ताहरूलाई भीडभाड गर्यो, अन्ततः वेबसाइट क्र्यास भयो।
DNS अपहरण
डोमेन नेम सर्भर (DNS) अपहरण, जसलाई DNS रिडिरेक्शन पनि भनिन्छ, एक प्रकारको आक्रमण हो जसमा DNS क्वेरीहरू अप्रत्याशित रूपमा दुर्भावनापूर्ण साइटहरूमा रिडिरेक्ट हुन्छन्।
DNS अपहरणको एउटा उदाहरण भनेको जब तपाईं इन्टरनेटमा हुनुहुन्छ र तपाईंले पहुँच गर्न चाहनुभएको वेबसाइटले तपाईंलाई अवांछित पप-अप र विज्ञापनहरूले भरिएको दुर्भावनापूर्ण वेबसाइटमा रिडिरेक्ट गर्छ। यसको पछाडिको मुख्य उद्देश्य राजस्व उत्पन्न गर्नु हो।
DNS अपहरण फिसिङको लागि पनि प्रयोग गर्न सकिन्छ — फिसिङमा, पीडितहरूलाई लक्षित गरिन्छ र आक्रमणकारीहरूले उनीहरूलाई उनीहरूको भुक्तानी प्रमाणहरू जस्ता संवेदनशील जानकारी प्रकट गर्न छल गर्ने प्रयास गर्छन्। फिसिङमा हामीले देख्ने सबैभन्दा सामान्य परिदृश्य भनेको प्रयोगकर्ताहरूलाई वैध भुक्तानी प्रशोधन वेबसाइट जस्तो देखिने वेबसाइटमा निर्देशित गर्ने प्रलोभनको रूपमा इमेल पठाउनु र त्यहाँबाट उनीहरूको जानकारी चोर्नु हो।
हामी क्विक हिलमा हाम्रा एपीआईहरू कसरी सुरक्षित गर्दैछौं?
HTTPS माथि HTTP
ट्रान्सपोर्ट लेयर सेक्युरिटी (TLS) एउटा मानक हो जसले इन्टरनेट जडानलाई गोप्य राख्छ र दुई प्रणालीहरू बीच पठाइएको डेटा इन्क्रिप्टेड र परिमार्जन नगरिएको छ कि छैन भनेर जाँच गर्छ। यदि URL "HTTPS" (हाइपरटेक्स्ट ट्रान्सफर प्रोटोकल सेक्युर) बाट सुरु हुन्छ भने वेबसाइटलाई TLS द्वारा सुरक्षित भनिन्छ।
API आधारित अन्तरक्रियामा TLS आवश्यक छ। API हरू सुरक्षित गर्न 'अनिवार्य' मध्ये एक ट्रान्सपोर्ट लेयर इन्क्रिप्सन हो। यदि TLS छैन भने, 'म्यान-इन-द-मिडल' आक्रमणको जोखिम धेरै उच्च रहन्छ। हामी हाम्रा API हरूमा दुवै TLS प्रयोग गर्छौं, विशेष गरी API हरूसँग सार्वजनिक हुँदा। हामी कडाईका साथ HTTPS प्रयोग गर्छौं।
प्रमाणीकरण
API मा अन्तिम-प्रयोगकर्ता (कलर) को पहिचान निर्धारण गर्न, TLS प्रोटोकल प्रयोग गरेर आधारभूत प्रमाणीकरण लागू गर्न सकिन्छ। यद्यपि, OAuth 2 र OpenID Connect बढी सुरक्षित विकल्पहरू हुन्।
URL हरूमा कहिल्यै पनि जानकारी नदेखाउनुहोस्
URL हरूमा कहिल्यै पनि संवेदनशील वा कमजोर जानकारी नदेखाउनुहोस्।
इनपुट प्यारामिटर प्रमाणीकरण
वास्तविक सेवा प्रशोधन व्यवसाय तर्कमा पुग्नु अघि, पहिलो चरणमा नै अनुरोध प्यारामिटरहरू प्रमाणित गर्नुहोस्। हामी कडा प्रमाणीकरण जाँच गर्छौं र प्रमाणीकरण असफल भएमा तुरुन्तै अनुरोध अस्वीकार गर्छौं।
गुप्तिकरण
एपीआईहरूमा रूपान्तरण गर्दा संवेदनशील र निजी जानकारीको लागि बलियो इन्क्रिप्शनको प्रयोग अत्यधिक सिफारिस गरिन्छ।
हामी बलियो र हल्का इन्क्रिप्शन एल्गोरिथ्म - AES256 प्रयोग गर्छौं।
AES२५६:
उन्नत ईन्क्रिप्शन मानक (AES) अमेरिकी राष्ट्रिय सुरक्षा एजेन्सी (NSA) द्वारा अति गोप्य जानकारीको सुरक्षाको लागि अनुमोदित पहिलो र एकमात्र सार्वजनिक रूपमा पहुँचयोग्य साइफर हो।
आजसम्म, २५६ AES कार्यान्वयन विरुद्ध धेरै कम आक्रमणहरू रिपोर्ट गरिएका छन्। तीमध्ये धेरैजसो साइड-च्यानल आक्रमणहरू थिए (आक्रमण प्रणालीमा साइफरको कार्यान्वयनमा गरिएको थियो र अन्तर्निहित साइफरमा होइन)। यो विश्वास गरिन्छ कि कुञ्जी लम्बाइको डिजाइन र बलले AES एल्गोरिथ्मलाई सुरक्षित गर्दछ र २५६-बिट कुञ्जी लम्बाइ अति-गोप्य जानकारीको लागि आदर्श हो। जब डेटा सुरक्षाको कुरा आउँछ, कोही पनि सम्झौता गर्न चाहँदैनन्, र AES-२५६ आज बजारमा उपलब्ध डेटा इन्क्रिप्शनको सबैभन्दा सुरक्षित विधिहरू मध्ये एक हो।
कुञ्जी विनिमय एल्गोरिदमहरू
प्रमाणीकरण वा इन्क्रिप्शन कुञ्जीहरू साट्न बलियो कुञ्जी विनिमय एल्गोरिदमहरू प्रयोग गर्नुहोस् । यसलाई हार्डकोड गरिएको वा स्थिर गोप्यमा अपनाउनु पर्छ।
गोप्य कुञ्जी आदानप्रदानको लागि, हामी सबैभन्दा बलियो सार्वजनिक कुञ्जी आदानप्रदान विधि प्रयोग गर्छौं जसलाई डिफी हेलम्यान सुरक्षित कुञ्जी-विनिमय भनिन्छ।
डिफी हेलम्यान सुरक्षित कि-एक्सचेन्ज:
डिफी-हेलम्यान कुञ्जी आदानप्रदान जटिल छ। यसले धेरै ठूला संख्याहरू र धेरै गणित प्रयोग गर्दछ। डिफी-हेलम्यान कुञ्जी आदानप्रदान यसको सुरक्षाको आधारको रूपमा एक-तर्फी प्रकार्यहरूमा निर्भर गर्दछ। यी गणनाहरू सरल र एक-तर्फी छन्, तर उल्टो तरिकाले गणना गर्न धेरै गाह्रो छ।
डिफी-हेलम्यानका केही फाइदाहरू:
- प्रेषक र प्राप्तकर्तालाई एकअर्काको पूर्व ज्ञान आवश्यक पर्दैन।
- एकपटक साँचोहरू आदानप्रदान भएपछि डेटाको सञ्चार असुरक्षित च्यानल मार्फत सुरक्षित रूपमा गर्न सकिन्छ।
- गोप्य साँचोको साझेदारी सुरक्षित छ।
टोकन आधारित प्रमाणीकरण
टोकन-आधारित प्रमाणीकरणको फाइदा यो हो कि यसले कमजोर लगइन प्रमाणहरूको सम्भावनालाई हटाउँछ। टोकन भनेको दुई पक्षहरू बीच संवेदनशील जानकारीलाई कम्प्याक्ट र आत्म-निहित तरिकाले प्रसारण गर्न प्रयोग गरिने उच्च-सुरक्षित डेटाको टुक्रा हो। टोकनहरू प्रायः प्रमाणीकरण प्रक्रियाहरूलाई बलियो बनाउन प्रयोग गरिन्छ, चाहे त्यो वेबसाइट वा अनुप्रयोग भित्र होस्।
हामी JWT टोकन आधारित सञ्चार प्रयोग गर्छौं जसमा समावेश छन्:
- प्रयोग गरिएको टोकन र एल्गोरिथ्मको प्रकार परिभाषित गर्ने हेडर।
- प्रयोगकर्ता र अन्य मेटाडेटाको बारेमा जानकारी समावेश गर्ने पेलोड।
- प्रेषकको पहिचान र सन्देशको प्रामाणिकता प्रमाणित गर्ने हस्ताक्षर।
URL हरू
हामी क्वेरी प्यारामिटरहरू प्रयोग गर्नबाट जोगिने भएकाले URL हरूले कुनै पनि संवेदनशील जानकारी खुलासा गर्दैनन् र URL मार्फत कुनै पनि जानकारी खुलासा हुँदैन।
इनपुट प्यारामिटर प्रमाणीकरण
व्यापारिक तर्क कार्यान्वयन हुनुभन्दा पहिले हामीसँग प्रारम्भिक चरणमा बलियो इनपुट प्यारामिटर प्रमाणीकरण छ र हामी सबै सम्भावित अमान्य अनुरोधहरू अस्वीकार गर्छौं।
सुरक्षा बनाम कार्यसम्पादन
आजकल कार्यसम्पादन एउटा विशेषता हो र सुरक्षा एउटा सार हो, त्यसैले अर्कोसँग सम्झौता नगरी दुवै प्राप्त गर्नु धेरै महत्त्वपूर्ण छ। कार्यसम्पादनमा सम्झौता नगरी यो सुरक्षा आवश्यकताहरू पूरा गर्न उच्च-सुरक्षा उपायहरू सहितको हल्का कार्यान्वयन रणनीति छनौट गर्न सकिन्छ।
सह-लेखक प्रफुल्ल प्रकाश रणदिवे हुन्



