أخطار تكنولوجيا الكمبيوتر على حياة وسلامة الإنسان

  د. همدان دماج

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

مقدمة

يوماً بعد يوم، تزداد ثقتنا بالتكنولوجيا الحديثة للقيام بالأعمال التي كان يقوم بها الإنسان مباشرة، مثل التحكم في تشغيل الأنظمة والتطبيقات ومراقبتها. وفي السنوات الأخيرة، بدأ استخدام الكومبيوتر للتحكم بالأنظمة المختلفة التي تقوم بأعمال خدمية مختلفة، وهي التي تعرف بأنظمة التحكم الكومبيوتري  (Computer-Controlled Systems بدءاً من أنظمة التحكم البسيطة التي تُستخدم في ساعات اليد الرقمية والغسالات الأوتوماتيكية، مروراً بأجهزة الطب المتقدمة كالقلب الصناعي، وانتهاءً بأكثرها تعقيداً كتلك التي تُستخدم في الطائرات ومركبات الفضاء والمفاعلات النووية.

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

ولعل أكثر العلوم حداثة، ألا وهو علم الكمبيوتر، لا يستثنى من هذه القاعدة؛ فالأخطار التي تنجم عن أعطال الكومبيوتر، أو فشل الأنظمة الكومبيوترية، متعددة. فقد تستقبل في يوم من الأيام فاتورة مرسلة إليك بالخطأ، أو قد يضيع عليك عمل يوم كامل بسبب عطل غير متوقع في جهاز كمبيوترك في العمل. لكن هناك من الأعطال ما قد ينجم عنها خسائر جسيمة وتبعات أكثر خطورة من ذلك. فبعض أنظمة التحكم الكمبيوتري قد تؤدي، في حال فشلها أو حصول خطأ ما في عملها، إلى كوارث متعددة قد تصل عواقبها إلى موت الإنسان أو إصابته، أو إلى خسائر في الممتلكات أو في البيئة، وهي التي تعرف بأنظمة السلامة الحرجة (Safety-Critical Systems)،([i]). ومن هذه الأنظمة، على سبيل المثال، أنظمة الكمبيوتر في الطائرة أو في غرف التحكم في المفاعلات النووية الحديثة. ولك أن تتخيل الآن حجم الأضرار في الأرواح والممتلكات في حال فشل هذه الأنظمة أو تعطلها.

هل الكومبيوتر أكثر أماناً من البشر؟

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

لماذا الكومبيوتر إذاً؟

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

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

فمثلاً، في مدينة ديترويت الأمريكية عام 1987، حاول كابتن طائرة، ذو خبرة 32 عاماً في الطيران، الإقلاع بطائرته بينما كانت مصارع أجنحتها (Slats/Flaps) مطوية، مما تسبب في سقوط الطائرة. كان يمكن في هذه الحالة استخدام نظام كومبيوتري للفحص الأوتوماتيكي، يقوم بكشف الخطأ الذي قام به الطيار، وبالتالي تجاهل الأوامر الصادرة منه والسيطرة على دوافع (Thrusters) الطائرة ومنعها من الإقلاع، كما هو معمول به في الأنظمة الحديثة([ii]).

ومع ذلك، فقد كانت أعطال الكومبيوتر سبباً رئيسياً في وقوع العديد من الحوادث. ففي أكتوبر 1992، أدى عطل لمدة 3 ساعات في جهاز الكومبيوتر الذي تم اعتماده للتحكم في تشغيل نظام توزيع خدمة الإسعاف (Dispatching System) في مدينة لندن، إلى وفاة 28 شخصاً. كما تسببت أعطال متنوعة في الكومبيوتر المتحكم في آلة علاج السرطان بالإشعاع المعروفة بـ(Therac-25) في الولايات المتحدة الأمريكية وكندا بين يونيو 1985 ويناير 1987 إلى مقتل وإصابة عدد من المرضى، بعد تعرضهم لجرعات زائدة من الإشعاع ([iii]).

أما في مجال التكنولوجيا النووية، فقد ساد الاعتقاد في الماضي أن التكنولوجيا المستخدمة في المفاعلات النووية آمنة للدرجة التي بدت فيها إمكانية حدوث خلل أو تسرب إشعاعي أمراً صعباً للغاية، إن لم يكن مستحيلاً. إلا أن الحوادث التي وقعت في عدد من المفاعلات النووية أكدت خطأ هذا الاعتقاد. فقبل حوالي سبع سنوات من حادثة تشرنوبل الشهيرة، وبالتحديد في 28 مارس 1979، وقعت حادثة المفاعل النووي في جزيرة "ثري مايلز" (بنسلفانيا - الولايات المتحدة الأمريكية)، حيث تسربت كميات كبيرة من الإشعاع إلى خارج نواة المفاعل، وهو ما كان سيهدد حياة سكان الجزيرة. وقد بينت التحقيقات التي أجريت أن تعطل نظام التحكم في اكتشاف وضعية صمام تنفيس الضغط (Pressure-Relief Valve) في وعاء الضغط داخل المفاعل كان سبباً رئيسياً للحادثة.

أهمية إعداد المواصفات والتصاميم

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

إن أكبر التحديات التي تواجه استخدام أنظمة التحكم الكومبيوتري في مجال السلامة الحرجة يكمن في التعقيد الذي تحمله هذه الأنظمة؛ فأصغر البرامج المستخدمة قد يحتوي على عدة آلاف من مسارات التنفيذ (Execution Paths) الممكنة داخل شيفراتها، مما يجعل عملية تصميم هذه البرامج، ومن ثم اختبار صحتها، صعباً للغاية، ويصبح بالتالي احتمال وجود أخطاء أو عيوب بها أمراً متوقعاً.

وقد أثبتت التجارب المتتابعة أن معظم المشاكل المتعلقة ببناء، أو تشغيل، أنظمة السلامة الحرجة كان سببها وجود عيوب وأخطاء في مواصفاتها، وكانت سبباً في الكثير من الحوادث. ومن الأمثلة المشهورة لهذا النوع من الحوادث، حادثة صاروخ باتريوت (Patriot Missile) أثناء حرب الخليج الأولى؛ ففي 25 فبراير 1991، في منطقة الظهران، فشل صاروخ باتريوت الأمريكي في التصدي لصاروخ سكود (Scud Missile) العراقي، مما نجم عنه مقتل 28 جندياً أمريكياً. وعندما قام الخبراء بعمليات التحري وتحليل هذه الحادثة تبين أن السبب يرجع إلى خلل أصاب الكومبيوتر المسؤول عن احتساب المدى الزمني لدخول صاروخ سكود المهاجم نطاق صواريخ باتريوت المعترضة.

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

هل اللغة هي السبب؟

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

البديل: الطرق المنهجية

للتغلب على هذه المشكلة، قام الأكاديميون بإنشاء فرع جديد من فروع علوم الكومبيوتر يعرف بـ"الطرق المنهجية" (Formal Methods)([iv])، وهو العلم الذي يعنى باستخدام التقنيات الرياضية في وضع مواصفات وبناء تصاميم البرمجيات، بدلاً من استخدام اللغة الطبيعية أو أي لغة تدوينية غير منهجية.

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

غير أن صعوبة الطرق المنهجية، وتكلفتها العالية في تدريب وتأهيل المصممين والمهندسين، ما تزال تقف عائقاً أمام انتشارها في القطاع الصناعي. ففي عام 1993، قامت وكالة الفضاء الأمريكية (ناسا - NASA) وهيئة الطيران الفيدرالية (Federal Aviation Authority) في الولايات المتحدة الأمريكية بتمويل تحقيق حول مدى أهمية استخدام الطرق المنهجية في عملية تصنيع أنظمتها. وقد خلص التقرير النهائي للتحقيق الذي قدمه خبير أنظمة السلامة الحرجة "ج. راشبي" إلى أن الطرق المنهجية ينبغي أن تعتمد في مناهج التدريس لكل علماء الكومبيوتر والمهندسين، غير أن التقرير أشار إلى أن أفق استخدامها لا يزال غير واضح.

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

وتُعد الطرق المنهجية اليوم من الفروع الأساسية في علم الكومبيوتر التي يتم تدريسها ضمن مناهج الجامعات في أوروبا وأمريكا والدول الصناعية، بل وفي بعض الدول النامية في أمريكا الجنوبية وآسيا. كما تشهد الأبحاث العلمية المتعلقة بتطوير تقنياتها وتطبيقاتها في مختلف الصناعات التكنولوجية اهتماماً متزايداً، وتعقد لأجلها العشرات من المؤتمرات العلمية الدولية سنوياً. إلا أن تواجد الطرق المنهجية في مناهج دول العالم الثالث، ومنها الدول العربية، ما يزال دون المستوى([v]). 

وما يزال الخطر قائماً

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



[i]  Storey N. Safety-critical computer systems.  Harlow, Addison-Wesley, 1996.

[ii] Software in Safety Critical Systems. (http://www.dcs.shef.ac.uk/~u6pjw2)

[iii]  Leveson N. Safeware, System Safety and Computers. Addison-Wesley, 1995.

[iv] Williams L.Formal Methods in the Development of Safety Critical Software Systems. Technical Report (SERM-014-91), Software Engineering Research, Boulder, CO, November 1991.

[v]  د. همدان دماج، "استخدام الطرق المنهجية في بناء مواصفات وتصاميم أنظمة السلامة الحرجة: المميزات والقصور"، دراسات يمنية ، العدد (95)، ديسمبر 2009م.