Skradziony kod źródłowy \ zhakowany przez konkurencyjną firmę


23

W niektórych firmach, w których pracowałem, menedżerowie wydali sporo pieniędzy na konsultantów ds. Bezpieczeństwa. Przede wszystkim dlatego, że boją się, że skradzimy kod źródłowy konkurencyjnej firmie. Jednak jako programista uważam za niewielki problem, że konkurencyjna firma uznałaby faktyczny kod źródłowy za użyteczny. W końcu wystarczy mieć dostęp do naszej aplikacji i można to zrobić bez łamania prawa. Moim zdaniem dane obsługiwane przez ludzi biznesu byłyby znacznie bardziej przydatne niż kod źródłowy.

Moje pytanie brzmi; czy są jakieś znane przykłady, w których skradziono kod źródłowy ORAZ konkurencyjna firma używała go powszechnie?

Znam jakiś silnik gry (trzęsienie 1 i okres półtrwania 2, jeśli dobrze pamiętam) kod źródłowy został skradziony, ale tak naprawdę nie widzę, żeby to naprawdę zaszkodziło jego biznesowi.

(Wiem, to pytanie może być bardziej odpowiednie dla innych forum na stackexchange)


6
Jeśli kod źródłowy, jeśli jakiś produkt zabezpieczający zostanie skradziony, może to pozwolić hakerom na łatwiejszą analizę pod kątem słabości i wykorzystanie ich do ataku na klientów korzystających z produktu zabezpieczającego. To samo można zrobić za pomocą inżynierii odwrotnej, ale zajmuje to dużo więcej czasu niż przeglądanie kodu źródłowego.

@ Viktor, rozważ przeniesienie tego do działu bezpieczeństwa IT .
AviD

48
Żartowaliśmy sobie z kolegów, że każdy, kto ukradł nasz kod i mógł go uruchomić, zasługiwał na to!
Benjol

1
Niektóre aplikacje mają więcej do stracenia z powodu wycieków kodu źródłowego niż inne. Na przykład: możesz się założyć, że gdyby wyciekł kod źródłowy XRumer, każdy pakiet oprogramowania forum byłby odporny na to następnego dnia. Wpłynęłoby to negatywnie na przychody jego opiekuna, dopóki nie wydadzą następnej wersji.
user16764

1
@IAbstract - Apple wpadł na pomysł graficznego interfejsu GUI od Xerox Park, który miał także jedną z pierwszych (jeśli nie pierwszych) myszy komputerowych ... (< cultofmac.com/… >). Skąd Xerox wpadł na ten pomysł?
Martin S. Stoller

Odpowiedzi:


18

Wyciek Kaspersky na początku tego roku jest dobrym przykładem. W zależności od tego, kogo czytasz, wyciekła wersja może być cykl lub dwa nieaktualne, a sprawca mógł spróbować sprzedać ją konkurentom. Niezależnie od tego, czy został sprzedany, czy nie, jego ostateczne ujawnienie za pośrednictwem torrentów jest oczywiście dość paskudne i może (rzeczywiście?) Mieć poważny wpływ finansowy.

To Half Life 2 wyciekło tuż przed wydaniem w 2004 roku. Istnieje bardzo dobra relacja z tego, co się tu wydarzyło: http://www.eurogamer.net/articles/2011-02-21-the-boy-who-stole- półtrwania-2-artykuł


2
Fascynujący artykuł o HL2. +1
jnevelson

16

Myślę też, że strach przed kradzieżą cennego kodu źródłowego produktu x jest mocno przereklamowany. Nawet jeśli ktoś ma kod źródłowy, który w żaden sposób nie powoduje automatycznie, złodziej może skorzystać z tego kodu.

Tak, wartość oprogramowania została napisana, ale znacznie większa wartość leży w głowach osób, które opracowały tę aplikację. Można to zobaczyć, gdy programista (lub zespół programistów) opuszcza istniejący projekt programistyczny i jest zastępowany przez nowych programistów (lub konsultantów lub jakąkolwiek część ludzi w projekcie). Często zajmuje dużo czasu i wysiłku, aby dostosować je do aktualnie używanej technologii i architektury, w ramach której opracowano produkt. Widziałem więcej niż jeden przypadek, w którym przepisywanie aplikacji całkowicie od zera przez wprowadzenie nowego projektu od nowego zestawu osób było znacznie szybsze i płynniejsze niż próba wkopania się w istniejący kod i próba zrozumienia, co on naprawdę robi .

Samo kradzież wzbogaconego uranu (na szczęście) nie da ci wszystkiego, czego potrzebujesz, aby rozwinąć nuklearny waepon. Nie inaczej jest z kodem źródłowym.

Myślę więc, że nie ma wielu odniesień, w których skradziony kod źródłowy został wykorzystany do opracowania nowej aplikacji na podstawie pracy wykonanej przez kogoś innego. To, co zostało zrobione, to kradzież pomysłów na produkty, a następnie rozpoczęcie procesu wdrażania. Wrażliwa część polega na ochronie pomysłów, a nie na produkcie, który podąża za nimi. Produkt można bardzo łatwo skopiować.


4
U-235 klasy broni jest wystarczający do stworzenia urządzenia nuklearnego, biorąc pod uwagę dość skromne zasoby i talent inżynieryjny. Pluton klasy broni byłby lepszą analogią. Zapewniam cię, że gdyby pełny dostęp do kodu źródłowego był wszystkim, miałbym o wiele mniej problemów z oprogramowaniem U3D.
David Thornley,

9

Oto kilka przykładów, o których osobiście wiem ...

AT & T rozwinął yacc generator parsera i Lex słownikowa analizator generatora, jako część Unix. Miałeś otrzymać kopie źródła tylko wtedy, gdy uzyskałeś licencję źródłową na system Unix ... ale ktoś zrzucił kopię z biurka osoby, która pozostanie tu anonimowa około 1980 roku. (To nie było ja, i nie jestem pewien, czy chciałby, żeby jego imię zostało spreparowane.) Źródło zaczęło latać, ludzie przenieśli je na komputer IBM, yadda yadda. Dostałem kopie od stroju w Austin, który około 1986 r. Sprzedawał dyskietki z „kodem źródłowym dla fajnych programów”.

Około 1990 r. Microsoft miał taką reputację, chociaż nie jestem pewien, czy była to dokładnie polityka korporacyjna. Oprócz wspomnianej sprawy Stac, o której wspomniał Tangurena, firma konsultingowa, która wcześniej pracowała dla Apple'a, aby przenieść QuickTime na Windows, ponownie wykorzystała niektóre zastrzeżone źródła QuickTime w projekcie dla Intela i Microsoftu, aby przyspieszyć MS Video dla Windows. Firma Apple otrzymała nakaz zatrzymania statku przeciwko aplikacji Video dla systemu Windows. Dla osób z zewnątrz nie jest jasne, czy ktokolwiek w firmie Intel i / lub Microsoft wiedział o kradzieży.

Tak naprawdę nie dzieje się tak bardzo w przypadku firm amerykańskich - ryzyko jest zdecydowanie zbyt wysokie. Na przykład, byłem kontrahentem nieistniejącego już dostawcy bazy danych Informix, kiedy znajdowali się w środku bitwy porównawczej z Oracle, a Informix wygrywał. Oracle zatrudnił jednego z głównych inżynierów bazy danych Informix, który pojawił się pierwszego dnia z dyskiem twardym pełnym źródeł Informix, myśląc, że powitają go z otwartymi ramionami. Powitali go, w porządku - z ekipą bezpieczeństwa, która eskortowała go na komisariat. Zadzwonili także do działu bezpieczeństwa Informix, aby przyjść i odzyskać nie zbadany dysk twardy.


8

czy są jakieś znane przykłady, w których skradziono kod źródłowy ORAZ konkurencyjna firma używała go powszechnie?

Od razu przychodzi mi do głowy, że Microsoft kradnie kod Stac Electronics dla DoubleSpace . Skończyło się to w sądzie, a najtańszym rozwiązaniem dla Microsoftu był zakup Staca (pierwotnie twierdzili, że chcą to zrobić, dlatego uzyskali dostęp do źródła, ale potem zdecydowali się wdrożyć skopiowany kod jako Drivespace, a następnie wyśmiewali Staca za pomocą „co zamierzasz z tym zrobić?”).


a także kradzież przez Microsoft koncepcji wyszukiwania xml / pól niestandardowych i4i podczas ich współpracy.
gbjbaanb

Głównym problemem, który widzę, jeśli firma próbuje ukraść ip, jest element ze stanu techniki. Nie może złożyć wniosku patentowego, jeśli nie różni się znacząco od oryginału
GrumpyMonkey

6

Myślę, że to w dużej mierze zależy od konkretnej bazy kodu. Byłbym zaskoczony, gdyby więcej niż niewielka mniejszość zastrzeżonego kodu źródłowego była warta kradzieży.

W większości przypadków kod źródłowy jest zobowiązaniem, a nie - jak niektórzy ludzie biznesu lubią myśleć - zasobem. Zasób to bieżący plik wykonywalny i ludzie, którzy wiedzą, jak go dostosować i rozwinąć zgodnie z przyszłymi wymaganiami biznesowymi.

Oprócz wysokiego ryzyka prawnego kradzieży kodu źródłowego i bezpośredniego kosztu jego zakupu, twoi programiści muszą to zrozumieć. Co - zwłaszcza jeśli pierwotni programiści nie są w pobliżu, aby pomóc - jest ogromnym przedsięwzięciem dla nietrywialnej bazy kodu. Peter Seibel ( znany ze słynnego „ Practical Common Lisp and Coders at Work” ) powiedział kiedyś, że ilość czasu jest tego samego rzędu wielkości, co w przypadku oryginalnego projektu.

Istnieją jednak wyjątki, np. Jeśli podstawa kodu ...

  • ... zawiera bardzo cenne, łatwe do zidentyfikowania, dyskretne części (np. zastrzeżony algorytm o znacznie lepszych właściwościach niż powszechnie znane odpowiedniki)
  • ... czerpie znaczącą wartość z „niejasności”, takich jak niektóre produkty związane z bezpieczeństwem
  • ... jest sam w sobie bardzo mały, z rygorystycznymi wymaganiami dotyczącymi poprawności, jak to powszechnie można znaleźć w oprogramowaniu wbudowanym (tj. wartość jest poddawana szczegółowym testom, przeglądom, a może nawet formalnym dowodom)
  • ... zawiera dowody zaniedbania / naruszenia umowy / nieetyczne praktyki biznesowe / niekompetencji itp.


2

Jest to coś interesującego dla twórców produktów, w których osadzone oprogramowanie to ZŁOTA, a od lat zdarzały się przypadki kradzieży kodu źródłowego lub obiektowego. Od czasu do czasu możesz pisać więcej w czasopismach technicznych.


Oczywiście wbudowane oprogramowanie nigdy nie powstrzymuje ludzi przed próbą inżynierii wstecznej systemów Nintendo z lat 80. Wierzę, że wiele osób było w stanie to zrobić. Mamy emulatory działające na iPhonie, które pozwalają grać w 20-letnie gry.
Ramhound

1
Emulator gry to nie to samo, co kradzież oprogramowania układowego, które uruchamia niektóre z bardziej wszechobecnych produktów - na przykład, po co płacić komuś za opracowanie oprogramowania układowego kontrolera pralki, jeśli można po prostu ukraść komuś innemu. To może nie wydawać się dużo $ i nie jest to zbyt dobry przykład. Istnieją jednak inne przykłady, w których mikrokontrolery mogą odczytać oprogramowanie układowe (np. Poprzez wytrawienie żywicy epoksydowej i sondowanie matrycy), ponieważ zawartość jest warta zrobienia tego wszystkiego.
Szybko_niedz.

1

Tak, istnieje kilka przykładów, ale nie znam żadnego z zastrzeżonym kodem. Zobacz http://gpl-violations.org/, gdzie podano przykłady, w których firmy korzystały z otwartego kodu źródłowego, tak jakby to był jego własny. W takich przypadkach uzyskanie kodu źródłowego nie stanowiło problemu, ponieważ był to program open source.


To nieprawda, że ​​nie ma przykładów z zastrzeżonym kodem. Zobacz inne odpowiedzi.
Bob Murphy

@Bob Murphy: Mój błąd. Dodałem „brak, o którym wiem” do mojej odpowiedzi.
Martin Vilcans

<śmiech> cały czas mi się zdarza.
Bob Murphy

1

Wszystko zależy od rodzaju aplikacji i łatwości jej replikacji. Jestem pewien, że Microsoft chciałby zdobyć kod źródłowy dla wyszukiwarki Google. Gdyby to zrobili, wyrządziliby im ciężkie straty.

Jednak każdy doświadczony programista może skopiować dokładne zachowanie 99% aplikacji internetowych lub komputerowych bez kodu źródłowego.

Ma to znaczenie, gdy firma włożyła wiele pracy w silnik (tj. Silnik fizyki, silnik wyszukiwania), którego nikt inny nie był w stanie stworzyć, lub system operacyjny

To powiedziawszy, przez większość czasu to naprawdę nie ma znaczenia.


1

Mogę wymyślić dwa przykłady:

  • Tengen nielegalnie uzyskał kod układu zabezpieczającego przed kopiowaniem NES. Następnie wykorzystali ten kod do wytworzenia nielicencjonowanych kaset NES (w tym Tetris). Jak uzyskali kod? Inżynieria społeczna pochodzi z amerykańskiego biura ds. Praw autorskich. Innymi słowy, fałszywie twierdzili, że zostali pozwani przez Nintendo i że potrzebują kodu źródłowego, aby przygotować się do obrony. Zadziałało.
  • Zobacz ARJ vs PK-ZIP.

1

Zasadniczo kradzież kodu nie jest tak opłacalna, jakbyś prowadził działalność gospodarczą, a ktoś używa kodu kogoś bez pozwolenia, może pozwać cię za dnia.

Jedyny problem, jaki naprawdę widzę podczas kradzieży kodu, to A) ludzie w Internecie, a nie firmy, korzystający z niego za darmo i modyfikujący go, oraz B) jeśli mieli pójść wystarczająco daleko, aby użyć kodu źródłowego, aby następnie wykonać czyszczenie inżynieria wsteczna pomieszczeń.

http://en.wikipedia.org/wiki/Clean_room_design

Byłby to jednak ogromny wysiłek z ich strony, więc dopóki wasze warunki licencyjne są uczciwe, nie uważam, aby było to wykonalne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.