PyTorch یکی از محبوبترین و پرکاربردترین ابزارهای یادگیری ماشینی است.
(نمیخواهیم بدانیم که کجا در جدول امتیازات هوش مصنوعی قرار دارد - همانطور که در مورد بسیاری از ابزارهای متنباز پرکاربرد در یک میدان رقابتی، به نظر میرسد که پاسخ بستگی به این دارد که از چه کسی بپرسید و از چه ابزاری استفاده میکنند. خودشان.)
این نرم افزار که در ابتدا به عنوان یک پروژه متن باز توسط فیس بوک، اکنون متا، توسعه یافته و منتشر شد، در اواخر سال 2022 به بنیاد لینوکس تحویل داده شد، که اکنون آن را تحت نظارت بنیاد PyTorch اجرا می کند.
متاسفانه، پروژه با استفاده از یک حمله زنجیره تامین به خطر افتاد در طول فصل تعطیلات در پایان سال 2022، بین روز کریسمس [2022-12-25] و روز قبل از شب سال نو [2022-12-30].
مهاجمان با بدخواهی یک بسته پایتون به نام ایجاد کردند torchtriton
در PyPI، مخزن محبوب Python Package Index.
نام torchtriton
طوری انتخاب شد که با نام یک بسته در خود سیستم PyTorch مطابقت داشته باشد که منجر به وضعیت خطرناکی شود توسط تیم PyTorch توضیح داده شده است (تاکید ما) به شرح زیر است:
[A] بسته وابستگی مخرب (
torchtriton
) […] در مخزن کد Python Package Index (PyPI) با همان نام بسته ای که در فهرست بسته شبانه PyTorch ارسال می کنیم، آپلود شد. از آنجایی که شاخص PyPI اولویت دارد، این بسته مخرب به جای نسخه از مخزن رسمی ما در حال نصب بود. این طراحی به کسی امکان میدهد بستهای را با همان نامی که در فهرست شخص ثالث وجود دارد ثبت کند، وpip
نسخه خود را به طور پیش فرض نصب خواهد کرد.
برنامه pip
اتفاقاً قبلاً به عنوان شناخته می شد pyinstall
، و ظاهراً یک جوک بازگشتی است که مخفف آن است pip installs packages
. علیرغم نام اصلی آن، برای نصب پایتون نیست – این روش استاندارد برای کاربران پایتون برای مدیریت کتابخانه های نرم افزاری و برنامه های کاربردی است که در پایتون نوشته شده اند، مانند PyTorch و بسیاری از ابزارهای محبوب دیگر.
توسط یک ترفند زنجیره تامین شکست خورده است
هر کسی که نتواند نسخه pwned PyTorch را در طول دوره خطر نصب کند، تقریباً مطمئناً با بدافزار سرقت داده در رایانه خود کار گذاشته شده است.
با توجه به کوتاه اما مفید خود PyTorch تجزیه و تحلیل بدافزار، مهاجمان برخی، بیشتر یا همه داده های مهم زیر را از سیستم های آلوده سرقت کردند:
- اطلاعات سیستم، از جمله نام میزبان، نام کاربری، کاربران شناخته شده در سیستم، و محتوای همه متغیرهای محیط سیستم. متغیرهای محیطی روشی برای ارائه دادههای ورودی فقط حافظه هستند که برنامهها هنگام راهاندازی میتوانند به آنها دسترسی داشته باشند، اغلب شامل دادههایی هستند که قرار نیست در دیسک ذخیره شوند، مانند کلیدهای رمزنگاری و توکنهای احراز هویت که به خدمات مبتنی بر ابر دسترسی دارند. لیست کاربران شناخته شده استخراج شده است
/etc/passwd
، که خوشبختانه در واقع حاوی هیچ رمز عبور یا هش رمز عبور نیست. - پیکربندی Git محلی شما. این دزدیده شده است
$HOME/.gitconfig
و معمولاً حاوی اطلاعات مفیدی در مورد تنظیمات شخصی هر کسی است که از سیستم مدیریت کد منبع محبوب Git استفاده می کند. - کلیدهای SSH شما اینها از دایرکتوری دزدیده شده اند
$HOME/.ssh
. کلیدهای SSH معمولاً شامل کلیدهای خصوصی هستند که برای اتصال ایمن از طریق SSH (پوسته ایمن) یا استفاده از SCP (کپی امن) به سرورهای دیگر در شبکه های خود یا در فضای ابری استفاده می شوند. بسیاری از توسعهدهندگان حداقل برخی از کلیدهای خصوصی خود را رمزگذاری نشده نگه میدارند، به طوری که اسکریپتها و ابزارهای نرمافزاری که استفاده میکنند میتوانند به طور خودکار به سیستمهای راه دور متصل شوند، بدون اینکه هر بار برای درخواست رمز عبور یا کلید امنیتی سختافزاری مکث کنند. - 1000 فایل اول در فهرست اصلی شما کوچکتر از 100 کیلوبایت است. توضیحات بدافزار PyTorch نحوه محاسبه "لیست 1000 فایل اول" را بیان نمی کند. محتوا و ترتیب فهرست بندی فایل ها به این بستگی دارد که آیا لیست بر اساس حروف الفبا مرتب شده است یا خیر. آیا زیر شاخه ها قبل، در حین یا بعد از پردازش فایل ها در هر دایرکتوری بازدید می شوند. آیا فایل های مخفی گنجانده شده است. و اینکه آیا تصادفی در کدی که راه خود را در دایرکتوری ها طی می کند استفاده شده است یا خیر. احتمالاً باید فرض کنید که هر فایلی که کمتر از حد آستانه اندازه باشد، ممکن است به سرقت رفته باشد.
در این مرحله به این خبر خوب اشاره می کنیم: فقط کسانی که نسخه به اصطلاح "شبانه" یا آزمایشی نرم افزار را دریافت کرده بودند در معرض خطر بودند. (نام شبانه از این واقعیت ناشی می شود که آخرین ساخت است که معمولاً در پایان هر روز کاری به طور خودکار ایجاد می شود.)
اکثر کاربران PyTorch احتمالا به آن پایبند خواهند بود نسخه به اصطلاح "پایدار" که تحت تأثیر این حمله قرار نگرفت.
همچنین از گزارش PyTorch به نظر می رسد که فایل اجرایی بدافزار Triton به طور خاص محیط های لینوکس 64 بیتی را هدف قرار می دهد.
بنابراین ما فرض میکنیم که این برنامه مخرب تنها در صورت نصب زیرسیستم ویندوز برای لینوکس (WSL) روی رایانههای ویندوز اجرا میشود.
فراموش نکنید، اگرچه افرادی که به احتمال زیاد «شبهای شبانه» معمولی را نصب میکنند شامل توسعهدهندگان خود PyTorch یا برنامههایی هستند که از آن استفاده میکنند – شاید از جمله توسعهدهندگان داخلی شما، که ممکن است دسترسی مبتنی بر کلید خصوصی به ساخت شرکت داشته باشند. ، سرورهای تست و تولید.
سرقت اطلاعات DNS
جالب اینجاست که بدافزار تریتون داده های خود را استخراج نمی کند (اصطلاح اصطلاحی نظامی که صنعت امنیت سایبری دوست دارد به جای استفاده از آن استفاده کند. سرقت or کپی غیر قانونی) با استفاده از HTTP، HTTPS، SSH یا هر پروتکل سطح بالا دیگر.
در عوض، دادههایی را که میخواهد به سرقت ببرد، رمزگذاری و رمزگذاری میکند تا به دنبالهای از آنچه شبیه «نامهای سرور» است، متعلق به نام دامنهای است که توسط مجرمان کنترل میشود.
این به این معنی است که با ایجاد دنباله ای از جستجوهای DNS، کلاهبرداران می توانند در هر درخواست جعلی مقدار کمی از داده ها را به سرقت ببرند.
این همان ترفندی است که مورد استفاده قرار گرفت هکرهای Log4Shell در پایان سال 2021، که کلیدهای رمزگذاری را با انجام جستجوی DNS برای «سرورها» با «نامهایی» که اتفاقاً مقدار کلید دسترسی مخفی AWS شما بود، فاش کرد، که از یک متغیر محیطی در حافظه غارت شده بود.
بنابراین چیزی که به نظر می رسد یک جستجوی DNS بی گناه برای یک "سرور" مانند S3CR3TPA55W0RD.DODGY.EXAMPLE
بی سر و صدا کلید دسترسی شما را تحت پوشش یک جستجوی ساده که به سرور DNS رسمی فهرست شده برای DODGY.EXAMPLE
دامنه.
نسخه ی نمایشی زنده LOG4SHELL با توضیح استخراج داده ها از طریق DNS
اگر نمیتوانید متن اینجا را به وضوح بخوانید، از حالت تمام صفحه استفاده کنید، یا مستقیم تماشا کنید در یوتیوب.
برای سرعت بخشیدن به پخش یا روشن کردن زیرنویس، روی چرخ دنده در پخش کننده ویدیو کلیک کنید.
اگر کلاهبرداران صاحب دامنه هستند DODGY.EXAMPLE
، آنها به دنیا می گویند که هنگام انجام آن جستجوها به کدام سرور DNS متصل شود.
مهمتر از آن، حتی شبکههایی که اتصالات شبکه مبتنی بر TCP را با استفاده از HTTP، SSH و سایر پروتکلهای اشتراکگذاری داده سطح بالا به شدت فیلتر میکنند.
... گاهی اوقات اتصالات شبکه مبتنی بر UDP که برای جستجوی DNS استفاده می شوند را به هیچ وجه فیلتر نکنید.
تنها نکته منفی برای کلاهبرداران این است که درخواست های DNS اندازه نسبتاً محدودی دارند.
نام سرورهای مجزا به 64 کاراکتر از مجموعه 37 (A-Z، 0-9 و علامت خط تیره یا خط تیره) محدود میشود و بسیاری از شبکهها بستههای DNS منفرد، از جمله تمام درخواستهای محصور شده، هدرها و ابردادهها را به تنها 512 بایت محدود میکنند.
ما حدس می زنیم به همین دلیل بدافزار در این مورد با دنبال کردن کلیدهای خصوصی شما شروع به کار کرد، سپس خود را به حداکثر 1000 فایل محدود کرد که هر کدام کوچکتر از 100,000 بایت است.
به این ترتیب، کلاهبرداران می توانند بسیاری از داده های خصوصی، به ویژه از جمله کلیدهای دسترسی به سرور، را بدون ایجاد تعداد زیادی جستجوی DNS به سرقت ببرند.
ممکن است تعداد غیرمعمول زیادی از جستجوگرهای DNS به دلایل عملیاتی معمول مورد توجه قرار گیرند، حتی در صورت عدم وجود هرگونه بررسی دقیق برای اهداف امنیت سایبری.
چه کاری انجام دهید؟
PyTorch قبلاً برای خاموش کردن این حمله اقدام کرده است، بنابراین اگر هنوز مورد حمله قرار نگرفته اید، تقریباً مطمئناً اکنون ضربه نخواهید خورد، زیرا حملات مخرب torchtriton
بسته در PyPI با یک بسته خالی عمداً "dud" به همین نام جایگزین شده است.
این بدان معنی است که هر شخص یا هر نرم افزاری که سعی در نصب داشته باشد torchtriton
از PyPI بعد از 2022-12-30T08:38:06Z، چه به صورت تصادفی یا طراحی، بدافزار را دریافت نخواهد کرد.
PyTorch لیست مفیدی از IoCها یا شاخص های سازش، که می توانید آن را در سراسر شبکه خود جستجو کنید.
همانطور که در بالا ذکر کردیم، به یاد داشته باشید که حتی اگر تقریباً همه کاربران شما به نسخه «پایدار» پایبند باشند که تحت تأثیر این حمله قرار نگرفت، ممکن است توسعه دهندگان یا علاقهمندانی داشته باشید که «شبهای شبانه» را تجربه کنند، حتی اگر از پایدار استفاده کنند. را نیز آزاد کنید.
به گفته PyTorch:
- بدافزار با نام فایل نصب شده است
triton
. به طور پیش فرض، انتظار دارید که آن را در زیر شاخه پیدا کنیدtriton/runtime
در فهرست بسته های سایت پایتون شما. با توجه به اینکه نام فایل ها به تنهایی نشانگر بدافزار ضعیفی هستند، وجود این فایل را به عنوان شواهدی از خطر تلقی کنید. فقدان آن را به عنوان یک امر کاملاً واضح تلقی نکنید. - بدافزار در این حمله خاص دارای مبلغ SHA256 است
2385b29489cd9e35f92c072780f903ae2e517ed422eae67246ae50a5cc738a0e
. بار دیگر، بدافزار را میتوان به راحتی دوباره کامپایل کرد تا یک چکسوم متفاوت تولید کند، بنابراین عدم وجود این فایل نشانه سلامت قطعی نیست، اما میتوانید وجود آن را به عنوان نشانهای از عفونت تلقی کنید. - جستجوهای DNS مورد استفاده برای سرقت داده ها به نام دامنه ختم می شد
H4CK.CFD
. اگر گزارشهای شبکهای دارید که جستجوهای DNS را با نام ضبط میکنند، میتوانید این رشته متن را به عنوان مدرکی مبنی بر درز اطلاعات مخفی جستجو کنید. - پاسخهای DNS مخرب ظاهراً به آن رفتند، و پاسخها، در صورت وجود، از یک سرور DNS به نام
WHEEZY.IO
. در حال حاضر، ما نمی توانیم هیچ شماره IP مرتبط با آن سرویس را پیدا کنیم، و PyTorch هیچ داده IP ارائه نکرده است که تافیک DNS را با این بدافزار مرتبط کند، بنابراین مطمئن نیستیم که چقدر از این اطلاعات برای شکار تهدید استفاده می شود. در حال حاضر [2023-01-01T21:05:00Z].
خوشبختانه، ما حدس میزنیم که اکثر کاربران PyTorch تحت تأثیر این موضوع قرار نخواهند گرفت، چه به این دلیل که از ساختهای شبانه استفاده نمیکنند، یا در طول دوره تعطیلات کار نمیکنند، یا هر دو.
اما اگر از علاقهمندان به PyTorch هستید که با ساختهای شبانه کار میکنید، و اگر در تعطیلات کار کردهاید، حتی اگر نمیتوانید هیچ مدرک واضحی پیدا کنید که نشان دهد به خطر افتادهاید…
... با این وجود ممکن است بخواهید به عنوان یک اقدام احتیاطی ایجاد جفت کلیدهای SSH جدید و به روز رسانی کلیدهای عمومی را که در سرورهای مختلفی که از طریق SSH به آنها دسترسی دارید آپلود کرده اید در نظر بگیرید.
اگر شک دارید که به خطر افتادهاید، البته، آن بهروزرسانیهای کلید SSH را به تعویق نیندازید – اگر قبلاً آنها را انجام ندادهاید، همین الان آنها را انجام دهید!
- AI
- هوش مصنوعی
- بلاکچین
- coingenius
- کیف پول cryptocurrency
- رمزنگاری
- امنیت سایبری
- مجرمان سایبری
- امنیت سایبری
- سرقت اطلاعات
- اداره امنیت میهن
- کیف پول دیجیتال
- فایروال
- کسپرسکی
- لینوکس
- فراگیری ماشین
- نرم افزارهای مخرب
- مکافی
- ML
- امنیت برهنه
- NexBLOC
- افلاطون
- افلاطون آی
- هوش داده افلاطون
- بازی افلاطون
- PlatoData
- بازی پلاتو
- مارماهی
- تریتون
- VPN
- امنیت وب سایت
- زفیرنت