clickjacking क्या है?

clickjacking क्या है?
clickjacking एक ऐसा attack है जो user को यह सोचकर मूर्ख बनाता है कि वे एक चीज़ पर click कर रहे हैं जब वे वास्तव में दूसरी पर CLICK कर रहे होते हैं। इसका दूसरा नाम, यूजर इंटरफेस (UI) निवारण, क्या हो रहा है इसका बेहतर वर्णन करता है। उपयोगकर्ता सोचते हैं कि वे वेब पेज के सामान्य UI का उपयोग कर रहे हैं, लेकिन वास्तव में control में एक छिपा हुआ UI है; दूसरे शब्दों में, UI का निवारण कर दिया गया है। जब उपयोगकर्ता किसी ऐसी चीज़ पर क्लिक करते हैं जो उन्हें लगता है कि सुरक्षित है, तो छिपा हुआ UI एक अलग क्रिया करता है।
HTML frames (iframes) के लिए attack संभव है, frame के माध्यम से अन्य वेब पेजों के भीतर वेब पेज प्रदर्शित करने की क्षमता। यदि कोई वेब पेज खुद को एक frame के भीतर display करने की permission देता है, तो एक attacker मूल वेब पेज को एक छिपी, पारदर्शी परत के साथ अपने स्वयं के java-script और UI elements के साथ कवर कर सकता है। attacker फिर user को malicious page पर जाने के लिए प्रेरित करता है, जो ठीक उसी तरह दिखता है जैसे user जानते हैं और उस पर भरोसा करते हैं। कोई संकेत नहीं है कि मूल साइट पर स्तरित एक छिपा हुआ UI है। उपयोगकर्ता मूल साइट से किसी विशेष कार्रवाई की अपेक्षा करते हुए किसी link या बटन पर क्लिक करते हैं, और इसके बजाय हमलावर की script चलती है। लेकिन attacker की script यह दिखाने के लिए अपेक्षित कार्रवाई भी कर सकती है कि कुछ भी गलत नहीं हुआ है।
clickjacking अपने आप में attack का अंतिम लक्ष्य नहीं है; यह users को यह सोचने के लिए कि वे कुछ सुरक्षित कर रहे हैं, किसी अन्य हमले को शुरू करने का एक साधन मात्र है। वेब पेजों के माध्यम से वास्तविक हमला वस्तुतः कुछ भी संभव हो सकता है। यह दुर्भावनापूर्ण कार्रवाइयों से लेकर, जैसे कि malware इंस्टॉलिंग करना या credentials चोरी करना, और अधिक अहानिकर चीजों तक, जैसे कि असंबंधित साइटों पर क्लिक आंकड़े बढ़ाना, साइटों पर विज्ञापन राजस्व बढ़ाना, फेसबुक पर पसंद हासिल करना, या YouTube वीडियो के बढ़ते दृश्य।
क्या clickjacking के खिलाफ कोई बचाव है?

clickjacking के खिलाफ कोई सटीक बचाव नहीं है। लेकिन आपके जोखिम को कम करने के लिए आप कुछ कदम उठा सकते हैं। client side पर, java-script को disable करना प्रभावी है, लेकिन चूंकि बहुत सारी साइटें java-script पर निर्भर करती हैं, इसलिए इसे बंद करने से कई साइटें अनुपयोगी हो जाती हैं। कुछ व्यावसायिक उत्पाद हैं जो iframes के वास्तविक उपयोग को प्रभावित न करने का प्रयास करते हुए सुरक्षा प्रदान कर सकते हैं। यह एक संगठन के भीतर अच्छी तरह से काम कर सकता है, जहां उत्पादों को कर्मचारी desktop पर रोल आउट किया जा सकता है, लेकिन यह संगठन की वेबसाइटों का उपयोग करने वाले ग्राहकों की सुरक्षा के लिए कुछ नहीं करता है।
X-Frame-Options क्या हैं?
एक अन्य विकल्प X-Frame-Options HTTP शीर्षलेख का उपयोग करना है। यह किसी एप्लिकेशन को यह निर्दिष्ट करने की अनुमति देता है कि क्या फ्रेम का उपयोग केवल DENY मान के माध्यम से अस्वीकार कर दिया गया है, या फ़्रेम के उपयोग की अनुमति SAMEORIGIN या ALLOW-FROM मानों द्वारा है। मुख्यधारा के आधुनिक ब्राउज़र इस हेडर विकल्प का समर्थन करते हैं, लेकिन अन्य ब्राउज़र नहीं कर सकते हैं।
Possible X-Frame-Options:
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
X-Frame-Options: ALLOW-FROM https://example.com/
Content Security Policy (CSP) क्या है?
clickjacking रक्षा के लिए अंतिम और अधिक आधुनिक विकल्प Content Security Policy (CSP) और इसके फ्रेम-पूर्वजों के निर्देश का उपयोग करना है। यह निर्देश एप्लिकेशन डेवलपर को एक्स-फ़्रेम-विकल्प के समान सभी फ़्रेम उपयोग को अस्वीकार करने या निर्दिष्ट करने की अनुमति देता है जहां इसकी अनुमति है। CSP सभी ब्राउज़रों में उपलब्ध नहीं है, और ब्राउज़र प्लग इन और ऐड-ऑन पॉलिसी को बायपास करने में सक्षम हो सकते हैं। यदि एक्स-फ़्रेम-विकल्प शीर्षलेख और सीएसपी फ़्रेम-पूर्वजों दोनों का उपयोग किया जाता है, तो ब्राउज़रों को सीएसपी के निर्देशों को प्राथमिकता देनी चाहिए, लेकिन सभी नहीं।
संभावित सीएसपी फ्रेम-पूर्वज सेटिंग्स:
Content-Security-Policy: frame-ancestors ‘none’
Content-Security-Policy: frame-ancestors ‘self’
Content-Security-Policy: frame-ancestors example.com
चूंकि इनमें से कोई भी बचाव पूर्ण नहीं है, इसलिए गहन रक्षा एक अच्छा अभ्यास है, और आपकी वेबसाइटों पर तीनों बचावों का उपयोग करने में कुछ भी गलत नहीं है।