Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

×

Help jij Tweakers Website van het Jaar te worden?

Tweakers is genomineerd voor beste website 2014 in de categorieën Nieuws & Informatie, Community en Vergelijking. Stem nu en maak kans op mooie prijzen!

Door , , reacties: 96, views: 27.626 •

De Russische programmeur Efim Bushmanov is bezig om Skype te 'reverse engineeren' om het, naar eigen zeggen, opensource te maken. Met het eerste vrijgegeven resultaat is nog geen verbinding met het huidige netwerk mogelijk.

De reverse engineering betreft oude versies van Skype, namelijk 1.x/3.x en 4.x. "Je hebt een unieke kans om een blik op Skypes interne protocol en encryptie te werpen", aldus de ontwikkelaar op zijn blog. Hij geeft echter ook toe dat het nog om testcode gaat, die alleen werkt met Skype 1.4 en via een omweg met 3.x en 4.x, maar die geen verbinding kan maken met supernodes van het huidige 5.x-netwerk.

De broncode van Skype is notoir gesloten en diverse landen hebben bij het bedrijf aangeklopt om hun veiligheidsdiensten toegang te geven en afluisteren mogelijk te maken. Ook zijn er al jaren geruchten over backdoors die de fabrikant ingebouwd zou hebben voor de Amerikaanse veiligheidsdienst.

Bushmanovs doel is om Skype 'opensource te maken'. Zoals verschillende ontwikkelaars echter al constateerden, maakt hij gebruik van aangepaste Skype-binarybestanden en eerdere reverse-engineeringprojecten als Vanilla Skype en Vests Corporations werk. De kans lijkt dan ook groot dat de software niet opensource kan worden volgens de geaccepteerde definitie van de term, schrijft H-Online. Ook zal het publiceren van de code waarschijnlijk tot gevolg hebben dat de Rus binnenkort bericht krijgt van de advocaten van Skype en van Microsoft, dat Skype heeft overgenomen.

Reacties (96)

Is dit wel handig? Straks moeten we al oppassen als we Skype downloaden, voor een fake. Om van te leren, leuk. Maar ik denk eigenlijk dat mensen dit gaan gebruiken om een skype-looking virus te maken.
Of nog veel irritanter: Bots die automatisch mensen kunnen opbellen over het Skype netwerk en zo spamberichten verspreiden...
Dat kan natuurlijk allang, je hoeft niet persee een apart programma er voor te schrijven want je kunt ook gewoon software schrijven welke skype zelf bestuurd, Skype is dan zelf nagenoeg de API. Vele malen makkelijker en sneller.
Maar met zo'n API kan er maar 1 instructie worden gegeven in plaats dat er duizenden mensen worden opgebeld door 1 computer tegelijkertijd.
Onzin het wordt gewoon net als pidgin alleen dan speciaal voor skype.
Dit project zal ook wel een andere naam krijgen aangezien ze de naam Skype niet eens mogen gebruiken.
Dan moet Microsoft eerst aan de voorwaarde gaan voldoen dat ze zelf geen stukken code kopiëren. Volgens mij kan dat nog even duren.
Microsoft speelt misschien ook niet altijd volgens de spelregels. Maar "oog omg oog tand om tand" of "ja maar hij doet het ook!" zijn niet echt sterke argumenten in een rechtzaak. :+

Een goede opmerking over wat wel of niet kan bij reverse engineering staat al hieronder.
En welke stukken code gebruikt Microsoft dan illegaal?
als er reverse enginering gepleegd wordt (net als MS ook deed en doet) wat is DAAR dan illegaal aan?
Hangt eraf of het 'cleanroom reverse engineering' is of niet, en onder welk land de jurisdictie valt.

In bepaalde regio's waaronder de VS is 'reverse engineering' verboden, dus dat je én onderzoek doet en daarmee protocollen omschrijft, én je eigen onderzoek gebruikt om een nieuw programma te maken.

Vandaar de 'cleanroom' aanpak: 1 team doet onderzoek en omschrijft / documenteert de standaard, 1 ander team gebruikt die documentatie voor het schrijven van programma's. Dit is o.a. succesvol toegepast door het Samba-team voor het reverse engineeren van Microsoft's SMB protocol.

Verder is in de VS dikwijls cryptografisch onderzoek van DRM-schema's verboden; o.a. de DRM van het RTSP-protocol mag je simpelweg niet onderzoeken.

[Reactie gewijzigd door kidde op 4 juni 2011 02:57]

Als het open is, is de kans idd groot dat je malware krijgt in allerlei vormen.

De naam mogen ze niet gebruiken het het protocol ook niet. Meen me zelf te herinneren dat ebay die skype kocht niet de rechten op het protocol had en dat later heeft moeten kopen.

Daarnaast zal ms er alles aan doen om het gesloten te houden en zeker ook mensen aanpakken die er open source van maken. Dan is er nog de mogelijkheid dat ze de software updaten naar nieuwere stand die niet met de oude werkt en daardoor het spel van voren moet beginnen.
De naam mogen ze niet gebruiken het het protocol ook niet.
De naam Skype heeft uiteraard dezelfde bescherming als andere handelsmerken, maar enige vorm van 'bescherming' voor het protocol lijkt me toch sterk. Skype's eigen implementatie valt onder het auteursrecht, maar een eigen implementatie niet. Het enige waar je nog aan kan denken is patenten, maar die moeten dan wel in Rusland geldig zijn. Wie dit importeert is zelf verantwoordelijk voor het voldoen aan locale wetten.
Is die kans wel zo groot? Ben je ooit malwareversies tegengekomen van MSN of ICQ, of van wat voor andere open software dan ook?

Overigens is reverse-engineering met interoperabiliteit als doel onder de meeste copyrightwetgevingen gewoon toegestaan, zij het met genoemde restricties zoals het clean-room gebeuren. En terecht, lijkt me zo.

[Reactie gewijzigd door mae-t.net op 4 juni 2011 19:30]

Dan zit ik gelijk met de vraag. Waarom mag Pidgin en andere SIP clients wel op het Skype netwerk en zou deze reverse engineer versie dan niet mogen?

Blijft toch zijn eigen code?
SIP clients op het skype netwerk? Skype heeft zijn eigen gesloten protocol ( zo ongeveer het onderwerp van dit bericht ), daar kan Pidgin echt niet op.
Ik heb wel eens iets vernomen (maar ben geen Windows gebruiker), dat er op Windows wel eens iets gedaan is met een Skype DLL gebruiken en daarmee verbinden. Maar dat is gewoon de originele Skype DLL in dat geval, dan heb je nog steeds geen inzicht in het protocol.
Klopt, je pidgin start een Skype app/dll op de achtergrond en leest feitelijk je skype instance uit en relayt die naar je pidgin.
Dan download je toch gewoon vanaf microsoft.com of zo? Ik denk niet dat je je dan zorgen hoeft te maken dat het een fake versie is (al kan natuurlijk elke site gekraakt worden).
Hopen dat hij er in slaagt om met behulp van die aangepaste binairies het protocol te beschrijven. Dan kan er op basis van deze beschrijving hopelijk een opensource implementatie gemaakt worden.

Het is eigenlijk raar dat er zo massaal gebruikt wordt gemaakt van een protocol waar we zo weinig vanaf weten. Heel cruciaal werk dit. Ik hoop maar de door skype toegepaste encryptie geen roet in het eten gaat gooien.
Dat is vooral in tweaker land raar, de rest van de wereld zal het een worst zijn, als ze maar verbinding krijgen met de persoon die ze willen skypen :)
Omdat protocol en encryptie onbekend zijn is skype niet geschikt voor een vergadering over meer locaties waarbij mogelijk geheime zaken worden besproken. Daarmee is skype ongeschikt voor een groot deel van het bedrijfsleven. Voor vertrouwelijke communicatie wil je gewoon weten dat de vertrouwelijkheid gegarandeerd wordt door een sleutel die je alleen zelf hebt.
Of skype binnen bedrijven gebruikt wordt als er geheime zaken worden besproken is een tweede.
ehm volgens mij mis ik iets, maar is skype niet zo veilig gemaakt dat ze zelf niet eens je gesprekken kunnen hercoderen? er zijn tientallen veiligheidsdiensten naar skype gerent toen bekend was dat de encryptie zo goed was dat het voor criminele doeleinden perfect is. een kennis van mij gebruikt het voor zijn werk om gratis naar china te bellen. nu heeft hij wel niet de informatie die steve jobs heeft zeg maar, maar om nou te zeggen dat het onbetrouwbaar is doordat je code niet weet? hoeveel bedrijven gebruiken wel geen RSA tokens? daarvan weten we ook niet hoe ze werken en dat maakt ze juist zo veilig voor enterprise applicaties
Zo werkt het dus niet in de cryptografiewereld. Als je écht veiligheid wilt bieden, geef je alles vrij behalve de sleutels (private of symmetrische, maakt weinig uit).

Dat noemt men het principe van Kerckhoffs en is zowat het omgekeerde van wat je vaak (en terecht) hier wel eens hoort terugkomen als "security through obscurity". Op het moment dat je niet weet wat er gebeurt, weet je eigenlijk ook niet hoe sterk het is, welke achterliggende assumpties gemaakt geweest zijn en hoe valide die op dit moment nog zijn.

RSA tokens zijn inderdaad voor zover ik weet begonnen als geheel gesloten systemen, maar ondertussen zijn er wel projecten die er goed in slagen om de output te genereren van zo'n token; op voorwaarde dat je de achterliggende key hebt. Om maar te zeggen: het feit dat het algoritme eerst niet open was, biedt geen noemenswaardige extra veiligheid, het kost wat extra tijd om te breken, maar dat is en blijft een eenmalig probleem en dus kan je net zo goed het algoritme open maken: je krijgt dan ook feedback van de community die zal proberen om je algoritme onder vuur te nemen. Een beetje hetzelfde argument als in de open-source gebruikt wordt: "given enough eyeballs, all bugs are shallow". Je hebt (vanuit veiligheidsstandpunt) immers liever dat je voordat je het algoritme gaat gebruiken, je weet dat het algoritme zichzelf toch al wat bewezen heeft. Die achterliggende assumptie is wel dat je veronderstelt dat onderzoekers maar al te graag je algoritme onderuit willen halen en dat als er problemen gevonden worden, die ook openbaar gemaakt worden.
Wat ILUsion zegt, en bovendien: Je zegt nou wel dat Skype zo veilig is, maar wie kan dat nagaan behalve Skyp zelf? Niemand, voor zover ik weet. Dan moet je ervan uitgaan dat het onveilig is. Jij zal er zelf nooit achterdeuren in kunnen vinden maar ook nooit kunnen aantonen dat ze er niet inzitten. Dat de maker zegt dat ze er niet inzitten, zegt in de beveiligingswereld natuurlijk niets.
ehm volgens mij mis ik iets, maar is skype niet zo veilig gemaakt dat ze zelf niet eens je gesprekken kunnen hercoderen?
Dan heb je inderdaad iets gemist - want Skype zelf dan de gesprekken wel decrypten.
Natuurlijk zullen ze dat niet aan de grote klok hangen (dat 't kán), en zullen ze berichten die beweren dat ze 't niet kunnen, erg graag met rust laten.

Er zal ook best op de site van Skype kunnen staan dat medewerkers van Skype de boel niet kunnen decrypten. Maar dat is dan misleiding (als dat er werkelijk staat), want dan hebben ze 't over personeel wat niet bij de digitale sleutels kan. En dat is natuurlijk de overgrote meerderheid van de medewerkers.

[Reactie gewijzigd door kimborntobewild op 10 juni 2011 07:05]

Misschien moet je dan eens kappen met bashen met je "M$" en het bedrijf gewoon bij zijn naam noemen. Microsoft. Kijk, Zo moeilijk is het niet.
beste
er bestaan bepaalde regels rond modereren
;)
reviews: Tweakers.net moderatie faq

Het niveau -1 is het afvalputje voor reacties waarvan je liever had gezien dat ze niet geplaatst waren. In deze categorie vallen de flamebaits, trolls, doelloze first posts, zware off-topic berichten zonder enige toegevoegde waarde, misplaatste grappen, onnodig kwetsende reacties en allerlei andere reacties die een onvriendelijk karakter hebben

hoop dat ik duidelijkheid heb kunnen scheppen over je moderatie score
De vraag is natuurlijk of een enkele vermelding van een dollarteken daartoe aanleiding moet geven (onder welke van de bovenstaande redenen zou dat vallen?). Het was traditie om zo te modereren (zelfs in gevallen die ook echt over dollars en MS gingen), maar soms kan het flauw uitpakken. In dit geval was het omlaaggemodereerde bericht niet echt waardevol maar ook niet compleet waardeloos, dus zal een afweging zijn. Voor lemmymet de tip om voor vragen en klachten over (mis)moderaties naar Tweakers.net Moddereter Forum te gaan inplaats van in zijn eigen bericht te klagen.

[Reactie gewijzigd door mae-t.net op 5 juni 2011 14:02]

1 op de 20 tweakermods geeft je NIET een minnetje. Dat komt wellicht ongeveer overeen met 't aantal tweakermods dat geen bezwaar heeft tegen het woordje M$.
Maar inderdaad, de snelste manier om snel minnetjes te vangen hier op tweakers is het woordje M$ te gebruiken. Die powermod is waarschijnlijk van iemand die vindt dat elk bericht waar het woordje M$ als zodanig wordt gebruikt, altijd op min moet staan. Zeg maar: per default dus.
Is dat niet illegaal ?
Inderdaad
Zal vast wel iets over in de EULA van skype staan
EDIT:Gevonden:
2.3 No Modifications: You will not undertake, cause, permit or authorize the modification, creation of derivative works, translation, reverse engineering, decompiling, disassembling or hacking of the Skype Software or any part thereof except to the extent permitted by law.

[Reactie gewijzigd door Lemming op 3 juni 2011 16:42]

Welke voorwaarden? Reverse engineeren is in de USA expliciet toegestaan als je een compatibele implementatie wilt maken, en in Rusland zal hij meer te duchten hebben van de staatsveiligheidsdiensten dan van MS als hij eventuele achterdeurtjes zou ontdekken en eruit slopen.
Europees recht staat dan weer wel een bepaalde vorm van reverse engineering toe, als het daarbij gaat om het interoperabel maken van software met andere software. Dus misschien dat dat te gebruiken is?
"Extent premitted by law."

Van wiki:

"In the United States even if an artifact or process is protected by trade secrets, reverse-engineering the artifact or process is often lawful as long as it is obtained legitimately."

Bron:

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

Dus dit project is niet per definitie in strijd met de wet of wetten.
Volgens mij mag dit gewoon, reverse engineering.

Zo is ook Samba gemaakt, en hebben toen der tijd diverse bedrijfjes ook een Exchange kloon gemaakt.

Met samba was het nog een beetje een apart verhaal, omdat er op een gegeven moment MS wat specificaties had vrijgegeven en er werd vanuit de samba community expliciet opdracht gegeven om NIET naar de specificaties te kijken, dit ivm licentie problemen met de huidige community en sourcecode.
except to the extent permitted by law
Dit is natuurlijk het belangrijkste stuk.

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

Over RE in de EU:
Article 6 of the 1991 EU Computer Programs Directive allows reverse engineering for the purposes of interoperability, but prohibits it for the purposes of creating a competing product, and also prohibits the public release of information obtained through reverse engineering of software.
Met dit stuk alleen al, kun je advocaten jarenlang bezig houden.
mmmh omdat het onzin is... hoe kun je interoperabiliteit hebben zonder communicatie?
"the public" is ook een onzin term in een opensource gemeenschap... dat kan iedereen en niemand zijn...
en competing product... als het gratis word... kan het nog wel competing zijn... ik kan me niet echt voorstellen dat je iets anders wilt met het skype protocol dan ook bellen... dus daar mag het weer niet... al zijn er rechter uitspraken die hier een winstoogmerk belangrijk vinden...
Voor de grootte van Skype is weinig meer competing. Mocht het vrijgegeven worden dan gaat echt niet de hele Skype community het gebruiken, dus niet competing genoeg om Skype zelf van de troon te stoten over hun eigen protocol.
Zodra er te veel reclame, en dan voor de grote massa irritante reclame. Dan zal deze massa wel om zich geen kijken. Net zoals met MSN.
De grote massa zal het een worst wezen. De grote massa kijkt ook nog en masse tv ondanks die verachtelijke hoeveelheid reclame om over de geluidskracht maar niet te spreken.
Zo zal het ook gaan met skype. Als de grote massa z'n ding kan doen zonder daarbij gehinderd te worden, dan lopen ze echt niet zomaar weg.
Ja is mooi die hogere/hardere tonen in reclame. Kan je je geluid gelijk weer halveren.
@Vorax:
Op de decibel-schaal zal je zo'n 20 decibel naar beneden moeten, om een gelijkaardige geluidsdruk te hebben als de film die je daarvoor net zag. Dat is niet halveren, maar een factor 100 naar beneden :).
Een product kan met een ander product moeten communiceren. Simpel voorbeeld een email client en server. Als je het protocol van de server reverse engineert om er een compatibele client voor te schrijven, is dat legaal. Maak je een alternatieve server dus niet. Hoe dat in de P2P wereld uitpakt is voor mij een vraagteken maar het lijkt me dat een alternatieve Skype client niet aan de voorwaarden van niet concurreren voldoet.

Elk product wat een ander product kan vervangen concurreert ongeacht de prijs (en ja gratis is ook een prijs)
En daarnaast, hoezo concurerend. Van skype naar skype bellen is gratis, maar van skype naar telefoonnummer bellen kost geld, nietwaar?

En als een andere client ook de feature ondersteund naar telefoonnummers te bellen vangt skype microsoft toch nog steeds geld. Met andere woorden, meer kansen om geld te vangen voor de eigenaar van skype.
Eula is niet bindend in een rechtzaak. Sterker nog: de wet staat boven elke overeenkomst.
In zulke algemene termen is je opmerking onjuist. EULA's kunnen prima rechtsgeldig overeengekomen worden, en zijn dan bindend tussen partijen. De wet zegt verrassend weinig over softwarelicenties. Een EULA die zegt "beperkt aansprakelijk en op 3 pc's te gebruiken" is niet aan te vechten, bijvoorbeeld.

Specifiek voor reverse engineeren is er wel een clausule, maar die is zó zwak dat je er feitelijk weinig aan hebt. Je mag kijken hoe de software werkt (met handjes op de rug naar een netwerksniffer staren), en je mag voor interoperabiliteit software uit elkaar pluizen maar géén kloon maken met wat je ontdekt. En klonen is nou net wat je eigenlijk wil na reverse engineeren.
Aangezien deze persoon blijkbaar in Rusland zit is natuurlijk wel de Russische wetgeving van toepassing. Iemand enig idee hoe ze daar over reverse engineering denken (ik meen me van een eerdere zaak te herinneren dat daar veel meer toegestaan is)?
Als je als Rus iets met USA software doet, dan is natuurlijk niet alleen de Russische wetgeving van toepassing, maar ook die van de USA.
Een EULA die zegt "beperkt aansprakelijk en op 3 pc's te gebruiken" is niet aan te vechten, bijvoorbeeld.
Maar in dat geval is 't gewoon een EULA die zich aan de wetten houdt, en is DAT de reden dat 't geen zin heeft zo'n EULA aan te vechten. Volgens mij geldt nog steeds wat highmastdon zegt: de wet kan een EULA altijd overrulen.
Zelfs hetgene wat jij noemt: want wat is een PC precies? Een combinatie van een bepaald moederbord met een bepaald OS? Etc. Kan eindeloos over worden gediscussieerd. Gewoon iets dus waar een rechter een uitspraak over zal kunnen doen, en niet bij voorbaat de rechtzaak afwijzen.
Uiteraard zal Efim zeggen dat hij deze licentie nooit gezien heeft, laat staan geaccepteerd.

Dit was een van de argumenten van GeoHot m.b.t. PSN, daarom moest Sony zich door allerlei bochten wringen om aan te tonen dat GeoHot wel de PSN EULA geaccepteerd had. Door de schikking is dit nooit uitgevochten.
Ik kan me hier gigantisch in vergissen. Maar zou hij niet in theorie de software moeten installeren om tot het punt te komen waarin hij deze overeenkomst moet accepteren? Als hij de software nooit installeert heeft hij dus geen overeenkomst met ze, waarbij het dus moeilijk wordt om hem aan de End Users License Agreement te houden, hij is immers geen End User.
Lijkt me eerder iemand die Skype aan het hacken om open source te maken...
Die vage blog ging over Nokia, de overname van Skype is officieel bevestigd.
Ik vraag me af of het nuttig is om specifiek deze versies van het netwerk te reverse-engineren. Als het doel echt is om Skype open-source te 'maken', waarom dan niet heel specifiek concentreren op de laatst beschikbare versie? Zo creëer je wellicht wat momentum door de vooruitzichten van een werkende 'open' client.

Nu is het èn niet onmiddelijk nuttige data èn krijg je toch een leger advocaten over je heen.
Volgens mij zijn er van alle versies nog supernodes beschikbaar, dus zal je toch ergens moeten beginnen.
voor progress of development. klinkt misschien raar als non developper..

maar het idee is
versie 1 bevat basis idee
versie 2 verbetering van probs etc
versie 3 dingen toevoegen
versie 4 features

etc.. als je bij versie 4 zou beginnen zou je dus alles in 1 keer moeten doen..
terwijl als je begint bij 1 je de basis hebt (iets wat werkt) waar je op voort kunt.. dit is ook veel beter voor "motivatie".. als je 3 - 4 maanden moet bezig zijn eer je iets ziet dat het werkt en je goed op weg bent tegen 1 maand .. Ik ken dit soort projecten heb me bezig gehouden met clean room reversing van een GPS chip voor software te schrijven hiervoor..

Eerst uitgezocht "hoe" ze denken.. dan gezocht van hoe ze de 1ste stap van initialisatie doen en zo door.. Als ik meteen ging beginnen met _alles_ te reversen met elke extra "parameter" voor het programma te starten.. dan was ik waarschijnlijk veel minder gemotiveerd.
lol...ik dacht het "clean room design" was en "reverse enginering" (bijv. cyrix vs intel cpu) :P

Clean room reverse is dan weer nieuw voor mij ;)

[Reactie gewijzigd door IoorLTD op 3 juni 2011 23:48]

Het is wel vreemd, ik zou toch denken dat je de netwerk pakketten analyseert om zo een generaal idee te vormen van het protocol. Als hij de binaries aanpast leren we toch nog niets van het protocol zelf en zijn we toch nog altijd geen stap vooruit? Of zie ik dit helemaal verkeerd :s
generaal ? Wat dacht je van algemeen.
mag dit eigenlijks wel ? krijgt hij dan geen gedoe met licenties en rechten van skype ? ( die recentelijk ook nog eens is overgenomen door microsoft dacht ik )

Op dit item kan niet meer gereageerd worden.



Populair:Apple iPhone 6Samsung Galaxy Note 4Assassin's Creed UnityFIFA 15Nexus 6Call of Duty: Advanced WarfareApple WatchWorld of Warcraft: Warlords of Draenor, PC (Windows)Microsoft Xbox OneAsus

© 1998 - 2014 Tweakers.net B.V. Tweakers is onderdeel van De Persgroep en partner van Computable, Autotrack en Carsom.nl Hosting door True

Beste nieuwssite en prijsvergelijker van het jaar 2013