Med tanke på at omtrent en tredjedel av alle kjente datainnbrudd skyldes vellykkede angrep på nettapplikasjoner, er det helt avgjørende å teste sikkerheten til disse applikasjonene og deres API-er.
Det er ikke bare viktig å sikre nettapplikasjonene dine for å overholde gjeldende regelverk, men det er også et ansvar å beskytte kundenes data og minimere risikoen for virksomheten din.
Når det gjelder sikring av nettapplikasjonene dine, finnes det mange metoder, hver med sine fordeler og ulemper. Noen løsninger fokuserer på å oppdage sikkerhetshull i kildekoden til programmene dine. Andre beskytter applikasjonene dine mot direkte angrep. Og atter andre bruker dynamisk testing av sikkerheten mens applikasjonene kjører, på samme måte som en hacker ville gjort.
Denne artikkelen vil fokusere på sistnevnte metode, nærmere bestemt verktøyet Probely. Det som gjør Probely interessant i forhold til andre verktøy, er evnen til å håndtere to sentrale utfordringer med sårbarhetsskannere for nett: skanning av moderne nettapplikasjoner og kvaliteten på resultatene.
Probely tilbyr to versjoner: en selvbetjent løsning for små og mellomstore bedrifter, og en annen skreddersydd for større virksomheter med mange nettapplikasjoner og API-er.
Probelys mål er å tilby enestående dekning for moderne utviklingsmiljøer og eliminere falske positiver ved å gi bevisbaserte skanneresultater, samtidig som DAST-skanning kan integreres i utviklingsprosessen.
Høres det for godt ut til å være sant?
Les videre for å lære mer om min vurdering av Probely.
Hva gjør Probely egentlig?
Probely er designet for utviklere og bedrifter av alle størrelser og tester applikasjoner og API-er, og skanner dem for sikkerhetsproblemer og sårbarheter. Etter testen gir verktøyet veiledning om hvordan du kan rette opp de identifiserte problemene.
Utviklere og sikkerhetsingeniører kan samhandle med Probely via et brukervennlig grensesnitt. Men hvis du trenger kraft og fleksibilitet, kan du stole på deres fullt utrustede API, ettersom de benytter en «API-first»-tilnærming til utvikling. API-et tilbyr alle funksjonene som er tilgjengelige i brukergrensesnittet, slik at du kan integrere Probely i en CI/CD-pipeline, sårbarhetsstyringsverktøy, orkestratorer eller feilhåndteringssystemer. Hvis du benytter populære verktøy, kan du finne en ferdig integrasjon. Dette gjelder verktøy som JIRA, Jenkins, Azure DevOps, DefectDojo, CircleCI og Slack. Hvis du har utviklet ditt eget feilhåndteringssystem eller orkestrator, er API-et veien å gå.
Dekning, gjennomgang og nøyaktighet
Probely bruker en moderne «crawler» for å navigere i komplekse Javascript-applikasjoner på samme måte som en vanlig nettleser. Dette gir utmerket dekning av nettstedet, noe som er et problem for mange andre DAST-verktøy. Denne «crawleren» er ideell for single-page applikasjoner, for eksempel de som er basert på React eller Angular JS.
Husk at en skanner bare kan oppdage sårbarheter på sider som er funnet. Derfor er en god «crawler» av største betydning.
Probely tilbyr også ulike skanneprofiler, avhengig av miljøet du ønsker å teste. Du kan bruke en mindre inngripende profil hvis du skal skanne et produksjonsmiljø. For testing av QA-miljøet kan du bruke en mer dyptgående profil for mer fullstendige skanninger. Ved å teste et pre-produksjonsmiljø kan du identifisere og rette opp sårbarheter før applikasjonen distribueres til produksjon.
Rapportering
Selv om Probely oppdager en omfattende liste over sårbarheter, er fokuset på å rapportere det som er relevant og uten falske positiver. For visse typer sårbarheter gir verktøyet bevis for at sårbarheten er reell, noe som sparer teamets tid med å validere om funnene er reelle og relevante.
Probely tilbyr omfattende rapportering fra grensesnittet, men kan også synkronisere sårbarhetsinformasjon med et feilhåndteringssystem eller et sårbarhetsstyringsverktøy, slik at du kan integrere Probely i eksisterende arbeidsflyter for sikkerhet og utvikling.
Probely kan teste programvaren din mot sårbarheter som de som er oppført i OWASP TOP 10 og mange flere. Det kan også hjelpe deg med å oppnå samsvar ved å kontrollere spesifikke krav i PCI-DSS, GDPR, HIPAA og ISO270-01.
Fra OWASP TOP 10-rapporten kan du raskt se hva som er feil med hensyn til samsvar.
Grensesnitt
Grensesnittet er enkelt og lett å navigere, slik at du raskt kan komme i gang. Enterprise-utgaven gir deg muligheten til å administrere brukere, roller og definere egendefinerte roller. Du kan også bruke etiketter for å organisere brukere, ressurser og sårbarheter for å forbedre sikkerhetsadministrasjonen av nettapplikasjonene dine. Ettersom alle funksjoner er tilgjengelige via API, kan du enkelt integrere Probely i andre sikkerhetsapplikasjoner og bedriftsprosesser.
Hvis du bruker Jira eller Azure Boards, kan du konfigurere Probely til å sende alle sårbarheter automatisk til feilhåndteringssystemet. Når en utvikler retter og lukker problemet i feilhåndteringssystemet, utløses automatisk en ny test i Probely, som verifiserer om sårbarheten er ordentlig utbedret. Hvis ikke, gjenåpnes problemet i feilhåndteringssystemet. Dette gjør det mulig for utviklingsteamet å håndtere sårbarhetsrapporter som enhver annen feil, direkte i feilhåndteringssystemet, uten å måtte bruke Probelys grensesnitt. Praktisk, ikke sant? 🙂
Komme i gang 🚀
I forbindelse med mine tester benyttet jeg Probelys Enterprise-utgave.
De tilbyr også en standardutgave og ulike abonnementer, inkludert en gratisversjon. I gratisversjonen tester skanningen kun tre kategorier av sårbarheter: informasjonskapsel-flagg, sikkerhetshoder og SSL/TLS-problemer. Pro-abonnementet tilbyr de fleste funksjonene og er rettet mot små og mellomstore bedrifter og organisasjoner med fem eller færre mål å skanne.
Enterprise-utgaven er utviklet for organisasjoner med et stort antall mål og inkluderer tilleggsfunksjoner som er typiske for bedriftsprogramvare: brukere, grupper, roller og tillatelser. Den gir deg også mulighet til å skanne interne mål (på ditt private nettverk) ved å installere en medfølgende agent.
Legge til et mål
Det er enkelt å legge til et mål. Når du logger deg på kontoen din, må du navigere til siden «Mål» og klikke på «Legg til». Deretter angir du et navn, en URL og en eller flere etiketter – for eksempel testing, produksjon, utvikling osv. – for det nye målet. Hvis Probely skal skanne målet som et frittstående API uten en tilhørende nettapplikasjon, bør du markere det relevante alternativet for å identifisere det som et API-mål.
Hvis målet ditt ikke er tilgjengelig via internett og du har installert en Probely-agent på ditt private nettverk, kan du velge hvilken agent du vil bruke når du legger til et mål.
Etter at du har lagt til et mål, må du bekrefte eierskapet, ettersom Probely trenger bevis på at du har de nødvendige rettighetene til å gjennomføre en skanning av det. Det finnes to alternative metoder for å validere målet: laste opp en fil med spesifikt innhold til målets rot eller legge til en TXT-post i DNS-posten din, med domenenavnet og et spesifikt postinnhold. Når målet er validert, er du klar til å skanne det bare ved å trykke på «Skann»-knappen.
Du kan sjekke fremdriften og statusen for en skanning ved å gå til fanen «Skanninger» på Probelys kontrollpanel. Denne siden viser når skanningen startet og hva den har funnet så langt. Funnene er fargekodet etter alvorlighetsgrad, slik at du raskt kan se om det er kritiske problemer som må løses umiddelbart.
Hvis nettstedet ditt har en påloggingsside og du vil at Probely skal utføre en skanning bak den, må du oppgi påloggingsinformasjon som gjør det mulig for verktøyet å gjennomsøke nettstedet som en autentisert bruker. Probely støtter de fleste autentiseringsmetoder for påloggingssider.
Skanning av et API
For å skanne et API-mål krever Probely at du oppgir skjemaet. Dette gjør du når du legger til et API-mål, enten ved å oppgi URL-en til OpenAPI-skjemaet eller ved å laste opp skjemaet dersom du har lagret det som en lokal fil tidligere. URL-alternativet gir Probely mulighet til å hente skjemaet før hver skanning, slik at du alltid benytter den nyeste versjonen av skjemaet.
Det finnes også ulike alternativer for autentiseringsmetoder for API-tilgang. Probely støtter ikke bare statiske tokens, men gir også mulighet for dynamisk autentiseringskonfigurasjon ved skanning av API-er. Du kan konfigurere et endepunkt for pålogging der Probely kan hente et autentiseringstoken, eller du kan sette inn et egendefinert hode med en fast API-nøkkel i det. Du kan også oppgi egendefinerte parameterverdier som Probely skal bruke for de som finnes i skjemaet.
Når du er ferdig med å konfigurere API-autentiseringen og parameterne, kan du starte skanningen ved å trykke på «Skann nå»-knappen. Etter noen sekunder kan du følge skanneprosessen på den samme skannesiden. Når skanningen er fullført, kan du laste ned en dekningsrapport som viser alle funne endepunkter og hver responskode. Rapporten vil også angi om det var endepunkter som sviktet.
Sjekke funnene dine
Funn-siden viser skanneresultatene så snart de er oppdaget, selv når skanninger pågår. Hvert funn viser en alvorlighetsgrad (høy, middels eller lav), det tilhørende målet og URL-en, funnbeskrivelsen, klokkeslettet og datoen da funnet ble oppdaget, tilstanden (rettet eller ikke rettet) og mottaker, samt om funnet påvirker PCI-DSS- eller OWASP-samsvar.
I tillegg til å holde deg oppdatert om de oppdagede sårbarhetene, er funn-siden også nyttig for å tildele sårbarheter til teamet ditt for utbedring. For å gjøre dette, klikker du på avmerkingsboksen til venstre og velger mottakeren fra en nedtrekksmeny.
Probely gir også informasjon om hvordan du kan rette opp de oppdagede sårbarhetene. Sammen med instruksjonene kan du se hele forespørselen, responsen og bevisene.
På kontrollpanelet kan du se ulike diagrammer som oppsummerer sikkerhetsrisikoen for de skannede målene. Grafene viser trender i ulike relevante målinger, for eksempel risikoscore, gjennomsnittlig tid for utbedring av problemer og alvorlighetsnivåer. Du kan også se hvilke nettsteder som krever mest oppmerksomhet og en topp 5-rangering av de mest forekommende sårbarhetene.
Til slutt kan du på Integrasjoner-siden konfigurere Probely til å integrere med mange forskjellige verktøy for å administrere prosjekter, teamkommunikasjon, feilhåndtering og mer. De tilgjengelige integrasjonene inkluderer Azure Boards, DefectDojo, Slack, Jira, Jenkins og CircleCI.
Et verktøy for utviklere og sikkerhetsteam
For smidige utviklingsteam er «time-to-market» en høy prioritet. Alt som kan gjøres for å redusere tiden det tar før programvaren din lanseres, uten at det går på bekostning av kvaliteten, er svært velkomment. Probely tilbyr nettopp det – en kostnadseffektiv måte å forbedre sikkerheten til nettstedene og API-ene dine på, som hjelper deg med å holde tidsplanen og levere programvareprodukter av høy kvalitet.
For sikkerhetsteam gir Probely en plattform for å sikre nettapplikasjonene dine og administrere sårbarhetene som krever utbedring. Det gir deg også muligheten til å overføre deler av sikkerhetstestingene direkte til utviklingsteamet, samtidig som du beholder en tilsynsrolle.
Probely tilbyr gratis prøveversjoner, lisenser for bedriftsevaluering og produktdemoer. Kontakt Probely for å komme i gang.