فهرست مطالب
پژوهشگران امنیت سایبری آسیبپذیری خطرناکی را در لینکهای اشتراکگذاری ChatGPT کشف کردند که میتوانست به مهاجمان امکان اجرای کد در نشست کاربران و خواندن گفتوگوهای خصوصی آنها را بدهد.
به گزارش سرویس امنیت سایبری تکناک، پژوهشگران شرکت امنیت سایبری Parameter نشان دادند که یک لینک مخرب اشتراکگذاری گفتوگو در ChatGPT میتوانست کد مهاجم را در نشست کاربریِ فردی اجرا کند که وارد حساب خود شده بود. این آسیبپذیری به مهاجم امکان میداد گفتوگوهای خصوصی قربانی را بخواند.
پژوهشگران این نقص امنیتی را در تاریخ ۱۸ اکتبر از طریق برنامه پاداش کشف باگ اوپنایآی گزارش کردند. اوپنایآی هشت روز بعد این مشکل را برطرف کرد و شدت آن را در سطح P1، یعنی بالاترین رده شدت آسیبپذیری، قرار داد.
روش حمله به یک گفتوگوی معمولی ChatGPT متکی بود که از طریق لینک عمومی به اشتراک گذاشته میشد. مهاجم میتوانست این لینک را مانند هر گفتوگوی واقعی دیگری از طریق ایمیل، پیامرسانها، تیکت پشتیبانی یا پست شبکههای اجتماعی برای قربانی ارسال کند.
قربانی نیاز نداشت هیچ برنامهای نصب کند، به فضای کاری خاصی بپیوندد یا از طریق حساب مهاجم وارد شود. در مطمئنترین نسخه حمله، کاربر فقط باید لینک را باز میکرد و یک بار روی دکمه Preview در ChatGPT میزد. در نسخه بعدی، پژوهشگران Parameter کاری کردند که صفحه بهصورت خودکار وارد حالت Preview شود. به همین علت، باز کردن لینک بهتنهایی برای اجرای حمله کافی بود.
مهاجم چه کاری میتوانست انجام دهد؟
پس از باز شدن لینک، کد مهاجم درون نشست فعال کاربر اجرا میشد و به همان سطح دسترسی وبسایت اصلی ChatGPT دست پیدا میکرد. این کد میتوانست فهرست گفتوگوهای اخیر کاربر را استخراج کند، یک گفتوگوی خصوصی را که کاربر هرگز با مهاجم به اشتراک نگذاشته بود باز کند و بخشی از محتوای آن را به سروری تحت کنترل پژوهشگران بفرستد.
امنیت سایبری
این کد بهجای آنکه صرفاً محتوای قابل مشاهده روی صفحه را کپی کند، مستقیماً از رابطهای برنامهنویسی ChatGPT استفاده میکرد که کاربر با حساب خود به آنها وارد شده بود. ازآنجاکه کد با دسترسی کامل به حساب کاربر در مرورگر اجرا میشد، فعالیت آن به خواندن گفتوگوها محدود نمیماند.
پژوهشگران نوشتند: «در اصل، میتوانستیم هر اقدامی را از طرف حساب ChatGPT قربانی انجام دهیم.»
این آزمایش در محیطی کنترلشده انجام شد. شرکت Parameter هیچ موردی از استفاده واقعی از این آسیبپذیری را گزارش نکرد و برای اثبات امکان دسترسی به گفتوگوهای خصوصی، از دو حساب جداگانه استفاده کرد، نه حساب کاربران واقعی.
بیشتر بخوانید: سرقت ۲.۷ میلیون دلاری از کاربران پلتفرم پالیمارکت
لینک چگونه از محیط ایزوله عبور کرد؟

بر اساس توضیحات Parameter، ChatGPT میتواند با استفاده از قابلیتی به نام Preview، بخشی از کد HTML موجود در یک گفتوگو را به یک صفحه وب کوچک تبدیل کند. از آنجا که این صفحه میتواند هر نوع کدی را در خود جای دهد، ChatGPT آن را در یک قاب محدودشده و روی نشانی وب جداگانه اجرا میکند. این محیط ایزوله مانع از آن میشود که صفحه به محتوای اصلی ChatGPT دسترسی داشته باشد.
این سازوکار ایزوله بهدرستی کار میکرد. مسیر حمله از قابلیت دیگری در همان گفتوگو عبور میکرد.
گفتوگوی بهاشتراکگذاشتهشده یک نمودار تعاملی هم داشت. ترسیم این نمودار باعث بارگذاری کتابخانه ریاضی MathLive در صفحه اصلی ChatGPT میشد. بارگذاری MathLive یک شنونده پیام را در صفحه اصلی فعال نگه میداشت که پیامهای مربوط به صفحهکلید روی نمایشگر را دریافت میکرد.
پیامی که میان قابهای مختلف مرورگر جابهجا میشود، تنها زمانی ایمن است که دریافتکننده هویت فرستنده را بررسی کند. Parameter متوجه شد این شنونده پیامهای صفحهکلید را از هر فرستندهای میپذیرد. همچنین، این پیامها میتوانستند حاوی کد خام HTML باشند.
در نتیجه، صفحه Preview میتوانست از مرز محیط ایزوله عبور کند و کد HTML مهاجم را به صفحه اصلی و مورد اعتماد ChatGPT منتقل کند.
این کد HTML یک قاب جدید میساخت که مرورگر آن را بخشی از دامنه chatgpt.com در نظر میگرفت. سپس اسکریپتی که از یوتیوب بارگذاری شده بود، کد لازم برای اجرای حمله را در اختیار این قاب قرار میداد.
سیاست امنیت محتوای ChatGPT محل بارگذاری اسکریپتهای یک صفحه را محدود میکند. این سیاست اجرای کدهای درونخطی را مسدود میکرد، اما اجازه بارگذاری اسکریپت از یوتیوب را میداد. همین موضوع امکان اجرای مرحله نهایی حمله را فراهم کرد.
بیشتر بخوانید: حملات سایبری اطلاعات مشتریان دو سازنده کیف پول سختافزاری رمزارز را افشا کرد
اوپنایآی چه چیزی را اصلاح کرد و کاربران چه کاری باید انجام دهند؟
شرکت Parameter اعلام کرد اوپنایآی هر دو بخش اجرای کد و دسترسی به گفتوگوی خصوصی را بازتولید کرد، سطح شدت آسیبپذیری را از P2 به P1 افزایش داد و اصلاحیهای را در دو نسخه از رابط وب ChatGPT منتشر کرد. تا ۲۶ اکتبر، هر دو نسخه پیامهایی را که این حمله به آنها متکی بود، رد میکردند.
امنیت سایبری
پژوهشگران سه تصمیم در بخش طراحی را عامل شکلگیری این آسیبپذیری دانستند:
- کتابخانه MathLive پیامی را اجرا میکرد که تنظیمات آن را تغییر میداد، بدون آنکه بررسی کند پیام از کدام قاب مرورگر ارسال شده است.
- این پیام میتوانست کد خام HTML را در قالب دادههای مربوط به چیدمان صفحهکلید منتقل کند.
- کد HTML میتوانست قابی ایجاد کند که در محیط ایزوله اجرا نمیشد و به سطح دسترسی دامنه chatgpt.com دسترسی داشت.
مرحله مربوط به یوتیوب تنها راهکار نهایی برای دور زدن محدودیتها بود و عامل اصلی آسیبپذیری محسوب نمیشد. مسدود کردن اسکریپتهای یوتیوب بهتنهایی مشکل را برطرف نمیکرد، زیرا همچنان صفحه Preview غیرقابلاعتماد میتوانست کد HTML را به وبسایت اصلی منتقل کند.
کاربران ChatGPT نیازی به انجام هیچ اقدامی ندارند. اوپنایآی مشکل را از سمت خود برطرف کرده است و کاربران لازم نیست برنامهای نصب کنند یا تنظیمات حساب خود را تغییر دهند.
شرکت Parameter گزارش فنی خود درباره این آسیبپذیری را در ۲۸ اکتبر، پس از انتشار اصلاحیه، منتشر کرد. اوپنایآی در مجموع ۵ هزار دلار بابت این گزارش به پژوهشگران پرداخت کرد.
بیشتر بخوانید: اوپنایآی کار با چتجیپیتی را سادهتر میکند

















