Säkra API:er och webbapplikationer med Probely DAST Scanner

By rik

Med tanke på att ungefär en tredjedel av alla rapporterade säkerhetsintrång härrör direkt från framgångsrika attacker mot webbapplikationer, är det av yttersta vikt att noggrant testa säkerheten i dina webbapplikationer och API:er.

Det är inte bara av regulatoriska skäl som du måste säkerställa att dina webbapplikationer är skyddade. Du bör även värna om dina kunders data samt minimera riskexponeringen för din verksamhet.

Ett flertal metoder finns tillgängliga för att säkra dina webbapplikationer, var och en med sina specifika för- och nackdelar. Vissa lösningar fokuserar på att upptäcka sårbarheter i applikationernas källkod. Andra tillhandahåller skydd mot aktiva attacker. Ytterligare andra fokuserar på att dynamiskt testa dina webbapplikationers säkerhet under drift, på samma sätt som en hacker skulle göra.

Denna artikel koncentrerar sig på det senare, specifikt Probely. Det som utmärker Probely är dess förmåga att hantera två centrala problem relaterade till sårbarhetsscanning av webbapplikationer: omfattningen av skanningen i moderna webbmiljöer och precisionen i de genererade resultaten.

Probely erbjuds i två olika varianter: en självbetjäningsversion avsedd för små och medelstora företag, samt en mer omfattande version för större organisationer med ett stort antal webbapplikationer och API:er.

Probely lägger stor vikt vid att erbjuda enastående täckning av moderna utvecklingsmiljöer och att eliminera falska positiva resultat genom evidensbaserade skanningsresultat. Samtidigt möjliggör det integrering av DAST-skanning i din utvecklingsprocess.

Låter det för bra för att vara sant?

Fortsätt läsa för en djupare analys av Probely.

Vad gör Probely i grunden?

Probely, som är designad för utvecklare och företag av alla storlekar, testar dina applikationer och API:er genom att genomsöka dem i jakten på säkerhetsbrister och sårbarheter. Efter avslutad testning tillhandahåller verktyget vägledning om hur de identifierade problemen kan åtgärdas.

Dina utvecklare och säkerhetstekniker kan interagera med Probely via dess lättanvända gränssnitt. Om du däremot behöver mer kraft och flexibilitet kan du använda deras omfattande API, eftersom de följer en API-first utvecklingsmetod. Deras API ger tillgång till alla funktioner som finns i användargränssnittet, vilket möjliggör integration av Probely i CI/CD-pipelines, verktyg för hantering av sårbarheter, orkestreringsverktyg eller ärendehanteringssystem. Om du använder populära verktyg, kan du dra nytta av direkta integrationer. Detta gäller till exempel för verktyg som JIRA, Jenkins, Azure DevOps, DefectDojo, CircleCI och Slack. Om du däremot har utvecklat ett eget ärendehanterings- eller orkestreringsverktyg är API:et det bästa alternativet.

Täckning, genomsökning och precision

Probely nyttjar en nästa generations spindel för att navigera i omfattande Javascript-applikationer, precis som en vanlig webbläsare. Detta resulterar i en utmärkt täckning av webbplatsen, vilket ofta är ett problem med andra DAST-verktyg. Spindeln är särskilt lämpad för enskilda applikationer, som de som är utvecklade med React eller Angular JS.

Kom ihåg att en skanner endast kan upptäcka sårbarheter på de sidor som den hittar. En väl fungerande spindel är därför av yttersta vikt.

Probely erbjuder även olika skanningsprofiler, beroende på den miljö du vill testa. Du kan välja en mindre påträngande profil om du vill skanna en produktionsmiljö. Om du testar en QA-miljö kan du välja en mer grundlig profil för mer omfattande skanningar. Genom att testa i en förproduktionsmiljö har du möjlighet att upptäcka och åtgärda sårbarheter innan applikationen lanseras i produktion.

Rapportering

Även om Probely kan identifiera en omfattande lista av sårbarheter, fokuserar verktyget på att rapportera relevanta problem utan att generera falska positiva resultat. För vissa typer av sårbarheter tillhandahålls konkreta bevis på att sårbarheten är verklig, vilket sparar teamets tid på att validera om upptäckta problem är relevanta.

Probely levererar detaljerade rapporter via sitt gränssnitt, men kan även synkronisera sårbarhetsinformation med ett ärendehanteringssystem eller verktyg för sårbarhetshantering. Detta gör att du kan integrera verktyget i dina befintliga säkerhets- och utvecklingsprocesser.

Probely kan testa din programvara mot sårbarheter som de som listas i OWASP TOP 10 och många andra. Det kan även hjälpa dig att uppnå regelefterlevnad genom att kontrollera specifika krav i PCI-DSS, GDPR, HIPAA och ISO270-01.

Nedan visas en översikt baserad på OWASP TOP 10-rapporten, som illustrerar vad som kan vara fel i efterlevnadshänseende.

Gränssnitt

Gränssnittet är användarvänligt och enkelt att navigera i, vilket gör att du snabbt kan komma igång. Enterprise-versionen ger dig möjlighet att hantera användare, roller och konfigurera anpassade roller. Du kan också använda taggar för att organisera användare, tillgångar och sårbarheter för en mer effektiv hantering av din webbapplikationssäkerhet. Eftersom alla funktioner är tillgängliga via API:et, kan du enkelt integrera Probely med dina andra företagssäkerhetsapplikationer och -processer.

Om du använder Jira eller Azure Boards kan du konfigurera Probely att automatiskt skicka alla sårbarheter till ditt ärendehanteringssystem. När en utvecklare åtgärdar och stänger ärendet i ärendehanteringssystemet, kommer detta automatiskt att utlösa ett omtest i Probely, som kommer att kontrollera om sårbarheten har åtgärdats korrekt. Om så inte är fallet kommer ärendet att återöppnas. Detta ger ditt utvecklingsteam möjlighet att hantera sårbarhetsrapporter som vilket annat fel som helst, direkt i ärendehanteringssystemet, utan att ens behöva använda Probelys gränssnitt. Smidigt, eller hur? 🙂

Kom igång 🚀

I mina tester använde jag Probelys Enterprise-version.

De erbjuder även en standardversion och olika abonnemangsalternativ, inklusive en gratisversion. Den kostnadsfria versionen skannar endast efter tre typer av sårbarheter: cookie-flaggor, säkerhetsrubriker och SSL/TLS-problem. Pro-versionen erbjuder de flesta funktionerna och är främst avsedd för små och medelstora företag eller organisationer med fem eller färre mål att skanna.

Enterprise-versionen är inriktad på organisationer med ett stort antal mål och inkluderar ytterligare funktioner som är vanliga i företagsprogramvara: hantering av användare, grupper, roller och behörigheter. Det ger dig även möjlighet att skanna interna mål (i ditt privata nätverk) genom att installera en medföljande agent.

Lägga till ett mål

Det är enkelt att lägga till ett mål. När du har loggat in på ditt konto, navigerar du till sidan ”Mål” och klickar på ”Lägg till”. Därefter anger du ett namn, en URL och en eller flera taggar – t.ex. Test, Produktion, Utveckling etc. – för det nya målet. För att låta Probely skanna målet som ett fristående API utan någon webbapplikation, bör du kryssa i motsvarande alternativ för att identifiera det som ett API-mål.

Om ditt mål inte är tillgängligt via internet och du har installerat en Probely-agent i ditt privata nätverk, kan du välja vilken agent som ska användas när du lägger till målet.

När du har lagt till ett mål, måste du bekräfta dess ägarskap, eftersom Probely behöver verifiera att du har rätt behörighet att köra en genomsökning av det. Det finns två metoder för att validera målet: antingen ladda upp en fil med specifikt innehåll i målets rotkatalog eller lägga till en TXT-post till dina DNS-poster med domänens namn och visst specifikt postinnehåll. När målet har validerats kan du starta skanningen genom att klicka på knappen ”Skanna”.

Du kan övervaka förloppet och statusen för en genomsökning genom att navigera till fliken ”Scans” i Probelys instrumentpanel. Den här sidan visar när skanningen startade och vilka resultat som hittills har hittats. Resultaten är färgkodade efter svårighetsgrad, så att du enkelt kan se om det finns kritiska problem som behöver omedelbar åtgärd.

Om din webbplats har en inloggningssida och du vill att Probely ska utföra en skanning bakom denna, måste du tillhandahålla inloggningsuppgifter som gör att den kan genomsöka webbplatsen som en autentiserad användare. Probely stöder de flesta autentiseringsmetoder för inloggningssidor.

Skanna ett API

För att skanna ett API-mål, behöver Probely tillgång till dess schema. Du gör detta när du lägger till ett API-mål, antingen genom att tillhandahålla en URL till OpenAPI-schemat eller genom att ladda upp schemat som en lokal fil. URL-alternativet ger Probely möjlighet att hämta schemat inför varje skanning, vilket säkerställer att verktyget alltid använder den senaste versionen.

Det finns även olika autentiseringsmetoder för API-åtkomst. Probely stöder inte bara statiska token, utan möjliggör även dynamisk autentiseringskonfiguration vid skanning av API:er. Du kan konfigurera en inloggningsslutpunkt där Probely kan hämta en autentiseringstoken, eller så kan du ange ett anpassat huvud med en fast API-nyckel. Du kan även ange anpassade parametervärden som Probely kommer att använda för dem som finns i schemat.

När du har konfigurerat API-autentiseringen och parametrarna, kan du starta skanningen genom att klicka på knappen ”Skanna nu”. Efter några sekunder kan du följa skanningsförloppet på samma skanningssida. När skanningen är avslutad, kan du ladda ner en täckningsrapport som visar alla identifierade slutpunkter och svarskoder. Rapporten visar även om det funnits några misslyckade slutpunkter.

Granska dina resultat

Resultatsidan visar skanningsresultaten så fort de hittas, även under pågående skanningar. Varje resultat visar svårighetsgrad (hög, medel eller låg), tillhörande mål och URL, en beskrivning av resultatet, tid och datum när det upptäcktes, dess status (åtgärdat eller inte), ansvarig person och om det påverkar PCI-DSS- eller OWASP-efterlevnad.

Förutom att informera dig om de sårbarheter som upptäckts, är resultatsidan även användbar för att delegera sårbarheter till ditt team för åtgärd. För att göra detta, klickar du i kryssrutan till vänster om ett resultat och väljer en ansvarig person från en rullgardinsmeny.

Probely tillhandahåller även information om hur man åtgärdar de sårbarheter som har upptäckts. Tillsammans med dessa instruktioner kan du se hela begäran, svaret och bevisen.

På instrumentpanelen kan du se diverse diagram som sammanfattar säkerhetsrisken för de skannade målen. Graferna visar trender för olika relevanta mätvärden, som riskpoäng, genomsnittlig tid för att åtgärda problem och svårighetsgrad. Du kan även se de webbplatser som kräver mest uppmärksamhet, och en topp 5-rankning över de mest förekommande sårbarheterna.

Slutligen kan du på integrationssidan konfigurera Probely för att integrera med olika verktyg för att hantera projekt, teamkommunikation, ärendehantering och mer. De tillgängliga integrationerna inkluderar Azure Boards, DefectDojo, Slack, Jira, Jenkins och CircleCI.

Ett verktyg för utvecklare och säkerhetsteam

För agila utvecklingsteam är ”time-to-market” högsta prioritet. Alla åtgärder som kan minska den tid det tar för din programvara att börja generera värde utan att kompromissa med kvaliteten är välkomna. Probely erbjuder just detta – ett kostnadseffektivt sätt att förbättra säkerheten för dina webbplatser och API:er, vilket hjälper dig att hålla dina deadlines och leverera programvara av hög kvalitet.

För säkerhetsteam tillhandahåller Probely en plattform för att säkra dina webbapplikationer och hantera de sårbarheter som behöver åtgärdas. Det ger dig även möjlighet att överföra en del av säkerhetstesterna direkt till utvecklingsteamen, samtidigt som du behåller en övervakande roll.

Probely erbjuder kostnadsfria testperioder, licenser för utvärdering och produktdemonstrationer. Kontakta Probely för att komma igång.