السرية، أكبر عائق للتقنية

السلام عليكم ورحمة اللهlock

في اﻵونة اﻷخيرة أصابت حمى السرية والتأمين عدداً من الناس الذين يعملون في مجال التقنية. لكن قبل أن نتكلم عنها لابد أن نّذكّر الناس أولاً بماهية التقنية وأهدافها.

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

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

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

في هذه المقالة لا أريد التكلم عن السرية عموماً، لكن أريد أن أتكلم عن اﻵثار السلبية التي جلبتها السرية للمبرمج.

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

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

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

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

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

في الختام أتمنى أن يُعاد تقييم موضوع حماية البيانات والتأمين والسرية وأن لا يبالغ في الاستثمار فيه، فمن اﻷفضل الاستثمار أكثر في اﻹتاحة وليس المنع.

3 thoughts on “السرية، أكبر عائق للتقنية

  1. غالباً في ال Enterprise يكون هناك شخص مسؤول أو فريق عن كل جزئية مثلاً Database Administrator مختص فقط بانشاء واخذ ال backup والخ، مجموعه اخرى مختصة بالشبكة والمنافذ والخ، مجموعه اخرى مختصة بال LDAP/account management والخ، وهذا طبيعي لأن المنشئة ضخمة ولا يمكن ان تعتمد على شخص واحد ربما يختفى بين ليلة وضحاها، لذلك توزيع المهام امر جيد من هذه الناحية بالاضافة الى السرية التي وصفتها.

    بالطبع هذا يشكل عائق للمبرمج وقت التنزيل Deployment Time وليس وقت البرمجة لأن المفترض المنتج جاهز Testable and Ready ، لذلك هذا لا يؤثر على الانتاجية بقدر ما يؤثر على تأخير عملية التنزيل للعميل والذي يعني في النهاية ان الشبك أو المبلغ النهائي سوف يتأخر قليلاً .

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

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

    لذلك الprocess السليمة هي ان يعرف المبرمج المتطلبات الأساسية لبرنامجة سواء hardware/software/dependencies/ports/sql account/Ldap account الخ ويرسل هذه Requirement Documents للشركة والتي عليها بتجهيزها بشكل كامل وبالتالي وقت الdeployment المفترض ال environment تكون جاهزة كما طلبها المبرمج، والامور تكون سلسلة حينها.

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

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

    في مثل هذه الحالات يمكن تخصيص VPS/cloud servers online سواء للتجربة او لعرض demo app للعملاء من سبيل التجربة ويكون متاح بشكل كلي للمطورين.

    لك التحية.

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s