الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال حول منافذ ال USB

بدأه Sultan_Althibity في 6 أبريل 2010 · 4 رد · 2,339 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

الفكرة أساساً هي بناء برنامج يراقب منافذ الـ USB في الجهاز ؛ ويقوم بتخزين العمليات التي تحصل سواء بشبك كاميرا أو طابعـة .. ومعرفة ما يحدث بالضبط داخل هذا المنفذ .

إلا أن المهم هو القدرة على منع المستخدم من إستخدام أقراص الفلاش ميموري ؛ لقد حاولت البحث كثيراً ولم أجد إلا طريقة واحدة لفعل ذلك ؛ وهي أن يتابع البرنامج منافذ الـ usb ، فإذا وجد أن فلاشاً قد تم إدخاله (لأن الويندوز يفجر حدثاً بهذا الخصوص ) فإنه يقوم بإخراج القرص وعمل Eject له .

ولكن السؤال الذي يطرح نفسه هل هذه الطريقة صحيحـة ؛ هل لو وجد فيروس فإنه سيقوم بتشغيل نفسـه ونشره في الجهاز قبل أن يقوم البرنامج بإخراج القرص ..... الذي أريده هو عمل Block وكأن الـ usb معطلـة .

#2

حياك الله أخي سلطان ،

على حد علمي فإنه لا يمكن لأي برنامج داخل الفلاش أن يعمل بمجرد ادخاله ، لأن النظام من أساسه لا يسمح بذلك .. على استثناء نوع واحد من الفلاشات اسمه U3 من شركة SanDisk فهو يحتوي على بارتيشن صغير يحاكي الCD (والنظام يسمح بالسيديهات بالعمل مباشره وتشغيل ما بداخلها فور توصيل القرص) .. وهكذا في حال الفلاش U3 فسوف يعمل هذا الفلاش بمجرد توصيله ، والجزء الذي يحاكي السي دي هو Read-Only ويحتوي على برنامج يأتي من الشركة المصنعة للتحكم في الفلاش .. ولكن لسوء الحظ توجد طريقة لحذف هذه البرنامج وادخال أي برنامج تود ادخاله ..

هكذا بالنسبة للفلاشات العادية فالفايروس الذي بداخلها لن يعمل اذا اذا قام بذلك المستخدم من خلال الطرق التي يستغلها الفيروس عادة ، مثلا اضافة عدة خيارات عند الضغط على ايقونه الفلاش بالزر الأيمن ، أو اختيار الأمر open (اذا كان تم تلغيمه بمعنى أنه تم تحديد هذا الأمر سوف يؤدي الى تشغيل الفايروس، ويتم التحديد في ملف الautorun بداخل الفلاش) . ولكن لن يعمل هكذا بمجرد ادخاله .

يمكنك تعطيل خاصية الAutorun في النظام .. أو تعطيل ملفات الinf كليا .. أو يمكنك تعطيل قرائة الusb من النظام وذلك من خلال مسجل النظام .

والله أعلم،

بالتوفيق،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#3

أشكرك أخي العزيز Wajdy Essam على ما تفضلت به .

هذا يعـني أخي العزيز أن نظرتي قد تكون صحيحـة ؛ بمعنى أنني لا أحتاج إلى تعطيل الـ USB من خلال الريجستري ؛ فقط أراقب الأحداث بالنسبة لمنفذ الـ USB وإذا ما وجدت أن الرسالة DBT_DEVICEARRIVAL والتي تعني أن جهازاً جديداً تم إضافته ؛ كل ما علي فعله هو عمل Eject له إذا كان غير مرغوب فيه .. دون خوف من الفيروسات ..

لقد وجدت مصادر رائعـة ؛ الأولى حول طريقة كشف الأجهزة الجديدة :

http://www.codeproject.com/KB/system/DriveDetector.aspx

والثانية:

وهي بإستخدام الريجستري:

http://www.codeproject.com/KB/system/usb_lock.aspx

ولكن تساؤل آخر لدي: لا أعرف من برمجـة الريجستري إلا أقل القليل .... وبالطبع بإمكان المستخدم تغيير هذا القيم إذا ما أراد استخدام الـ USB ؛ فهل بإمكاني مثلاً مراقبة الريجستري وفي حال ما رأيت أن تغييراً حصل أقوم بإعادة القيمة السابقة التي أريدها !! ....

أن الغرض من البرنامج ليس فقط حماية الشبكة والأجهزة من الفايروسات الضارة التي تأتي من الـ USB بل أيضاً لمراقبة منفذ الـ USB ومعرفة ما إذا تم نسخ وثائق أو معلومات للشركات بقصد التجسس عليها .

#4

استخدم الـ WMI, وهناك عدة مواضيع عنها منها ما هو لي ومنها ما هو للأخ الفاضل مشرفنا السابق محمد سامر بمعرفه samerselo لو بحثت ستجدها ان شاء الله.

#5

الرابط الأول الذي وضعته جيد في معرفة ان هناك فلاش تم تركيبه ، أما الرابط الثاني فهي للتحكم في غلق الفلاش وفتحه هو المسجل regedit .

أعتقد أن مراقبة الفلاش وغلق المسجل (القرائه و الكتابة )حل جيد لضمان عدم التغيير ،، ويمكنك ضمان ذلك بطريقة أخرى عن طريق عمل حساب عادي للمستخدمين (ليس admin) وأي مستخدم لن تكون لديه صلاحيات للتعديل (هذا الكلام في فيستا و7 ولا أعلم عن xp) .

لكن اذا أردت مراقبة أي تغيير على الفلاش فيمكنك باستخدام WMI وان لم أجربها سابقا ، هذا موضوع لنفس الأمر:

http://www.codeproject.com/KB/system/WMI_RegistryMonitor.aspx

النقطه الأهم ، كيف ستعرف أنه تم نسخ ملفات من الجهاز الى الفلاش ؟

حل بسيط وهو حفظ أسماء محتويات الفلاش وعددها ، ومن ثم القيام بفحص هذا الفلاش والتأكد من العدد واسماء المجلدات ، يكمن جعل الفحص كل ثانية مثلا.. واذا وجدت ملف تم نسخه فقم بحذفه مباشره أو حفظ تلك المعلومات كما تريد.

بالتوفيق،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

مواضيع مشابهة