malwares
الفيروسات
مجموعة بوستات قررت اكتبها عن مجالات مختلفه داخل اللـTechnology field عمومًا ..
--------------------------------------------------
فـ البوست دا والأجزاء بتاعته هحاول اغطي تفاصيل اللـmalwares او البرمجيات الخبيثة وهنتكلم عن مواضيع متعدده ومختلفه إن شاء الله ..
--------------------------------------------------
خلونا الأول نتكلم بشكل مبسط عن يعني اي malware وتدريجيًا هنتعمق في المواضيع..
يعني اي malware في الأصل دول كلمتين اختصار لـMalicious software البرمجيات الخبيثه ومن الأخر دي بتكون برمجيات معمولة بنية الأذية وبتقوم بضرر معين للـtarget بتاعها واللـtarget دا بيكون اي حاجه بتشتغل باللـ0101010 اللهي اللـbinary board وطبعًا بتنقسم لأنواع مختلفه ودا راجع للـactivity بتاعها ومن ضمن الأنواع دي اللـRansomwares,Spyware,viruses,Adware...إلخ فـ يلا نبدأ نتعمق ف كل واحد وخلينا الأول نبدأ بأشهر نوع وهو اللـviruses
--------------------------------------------------
الفيروسات (viruses) هنا هنتكلم عن انواعه بعدين هنتكلم بالتفصيل عنهم اكتر..
فيه بعض الناس بتحسب إن اللـmalware هو اللـvirus لكن دا غلط اللـvirus نوع من انواع اللـmalwares ..
عمومًا اللـvirus هو software بيقوم بضرر معين لكن ميزته إنه بيعمل self-replicates اللهو تكرار ذاتي لنفسه وبينتشر بسرعه ودا الشئ اللبيميز اللـvirus وطبعًا من الضمن الأضرار اللبيعملها هي التأثير علي functionality,responsiveness بتاعت اللـnetwork لإنه بيـover اللـtrafficload المخصصه للـnetwork ..
اللـviruses عامًا بتنتشر من اللـmessenger applications او ثغرات ف متصفح (browser vulnerabilities) او من خلال اللـEmail او من خلال اللـremovable media زي اللـ USB flash, CD او المواقع الغير موثوق منها والعديد من الطرق التانيه لكن دي اشهرها ..
--------------------------------------------------
**** Types of Viruses ****
طبعًا اللـviruses بتنقسم لأنواع وكل نوع بيكون له activity,functionality معينه وهنا هناقش انواع اللـviruses ..
//////// Direct Action Virus ////////
النوع دا لما بيـinfect الـsystem مش بيشتغل علي طول، دا بيكون متبرمج علي إنه يفضل مخفي لحد ما تحصل function معينه علي الsystem فيتـactive علي سبيل المثال نقول إن اللـvirus بيـactive لما تشغل video، يبقي اللـvirus مش هيشتغل غير لو فتحت video علي الجهاز حتي لو بعد فتره كبيره واللـvirus دا ميزته إن اللـinfection بتاعه بيكون من جوا اللـfiles ومش بيتعامل مع اللـRAM لإنه لما بيتـactive بيروح ينادي علي script غالبًا إسمه بيكون Autoexe.bat وصيغة bat دي اللهو script او batch file جوا اللـscript دا بيكون مكتوب اللـvirus يتجه فين ويـinfect ايه بالظبط .. وللخلاصه نقدر نقول إنه بيـستني load توصل للكمبيوتر وبمجرد وصولها هو بيتـactive واللـload case دي بقي بترجع لكاتب اللـvirus ودماغه ..
//////// Multipartite Virus ////////
النوع دا بيـكون موجود فـRAM ودا بقي بيـinfect اللـboot sector و اللـexecutable files لكنه بيـinfect اللـboot sector الاول
(اللـboot sector دا بيكون المسؤوول عن إنه يـboot اللـOperating system لما الجهاز يشتغل) وبعدين بيروح يـinfect اللـexecutable files اللـموجوده ع اللـhard drive وبما فيهم اللـwindows files ودا بيأثر علي اللـoperating system ككل وغالبًا بيتنقل من خلال اللـremovable media زي اللـUSB Drive ..etc ..
//////// Resident Virus ////////
النوع دا بقى بيزرع نفسه فاللـRAM فمش بيكون محتاج إنه يـinfect اي files,applications لإنه بيكون له virsion موجوده فـRAM دايمًا ودي بتقدر تـhandle اي Order بيعدي علي اللـRAM وتوقفها او تـoverwrite عليها بالتالي هتقدر تتحكم في اي Connection بين اللـOperating system و اللـRAM ودا شئ خطير جدًا وممكن يدمر اللـOperating system ككل ..
//////// Polymorphic Virus ////////
النوع دا بقي بيكون virus بكذا وش اللهو بيفضل يغير من نفسه فـكل مره يحصله execution ودا عشان ميتكشفش بسهوله وبيكون محافظ علي اللـmain function بتاعته وبيقوم بتغيير نفسه من خلال تشفيير الأكواد بتاعته وفـكل execution بيقوم بتغيير الللـencryption keys بتاعته.. وبالتالي اللـvirus دا مش بيكون له signature ثابته واللـvirus signature دي بتبقي algorithm خوارزمية اي حبة حسابات رياضيه وبرمجيه بتتعمل علي اللـvirus عشان تنتج قيمة فريده unique value القيمه دي بتحدد نوع اللـvirus دا اي ولإن اللـPolymorphic بيغير دايمًا نفسه فـبالتالي اللـsignature بتاعته بتتغير فـ عشان يكتشفه اللـAntivirus هيعتمد علي اللـbehaviour بتاعه علي اللـsystem مش اللـsignature ..
//////// Metamorphic Virus ////////
النوع دا بقى برضه بكذا وش لكنه بيكون advanced اكتر لإنه بيغير اللـstructure الداخليه بتاعته و بـreprogramming لنفسه فـكل مره بيحصله execution علي computing system معين ودا بيكون تحدي حقيقي لأي antivirus موجود بسبب صعوبته في اكتشافه لإنه كل ما بيكون فـsystem اكتر كل ما اشكاله بتختلف بالتالي هيكون اخطر ...
//////// Companion Virus ////////
اللـVirus دا ممكن نقول عليه صاحب صاحبه اللـهو ميشتغلش غير بوجود صاحبه .. وصاحبه هنا هو اي executable file بـصيغة EXE موجود ع جهاز طب تعالا نوضح ... اللـvirus دا بيروح لأي EXE FILE ويعمل منه نسخه بإسمه لكن بصيغة COM وصيغة دي تعتبر executable file واللـVIRUS بيختار الصيغة دي عشان بتشتغل قبل اللـEXE .. فـ لما اللـvirus يعمل نسخه COM ساعتها بيكون اللـCOM File دي فيها اللـmalicious code بالتالي بيشتغل مع اللـEXE FILE دا ... ومعلومة ليك لما تيجي تشغل Executable file اللـDOS بتشغل الأول اللـBAT Extension بعدين اللـCOM بعدين اللـEXE ...
//////// Stealth Virus ////////
النوع دا بيخفي نفسه من اللـAntiVirus فاللـfiles,partitions,boot sectors ازاي بقى؟
لما اللـAntivirus بيعمل scan علي الملف اللـinfected بيقوم اللـvirus دا بيمسح اللـinfected file بشكل مؤقت او بينقل نفسه لـpath تاني اللـAntivirus مش بيعمله scan ف الوقت الحالي لحد ما يخلص scan علي مكانه الحقيقي وبعدين يرجع تاني او بيقوم بوضع clean file مكانه وبعد ما اللـscan يخلص بيرجع تاني وبرضه له ميزة اللـploymorphic و metamporphic viruses بإنه بيغير اللـstructure بتاعته وبيعمل ecnrypt لنفسه ..
//////// Overwrite Virus ////////
النوع دا بقى بيـdestroy اللـfile بتاعك .. مثلًا بإنه بيروح علي جهازك نقول إنك عندك file إسمه file.exe بيروح هو يمسح اللـfile دا ويحط file تاني بنفس الإسم والصيغة بتاعته لكن اللـcode الأصلي بتاعه بيتمسح بالتالي لما تيجي تفتح اللـfile.exe مش هيشتغل معاك لإنه للأسف شال الكود الكود بتاعه ومحطش حاجه وكدا اللـfile باظ ودا virus مضر جدًا وبيخليك تخسر اللـdata بتاعتك عمومًا ..
//////// Boot Sector Virus ////////
النوع دا بقى بيروح يـinfect اللـboot sector بتاعت يعني لما ييجي الجهاز يـboot اللـOperating system ساعتها اللـinfected code بيشتغل من اللـboot sector او اللـMBR او اللـGPT طيب خليك معايا دلوقتي نشرح يعني ايه GPT ويعني ايه MBR ونرجع للـVirus دا تاني
اللـMBR او اللـGPT دي طرق مختلفه لتخزيين اللـdata علي اللـhard-drive ودا من خلاله بيعرف اللـOperating system طريقة تقسيم اللـhard-drive بتاعك طيب اي الفرق بين اللـGPT و MBR ؟
-اول حاجه اللـMBR دا اخره بيكون 2 تيرابايت اما اللـGPT فبيقبل اكتر من كدا
-لو عايز تعمل اكتر من operating system علي الجهاز اللـهو تعمل اكتر من primary parition تثبت عليه انظمة تشغيل فـ ساعتها اللـhard-drive لو نوعه MBR هيبقي اخره 4 ومش هيكتر عن كدا
لكن اللـGPT فبيقبل اكتر من كدا بكتيير ممكن يوصل لـفوق 100 operating system ..
-اللـfile restore علي GPT بيكون اسهل واسرع لإنه بيتم تخزين البيانات 3 مرات ف اول ونص واخر اللـhard-drive بتاعك..
ويفضل في انظمة التشغيل الحديثه تستخدم GPT Hard-drive لإن اللـperformance و quality بتاعها بيكون اعلى..
-ولو كنت بتحب تشتغل علي Linux OS فـاللـGPT بيتفوق جدًا وبيوازي متطلبات اللـLinux OS وطبعًا كلنا عارفين خوازيق التقسيم بتاعته :D !
فيه واحد هييجي ف باله سؤال لولبي واللهو ما دام اللـVirus بيـinfect اللـGPT,MBR,Boot Sector طب اي الفرق بين اللـboot sector
واللـGPT,MBR ؟
= بص يا معلم اللـMBR,GPT دا نوع معين من اللـboot sector واللبيميزه إنه بيكون فـ اول اللـhard drive لكن اللـGPT بيكون ف اوله ونصه واخره زي محنا عارفيين لكن اللـboot sector دا مجرد اداة بتحتوي علي اللـboot loader بتاع اللـoperating system فـ اللـvirus دا بقي بيـinfect اللـHard-Drive فـ لما ييجي يـboot اللـOperating system اللـinfected code بيشتغل وساعتها بيـmodify او يبدل اللـboot code باللـinfected code دا وكل دا طبعًا بيكون شغال من ناحية اللـBIOS Level واللـBIOS دا عبارة عن software بيـدير عملية تشغيل اللـsystem وفـنفس الوقت بيدير نقل اللـdata ما بين اللـoperating system و اللـhard-ware وبيكون فيه اللـsettings عمومًا بتاعت اللـhardware level وللدقه اكتر هو يعتبر firmware ودا معناه software بيكون مسؤول عن التحكم فـاللـhardware بتاع الجهاز ، واللـvirus دا فيه انواع منه بتعمل encrypt للـboot-sector فـ بيكون صعب للـantivirus إنه يشيله نوعًا ما..وفيه حاجه إسمها bootkits ودي بتكون المسؤوله إنها تعمل write للـinfected code دا علي اللـboot sector MBR وبتبين اللـinfected code دا اكنه windows order من نظام التشغيل ذات نفسه...
//////// Cavity Virus ////////
النوع دا بيروح علي اللـfile وبيـinsert نفسه فالفراغات بتاعت اللـcode بتاعته ايًا تكن spaces او nulls value فبالتالي مش بيقوم بتغيير حجم اللـfile ودا بيخليه non-detectable وعشان كدا له إسم تاني وهو Spacefiller Virus !
//////// File Infcecting Virus ////////
النوع دا بيروح علي اي executable file زي COM , EXE بيروح مبوظ اللـFILE دا من ناحية شغله مع اللـRAM زي اللـVariables values و من ناحية اللـprogramming methods بتاعته وكدا بيتلف الملف نهائيًا وبينتشر بسرعه جدًا وممكن ينتشر ع شبكه لو فيه shared systems موجوده ...
//////// Directories Virus ////////
النوع دا بقى بيروح علي File وبيغير اللـDirectory بتاعه الأصلي يعني لما تيجي تفتح اللـFILE بدل ما يروح ينفذ اللـprogram لا دا بيروح ينفذ اللـvirus code الأول من خلال اللـDOS وبعد كدا بقى من خلال اللـDOS بيروح يشغلك اللـFILE الأصلي اللهو اصلًا مكانه مش معلوم بالتالي هو بينتشر بسرعه بسبب الموضوع دا والحلو فـvirus دا إن كل اللـinfected files بتشير علي اللـvirus اللهو مثلًا بيكون موجود ف مكان معين زي اللـmemory ف جهاز ومـinfect اللـhard-drive كله!.. وكمان اللـvirus دا بيـact علي إنه stealth virus بيحاول يخفي نفسه من اللـAntivirus فـبيكون صعب عليه إنه يكتشفه بسهوله، ولو انت حاطت shortcuts فـ اي مكان برضه بيروح يغير اللـdirectory بتاعها مع اللـoriginal file للـvirus path
/////// FAT Virus ////////
النوع دا بقى بيروح يـinfect اللـpartitions من نوع اللـFAT وزي ماحنا عارفين هو اللـPartition بيكون له نوعين اللـFAT,NTFS واللـFAT دا قديم نوعًا ما فهو عامًا بيكون موجود فاللـUSBs flash اكتر ... فـ هو بقى من الأخر بيـcontrol كل اللـFiles اللموجوده عندك ممكن يمسحها او يجزءها وممكن يضربلك اللـhard sector ومتعرفش تـaccess اللـdata كلها عمومًا
/////// Network Virus ////////
النوع دا بقى عامل زي العيال الحكاكه اللهو اي حد يشوفه يحك فيه نفس الكلام بالظبط لكن اللـvirus دا بيحكها ف اي جهاز يشوفه اي شبكه يشوفها اي حاجه يقدر يتـactive عليها بيحكها معاه ودا مش لازم يبعت infected file لا دا كل دا بيحصل من خلال اللـNetwork packets مادام فيه connection ومفيش firewall جوا اللـnetwork ودا غالبًا بتكون شايله exploit code لـvulnerabilitity معينه بحيث يقدروا يـexploit الثغره دي علي اكبر مقدار من اللـsystems اللموجوده بس اللبينتشر اسرع منه هو النوع اللجي دا..
/////// Sparse Virus ////////
دي بقى مش عيل حكاك لا دا الحك نفسه :D دا بيروح علي اي files او devices ويعملها infect بس في نفس الوقت بيكون حريص عشان ميكتشفش علي اللـSystem لإن اكتشافه بيقتله علي طول من اللـAntivirus طب دا بقي عشان يقلل من اكتشافه بيستخدم techniques بسيطه زي إنه بس يـinfect اللـfiles اللـمساحتها اقل من 128kb او مثلًا يكون ليها extesntion محدده او إسمها له طول معين وهكذا.... فاللبيميز اللـvirus دا سرعه انتشاره لإنه مش بيهمد خالص..
--------------------------------------------------
طبعًا الميزه بتاعت اللـviruses عمومًا هي اللـSelf replicating او التكرار الذاتي لإن اللـvirus بيكون جواه code مهمته إنه يكرر نفسه ويـinfect البرامج من خلال إنه يغيره او يغير اللـenvironment بتاعته فـsystem فـ لما اللـVirus بيخش ع system معين اللـinfect بتاعه بيكون راجع علي حسب اللـuser privileges اللهيشتغل من عنده فـ هنا هيبقي عندنا حالتين normal user, super user
ناخد السيناريو الأول اللهو اللـNormal User :
- اللـvirus بيـinfect ملف معين ع سيستم
- بيروح يـinfect اللـuser downloads واللـprograms اللمش بتحتاج اللـsuper user privileges
السيناريو التاني اللهو Super User :
- اللـvirus بيـشتغل ع system
- اللـvirus بيصيب اللـoperating system بقي اللعايز يعمله بيعمله ما دام مفيش detecatble له فـ بيخبط بمزاجه مطرح ما يروح يروح(root hole)
- ساعتها اللـvirus بيـinfect اي file,programs واي downloads بتحصل برضه ..
----------------------------------------------------------------
دلوقتي بقى هنتكلم عن اللـLife-Cycle بتاعت اللـVirus من اول ما يتعمل لحد ما يموت..
اول _1_ phase وهي اللـCreation :
في المرحلة دي بيكون اللـvirus developer بيكون بيبدع ف كتابة اللـvirus اللهو موعد ولادته من الأخر :D ..
تاني _2_ phase وهي اللـReplication :
زي محنا عارفين ان اللـvirus لازم يكون self-replication او بيتكرر ذاتيًا مع نفسه خلال اللـnetwork,devices,hard-drive فـ هو بيروح لكل file,program او مناطق فـhard-drive معينه وبيحط نسخه منه ليها...
تالت _3_ phase وهي اللـActivation :
اللـvirus بيكون معمول لـtask معينه ينفذها بمجرد وصوله للجهاز فـفمرحله دي اللـvirus بيشتغل اخيرًا بعد ما عمل لنفسه replication بس قبل ما بيحصله active بيكون جوا اللـphase دي phase تانيه واللهي اللـDormant phase وفـphase دي بيكون اللـvirus مستني condition معينه تحصل عشان يتنفذ زي مثلًا تاريخ معين او progarm,file يتفتحوا او مثلًا لما اللـhard-drive,partition يكون علي مساحه معينه
رابع _4_ phase وهي اللـ Triggering :
وهنا بقى اللـVirus بيـperfrom اللـtask اللهو معمول عشانها ايًا تكن بقى...
خامس_5_ phase وهي اللـExecution :
وهنا بيبقي خلاص اللـvirus خلص اللـtask بتاعته علي اللـtarget ايًا كان نوع الضرر الحصل ايه
----------------------------------------------------------------
اي Virus بيكون له structure عادي جدًا وهنا هنتكلم عن اهم 3 اجزاء فاللـ virus وهما
- Infection mechanism
- payload
- trigger
هنتخيل إن اللـVirus عبارة عن Sniper تمام؟ واللـ3 حاجات دول اجزاءه ..
-اول حاجه هنتكلم عنها هي اللـinfection mechanism : (اللـscope بتاع القناصه)
الجزء دا بيكون المسؤول عن اللـspreading و self-replicating يعني هو اللـscope او السهم المتجه للـtarget الخاص باللـvirus :D !
- تاني حاجه هنتلك عنها هي اللـpayload : (الطلقه بتاعت القناصه)
الجزء دا بقي اللـفعل بتاع اللـvirus اللهو اللـtask اللهيتنفذها بتكون هي اللـpayload دا
- تالت حاجه حاجه هنتكلم عنها هي اللـtrigger : (صدى الصوت بتاع طلقة القناصه)
الجزء دا بيظهر بعد ما اللـpayload يشتغل اللهو زي feedback للـvirus وبرضه بيتابع اللـcondions,events بتاعته وبيرجعها للـdeveloper او ايًا يكن بقى هيحصل بيها ايه ......
.
.
كدا احنا لو اتخلينا اللـvirus علي شكل قناصه فـ انت كدا هتنشن من اللـinfection mechanism و طلقتك هي اللـpayload اللهتعمل بيها ضرر وصدى الصوت بتاع الطلقه هو اللـtrigger اللهتعرف منها قوة الطلقه..
اللـviruses بتصيب اللـBoot sector او اللـpartition boot وبتعمل لنفسها spread لما اللـsystem يـboot او بيروح يـinfect اللـexecutable file الموجوده زي .COM .BAT . EXE
------------------------------------------------------------
ولحد هنا هكتفي عن اللـviruses وإن شاء الله لسا فيه part_2 اللهنتكلم عنه عن باقي اللـmalwares وهنركز علي اللـworms ....
وشكرًا
(منقول)