कंप्यूटर वायरस
कंप्यूटर वायरस[1] एक प्रकार का कंप्यूटर प्रोग्राम है, जो निष्पादित होने पर, अन्य कंप्यूटर प्रोग्रामों को संशोधित करके स्वयं को दोहराता है और अपनी कंप्यूटर भाषा में कोड अन्तःक्षेप करता है।[2][3] यदि यह प्रतिकृति सफल हो जाती है, तो प्रभावित क्षेत्रों को कंप्यूटर वाइरस से संक्रमित माना जाता है, जो जैविक वायरस से प्राप्त एक रूपक है। [4] कंप्यूटर वायरस को सामान्यतः कंप्यूटर प्रोग्राम की आवश्यकता होती है।[5] होस्ट प्रोग्राम में वायरस अपना कोड लिखता है। जब प्रोग्राम सम्पादित होता है, तो लिखित वायरस प्रोग्राम को पहले निष्पादित किया जाता है, जिससे संक्रमण और क्षति होती है। एक कंप्यूटर वायरस को होस्ट प्रोग्राम की आवश्यकता नहीं होती है, क्योंकि यह एक स्वतंत्र प्रोग्राम या कोड चंक है। इसलिए, यह कंप्यूटर प्रोग्राम द्वारा प्रतिबंधित नहीं है, लेकिन स्वतंत्र रूप से चल सकता है और सक्रिय रूप से क्षति पंहुचा सकता है।[6][7] वायरस लेखक सोशल इंजीनियरिंग(सुरक्षा) भ्रम का उपयोग करते हैं और प्रारंभिक रूप से सिस्टम को संक्रमित करने और वायरस फैलाने के लिए भेद्यता(कंप्यूटिंग) के विस्तृत ज्ञान का लाभ उठाते हैं। एंटीवायरस सॉफ्टवेयर से बचने के लिए वायरस जटिल एंटी-डिटेक्शन/स्टील्थ रणनीतियों का उपयोग करते हैं।[8] वायरस बनाने के उद्देश्यों में आय प्राप्त करना सम्मिलित हो सकता है(उदाहरण के लिए, रैंसमवेयर के साथ), एक राजनीतिक संदेश भेजने की इच्छा, व्यक्तिगत मनोरंजन, यह प्रदर्शित करने के लिए कि सॉफ्टवेयर में एक भेद्यता उपलब्ध है, अंतर्ध्वंस और क्षति से बचाव के लिए, या केवल इसलिए कि वे साइबर सुरक्षा प्रकरणों, कृत्रिम जीवन और विकासवादी एल्गोरिदम का अन्वेषण करना चाहते हैं।[9] कंप्यूटर वायरस हर साल अरबों डॉलर की आर्थिक क्षति का कारण बनते हैं।[10] प्रतिक्रिया में, एंटीवायरस सॉफ़्टवेयर का एक उद्योग विभिन्न ऑपरेटिंग सिस्टम के उपयोगकर्ताओं को वायरस सुरक्षा की बिक्री या मुक्त रूप से वितरण करने के लिए तैयार हो गया है।[11]
इतिहास
स्व-प्रतिकृति कंप्यूटर प्रोग्राम के सिद्धांत पर पहला शैक्षणिक कार्य[12] 1949 में जॉन वॉन न्यूमैन द्वारा किया गया था जिन्होंने जटिल ऑटोमेटा के सिद्धांत और संगठन के बारे में इलिनोइस विश्वविद्यालय में व्याख्यान दिया था। वॉन न्यूमैन के काम को बाद में स्व-पुनरुत्पादन ऑटोमेटा के सिद्धांत के रूप में प्रकाशित किया गया था। अपने निबंध में वॉन न्यूमैन ने वर्णन किया कि कैसे एक कंप्यूटर प्रोग्राम को स्वयं को पुन: उत्पन्न करने के लिए डिज़ाइन किया जा सकता है।[13] स्व-पुनरुत्पादन कंप्यूटर प्रोग्राम के लिए वॉन न्यूमैन के डिजाइन को दुनिया का पहला कंप्यूटर वायरस माना जाता है, और उन्हें कंप्यूटर वायरोलॉजी का सैद्धांतिक जनक माना जाता है।[14] 1972 में, वीथ रिसाक ने स्व-प्रतिकृति पर वॉन न्यूमैन के काम पर सीधे निर्माण किया, अपने लेख को न्यूनतम सूचना विनिमय के साथ स्व-पुनरुत्पादन ऑटोमेटा प्रकाशित किया।[15] लेख सीमेंस 4004/35 कंप्यूटर सिस्टम के लिए असेंबलर(कंप्यूटर प्रोग्रामिंग) प्रोग्रामिंग भाषा में लिखे गए पूरी तरह कार्यात्मक वायरस का वर्णन करता है। 1980 में जुरगेन क्रॉस ने डॉर्टमुंड विश्वविद्यालय में अपनी डिप्लोमा थीसिस सेलबस्ट्रेप्रोड्यूक्शन बीई प्रोग्राममेन(कार्यक्रमों का स्व-पुनरुत्पादन) लिखा था।[16] अपने काम में क्रॉस ने माना कि कंप्यूटर प्रोग्राम जैविक वायरस के समान व्यवहार कर सकते हैं।
क्रीपर(कार्यक्रम) का पहली बार 1970 के दशक के प्रारम्भ में इंटरनेट के अग्रदूत ARPANET पर पता चला था।[17] क्रीपर 1971 में बीबीएन टेक्नोलॉजीज में बॉब थॉमस द्वारा लिखित एक प्रायोगिक स्व-प्रतिकृति कार्यक्रम था।[18] क्रीपर ने टेनेक्स(ऑपरेटिंग सिस्टम) ऑपरेटिंग सिस्टम चलाने वाले डिजिटल उपकरण निगम पीडीपी-10 कंप्यूटर को संक्रमित करने के लिए ARPANET का उपयोग किया।[19] क्रीपर ने ARPANET के माध्यम से पहुंच प्राप्त की और स्वयं को रिमोट सिस्टम में कॉपी किया जहां संदेश दिया कि, मैं क्रीपर हूं। पकड़ सको तो पकडो! प्रदर्शित किया गया था।[20] रीपर प्रोग्राम क्रीपर को हटाने के लिए बनाया गया था।[21]
1982 में, एल्क क्लोनर नामक एक प्रोग्राम वाइल्ड (WILD) में दिखाई देने वाला पहला पर्सनल कंप्यूटर वायरस था- अर्थात, एक कंप्यूटर या कंप्यूटर लैब के बाहर जहां इसे बनाया गया था।[22] 1981 में पिट्सबर्ग के पास माउंट लेबनान हाई स्कूल के नौवें ग्रेडर रिचर्ड स्क्रेंटा द्वारा लिखा गया, यह स्वयं को एप्पल डॉस 3.3 (Apple DOS) ऑपरेटिंग सिस्टम से जोड़ता है और फ्लॉपी डिस्क के माध्यम से फैलता है।[22]इसके 50वें प्रयोग पर एल्क क्लोनर वायरस सक्रिय हो जाएगा, पर्सनल कंप्यूटर को संक्रमित करेगा और एल्क क्लोनर: द प्रोग्राम विद ए पर्सनैलिटी का प्रारम्भ करते हुए एक छोटी कविता प्रदर्शित करेगा।
1984 में दक्षिणी कैलिफोर्निया विश्वविद्यालय से फ्रेड कोहेन ने अपना प्रकाशन कंप्यूटर वायरस - थ्योरी एंड एक्सपेरिमेंट्स लिखा।[23] कोहेन के सलाहकार लियोनार्ड एडलमैन द्वारा शुरू की गई एक शब्द, स्व-पुनरुत्पादन कार्यक्रम को स्पष्ट रूप से एक वायरस कहने वाला यह पहला प्रकाशन था। 1987 में, फ्रेड कोहेन ने एक प्रदर्शन प्रकाशित किया कि ऐसा कोई कलन विधि नहीं है जो सभी संभावित वायरस का पूरी तरह से पता लगा सके।[24] फ्रेड कोहेन का सैद्धांतिक संपीड़न वायरस [25] एक वायरस का उदाहरण था जो दुर्भावनापूर्ण सॉफ़्टवेयर(मैलवेयर) नहीं था, लेकिन कथित रूप से परोपकारी(सुविचारित) था। हालांकि, एंटीवायरस अनुभवी उदार वायरस की अवधारणा को स्वीकार नहीं करते हैं, क्योंकि किसी भी वांछित कार्य को वायरस को सम्मिलित किए बिना लागू किया जा सकता है(स्वचालित संपीड़न, उदाहरण के लिए, उपयोगकर्ता की पसंद पर विंडोज(ऑपरेटिंग सिस्टम) के तहत उपलब्ध है)। परिभाषा के अनुसार कोई भी वायरस कंप्यूटर में अनाधिकृत परिवर्तन करेगा, जो अवांछनीय है, भले ही कोई नुकसान न हुआ हो या उसका इरादा न हो। डॉ सोलोमन के वायरस एनसाइक्लोपीडिया का पहला पृष्ठ वायरस की अवांछनीयता की व्याख्या करता है, यहां तक कि वे भी जो निर्माणकर्ता के अलावा कुछ नहीं करते हैं।[26][27] 1984 में उपयोगकर्ता नियंत्रण के तहत आभासी एपीएल(प्रोग्रामिंग भाषा) दुभाषिया प्रदान करने के लिए वायरस फ़ंक्शंस का उपयोग शीर्षक के तहत जे.बी. गुन द्वारा उपयोगी वायरस कार्यात्मकताओं का वर्णन करने वाला एक लेख प्रकाशित किया गया था।[28] वाइल्ड में पहला आईबीएम पीसी संगत वायरस एक प्रारंभिक क्षेत्र वायरस था जिसे ब्रेन(कंप्यूटर वायरस) कहा जाता था|(सी)ब्रेन,[29] लाहौर में अमजद फारूक अल्वी और बासित फारूक अल्वी द्वारा 1986 में बनाया गया। लाहौर, पाकिस्तान, कथित तौर पर उनके द्वारा लिखे गए सॉफ़्टवेयर की अनधिकृत नकल को रोकने के लिए।[30] माइक्रोसॉफ्ट विंडोज को विशेष रूप से लक्षित करने वाला पहला वायरस, WinVir की खोज अप्रैल 1992 में, विंडोज 3.0 के रिलीज़ होने के दो साल बाद हुई थी।[31] दो एपीआई पर निर्भर होने के अतिरिक्त वायरस में कोई विंडोज एपीआई सबरूटीन नहीं था। कुछ साल बाद, फरवरी 1996 में, वायरस लिखने वाले दल VLAD के ऑस्ट्रेलियाई हैकरों ने बिज़ैच वायरस(बोज़ा वायरस के रूप में भी जाना जाता है) बनाया, जो विंडोज 95 को लक्षित करने वाला पहला ज्ञात वायरस था। 1997 के अंत में एन्क्रिप्टेड, मेमोरी-रेजिडेंट चुपके वायरस Win32.कैबनेस जारी किया गया था - पहला ज्ञात वायरस जिसने विंडोज NT को लक्षित किया(यह विंडोज 3.0 और विंडोज 9x होस्ट को भी संक्रमित करने में सक्षम था)।[32] यहां तक कि घरेलू कंप्यूटर भी वायरस से प्रभावित थे। कमोडोर अमिगा पर दिखाई देने वाला पहला एससीए(कंप्यूटर वायरस) नामक एक बूट अचल वायरस था, जिसे नवंबर 1987 में खोजा गया था।[33]
डिजाइन
भाग
एक कंप्यूटर वायरस में सामान्यतः तीन भाग होते हैं: संक्रमण तंत्र, जो नई फ़ाइलों को ढूंढता और संक्रमित करता है, ट्रिगर, जो यह निर्धारित करता है कि पेलोड को कब सक्रिय करना है, और पेलोड, जो निष्पादित करने के लिए दुर्भावनापूर्ण कोड है।[34]
- संक्रमण तंत्र
- इसे संक्रमण वेक्टर भी कहा जाता है, इस प्रकार वायरस फैलता है। कुछ वायरस में एक खोज एल्गोरिद्म होता है, जो डिस्क पर फ़ाइलों का पता लगाता है और उन्हें संक्रमित करता है।[35] अन्य वायरस फाइलों को चलाते समय उन्हें संक्रमित कर देते हैं, जैसे जेरूसलम(कंप्यूटर वायरस)।
- ट्रिगर
- इसे तर्क बम के रूप में भी जाना जाता है, यह वायरस का वह हिस्सा है जो उस स्थिति को निर्धारित करता है जिसके लिए पेलोड(कंप्यूटिंग) सक्रिय होता है।[36] यह स्थिति एक विशेष तिथि, समय, किसी अन्य प्रोग्राम की उपस्थिति, डिस्क भंडारण पर आकार सीमा से अधिक हो सकती है,[37] या एक विशिष्ट फ़ाइल खोलना।[38]
- पेलोड
- पेलोड वायरस जो दुर्भावनापूर्ण गतिविधि को अंजाम देता है। दुर्भावनापूर्ण गतिविधियों के उदाहरणों में फ़ाइलों को नुकसान पहुँचाना, गोपनीय जानकारी की चोरी या संक्रमित सिस्टम की जासूसी करना सम्मिलित है।[39][40] पेलोड गतिविधि कभी-कभी ध्यान देने योग्य होती है क्योंकि इससे सिस्टम धीमा या जम सकता है।[35]कभी-कभी नीतभार अविनाशी होते हैं और उनका मुख्य उद्देश्य किसी संदेश को अधिक से अधिक लोगों तक पहुँचाना होता है। इसे वायरस का संजाल कहा जाता है।[41]
चरण
वायरस चरण कंप्यूटर वायरस का वस्तु जीवनकाल है, जिसे जीवविज्ञान के समानता का उपयोग करके वर्णित किया गया है। इस जीवन चक्र को चार चरणों में विभाजित किया जा सकता है:
- निष्क्रिय चरण
- इस चरण के दौरान वायरस प्रोग्राम निष्क्रिय रहता है। वायरस प्रोग्राम लक्ष्य उपयोगकर्ता के कंप्यूटर या सॉफ़्टवेयर तक पहुँचने में कामयाब रहा है, लेकिन इस चरण के दौरान, वायरस कोई गतिविधि नहीं करता है। वायरस अंततः ट्रिगर द्वारा सक्रिय हो जाएगा जो बताता है कि कौन सी घटना वायरस को निष्पादित करेगी। सभी वायरसों में यह अवस्था नहीं होती है।[35]; प्रसार चरण: वायरस प्रचार करना शुरू कर देता है, जो स्वयं को गुणा और दोहराता है। वायरस स्वयं की एक प्रति अन्य प्रोग्रामों में या डिस्क पर कुछ सिस्टम क्षेत्रों में रखता है। प्रतिलिपि प्रचारित संस्करण के समान नहीं हो सकती है; आईटी अनुभवीों और एंटी-वायरस सॉफ़्टवेयर द्वारा पता लगाने से बचने के लिए वायरस प्रायः रूप बदलते हैं या बदलते हैं। प्रत्येक संक्रमित कार्यक्रम में अब वायरस का एक क्लोन(कंप्यूटिंग) होगा, जो स्वयं प्रसार चरण में प्रवेश करेगा।[35]; ट्रिगरिंग चरण: एक निष्क्रिय वायरस सक्रिय होने पर इस चरण में चला जाता है, और अब वह कार्य करेगा जिसके लिए उसका इरादा था। ट्रिगरिंग चरण विभिन्न प्रकार की सिस्टम घटनाओं के कारण हो सकता है, जिसमें यह संख्या सम्मिलित है कि वायरस की इस प्रति ने स्वयं की प्रतियां कितनी बार बनाई हैं।[35]ट्रिगर तब हो सकता है जब संदेह को कम करने के लिए किसी कर्मचारी को उनके रोजगार से समाप्त कर दिया जाता है या समय की एक निर्धारित अवधि बीत जाने के बाद।
- निष्पादन चरण
- यह वायरस का वास्तविक कार्य है, जहां पेलोड जारी किया जाएगा। यह विनाशकारी हो सकता है जैसे डिस्क पर फ़ाइलों को हटाना, सिस्टम को क्रैश करना, या फ़ाइलों को डिलीट करना या अपेक्षाकृत हानिरहित जैसे कि स्क्रीन पर विनोदी या राजनीतिक संदेश पॉप अप करना।[35]
लक्ष्य और प्रतिकृति
कंप्यूटर वायरस अपने कंप्यूटर और सॉफ्टवेयर पर विभिन्न उप-प्रणालियों को संक्रमित करते हैं।[42] वायरस को वर्गीकृत करने का एक तरीका यह विश्लेषण करना है कि क्या वे बाइनरी निष्पादन योग्य(जैसे .EXE या .COM फ़ाइलें), डेटा फ़ाइलें(जैसे माइक्रोसॉफ्ट वर्ड दस्तावेज़ या PDF फ़ाइलें), या होस्ट की हार्ड ड्राइव के बूट अचल में(या इन सभी का कुछ संयोजन)।[43][44] एक मेमोरी-रेजिडेंट वायरस(या बस रेजिडेंट वायरस) निष्पादित होने पर स्वयं को ऑपरेटिंग सिस्टम के हिस्से के रूप में स्थापित करता है, जिसके बाद यह कंप्यूटर के बूट होने से लेकर बंद होने तक रैम में रहता है। निवासी वायरस इंटरप्ट हैंडलिंग कोड या अन्य फ़ंक्शन को ओवरराइट करते हैं, और जब ऑपरेटिंग सिस्टम लक्ष्य फ़ाइल या डिस्क क्षेत्र तक पहुंचने का प्रयास करता है, तो वायरस कोड अनुरोध को रोकता है और लक्ष्य को संक्रमित करते हुए नियंत्रण प्रवाह को प्रतिकृति मॉड्यूल पर पुनर्निर्देशित करता है। इसके विपरीत, एक गैर-स्मृति-निवासी वायरस(या अनिवासी वायरस), जब निष्पादित किया जाता है, लक्ष्य के लिए डिस्क को स्कैन करता है, उन्हें संक्रमित करता है, और फिर बाहर निकलता है(अर्थात यह क्रियान्वित होने के बाद स्मृति में नहीं रहता है)।[45] कई सामान्य एप्लिकेशन, जैसे कि