Top Banner
Continuous Security in Modernen Webanwendungen Sicherheit eingebaut Martin Reinhardt (Holisticon AG) @mreinhardt
32

Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

Jul 19, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

ContinuousSecurityinModernenWebanwendungen

SicherheiteingebautMartinReinhardt(HolisticonAG)

@mreinhardt

Page 2: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

Agenda■ ContinuousDelivery■ IT-Sicherheit□ Methodik□ Agil&Security

■ ContinuousSecurity□ Automatisierung□ Tools

■ Ausblick■ Links

Page 3: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

Aboutme■ MartinReinhardt(HolisticonAG)

■■

github.com/hypery2ktwitter.com/mreinhardt

Page 4: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

ContinuousDelivery■ AgileSoftwareentwicklungarbeitetkleinteilig□ SoftwareoftundzuverlässiginProduktion□ SoftwaremitagilenMethodenkannnichtkomplett(manuell)getestetwerde

□ Alle2WochengesamtenFunktionsumfangabtestenistutopisch□ WesentlichistdabeidieBuildPipeline

■ Wie?□ Geschwindigkeit□ Automatisierung

Page 5: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

BuildPipeline■ wesentlichesZielistschnellesFeedback,alsoGeschwindigkeit□ EinzelneSchrittschnellabarbeiten(5-10Minuten)□ MöglichstfrühFehlerfinden(Unit-Tests )

■ QuellcodemussContinuousDeliverygerechtwerden

■ WarumnichtauchfürSecurity?■ ContinuousDeliveryaucheineChancefürSicherheitsaspekte

Page 6: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

IT-Sicherheit

Page 7: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

WarumdasGanze?■ NSA■ BDSG■ DSGVO■ Kosten■ Exploits□ CVE-2016-5000-ApachePOIInformationDisclosureviaExternalEntityExpansion(XXE)

□ CVE-2016-4216-AdobeXMPToolkitforJavaInformationDisclosureviaExternalEntityExpansion(XXE)

□ CVE-2016-3081-RemotecodeexecutionvulnerabilityinApacheStrutswhendynamicmethodinvocationisenabled

□ CVE-2015-8103-RemotecodeexecutionvulnerabilityinJenkinsremoting;relatedtotheApachecommons-collections

Page 8: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

BlackDuck-OpenSourceSecurityAnalysis

■ StandvonOpenSourceSecurityinkommerziellenAnwendungen□ 95%derAnwendungenenthaltenOSS□ 67%derAnwendungenenhaltenOSSSchwachstellen□ DurchschnittsaltervonbekanntenSchwachstelleninOSS:1894Tage

bit.ly/2yfsD2x

Page 9: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

OWASPTop10■ KritischstenRisikeninWebanwendungen■ A9-NutzungvonKomponentenmitbekanntenSchwachstellen

■ Schwerzuerkennen■ BewusstseinaufEntwicklungsseite■ Sichtbarkeit■ Toolunterstützungnichtvorhanden■ PatchingerforderterneutCodeänderungen

Page 10: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

ArtenvonTests■ FunktionaleSicherheitstests■ Schwachstellen-Scanning/Fuzzing■ Penetrationstests

Page 11: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

ContinuousSecurity■ Testenistnichtalles,beiEntwicklungauchnicht■ WarumalsonichtauchbeiSecurity?■ logischerSchrittfürAutomatisierung■ SecuritymussaufverschiedenEbenenbetrachtetwerden□ Code&Architektur(Sonar)□ Integrations-Tests(bdd-security,zap,owasp)

Page 12: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

Securityganzheitlich■ Themaeinarbeiten□ ErstellungvonSecurityGuidelines□ BerücksichtigungvonSicherheitimRahmenderErstellungvonUserStories

□ Codescansdurchführen□ Peer-ReviewsdurcheinenSecurityChampiondurchführen□ Penetrationstestseinplanen

■ Planing■ SecureScrum■ ThreadModel■ AnalogzurrestlichenSoftwareentwicklung

Page 13: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

ContinuousSecurityTesting■ Toolsmittlerweileverfügbar■ meistsetzendieseaufOWASPauf■ IntegrationnichtschwierigeralsbeiDevOps

Page 14: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

NodeSecurityProject(NSP)■ PrüfungderAbhängigkeitenaufbekannteSchwachstellen

■ SchlägtkorrigierteVersionvor┌───────────────┬───────────────────────────────────────┐││InsecureDefaultsAllowMITMOverTLS│├───────────────┼───────────────────────────────────────┤│Name│engine.io-client│├───────────────┼───────────────────────────────────────┤│Installed│1.5.4│├───────────────┼───────────────────────────────────────┤│Vulnerable│<=1.6.8│├───────────────┼───────────────────────────────────────┤│Patched│>=1.6.9│├───────────────┼───────────────────────────────────────┤│MoreInfo│https://nodesecurity.io/advisories/99│└───────────────┴───────────────────────────────────────┘

Page 15: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

OWASPdependency-check■ Seit2012verfügbar(basiertauf

)■ VerfügbarinverschiedenenVarianten:Ant,Maven,Gradle,SBT,Jenkins

■ AnalysederAbhängigkeitenzubekanntenSchwachstellenfürJava&.NET

■ ExperimentielleUnterstützung□ CocoaPods□ SwiftPackageManager□ Python□ PHP(composer)□ Node.js□ Ruby

A9-KomponentenmitbekanntenSchwachstellen

Page 16: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

■ PrinzipiellkannjedegefundenenSchwachstellezuBuildfehlerführen

■ Nichtpraktikabel,deswegensindAusnhamennötig□ KannreduzierterCommonVulnerabilityScoringSystem-Score(CVSS)gewähltwerden

□ Ausnahmenfestlegen

[ERROR]Failedtoexecutegoalorg.owasp:dependency-check-maven:1.4.0:check(default)...[ERROR][ERROR]Dependency-CheckFailure:[ERROR]OneormoredependencieswereidentifiedwithvulnerabilitiesthathaveaCVSSscoregreaterthen'5.0':[ERROR]commons-httpclient-3.1.jar:CVE-2014-3577[ERROR]mysql-connector-java-5.1.37.jar:CVE-2014-0001,CVE-2013-2378,....[ERROR]tomcat-embed-core-8.0.33.jar:CVE-2016-3092,CVE-2013-2185,CVE-2002-0493

Page 17: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

HTML-Report

Page 18: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

■ MitfestgelegtenAusnahmen

Page 19: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

■ AusnahmenwerdenineigenemXML-Formatfestgelegt

<suppress><notes><![CDATA[Thissuppressesfalsepositivesidentifiedonspringsecurity.]]></notes><gavregex="true">org\.springframework\.security:spring.*</gav><cpe>cpe:/a:mod_security:mod_security</cpe><cpe>cpe:/a:springsource:spring_framework</cpe><cpe>cpe:/a:vmware:springsource_spring_framework</cpe></suppress>

Page 20: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

OWASPZedAttackProxy(ZAP)Features

■ InterceptingProxy■ AutomatedScanner■ PassiveScanner■ BruteForceScanner■ Fuzzer■ PortScanner■ Spider■ WebSockets■ RESTAPIScanning(OpenAPI/Swagger)

Page 21: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

Funktionsweise■ InstallationaufseparatenUmgebung

■ ScanderAnwendung■ ProxywährendTestausführung

Page 22: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger
Page 23: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

IntegrationinPipeline■ MavenPlugin:github.com/hypery2k/zap-maven-plugin

Page 24: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger
Page 25: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

IntegrationinBuild■ EinfacheIntegration■ Erweiterungmöglich(SeleniumTests)

<plugin><groupId>de.martinreinhardt-online</groupId><artifactId>zap-maven-plugin</artifactId><configuration><zapHost>localhost</zapHost><zapPort>44444</zapPort><failingRiskCodeThreshold>5</failingRiskCodeThreshold><targetUrl>http://ngspring:41180/</targetUrl><authenticationType>form</authenticationType><username>user</username><password>password</password><shouldRunAjaxSpider>true</shouldRunAjaxSpider></configuration>...</plugin>

Page 26: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

SonarIntegration

github.com/pdsoftplan/sonar-zap

Page 27: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

AWSabsichern■ SecurityMonkey

■ MonitoringfürSicherheitsprobleme■ FürgroßeverteilteAWS-Anwendungen

github.com/Netflix/security_monkey

Page 28: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

Fazit&Ausblick■ Bibliotheken=Sicherheitsrisiko□ geradeimmodernenUmfeld□ zeitnaheAktualisierungnötig□ automatisierbar

■ Absicherungmöglich□ PenetrationstestsdurchDevOpseinfachautomatisierbar□ vieleToolsimBereichTesting&Automatisierung□ SpringVault□ HashiCorpSentinel

■ FeedbackisteinMuss■ unerlässlicheinSicherheitsbewusstseinimTeamaufzubauen

projects.spring.io/spring-vault/hashicorp.com/blog/sentinel-announcement-

policy-as-code-framework/

Page 29: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

ContinuousDelivery,J.Humble,D.Farley

"Thereisnoone-size-fits-allsolutiontothecomplexproblemofimplementingadeploymentpipeline."

Page 30: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

RobertMiller,FBIDirector,2012

"Thereareonlytwotypesofcompanies:thosethathavebeenhacked,andthosethatwillbe"

Page 32: Continuous Security in Modernen Webanwendungen · 2018-01-17 · Continuous Security Testing Tools mittlerweile verfügbar meist setzen diese auf OWASP auf Integration nicht schwieriger

Präsentation

holisticon.github.io/presentations/2017_ISD_continuous-security/