A-gh A-ghهنا وصف مختصر عن محتوة المدونة

َاعلان

يتم التشغيل بواسطة Blogger.

Facebook

للتفعيل او الاغلاق اضغط علي المربع اسفل كلمة مرئي بعد الضغط علي المربع اسفل كلمة مرئي تقوم الاضافة ب الغاء السايد بار من المواضيع
اعلان الهيدر

مشاركة مميزة

ثغرة خطيره فـSMBv3 Protocol

ثغرة خطيره فـSMBv3 Protocol  من نوع "Remote Code Execution"  بتؤدي لإختراق جهازك ... اسم الثغره : SMBGhost   اللـCVE ident...

بحث هذه المدونة الإلكترونية

Recent Posts

Comments

translate to your languge

Featured Posts

Recent Posts

Recent in Sports

اتصل بنا

الاسم

بريد إلكتروني *

رسالة *

Gallery

Videos

Carousel

Column Left

آخر المشاركات

المشاركات الشائعة

الأحد، 15 مارس 2020

ثغرة خطيره فـSMBv3 Protocol

ثغرة خطيره فـSMBv3 Protocol  من نوع "Remote Code Execution"  بتؤدي لإختراق جهازك ...

اسم الثغره : SMBGhost  
اللـCVE identivier Code ه: CVE-2020-0796

اللـSMB بروتوكول دا هو اللمسؤول عن نقل الملفات بين الأجهزه واللـauthentication بينهم علي الشبكه بـport TCP 445  .. والخطوره في اللـvulnerabilitiy دي إن اللـexploit بتاعها بينقل نفسه بين الأجهزه المصابه بسهوله .. ودا راجع إن اللـSMBv3 Protocol بيتعامل مع الطلبات بتاعت اللـcomperssion headers بطريقة unauthenticated بتسمح للـattacker إنه ينفذ Shell-Code علي اللـtarget واللـexploit بتعمل privileges escalation او بيصعد الصلاحية وبتشتغل كـSYSTEM ودي صلاحية امتيازية يعني تقدر تعمل اي حاجه فـsystem عمومًا،

طب اي هي اللـCompession headers بتاعت اللـSMB؟ 
= دي feature جديده تمت اضافتها للبروتوكول فـ مايو 2019 وهي بتكون مسؤولة عن اللـtraffic compression الخاص باللـSMB .. 

فـ هنا كل اللـبيحتاجه اللـattacker إنه يبعت للـtarget اللـSMBv3 packet عادي جدًا لكن جواه اللـcompression header باللـexploit بتاع اللـvulnerabilitiy 

اللـversions المصابه لويندوز: 

   - Windows 10 build 1903 and 1909 
   - Windows Server build 1903 and 1909

والثغره دي مش موجوده فـ اي windows version بسبب إن اللـfeature دي اضافت فـ2019 علي windows 10  فاللـSMBv3.. 

ولحد دلوقتي مفيش patch للـثغره دي غير إنك تـdisable اللـSMBv3 compression فهتروح تفتح اللـPowerShell كـAdministrator وتكتب الأمر دا فيه :

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force

--------------------

ودا PDF Link بيتكلم عن اللـSMBv3 features تبع ميكروسوفت بإستفاضه: 
https://bit.ly/2vrGaYo

ودا Link بيتكلم عن اللـStatic,Dynamic Analysis للـناس بتوع اللـmalware analysis واللـtechnical side بالنسبة للـثغره واللـpatch بتاعها: 
https://bit.ly/2IOZYaZ

الاثنين، 9 مارس 2020

malwares

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 ....

وشكرًا
(منقول)


قواعد البيانات

بوست عن قواعد البيانات مبسط حاولت اكتبه بطريقة التدويين كتجربة يعني اتمنى يعجبكم
------------------------------------------------
    مع تطور شبكة الإنترنت وتزايد عدد الأشخاص عليها واعتمادهم تلك الشبكة فكان يجب علي المطوريين إنشاء قواعد بيانات حيث تحمل داخلها بيانات هؤلاء الأشخاص، فـتخيل معي هناك شركة لديها موظفيين بالتالي سيكون هناك بيانات لهؤلاء الموظفين من اسمائهم ومرتباتهم وارقام هواتفهم وايام الحضور ..إلخ، فـ نحن هنا بحاجة لشئ ما يقوم بـ احتواء تلك البيانات بطريقة مرتبة تسهل علينا  وضع و سحب البيانات .. وهنا نحن نتحدث عن قاعدة البيانات.

* تعريف قاعدة البيانات *
 هي مثل حاوية او بنية نقوم بتخزين البيانات بداخلها بطريقة مرتبة يسهل علينا ادارتها وتنظيمها وبالرغم من تعريفها البسيط إلا ان هناك العديد والعديد من المواضيع التي سوف نتطرق إلي بعضها الأن ..

*نظام ادارة قواعد البيانات  (DBMS)*
اللـDBMS هي اختصار لـ Database management system  نظام ادارة قواعد البيانات هو يعتبر مفتاح المطور لقاعدة البيانات،فـ هو software من الممكن ان يكون web app او desktop-based app حيث يقوم بالتحكم في قاعدة البيانات من خلال تنفيذ عمليات عديدة مثل التحديد والمعالجة والتخزين والإدارة للبيانات او التعامل بشكل كلي مع قاعدة البيانات، حيث يعمل هذا النظام كوسيط بين المطور و محرك تخزين قاعدة البيانات (database storge engine) ويتحكم فيه المطور عندما يريد التعامل مع قاعدة البيانات ويعتمد ايضًا نظام ادارة قواعد البيانات علي لغة برمجة لتنفيذ عملياته من خلالها علي قاعدة البيانات.

*الفرق بين قاعدة البيانات و نظام ادارة قاعدة البيانات DBMS*
قد يختلط الأمر علي بعضكم بسبب تقارب المسميات ولكن نظام ادارة قاعدة البيانات هو وسيلة نستخدمها للتعديل والحذف والإضافة علي البيانات وتحكم في قاعدة البيانات بإعتماده علي لغة برمجة معينة أما قاعدة البيانات فهي مخزن للبيانات فقط لا اكثر..

*محرك تخزين قاعدة البيانات (Database storge engine)*
هو software module الذي يستخدمه نظام ادارة قواعد البيانات DBMS لعمل عملياته من انشاء او قراءة او تحديث للبيانات داخل قاعدة البيانات وهناك العديد من اللـstorge engine وسوف نقوم بالتحدث عنهم إن شاء الله.

* مخطط قاعدة البيانات - database schema *
هي طريقة منطقية لتجميع عناصر قاعدة البيانات مع بعضها مثل اللـجداول وviews و الإجرائات المخزنة stored procedures وباقي اجزاء قاعدة البيانات التي تشكل قاعدة البيانات ...

*انواع قواعد البيانات*
هناك بالفعل العديد من انواع قواعد البيانات وذلك يرجع لتعدد انواع البيانات وحجمها والطريقة التي يحتاجها المطورين للتعامل مع بياناتهم لهذا تنوعت انواع قواعد البيانات، ولكل نوع منها نظام وهيكلة وطريقة معينة للتعامل مع البيانات.
اشهر انواع قواعد البيانات (database types) :

        Centralized database.
        Distributed database.
        Personal database.
        End-user database.
        Commercial database.
        NoSQL database.
        Relational database.

-- اولًا اللـCentralized database :
في هذا النوع من قواعد البيانات تكون البيانات في مكان مركزي موحد (موقع قاعدة البيانات في الوسط واتكلم هنا عن طبقة الهاردوير hardware) حيث يمكن لجميع الأشخاص علي الشبكة الوصول للبيانات بطريقة مباشرة وهذه الطريقة مفيدة  لربط الشركات التي لها عديد من الأفرع داخل بلد معين  بربط جميع الأفرع علي قاعدة بيانات واحدة .. ويتم تطبيق اجرائات مصادقة عديدة للتأكد من صحة المستخدمين للوصول لقاعدة البيانات (authentication process) ..

-- ثانيًا اللـDistributed database :
من اسمها قد تفهم مضمون هذا النوع .. "قاعدة بيانات موزعة" إذًا نستنتج ان قاعدة البيانات اللـdistributed يتم توزيع اجهزة التخزين الخاصة بها في اكثر من مكاان مثلًا وضع قاعدة البيانات في العديد من اجهزة الكمبيوتر او العديد من السيرفرات او داخل الشبكة المحلية او الشبكات الخارجية او علي اجهزة شبكة لشركة اخرى وبهذا الشكل يكون الأداء الخاصة بقاعدة البيانات عالي بسبب أن من يقوم بمعالجة البيانات ليس جهاز واحد بل العديد من الأجهزة وهذه تفيد اللـend-user من ناحية الأداء او اللـperformance.
قد تسئل نفسك سؤالًا .. ان كيف  قواعد البيانات الموزعة تكون متزامنة في احتواء البيانات اي تكون up-to-date او تحتوي علي نفس البيانات في الوقت ذاته؟

وهنا نجد طريقتين لفعل هذا الشئ وهما Replication processو  Duplication process

اولًا اللـنسخ المتماثل Replication process وهي عملية تستخدمها قواعد البيانات الموزعة لجعل جميع قواعد البيانات الأخري متماثلة في البيانات من خلال نقل البيانات بينهم ولكن عملية النسخ المتماثل تستغرق العديد من الوقت كما انها عملية معقدة وهذا يرجع لحجم وعدد قواعد البيانات الموزعة وايضًا لا تنسى ان هذه العملية تحتاج إلي اجهزة قوية حتي تتحمل عملية النسخ المتماثل Replication process .

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

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

-- ثالثًا اللـ  Personal database :
اللـPersonal database هي قاعدة بيانات شخصية بالتالي تكون صغيرة وسهل التحكم بها لأنها كما موضع بالصورة يتم تخزين قاعدة البيانات علي جهاز كمبيوتر واحد ثم يتم التحكم بالداتا من خلال software/package علي جهاز الشخص او قد يتم مشاركتها ايضًا بين مجموعة صغيرة من الأشخاص.

--رابعًا اللـEnd-user database :
اللـend-user او المستخدم النهائي عندما يقوم بإستخدام تطبيقًا ما فهو لا يهمه التعاملات و العمليات الخاصة بالتطبيق بل ما يهمه حقًا التطبيق النهائي فاللـend-user database هي قاعدة بيانات تكون مشتركة تم تصميمها خصيصًا للـend-user يكون بداخلها ملخص لكم من المعلومات التي تخص التطبيق.

--خامسًا اللـCommercial database :
اللـCommercial database هي قاعدة بيانات ضخمة مصممة بشكل فريد وتكون متاحة للعملاء  ويتم انشائها من قبل جهة تجارية وصممت بشكل مخصص حتي يحصل العملاء علي البيانات التي يحتاجونها وغالبًا ما يتم استخدامها في التجارة لعرض المنتجات وبالطبع يتم الوصول لهذا النوع من قاعدة البيانات من خلال الروابط التجارية commercial links

-سادسًا اللـRelational database :
قاعدة البيانات العلاقية هذا النوع هو من اشهر انواع قواعد البيانات والتي تستخدم مبدأ العلاقات الرياضية، حيث البيانات تكون بداخل قاعدة البيانات علي شكل جداول وهذه الجداول تتكون من صفوف واعمدة، وكل عامود يحتوي علي نوع محدد من البيانات،  والجداول تكون مرتبطة ببعضها البعض مع البيانات مما يجعل العمل علي قاعدة البيانات اسهل، مع سرعة الوصول للبيانات..
نظام ادارة قاعدة البيانات العلاقية RDBMS اختصار لـ Relational database management system هو من يتعامل معه المطور لتنفيذ عمليات علي قاعدة البيانات العلاقية وبالطبع كما نعلم ان اللـDBMS يعتمد علي لغة برمجة لتنفيذ عملياته وهنا سوف نتحدث قليلًا عن لغة البرمجة المشهورة التي تُستخدم من قبل اللـRDBMS  وهي  SQL

*لغة SQL اختصار Structured Query Language هي لغة صُممت بغرض التعامل مع البيانات المُخزنة داخل قواعد البيانات العلائقية، تتسم تلك اللغة بسهولتها حيث يشبهها العديد من المبرمجين باللغة الإنجليزية وليس لغة برمجة مما يجعلها سهلة نسبيًا في الكتابة والقراءة والتفسير*

وهذه افضل اللـRDBMS المشهورة في ساحة المطورين :

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

-- ثانيًا :  SQL Server
حيث تمتلك شركة ميكروسوفت هذا اللـRDBMS وبالطبع هو مغلق المصدر وتستخدم المشاريع الكبيرة هذا النوع من اللـRDBMS

-- ثالثًا : Oracle DB
وهنا تمتلك شركة Oracle هذا النوع وهو مغلق المصدر وOracle DB غالبًا يكون للمشاريع الضخمة مثل البنوك (اغلب البنوك العالمية تعمل علي Oracle DB) وسعره غالي نوعًا ما لكنه متكامل نوعًا ما وشامل وبه العديد من المزايا المتقدمة بما في ذلك العمليات الأساسية التي تستخدمها البنوك..

-- رابعًا : PostgreSQL
هو RDBMS مفتوح المصدر ولا يمتلك احد ويتم استخدامه في الويب يعتبر مشابه نوعًا ما لـMySQL مثل سهولة الإستخدام وغير مكلف وموثوق به ولديه مجتمع كبير خاص به ولكن اداءه / preformance الخاص به اقل من اداء MySQL في التعامل مع البيانات.

-----------------------------------------
* قاعده بيانات NoSQL database *
اللـ NoSQL اختصار لـNot-Only SQL  وهنا نتحدث علي ان اللـNoSQL هو العكس تماما للـRelational databases حيث لا يتم التعامل وتخزين البيانات بمبدأ العلاقات الرياضية اي الجدول والصفوف والأعمدة بل سيتم التعامل معها بطريقة Structured او طريقة هيكلية .. إذا ماذا اقصد؟

ستكون قاعدة البيانات علي هذا النحو (قبل ان تقرأ التالي تمعن في صورة اللـNoSQL database):
اولًا سيكون هناك عنصر اصلي Structure ثم اسفله عناصر معينة ونتفق معًأ ان لكل عنصر له key/رمز معين لأجل تعريف العنصر ولكل key هناك value او قيمة وهذه القيمة تحتوي علي اي شئ وهنا سوف يتم تخزيين البيانات الخاصة بك إذًأ في NoSQL لا نحتاج لعمل database schema بل فقط مجلد جذر Directory root ثم نضع فيه عناصرنا بعد العنصر الأصلي..

ونقوم بإستخدام اللـNoSQL في المشاريع الكبيرة التي يتم تخزيين الاف من البيانات في ثواني وايضًأ سحب الاف من البيانات فـ اعتمدت الشركات الكبيرة علي ان هذا النوع من العمل قد يكون اداء RDBMS معه غير مناسب وبالنسبة للـNoSQL فهناك العديد من الأنواع لها مثل key-value stores , doc database , wide-column stores , graph database .. وتدعم العديد من قواعد البيانات اللـNoSQL اشهرهم MongoDB ثم Cassandra وايضًأ HBase ..

شكرًأ لقرايتكم 🖤🌸  منقول عن ا/ياسر الشعراوي

السبت، 29 فبراير 2020

الصيام

هل تعلمون ان هذا العالم الياباني ...بورشينوري ..اوسومي ...قد نال جائزة نوبل .للطب في 2016 ....حيث اكتشف ان الجسم حين يجوع ياكل نفسه ...على حد قوله ..... يقوم بالالتهام الذاتي ...يكتشف من خلالها ...ان جسم الانسان ...بعد تجويعه ...لاكثر من ست ساعات ....ينتج بروتينات خاصة تعمل كمكانس تقوم بتدمير كل الخلايا الضارة والتالفة .والسرطانية ..وتجميعها ...وتحويلها الى طاقة ...تساعد ذلك الجسم الجائع ...لهذا ينصح بالقيام بعملية التجويع مرتين او ثلاثة اسبوعيا ....وهنا يؤكد بعلمه على فائدة وقيمة الصيام كل اثنين وخميس ...وفائدته في شهر رمضان .... سبحان الله....سبحان الله ...هو سماها التجويع ...ونحن لدينا منذ زمن طويل اسمه الصيام ....سبحان الله ...سبحان الله والحمد لله

دور الكليتان والمثانة في جسم الانسان

تقطر الكليتان قطرة بول كل 20 ثانية وتتجمع تلك القطرات في المثانة حتى إذا امتلأت قام الإنسان لقضاء حاجته, يا لها من نعمة! فلولا هذه المثانة لما استطاع إنسان أن يَبْقَى في مكان واحد لعدة ساعات مُتتالية ولاضطر للتَرَدد على الخلاء كل (20 ثانية)، ها هو أحد المرضى أُصيب بسرطان المثانة فاستُئْصِلت وجعلوا مكانها كيسًا من الأمعاء قال له الطبيب: «لما كانت لك مثانة طبيعية مِنْ خَلقِ الله كُنتَ تَشعر بامتلائها فتقوم للخلاء أما الآن فلن تشعر هذه المثانة الصناعية بالامتلاء فيلزمُك أن تقوم للخلاء كل ساعة من ليل أو نهار وإلا انفجرت فيك وحدثت الوفاة» فهل شعرت أخي بنعمة الله عليك؟.
ألم تر أن الله جعل لمثانتك عضلات تنقبض فيسهل تفريغها من البول في ثوان ولولا هذه العضلات لاحتجت إلى (ربع ساعة) لتفريغها في كل مرة!
فالحمد لله على نعمه التي لا تحصى......وفى انفسكم افلا تبصرون..
هل من قائل سبحان الله..
جميع الحقوق محفوظة © 2013 A-gh
تصميم : يعقوب رضا