Webservices er ansvarlige for maskine-til-maskine kommunikation. Computere benytter dem til at kommunikere med hinanden over internettet og internt i organisationer. Webservice (også kaldet Service Orientated Architechture) applikationer er blevet gradvist mere populære de senere år, da de assisterer organisationer med at interoperere og vækste med en hastighed der er uden fortilfælde. Webservice ”klienter” er generelt ikke udstyret med deciderede front-ends, men er i stedet knyttet til andre back-end servere. Det er vigtigt at notere sig, at webservices er eksponeret mod internettet og/eller interne netværk ligesom enhver anden service, men webservices kan benytte mange forskellige teknologier og transportprotokoller såsom HTTP, FTP, SMTP, MQ.
På trods af at metoden til en penetrationstest af webservices og webapplikationer ligner hinanden, så sker det ofte at webservices bliver overset, bl.a. fordi deres manglende grafiske brugergrænseflader gør dem mere usynlige i hverdagen.
Automatiserede værktøjer kan finde mange gængse fejl og sårbarheder i webservices, men det tager en decideret penetrationstest at identificere sårbarhed i bl.a. logikken bag webservicens funktionalitet og problemer i rettighedsstyring. Problemer i disse områder kan lede til kompromittering af de bagvedliggende interne IT-systemer. Den bedste praksis er at få gennemført årlige penetrationstests af samtlige webservices. Dette er i stigende grad blevet relevant de senere år, hvor der dagligt offentliggøres nye sårbarheder. Det er ekstra relevant at få gennemført årlige penetrationstests af webservices, hvis hele eller dele af dens funktionalitet er eksponeret ud mod internettet.
I lighed med de sikkerhedsudfordringer der er ved webapplikationer, så er udfordringen ved organisationers webservices at løbende holde dem sikre. Det er både en tidskrævende og ressourcetung opgave. Hos Nordic Resilience tilbyder vi at gennemføre en grundig og kosteffektiv sikkerhedsgennemgang af organisationens webservices, ved at kombinere automatiserede scanninger med manuelle kreative tests, for at kunne levere en effektiv og optimeret penetrationstest. Vores penetrationstests af webservices er opdelt i to faser.
Fase 1 er en automatiseret scanning af webservicen, via forskellige kommercielle og open-source værktøjer. Denne fase sender millioner af ondsindede og utilsigtede forespørgsler mod den pågældende webservice, for at tvinge applikationen til at opføre sig utilsigtet. Utilsigtede hændelser i applikationen kan lede til sårbarheder, som en angriber kan udnytte.
Fase 2 er en manual gennemgang af webservicen. Her vil der blive lagt særligt vægt på webservicens funktionalitet. Gennemgangen består først og fremmest af en informationsindsamlingsfase, hvor der opbygges en forståelse for webservicens funktionalitet og teknologi (f.eks. SOAP, REST eller JSON). Nordic Resilience benytter denne indsamlede information i vores penetrationstest til at gennemføre sofistikerede og kreative angreb mob den pågældende webservice.
Nordic Resiliences fremgangsmetode for penetrationstests af webservices følger OWASP’s Web Service Penetration Testing guide, men vil derudover også inkluderer ekstra tests på baggrund af vores professionelle erfaring:
Leverancen består af en samlet professionel rapport der indeholder alle observerede sårbarheder og fejlkonfigurationer. Rapporten vil være opdelt i hhv. Et ledelsesreferat og en teknisk sektion. Ledelsesreferatet henvender sig til bestyrelsen, ledelsen og andre interessenter. Den tekniske sektion indeholder uddybende tekniske forklaringer på hver enkelt sårbarheder eller fejlkonfiguration. Denne sektion henvender sig således til det tekniske personale der skal udbedre observationerne, eventuelt hos en underleverandør.
Alle observationer i rapporten vil blive manuelt tildelt en risikovurdering på baggrund af sandsynligheden og konsekvensen af den pågældende observation. Risikovurderingen kan enten modtages i form af en matrice med lav/medium/høj/kritisk risiko eller via CVSS-standarden. I begge tilfælde vil risikovurderingen assistere organisationen med prioriteringen af udbedringerne.
En penetrationstest af en webapplikation tager som regel 4 arbejdsdage, men det varierer fra webapplikation til webapplikation på baggrund af den enkeltes kompleksitet.