Pitanje:
Je li reverzni inženjering i korištenje dijelova aplikacije zatvorenog koda legalno?
asheeshr
2013-03-20 18:14:09 UTC
view on stackexchange narkive permalink

Je li legalno vršiti reverzni inženjering određenih značajki aplikacije s zatvorenim izvorom, a zatim integrirati te značajke u aplikaciju zatvorenog ili otvorenog koda koja može biti komercijalna ili nekomercijalna aplikacija?


Brownie ukazuje na odgovor koji govori o situaciji u Indiji.

četiri odgovori:
#1
+27
JMcAfreak
2013-03-20 20:47:19 UTC
view on stackexchange narkive permalink

U Sjedinjenim Državama

Kratki je odgovor negativan u svrhe koje ste naveli u svom pitanju, ali nastavite čitati da biste vidjeli točno što je dopušteno. Ovdje vrijede pročitati i dvije veze koje su ovdje uključene.

U SAD-u, odjeljak 103 (f) Zakona o digitalnim autorskim pravima (DMCA) ( 17 USC § 1201 (f) - Reverse Engineering) izričito navodi da je legalno vršiti obrnuti inženjering i zaobilaziti zaštitu kako bi se postigla interoperabilnost između računalnih programa (poput prijenosa podataka između aplikacija). Interoperabilnost je definirana u stavku 4. odjeljka 103 (f).

Također je često dopušteno vršiti reverzni inženjering artefakta ili postupka ako je zakonito dobiven. Ako je softver patentiran, ne mora nužno biti obrnuto projektiran, jer patenti zahtijevaju javno otkrivanje izuma. Treba spomenuti da, samo zato što je dio softvera patentiran, to ne znači da je cijela stvar patentirana; mogu postojati dijelovi koji ostaju neotkriveni.

Također treba napomenuti da većina američkih ugovora o licenci za krajnjeg korisnika (EULA) u SAD-u izričito zabranjuje obrnuti inženjering. Sudovi su pronašli takve ugovorne zabrane da ponište zakon o autorskim pravima koji to izričito dopušta ( Bowers protiv Baystate Technologies , 320 F.3d 1317 (Fed. Cir. 2003)).

Drugim riječima, za vaše svrhe zvuči kao da bi bilo protuzakonito integrirati značajke iz obrnuto projektiranog programa u drugi program za komercijalnu ili nekomercijalnu upotrebu. Ako ste pokušavali omogućiti interoperabilnost (opet pogledajte odjeljak 103 (f), gore spomenuto), to bi bilo drugačije.

U Indiji

Prema onome što mogu pronaći, izravno obrnuto inženjerstvo softvera, u cijelosti ili djelomično, za upotrebu u vašem vlastitom softveru za komercijalnu upotrebu, zaštićeno je autorskim pravima. Zaštićeni razlozi za obrnuti inženjering slični su onima u Sjedinjenim Državama. Prema članku Poslovna tajna, ugovaranje i inverzni inženjering (također bilješka na kraju bilješka 5), ​​zakon o autorskim pravima široko štiti radnje (uključujući reverzni inženjering) u sljedeće svrhe:

  • Dobivanje informacija bitnih za postizanje interoperabilnosti neovisno stvorenog računalnog programa s drugim programima ako takve informacije inače nisu lako dostupne.
  • Utvrđivanje ideja i principa u osnovi bilo kojeg elementa programa za koji je računalni program bio namijenjen isporučeno.
  • Izrada kopija ili adaptacija legalno dobivene kopije računalnog programa za nekomercijalnu, osobnu upotrebu.

Uz to, zbog odjeljka 23 indijskog Ugovornim zakonom, koji obrađuje sve ugovore, uključujući ugovore o licenci, ugovor se proglašava ništavim ako je u suprotnosti s javnom politikom. Odjeljak 52. Zakona o autorskim pravima proglašava javnu politiku koja se odnosi na obrnuti inženjering, a to je da je ona dozvoljena na ograničen način. Ugovor (ili EULA) koji zabranjuje obrnuti inženjering u softveru u mjeri u kojoj je to dopušteno Zakonom o autorskim pravima, možda neće biti na sudu.

Odjeljak 52, pododjeljci (aa) do (oglas) Zakon o autorskim pravima objašnjava ove zaštićene akte (vidi Indijski zakon o autorskim pravima iz 1957., stranica 33, zajedno s odjeljkom 18. ovih izmjena iz 2012.). Drugi izvor (iako možda pomalo zastario) je Zakoni o softverskim patentima i autorskim pravima u Indiji (članak) sa svojim fusnotama.

Mislim da bi ovo bilo dovoljno jednostavno zaobići: * "... bilo bi protuzakonito integrirati značajke reverznog inženjerskog programa u drugi program za komercijalnu ili nekomercijalnu upotrebu." * O svemu što treba poduzeti je anonimni račun izbaciti informacije u javno vlasništvo. Zatim u aplikaciju uvrstite podatke koji su "pronađeni na webu". Tor i nekoliko drugih tehnologija olakšavaju ostanak anonimnosti. RC4 RSA Data Security i [anonimno objavljivanje ARC4] (https://groups.google.com/d/msg/sci.crypt/JsO3xEATGFA/_HcLTJxgVIgJ) vjerojatno bi bili dobar model.
#2
+22
Remko
2013-03-20 18:29:04 UTC
view on stackexchange narkive permalink

Članak 6. Direktive o računalnim programima iz 1991. godine dopušta obrnuti inženjering u svrhu interoperabilnosti, ali ga zabranjuje u svrhu stvaranja konkurentskog proizvoda, a također zabranjuje javno objavljivanje informacija dobivenih reverznim inženjeringom softvera ( izvor).

To znači da je odgovor NE, barem za EU (niste naveli zemlju na koju se vaše pitanje odnosi).

Znam tvrtku u SAD-u koja koristi RE za programe interoperabilnosti, pa se bojim da je to legalno u SAD-u (samo nagađam).
@jyzuz: koji omogućuje interoperabilnost je jedno. Uzimanje dijelova koda iz konkurentske aplikacije je još jedno.
@Igor Skochinsky:, strogo govoreći, ne postoji način da se uzme dio koda. Čak i s vašim dodatkom Hex-Rays, kojem vjerujem kao zaposlenik kojem imate pristup, ne daje 100% točnost. Ali naravno, to bi osiguralo sredstva za otkrivanje detalja provedbe. Dakle, malo je teško.
@0xC0000022L: Govorio sam figurativno. Nisam mislio na "kopiraj sirove bajtove", već više poput "izvuci algoritme i koristiti ih nepromijenjene". Ili upotrijebite npr. dekompilirani .NET kôd.
#3
+12
0xC0000022L
2013-03-23 03:43:53 UTC
view on stackexchange narkive permalink

I dalje držim da je pitanje previše otvoreno kako stoji.

Šira perspektiva

Mislim da RCE uvijek uključuje i aspekt etike. Baš kao što nuklearni znanstvenik posjeduje bogatstvo specijaliziranih informacija koje se mogu koristiti i za dobre i za loše, tako ima i obrnuti inženjer.

Strogo govoreći, provedba značajke je sumnjiva. Zaista vrlo riblje. ReactOS bio bi dobar primjer kako se nositi s tom situacijom. Metoda se naziva "reverzni inženjering čiste sobe". Još bi bilo riblje ponovno primijeniti nešto na temelju detalja implementacije, ali bez pristupa čiste sobe.

Obrnuti inženjering čiste sobe

Otprilike poanta ovdje je da jedna strana gleda izvornu implementaciju i kod (obrnuti inženjer). On dokumentira detalje provedbe. Kao što možete zamisliti, ovo može biti važno u slučajevima kao što je ReactOS koji teži binarnoj kompatibilnosti. Ako pročitate knjigu "Stara nova stvar" Raymonda Chena, odmah ćete shvatiti na što mislim.

Druga stranka (programer, da tako kažem - važna je stvar da su te stranke doista različite osobe, Mislim da se shizofrenija ipak ne računa) tada koristi tu dokumentaciju o detaljima implementacije i ponovno je implementira. Sada IANAL, ali s obzirom na ReactOS koji uspijeva zahvaljujući doprinosima programera iz cijelog svijeta, nije tužen za nirvanu, pa pretpostavljam da je to zakonski u redu. Bez obzira smatrate li to ili drugi etičnim, druga je stvar.

Međutim ...

... ono što ne razumijem iz vašeg pitanja: zašto ponovno implementirati nešto što postoji u vlasničkom obliku? Svakako, za pružanje interoperabilnosti (recimo OOo čitanje formata MS Office) ovo ima smisla. Ali sveukupno nije li pametnije koristiti ideje iz postojeće aplikacije i implementirati ih? Vjerojatno ih proširiti i nadmašiti postojeću funkciju u značajkama i funkcionalnosti?

Problem s idejama je u tome što postoje zemlje sa softverskim patentima, a veliki igrači snažno lobiraju čak i u jurisdikcijama poput EU-a kako bi donijeli zakone koji otvoreno dopuštaju softverske patente. Za sada postoje samo u nišama postojećeg zakonodavstva i zbog činjenice da službenici EPO-a (i nacionalnih organizacija proizvođača) nisu nužno najinformiraniji u novim tehnologijama.

Trebali biste biti na sigurnom na strani interoperabilnosti većim dijelom čak i s FLOSS-om, opet crpeći iz de facto stanja u kojem projekti poput OpenOffice.org i LibreOffice nisu bili tuženi ni za nirvanu. Isto vrijedi i za Sambu, gdje je Microsoft čak pozvao programere projekta da razgovaraju s Microsoftovim programerima.

Najbolji način postupanja bit će vam potražiti pravni savjet u svojoj zemlji. To ne znači da se ovo odnosi i na druge jurisdikcije, ali počet ćete.

U Njemačkoj

Iako postoji smjernica EU koju je Remko spomenuo, u Njemačkoj Nositelji autorskih prava progurali su prilično opsežne promjene u "Urheberrecht" (skraćenica: UrhG), koji nije posve identičan autorskim pravima iz zemalja čije se zakonodavstvo temelji na uobičajenom pravu (posebno SAD-u). Te su promjene rezultirale i dodavanjem takozvanog "Hackerparagraph-a" u kazneni zakon (§ 202c, StGB).

Taj je stavak predviđen (prijevod legala u slobodnom obliku, izvorni tekst u gore povezanom članku na Wikipediji):

  • (1) Tko pripremi kažnjivo kazneno djelo u skladu s § 202a ili § 202b proizvodnjom ili stjecanjem, prodajom, ustupkom pristupa objavljivanju ili stavljanjem na raspolaganje lozinke, sigurnosni kodovi - koji omogućavaju pristup podacima ( § 202a podstavak 2 ) - ili računalni programi čija je svrha počinjenje takvog djela, kaznit će se kaznom zatvora do jedne godine ili novčanom kaznom.

Ovo je najvažniji dio i možete vidjeti zašto se Nijemci "ponose" skupom pravosudne literature koja navodno premašuje količinu literature koja se može naći u najvećim knjižnicama.

U svakom slučaju, problem bi trebao biti očit, a ako nije, uredno ću ga istaknuti. Problem je što u zakonu ne postoji definicija što sadrži takav alat. Je li IDA Pro takav alat? Što je s OllyDbg? Što je s WinDbg? Što je s GDB-om ili programom za otklanjanje pogrešaka imuniteta? Što je s Metasploitom? Postoji doslovno toliko mogućnosti za kršenje tog zakona da su ga organizacije kao što je CCC i njegovi članovi i simpatizeri više puta kritizirali. Bezuspješno.

TL; DR: u Njemačkoj je ovo još skliskija padina. To je čak rezultiralo slučajevima da su knjige u njemačkom izdanju postale gotovo beskorisne jer je autor odgovoran prema Hackerparagraphu.

#4
+7
Osteoboon
2013-04-05 06:34:54 UTC
view on stackexchange narkive permalink

Mislim da se na pitanja koja počinju s klauzulom "Je li legalno ..." može sa sigurnošću točno odgovoriti samo na sudu. I kao što je @ 0xC0000022L spomenuo, za početak ćete morati navesti zemlju o kojoj pitate.

U nedostatku izlaska na sud, mislim da se na takva pitanja može odgovoriti samo tačno rečenicom, " Ovisi. "

Iz ostalih odgovora čini se dobro poznato u ovoj zajednici da je obrnuti inženjering nešto vrlo usko povezano s zakonom o autorskim pravima i Računalnom prijevarom i Zakon o zlouporabi, a oba (što potvrđuju veze) trenutno se žestoko osporavaju u SAD-u.

Harvard Law School nedavno je objavio masovno otvoren internetski tečaj o autorskim pravima. Profesor je objavio knjigu o reformi autorskih prava 2004. Također je pokrenuo Noank Media, Inc. 2007. kako bi pokušao provesti jednu od ideja u svojoj knjizi u Kini. Iako su njegova predavanja i čitanja iz MOOC-a dostupna širom svijeta, trenutno pohađam ovaj tečaj kroz edX, pa čak i uz korist nekoliko studenata prava koji pomažu u odgovaranju na pitanja, još uvijek postoji ogromno količina informacija i nejasnoće koje treba uzeti u obzir (čak ograničavajući opseg mog odgovora ovdje na autorska prava i ne baveći se CFAA-om). Kao što je @JMcAfreak napisao, DMCA se također primjenjuje i pretpostavljam da postoji nekoliko drugih zakona koji bi se također mogli primijeniti na vaše pitanje u SAD-u.

Što sam naučio nakon 8 tjedana na ovom tečaju jest da biste trebali provesti najmanje 12 tjedana čitajući sudsku praksu prije nego što stvarno budete mogli odgovoriti na pitanje koje ovdje postavljate. I kao što je Aaron Swartz otkrio, ulozi su nevjerojatno visoki, a računalni programeri i inženjeri obrnutih inženjera (koji mogu rutinski učiniti neke - potencijalno ilegalne - tisuće ili milijune puta pomoću računalnog programa) posebno su osjetljivi na višestruko brojanje nezakonitih djeluje gdje se kazne vrlo brzo zbrajaju.

Ako razmišljate učiniti nešto zbog čega postavljate pitanje, također trebate razmotriti tko bi mogao biti najmotiviraniji da vas progoni zbog ilegalnih aktivnosti, a ako je to bogati pojedinac ili poslovni subjekt, tada vjerojatno ne bi smio riskirati. Da je Shepard Fairey upotrijebio referentnu fotografiju za svoj Obama HOPE poster u vlasništvu subjekta manje imućnog od Associated Pressa, tada bih siguran da bi ta situacija za njega završila sasvim drugačije.

"Ono što sam naučio nakon 8 tjedana na ovom tečaju jest da ćete trebati provesti najmanje 12 tjedana čitajući sudsku praksu prije nego što stvarno budete mogli odgovoriti na pitanje koje ovdje postavljate." - Amen tome. Nitko zapravo ne zna, i, kako navodite, ovisi o tome tko bi mogao doći nakon vas. S ovom razinom dvosmislenosti, veći vas subjekti mogu naterati da podnesete financijsku potporu, pa čak ni ne moraju dobiti svoj slučaj.
DMCA mijenja cjelokupno igralište za softver. Američki zakon o autorskim pravima imao je vrlo značajan broj slučajeva koji su oblikovali definiciju izvedenih djela i poštene upotrebe (uključujući obrnuti inženjering softvera, a najistaknutiji slučaj je _Sega Enterprises Ltd. protiv Accolade, Inc._, 977 F.2d 1510 (9. krug 1992.)). Od donošenja Zakona o zaštiti autorskih prava u digitalnom tisućljeću (DMCA), nije bilo puno, ako je uopće bilo, parnica o poštenoj upotrebi i izvedenim radovima na polju računalnog softvera. Zapravo trenutno istražujem izvedene radove i poštenu uporabu, pa ću vas obavještavati.


Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 3.0 licenci pod kojom se distribuira.
Loading...