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

Med tanke på att ungefär en tredjedel av alla kända intrång är ett direkt resultat av en framgångsrik webbapplikationsattack, är det ytterst viktigt att testa dina webbapplikationer och API:ers säkerhet.

Du behöver inte bara se till att dina webbapplikationer är säkra av regulatoriska skäl, utan du (bör) också bry dig om din kunds data och riskexponeringen för ditt företag.

Du har säkert massor av alternativ när det gäller att säkra dina webbapplikationer, alla med sina för- och nackdelar. Vissa lösningar är beroende av att identifiera säkerhetsproblem i källkoden för dina applikationer. Andra skyddar dina applikationer mot attacker. Och andra förlitar sig på att dynamiskt testa dina webbapplikationers säkerhet vid körning, precis som en hackare skulle göra.

Fokus i denna artikel ligger på det senare fallet, nämligen på Förmodligen. Det som gör Probely intressant jämfört med andra är att det tar itu med två av huvudproblemen med webbläsares sårbarhet: skanningstäckningen av moderna webbapplikationer och kvaliteten på resultaten.

Probely har två olika utgåvor: en självbetjäningsversion riktad till små och medelstora företag och en annan riktad till företag eller företag med många webbapplikationer och API:er.

Probely fokuserar på att tillhandahålla exceptionell täckning över moderna utvecklingsmiljöer och eliminera falska positiva resultat med evidensbaserade skanningsresultat samtidigt som du kan integrera DAST-skanning i din utvecklingslivscykel.

För bra för att vara sant?

Läs vidare för att lära dig mer om min analys av Probely.

Vad exakt gör Probely?

Med utvecklare och alla företagsstorlekar i åtanke testar Probely dina applikationer och API:er, genomsöker dem för att hitta säkerhetsproblem och sårbarheter. När testningen är klar ger den vägledning om hur man åtgärdar de problem som hittats.

Dina utvecklare och säkerhetsingenjörer kan arbeta med Probely genom dess intuitiva användargränssnitt. Men om du behöver kraft och flexibilitet kan du lita på deras fullfjädrade API eftersom de följer en API-först utvecklingsmetod. Deras API tillhandahåller alla funktioner som du ser i användargränssnittet, så att du kan integrera Probely i en CI/CD-pipeline, sårbarhetshanteringsverktyg, orkestrator eller problemspårare. Om du använder de populära, kanske du har en direktintegration. Det är fallet för verktyg som JIRA, Jenkins, Azure DevOps, DefectDojo, CircleCI och Slack. Men om du har utvecklat din egen problemspårare eller orkestrator, så är API:et rätt väg att gå.

Täckning, genomsökning och noggrannhet

Probely använder en nästa generations spindel för att navigera i rika Javascript-applikationer på samma sätt som en vanlig webbläsare, vilket resulterar i utmärkt täckning av webbplatsen, vilket är ett problem för många andra DAST-verktyg. Denna spindel är idealisk för ensidiga appar, till exempel de som är baserade på React eller Angular JS.

Tänk på att en skanner endast kan identifiera sårbarheter på sidor som hittades. Därför är en bra spindel av yttersta vikt.

Probely erbjuder även olika skanningsprofiler, beroende på vilken miljö du vill testa. Du kan ställa in en mindre påträngande skanningsprofil om du vill skanna din produktionsmiljö. Om du testar din QA-miljö kan du ställa in en mer grundlig profil för mer kompletta skanningar. Genom att testa en förproduktionsmiljö kan du identifiera och åtgärda sårbarheter innan du distribuerar programmet i produktion.

Rapportering

Även om Probely upptäcker en omfattande lista med sårbarheter, fokuserar den på att rapportera vad som är relevant och utan falska positiva resultat. För vissa klasser av sårbarheter ger det bevis på att sårbarheten är verklig, vilket sparar ditt teams tid på att validera om sårbarheter är verkliga och relevanta.

Probely tillhandahåller omfattande rapportering från gränssnittet, men den kan också synkronisera sårbarhetsinformation med en problemspårare eller sårbarhetshanteringsverktyg, så att du kan passa in i dina befintliga säkerhets- och utvecklingsarbetsflöden.

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

Taget från OWASP TOP 10-rapporten får du en överblick över vad som är fel med denna efterlevnad.

Gränssnitt

Gränssnittet är enkelt och lätt att navigera, så att du snabbt kan komma igång. Enterprise-utgåvan låter dig kontrollera användare, roller och ställa in anpassade roller. Du kan också använda etiketter för att organisera användare, tillgångar och sårbarheter för att hantera din webbapplikationssäkerhet bättre. Eftersom alla funktioner är tillgängliga via API:t kan du enkelt integrera Probely i 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 din problemspårare. När utvecklaren fixar och stänger problemet på problemspåraren kommer den automatiskt att utlösa ett omtest på Probely, som kommer att kontrollera om sårbarheten är korrekt åtgärdad. Om det inte är det, öppnas problemet igen på problemspåraren. Detta gör att ditt utvecklingsteam kan hantera en sårbarhetsrapport som vilken annan bugg som helst, direkt på problemspåraren, utan att ens använda Probelys gränssnitt. Trevligt va? 🙂

Komma igång 🚀

För mina testsyften använde jag Probelys Enterprise-utgåva.

De erbjuder också en standardutgåva och olika planer att välja mellan, inklusive en gratis plan. I den kostnadsfria planen testar skanningen endast tre klasser av sårbarheter: cookiesflaggor, säkerhetsrubriker och SSL/TLS-problem. Pro-planen erbjuder de flesta funktionerna och fokuserar på små och medelstora företag och organisationer som har fem eller färre mål att skanna.

Enterprise-utgåvan fokuserar på organisationer som har ett stort antal mål och innehåller ytterligare funktioner som de som är vanliga i företagsprogramvara: användare, grupper, roller och behörigheter. Det låter dig också skanna interna mål (på ditt privata nätverk) genom att installera en medföljande agent.

Lägger till ett mål

Det är enkelt att lägga till ett mål. När du har loggat in med ditt konto måste du navigera till sidan Mål och klicka på Lägg till. Sedan anger du ett namn, en URL och en eller flera etiketter – dvs. Testning, Produktion, Utveckling, etc. – för det nya målet. För att låta Probely skanna detta mål som ett fristående API utan en webbapp som stöder, bör du markera motsvarande alternativ för att identifiera det som ett API-mål.

Om ditt mål inte är exponerat på Internet och du installerade en Probely-agent på ditt privata nätverk, kan du välja vilken agent du ska använda när du lägger till ett mål.

När du har lagt till ett mål måste du validera dess ägarskap eftersom Probely behöver bevis på att du har de nödvändiga privilegierna för att köra en genomsökning av det. Det finns två alternativa metoder för att validera målet: ladda en fil med tillhandahållet innehåll på målets rot eller lägga till en TXT-post till din DNS-post, med domänens namn och visst specifikt postinnehåll. När målet är validerat är du redo att skanna det bara genom att trycka på knappen Skanna.

Du kan kontrollera en genomsöknings förlopp och status genom att navigera till fliken Scans på Probelys instrumentpanel. Den här sidan visar dig när skanningen startade och vad den hittade hittills. Fynden är färgade av svårighetsgrad, så att du med en blick kan se om det finns kritiska problem som måste åtgärdas omedelbart.

Om din webbplats har en inloggningssida och du vill att Probely ska utföra en skanning bakom den, måste du tillhandahålla autentiseringsuppgifter 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 att du tillhandahåller dess schema. Du gör detta när du lägger till ett API-mål, antingen genom att tillhandahålla OpenAPI-schema URL eller genom att ladda upp schemat om du tidigare sparat det som en lokal fil. URL-alternativet låter Probely hämta schemat före varje skanning, vilket säkerställer att det alltid fungerar med den senaste versionen av ditt schema.

Det finns också olika alternativ när det gäller autentiseringsmetoder för API-åtkomst. Probely stöder inte bara statiska tokens utan tillåter också dynamisk autentiseringskonfiguration vid skanning av API:er. Du kan konfigurera en inloggningsslutpunkt där Probely kan få en autentiseringstoken, eller så kan du ställa in en anpassad rubrik med en fast API-nyckel i den. Du kan också tillhandahålla anpassade parametervärden som Probely kommer att använda för de som finns i schemat.

När du är klar med konfigureringen av API-autentiseringen och parametrarna kan du starta skanningen genom att trycka på knappen Skanna nu. Efter några sekunder kommer du att kunna följa skanningsförloppet på samma skanningssida. När skanningen avslutas kan du ladda ner en täckningsrapport som visar alla hittade slutpunkter och varje svarskod. Denna rapport kommer också att berätta om det fanns sviktande slutpunkter.

Kontrollerar dina fynd

Resultatsidan visar skanningsresultaten så snart de hittas, även när skanningar pågår. Varje fynd visar en svårighetsgrad (hög, medelhög eller låg), motsvarande mål och URL, fyndbeskrivningen, tid och datum när det hittades, dess tillstånd (fast eller inte fixat) och mottagare, och om det påverkar PCI- DSS- eller OWASP-efterlevnad.

Förutom att hålla dig informerad om de upptäckta sårbarheterna, är resultatsidan också användbar för att tilldela sårbarheter till ditt team att åtgärda. För att göra det klickar du på kryssrutan till vänster och väljer mottagaren från en rullgardinsmeny.

Probely ger också information om hur man åtgärdar de sårbarheter som har hittats. Tillsammans med dessa instruktioner kan du se hela begäran och svaret och bevisen.

På sidan Dashboard kan du se olika diagram som sammanfattar de skannade målens säkerhetsrisk. Graferna visar trender i olika intressanta mätvärden, som riskpoäng, genomsnittlig tid för att åtgärda problem och svårighetsgrad. Du kan också titta på de webbplatser som kräver mest uppmärksamhet och en topp 5-rankning av sårbarheter med högst förekomst.

Slutligen, på integrationssidan kan du konfigurera Probely för att integrera med många olika verktyg för att hantera projekt, teamkommunikation, problemspårning 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 en högsta prioritet. Vad du än kan göra för att minimera tiden det tar för din programvara att börja producera utan att kompromissa med kvaliteten är mycket välkommet. Probely erbjuder just det – 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 schemarelaterade löften och leverera högkvalitativa mjukvaruprodukter.

För säkerhetsteam ger Probely dig en plattform för att säkra dina webbapplikationer och hantera de sårbarheter som kräver åtgärdande. Det låter dig också överföra några av säkerhetstesterna direkt till utvecklingsteam samtidigt som du har en övervakningsroll.

Probely erbjuder gratis provperioder, licenser för företagsutvärdering och produktdemonstrationer. Kontakt Förmodligen för att starta.