Toon posts:

[Flash/SSL] beveiliging.

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb een swf game, deze stuurt highscores naar een db
nu wil ik deze verbinding beveiligen

beveiliging in de swf is niet nuttig gezien deze kan worden uitgepakt, en dan kunnen ze de gegevens handmatig doorsturen.

gegevens versturen via ssl is mogelijkheid maar als ze de swf kunnen uitpakken dan kunnen ze alsnog via ssl die gegevens doorsturen
(ik bedoel, als flash het kan kan de gebruiker het ook)

nu wil ik dus dat de gebruiker nooit te weten krijgt van een flash doet.

onmogelijk?

  • whoami
  • Registratie: December 2000
  • Nu online
Flash hoort niet thuis in P&W, maar in W&G.

P&W -> W&G

https://fgheysels.github.io/


Verwijderd

Topicstarter
ben ik het niet mee eens want het gaat om een puur script en beveiliging probleem, niet om design....

margoed maakt niet uit :)

[ Voor 13% gewijzigd door Verwijderd op 01-12-2003 16:05 ]


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Ik heb er vaak mijn hoofd over gebroken en het is een lastig probleem.. of SSL hier uberhaupt iets nuttigs aan toe te voegen heeft blijft de vraag.

Het voornaamste probleem ligt bij de crappy flash-'compilatie', waardoor deze simpel uit te pakken is en alle source te bekijken (niet eens reversed code, maar gewoon de letterlijke code, inclusief comments etc)..

Als je het wilt beveiligen zal het overigens zitten in de Flash-file oid en is het dus clientside (in W&G zitten de Flashers). Want je kunt de verbinding en serverside zut beveiligen tot je een ons weegt, als iedereen kan zien hoe je post is dat al niet meer van belang ;)

[ Voor 29% gewijzigd door Bosmonster op 01-12-2003 16:06 ]


  • Canard
  • Registratie: Oktober 1999
  • Laatst online: 26-05 09:13
Kun je niet zorgen dat de highscore alleen geaccepteerd wordt als deze vanaf een bepaalde webserver verstuurd wordt?

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 11-05 10:29
Canard schreef op 01 december 2003 @ 16:07:
Kun je niet zorgen dat de highscore alleen geaccepteerd wordt als deze vanaf een bepaalde webserver verstuurd wordt?
Flash draait clientside dus die vlieger gaat niet op.

Verwijderd

Topicstarter
dus het maakt ook niet uit of een swf via secure of insecure word ingeladen, ze kunnen hem toch wel uitpakken...

dit wil ik namelijk voorkomen (uitpakken :) )

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 11-05 10:29
In dit boek staat een heel hoofdstuk over dit specifieke onderwerp, is sowieso erg intressant boek :).

Verwijderd

Topicstarter
McVirusS schreef op 01 december 2003 @ 16:09:
In dit boek staat een heel hoofdstuk over dit specifieke onderwerp, is sowieso erg intressant boek :).
dankje, zal ik ook een blikje op gooien... maar ik zit aan deadline van 3 dagen :)

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 11-05 10:29
Wat je moet doen is de score in de SWF encrypten en op de server decrypten. Echt 100% veilig maken is volgens mij erg lastig.

Verwijderd

Topicstarter
McVirusS schreef op 01 december 2003 @ 16:14:
Wat je moet doen is de score in de SWF encrypten en op de server decrypten. Echt 100% veilig maken is volgens mij erg lastig.
ja maar als je de score in de swf encrypt, dan decompilen ze je swf, analyseren de functie, bouwen een script met die encryptie en voeren alsnog lekker de score in...

dit was nl mijn eerste oplossing en die was in 2 dagen gekraakt...

[ Voor 9% gewijzigd door Verwijderd op 01-12-2003 16:16 ]


  • Canard
  • Registratie: Oktober 1999
  • Laatst online: 26-05 09:13
McVirusS schreef op 01 december 2003 @ 16:07:
[...]


Flash draait clientside dus die vlieger gaat niet op.
Ja, stom van me...

Werk je met ColdFusion of een andere server?

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 11-05 10:29
Intressante thread op Were-Here.com forum:
Trying to make a secure scoreboard

Verwijderd

Mijn eerste ding zou zijn :

Laat de flashplayer een 'sleutel' aanvragen van de server, deze sleutel is gebaseerd op een timestamp + random getal van de server.
Doe met deze sleutel en de score en een client een berekening, en stuur dit terug naar de server. De server moet dan de timestamp + random getal checken en het result binnen 10 seconden terug krijgen. Qua routine van encryptie zou ik nog eens goed kijken naar hoe bv pinpasjes werken. Hoewel je nooit een echte private key (die niet accessible is) kan bouwen met flash (decompilebaar), zal iemand toch eerst je routine moeten uitvogelen, en daarna zelf een script bouwen. Dan kan je je AS code nog flink obfuscaten(http://www.genable.com/aso/), de code in een swfje wat je moet inladen hangen, en vanuit de flash checken wat zijn eigen url is.

At random nog wat ander swf's met nep routines erin, en het is in ieder geval al moeilijker, en iemand zal toch handig moeten zijn met flash om het te ontdekken.

En nog ff flasm -u eroverheen, gaan veel decompilers al niet lekker mee om.

Verwijderd

Topicstarter
ik denk dat dat maar moet dan...
iig heeft een ssl certificaat geen nut...

bedankt voor de tips

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Wat ook nog wel extra wil helpen is sessies. Als je de pagina waar de flashmovie instaat een sessie laat aanmaken op de server en deze ook weer laat checken op het moment dat de scores gesubmit worden zorg je er in ieder geval al voor dat de flashmovie alleen werkt vanuit die specifieke pagina op de server. Downloaden, wijzigen en runnen werkt dan niet omdat de sessie niet aangemaakt wordt en de scores dus niet gesubmit kunnen worden.

Het idee is in ieder geval de beveiliging zoveel mogelijk uit de flashmovie te trekken aangezien die nooit en te nimmer veilig kan zijn.

[ Voor 14% gewijzigd door Bosmonster op 02-12-2003 09:26 ]


Verwijderd

Topicstarter
Bosmonster schreef op 02 december 2003 @ 09:20:
Het idee is in ieder geval de beveiliging zoveel mogelijk uit de flashmovie te trekken aangezien die nooit en te nimmer veilig kan zijn.
Dat was mijn id ook al idd.

Bedankt voor je tip, denk dat dat ook wel goed werkt

Verwijderd

Stuur anders een linkje als je het af hebt, dan kijken we of het werkt O-) >:)

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Bosmonster schreef op 01 december 2003 @ 16:05: (niet eens reversed code, maar gewoon de letterlijke code, inclusief comments etc)..
inclusief comments? dat lijkt me heel erg sterk, aangezien comments niet worden meegecompiled. :) Verder is het geruststellend om te weten dat je het nooit 100% secure kan krijgen, dus je zal altijd een tradeoff krijgen, met andere woorden, Hoe secure moet het zijn, en wat is je budget?

Voorbeeldje, 1tegen100 is een spelsite, gemaakt in Flash waar mensen daadwerkelijk prijzen kunnen winnen, en elke maand spelen duizenden mensen hier ( en winnen dus ook ). Zoals je ziet draait deze wel degelijk over een beveiligde verbinding, en dat heeft zo zijn redenen, simpelste is dat je gegevens over een 'trusted' lijn gaan. Idem met de Wallie site ( zie sig ) Er zijn tientallen manieren om een 98% secure flash site te ontwikkelen, varierend van PPK frameworks, sessiebased of zelfs iets rudimentairs als obfuscating code.

De volgende stappen zullen je al een eind op weg helpen:

1) Gebruik SSL
2) Gebruik clientside hashing methode ( SHA1, MD5 etc )
3) Request token op de client en server
4) Bij ieder request vanaf de client, authenticate dmv hashed ID + token ( maak dit, zoals Ralph al aangeef, tijdgebaseerd, een authenticatie-request moet niet langer dan een paar seconden duren )
5) Obfuscate je code ( andere tip: LoadMovie is niet echt geinteresseerd in wat voor files je laad...een SWF met de extensie .doc wordt vrolijk binnen gehaald )

en zo kan ik nog wel even doorgaan. Nogmaals, zijn veel verschillende manieren mogelijk, en 100% veilig wordt het nooit. Verder zou je nog kunnen denken om extra flashwerk op de server te laten doen, FlashComm ondersteunt ip-restricted access voor RTMP ( binary protocol ) en kan serverside actionscript uitvoeren.

HTH :)

"You're only as good, as what you did last week."


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

offtopic:
ralph...good to see you back online...begon je al te missen hier :)

"You're only as good, as what you did last week."

Pagina: 1