Onderzoeksverslag Beveiliging
Project 3 TI1B - Mohamed, Ruben en Adam.
Versie 1.0 / 29 maart 2016
Pagina 1
Inhoud 1.
INLEIDING ............................................................................................................................. 3
2.
VEILIGHEID EISEN ................................................................................................................ 3
3.
SOFTWARE ................................................................... FOUT! BLADWIJZER NIET GEDEFINIEERD.
Versie 1.0 / 29 maart 2016
Pagina 2
1. Inleiding Dit onderzoekverslag is bestemd voor de opdrachtgever om inzicht te krijgen over de beveiliging aspecten van het geleverd product. Ook wordt in dit onderzoekverslag voorbeelden gegeven hoe andere banking systemen zijn gehackt en hoe daar lering uit kan worden getrokken.
2. Veiligheid Eisen De veiligheid van een banksysteem berust op 2 essentiële punten, namelijk: Authenticatie: De gebruiker is degene die het beweert te zijn. Vertrouwelijkheid: alleen geautoriseerde gebruikers krijgen toegang tot de inhoud van de gegevens. Authenticatie berust op keys, dus is een goed key managementsysteem cruciaal voor een pinautomaat. De keys worden op een veilige en betrouwbare systeem gegenereerd en vervolgens enkelmaal aan de client (pinautomaat) en de server gedistribueerd, hierdoor is het zeker dat de keys niet kunnen worden gebruteforced. Dit verhoogt de vertrouwelijkheid aanzienlijk. Verder worden alle connecties tussen de client en de server beveiligd d.m.v. SSL, dit zorgt voor een vertrouwde verbinding tussen de client en de server, zodat die beschermd is voor kwaadwillende individuen. Niet alles ligt aan onze kant, de machine waarop de client werkt moet ook beveiligd zijn en om dat te beveiligen is aan de systeembeheerder, dus dat is een erg belangrijk aspect dat niet moet worden vergeten, wij raden een goede antivirus en firewall aan. De verificatie van een client moet zorgvuldig aangepakt worden. Zelfs in een openbaar netwerk moet de gebruiker geauthentiseerd worden en moet de gebruiker veilig zijn geld kunnen beheren. Spoofing en dergelijke methodes die worden gebruikt door kwaadwillende moeten worden voorkomen. Bij de StoelBank worden de gegevens beschermd tegen onbevoegde toegang, en kan ervan uit worden gegaan dat de distributie van de symmetrische sleutel op een veilige manier wordt gedaan. Er wordt gebruikt gemaakt van gestandaardiseerde beveiligingsmethodes, de bekendste daarvan is SSL. Dit verhoogt de veiligheid omdat deze methodes uitvoerig zijn getest door experts en dus betrouwbaar zijn. Key management, authenticatie, vertrouwelijkheid en integriteit zijn van elkaar afhankelijk binnen het systeem. Als er een onderbreekt dan kan dat ervoor zorgen dat de andere onderdelen niet meer betrouwbaar zijn, dus is elk beveiligingsaspect van belang. Toegangscontrole en resilience is belangrijk binnen de interne netwerken van de bank en heeft dan ook prioriteit. De interne netwerken leveren kwaliteit van de dienstverlening door te communiceren d.m.v. Qo). QoS berust op de indeling van het verkeer in verschillende klassen en routes en ook in verschillende prioriteiten, dit zorgt ervoor dat bankverkeer een hogere prioriteit krijgt dan normaal verkeer. Ook wordt altijd de authenticiteit van de gebruiker gecontroleerd, hiermee bedoelen we dat een gebruiker niet op twee verschillende plaatsen in kan loggen. Onze pinautomaat geeft gebruikers drie pogingen voor verificatie bij het systeem. In het geval dat de gebruiker er niet in slaagt om dit te doen, wordt de bankkaart geweigerd en wordt het in de database genoteerd dat deze persoon niet meer kan inloggen. Dit verbetert de authenticiteit omdat het dan praktisch onmogelijk is om pincodes te kraken.
3. Veelvoorkomende aanvallen Spoofing aanval betekent dat een aanvaller probeert een andere gebruiker te imiteren om toegang te krijgen tot het systeem. Dit kan de aanvaller doen door speciale tools te gebruiken die makkelijk op internet te vinden zijn.
Dit kan worden voorkomen d.m.v. Encryptie en certificaten om authenticiteit te bevestigen.
Phishing werkt door het doelwit te infecteren met malware en vervolgens zijn inlog gegevens of encryption keys te stelen. (keylogger)
Dit wordt grotendeels afgeslagen door een goede beveiliging tegen malware te hebben, namelijk een antivirus. Ook kan dit worden voorkomen d.m.v. tweetraps authenticatie, hierdoor zijn de inloggegevens niet sufficiënt om in te loggen. Versie 1.0 / 29 maart 2016
Pagina 3
SQL-injecties worden veroorzaakt door ongecontroleerde input van de gebruiker die wordt doorgegeven aan een backend database voor de uitvoering. Wanneer het gebruikt wordt, kan een SQL-injectie verschillende gevolgen hebben voor de structuur van de database bijv: toevoegen van nieuwe gebruikers, wachtwoorden of zelfs het uitvoeren van willekeurige shellopdrachten.
SQL Injecties kunnen grotendeels worden tegengehouden door te scannen op onnatuurlijke input of patronen die voorkomen bij SQL-injecties. DDoS-aanvallen zijn aanvallen op de infrastructuur van de bank, deze worden vaak uitgevoerd met destructieve intenties, om het netwerk plat te leggen en daardoor klanten geen gebruik kunnen maken van pinnen.
Er zijn gespecialiseerde bedrijven die diensten leveren die hiertegen beschermen.
Skimmen werkt door een ‘skimmer’ vast te maken aan de pinautomaat, waardoor de pas eerst wordt gelezen, oftewel geskimd, door de skimmer. Achteraf kan er worden gepind zonder de pinpas, de pincode is nog wel nodig
Dit kan worden tegengegaan d.m.v. camera’s op de pinautomaten en door regelmatige controles.
4. Bronnen ISO/IEC 27001 - Information security management --- http://www.iso.org/iso/iso27001 Risk Assessment - https://www.asisonline.org/Standards-Guidelines/Pages/default.aspx Security guidelines - http://www.infosec.gov.hk/english/technical/guidelines.html vermeden door het gebruik van betere API. (1) J2EE biedt de PreparedStatement klasse, die het mogelijk maak voor het opgeven van een SQL-instructie sjabloon met 'S statement parameters. Gevraagde SQLstatements worden dan samengesteld in de API. Aan de andere kant ongeoorloofd gebruik van prepared statements laat nog veel ruimte voor fouten in onze programma.
Bronnen: http://www.theserverside.com/news/1365244/Why-Prepared-Statements-are-important-and-how-to-usethem-properly (1) (Automatic Teller Machine for disable users and its security issues) http://roar.uel.ac.uk/1467/1/2007_Ali_
Versie 1.0 / 29 maart 2016
Pagina 4
Versie 1.0 / 29 maart 2016
Pagina 5