أمن الشبكات: مقاربة الأنظمة › المقدمة 2 / 10 السابق التالي

المقدمة

مجال أمن الشبكات (network security) قِدَمُه تقريبًا قِدَمُ الشبكات نفسها. فالحكمة المتوارثة تخبرنا بأنّ الإنترنت الأصلي بُني دون أيّ خصائص أمنية، وأنّنا نتحمّل آثار تلك القرارات التصميمية منذ ذلك الحين. وليس الأمر أنّ مصمّمي الإنترنت ومطوّريه ومهندسيه لم يكونوا واعين بمخاوف الأمن؛ فكثير منهم كان معنيًّا مباشرةً في تطوير تقنياتٍ أمنية في أنظمة التشغيل المبكرة. لكنّ بناء شبكة عالية الأداء، قابلةٍ للتوسّع حتى تبلغ أبعادًا عالمية وتستوعب مجموعةَ التقنيات المتنوّعة القائمة (وتلك التي ستأتي لاحقًا)، قدّمت تحدّياتٍ أكثر من كافية. ولأنقول بعبارة رائد الإنترنت فينت سيرف (Vint Cerf): «إنّ جعل هذا الشيء يعمل إطلاقًا كان أمرًا غير بديهيّ.»

لقد كان إضافة إمكاناتٍ أمنية إلى الإنترنت والأنظمة الموصولة به جهدًا استمرّ عقودًا. وعلىالرغم من وجود بعض النتائج الملحوظة — مثل التبنّي الواسع لأمن طبقة النقل (Transport Layer Security, TLS) — فإنّ الثغرات (vulnerabilities) ما زالت تُكتشَف وتُستغَلّ. ويرجع ذلك جزئيًّا إلى أنّ الأمن «هدفٌ سلبيّ»: فنحن نحاول دائمًا أن نضمن ألّا توجد شقوقٌ أكثر في دفاعاتنا، وإثبات أنّنا «انتهينا» أقلّ؛ فالأمن من هذا النوع مستحيلٌ إجمالًا. ولهذا يستمرّ الأمن في التطور مع استغلال الضعف الجديد ووَضع آليّاتٍ جديدة لمنع استغلالٍ إضافي.

لقد كنّا نُعلّم أنفسنا عن أمن الشبكات منذ أن كتبنا الطبعة الأولى من Computer Networks: A Systems Approach عام 1995. وهناك مثلٌ سائرٍ في دوائر الأمن مفاده ألّا يكتب أحدٌ شيفرة التشفير (cryptography) الخاصّة به لأنّ ضبطها الصحيح صعبٌ جدًّا، ويمكن أن يُقال شيءٌ مشابه عن محاولة كتابة كتابٍ في الأمن. فالأخطاء سهلة الوقوع، خاصّةً إن لم تكن غارقًا في عالم الأمن وفي عقلية «ابحث عن كلّ ضعفٍ ممكن». وقد اضطررنا إلى إجراء بعض التصحيحات على مدى السنين في قسم الأمن من ذلك الكتاب الكبير. وقد سعينا إلى أن نقدّم تصوّرنا عن الأمن كما يُرى في سياق الشبكات الأوسع.

فلماذا إذن قرّرنا كتابة هذا الكتاب الحالي؟ أولًا، رأينا فرصةً للكتابة عن الأمن بطريقةٍ تكون مفهومةً لشخصٍ في الشبكات. كما أردنا أن نتّخذ من الموضوع مقاربةَ النظام (systems approach) أكثر. فرغم أنّنا نحاول دائمًا أن نتّخذ رؤيةً على مستوى النظام في كلّ ما نكتبه، فإنّ من السهل مع الأمن أن نقع في تفاصيل المكوّنات الفردية، مثل الخوارزميات التشفيرية (cryptographic algorithms)، من دون أن نتصدّى فعليًا لقضايا النظام. والتشفير شيءٌ بارد ومثير للاهتمام (على الأقلّ في رأينا) لكنّه ليس الشيء الرئيسيّ الذي ينبغي التركيز عليه إن كنت تبني أنظمةً آمنة. ولهذا، وإن كنّا نشرح هنا أساسيات التشفير، فإنّه ليس محور التركيز. فنحن نرمي إلى شرح كيفية جعل نظامٍ يتضمّن أجزاءً متحرّكةً كثيرة، في الشبكة وفي النظام الطرفيّ معًا، آمنًا.

وأدّى هذا السؤال عن محور التركيز إلى أن ندرس كم نرغب في قوله عن أمن الأنظمة الطرفية (end-system security). فهناك كتبٌ كاملةٌ يمكن كتابتها عن أمن أنظمة التشغيل، وعن ثغرات معمارية المعالجات مثل Spectre وMeltdown، وعن تخفيف آثار البرمجيات الخبيثة (malware) مثل الفيروسات في الأنظمة الطرفية أو منعها. وقد اتّخذنا قرارًا واعيًا بأنّ نضع حدًّا حول الشبكة ونركّز عليها، مع إدراكنا أنّه — تمامًا كما أنّ TCP بروتوكولٌ شبكيّ مهمّ يعمل في الأنظمة الطرفية — فإنّ بروتوكولاتٍ مثل HTTPS وTLS يحتاج هذا الكتابُ إلى تغطيتها. وفي الواقع، يقدّم TLS حالةً دراسيةً ممتازة للقضايا على مستوى النظام التي تظهر حين تحاول تأمين حركةٍ (traffic) تتدفّق بين الأنظمة الطرفية عبر الإنترنت، وقد خصّصنا له فصلًا كاملًا.

ومع وجود مجموعةٍ لا تنتهي من التهديدات (threats) والثغرات (vulnerabilities) التي يجب التصدّي لها، من السهل جدًّا أن نبدأ التفكير بالأمن بوصفه مجرّد مجموعةٍ من الحلول النقطية للمشكلات التي حُدِّدت حتى الآن. لكنّ الواقع أنّ هناك مجموعةً راسخةً من المبادئ التي حدّدها روّاد هذا المجال وكتبوها. ومبدأ أقلّ الامتياز (least privilege) والدفاع متعدّد الطبقات (defense in depth) مثالان لافتان. وقد خصّصنا فصلًا لاستكشاف بعضٍ من المبادئ الأكثر قبولًا، ثمّ نرى تطبيقها مرارًا في طول الكتاب. فجدران حماية المحيط (perimeter firewalls)، على سبيل المثال، يمكن أن تكون جزءًا من استراتيجية دفاع متعدّد الطبقات، في حين اقتُرحَت جدران حماية موزّعة (distributed firewalls) طريقةً لتطبيق أقلّ امتياز على شبكات مراكز البيانات.

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

شكر وتقدير

نتقدّر امتناننا لجميع الذين قدّموا ملاحظاتهم على كتابنا في مختلف مراحل تطوّره، وبخاصةٍ الأشخاص التالية أسماؤهم:

  • Brad Karp
  • Cecilia Testart
  • Zack Williams
  • John Kristoff
  • Motonori Shindo
  • Nick Feamster
  • Jeroen van der Ham-de Vos
  • GitHub user ghjwp7 (jiw)