تیم تحقیقاتی Oligo اخیرا شش آسیب پذیری را در فریمورک هوش مصنوعی Ollama شناسایی کردهاند که میتوانند توسط هکرها برای انجام طیف گستردهای از اقدامات مخرب از جمله DoS (انکار سرویس)، model poisoning (مسمومیت مدل یا زهرآلود کردن مدل) و Model Theft (سرقت مدل) با یک درخواست HTTP مورد سوء استفاده قرار گیرند.
Ollama یک فریمورک منبع باز است که به کاربران اجازه میدهد تا مدلهای زبانی بزرگ (LLM[1]) را به صورت لوکال در دستگاههای ویندوز، لینوکس و مک (macOS) استقرار و اجرا نمایند. مخزن پروژه Ollama در GitHub تا به امروز 7600 مرتبه فورک شده است.
Ollama یکی از پرکاربردترین پروژههای منبع باز برای مدلهای هوش مصنوعی است که بیش از 93 هزار ستاره در GitHub دارد. این فریمورک.به دلیل سادگی، به سرعت محبوبیت خود را برای استفاده سازمانی افزایش داد، چرا که سازمانها به دنبال کسب منفعت از دستاوردهای ارائه شده توسط LLM هستند.
این شش آسیب پذیری به شرح زیر میباشند:
- CVE-2024-39719 (امتیاز CVSS: 7.5): یک آسیب پذیری که مهاجم میتواند با استفاده از /api/create یک endpoint (اندپوینت) از آن برای تعیین وجود یک فایل در سرور سوء استفاده کند (در نسخه ۰.۱.۴۷ پچ شده است).
- CVE-2024-39720 (امتیاز CVSS: 8.2): یک آسیب پذیری خواندن خارج از محدوده[2] است که میتواند با استفاده از endpoint (اندپوینت) /api/create منجر به کرش کردن برنامه شود و یک وضعیت DoS را ایجاد کند (در نسخه ۰.۱.پچ شده است).
- CVE-2024-39721 (امتیاز CVSS: 7.5) – یک آسیب پذیری که باعث از کار افتادن منابع و در نهایت حمله DoS به هنگام فراخوانی مکرر endpoint(اندپوینت) /api/create زمان ارسال فایل “/dev/random ” به عنوان ورودی میشود (در نسخه ۰.۱.۳۴ پچ شده است).
- CVE-2024-39722 (امتیاز CVSS: 7.5) – یک آسیب پذیری پیمایش مسیر در endpoint (اندپوینت) api/push است که فایلهای موجود بر روی سرور و کل ساختار دایرکتوری که Ollama روی آن مستقر شده است را نشان میدهد (در نسخه ۰.۱.۴۶ پچ شده است).
- CWE-668 – یک آسیب پذیری که میتواند منجر به مسمومیت مدل یا model poisoning از طریق endpoint (اندپوینت) api/ pull از یک منبع نامعتبر شود (بدون شناسه CVE، بدون پچ).
- CWE-285 – یک آسیب پذیری که میتواند منجر به سرقت مدل یا Model Theft از طریق endpoint (اندپوینت) api/ push به یک هدف غیرقابل اطمینان شود (بدون شناسه CVE، بدون پچ).
توسعه دهندگان Ollama برای هر دو آسیب پذیری فاقد CVE و پچ نشده، توصیه کردهاند که کاربران با استفاده از یک پروکسی یا فایروال برنامه وب، endpointهایی را که متصل به اینترنت هستند، فیلتر کنند. یعنی تمام endpointها بهطور پیشفرض، نباید از طریق اینترنت قابل دسترس باشند.
هم اکنون در زمان نگارش این مقاله حدود ۹,۸۳۱ نمونه endpoint منحصر به فرد توسط اینترنت قابل دسترس میباشند که Ollama را اجرا میکنند و اکثر آنها در چین، ایالات متحده، آلمان، کره جنوبی، تایوان، فرانسه، بریتانیا، هند، سنگاپور و هنگ کنگ واقع شدهاند.
در حال حاضر، حدود 10 هزار IP منحصربفرد در اینترنت وجود دارد که Olama را اجرا میکنند. یعنی با توجه به آمار میتوان گفت که از هر چهار سرور متصل به اینترنت، یک مورد در برابر نقصهای شناسایی شده آسیب پذیر هستند.