ماهي عملية تسجيل الصور؟ وما هي تطبيقاتها؟

ما تسجيل الصور(Image Registration)؟

يعَرَّفُ تسجيل الصور على أنه عملية نقل عدة صور، أخذت في أوقات مختلفة أو من زوايا مختلفة أو باستعمال معدات تصوير مختلفة، لنفس المشهد إلى نظام إحداثيات موحد. فعلى سبيل المثال، إذا أخذنَا صورة لكتاب على طاولة من زاويتين مختلفتين (كما في الشكل 1)، فإن عملية تسجيل الصور تحدِد عدة مواضع تتطابق في الصورتين، ثم تحوَّل الصورة الأولى إلى إحداثيات الثانية لتتلاءما، فتبدوان وكأنهما التُقِطتا من نفس الزاوية [1] [2] [3].

الشكل 1: النقطة الحمراء ذات الإحداثيات (x1, y1)  في الصورة على اليسار تطابق النقطة الحمراء على اليمين ذات الإحداثيات (x2, y2). يهدف تسجيل الصور إلى تحويل إحدى الصورتين، بحيث تصير النقطة الحمراء بنفس الإحداثيات في كلتا الصورتين.

كيف يتم تسجيل الصور؟

تستخدَم عدة طرق من أجل تسجيل الصور من أشهرها «النهج القائم على السمات-Feature based approaches ». يتبع هذا النهج أربع مراحل من أجل الحصول على صور متوائمة. في البداية، يتم الكشف عن السمات المميزة  في كلتا الصورتين وتوصيفها. ثم تتم مطابقة هذه السمات مع مثيلاتها في الصورة الأخرى لتُستخدم في حساب معاملات التحويل الهندسي بين الصورتين. في النهاية، تتم مواءمة الصورتين باستخدام معاملات التحويل التي تم حسابها، والتي تربط بين إحداثيات الصورتين[1][4].

الكشف عن السمات وتوصيفها

في المرحلة الأولى، يتم الكشف عن السمات المميزة لكلتا الصورتين ثم توصيفها، أي وصف المنطقة المحيطة بهذه السمة. وتعَدُّ «السمات – keypoints» نقاطاً مميزة في الصور، كالزوايا والحواف والبقع، يمكِن توظيفها لإجراء عملية تسجيل الصور. ومن أهم الخصائص التي تتميز بها هذه السمات، أنها ثابتة أمام التغييرات التي قد تخضع لها الصورة من إزاحة أو تكبير أو تصغير أو دوران. فزاوية منزل، مثلا، تظل ملحوظة ومميزة مهما طبقنا عليها من تحويلات. في عملية التوصيف، يتم إلحاق موَصِّف لكل سمة تم كشفها. يحمل هذا الموصف وصفاُ دقيقاٌ للمساحة المحيطة بالسمة من أجل معرفة موقع السمة من الصورة [1][2].  

مطابقة السمات

بعد تحديد السمات وتوصيفها، تتم مطابقة سمات الصورتين، حيث تربَط كل سمة في إحدى الصورتين بمثيلتها في الصورة الأخرى. ويتِم هذا بمقارنة موصِّفات كل سمة في إحدى الصور بموصفات السمات في الصورة الأخرى. ثم بربط السمتين ذات الموصفات المتشابهة [1].

الشكل 2: مطابقة السمات

حساب معاملات التحويل الهندسي بين الصورتين

تستعمَل السمات المتطابقة في حساب معاملات التحويل الهندسي بين الصورتين، التي تجتمِع في مصفوفة تدعى مصفوفة التحويل. تصف هذه المصفوفة التشوهات الهندسية التي ينبغي تطبيقها على إحدى الصورتين لتوائم الأخرى. ويتم حساب معاملاتها بحل نظام من المعادلات الخطية [2].

الشكل 3: مثال لمصفوفة تحويل تدعَى الهوموغرافية، ويمثِّل كل عنصر من عناصرها معاملا لتحويل هندسي كالدوران والإزاحة والتحجيم (التكبير أو التصغير) وغيرها.
الشكل 4: العلاقة التي تربط إحداثيات سمة من الصورة الأولى بإحداثيات مثيلاتها من الصورة الثانية.

تحويل الصورة وإعادة تشكيلها

بعد الحصول على مصفوفة التحويل، تصير عملية تحويل صورة وإعادة تشكيلها لتلائم الأخرى ممكنة. في هذه المرحلة، يتم تطبيق مصفوفة التحويل على جميع نقاط الصورة الأولى لتتواءم مع الأخرى [3].   

الشكل 5: عملية تسجيل الصورتين (أ) و(ب)، حيث تمَثِّل (ج) و(د) السمات التي تم كشفها في الصورتين، وتبرِز (هـ) عملية مطابقة السمات، بينما تمثل (و) الصورة الناتجة عن عملية التسجيل.

تطبيقات تسجيل الصور

تتسع دائرة تطبيقات تسجيل الصور لتَسَعَ التطبيقات الطبية والعسكرية وغيرها الكثير. ففي مجال التصوير التشخيصي الطبي، مثلا، يحتاج الطبيب إلى مواءمة صور الرنين المغناطيسي بالصور المقطعية المحوسبة للمريض من أجل تشخيص حالته بشكل دقيق. أما عسكرياً، فيمكن استخدام تسجيل الصور من أجل التعرف التلقائي على الأهداف. وفي المجال البيئي، يستخدم العلماء تسجيل الصور في تتبع حركة الأنهار الجليدية، وقياس مدى سرعة تحركها لمعرفة مدى تأثير تغير المناخ على الأنهار الجليدية[5][6].

الشكل 6: استخدام تسجيل الصور في مجال التصوير التشخيصي الطبي

المصادر

[1] Image Registration: From Scale-invariant feature transform to Deep Learning

[2] How to speed up Image Registration with OpenCV by 100x

[3] Feature Based Image Alignment using OpenCV (C++/Python)

[4] Geometric registration for digital images by using Speeded Up Robust Features Algorithm under Android

 [5] Image alignment and registration with OpenCV

 [6] Observing glacier change from space

ما هي لغة بايثون Python ومميزاتها؟ اعرف 8 استخدامات لها

البايثونPython هي لغة برمجة عالية المستوى تستخدم للأغراض العامة ومنتشرة على نطاق واسع. تم إنشائها بواسطة Guido van Rossum في عام 1991 وتم تطويرها بواسطة Python Software Foundation. صممت بالتركيز على قابلية قراءة الكود، حيث يسمح تركيبه للمبرمجين بالتعبير عن مفاهيمهم في عدد أقل من سطور التعليمات البرمجية. وهي لغة برمجة تتيح لك العمل بسرعة ودمج الأنظمة بشكل أكثر كفاءة. وهناك نسختان رئيسيتان من بايثون هما: بايثون 2 وبايثون 3 وكلاهما مختلف عن الآخر تمامًا. [1]

الفرق بين python 2 و Python 3

كلاهما يأتي مع الكثير من الميزات ودعم المكتبة، وعلى الرغم من توقف الدعم الرسمي لـ Python 2.x في عام2020 ، لا تزال لغة بايثون 2 مستخدمة على نطاق واسع لتطوير وإصلاح الأدوات الحالية.

وقد تم تطوير لغة البايثون 3 في شهر ديسمبر عام 2008، وذلك بهدف معالجة عيوب التصميم الأساسي وتصحيحها بالإضافة الى تحديث اللغة بشكلٍ عام، علاوة على إزالة الطرق القديمة لتنفيذ البرامج. لهذا السبب أصبحت لغة البايثون 3 غير متوافقة تمامًا مع لغة البايثون 2 وهذا ما فرض على معظم المطورين والمبرمجين تعلم لغة البايثون 3 وإعادة كتابة الأكواد البرمجية القديمة التي تمت كتابتها بلغة البايثون 2 كي تتوافق مع الإصدار الجديد من هذه اللغة البرمجية. [2]

مميزات لغة بايثون python

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

أهم ما يميز لغة بايثون أيضاً أن مصادرها متاحة مجاناً ولا حاجة لدفع الأموال للحصول عليها. كما أن التحديثات الخاصة بها متاحة أيضاً ويمكنك الحصول عليها بسهولة.

ويعمل المبرمجون على تطوير هذه اللغة باستمرار.

لغة البايثون بها مكتبة متكاملة تساعدك على التعامل مع مجموعة مختلفة من العناصر مثل التعامل مع HTML، أو XML، أو GUI.

تتميز أيضاً أنها سريعة للغاية في عملية تطوير التطبيقات المختلفة. ومتاحة للاستخدام على مجموعة مختلفة ومتعددة من الأنظمة مثل Linux ، Windows، Macintosh. [3]

فيم تستخدم لغة بايثون Python؟

1. الذكاء الاصطناعي والتعلم الآلي. فنظرًا لأن Python هي لغة برمجة مستقرة ومرنة وبسيطة، فهي مثالية لمختلف مشروعات التعلم الآلي (ML) والذكاء الاصطناعي (AI).

2. تحليل البيانات. ويعد تحليل البيانات مجالًا سريع التطور يستخدم فيه برمجة Python. وتعتبر لغة Python اللغة الأسهل والأكثر مرونة لعلوم البيانات والتحليلات منطقية. ومن الجدير بالذكر أنها سريعة نسبيًا وسهلة الاستخدام لتحليل البيانات.

3. رسم الخطوط البيانية. ويعد الرسم البياني مجال اهتمام آخر شائع ومتطور، وبما أن البايثون لغة مفتوحة المصدر فإنها توفر مجموعة متنوعة من مكتبات الرسوم البيانية بالإضافة لجميع أنواع الميزات.

وسواء كنت تبحث عن تمثيل بياني بسيط أو مخطط كامل، يمكنك العثور على مكتبة تلائم احتياجاتك. مثل مكاتب: Pandas و Plotly.

4. برمجة التطبيقات. يمكنك برمجة جميع أنواع التطبيقات باستخدام Python. كما يمكن استخدام البايثون لقراءة وإنشاء أدلة الملفات، وإنشاء واجهات المستخدم الرسومية وواجهات برمجة التطبيقات، سواء كانت تطبيقات الصوت والفيديو أو تطبيقات التعلم الآلي، فيمكنك إنشاؤها جميعًا باستخدام Python.

5. تطوير الويب. وتعد لغة البايثون خيارًا رائعًا لتطوير الويب. هذا يرجع إلى أن هناك العديد من مساحات العمل خاصة بلغة البايثون وتستخدم لتطوير الويب، مثل Django و Pyramid وFlask. وتم استخدام هذه المساحات لإنشاء مواقع وخدمات مثل Spotify و Reddit و Mozilla بالفعل.

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

6. تطوير الألعاب. فعلى الرغم من كونها بعيدة عن اعتبارها معيارًا صناعيًا في تطوير الألعاب، إلا أنه من الممكن إنشاء ألعاب بسيطة باستخدام لغة البايثون. هذا يعني أنها يمكن أن تكون أداة مفيدة لتطوير نموذج أولي بسرعة.

7. تطوير اللغة. تستخدم لغات عديدة مثل Cobra و CoffeeScript و Go جميعها صيغة مشابهة للغة بايثون. وهذه الحقيقة تعني أيضًا أن بايثون لغة جيدة كبداية. إذا كنت جديدًا تمامًا في البرمجة، فإن فهم لغة Python يمكن أن يساعدك على التفرع إلى مجالات أخرى ولغات أخرى بسهولة أكبر.

8. عالم المال. يتم استخدام Python بشكل متزايد في عالم المال، غالبًا في مجالات مثل التحليل الكمي والنوعي. ويمكن أن تكون أداة قيمة في تحديد اتجاهات أسعار الأصول والتنبؤات، وكذلك في أتمتة سير العمل عبر مصادر البيانات المختلفة. وكما ذكرنا سابقًا، تعد Python أداة مثالية للعمل مع مجموعات البيانات الضخمة، وهناك العديد من المكتبات المتاحة للمساعدة في تجميع المعلومات ومعالجتها. لهذا السبب، فهي إحدى اللغات المفضلة في مجال عالم المال. [4]

المصادر

Python.org

Scaler.com

Geeksforgeeks
Futurelearn

تاريخ برمجة لغة السي C ومميزاتها وعيوبها

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

تاريخ برمجة لغة السي C

لغة C هي لغة برمجة تم تطويرها في أوائل السبعينيات من قبل عالم الكمبيوتر الأمريكي دينيس إم ريتشي في مختبرات بيل (مختبرات AT&T Bell سابقًا). تم تصميم لغة C كلغة بسيطة لاستخدامها في كتابة أنظمة التشغيل لأجهزة الكمبيوتر الصغيرة، مثل DEC PDP 7، ذات الذاكرة المحدودة للغاية مقارنة بأجهزة الكمبيوتر المركزية في تلك الفترة. تم ابتكار اللغة خلال الفترة 1969-1973، جنبًا إلى جنب مع التطوير المبكر لنظام التشغيل UNIX. في ذلك الوقت كان يعتمد على CPL (لغة البرمجة المدمجة)، والتي تم تكثيفها لأول مرة في لغة البرمجة B. ولغة B وهي لغة برمجة كمبيوتر مجردة، تم إنشاؤها في 1969–1970 بواسطة كين طومسون، عالم الكمبيوتر الأمريكي وزميل ريتشي. قام ريتشي لاحقًا بإعادة كتابة الميزات واستعادتها من CPL لإنشاء لغة ال C وأعاد في النهاية كتابة نظام التشغيل UNIX باللغة الجديدة. وعندما تم تحسين نظام UNIX، حدثت سلسلة من التغييرات في لغة C بين عامي 1977 و 1979.

في منتصف الثمانينيات من القرن الماضي، أصبح من المهم وضع معيار رسمي لـ C، حيث تم استخدام هذه اللغة في المشاريع الخاضعة للعقود التجارية والحكومية. وفي عام 1983 أنشأ المعهد الوطني الأمريكي للمعايير (ANSI) لجنة قامت بتعديل اللغة وتوحيدها بشكل أكبر. ومنذ ذلك الحين تمت الإشارة إلى C على أنها ANSI Standard C، ولا تزال تحظى بشعبية في عالم أنظمة التشغيل الشبيهة بـ UNIX. وأصبحت لغة C واحدة من أكثر لغات البرمجة شيوعًا والمستخدمة في كتابة برامج وتطبيقات النظام الأخرى. وقد ظهر للغة السي لغات مشتقة عنها مثل: C و Objective C و C * و C # و C ++ المستخدمة على نطاق واسع. بينما ظهرت لغة البرمجة Java في 1994 كمجموعة فرعية مبسطة من C للنشر عبر الإنترنت وللاستخدام في الأجهزة المحمولة ذات الذاكرة المحدودة أو قدرات المعالجة المحدودة. ]1[

مميزات لغة السي C للبرمجة

  • لغة متوسطة المستوى، تجمع بين ميزات اللغات عالية المستوى ومنخفضة المستوى. حيث يمكن استخدامها للبرمجة منخفضة المستوى، مثل البرمجة النصية لبرامج التشغيل والنواة. كما تدعم وظائف لغات البرمجة عالية المستوى، مثل البرمجة النصية لتطبيقات البرامج وما إلى ذلك.
  • السي هي لغة برمجة منظمة تسمح بتقسيم برنامج معقد إلى برامج أبسط تسمى الوظائف. كما تسمح بحرية نقل البيانات عبر هذه الوظائف.
  • توفر لغة السي إمكانية التحكم في الذاكرة.
  • تعد لغة الـ C اكثر اللغات البرمجية المطلوبة والمتداولة في عالم البرمجة.
  • تتميز بأنها لغة تتحدث وتتطور باستمرار.
  • من مميزات لغة السي أيضاً أنها لغة محمولة تستخدم في التطبيقات والبرامج التي تستخدم في منصات كثيرة.
  • لغة السي حساسة لحالة الأحرف مما يعني أن الأحرف الصغيرة والكبيرة يتم التعامل معها بشكل مختلف.
  • تحتوي لغة السي على مكتبة غنية توفر عددًا من الوظائف المضمنة. كما توفر تخصيصًا ديناميكيًا للذاكرة.
  • تنفذ الخوارزميات وهياكل البيانات بسرعة، مما يسهل العمليات الحسابية بشكل أسرع في البرامج. وقد أتاح ذلك استخدام لغة C في التطبيقات التي تتطلب درجات أعلى من الحسابات مثلMATLAB و Mathematica. [2]

من خلال الاستفادة من هذه المزايا، أصبحت لغة C مهيمنة، وانتشرت بسرعة خارج Bell Labs. وحلت لغة السي محل العديد من اللغات المعروفة في ذلك الوقت، مثلALGOL وB وPL / I وFORTRAN وغيرها. وأصبحت لغةC متاحة على مجموعة واسعة من المنصات، بدءًا من المتحكمات الدقيقة المضمنة وصولاً لأجهزة الكمبيوتر العملاقة.

عيوب برمجة لغة السي C

لغة سي تحتوي على سلبيات ضئيلة مقارنة بالمميزات الكثيرة بها مثل:

  • في لغة البرمجة C لا يتم اكتشاف الأخطاء بعد كل سطر من التعليمات البرمجية. بدلاً من ذلك يظهر المترجم جميع الأخطاء دفعة واحدة بعد كتابة البرنامج. مما يجعل التحقق من التعليمات البرمجية مهمة معقدة للغاية في البرامج الكبيرة.
  • لا تقوم لغة C بتطبيق مفهوم مساحات الأسماء، بل يتم تنظيم مساحة الاسم كسلسلة من الأوامر للسماح بإعادة استخدام الأسماء في سياقات مختلفة. وبدون مساحات الاسم، لا يمكننا التصريح عن متغيرين بنفس الاسم.
  • تغيب المعالجة الاستثنائية في لغة السي، ومعالجة الاستثناءات هي واحدة من أهم ميزات لغات البرمجة. [3]

شكل لغة السي

#include
int main() {
// printf() displays the string inside quotation
printf(“Hello, World!”);
return 0;
}

استخدامات لغة الـ C

يتم تطوير برامج النظام وتطبيقات سطح المكتب في الغالب من خلال استخدام لغة C. وفيما يلي بعض الأمثلة على تطبيقات برمجة لغة سي:

  • أنظمة التشغيل. حيث تم استخدام لغة برمجة عالية المستوى مبنية عن طريق لغة البرمجة C لإنشاء أول نظام تشغيل وهو UNIX. وفي وقت لاحق، تم استخدام لغة البرمجة C لكتابة Microsoft Windows والعديد من تطبيقات Android.
  • واجهة المستخدم الرسومية (GUI). فمنذ البداية، كان Adobe Photoshop أحد أكثر برامج تحرير الصور استخدامًا، وقد تم إنشاؤه بالكامل بمساعدة لغة البرمجة C. علاوة على ذلك، تم استخدام C لتطوير Adobe Illustrator وAdobe Premiere وهي أشهر برامج التصميم.
  • الأنظمة المضمنة. وغالبًا ما تُعتبر برمجة C أفضل خيار لبرامج البرمجة النصية وبرامج التشغيل للأنظمة المضمنة، من بين لغات البرمجة الأخرى.
  • متصفحات الويب. حيث يمكنك أيضًا استخدام لغة البرمجة C / C ++ لإنشاء متصفح الويب Google Chrome ونظام ملفات Google. كما يتضمن مجتمع Google Open Source العديد من المشاريع التي تتم صيانتها بمساعدة لغة البرمجة C / C ++.
  • تطوير مترجم. إذ يمكنك استخدام لغة البرمجة C على نطاق واسع لتطوير المترجمات، وهو أحد أكثر تطبيقاتها شيوعًا.
  • الألعاب والرسوم المتحركة. نظرًا لأن لغة البرمجة C أسرع بكثير من Python أو Java، فقد اكتسبت شعبية في صناعة الألعاب. تمت كتابة بعض الألعاب الشهيرة، مثل لعبة Dino و Tic-Tac-Toe وSnake بلغة البرمجة C. [4]

المصادر

  1. Britannica
  2. Geeks for geeks
  3. interview bit
  4. Data flair

ما الفرق بين لغة الآلة ولغة التجميع؟

أصبحت لغة البرمجة الوحدة الأساسية لعالم التكنولوجيا اليوم وهي عبارة عن مجموعة الأوامر والتعليمات التي نقدمها للآلات لأداء مهمة معينة فعلى سبيل المثال، إذا أعطيت مجموعة من التعليمات لجمع رقمين، فسيقوم الجهاز بذلك نيابة عنك ويخبرك بالإجابة الصحيحة وفقًا لذلك. [١] في عالم الكمبيوتر، لدينا أكثر من 500 لغة برمجة لها تركيبها وميزاتها الخاصة. حيث تحتوي كل لغة برمجة على مجموعة فريدة من الكلمات الأساسية التي تُستخدم لإنشاء مجموعة من التعليمات. وقد تم تطوير آلاف من لغات البرمجة حتى الآن، ولكن لكل لغة غرضها المحدد. وتختلف هذه اللغات في مستوى قربها من لغة الإنسان وبعدها عن لغة الحاسوب. بناءً على هذا الاختلاف يمكن تصنيفها إلى فئتين:

لغات برمجة منخفضة المستوى

هي لغات البرمجة الأقرب للغة الحاسوب من لغة الإنسان، ويتم تمثيلها في أشكال 0 أو 1. اللغات التي تندرج تحت هذه الفئة هي لغة مستوى الآلة ولغة التجميع.

لغات برمجة عالية المستوى

هي لغات البرمجة التي تسمح للمبرمج بكتابة البرامج المستقلة وتعتبر عالية المستوى لأنها أقرب إلى اللغات البشرية وتشمل تقريباً جميع لغات البرمجة المتبقية. [٢]

لغة الآلة (machine language)

لغة الآلة هي اللغة الرقمية الأساسية التي يمكن للحاسوب فهمها وتنفيذ التعليمات من خلالها علاوةً على أن لغة الآلة هي اللغة الوحيدة التي يمكن لجهاز الحاسوب أن يقوم بتشغيلها مباشرة دون إجراء أي تحويلات أو تعديلات عليها. تتم قراءتها بواسطة وحدة المعالجة المركزية (CPU)، وتتكون من سلسلة أرقام ثنائية التشفير مؤلفة من أصفار وآحاد (0،1). وتُعتبر لغة الآلة لغة منخفضة المستوى ( Low-level Language ) فهي أولى لغات البرمجة وأصعبها. لكن دونها لا يمكن ترجمة اللغات عالية المستوى، فمثلاً يجب ترجمة لغة ++C إلى لغة الآلة قبل تشغيل الكود على الحاسوب. بينما لا تحتاج لغة الآلة لمترجم، ويفهمها الحاسوب بشكل مباشر. [٣]

مثال عن كود بلغة الآلة:

01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100

نظام التشفير الثنائي (Binary system)

النظام الثنائي هو عبارة عن مجموعة من التعليمات تستعمل لتتحكم بالحاسب، نتعامل في هذا النظام فقط مع رمزين فقط هما 0 و 1. والتي يفهمها الحاسب بشكل فيزيائي بعملية on/off للإشارات، حيث أن الرقم 1 يمثل الوضع الفعال أو الوضع on والرقم 0 يمثل الوضع غير الفعال أو الوضع off. وعند قراءة أي رقم في نظام العدِّ الثنائي فإنَّنا نقوم بقراءة كل رمز منفرداً. فعلى سبيل المثال الرقم 2 = (100) يقرأ واحد صفر صفر أو يقرأ من اليمين صفر صفر واحد، ولا يقرأ مئة. [٤] لتحويل أي عدد صحيح موجب من النظام العشري إلى الثنائي نستعمل طريقة الباقي Remainder Method الموضحة كالآتي:

  • قسم العدد العشري على الأساس 2.
  • أحسب باقي القسمة الذي يكون أما 1 أو 0.
  • استمر في عملية القسمة وتحديد الباقي حتى يصبح خارج القسمة الصحيح صفراً.
  • يتكون العدد الثنائي المطلوب من أرقام الباقي مقروءة من الباقي الأخير إلى الأول .
الباقي الناتجالعدد
022÷4
012÷2
111
بالتالي العدد 4 في التشفير الثنائي هو 100

وللتحويل من نظام ثنائي لنظام عشري نضرب بالأساس 2:

02^(0)×0
02^(1)×0
42^(2)×1
4=4+0+0 1×2^(2)+0×2^(1)+0×2^(0) 100
تحويل الرقم أربعة من ثنائي لعشري

لغة التجميع (Assembly)

هي أكثر من لغة منخفضة المستوى وأقل من اللغة عالية المستوى لذلك فهي لغة وسيطة حيث أنها تشبه لغة الآلة لكن أكثر تطوراً. تستخدم لغة التجميع الأرقام والرموز والاختصارات في بعض المواضع بدلاً من 0 و1. على سبيل المثال: للجمع والطرح والضرب تستخدم رموز مثل Add وsub وMul. [٥]
مثال عن كود بلغة التجميع:

bdos    equ    0005H    ; BDOS entry pointstart:  mvi    c,9      ; BDOS function: output string        lxi    d,msg$   ; address of msg        call   bdos        ret             ; return to CCPmsg$:   db    'Hello, world!$'end     start

الفارق بين لغة الآلة ولغة التجميع

  • لا يتم فهم لغة الآلة إلا بواسطة أجهزة الكومبيوتر أما لغة التجميع يفهمها البشر وليس الآلات.
  • يتم تمثيل بيانات لغة الآلة بالترميز الثنائي أو السداسي عشري أو الثماني أما في لغة التجميع يتم الاستعانة برموز سهلة الحفظ. لغة التجميع أسهل على البشر من لغة الآلة.
  • لا يمكن إجراء تعديلات أو إصلاح الأخطاء في لغة الآلة بينما يمكن التعديل في لغة التجميع بسهولة.
  • التنفيذ سريع في لغة الآلة لأن جميع البيانات موجودة بالفعل في تنسيق ثنائي أما في لغة التجميع فالتنفيذ بطيء مقارنةً بلغة الآلة. [٥]

المصادر:

  1. Geeksforgeek.org
  2. Javatpoint.com
  3. Sciencedirect.com
  4. Electronics-tutorials.ws
  5. Geeksforgeek.org

الواقع الافتراضي في التعليم

هذه المقالة هي الجزء 5 من 9 في سلسلة ما هو الواقع الافتراضي وكيف سيشكل مستقبلنا؟

يعد مجال التعليم من أهم المجالات التي تأثرت بالتطور الرقمي، فعاصرنا انتقال التعليم من الكتب المطبوعة إلى الكتب والنصوص الرقمية. وبعد جائحة الكورونا لجأ العالم إلى التعليم عن بعد باستخدام تقنيات الفيديو. والآن يدخل الواقع الافتراضي في هذا المجال لدفعه خطوة جديدة إلى الأمام.

التعليم التقليدي والتعليم باستخدام الواقع الافتراضي

في دراسة أجرتها «جامعة وارويك -University of Warwick » وجِد أن الطلاب الذين استخدموا الواقع الافتراضي في التعلّم كانوا أكثر قدرة على تذكر المعلومات المشروحة لهم. بالإضافة لانطباعهم الإيجابي مقارنة بطرق التعليم التقليدية.[1]

إيجابيات استخدام الواقع الافتراضي في التعليم

يضيف استخدام الواقع الافتراضي العديد من الإيجابيات على أسلوب التعليم وأهمها:

1- التعلّم بالتجربة

توجد العديد من التجارب التي يصعب على الطلاب إجراءها بسبب نقص المعدات أو عدم القدرة على توفير الموارد. لذلك يتيح الواقع الافتراضي إجراء التجربة في بيئة افتراضية توفر جميع اللوازم لأداء التجربة لجميع الطلاب.

2- التطوير الإبداعي

بسبب درجة الحرية الكبيرة التي يوفرّها الواقع الافتراضي فإنه يعطي مجال واسع للطلاب بتطوير الجانب الإبداعي لهم. مثلًا يمكن للطالب أن يقوم بتجارب قد يكون من الصعب إجراءها في الواقع لقلة التجهيزات أو سعر المواد المرتفع. أيضًا يعطي الطالب المزيد من الوقت لإجراء التجارب، مما ينعكس إيجابيا على تفكيره وعلى تجاربه.

3- التعليم المرئي

يستطيع المعلّم شرح العديد من الأفكار بطريقة أفضل وأجمل عن طريق إضافة المؤثرات البصرية التي تساعد على ذلك. فمثلًا يستطيع إضافة ألوان تشد الطالب عند شرح فكرة مهمة.

4-المرونة

تعطي مرونة للمعلم بحيث يمكنه إعداد البيئة الافتراضية بما يتناسب مع طبيعة المحاضرة وهذا يوفر سهولة كبيرة في إيصال الفكرة للطلاب.

المواد الدراسية الأكثر استفادة من استخدام الواقع الافتراضي

1- الجغرافيا

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

2- التاريخ

يمكّن الواقع الافتراضي الطلاب من عيش الوقائع التاريخية من جديد والتفاعل معها، كما يمكنهم من استكشاف المدن القديمة للحضارات المندثرة بدلًا من الاكتفاء بالقراءة عنها، الأمر الذي يعزز الفكرة ويثبتها في ذهنه أيضا. مثلًا يمكن للطالب أن يتجول في مدينة بابل القديمة وأن يتجول ضمن أسواقها ويرى حدائقها المعلقة.

3- العلوم

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

4- التعليم المهني

يساعد تطبيق الواقع الافتراضي في هذا المجال على توفير الكثير من النفقات فمثلًا يمكن الاستغناء عن الرحلات التعليمية إلى المعامل، أو توفير نفقات شراء المحركات أو القطع الإلكترونية، وبدلًا من ذلك يمكن لكل طالب التعامل مع ها بشكل تفاعلي عن طريق الواقع الافتراضي.[2]

تطبيقات الواقع الافتراضي في التعليم

1- « برنامج بعثة غوغل الرائد –Google Expedition Pioneer Program»

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

2- « NearPod»

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

3-« Sesqui VR»

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


4- « ThingLink»

هي مجموعة دروس إضافية مصممة لطلاب المرحلة الابتدائية تغطي العديد من المحاور كالفن واللغات والجغرافيا، ويتيح التطبيق للطلاب السفر عبر بلدان ومناطق العالم. وتعلم شيء من كل بلد[3]، يمكن زيارة الموقع من هنا.

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

المصادر
LSU Online & Continuing Education-[1]
Future Learn-[2]
University Of Toronto -[3]

الواقع المعزز والواقع الافتراضي

هذه المقالة هي الجزء 4 من 9 في سلسلة ما هو الواقع الافتراضي وكيف سيشكل مستقبلنا؟

ما المقصود بالواقع المعزز-Augmented Reality ؟

هو أحد الإبداعات التكنولوجية الحديثة التي ازداد استخدامها في الآونة الأخيرة وما زال في ازدياد مع دخولها في العديد من التطبيقات والأعمال. يمكن فهم تعريف هذه التقنية من اسمها، فالواقع المعزز يعتمد على تعزيز الواقع الذي نراه بالعين المجرّدة بمعلومات إضافية كالصوت أو النصوص أو المؤثرات بصرية لتحقيق أهداف معينة.[1]

تطبيقات الواقع المعزز

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

1- أنظمة الملاحة:

يُستخدم الواقع المعزز في أنظمة الملاحة ضمن السفن والطائرات وحتى السيارات ذات خاصية القيادة الذاتية. وذلك لرسم خطوط على مسار المركبة لتحديد الطريق الصحيح تلقائيًا أو عرض معلومات حول المسافات والسرعة والمركبات المجاورة أمام المستخدم وبشكل تفاعلي.

2- الرياضة:

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

3- التسويق:

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

4- أنظمة الحرب الالكترونية:

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

5- الطب:

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

6- الألعاب:

لعل أشهرها كان لعبة « Pokemon GO» والتي تعتمد على ملاحقة شخصيات ضمن الواقع ويمكن رؤيتها على شاشة الهاتف ضمن أماكن معينة. [2]

كيف يعمل الواقع المعزز؟

يعتمد عمل وتطبيق الواقع الافتراضي على وجود كاميرا عالية الدقة. لتوضيح الفكرة سوف نعطي مثال لتطبيق للتحكم بالروبوت باستخدام الواقع المعزز، يتكون النظام من ثلاثة أجزاء رئيسية، أولًا العنصر الفيزيائي وهو الروبوت، ثانيًا « التوأم الرقمي-Digital Twin» وهو نسخة رقمية ثلاثية أبعاد عن الروبوت، ثالثًا البرنامج على الهاتف الذكي.

  1. يقوم المعالج بمعالجة الصور الملتقطة من كاميرا الهاتف أو النظارات الذكية. ثم يعمل على تحليلها وإدراك العناصر الموجودة فيها باستخدام تقنيات «منظور الحاسب – Computer Vision» وتقنيات الذكاء الصنعي.
  2. يقوم بمطابقة العنصر مع صورة ثلاثية أبعاد طبق الأصل تسمى بالتوأم الرقمي وفي حال المطابقة يتم تفعيل الواقع المعزز.
  3. يرسل الحساس الموجود ضمن نظام الروبوت المعلومات باستمرار إلى السحابة الالكترونية والتي تحتوي على التوأم الرقمي والذي يحاكي حركة الجزء الحقيقي.
  4. يتم إرسال المعلومات بعد تنظيمها إلى برنامج الهاتف الذكي والذي بدوره يؤدي إلى تغير المعلومات الظاهرة على الشاشة بشكل متزامن مع حركة الجزء الأساسي التي تلتقطها الكاميرا.
  5. يتفاعل المستخدم مع هذا النظام عن طريق أوامر موجودة على الشاشة فعندما يضغط على أمر تحريك معين ينتقل الأمر إلى التوأم الرقمي وبعدها إلى محركات الروبوت الحقيقي. رأينا أن الواقع المعزز يعتمد على الأحداث الواقعية ويضيف إليها معلومات للمساعدة على التحكم أو تحقيق أهداف أخرى.

«الواقع الافتراضي- Virtual Reality »

تطبيق الواقع الافتراضي هو عمليةُ محاكاةٍ لتجربة معينة أو إحساس معين ضمن عالم ثلاثي الأبعاد يتم توليده من قبل معالجات رسومية خاصة. يتفاعل معها المستخدم عن طريق حواسه، وبالتالي يعتمد عمل الواقع الافتراضي على حواس المستخدم وبشكل خاص على البصر والسمع. ويكون المستخدم وكأنه جزء من هذا العالم حيث يتفاعل مع عناصره كما يتفاعل مع عناصر العالم الحقيقي، مثلًا يمكنك القرع على الباب في العالم الافتراضي وتسمع صوت القرع وكأنه حقيقي.

الفرق بين الواقع الافتراضي والواقع المعزز

يتم الخلط غالبًا بين مفهوم الواقع الافتراضي والواقع المعزز، ولكنهما مختلفان بشكل كبير. والاختلاف يبدأ من معنى الاسمين مرورًا بأساليب البرمجة والتطبيق وانتهاءًا بالوظيفة.[3]

تكمن أهم الفروقات في النقاط التالية:

التجهيزات:

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

المعالج:

تطبيقات الواقع الافتراضي تحتاج إلى معالجات عالية الأداء تكون خاصة بها، على عكس تطبيقات الواقع المعزز والتي يمكن تنفيذها عن طريق معالجات الهواتف الذكية.

الوظيفة:

الواقع الافتراضي يتيح للمستخدم خوض تجربة خيالية أو اختبار حالة معينة قبل تنفيذها واقعيًا، بينما الواقع المعزز يهدف إلى تطوير استخدام التطبيقات الواقعية عن طريق إضافة ميزات جديدة لرؤية المستخدم.

المصادر:

[1]- Investopedia
[2]- The Franklin Institute
[3]-pcmag

مقدمة عن تعلم الآلة

مقدمة عن تعلم الآلة

ما هو مفهوم «تعلم الآلة-machine learning»؟

تعلم الآلة هو فرع من فروع «الذكاء الاصطناعي-artificial intelligence» المهتم بجعل أجهزة الكمبيوتر تعمل دون أن تتم برمجتها بشكل صريح. أي يهتم بدراسة خوارزميات التعلم القائمة بشكل أساسي على جعل أجهزة الكمبيوتر تتعلم وتتطور بمفردها دون الحاجة إلى أوامر برمجية محددة وصريحة. بعبارة أخرى، هو الفرع المهتم بجعل الآلة تحاكي عملية التعلم في الإنسان.

الفرق بين خوارزميات تعلم الآلة والخوارزميات التقليدية

الخوارزميات التقليدية تقوم على أخذ المدخلات والأوامر البرمجية في شكل كود، وبناءً على المنطق الخاص بالأوامر البرمجية تقوم بإخراج المخرجات.
أما في حالة خوارزميات تعلم الآلة فإنها تأخذ المدخلات والمخرجات معًا فيما يسمى ب «مجموعة البيانات-data set». وبناءً على مجموعة البيانات هذه تستخرج «نموذج-model» يحتوي على المنطق أو النمط بين مجموعة المدخلات والمخرجات، ويُستخدم هذا النموذج لاحقًا مع مدخلات جديدة للحصول على مخرجات(أو توقعات).

ويمكن توضيح الفرق بينهما في الصورة التالية:

تطبيقات تعلم الآلة

تستخدم خوارزميات تعلم الآلة في المشاكل المعقدة التي يصعب وصف المنطق ورائها مثل تطبيقات «التعرف على الصوت-voice recognition». تستخدم أيضًا مع المشاكل التي تتغير بياناتها بشكل مستمر مثل أنظمة توقع الاتجاه من مبيعات السلع.

ونظرًا لكثرة مجالات استخدام خوارزميات تعلم الآلة فإن تطبيقاتها لا حصر لها.

فيما يلي بعض من هذه التطبيقات:

«محركات التوصية-recommendation engines»

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

«السيارات ذاتية القيادة-self-driving cars»

تهدف الشركات إلى تصنيع سيارات بإمكانها القيادة بأمان دون الحاجة إلى سائق. ويعتمد تصنيع هذه السيارات في الأساس على خوارزميات تعلم الآلة.

الترجمة الفورية

تعتمد الترجمة الفورية على خوارزميات تعلم الآلة، حيث أن سرعتها ومرونة ترجمة النصوص من لغة إلى أخرى بسلاسة تتطلب معالجة سريعة ونموذجًا فعّالًا، وهو ما لا يمكن عمله بالخوارزميات التقليدية.

توقع الأمراض مثل الأزمات القلبية المحتملة

تقوم خوارزميات تعلم الآلة بفحص الملفات الطبية والتاريخ المرضي للمرضى ومن خلال تحليل تلك البيانات تقدّم توقعات عن أزمات القلب المحتملة للمريض. وقد تساعد تلك النتائج في إنقاذ بعض الحالات التي قد يستعصي على الطبيب وحده ملاحظتها وتشخيصها.

تصنيفات تعلم الآلة

تنقسم مناهج تعلم الآلة إلى ثلاث فئات عامة:

«التعلم الخاضع للإشراف – supervised learning»

يعتمد هذا المنهج على تعلم الآلة من بيانات (مدخلات ومخرجات) تدريبية مُصنفة. ومن خلال تحليل هذه البيانات يتم الوصول إلى نموذج يمكن استخدامه لاحقًا مع مدخلات جديدة في تحديد أصناف المخرجات بشكل صحيح.

العنصر المُميز لمنهجية التعلم الخاضع للإشراف هو عنصر التصنيف للبيانات المدخلة، فيسهل على الآلة التعلم والتمييز بين التصنيفات المختلفة. لذلك يتم تسميته بالتعلم الخاضع للإشراف، أي الخاضع للبيانات المُصنفة.

«التعلم غير الخاضع للإشراف – unsupervised learning»

تستخدم هذه المنهجية عندما يصعب تصنيف البيانات المدخلة بشكل مُسبق. فتتعلم الآلة من مجموعة البيانات الغير مصنفة وتقوم هي بتصنيفها بناءً على اكتشاف التشابهات والاختلافات الداخلية للبيانات. لذلك يتم تسميته بالتعلم الغير خاضع للإشراف، أي الغير خاضع للبيانات المُصنفة.

«التعلم المعزز-reinforcement learning»

يختص بكيفية جعل المُبرمَج (الآلة) يتخذ القرار (الاختيار) في بيئة من أجل تعظيم المكافأة الكلية. يختلف التعلم المعزز عن التعلم الخاضع للإشراف بأنه لا يحتاج إلى أي أزواج من المدخلات والمخرجات، ولكن عوضًا عن ذلك، يتم التركيز على الأداء المباشر الذي يُحسن من المكافأة التراكمية.

تاريخ تعلم الآلة

استخدم آرثر صموئيل مصطلح «تعلم الآلة-machine learning» لأول مرة في عام 1959، وهو أمريكي عمل في شركة IBM ورائد في مجال ألعاب الكمبيوتر والذكاء الاصطناعي. في فترة الستينات كان الكتاب التمثيلي لأبحاث تعلم الآلة هو كتاب نيلسون عن آلات التعلم الذي كان يتعامل مع تصنيف الأنماط. واستمر الاهتمام بالتعرف على الأنماط في السبعينات.

في عام 1981، تم تقديم تقرير حول استخدام استراتيجيات تدريس جعلت الشبكة العصبية الاصطناعية تستطيع أن تتعرف على 40 حرفًا (26 حرفًا و10 أرقام و 4 رموز خاصة).

وفيما بعد، قدم توم ميتشل Tom M. Mitchell تعريفًا رسميًا واسع النطاق للخوارزميات التي تمت دراستها في مجال تعلم الآلة. يأتي هذا بعد اقتراح آلان تورينج Alan Turing في ورقته البحثية “الحوسبة الآلية والذكاء” ، حيث استبدل السؤال “هل يمكن للآلات أن تفكر؟” بالسؤال “هل يمكن للآلات أن تفعل ما يمكننا نحن (ككيانات تفكير) القيام به؟”.

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

مصادر

wikipedia
IBM
simplilearn

الهندسة الاجتماعية، فن اختراق البشر

الهندسة الاجتماعية، فن اختراق البشر

تلقت ريم أيميل يقول أن حساب البنك الخاص بها قد اختُرق. ولكي تستعيده بأمان وبأسرع وقت، عليها أن تدخل بعض المعلومات ذات صلة بالحساب على الفور لمساعدة مسؤولي البنك. ضغطت ريم مباشرة على الرابط المرفق، وأدخلت معلومات بطاقة البنك، والحساب في ذلك الموقع. ريم لم تتعرض للقرصنة من قبل، ولكن ليس بعد الأن فقد تعرضت لواحدة من أساليب الهندسة الاجتماعية في الاختراق التي يستخدمها المخترقين، والتي تدعى الاصطياد.

ما هي الهندسة الاجتماعية؟

في مجال الهجمات الإلكترونية، تعرف الهندسة الاجتماعية على أنها فن الاختراق النفسي للبشر للحصول على معلومات غير مصرح بها. ما يجعل من الهندسة الاجتماعية خطيرة هو اعتمادها على أخطاء الانسان، فيتركز دور المخترق على محاولة خداع الضحية باستخدام أساليب معينة للتلاعب على العامل النفسي.
حيث قال الباحث الأمني في شركة Malwarebytes «جين فيليب تاغارت –Jean Phillip Taggart» أن استخدام طرق الاختراق على البشر كان دائما المفضل لدى المخترقين.

بعض الأساليب التي تُستخدم في الهندسة الاجتماعية:

1. «برمجيات الرعب –Scareware» :

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

2. «الادعاء –pretexting»:

تعتمد هذه الطريقة على انتحال الشخصية، بحيث يعتقد الضحية أنه يتكلم مع شخص موثوق أو لديه الصلاحية. تستخدم بالغالب لسرقة معلومات حساب الأشخاص لدى البنك، أو الاحتيال على الشركات والشرطة لإعطائه معلومات معينة. في الفيديو هذا تستطيع هكر الوصول لمعلومات حساب شخصي وتغيير كلمة السر، من خلال إقناع الموظف في 90 ثانية فقط.

3. «الاصطياد –phishing»:

من أشهر الطرق حيث يرسل المخترق رسالة أو إيميل خادع بسيط لإغراء الضحية للنقر على رابط لإعادة توجيهه لصفحة مزيفة، أو ليرد عليه ببعض المعلومات الحساسة، مثل الاسم، العنوان، رقم بطاقة البنك.
حيث يمكن أن تكون الرسالة مشابهة جدا لشكل التي ترسلها شركة معينة، بحيث تخدع الضحية.
أو قد تكون من أحد أصدقائك ويجرب عليك هذه الطريقة فلا تنخدع وتعيد تسجيل الدخول إلى فيسبوك وأنت بالأصل لديك البرنامج وحسابك مسجل به فقط لكي ترى صورة لعصفور برأس فيل.
مثال: «لوكاس هوريتش –Lukas Hurych» رئيس الإنتاج في شركة Twisto ومهتم في مجال الهندسة الاجتماعية. أنشأ حساب أيميل مزيف باستخدام كنية أحد زملائه في العمل، ومع اسم الشركة. وأرسل أيميل مع رابط لفيديو عن “dj في عصرنا” على الفيسبوك.
لا يوجد مشكلة حتى الأن أليس كذلك. ما عدا أن رابط الفيديو ليس لموقع فيسبوك بل لموقع مزيف مشابه بالاسم، حيث فيسبوك هو facebook.com ولكن الموقع الذي أرسله هو “faceboo-k.cz”. ولكن زملائه لم ينتبهوا لاسم الموقع، وسرق كل معلومات تسجيل الدخول الخاصة بهم، حيث صمم واجهة مطابقة لواجهة تسجيل فيسبوك. هل يمكنك أن تخمن نسبة نجاح العملية؟
أكثر من 70% من زملائه قدموا له معلومات تسجيل دخول حسابهم على فيسبوك.
ولكن بالطبع لقد كانت فكرته هي توعية زملائه لكي لا يصبحوا ضحية.

الدوافع خلف هجمات الهندسة الاجتماعية:

وفق لدراسة منشورة في المجلة الدولية للمعلومات و أمن الشبكة بعنوان «دراسة شاملة للهجمات القائمة على الهندسة الاجتماعية في الهند » أن 40% من الهجمات هي للوصول لمعلومات خاصة، و23% لمكاسب مالية، و21% من أجل مزايا تنافسية، 11% فقط للمتعة، 10% للانتقام، 5% أمور أخرى.

من يقع ضحية لهذه الهجمات؟

وفق لدراسة أجراها «باوين بي ام –Bowen BM» و «ديفاراجن ار –Devaragan R» و «ستولفو اس –Stolfo S» في المؤتمر الدولي لتكنولوجية الأمان الداخلي بعنوان «قياس العامل البشري للأمن السبراني» أن 41% من الهجمات تكون على الموظفين الجدد، 23% العملاء والمستهلكين، 17% المختصين في تكنولوجية المعلومات، 12% الشركاء والمقاولون، 7% من يعمل في المناصب الإدارية العليا.

كيف تحمي نفسك؟


1. حمل أفضل برامج الحماية من الفيروسات والبرامج الخبيثة مثل: Kaspersky, malewarebyte.
2. تحقق من إعدادات الأمان والخصوصية على وسائل التواصل الاجتماعي.
3. استخدم مانع الإعلانات لمنع النوافذ المنبثقة والإعلانات التي قد تحمل برمجيات خبيثة.
4. تحقق من البرامج والمواقع قبل استخدامها فالوعي هو اهم سلاح لديك.

أن كنت تريد أن تتحقق ما إذا كانت معلومات أيميلك مسربة على النت، فقط قم بالدخول إلى هذا الموقع وادخل أيميلك https://haveibeenpwned.com

هل دخلت إلى الموقع؟! أريد أن أخبرك أنه تم زرع برمجة خبيثة في جهازك وسرقة بياناته.
لا لا عزيزي أنها فقط مزحة الموقع حقيقي وآمن، ولكن أريد منك البدء في التحقق والتفكير لمرتين قبل الولوج لأي رابط يُرسل لك.

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

مصادر (الهندسة الاجتماعية، فن اختراق البشر):

SSRN

science direct

research gate

Malwarebytes

Exit mobile version