«Protestware» در حال افزایش است و برنامه نویسان کدهای خود را خراب می کنند. آیا باید نگران باشیم؟


در مارس 2022، نویسنده node-ipc، کتابخانه نرم افزاری با بیش از یک میلیون بارگیری در هفته، به عمد کد آنها را شکست. اگر کد متوجه شود که در روسیه یا بلاروس اجرا می‌شود، سعی می‌کند محتوای هر فایل روی رایانه کاربر را با ایموجی قلبی جایگزین کند.

کتابخانه نرم افزار مجموعه ای از کدهایی است که سایر برنامه نویسان می توانند برای اهداف خود از آنها استفاده کنند. کتابخانه node-ipc توسط Vue.js، چارچوبی که میلیون ها وب سایت را برای مشاغلی مانند گوگل، فیس بوک و نتفلیکس نیرو می دهد.

این آسیب پذیری امنیتی حیاتی فقط یک نمونه از الف است روند رو به رشد برنامه نویسانی که کد خود را برای اهداف سیاسی خود خرابکاری می کنند. هنگامی که برنامه نویسان از طریق کد خود اعتراض می کنند – پدیده ای که به عنوان “protestware” شناخته می شود – می تواند عواقبی برای افراد و مشاغلی داشته باشد که به کدهایی که ایجاد می کنند متکی هستند.

اشکال مختلف اعتراض

همکار من رائولا گایکوینا کولا و من شناسایی کرده اند سه نوع اصلی از Protestware

  • اعتراضات بدخیم نرم افزاری است که عمداً دستگاه کاربر را بدون اطلاع یا رضایت وی آسیب می رساند یا کنترل می کند.
  • ابزارهای اعتراضی خوش خیم نرم افزاری است که برای افزایش آگاهی در مورد یک موضوع اجتماعی یا سیاسی ایجاد شده است، اما به دستگاه کاربر آسیب نمی رساند یا کنترل آن را در اختیار نمی گیرد.
  • تحریم توسعه دهندگان نمونه هایی از وجود حساب های برنامه نویس هستند معلق توسط سرویس میزبانی اینترنت که فضایی برای ذخیره کد و همکاری با دیگران در اختیار آنها قرار می دهد.

سیستم های نرم افزاری مدرن مستعد آسیب پذیری هستند زیرا به کتابخانه های شخص ثالث متکی هستند. این کتابخانه ها از کدهایی ساخته شده اند که عملکردهای خاصی را انجام می دهند که توسط شخص دیگری ایجاد شده است. استفاده از این کد به برنامه نویسان اجازه می دهد تا توابع موجود را به نرم افزار خود بدون نیاز به اضافه کردن “چرخ را دوباره اختراع کنید

استفاده از کتابخانه های شخص ثالث رایج است در بین برنامه نویسان – روند توسعه را سرعت می بخشد و هزینه ها را کاهش می دهد. به عنوان مثال، کتابخانه های فهرست شده در محبوب رجیستری NPM، که شامل بیش از 1 میلیون کتابخانه است، به طور متوسط ​​به پنج تا شش کتابخانه های دیگر از همان زیست بوم. این مانند یک خودروساز است که از قطعات سایر سازندگان برای تکمیل وسایل نقلیه خود استفاده می کند.

این کتابخانه ها معمولاً توسط یک یا تعداد انگشت شماری از داوطلبان نگهداری می شوند و تحت مجوز نرم افزار منبع باز به صورت رایگان در اختیار سایر برنامه نویسان قرار می گیرند.

موفقیت یک کتابخانه شخص ثالث بر اساس شهرت آن در بین برنامه نویسان است. یک کتابخانه شهرت خود را در طول زمان ایجاد می کند، زیرا برنامه نویسان به قابلیت های آن و پاسخگویی نگهبانان آن به نقص های گزارش شده و درخواست های ویژگی اعتماد می کنند.

اگر از نقاط ضعف کتابخانه شخص ثالث سوء استفاده شود، می تواند به مهاجمان اجازه دسترسی به یک سیستم نرم افزاری را بدهد. به عنوان مثال، الف آسیب پذیری امنیتی حیاتی اخیرا در محبوب کشف شد Log4j کتابخانه این نقص می تواند به یک مهاجم راه دور اجازه دهد تا به اطلاعات حساسی که توسط برنامه های کاربردی با استفاده از Log4j ثبت شده است، مانند رمزهای عبور یا سایر داده های حساس، دسترسی پیدا کند.

اگر آسیب‌پذیری‌ها توسط مهاجمی که به دنبال رمزهای عبور می‌گردند، ایجاد نمی‌شوند، بلکه توسط خود برنامه‌نویس به قصد آگاه کردن کاربران کتابخانه‌شان از یک عقیده سیاسی ایجاد شده باشند، چه؟ ظهور ابزارهای اعتراضی باعث ایجاد چنین سؤالاتی شده است و پاسخ ها متفاوت است.

سوالات اخلاقی فراوان است

آ پست وبلاگ بر روی سایت ابتکار منبع باز به افزایش اعتراض‌افزارها پاسخ می‌دهد و می‌گوید: «اعتراض عنصر مهمی از آزادی بیان است که باید از آن محافظت شود»، اما با یک هشدار پایان می‌دهد: «معایب خرابکاری پروژه‌های منبع باز بسیار بیشتر از هر مزیت احتمالی است، و بازخورد در نهایت به پروژه‌ها آسیب می‌رساند و مشارکت کنندگان مسئول هستند.”

سوال اخلاقی اصلی در پس ابزارهای اعتراضی چیست؟ آیا بدتر کردن چیزی برای بیان یک نکته اخلاقی است؟ پاسخ به این سوال تا حد زیادی به باورهای اخلاقی شخصی فرد بستگی دارد.

برخی از افراد ممکن است تاثیر نرم افزار را بر روی کاربران خود ببینند و استدلال کنند که protestware اگر طوری طراحی شده باشد که زندگی را برای آنها دشوارتر کند، غیراخلاقی است. برخی دیگر ممکن است استدلال کنند که اگر نرم افزار برای بیان نکته یا افزایش آگاهی در مورد یک موضوع طراحی شده باشد، ممکن است از نظر اخلاقی قابل قبول تر باشد.

از منظر فایده گرایانه، ممکن است کسی استدلال کند که اگر نوعی از ابزار اعتراض در ایجاد خیر بزرگتر (مانند تغییر سیاسی) مؤثر باشد، آنگاه می توان آن را از نظر اخلاقی توجیه کرد.

از نقطه نظر فنی، ما در حال توسعه راه هایی برای شناسایی خودکار و مقابله با نرم افزارهای اعتراضی هستیم. Protestware خواهد بود غیر معمول یا شگفت آور رویداد در تاریخچه تغییر یک کتابخانه شخص ثالث. کاهش از طریق افزونگی امکان پذیر است – برای مثال، کدی که مشابه یا یکسان با کدهای دیگر در کتابخانه های مشابه یا متفاوت است.

ظهور ابزارهای اعتراضی نشانه یک مشکل اجتماعی بزرگتر است. هنگامی که مردم احساس می کنند شنیده نمی شوند، ممکن است برای رساندن پیام خود به اقدامات مختلفی متوسل شوند. در مورد برنامه نویسان، آنها توانایی منحصر به فردی برای اعتراض از طریق کد خود دارند.

اگرچه protestware ممکن است یک پدیده جدید باشد، اما احتمالاً در اینجا باقی خواهد ماند. ما باید از پیامدهای اخلاقی این روند آگاه باشیم و گام هایی برداریم تا اطمینان حاصل کنیم که توسعه نرم افزار همچنان یک زمینه پایدار و امن است.

ما برای اداره کسب و کار و زندگی خود به نرم افزار متکی هستیم. اما هر بار که از نرم افزار استفاده می کنیم، به افرادی که آن را نوشته اند اعتماد می کنیم. ظهور ابزارهای اعتراضی اگر اقدامی انجام ندهیم، این اعتماد را بی‌ثبات می‌کند.


مطالعه نشان می‌دهد که ابزار رفع خودکار برنامه‌نویسان بیشتری را برای ارتقای کدها وادار می‌کند


ارائه شده توسط The Conversation


این مقاله بازنشر شده است از گفتگو تحت مجوز Creative Commons. را بخوانید مقاله اصلی.گفتگو

نقل قول: «Protestware» در حال افزایش است و برنامه نویسان کدهای خود را خراب می کنند. آیا باید نگران باشیم؟ (2022، 28 سپتامبر) در 1 اکتبر 2022 از

این برگه یا سند یا نوشته تحت پوشش قانون کپی رایت است. به غیر از هرگونه معامله منصفانه به منظور مطالعه یا تحقیق خصوصی، هیچ بخشی بدون اجازه کتبی قابل تکثیر نیست. محتوای مذکور فقط به هدف اطلاع رسانی ایجاد شده است.





منبع