दिए गए USB पोर्ट पर, मैं केवल USB मास स्टोरेज क्षमताओं को स्वीकार करना चाहता हूं, और कुछ नहीं। कोई छिपाई डिवाइस, कोई ब्लूटूथ एडेप्टर, कोई RS232 कन्वर्टर्स, कुछ भी नहीं। वहाँ ऐसा करने के लिए एक तरीका है udev का उपयोग कर? मुझे पता है कि मैं किसी दिए गए डिवाइस, या किसी दिए गए पोर्ट के लिए ड्राइवर सहित एक कस्टम udev नियम लिख सकता हूं, लेकिन क्या मैं किसी भी तरह अन्य सभी ड्राइवरों को बाहर कर सकता हूं ? मैं केवल एक वर्ग उपकरणों की अनुमति देने की कोशिश कर रहा हूं , अर्थात् USB मास स्टोरेज; इस वर्ग में असंख्य अलग-अलग डिवाइस मॉडल हैं, और मुझे नहीं पता है कि पोर्ट से कनेक्ट होने जा रहे हैं (क्लाइंट अपने स्वयं लाएंगे, मुझे इसे प्रभावित करने का कोई रास्ता नहीं है)।
रिप्रोग्राम किए गए USB फर्मवेयर से खतरे केवल निकट भविष्य में खराब होने वाले हैं। मैं इस उपयोग के मामले के लिए उन्हें कम करने की कोशिश कर रहा हूं: मेरे पास आंतरिक रूप से कनेक्टेड USB बाह्य उपकरणों (नेटवर्क कार्ड, विशेष बाह्य उपकरणों, कीबोर्ड) और एक सार्वजनिक-सामना करने वाला यूएसबी पोर्ट है, जिसका उपयोग केवल फ़ाइल स्थानांतरण के लिए किया जाना है। इसलिए, मैं अन्य USB मॉड्यूल को पूरी तरह से ब्लैकलिस्ट नहीं कर सकता; लेकिन मैं उस विशेष पोर्ट को "सैनिटाइज़" करना चाहूंगा, ताकि एक अलग डिवाइस प्रकार में प्लगिंग कुछ भी नहीं कर सके।
केस को भौतिक रूप से लॉक किया गया है, ताकि यह केवल एक विशिष्ट यूएसबी पोर्ट बाहर से सुलभ हो, और मामले के साथ मध्यस्थता या कीबोर्ड केबल में splicing शारीरिक सुरक्षा प्रतिक्रिया को ट्रिगर करने के लिए पर्याप्त संदिग्ध होना चाहिए; इसके अलावा, मैं अधिकांश उपयोगकर्ताओं को सक्रिय रूप से दुर्भावनापूर्ण होने की उम्मीद नहीं करता, लेकिन मुझे उम्मीद है कि USB फ्लैश के अनियंत्रित वाहक की संख्या में वृद्धि होगी (क्योंकि यह फ़्लॉपी के बूट क्षेत्र में संक्रमण के साथ था)। जहां तक सुरक्षा जाती है, यह वास्तव में कोई फर्क नहीं पड़ता कि क्या उपयोगकर्ता दुर्भावनापूर्ण इरादे से "हथियारबंद" यूएसबी डिस्क लाता है, या बस यह नहीं जानता कि यह "संक्रमित" है।
मुझे पता है कि पूर्ण सुरक्षा यहां संभव है, और उपयोगकर्ता को किसी भी तरह से सिस्टम के साथ बातचीत करने की अनुमति देना जोखिम भरा है - लेकिन अफसोस, मुझे प्रयोज्य के खिलाफ सुरक्षा को संतुलित करने की आवश्यकता है: कंप्यूटर को क्लाइंट-प्रयोग करने योग्य होने की आवश्यकता है। इसके अलावा, मैं इसके साथ एक लक्षित, निर्धारित हमलावर के खिलाफ बचाव करने की कोशिश नहीं कर रहा हूं; बल्कि, मैं इसे शमन तकनीकों में से एक के रूप में उपयोग कर रहा हूं, ताकि सिस्टम कम लटका हुआ न हो।