إطلاق لغة Fabric، التي تعزز أمن الـ Java من داخلها!

الوقت المقدّر لقراءة هذا المقال: 2 دقيقة و 58 ثانية

إطلاق لغة Fabric، التي تعزز أمن الـ Java من داخلها!

لغرض تعزيز أمن التطبيقات التي تعمل على الأنظمة الموزعة، تمكن ست باحثون  لدى جامعة Cornell University الأمريكية من إخراج لغة برمجة ذي نمط أمني تحت اسم: Fabric تسمح بزرع إجراءات أمنية على برامج الـ Java.

هذه محاولتنا لترجمة مخطط مبدأ اللغة القائمة عليه

يمكن الرجوع للمخط الأصلي من خلال المصدر أدناه


تعتبر Fabric من لغات البرمجة ذي نمط أمني أو security-typed programming language وهي في الأصل امتداد للغـة Jif ، وتعتمد فكرتها الأساسية على النظار – جمع ناظر إن صحت الترجمة وهو أشبه بالمدير في المدرسة- هذا الأخير هو الذي يصوغ ويزرع المتطلبات الأمنية، وهناك علاقات وعمال تسمح للمستخدمين، العمليات، المجموعات، ووحدات التطبيقات أن تتبع نموذجا أمنيا خاصا بها، كل على حدة، وللنظار صلاحيات القراءة والكتابة على الكائنات المصاغة في ‘labels’. فمثلا int {Alice Bob} x يحدد أن الناظر Alice يتحكم في المتغيرة x وأن لـ Bob  صلاحية النفاذ لقيمتها. الأمر {Alice←Bob} يسمح لـ Bob أن يغير من قيمة x أثناء وقت التصريف compilation. والمصرف compiler يفحص إذا كان الكود المصدري يحترم صلاحيات النفاذ إلى الكائنات وباقي المعايير الأمنية. عندها يولد كود Java ويمرره إلى  standard Java compilers لمزيد من المعالجة.

كما أن الكائن “أ” مثلا لا يملك صلاحيات القراءة/الكتابة على الكائن “ب” . وهكذا نتحصل على أمن جوهري مضمن في البرمجية.

عدة خيوط معالجة تتشارك في برنامج Fabric قيد التشغيل، عُقد تخزين تدير الكائنات، عقد عاملة تشغل البرمجية وعقد نشر/توزيع أخرى توفر نسخ من الكائنات لتخفيض عبئ العمل على عقد التخزين. كل هذه العمليات يمكنها أن تعمل على نفس الآلة، عادة باستخدام JVM أو شبكة موزعة.

إذا كان ما سردناه سابقا يبدو مبهما فيمكنك الإطلاع على هذا المقال العلمي الذي نشره الباحثون نفسه.

النسخة الأولى من لغة Fabric, للتحميل مجانا من هنا. وهنا إعلان الباحثين. من جامعة cornell.

– ما رأيك بهكذا آلية؟ وهل سنرى استنساخا لها في لغات برمجة أخرى؟


هل أعجبك هذا المقال؟ أخبر أصدقاءك عنه Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0Buffer this pageEmail this to someoneShare on Reddit0Share on Tumblr0

عن كاتب المقال:

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

  • بس معقول اوراكل تنزلها فرى كده

  • سؤال\ هل تستطيعون أن تكتبوا المواضيع دون الإكثار من الكلمات الإنجليزية؟!!

    يعني، ماالمانع لو كتبت:
    “لغة جافا” بدلًا من “لغة Java”

    هذا مزعج، ومؤذٍ للعين.

    شكرًا.

    • djug

      الأمر مقصود، و نحن نتحرى ذلك
      كلمة Java كلمة أجنبية و بالتالي يتوجب كتابتها بحروف لاتينية
      لو تكلمنا عن لغة برمجية زاي لكتبناها “زاي” بدل Z لأنها لغة برمجة عربية

      • أنا أقصد عدم الإكثار،إلا الذي يستعصي ذلك.

        • الكلمات المستعصية.

        • djug

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

    • dzgeek

      صديقنا حسام،
      هناك فرق بين تعريب وترجمة، ما نحتاجه في عالمنا العربي هو تعريب المصطلحات أو اصطلاح مقابل عربي لها وليس فقط مجرد ترجمة للنطق الانجليزي لها،وهذا يحتاج إجماعا…
      أنا متابع لما يحدث في arabeyes وأحيانا المخاصمات التي تحدث هناك، وغيرها من الأمور في تعريب الكلمات لست أنقص من شأنهم على العكس بل يعجبني حرصهم هذا.
      أنظر مثلا Firefox، لم يستقر الكثير منهم على فَيرفٌكس وعارضوا وقالو فايرفوكس، وعارضوا وقالوا فِيرفوكس وغيرها… ماذا عن نطق أهل المغرب للكلمة (كون اللغة الفرنسية هي اللغة الثانية والكثير منهم معتادون على نطقها بالفرنسية).
      ماذا عن Linux هناك اختلاف في النطق في الكلمة الانجليزية نفسها، فمنهم من ينطقها لينكس ومنهم من ينطقها لينوكس وكذلك في العربية. وأهل المغرب فنطقهم مغاير تماما (فرنسي)
      في المجلة التقنية عندما انضممت لها، أٌشير علي كتابة المصطلحات الأجنبية كما هي، رحبت بهذا وأعجبت به ، فعلى الأقل نخرج من الخلاف مؤقتا، ونرضي جميع أو أغلب الأطراف. ولا أرى في ذلك إيذاءا للعين :p فانظر أنت ماذا ترى؟ :p
      بارك الله فيك، فقط لا نريد العبث بلغتنا بمصطلحات كـ فايرفوكس دون قاعدة ودون مبالاة وإلا فصدني ذلك أسهل في الكتابة (أفضل من تغيير اللغة كل مرة، أظن Djug يعرف ذلك :p)

  • هل يمكن القول أنها توفر برمجة جانبية المنحى خاصة بجانب الأمني تدعم تقنية استدعاء الطرائق البعادي؟

    • dzgeek

      هي لم تأتي بـ paradigm جديد ولم تتبع الموجود ولا aspect-oriented programming (AOP) ولا تعتمد على أي API خاص بالـ Java مثل Remote Method Invocation
      هي فقط تتبع نظام/أسلوب جديد امتدادا لـ Jif التي هي Security typed prgramming language كما أشرت في الموضوع.
      Fabric is a new system and language for building secure distributed
      information systems
      وكما وضح أهلها في ملف الـ PDF الذي أشرت عليه في الموضوع هي – على قولهم – :
      Fabric provides a rich, Java-like object model,
      but data resources are labeled with confidentiality and integrity
      policies that are enforced through a combination of
      compile-time and run-time mechanisms.

      راجع الفقرة الأولى Abstract من الملف الذي أدرجته، أو راجع كامل الملف لفهم أعمق 🙂

      شكرا لك..