2012-08-12 18 views
5

मैं एएसपीनेट 4 का उपयोग कर रहा हूं। मुझे आश्चर्य है कि यह संवेदनशील डेटा कैशिंग करने के लिए सुरक्षित होगा या नहीं? क्या सुरक्षा या किसी अन्य सुरक्षा समस्या के मामले में यह खतरनाक है?है .net कैशिंग संवेदनशील डेटा सुरक्षा के तरीके में खतरनाक होगा या कोई सुरक्षा समस्या होगी?

+0

आप किस कैश तंत्र का भी संदर्भ दे रहे हैं – Pleun

+0

हां, जैसे: कैश। जोड़ें ("MyCacheName", "MyValue", null, expDate, कैश। NoSlidingExpiration, CacheItemPriority.Default, null); –

उत्तर

3

ठीक है हाँ। स्वाभाविक रूप से किसी चीज़ पर पकड़ने का मतलब है कि किसी ऐसे व्यक्ति का अधिक मौका है जो इसे प्राप्त नहीं करना चाहिए, इसे प्राप्त करना। यदि यह संवेदनशील है, तो यह एक नया परिचय दिया गया खतरा है।

दो प्रासंगिक प्रश्न हैं:

  1. इसकी कितनी संभावना है लीक किया जाना है।
  2. यह कितना संवेदनशील है।

स्मृति में कैश किए गए कुछ को लीक होने की संभावना नहीं है, लेकिन यह संभव है।

स्मृति में कैश किए गए कुछ और सत्र या कुकी के माध्यम से सुलभ होने की संभावना अधिक है (क्रमशः सत्र या कुकी को हाइजैक करें)।

किसी डेटाबेस में कैश किए गए कुछ को लीक होने की अधिक संभावना है (मेमोरी डंप की तुलना में फ़ाइल चोरी करना आसान है)।

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

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

संपादित करें: उदाहरण में ध्यान देने योग्य एक महत्वपूर्ण बात है। ऐसी साइटें जो आपको याद रखती हैं, इस तरह से याद करते हुए कि आप लॉग इन हैं, उपयोगकर्ता/पास ऐसा करने के लिए आवश्यक नहीं है (ओपनआईडी का उपयोग करके इस तरह की साइटें उपयोगकर्ता/पास भी नहीं देखती हैं)। यदि आप किसी उपयोगकर्ता/पास को याद कर रहे थे तो आपको किसी भी साइट पर लॉग इन करने का जोखिम उठाने का जोखिम उठाने का जोखिम उठाने का जोखिम होता है, इसलिए किसी को भी आपकी साइट पर लॉग इन करने दें, इसलिए जोखिम फिर से बहुत अधिक है।

1

यह निर्भर करता है कि आप इसके साथ क्या करते हैं। डेटा वेब सर्वर की स्मृति में आयोजित किया जाता है। इस डेटा तक पहुंचने का कोई तरीका नहीं होगा, जब तक कि आप इसे करने का कोई तरीका नहीं लिखते, या हमलावर के पास आपके स्रोत कोड & तक पहुंच थी, वेब ऐप तक पहुंच लिखना।

+0

एक बार उपयोगकर्ता को प्रमाणीकृत होने के बाद, सत्र ("उपयोगकर्ता नाम"), सत्र ("डिप्टी"), आदि जैसे 10 सत्र होने के बजाय; आप सभी 10 विशेषताओं के साथ कैश करने के लिए ऑब्जेक्ट जोड़ने का सुझाव देते हैं? उदाहरण के लिए मेरे पास एक विधि है: उप [सेट] (कुंजी के रूप में कुंजी, ऑब्जेक्ट के रूप में डेटा, मिनटों के लिए कैशटाइम के रूप में मिनट) – JoshYates1980

2

माइक्रोसॉफ्ट के पैटर्न के अनुसार & प्रथाओं इस वे क्या सुझाव है

Do not cache sensitive data

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

समीक्षा संचालन:

सुनिश्चित करना है कि संवेदनशील डेटा कैश्ड नहीं है निम्नलिखित चरण निष्पादित करें। संवेदनशील डेटा के उपयोग के लिए अपने सभी परिचालनों की समीक्षा करें । इसमें शामिल हो सकता है लेकिन यह इस तक सीमित नहीं है: जानकारी जिसमें या तो व्यक्तिगत रूप से पहचान योग्य जानकारी (पीआईआई) है या पीआईआई प्राप्त करने के लिए उपयोग किया जा सकता है जिसे उपयोगकर्ताओं के साथ साझा नहीं किया जाना चाहिए उपयोगकर्ता द्वारा प्रदान की जाने वाली जानकारी कि वे अन्य के साथ साझा नहीं करना चाहते हैं एप्लिकेशन के उपयोगकर्ता बाहरी विश्वसनीय स्रोत से आते हैं जो उपयोगकर्ताओं के साथ साझा करने के लिए डिज़ाइन नहीं किया गया है संवेदनशील डेटा के कैशिंग के लिए संचालन की समीक्षा करें। समीक्षा करें कि प्रत्येक ऑपरेशन संवेदनशील डेटा का प्रबंधन कैसे करता है और यह सुनिश्चित करता है कि यह कैश नहीं है। इस तरह के System.Web.Caching.Cache के माध्यम से ASP.NET कैश का एक शब्दकोश या SortedList वस्तु उपयोग के उपयोग के रूप में कस्टम कैशिंग कोड: संवेदनशील डेटा कैशिंग आप के लिए समीक्षा कर सकते हैं कि के तीन पैटर्न रहे हैं। एक उद्यम पुस्तकालय कैशिंग ब्लॉक

+0

मैं कैश गाइड कुंजी और उपयोगकर्ता मेल में स्टोर करना चाहता हूं ताकि उपयोगकर्ता को यह पता चल सके कि लॉगिन कैसे रहें लेकिन वेब पेज बंद कर दें, इसलिए जब वह मेरी साइट खोल देगा तो वह ऑटो लॉगिन करेगा। यह डेटा संवेदनशील है क्योंकि अगर किसी के पास यह कुंजी और मेल है, तो वह इस खाते में लॉग इन कर सकता है। क्या इस तरह के डेटा को कैश में स्टोर करना उचित है? धन्यवाद –

0

का प्रयोग मैं एन्क्रिप्टेड डाटा कैश करने के लिए और केवल अनुरोध के बिंदु पर डिक्रिप्शन कर जाते हैं। अंत में स्मृति को शून्य करना।

अनुमान लगाएं कि क्या यह स्मृति में छोड़ा गया था, सादे पाठ में, हमलावर के लिए मेमोरी डंप से चीजों को काम करना मुश्किल नहीं होगा।

संबंधित मुद्दे