مقدمة: متصفح الانترنت هو برنامج يقوم "بتصفح" مواقع الانترنت و إظهار محتويات صفحاتها وفق المعايير القياسية الموجودة .تتميز المحتويات المعروضة بكثرتها و تعددها (vbScript,pdf,plash,mathml,SMIL,mpeg… و العديد) في غالب الأحيان يجب الاستعانة بـإضافات Plugins للتمكن من إظهار هذه المحتويات و التي قد تضيف بعضا من نقاط ضعفها إلى مجموع نقاط ضعف المتصفح ضرورة و سهولة استعمال المتصفحات و انتشارها الواسع على العديد من الأجهزة (PC PDA و أجهزة الهاتف) جعلها وجهة مفضلة للـ hackers و الأشخاص الذين يريدون إلحاق الأذى بالمستعملين أنواع التهديدات: قد يشكل المتصفح للمستخدم إحدى صور التهديدات التالية: تحليل تصرفات و نمط المستخدم و استعمال ذلك لأغراض تجارية سرقة المعلومات و الملفات إيهام المستخدم بأنه يستعمل مواقع موثوق فيها Phishing توقف جهاز المستخدم بسبب Bug في المتصفح أقسام المتصفح يتكون المتصفح من عدة أجزاء تقوم بوظائف معينة أهمها مفسر الـ URL مفسر HTML مفسر لغات السكربت مثل الـ javaScript و الـ VBScript بيئة تشغيل للبرامج Applet Java, ActiveX, plug-ins Toolbar *مفسر لغة HTML يقوم مفسر كود الـ HTML/CSS ببناء الصفحة وفقا لأوامر العرض و التنسيق الموجودة في ملف HTML و العناصر المرفقة معها (frame أو صور ...) الاستقرار الذي تتمتع به المعايير HTML, XHTML, WAP, CSS يمنع وجود أية أخطاء و ثغرات أمنية ناتجة عنها .بل الخطأ الوحيد الذي يمكن ملاحظته هو الخطأ الناتج عن تفسير خاطئ لبعض الأوامر الخاص بطريقة العرض فقط. *مفسر لغات السكربت يمكن هذا المفسر بتشغيل برامج صغيرة على جهاز المستخدم تسمح بإضافة بعض الديناميكية و التفاعل على صفحات الويب المكتوبة بالـ html فقط أشهر لغات السكربت المستعملة و أكثرها انتشارا هي JavaScript و التي تتميز بكونها مفهومة من طرف أغلب المتصفحات IE, Firefox, Mozilla, Opera, Safari… عكس الـ VBScript الخاص بالـ Internet Explorer استعمال هذه اللغات تزيد من مستوى تعقيد المتصفحات مما يخلق بيئة ملائمة لظهور كم لا بأس به من الـ Bugs إضافة إلى إمكانية تنفيذ أوامر غير المسموح بها باستغلال بعض ثغرات المتصفح المتعددة كالولوج إلى الأقراص مما قد يسبب في سرقة و ضياع البيانات و الملفات. بدون أن ننسى إمكانية توقف النظام كلية بسبب خطأ في كتابة سكربت معين أو الدخول السكربت في حلقة تكرارية لا متناهيية
<script langage="javascript"> <!-- var i = 0; while(i < 10) { document.white('toto<BR>'); // نسيان إضافة 1 في كل مرة } --> </script>