یکی از چیزهایی که در دنیای امروز احتمالا هر برنامهنویسی با آن مواجه شود، ربودن کدهای او توسط شرکتهای بزرگ خواهد بود. اگر شما هم با این موضوع مواجه شدهاید، پیشنهاد میکنیم که این مقاله را از دست ندهید.
در سال 2016 بود که پاتریک واردل، یکی از فعالین و کارشناسان در زمینه امنیت سایبری، متاسفانه داستانی را شنید که او را عمیقا ناراحت کرد. او در این سال متوجه شد که هکرها با استفاده از بدافزارهایی تلاش میکنند تا از دوربین و میکروفون موجود روی کامپیوترهای مجهز به سیستمعامل مک برای جاسوسی از افراد استفاده کنند. اگر بخواهیم که به نمونهای کاملا واضح اشاره کنیم، میتوان بدافزار Fruitfly را نام برد که توسعهدهنده آن قصد داشت تا از وبکم لپتاپ برای جاسوسی از کودکان استفاده کند!
واردل تمام این موارد را دیده بود و قبل از آن که وارد بخش خصوصی شود، در آژانس امنیت ملی آمریکا یا همان NSA کار میکرد. او در این سازمان وظیفه داشت که تمام کدهای مورد استفاده برای هدف قرار دادن سیستمهای کامپیوتری وزارت دفاع را تجزیه و تحلیل کند و در نهایت گزارشی از آن را مقامات بالاتر ارائه دهد.
واردل که در بازی دفاع دیجیتالی تجربه کافی را داشت، تصمیم گرفت که برنامهای را با نام OverSight را توسعه دهد تا کاربران با استفاده از آن بتوانند وبکم و میکروفون خود را برای علائم استفاده توسط بدافزارها بررسی کنند. او در مورد این ابزار که به صورتی رایگان توسط موسسه غیرانتفاعی Objective-See در دسترس قرار گرفته بود، گفت که به محبوبیت بسیار زیادی رسید و همه آن را دوست داشتند.
ماهها به همین شکل میگذشت، تا اینکه در روزی واردل مشغول تجزیه و تحلیل کدهای مشکوک و ابزاری دانلود شده توسط یکی از مشتریانش بود که به چیز کاملا عجیبی برخورد کرد. او متوجه شد که ابزار دانلود شده توسط این مشتری توسط شرکت کاملا بزرگ ایجاد شده است، اما کارهایی دقیقا مشابه با OverSight را انجام میدهد. در واقع، واردل دید که یکی از قابلیتهای این نرمافزار، دقیقا همان توانایی نظارت بر وبکم و میکروفونی است که در ابزارهای خودش قرار داده بود.
واردل پس از مشاهده این موضوع، تصمیم گرفت تا کدهای برنامه را مورد بررسی قرار دهد و در طی این فرایند، متوجه آشنا بودن قسمتهایی از آن شد. او دید که تمام الگوریتمهای برنامه OverSight به همراه اشکالاتی که نتوانسته بود آنها را حذف کند، در این برنامه وجود دارد. اگر بخواهیم که این موضوع را سادهتر بیان کنیم، توسعهدهنده آن برنامه با استفاده از مهندس معکوس، کدهای OverSight را دزدیده و در محصولی کاملا متفاوت استفاده کرده بود.
واردل در واکنش به این موضوع میگوید:
من تمایل دارم که این کار را با سرقت ادبی مقایسه کنم: شخصی از آنچه که شما نوشتهاید کپیبرداری کرده است و به وضوح میتوانید اشتباهات املایی و دستور زبانی خود را در آن مشاهد کنید!
پس از این موضوع، واردل به سرعت با شرکت توسعهدهنده برنامه تماس گرفت و به آنها اطلاع داد که یکی از توسعهدهندگان آنها کد او را دزدیده و در برنامه مورد نظر استفاده کرده است. او در ادامه میگوید که این اولین و آخرین باری نیست که شرکتهای دیگر از الگوریتمهای توسعه داده شده توسط او استفاده میکنند و در سالهای بعد به شواهدی دست پیدا کرد که نشان میداد دو شرکت بزرگ دیگر هم از داراییهای او در محصولات خود استفاده کردهاند.
تمام این اطلاعات گفته شده تا به امروز به شکل راز باقی مانده بودند و کمتر کسی از آنها اطلاع داشت، تا اینکه واردل در کنفرانس سالانه امنیت سایبری BlackHat سال جاری آنها را بازگو کرد. واردل در کنار تام مکگوایر، استاد دانشگاه جان هاپکینز، نشان داد که چگونه مهندسی معکوس میتواند شواهدی از چنین سرقتهایی را آشکار کند.
برای کسانی که در مورد مهندسی معکوس اطلاعاتی ندارند، باید بگوییم که این اصطلاح را در مورد فرایندی به کار میبرند که توسط آن، کدهای یک برنامه کاملا آشکار میشوند و در دسترس قرار میگیرند.
واردل در این کنفرانس گفت که از شناسایی شرکتهایی که کد او را دزدیدهاند، خودداری کرده است و اصلا قصد انتقامگیری ندارد. او در ادامه اعلام کرد که این کارها در مورد شناسایی مسئله سیستمی مهمی است که بر تمام کسانی که در زمینه امنیت سایبری فعالیت میکنند، تاثیر خواهد گذاشت.
او برای آن که بتواند تمام توسعهدهندگان دنیا را از چنین موضوع آگاهی کند، تصمیم گرفت تا به کنفرانس BlackHat برود و درسهایی که در مورد اطلاعرسانی به شرکتها در زمینه دزدیده شدن کدهایش آموخته بود را در اختیار آنها قرار دهد.
او در کنفرانس امنیتی BlackHat گفت:
شما با این شرکتها تماس میگیرید و میگویید که هی، بچهها، شما اساسا از من دزدی کردهاید. شما ابزار من را مهندسی معکوس و الگوریتم به کار رفته در آن را دوباره پیادهسازی کردهاید. در اتحادیه اروپا، دستورالعملی وجود دارد که اگر شما این کار را انجام دهید، مرتکب جرم خواهید شد.
او سپس به پاسخهایی که از سوی این شرکتها دریافت کرده بود، اشاره کرد و گفت:
این موضوع تا حد زیادی به شرکتها بستگی دارد. برخی از آنها عالی هستند و برای مثال من ایمیلی را از طرف مدیرعامل یکی از این شرکتها دریافت کردم که به این موضوع اعتراف میکرد و قصد داشت تا این کار انجام شده را جبران کند. از طرفی دیگر هم یک سری از شرکتها تا سه هفته این ماجرا را طول خواهند داد و سپس اعلام میکنند که اطلاعات بیشتری را در اختیارشان قرار دهید، چرا که نمیتوانند چنین موضوعی را در محصول خود پیدا کنند!
سوال اصلی که باید ما در ابتدای تمام این مواردی که تا به اینجا گفتیم، مطرح میکردیم، آن بود که شرکتها چرا چنین کاری را انجام میدهند؟ خب، پاسخ سوال ما را واردل میدهد و میگوید که دیدگاه او در طول زمان تغییر کرده است. او سپس ادامه میدهد:
من در ابتدا فکر میکردم که آنها شرکتهایی شیطانی هستند که قصد دارند تا توسعهدهندگان مستقل را نابود کنند. اما در نهایت متوجه شدم که یکی از توسعهدهندگان این برنامهها، فردی سادهلوح یا گمراه بوده که وظیفه داشت تا کدی را مخصوص نظارت بر میکروفون و دوربین بنویسد و برای سادهتر شدن کار خود تصمیم میگرفت تا ابزار من را مهندسی معکوس کند و الگوریتم من را بدزدد! پس از این موضوع هم هیچ کسی در شرکت از او نمیپرسید که آن را از کجا آورده است!!
در هر سه موردی که برای واردل پیش آمده بود، او این موضوع را به شرکتها اعلام کرد و مدیران هم در نهایت اشتباه تیم خود را پذیرفتند و گفتند که به زودی این موضوع را برطرف خواهند کرد. البته، نباید این موضوع را هم فراموش کنیم که واردل برای آن که بتواند به صورتی کامل و موثرتر ادعاهای خود را اثبات کند، مجبور میشد تا شواهد بیشتری را در اختیار آنها قرار دهد.
واردل گفت که برای ارائه شواهد بیشتر مجبور بود تا نرمافزار متن بسته آنها را مهندسی معکوس میکرد تا بفهمد کد آنها چگونه کار میکند و شباهت آن را با کد خودش متوجه میشد. واردل برای تقویت پرونده خود با بنیاد غیرانتفاعی Electronic Frontier Foundation نیز همکاری کرد که خدمات حقوقی رایگان را در اختیار محققان امنیتی قرار میدهد. او گفت:
داشتن آنها در کنار من باعث شد که به اعتبار بیشتری دست پیدا کنم. بهتر است که توسعهدهندگان دیگر هم از چنین استراتژی استفاده کنند.
واردل گفت:
من در موقعیت خوبی هستم، چونکه با Electronic Frontier Foundation همکاری کردم و از طرفی دیگر هم مخاطبان نسبتا زیادی را به واسطه فعالیت طولانی مدت خود در جامعه دارم. اگر این اتفاق برای من افتاده، برای دیگر توسعهدهندگان هم خواهد افتاد و درگیر چنین موضوعاتی خواهند شد. آنها ممکن است که در بعضی مواقع با شرکتهایی مواجه شوند که تنها به آنها میگویند اطلاعات بیشتری را در اختیارشان قرار دهد و عملا هیچکاری را انجام نخواهند داد.
واردل اعتقاد دارد که دزدی الگوریتم چیز بسیار گستردهای است. او در مورد این موضوع میگوید که این یک مسئله کاملا سیستمی است، زیرا به محض اینکه شروع به جستجو کرده، نه تنها یک، بلکه چندین مورد را پیدا کرده است. او همچنین متوجه شده که این شرکتها هیچ ارتباطی با یکدیگر ندارند.
واردل در پایان ارائه خود، به صورتی مستقیم با شرکتها شروع به صحبت کرد و گفت:
یکی از نکاتی که من سعی میکنم روی آن پافشاری کنم، آن است که اگر شما مالک یک شرکت هستید، واقعا باید به کارمندان و توسعهدهندگان خود آموزش دهید که دزدی نکنند. در واقع، اگر آنها این کار را انجام دهند، کل سازمان شما را در معرض خطر پیگیریهای قانونی قرار میدهند.