درب پشتی در کتابخانه پایتونی
خلاصه: وجود یک درب پشتی در یکی از کتابخانههای نسبتا محبوب پایتون میتواند مشکلاتی را موجب شود. با اینکه این کتابخانه خیلی محبوب نیست، در قسمتهای مهمی استفاده شده است.
توسعه نرمافزار برای این که سریع باشد نیاز دارد که کد قابلیت استفاده مجدد داشته باشد و استفاده مجدد از کد مؤثر نیاز به مخازن کد دارد. مجموعه قطعات کد، توابع، کتابخانهها و ماژولها کار توسعهدهندگان برای نوشتن برنامههای جدید را راحت میکند.
کارشناسان در ReversingLabs در مورد حملات اخیر بر روی یک مخزن تحقیقاتی انجام دادهاند. این مخزن محبوب پایتون Python Package Index یا PyPI نام دارد و یکی از ماژولهای این مخزن دارای یک درب پشتی است. این نخستین باری نیست که PyPI مورد حمله قرار میگیرد، اما تصور عموم بر این بود که کد مخرب قبلی به طور کامل اصلاح شده است.
یکی از مهندسین اصلی ReversingLabs می گوید: این درب پشتی با اینکه قبلا گزارش شده بود اما به طور کامل از مخزن حذف نشده بود و هنوز بر روی صفحه ی وب وجود داشت.
همچینین پریکا گفت با اینکه این بسته چندان محبوب نیست، به طور متوسط 82 مرتبه در ماه نصب شده است.
بدافزار در ماژولی با نام libpeshnx قرار دارد که شبیه ماژول قبلی با نام libpeshna است و هر دو این ماژولها توسط فرد نوشته شده است.
مکانیزم این درب پشتی بسیار ساده است، یک تماس با یک سرور کنترل و فرمان و پس از آن انتظار برای فعال شدن!
آنچه باعث نگرانی در مورد این درب پشتی شده است، استفاده از آن در شرکتهای زنجیره تامین، بخصوص زنجیره تامین فیزیکی، و امکان حمله به این زنجیرهها است.
پریکا در این باره میگوید: بسیاری از این مخزنهای نرم افزاری، فرآیند بازبینی کاملی در زمان تغییرات کاربر ندارند و هر کاربری میتواند هر چیزی را ارسال کند. پریکا این مکانیزم را با کدهای باز روی گیت هاب مقایسه میکند که معمولا یک روند بازبینی و تایید برای هر کد جدید اضافه شده به انتشار رسمی وجود دارد.
لازم به ذکر است که PyPI هنوز مورد تایید توسعه دهندگان پایتون است.