eBPF: التقنية الخفية التي تراقب ما يحدث داخل نظام التشغيل لحظة بلحظة
هناك آلاف العمليات التي تحدث داخل جهاز الكمبيوتر أو الخادم في كل ثانية.
برنامج يفتح ملفًا.
تطبيق يرسل اتصالًا عبر الشبكة.
عملية جديدة تبدأ.
بيانات تنتقل بين أجزاء النظام.
ومستخدم يحاول الوصول إلى مورد معين.
لكن كيف تستطيع أدوات الأمن والمراقبة معرفة كل ما يحدث في اللحظة نفسها دون تعديل كل برنامج موجود على الجهاز؟
هنا تظهر تقنية مثيرة تسمى:
eBPF – Extended Berkeley Packet Filter.
ورغم أن الاسم يبدو معقدًا، فإن الفكرة أبسط مما يوحي به.
ما هي eBPF؟
eBPF هي تقنية تسمح بتشغيل برامج صغيرة ومقيدة داخل نواة نظام التشغيل Kernel استجابةً لأحداث معينة.
والـKernel هو الجزء الأساسي من نظام التشغيل المسؤول عن إدارة أشياء مهمة مثل المعالج والذاكرة والعمليات والأجهزة والاتصالات.
بدل تعديل نواة النظام في كل مرة نحتاج فيها إلى وظيفة جديدة، يمكن في سيناريوهات عديدة تحميل برامج eBPF لتنفيذ مهام محددة عند نقاط معينة داخل النظام.
وهذا جعل التقنية مفيدة في مجالات مثل:
مراقبة الأداء، الشبكات، الأمن السيبراني واستكشاف المشكلات.
تخيليها ككاميرات مراقبة داخل النظام
لنبسط الفكرة.
تخيلي مبنى ضخمًا يحتوي مئات الغرف والأبواب والممرات.
إذا أردتِ معرفة ما يحدث، لن يكون من العملي الوقوف خلف كل شخص طوال الوقت.
لكن يمكنك وضع نقاط مراقبة عند الأماكن المهمة.
هذا قريب من طريقة استخدام eBPF.
يمكن ربط برنامج صغير بأحداث معينة، وعندما يحدث الحدث يتم تشغيله لجمع معلومة أو تنفيذ منطق محدد.
وبذلك تستطيع أدوات المراقبة الحصول على رؤية عميقة لما يجري داخل النظام.
لماذا تعتبر هذه القدرة مهمة؟
لأن بعض المشكلات لا تظهر بوضوح من خارج التطبيق.
قد يقول المستخدم:
«الموقع أصبح بطيئًا.»
لكن أين المشكلة؟
هل التطبيق ينتظر قاعدة البيانات؟
هل هناك اتصال شبكي بطيء؟
هل المعالج مزدحم؟
هل عملية معينة تستنزف الموارد؟
أدوات المراقبة المبنية على eBPF تستطيع جمع معلومات منخفضة المستوى تساعد المهندسين على معرفة أين يضيع الوقت وما الذي يحدث أثناء تشغيل النظام.
وما علاقتها بالأمن السيبراني؟
هنا تصبح التقنية أكثر إثارة.
لأن eBPF تستطيع مراقبة أنواع من الأحداث داخل النظام، يمكن استخدام المعلومات الناتجة للمساعدة في اكتشاف سلوكيات غير طبيعية.
على سبيل المثال، قد تراقب أداة أمنية بدء العمليات أو بعض الأنشطة المتعلقة بالملفات والاتصالات، ثم تبحث عن أنماط تستحق التنبيه.
وهذا يمنح فرق الأمن رؤية أقرب إلى مكان حدوث النشاط نفسه.
لكن eBPF ليست «برنامج مكافحة فيروسات» بمفردها.
إنها تقنية يمكن أن تبني فوقها أدوات أمن ومراقبة قدرات متقدمة.
هل تستطيع eBPF إيقاف الهجمات؟
يمكن استخدامها في بعض السيناريوهات لاتخاذ قرارات أو تطبيق سياسات مرتبطة بالشبكات والأمان، لكن الأمر يعتمد على البرنامج والأداة ونقطة الربط المستخدمة.
ولهذا من الأفضل عدم تصور eBPF كدرع سحري يوقف كل هجوم.
قيمتها الأساسية تكمن في أنها تمنح الأنظمة الحديثة قابلية برمجة ورؤية عميقة في أماكن كان الوصول إليها أكثر صعوبة سابقًا.
لماذا لا نشغّل أي برنامج داخل Kernel؟
لأن الخطأ داخل نواة نظام التشغيل قد يكون خطيرًا جدًا.
ولهذا لا يُسمح عادة لبرنامج eBPF بأن يفعل ما يشاء بلا قيود.
قبل تشغيل البرنامج، تمر تعليماته بعمليات تحقق للتأكد من توافقها مع قواعد السلامة التي تفرضها البيئة.
هناك أيضًا نموذج للصلاحيات والقيود يعتمد على النظام والإعدادات المستخدمة.
وهذا جزء أساسي من فلسفة eBPF:
إعطاء قدرات قوية، لكن ضمن حدود.
الشبكات واحدة من أقوى استخداماتها
eBPF أصبحت مهمة أيضًا في عالم الشبكات الحديثة.
يمكن استخدامها لمعالجة ومراقبة حركة الشبكة في نقاط مختلفة داخل النظام، وهو أمر مفيد خصوصًا في البيئات السحابية والحاويات.
تخيلي مركز بيانات يحتوي آلاف الخدمات الصغيرة التي تتواصل مع بعضها باستمرار.
معرفة من يتصل بمن، وما الذي يحدث في الشبكة، وأين توجد المشكلة، ليست مهمة سهلة.
ولهذا أصبحت eBPF جزءًا مهمًا من بعض أدوات الشبكات السحابية الحديثة.
ما علاقتها بالحاويات وKubernetes؟
البيئات الحديثة لا تشغّل دائمًا تطبيقًا واحدًا على خادم واحد.
قد يكون لدينا مئات أو آلاف Containers موزعة عبر مجموعة من الأجهزة.
وهذا يجعل المراقبة أكثر تعقيدًا.
بدل تعديل كل تطبيق حتى يخبرنا بما يحدث، يمكن لأدوات تستخدم eBPF مراقبة جوانب من النشاط على مستوى النظام.
وهذا جعل التقنية جذابة جدًا في عالم Cloud Native.
هل يشعر المستخدم بوجودها؟
في الغالب لا.
وهذا أجمل ما في الموضوع.
قد تستخدم خدمة إلكترونية يوميًا، بينما توجد خلفها أنظمة تعتمد على eBPF لمراقبة الشبكة والأداء أو دعم الحماية.
المستخدم يرى النتيجة فقط:
خدمة مستقرة، مشكلة يتم اكتشافها بسرعة، أو اتصال تتم مراقبته بصورة أفضل.
أما التقنية نفسها فتظل مختبئة في أعماق النظام.
هل eBPF خاصة بلينكس؟
نشأت eBPF وتطورت بقوة في بيئة Linux، وهناك منظومة كبيرة جدًا حول استخدامها فيه.
لكن الفكرة توسعت، وهناك جهود وتطبيقات مرتبطة بـeBPF في بيئات أخرى أيضًا.
ومع ذلك، يبقى Linux هو المكان الأبرز عند الحديث عن منظومة eBPF الحديثة واستخداماتها الواسعة في الخوادم والحوسبة السحابية.
لماذا أصبحت مهمة في عصر الذكاء الاصطناعي؟
الذكاء الاصطناعي يحتاج إلى بنية تحتية ضخمة.
الخوادم، والحاويات، والشبكات، ووحدات المعالجة، والخدمات الموزعة كلها تحتاج إلى مراقبة مستمرة.
ومع ازدياد تعقيد هذه الأنظمة، تصبح معرفة ما يحدث فعلًا داخل البنية التحتية أمرًا بالغ الأهمية.
يمكن لبيانات المراقبة العميقة أن تساعد أدوات التحليل والأتمتة على اكتشاف المشكلات وفهم أداء الأنظمة بصورة أفضل.
لذلك قد لا تكون eBPF تقنية ذكاء اصطناعي بحد ذاتها، لكنها جزء من البنية التي تساعد على تشغيل الأنظمة الحديثة التي يعتمد عليها الذكاء الاصطناعي.
تقنية صغيرة في مكان شديد القوة
هناك اتجاه واضح في التقنيات التي تحدثنا عنها مؤخرًا.
WebGPU يحاول الاستفادة بصورة أفضل من GPU.
CXL يعيد التفكير في الاتصال بالذاكرة.
Chiplets تعيد التفكير في طريقة تركيب المعالج.
أما eBPF فتطرح سؤالًا مختلفًا:
كيف نجعل نظام التشغيل نفسه أكثر قابلية للمراقبة والبرمجة دون إعادة بناء كل شيء من الصفر؟
وقد لا يظهر اسم eBPF أبدًا على شاشة هاتفك أو حاسوبك.
لكن خلف الخدمات السحابية والشبكات وأنظمة الحماية التي نستخدمها، يمكن لهذه التقنية الصغيرة أن تكون في مكان شديد الحساسية…
تراقب ما يحدث داخل النظام في اللحظة التي يحدث فيها.
0 تعليقات