fraude voorkomen en controleren bij webbased-systeem

Pagina: 1
Acties:

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21:55
Ik ben bezig met het maken van een controlesysteem in PHP/MySQL. De klant krijgt van mij een briefje met daarop 3 random waarden. Op de site kan de klant deze invoeren. Hiervoor laat ik ze eerst inloggen of registreren op de website. Vervolgens kunnen ze de gegevens invoeren.

Iedere keer dat ze een controle uitvoeren sla ik dit op in de database met tijd/datum enzovoorts. Vervolgens ziet de klant of de controle geslaagd is.

Ik wil fraude voorkomen, daarom heb ik wat controle's ingebouwd maar ik vraag me af of ik niet nog dingen vergeet.

Wat ik al heb:
FrontEnd:
• maximaal 1 geslaagde controle per dag
• veilige code (input validation enzovoorts)

BackEnd:
• per user het aantal controles
• per ip het aantal controles
• overzicht van de users per IP (opvallend als er heel veel accounts van 1 IP komen)
• tracert commando's e.d. kunnen vanuit de backEnd uitgevoerd worden zodat je redelijk snel opvallende zaken kunt achterhalen
• de pagina-statistieken worden per user ook weer gekoppeld zodat we kunnen volgen waar de user zich bevind op de site. Eventueel kunnen we daar zelfs pad-herkenning op gaan toepassen als het herkenbaar is.

Gebruikte technieken:
PHP/MySQL
Typo3 content management systeem

Wat kan er sowieso fout gaan:
• nog geen SSL verbinding. De login-gegevens kunnen dus achterhaald worden. Dit is niet erg in principe omdat het doel van de actie zoveel mogelijk succesvolle controles is.
• iemand kan toch, ondanks onze controles brute-force gaan proberen onze waarden te gokken. Dit is mogelijk omdat de random-waarden enigzins voorspelbaar zijn. Hier is niets aan te doen helaas.

Kortom: Hoe kan ik er zorg voor dragen dat dit systeem zo veilig mogelijk is? Zijn er aspecten aan het verhaal waar ik nog niet aan gedacht heb? Voor de mensen die denken dat het wat overdreven is: De controles lopen voor lange tijd dus mensen met slechte gedachten hebben veel tijd om wat te bedenken. Uiteraard valt over de mate van beveiligen te discussieren :)

  • Aesculapius
  • Registratie: Juni 2001
  • Laatst online: 08-05 18:45
briefjes geven aan klanten, codes invoeren, meerdere verificaties per gebruiker? kan je eens een beetje uitleggen in welke context we moeten denken? waar wordt het praktisch voor gebruikt, want ik kan me er niet echt een voorstelling van maken...

Zeg wat je doet en doe wat je zegt, dan wordt de hele wereld een stukje leuker


Verwijderd

Aesculapius schreef op zondag 03 april 2005 @ 13:28:
briefjes geven aan klanten, codes invoeren, meerdere verificaties per gebruiker? kan je eens een beetje uitleggen in welke context we moeten denken? waar wordt het praktisch voor gebruikt, want ik kan me er niet echt een voorstelling van maken...
Een soort loterij?

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21:55
Aesculapius schreef op zondag 03 april 2005 @ 13:28:
briefjes geven aan klanten, codes invoeren, meerdere verificaties per gebruiker? kan je eens een beetje uitleggen in welke context we moeten denken? waar wordt het praktisch voor gebruikt, want ik kan me er niet echt een voorstelling van maken...
Je krijgt bij aankoop van een product zo'n briefje. Daar gaan we uiteindelijk uit loten inderdaad.

  • dev icey
  • Registratie: Augustus 2003
  • Laatst online: 09-12-2025
Waarom laat je niet codes maken door middel van een algorithme waar de rand() functie in zit. Je kan eventueel ook nog de datum/tijd in de code verwerken. Dan laat je gelijk de codes in een database stoppen en ook vanaf welke datum ze uitgegeven mogen worden (en dus ook ingevoerd mogen worden in de website). Op die manier krijg je dus codes die met moeite geraden kunnen worden.

Daarnaast kun je mensen die meerdere keren (bijv. 5) een foutieve code invoeren, het ip bannen, natuurlijk moet je dan wel waarschuwingen van te voren geven.

Denk dat dit plus de huidige beveiliging wel voldoende zal zijn. Daarnaast moet je er natuurlijk voor zorgen dat SQL-injection en etc niet mogelijk is.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21:55
Helaas kan ik de in te voeren gegevens niet beinvloeden. Er zit echter o.a. een tijd in inclusief seconden dus dat maakt gokken wel enigzins lastig. Ik zit te twijfelen of ik daadwerkelijk ip's ga blokkeren als het een aantal x fout gaat. Dit omdat iedereen dan meteen weet wat voor beveiliging er op zit. Ik kan dit soort controles ook achteraf doen en de schijn hoog houden dat het inbreken succesvol was.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21:55
Maar eens even een leuke bump. Ik heb inmiddels weer een hoop getest en laten testen en heb nog wat extra features er in gezet.

Openstaande problemen die ik nog heb:
-proxy-servers en andere man-in-the-middle acties.
-we hebben op dit moment een statistiekensysteem inclusief tracert en ping zoekacties. Verder een directe link naar de ripe database. Wat kunnen we nog meer doen om zoveel mogelijk info te verzamelen over een bezoeker die de boel wil belazeren?
Pagina: 1