«در یک نام چیست؟ چیزی که ما گل رز را به هر نام دیگری می نامیم بوی شیرینی می دهد. وقتی شکسپیر این کلمات را نوشت (رومئو و ژولیت، پرده 2، صحنه 2) در سال 1596، او می گفت که یک نام فقط یک قرارداد است. معنای ذاتی ندارد. ژولیت رومئو را به خاطر آنچه هست دوست دارد، نه به خاطر نامش.
اما شکسپیر بدون اینکه بداند حملات سردرگمی وابستگی را نیز توصیف می کرد.
سردرگمی وابستگی زمانی است که بسته هایی که در کد خود استفاده می کنید متعلق به شما نیستند. آنها نام یکسانی دارند، اما این کد شما نیست که در حال تولید است. به همین نام، اما یک بسته بوی گل رز می دهد و بسته دیگر ... بوی بد می دهد.
گزارش های تحقیقاتی اخیر تخمین می زند که 41٪ تا 49٪ از سازمان ها در معرض خطر حملات سردرگمی وابستگی هستند. تحقیقات جدید OX Security نشان میدهد که وقتی سازمانی در معرض خطر حمله سردرگمی وابستگی قرار میگیرد، ۷۳ درصد از داراییهای آن آسیبپذیر هستند. این تحقیق بر سازمانهای متوسط و بزرگ متمرکز بود (73K+، 1K+، 80K+ کارکنان) در طیف وسیعی از بخشها - امور مالی، بازی، فناوری و رسانه - و خطر را در هر بخش در سازمانهایی با هر اندازهای پیدا کردند. این تحقیق همچنین نشان داد که تقریباً تمام برنامه های کاربردی با بیش از 1 میلیارد کاربر از وابستگی هایی استفاده می کنند که در برابر سردرگمی وابستگی آسیب پذیر هستند.
هدف این مقاله کمک به درک سردرگمی وابستگی و نحوه جلوگیری از آن است.
دوبل، دوبل
وابستگی ها (که بسته ها نیز نامیده می شوند) بلوک های سازنده نرم افزار شما هستند. به طور معمول این قطعات نرم افزار، چه توسط کل جوامع توسعه یافته باشند و چه در داخل یک شرکت، یک کار مشترک و ضروری را انجام می دهند.
مدیریت بسته ها اغلب برای نصب وابستگی ها و به روز نگه داشتن آنها استفاده می شود. آنها رجیستری های عمومی و خصوصی را برای نام بسته اسکن می کنند و در صورت مساوی بودن سایر موارد، بالاترین شماره نسخه را انتخاب می کنند. مهاجمان با قرار دادن یک بسته "ساختگی" در رجیستری عمومی با همان نام اما نسخه بالاتر از این مزیت استفاده می کنند.
هنگامی که یک مدیر بسته با دو بسته یکسان روبرو می شود، یکی در یک رجیستری عمومی و دیگری در یک رجیستری خصوصی، باعث سردرگمی می شود - از این رو به آن "سرگردانی وابستگی" می گویند. از آنجایی که دو بسته یکسان هستند، مدیر به طور خودکار بسته ای را که نسخه بالاتری دارد نصب می کند - در این مورد، بسته مخرب مهاجم.
این به ربایندگان درب پشتی نرم افزار شما را می دهد. از این نقطه، آنها می توانند نقض داده ها را اجرا کنند، سرقت مالکیت معنوی را انجام دهند، و در غیر این صورت زنجیره تامین نرم افزار اعتماد را به خطر بیاندازند. آنها همچنین میتوانند نقض انطباق را معرفی کنند که مجازاتهای نظارتی شدیدی را در پی خواهد داشت.
زحمت و دردسر
رویکردهای مختلفی برای حمله سردرگمی وابستگی وجود دارد.
- فاصله نام. با آپلود یک کتابخانه نرم افزار مخرب در یک رجیستری عمومی - مانند فهرست بسته پایتون (PyPI) یا جاوا اسکریپت رجیستری npm - به این معنا که به همین ترتیب نامگذاری شده است در یک کتابخانه قابل اعتماد و مورد استفاده داخلی، سیستمهایی که چک فضای نام/URL را حذف میکنند یا واکشی را از یک رجیستری خصوصی اجباری نمیکنند، ممکن است به اشتباه کد مخرب را وارد کنند. را حادثه اخیر سردرگمی وابستگی PyTorch نمونه ای از این دست است
- جعل DNS با استفاده از تکنیکی مانند جعل DNS، سیستمها میتوانند وابستگیها را از مخازن مخرب بیرون بکشند و در عین حال آنچه را که شبیه URL/مسیرهای داخلی قانونی به نظر میرسد، نشان دهند.
- اسکریپت. با تغییر اسکریپت های ساخت/نصب یا ادغام مداوم/تحویل مستمر پیکربندیهای خط لوله (CI/CD)، سیستمها را میتوان فریب داد تا وابستگیهای نرمافزاری را از یک منبع مخرب به جای یک مخزن محلی دانلود کنند.
کارها به خوبی و با دقت انجام شده است
برای محافظت در برابر سردرگمی وابستگی، این شیوه ها را اجرا کنید.
- سیاست ها را در مدیر بسته تنظیم کنید. مدیران بسته را از اولویت بندی یک بسته عمومی بر یک بسته خصوصی منع کنید.
- همیشه یک فایل .npmrc داشته باشید. اگر از NPM محبوب بهعنوان مدیر بسته استفاده میکنید، همیشه یک فایل npmrc. که محل واکشی بستهها را در محدوده سازمانی خاص مشخص میکند، اضافه کنید.
- نام بسته را در یک دفتر ثبت عمومی رزرو کنید. راه دیگر برای محافظت در برابر حملات سردرگمی وابستگی، رزرو نام بسته در یک رجیستری عمومی است تا هکرها نتوانند از آن استفاده کنند و بنابراین، نتوانند مدیر بسته را برای نصب یک بسته مخرب "فریب دهند".
برای محافظت کامل در برابر حملات سردرگمی وابستگی، سازمان ها باید همیشه از آن استفاده کنند محدوده سازمان برای همه بسته های داخلی، حتی هنگام انتشار در رجیستری داخلی شما. حوزههای سازمانی نیز باید در ثبت عمومی NPM ثبت شوند، بنابراین از ربودن محدوده و سوء استفاده از این سردرگمی جلوگیری میشود.
نام بسته ها نیز باید به صورت عمومی ثبت شود. برای مثال، اگر سازمانی از PIP محبوب به عنوان مدیر بسته برای وابستگیهای پایتون استفاده میکند، باید بستههای داخلی با پسوندی دقیق ایجاد کند که قابل تشخیص باشد و در همه پروژهها کار کند. یک بسته خالی با همین نام را در PyPI ثبت عمومی به عنوان نگهدارنده آپلود کنید.
یکی دیگر از دلایل رزرو نام بسته در یک رجیستری عمومی این است که اگر شخص دیگری آن را رزرو کند (به طور مخرب یا نه)، توسعه دهندگان باید نام بسته های موجود در رجیستری خصوصی را به نامی تغییر دهند که هنوز در رجیستری عمومی رزرو نشده است. این می تواند یک فرآیند طولانی و خسته کننده باشد.
توجه به این نکته مهم است که همه رجیستری های بسته به کاربران اجازه نمی دهند نام بسته ها را رزرو کنند، بنابراین مطمئن شوید که یکی را پیدا کنید که این امکان را دارد.
خروج، تعقیب شده توسط یک خرس
حملات سردرگمی وابستگی یک تهدید جدی و قریب الوقوع امنیت سایبری برای سازمان ها در سطح جهان است. حدود نیمی از تمام سازمان ها در معرض خطر هستند و 73 درصد از دارایی های آن سازمان ها در معرض خطر هستند. برای مقابله با این تهدید فزاینده، سازمان ها باید اقدامات پیشگیرانه قوی را اجرا کنند و بهترین شیوه های امنیت سایبری را اتخاذ کنند.
رزهای شکسپیر ممکن است خطر حملات سردرگمی وابستگی را تا صدها سال پیشبینی کرده باشند، اما نقل قول دیگری از بارد ممکن است برای محافظت در برابر آنها حکمت داشته باشد: بگذارید هر چشمی برای خودش مذاکره کند و به هیچ عاملی اعتماد نکنید. (هیاهوی زیادی درباره هیچ، پرده 2، صحنه 1)
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. خودرو / خودروهای الکتریکی، کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- ChartPrime. بازی معاملاتی خود را با ChartPrime ارتقا دهید. دسترسی به اینجا.
- BlockOffsets. نوسازی مالکیت افست زیست محیطی. دسترسی به اینجا.
- منبع: https://www.darkreading.com/edge-articles/software-supply-chain-strategies-to-parry-dependency-confusion-attacks
- : دارد
- :است
- :نه
- :جایی که
- 1
- 7
- a
- درباره ما
- در میان
- عمل
- اتخاذ
- مزیت - فایده - سود - منفعت
- در برابر
- عامل
- اهداف
- معرفی
- اجازه دادن
- تقریبا
- همچنین
- همیشه
- an
- و
- دیگر
- هر
- هر کس
- برنامه های کاربردی
- رویکردها
- هستند
- مقاله
- AS
- دارایی
- At
- حمله
- حمله
- بطور خودکار
- به عقب
- BE
- زیرا
- بودن
- بهترین
- بهترین شیوه
- بیلیون
- بلاک ها
- نقض
- بنا
- اما
- by
- صدا
- نام
- CAN
- نمی توان
- مورد
- علل
- زنجیر
- تغییر دادن
- بررسی
- را انتخاب کنید
- رمز
- می آید
- مشترک
- جوامع
- شرکت
- انطباق
- سازش
- گیجی
- قرارداد
- مقابله با
- ایجاد
- امنیت سایبری
- داده ها
- خرابی داده ها
- وابستگی
- وابستگی
- توسعه
- توسعه دهندگان
- جهت دار
- نمایش
- دی ان اس
- do
- میکند
- انجام شده
- توسط
- دیگر
- کارکنان
- تمام
- برابر
- تخمین زدن
- حتی
- هر
- مثال
- اجرا کردن
- قرار گرفتن در معرض
- چشم
- پرونده
- سرمایه گذاری
- پیدا کردن
- متمرکز شده است
- برای
- استحکام
- یافت
- غالبا
- از جانب
- کاملا
- بازی
- می دهد
- در سطح جهانی
- در حال رشد
- نیم
- آیا
- he
- کمک
- از این رو
- بالاتر
- بالاترین
- خود را
- نگه داشتن
- چگونه
- چگونه
- HTTPS
- صدها نفر
- یکسان
- if
- قریب الوقوع
- انجام
- مهم
- in
- شامل
- شاخص
- نصب
- نصب کردن
- موسسه
- فکری
- مالکیت معنوی
- داخلی
- داخلی
- به
- ذاتی
- معرفی
- IT
- ITS
- خود
- جاوا اسکریپت
- تنها
- نگاه داشتن
- دانا
- بزرگ
- قانونی
- اجازه
- کتابخانه
- پسندیدن
- محلی
- طولانی
- مطالب
- دوست دارد
- ساخت
- مدیر
- مدیران
- ممکن است..
- معنی
- معیارهای
- رسانه ها
- بیش
- بسیار
- باید
- نام
- نام
- لازم
- جدید
- نه
- هیچ چی
- عدد
- of
- on
- ONE
- or
- کدام سازمان ها
- سازمان های
- دیگر
- در غیر این صورت
- روی
- بسته
- بسته
- انجام
- قطعات
- خط لوله
- حفره یا سوراخ
- دادن
- افلاطون
- هوش داده افلاطون
- PlatoData
- نقطه
- سیاست
- محبوب
- در برخواهد داشت
- شیوه های
- جلوگیری از
- جلوگیری
- اولویت بندی
- خصوصی
- روند
- تولید
- پروژه ها
- ویژگی
- محافظت از
- حفاظت
- عمومی
- عمومی
- انتشار
- پــایتــون
- مارماهی
- نقل قول کردن
- محدوده
- نسبتا
- RE
- دلیل
- ثبت نام
- ثبت نام
- رجیستری
- تنظیم کننده
- گزارش ها
- مخزن
- تحقیق
- ذخیره
- محفوظ می باشد
- ذخایر
- خطر
- تنومند
- رز
- در حال اجرا
- s
- همان
- گفته
- اسکن
- صحنه
- حوزه
- اسکریپت
- بخش
- بخش ها
- تیم امنیت لاتاری
- جدی
- شدید
- باید
- نشان می دهد
- پس از
- اندازه
- So
- نرم افزار
- زنجیره تامین نرم افزار
- برخی از
- کسی
- منبع
- خاص
- استراتژی ها
- سخت
- چنین
- عرضه
- زنجیره تامین
- مطمئن
- شیرین
- سیستم های
- گرفتن
- مصرف
- کار
- پیشرفته
- نسبت به
- که
- La
- سرقت
- آنها
- از این رو
- اینها
- آنها
- اشیاء
- این
- کسانی که
- تهدید
- بدین ترتیب
- به
- ماشه
- اعتماد
- مورد اعتماد
- دو
- به طور معمول
- زیر
- فهمیدن
- به روز شده
- آپلود
- استفاده کنید
- استفاده
- کاربران
- با استفاده از
- مختلف
- نسخه
- نقض
- آسیب پذیر
- بود
- مسیر..
- we
- خوب
- چی
- چه زمانی
- چه
- که
- در حین
- WHO
- وسیع
- دامنه گسترده
- اراده
- خرد
- با
- در داخل
- بدون
- کلمات
- مهاجرت کاری
- خواهد بود
- نوشت
- سال
- هنوز
- شما
- شما
- زفیرنت