close

ठूला-ठूला साइबर आक्रमणमा प्रयोग हुने ‘एसक्यूएल इन्जेक्सन’ के हो, अनि कसरी जोगिने ?

निकास घिमिरे

मंसिर १२, २०८० १४:५३

ठूला-ठूला साइबर आक्रमणमा प्रयोग हुने ‘एसक्यूएल इन्जेक्सन’ के हो, अनि कसरी जोगिने ?

 

मान्नुस् एउटा सुई छ । सामान्य अर्थमा बुझ्दा त्यो सुईको काम के हुन्छ होला ? पक्कै पनि त्यसको काम भनेको रक्तनलीमा औषधि पुर्‍याउनु हो । यसले गर्दा चाँडै औषधि रगतमा मिसिन्छ र त्यसैको प्रभाव छिट्टै बाहिर देखिन्छ । त्यसरी नै यही 'सुई' शब्दलाई अङ्ग्रेजीमा इन्जेक्सन भनिन्छ । कम्प्युटरको भाषामा यसले पनि त्यसरी नै काम गर्छ जसरी सुईमा भएको औषधि तत्कालै रक्तनलीमा पुगेर काम गर्छ । यसमा भने ह्याकरले औषधिको सट्टा विशेष रूपमा तयार पारिएको कोड पठाउँछन् । जसले गर्दा कोडले आफ्नो प्रभाव देखाउँछ र सिस्टम नै उनीहरूको पहुँचमा पुग्छ ।

एउटा अर्को उदाहरण लिऔं । मान्नुस् एउटा मूल्यवान सामान भएको बक्स छ । र, त्यसमा ठूलो ताल्चा झुन्डिएको छ । यसलाई चाबी बिनै कसैलाई खोल्ने चुनौती दिइयो । जोकोहीका लागि त्यो काम पक्कै पनि कठिनाइको विषय हुन्छ । तर, त्यहाँ त्यस्ता सिपालु मान्छे पनि हुन्छन्, जसले फलामको टुक्रा वा सियो प्रयोग गरेर चाबी बिनै त्यो ताल्चा खोलिदिन सक्छन् ।

हो, यसरी नै कम्प्युटरका सन्दर्भमा केही व्यक्तिले त्यस्तो कोड प्रयोग गर्छन्, जसले गर्दा तपाईंको वेबसाइटको सबै डेटा अथवा एड्मिन एक्सेस पनि उसको पहुँचमा हुन्छ । यसलाई एसक्यूएल इन्जेक्सन (SQL Injection (SQLi) भनिन्छ ।

एसक्यूएल इन्जेक्सन साइबर आक्रमणको एउटा प्रकार हो, जहाँ ह्याकरले वेबसाइटलाई त्यसले गर्न नहुने कामहरू गर्न लगाउँछन् । उनीहरूले यो वेबसाइटको कमजोरी पत्ता लगाएर त्यसमा विशेष अर्डर वा कोड प्रविष्ट गर्छन् । यो गाेप्य कोडले वेबसाइटको डेटाबेसलाई बिगारिदिन सक्छ ।

त्यसबाहेक आक्रमणकारीले सोही कोडमार्फत संवेदनशील जानकारीमा पहुँच पाउन, त्यहाँ भएको डेटा परिमार्जन गर्न वा मेटाउन, वा वेबसाइट नै आफ्नो नियन्त्रण लिन पनि सक्छन् । सामान्य अर्थमा बुझ्नुपर्दा आक्रमणकारीले वेबसाइट वा सिस्टममा कमजोरी फेला पारेमा त्यसमा यस्तो कोड राखिदिन्छन्, जसले गर्दा वेबसाइटले गर्न नहुने काम गर्छ ।

विशेषगरी डेटाबेसमा एड्मिनले गरिरहेको काममा पहुँच पाउन, सूचनाहरू परिमार्जन गर्न वा संवेदनशील डेटामा पहुँच पाउन आक्रमणकारीले एसक्यूएल इन्जेक्सन प्रयोग गरेका हुन्छन् । 'OWASP' का अनुसार संसारमा वेबसाइटलाई टार्गेटमा राखेर गरिने आक्रमणमध्ये यो किसिमको साइबर आक्रमण उत्कृष्टमा पार्छ । सबैभन्दा खतरनाक साइबर आक्रमणका घटनामा एसक्यूएस शीर्ष पाँचमा आउँछ ।

विश्वमा भएका ठूला साइबर आक्रमणका घटनामा एसक्यूएल इन्जेक्सन अट्याकको प्रयोग बढी भएको छ । त्यसको एउटा घटना हो, सन् २०१४ को टेस्ला प्रकरण । त्यतिबेला अनुसन्धानकर्ताको एक समूहले टेस्ला मोडेल 'एस' इलेक्ट्रिक कारमा 'सेक्युरिटी फ्ल' (सरक्षा कमजाेरी) फेला पारेको थियो । उक्त कमजोरी कारको वेब इन्टरफेससँग जोडिएको थियो । वेब इन्टरफेसमार्फत गाडीको मालिकले मोबाइल एप वा वेब ब्राउजरमार्फत एड्मिन एक्सेस पाउन सकिन्थ्यो र त्यसबाट ग्राहकको रेकर्डको पहुँच पाइन्थ्यो ।

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

यो अवस्थामा सो कमजोरीका कारण आक्रमणकारीले कारको ढोका अनलक गर्ने, अनावश्यक रूपमा तापक्रम थपघट गर्ने वा वेब इन्टरफेसमा उपलब्ध अन्य फिचरहरू प्रयोग गर्न सक्थे । सो समूहले उक्त कमजोरीका बारेमा टेस्लालाई रिपोर्ट गर्‍यो । पछि टेस्लाको सेक्युरिटी सिस्टमले पनि उक्त कमजोरीलाई समाधान गर्‍यो । 

त्यस्तै एसक्यूएल इन्जेक्सन अट्याकको अर्को उदाहरण हो, 'घोस्टशेल अट्याक' । सन् २०१२ मा 'एटीपी ग्रुप' ह्याकरको एक समूह 'घोस्टशेल'ले एसक्यूएल इन्जेक्सनमार्फत ५३ ओटा विश्वविद्यालयको वेबसाइटमा साइबर आक्रमण गरेको थियो । त्यसबाट विद्यार्थी, संकाय र त्यहाँका स्टाफको ३६ हजारभन्दा बढी व्यक्तिगत डेटाहरू सो समूहले सार्वजनिक गरेको घटना बाहिर आएको थियो ।

यसैगरी सन् २०१९ मा अनलाइन शुटिङ गेमम 'फोर्टनाइट'मा एक सुरक्षा कमजोरी फेला परेको थियो । सो कमजोरीमा एसक्यूएल इन्जेक्सन प्रयोग गरी आक्रमणकारीले अनाधिकारिक रूपमा प्रयोगकर्ताको अकाउन्टमा पहुँच पाउन सक्थे । तर, सो समस्या समयमै पहिचान भयो र समाधान गरियो ।

साथै सन् २००७ मा ह्याकरको एक रुसी समूहले सेभेन एलेभेन (7-eleven) वेबसाइटको डेटा ब्रिच गर्न एसक्यूएल इन्जेक्सनको प्रयोग गरेको थियो । सो ह्याकरको समूहले उक्त घटनामा सेभेन इलेभेन कम्पनीका ९० लाख ग्राहको डेबिट तथा क्रेडिट कार्ड डेटा चोरी गरेको गरेको थियो ।

सो वेबसाइटमा भएको सुरक्षा कमजोरीका कारण उक्त कम्पनीका लाखौं प्रयोगकर्ताको डेटा ह्याकरको हातमा पर्‍यो । सो घटनापछि उक्ट कम्पनीले लाखौं डलर जरिवाना पनि तिर्नुपरेको थियो ।

एसक्यूएल इन्जेक्सनबाटै भएको साइबर आक्रमणको अर्को घटना हो, टर्की सरकारको वेबसाइटमा पहुँच । जुन २०१३ मा एटीपी समूह 'रेडह्याक' ले इस्तानबुल स्पेसल प्रोभेन्सियल एड्मिनिस्ट्रेसन(ioi.gov.tr) मा सुरक्षा कमजोरी फेला पारी एसक्यूएल इन्जेक्सन मार्फत पहुँच पाएको थियो । यसले गर्दा उक्त समूहले आईएसपीएको डेटाबेसमा अनधिकृत पहुँच पायो र त्यसमा सरकारी एजेन्सीले तिर्नुपर्ने ऋणको लिस्ट नै हटाइदियो । उक्त घटनाले संसारभर साइबर सुरक्षा समुदायमा एक किसिमको विवाद उत्पन्न गर्‍यो र सरकारी वेबसाइटहरूमा साइबर आक्रमणको जोखिम उत्तिकै हुन्छ भन्ने घटना सतहमा ल्याइदियो ।

यी घटनाबाट के प्रष्ट हुन्छ भने एसक्यूएल एकै किसिमको साइबर आक्रमणको घटनाका लागि प्रयोग हुँदैन । त्यसबाहेक पनि विभिन्न शैक्षिक संस्था, ईकमर्श प्लेटफर्म, अनलाइन गेमिङ प्लेटफर्म र सरकारी निकायमा पनि यस आक्रमणको जोखिम उत्तिकै हुन्छ ।

एसक्यूएल इन्जेक्सन रोक्नका लागि डेभलपर र र व्यवस्थापक उत्तिकै जिम्मेवार हुन्छन् । डाटाबेस र वेब एप्लिकेसनलाई सही ढङ्गले त्यसमा पनि साइबर सुरक्षाको जोखिमलाई मूल्याङ्कन गर्दै जानुपर्छ । वेबसाइट सुरक्षित राख्नका लागि डेभलपरले तल उल्लेख गरेका विषय ध्यान दिनुपर्छ ।

१) सुरक्षित कोडिङको शैली अपनाउनेः वेबसाइटका लागि कोडिङ लेख्दा सही नियम र पद्धति अपनाउनु पर्छ । र, उक्त कोड ह्याक वा दुरुपयोग हुँदैनन् भन्ने कुरा सुनिश्चित गर्नुपर्छ ।

२) कोड भ्यालिडेसनः प्रयोगकर्ताले सिस्टममा प्रविष्ट गर्ने सूचना सही र सुरक्षित छ वा छैन भन्ने जाँच गरेर पुष्टि गर्नुपर्ने हुन्छ । कुनै पनि ढङ्गले वेबसाइट वा सिस्टममा समस्या आउँदैन भन्ने कुरा सुनिश्चित गर्न डबल डेक गर्नुपर्छ ।

३) प्रयोगकर्ताले इनपुट गरेको डेटा सावधानीपूर्वक राखिएको सुनिश्चित गर्नुपर्छः प्रयोगकर्ताले सिस्टम वा वेबसाइटमा टाइप गरेका जानकारी सावधानीपूर्वक व्यवस्थापन गर्नुपर्छ । यस्तो गर्दा सिस्टममा आउने समस्यालाई न्यूनीकरण गर्न सकिन्छ ।

४) दैनिक रूपमा सेक्युरिटी अडिट र अपडेट गर्नुपर्छः सिस्टममा भएका कमजोरी पत्ता लगाउनका लागि बारम्बार वा दैनिक रूपमा सिस्टम जाँच गरिरहनु पर्छ । यस्तो हुँदा त्यस्तो समस्या ह्याकरले पहिले नै पत्ता लगाएर सिस्टममा ह्याक गर्न नसकुन् । र, त्यस्ता समस्यालाई चाँडोभन्दा चाँडो समाधान गर्नुपर्छ ।

५) ह्याकरले पत्ता लगाउनुभन्दा पहिले नै सिस्टमको समस्या पत्ता लगाएर समाधान गर्नेः सिस्टममा भएको समस्या वा कमजोरी पत्ता लगाएर त्यसलाई समयमै समाधान गर्न सकियो भने वेबसाइटलाई एसक्यूएल इन्जेक्सन अट्याक गरी ह्याक गर्ने आक्रमणकारीबाट जोगाउन सकिन्छ ।

सामान्यतः जब पनि हामी कुनै वेब अट्याकको बारेमा कल्पना गर्छौं त्यतिबेला कुनै व्यक्ति ह्याक भएको घटना मानसपटलमा आउँछ । तर, एसक्यूएल इन्जेक्सनमार्फत हुने साइबर आक्रमणले एउटा प्रयोगकर्ता मात्र नभई पूरै सर्भरलाई नै कम्प्रमाइज गरेको हुन्छ । जसले गर्दा यो पद्धतिबाट ठूलो मात्रामा डेटा लिक भइरहेको हुन्छ । डेभलपरले सावधानी अपनाउनु नै यो किसिमको आक्रमणबाट जोगिन सकिने उत्तम उपाय हो ।

साइबर आक्रमणको चर्चा गर्दा एसक्यूएल इन्जेक्सनको बारेमा बढी बहस हुन्छ । नेपालमा भने एसक्यूएल इन्जेक्सनबाट भएका घटना सतहमा आएका छैनन् । यद्यपि प्रयोगकर्ताको डेटा लिक हुने अधिकांश घटनामा एसक्यूएल इन्जेक्सनकै प्रयोग भएको अनुमान लगाउन सकिन्छ ।

केही महिनाअघि भएको उपनिर्वाचनमा समयमा अनलाइन न्युज पोर्टल उकेरा ह्याक गरेर समाचार मेटेको भन्ने घटना बाहिर आएको थियो । त्यसमा पनि वेबसाइटको कमजोरी फेला पारेर ह्याकरले एसक्यूएल इन्जेक्सन मार्फत साइटमा पहुँच पाएको अनुमान लगाउन सकिन्छ ।

इन्टनेटलाई सुरक्षित रूपमा प्रयोग गर्नु हामी सबैको साझा दायित्व पनि हो । माथि उल्लेख गरिएका विभिन्न तरिकाहरू अपनाएर सुरक्षित रहन सकिन्छ । यसमा पनि विशेषगरी डेभलपर सचेत र सजग हुनुपर्छ ।

सर्भरमा हुने कमजाेरी (लुपहोल) नै एसक्यूएल इन्जेक्सन आक्रमणको प्रमुख कारण हो । एप, वेब तथा सफ्टवेयर विकास गर्दा यस्ता कमजोरी नहुन् भन्नका लागि सही सुरक्षाका उपायहरू अपनाउनुपर्ने हुन्छ ।

(लेखक घिमिरे साइबर सुरक्षा अनुसन्धानकर्मी हुन् ।)

पछिल्लो अध्यावधिक: मंसिर १२, २०८० १४:५३