जब आपकी कंपनी पासवर्ड एन्क्रिप्ट नहीं करती है तो क्या करें


13

पृष्ठभूमि

मुझे एक कंपनी को उनके सर्वर को बनाए रखने में मदद करने के लिए अनुबंधित किया गया है। मैं कुछ मामूली PHP परियोजनाओं पर काम करता हूं, लेकिन प्रदर्शन के मुद्दों पर भी देखता हूं और हाल ही में, हैकर्स के लिए लॉग स्कैन करता हूं।

ये लोग कुछ समय से अपना सर्वर चला रहे हैं और मेरे पास इसके पिछले पैरों पर एक विरासत अनुप्रयोग है। यह मैजिक कोट्स, ग्लोबल वैरिएबल्स (जिसे $idओवरराइट करने की अनुमति देता है $_GET['id']) का उपयोग करता है। कुछ उदाहरणों में उनकी एकमात्र सुरक्षा के रूप में .htaccess का उपयोग करें, आप इसे नाम देते हैं। एक सुरक्षा और प्रोग्रामिंग दुःस्वप्न।

हमें अतीत में हैक किया गया है, ज्यादातर SQL इंजेक्शन के साथ, जो SLEEP(99999999)कमांड चलाएगा और डॉस-हमले के रूप में कार्य करेगा। सौभाग्य से वे "छोटी बॉबी टेबल" नहीं चलाते थे,

http://xkcd.com/327/

XKCD: http://xkcd.com/327/

इसलिए मैंने mysql_query()पीडीओ लेनदेन से उनके कमजोर एसक्यूएल बयान (मायसक्ली नहीं) को फिर से लिखा । मैं भी के लिए प्रश्नों का विश्लेषण कर रहा हूँ SLEEPऔर UNIONहै, जो हम प्रयोग नहीं करते, लेकिन इंजेक्शन है। अब तक सब ठीक है।

नवीनतम अंक

हाल ही में हमें बताया गया है कि यूजर्स के लिए डीबी में रिकॉर्ड बदल रहे हैं, जैसे कि उनके ई-मेल पते जो संभवत: स्पैमर्स द्वारा बनाए गए हैं।

मैंने देखा कि उनके स्तंभों में एक last_modifiedकॉलम नहीं था , इसलिए हम यह भी नहीं जान पाए कि उन्हें कब बदला जा रहा है, अकेले कौन जाने। मैंने उस कॉलम को जोड़ा, लेकिन यह मुश्किल से एक पहला कदम है।

जब मैं इस तालिका को देख रहा था, मैंने देखा कि पासवर्ड न तो नमकीन थे और न ही हैशेड, बस प्लेनटेक्स्ट के रूप में सहेजा गया था।

ग्राहक संचार

मैं एक पागल की तरह अपनी बाहों को बहाए बिना, एक ठेकेदार के रूप में पूरी स्थिति के बारे में उनसे कैसे संपर्क कर सकता हूं? कोई सुझाव? मैं एक शांत दृष्टिकोण सोच रहा था,

    अंक 1
        सार
        यह एक मुद्दा क्यों है
        अगर यह तय नहीं हुआ तो क्या हो सकता है
        सुझाया गया ठीक

    ISSUE # 2
        सार
        यह एक मुद्दा क्यों है
        अगर यह तय नहीं हुआ तो क्या हो सकता है
        सुझाया गया ठीक
        

मेरा विचार है, सादे पाठ पासवर्डों की परवाह किए बिना जो एक बड़े पैमाने पर नहीं है। यदि आपने सभी प्रश्नों को पीडीओ में बदल दिया है और तैयार किए गए कथनों का उपयोग कर रहे हैं, जब तक कि आपके ईमेल ect अनुभाग में कोई परिवर्तन न हो। उन्हें एक ईमेल पते को परिवर्तित करने के लिए SQL क्वेरी को निष्पादित करने में असमर्थ होना चाहिए ect
Liam Sorsby

1
मैंने पीडीओ को सभी / प्रश्न / प्रश्न नहीं बदले, क्षमा करें, मैंने उन लोगों को बदल दिया जिन्हें हमने पाया था कि वे SQL इंजेक्शन से प्रभावित हो रहे थे।
बाफरोमा

क्या एक बेहतर समाधान यह होगा कि पीडीओ क्लास को जोड़ा जाए और फिर उस साइट को लागू किया जाए? फिर हैशिंग पासवर्ड के बारे में सोचें, और एक नमक का उपयोग करें, लेकिन शायद यह थोड़ा समय लेने वाला है क्योंकि आप कहते हैं कि यह एक "लीगेसी" ऐप है, जिसमें मुझे लगता है कि इसमें कुछ उपयोगकर्ता हैं।
लियाम सोर्स्बी

5
मैं कहूंगा कि आपके 'क्या हो सकता है' को 'क्या हुआ है' को संशोधित करने के बाद से वे पहले से ही हैक हो चुके हैं और उपयोगकर्ता क्रेडेंशियल्स को हैकर्स के हाथों में छोड़ दिया गया है।
जेम्स स्नेल

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

जवाबों:


15

आपके द्वारा सुझाया गया शांत दृष्टिकोण सबसे अच्छा होगा। यह इंगित करते हुए कि जब यह डेटा उजागर हो जाता है, तो आपके अधिकांश उपयोगकर्ता पासवर्ड पुन: उपयोग के कारण पहचान की चोरी की चपेट में आ जाएंगे। यह इंगित करने के लिए एक बहुत अच्छा समय होगा कि यह वही मुद्दा है जो लक्षित को प्रभावित करता है (यह मानते हुए कि कंपनी लक्ष्य नहीं है)। और आपके प्रबंधक को इसे बदलने के लिए बहुत ग्रहणशील होना चाहिए।

डेटा के साथ वैधता के संबंध में, मुझे विश्वास नहीं है कि उपयोगकर्ता नाम / पासवर्ड को CC डेटा, व्यक्तिगत जानकारी आदि के समान माना जाता है, हालांकि यह इस बात पर निर्भर कर सकता है कि आपके उपयोगकर्ताओं के लिए आपके पास क्या जानकारी है। मैं एक वकील नहीं हूं और इन पहलुओं को आपके रहस्योद्घाटन में सबसे अच्छा लाया जाएगा और वैधता निर्धारित करने के लिए आपकी कंपनियों को कानूनी विभाग में लाया जाना चाहिए।

https://en.wikipedia.org/wiki/Information_privacy_law

और आपके पास यह एक्सकेसीडी भी आपकी मदद करने के लिए है:

यहाँ छवि विवरण दर्ज करें


4

यह वास्तव में दर्शकों पर निर्भर करता है जिसमें आप इसके साथ संपर्क करने की कोशिश कर रहे हैं। मैंने उन गंभीर सुरक्षा मुद्दों वाली कंपनियों में काम किया है जैसे आप अभी तक कह रहे हैं कि उन्होंने इसे तब तक सुनने से इनकार कर दिया जब तक कि मैंने उन्हें नहीं दिखाया।

एक दृष्टिकोण, यदि संभव हो, तो मूल रूप से एक साथ रखना है जो आप करने का इरादा कर रहे हैं, जैसा कि इन हैक्स में पहले से ही संभवत: हो चुका है। यदि आपके दर्शक गैर-तकनीकी हैं, तो आपको संभवतः व्यवसाय लागत को इंगित करने की आवश्यकता है जो ये समझौता हो सकता है। स्पष्ट रूप से हैक किए गए खाते आपके सिस्टम में विश्वसनीयता और आपके उत्पाद के कथित ग्राहक मूल्य को कम करते हैं। उपयोगकर्ताओं के लिए सादे पाठ पासवर्ड और ईमेल पतों के साथ एक समझौता प्रणाली का उल्लेख नहीं करना एक गंभीर लहर का कारण बन सकता है।

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

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


2

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

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

व्यक्तिगत अनुभव से मुझे लगता है कि जब भी मैं एक नए नियोक्ता या ग्राहक के लिए काम करना शुरू करता हूं, तो परिदृश्यों और अपेक्षाओं पर चर्चा करने से आपके हिस्से पर बहुत अधिक तनाव हो सकता है, उदाहरण के लिए: यदि मुझे कोई सुरक्षा समस्या मिलती है जिसे मैं ठीक कर सकता हूं तो आप खुश होंगे मुझे हर बार आपके पास आए बिना इस काम को पूरा करने और केवल संदिग्ध उल्लंघनों / घटनाओं के बारे में सूचित करने के लिए? वे लगभग हमेशा इस बात के लिए हाँ कहेंगे क्योंकि उनके दृष्टिकोण से वे सुरक्षा या कंप्यूटर सामग्री के बारे में चिंता करने में दिलचस्पी नहीं रखते हैं - यही कारण है कि उन्होंने आपको काम पर रखा है! शायद यह उस सवाल का जवाब नहीं देता जिस तरह से आप उम्मीद कर रहे थे लेकिन मुझे उम्मीद है कि यह विचार के लिए भोजन देता है। आप सभी को शुभकामनाएं और आशा है कि यह मुद्दा ठीक हो जाएगा!


यह बहुत अच्छा जवाब है। कभी-कभी "फ्रंट-लाइन निर्णय निर्माताओं" के साथ मुद्दों को लाने से यह अधिक घबराहट का कारण बनता है और यह सिर्फ पर्दे के पीछे इसे ठीक करने के लिए अधिक स्मार्ट लगता है। मुझे यह पसंद नहीं है कि जो मेरे वेतन का भुगतान करता है, उसके पीछे काम करना पसंद करता है लेकिन व्यक्तिगत देयता का मुद्दा एक महत्वपूर्ण तर्क है। मैं आसानी से पासवर्ड + हैश कर सकता है और तब सब कुछ खत्म हो जाने पर ओपेंक्स्ट पासवर्ड कॉलम को हटा सकता है। हालांकि, सबसे बड़ी समस्या यह है कि पासवर्ड को पहले ही देखा जा सकता है और कब्जा कर लिया गया है।
bafromca

दुर्भाग्यपूर्ण वास्तविकता यह है कि समय से पहले ब्रीच के लिए फिर से जारी नहीं किया जा सकता है, इसलिए जबकि व्यवसाय को शायद यह तय करने की आवश्यकता होगी कि क्या वे ब्रीच के अपने ग्राहकों को सूचित करते हैं या नहीं, मेरे लिए सबसे महत्वपूर्ण बात हमेशा आगे को रोकने के लिए कार्रवाई की गई है उल्लंघनों। यदि निर्देशक किसी ब्रीच के उपयोगकर्ताओं को सूचित नहीं करना चाहते हैं, तो आप इसके बजाय ग्राहकों को एक संदेश के साथ लॉगिन करने के बाद संकेत दे सकते हैं जैसे 'हमारी वेबसाइट सुरक्षा में सुधार के बाद अब हमें आपको ऊपरी मामले, निचले मामले और संख्याओं सहित अधिक सुरक्षित पासवर्ड चुनने की आवश्यकता है। और लंबाई में न्यूनतम 8 वर्ण: '।
रिचहॉलस्टोक 17

0

निश्चित रूप से यदि ग्राहक का ईमेल पता बदलना पहले से ही हो रहा है, और इसे एक समस्या माना जाता है - तो पासवर्ड बदलने की क्षमता भी एक समस्या है।

अब, यदि आपने भविष्य में ऐसा होने से रोकने के लिए DB को पर्याप्त रूप से सुरक्षित कर लिया है, तो यह मौका कि कोई भी उपयोगकर्ता के पासवर्ड को संपादित कर सकता है, वैसे ही तय हो गया है और आपको केवल इस बात पर विचार करना है कि क्या कोई अब पासवर्ड पढ़ सकता है।

बेशक अगर वे कर सकते हैं, या अगर ( अप्रत्याशित घटना में) कि आप पूरी तरह से डीबी सुरक्षित नहीं है, तो निश्चित रूप से पासवर्ड एन्क्रिप्ट किया जाना चाहिए - यह कैसे करना है? बस इसे उसी संदर्भ में रखें जिसमें "ईमेल पते अपडेटेड" समस्या हो। क्या इसके लिए एप्लिकेशन को बदलने की आवश्यकता है, और क्या यह "बहुत मुश्किल" समस्या है, एक और मामला है जिसे उनके साथ उठाने की आवश्यकता है। कोड को देखें और देखें कि सुझाए गए फिक्स को लेने से पहले इसे बदलने की लागत कितनी होगी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.