SlideShare a Scribd company logo
Vulnerabilities in Web
    Applications
     Simon Dietschi, Netcetera AG
Why care about (web application) security?
Sources of risks experienced by organizations sampled in the USA (2011)

Viruses, worms, trojans

              Malware

               Botnets

          Web attacks

        Stolen devices

        Malicious code

     Malicious insiders

              Phishing

      Denial of service
                          0                          25                           50                          75    100


                     Ponemon Institute© Research Report, SANS Cyber Security Risks, Web-Hacking-Incident-Database
Motivation
•   Wake-up call for security awareness

•   Security as a topic critical to the success of an
    information system

•   Insecure web applications in financial, healthcare,
    power, defense, aviation and other critical
    infrastructures

•   More than 60% of all cyber attacks against web
    applications
Where to start?
Standards, Principals, Guidelines
PCI-DSS
Payment card industry data security standard
PCI-DSS in practice

•   Designed for the payment card industry

•   Too heavy for projects without the need to be PCI
    certified

•   PCI requirements only define the different
    processes that have to be in place

•   Does not define how the processes have to be
    implemented, only the expected outcomes
What can we take from PCI-DSS?
Requirement 6
•   Ensure that all system components and software
    are patched from known vulnerabilities

•   Incorporate information security throughout the
    software lifecycle

•   Develop applications based on secure coding
    guidelines, prevent coding vulnerabilities during
    development

•   In production, address new threads and
    vulnerabilities on an ongoing basis
OWASP
Open web application security project
What can we take from OWASP?
OWASP Top 10

•   List of top 10 most critical web application
    security risks

•   Covers likelihood and consequence factors,
    severity

•   Good start point for developers, designers,
    architects and organizations
OWASP ASVS
•   Application Security Verification Standard

•   Concrete approach for verification of web
    application security and integration into existing
    software lifecycle

•   Level based coverage, customizable depending on
    the project needs

•   Approach to become a commercially-workable
    open standard
Measures & Prevention
SDLC
Secure Software Development Lifecycle
Testing, QA,
Analysis   Design   Development                  Production
                                  Acceptance
Define
   application
    security
requirements by
    risk level



                                         Testing, QA,
  Analysis        Design   Development                  Production
                                         Acceptance
Define
   application     Plan how to
    security      meet security
requirements by   requirements
    risk level



                                                Testing, QA,
  Analysis          Design        Development                  Production
                                                Acceptance
Define
   application     Plan how to      Implement
    security      meet security       secure
requirements by   requirements     architecture
    risk level



                                                  Testing, QA,
  Analysis          Design        Development                    Production
                                                  Acceptance
Define
   application     Plan how to      Implement
                                                  Verify security
    security      meet security       secure
                                                  requirements
requirements by   requirements     architecture
    risk level



                                                  Testing, QA,
  Analysis          Design        Development                       Production
                                                  Acceptance
Define
   application     Plan how to      Implement
                                                  Verify security      Fix findings
    security      meet security       secure
                                                  requirements
requirements by   requirements     architecture
    risk level



                                                  Testing, QA,
  Analysis          Design        Development                       Production
                                                  Acceptance
So now we are done?
Ongoing Security

•   Policies, guidelines

•   Education, security training, principles, best
    practices

•   Design reviews, code reviews, security testing

•   Vulnerability management, environment hardening
Security V.S. Business
           needs
•   Management: “Use remaining project budget for
    security...”

•   Security often seen as too expensive and therefore
    disregarded within a project

•   Security is a hidden business need too, but who
    has to pay for it ?

•   Solution: Integrate security into business needs
HBGary Hack
HBGary V.S. Anonymous

•   HBGary Federal:

    •   Security company

    •   Provides information security solutions to U.S.
        government

    •   CEO: Allen Barr
HBGary V.S. Anonymous
•   Anonymous:
1. Step: SQL-Injection
 •   Custom CMS by third-party company used for
     hbgaryfederal.com

 •   SQL-Injection over URL was possible:
http://www.hbgaryfederal.com/pages.php?pageNav=2&page=27

  …pages.php?pageNav=2&page=27;update users set
  passwd=‘1234’ where username=‘admin’;

Code:
title=SQL(“select title from page where pageid=
  $url_param(page)”);
What happened?
•   Anonymous successfully reseted CMS Admin account

•   Anonymous took list of usernames, emails, passwords
    from CMS DB

•   Password encryption was not strong enough

•   Anonymous retrieved passwords from HBGary CEO
    and COO

•   Responsible at the company that implemented the
    CMS - fired
Lessons learned

•   For developers: be aware of SQL-Injection and use
    salts for password hashes

•   Enforce sufficient password complexity

•   Be aware of security, especially if custom or third
    party software is being used
2. Step: attacking the
        support server

•   Password of the COO allowed to remote log into
    the support server (support.hbgary.com)

•   Linux with unpatched vulnerability allowed to
    become root
What happened?


•   Several backup and research data has been stolen
    by Anonymous

•   Backup data was deleted by Anonymous
Lessons learned


•   Reuse of passwords is very bad

•   Do not keep sensitive data on servers faced to the
    internet

•   Patching known vulnerabilities is very important
3. Step: Compromising
         Email accounts

•   Google Apps was used by HBGary Federal as email
    services

•   The CEO and COO passwords worked there as
    well

•   The CEO account had admin privileges
What happened?

•   Anonymous locked out HBGary from any email
    access

•   Anonymous published over 68k of company emails
    on the internet

•   Publication included reputation destructive,
    internal content
HBGary Hack
•   Anonymous did some social engineering too

•   But finally, they brought down HBGary (28.
    February 2011)
Conclusion

•   Well known and easy to detect SQL-Injection
    vulnerability was the root cause

•   Security is very important, for software, systems
    and persons

•   Vulnerabilities can damage reputation or bring
    down a whole company
To take home

•   Security is not a skill, it is a mindset

•   Build security into a web application’s architecture
    from the start

•   Keep information security an ongoing and evolving
    process
Thanks, and stay secure

More Related Content

What's hot (20)

ODP
Effective DevSecOps
Pawel Krawczyk
 
PPTX
ABN AMRO DevSecOps Journey
Derek E. Weeks
 
PPT
Software Security Frameworks
Marco Morana
 
PPTX
Mobile security recipes for xamarin
Nicolas Milcoff
 
PPTX
DevSecOps
Joel Divekar
 
PDF
Threat Modeling for System Builders and System Breakers - Dan Cornell of Deni...
Denim Group
 
PDF
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
Threat Stack
 
PPTX
DevSecOps : an Introduction
Prashanth B. P.
 
PPTX
A journey from dev ops to devsecops
Veritis Group, Inc
 
PDF
Why should developers care about container security?
Eric Smalling
 
PDF
Webinar – Risk-based adaptive DevSecOps
Synopsys Software Integrity Group
 
PPTX
Agile and Secure Development
Nazar Tymoshyk, CEH, Ph.D.
 
PPTX
Application security meetup - cloud security best practices 24062021
lior mazor
 
PPTX
The Teams Behind DevSecOps
Uleska
 
PDF
Software security, secure software development in the age of IoT, smart thing...
LabSharegroup
 
PPTX
Secure DevOPS Implementation Guidance
Tej Luthra
 
PDF
Re-Thinking BYOD Policy.pptx
tmbainjr131
 
PPTX
Kevin Glavin - Continuous Integration, Continuous Delivery, and Deployment (C...
centralohioissa
 
PPTX
The road goes ever on and on by Ciaran Conliffe
DevSecCon
 
PPTX
The DevSecOps Showdown: How to Bridge the Gap Between Security and Developers
DevOps.com
 
Effective DevSecOps
Pawel Krawczyk
 
ABN AMRO DevSecOps Journey
Derek E. Weeks
 
Software Security Frameworks
Marco Morana
 
Mobile security recipes for xamarin
Nicolas Milcoff
 
DevSecOps
Joel Divekar
 
Threat Modeling for System Builders and System Breakers - Dan Cornell of Deni...
Denim Group
 
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
Threat Stack
 
DevSecOps : an Introduction
Prashanth B. P.
 
A journey from dev ops to devsecops
Veritis Group, Inc
 
Why should developers care about container security?
Eric Smalling
 
Webinar – Risk-based adaptive DevSecOps
Synopsys Software Integrity Group
 
Agile and Secure Development
Nazar Tymoshyk, CEH, Ph.D.
 
Application security meetup - cloud security best practices 24062021
lior mazor
 
The Teams Behind DevSecOps
Uleska
 
Software security, secure software development in the age of IoT, smart thing...
LabSharegroup
 
Secure DevOPS Implementation Guidance
Tej Luthra
 
Re-Thinking BYOD Policy.pptx
tmbainjr131
 
Kevin Glavin - Continuous Integration, Continuous Delivery, and Deployment (C...
centralohioissa
 
The road goes ever on and on by Ciaran Conliffe
DevSecCon
 
The DevSecOps Showdown: How to Bridge the Gap Between Security and Developers
DevOps.com
 

Viewers also liked (11)

PDF
Security and Privacy on the Web in 2016
Francois Marier
 
PDF
Nullcon Jailbreak CTF 2012,Walkthrough by Team Loosers
Ajith Chandran
 
PPTX
Web Vulnerabilities - Building Basic Security Awareness
Gurpreet Luthra
 
PPTX
Introduction to Web security
jeyaselvir
 
ODP
Top 10 Web Security Vulnerabilities
Carol McDonald
 
PDF
Web Security 101
Michael Peters
 
PPT
Security testing
baskar p
 
PDF
Web application security & Testing
Deepu S Nath
 
PPTX
Web Security
ADIEFEH
 
PPTX
Web Security
Tripad M
 
PDF
Web Security - Introduction v.1.3
Oles Seheda
 
Security and Privacy on the Web in 2016
Francois Marier
 
Nullcon Jailbreak CTF 2012,Walkthrough by Team Loosers
Ajith Chandran
 
Web Vulnerabilities - Building Basic Security Awareness
Gurpreet Luthra
 
Introduction to Web security
jeyaselvir
 
Top 10 Web Security Vulnerabilities
Carol McDonald
 
Web Security 101
Michael Peters
 
Security testing
baskar p
 
Web application security & Testing
Deepu S Nath
 
Web Security
ADIEFEH
 
Web Security
Tripad M
 
Web Security - Introduction v.1.3
Oles Seheda
 
Ad

Similar to ONE Conference: Vulnerabilities in Web Applications (20)

KEY
Application Security Done Right
pvanwoud
 
PPTX
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins
 
PPTX
Information Security and the SDLC
BDPA Charlotte - Information Technology Thought Leaders
 
PPS
Application Security Review 5 Dec 09 Final
Manoj Agarwal
 
PDF
24 031030davidtillemanssecuresdlcpub-110325054740-phpapp02
Smals
 
PPT
Intro to-ssdl--lone-star-php-2013
nanderoo
 
PDF
Web application security (eng)
Anatoliy Okhotnikov
 
PDF
An Introduction to Secure Application Development
Christopher Frenz
 
PPTX
Application Security TRENDS – Lessons Learnt- Firosh Ummer
OWASP-Qatar Chapter
 
PDF
App Sec Eu08 Sec Frm Not In Code
Samuele Reghenzi
 
PDF
Application Security
onenolesguy
 
PPT
Software Security Engineering
Marco Morana
 
PDF
The Future of Software Security Assurance
Rafal Los
 
PDF
The Principles of Secure Development - BSides Las Vegas 2009
Security Ninja
 
PPTX
Security Design Concepts
Mohammed Fazuluddin
 
PDF
SecurityBSides London - Agnitio: it's static analysis but not as we know it
Security Ninja
 
PDF
Security testing
Maheshwar Kanitkar
 
PPT
Software Security in the Real World
Mark Curphey
 
PPTX
Application Security: What do we need to know?
Jose L. Quiñones-Borrero
 
PDF
Injecting simplicity not SQL RSA Europe 2010
Security Ninja
 
Application Security Done Right
pvanwoud
 
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins
 
Application Security Review 5 Dec 09 Final
Manoj Agarwal
 
24 031030davidtillemanssecuresdlcpub-110325054740-phpapp02
Smals
 
Intro to-ssdl--lone-star-php-2013
nanderoo
 
Web application security (eng)
Anatoliy Okhotnikov
 
An Introduction to Secure Application Development
Christopher Frenz
 
Application Security TRENDS – Lessons Learnt- Firosh Ummer
OWASP-Qatar Chapter
 
App Sec Eu08 Sec Frm Not In Code
Samuele Reghenzi
 
Application Security
onenolesguy
 
Software Security Engineering
Marco Morana
 
The Future of Software Security Assurance
Rafal Los
 
The Principles of Secure Development - BSides Las Vegas 2009
Security Ninja
 
Security Design Concepts
Mohammed Fazuluddin
 
SecurityBSides London - Agnitio: it's static analysis but not as we know it
Security Ninja
 
Security testing
Maheshwar Kanitkar
 
Software Security in the Real World
Mark Curphey
 
Application Security: What do we need to know?
Jose L. Quiñones-Borrero
 
Injecting simplicity not SQL RSA Europe 2010
Security Ninja
 
Ad

More from Netcetera (20)

PDF
Payment trend scouting - Kurt Schmid, Netcetera
Netcetera
 
PDF
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
Netcetera
 
PDF
Increase conversion, convenience and security in e-commerce checkouts - Silke...
Netcetera
 
PDF
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
Netcetera
 
PDF
Digital Payment in 2020 - Kurt Schmid, Netcetera
Netcetera
 
PDF
AI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
Netcetera
 
PPTX
Augmenting Maintenance
Netcetera
 
PDF
Front-end up front
Netcetera
 
PDF
The future of Prototpying
Netcetera
 
PDF
EMV Secure Remote Commerce (SRC)
Netcetera
 
PPTX
Online shopping technology in the fast lane?
Netcetera
 
PDF
Merchant tokenization and EMV® Secure Remote Commerce
Netcetera
 
PDF
Seamless 3-D Secure e-commerce experience
Netcetera
 
PPTX
Augmenting Health Care
Netcetera
 
PDF
Driving transactional growth with 3-D Secure
Netcetera
 
PDF
Digital Payment Quo Vadis
Netcetera
 
PDF
EMV® Secure Remote Commerce
Netcetera
 
PDF
Context: The missing ingredient in multilingual software translation
Netcetera
 
PDF
Digital Payments - Netcetera Innovation Summit 2018
Netcetera
 
PDF
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
Netcetera
 
Payment trend scouting - Kurt Schmid, Netcetera
Netcetera
 
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
Netcetera
 
Increase conversion, convenience and security in e-commerce checkouts - Silke...
Netcetera
 
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
Netcetera
 
Digital Payment in 2020 - Kurt Schmid, Netcetera
Netcetera
 
AI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
Netcetera
 
Augmenting Maintenance
Netcetera
 
Front-end up front
Netcetera
 
The future of Prototpying
Netcetera
 
EMV Secure Remote Commerce (SRC)
Netcetera
 
Online shopping technology in the fast lane?
Netcetera
 
Merchant tokenization and EMV® Secure Remote Commerce
Netcetera
 
Seamless 3-D Secure e-commerce experience
Netcetera
 
Augmenting Health Care
Netcetera
 
Driving transactional growth with 3-D Secure
Netcetera
 
Digital Payment Quo Vadis
Netcetera
 
EMV® Secure Remote Commerce
Netcetera
 
Context: The missing ingredient in multilingual software translation
Netcetera
 
Digital Payments - Netcetera Innovation Summit 2018
Netcetera
 
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
Netcetera
 

Recently uploaded (20)

PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PDF
Upgrading to z_OS V2R4 Part 01 of 02.pdf
Flavio787771
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
PPTX
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
PDF
HR agent at Mediq: Lessons learned on Agent Builder & Maestro by Tacstone Tec...
UiPathCommunity
 
PDF
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PPTX
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
PDF
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
Upgrading to z_OS V2R4 Part 01 of 02.pdf
Flavio787771
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
HR agent at Mediq: Lessons learned on Agent Builder & Maestro by Tacstone Tec...
UiPathCommunity
 
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 

ONE Conference: Vulnerabilities in Web Applications

  • 1. Vulnerabilities in Web Applications Simon Dietschi, Netcetera AG
  • 2. Why care about (web application) security?
  • 3. Sources of risks experienced by organizations sampled in the USA (2011) Viruses, worms, trojans Malware Botnets Web attacks Stolen devices Malicious code Malicious insiders Phishing Denial of service 0 25 50 75 100 Ponemon Institute© Research Report, SANS Cyber Security Risks, Web-Hacking-Incident-Database
  • 4. Motivation • Wake-up call for security awareness • Security as a topic critical to the success of an information system • Insecure web applications in financial, healthcare, power, defense, aviation and other critical infrastructures • More than 60% of all cyber attacks against web applications
  • 7. PCI-DSS Payment card industry data security standard
  • 8. PCI-DSS in practice • Designed for the payment card industry • Too heavy for projects without the need to be PCI certified • PCI requirements only define the different processes that have to be in place • Does not define how the processes have to be implemented, only the expected outcomes
  • 9. What can we take from PCI-DSS?
  • 10. Requirement 6 • Ensure that all system components and software are patched from known vulnerabilities • Incorporate information security throughout the software lifecycle • Develop applications based on secure coding guidelines, prevent coding vulnerabilities during development • In production, address new threads and vulnerabilities on an ongoing basis
  • 11. OWASP Open web application security project
  • 12. What can we take from OWASP?
  • 13. OWASP Top 10 • List of top 10 most critical web application security risks • Covers likelihood and consequence factors, severity • Good start point for developers, designers, architects and organizations
  • 14. OWASP ASVS • Application Security Verification Standard • Concrete approach for verification of web application security and integration into existing software lifecycle • Level based coverage, customizable depending on the project needs • Approach to become a commercially-workable open standard
  • 17. Testing, QA, Analysis Design Development Production Acceptance
  • 18. Define application security requirements by risk level Testing, QA, Analysis Design Development Production Acceptance
  • 19. Define application Plan how to security meet security requirements by requirements risk level Testing, QA, Analysis Design Development Production Acceptance
  • 20. Define application Plan how to Implement security meet security secure requirements by requirements architecture risk level Testing, QA, Analysis Design Development Production Acceptance
  • 21. Define application Plan how to Implement Verify security security meet security secure requirements requirements by requirements architecture risk level Testing, QA, Analysis Design Development Production Acceptance
  • 22. Define application Plan how to Implement Verify security Fix findings security meet security secure requirements requirements by requirements architecture risk level Testing, QA, Analysis Design Development Production Acceptance
  • 23. So now we are done?
  • 24. Ongoing Security • Policies, guidelines • Education, security training, principles, best practices • Design reviews, code reviews, security testing • Vulnerability management, environment hardening
  • 25. Security V.S. Business needs • Management: “Use remaining project budget for security...” • Security often seen as too expensive and therefore disregarded within a project • Security is a hidden business need too, but who has to pay for it ? • Solution: Integrate security into business needs
  • 27. HBGary V.S. Anonymous • HBGary Federal: • Security company • Provides information security solutions to U.S. government • CEO: Allen Barr
  • 29. 1. Step: SQL-Injection • Custom CMS by third-party company used for hbgaryfederal.com • SQL-Injection over URL was possible: http://www.hbgaryfederal.com/pages.php?pageNav=2&page=27 …pages.php?pageNav=2&page=27;update users set passwd=‘1234’ where username=‘admin’; Code: title=SQL(“select title from page where pageid= $url_param(page)”);
  • 30. What happened? • Anonymous successfully reseted CMS Admin account • Anonymous took list of usernames, emails, passwords from CMS DB • Password encryption was not strong enough • Anonymous retrieved passwords from HBGary CEO and COO • Responsible at the company that implemented the CMS - fired
  • 31. Lessons learned • For developers: be aware of SQL-Injection and use salts for password hashes • Enforce sufficient password complexity • Be aware of security, especially if custom or third party software is being used
  • 32. 2. Step: attacking the support server • Password of the COO allowed to remote log into the support server (support.hbgary.com) • Linux with unpatched vulnerability allowed to become root
  • 33. What happened? • Several backup and research data has been stolen by Anonymous • Backup data was deleted by Anonymous
  • 34. Lessons learned • Reuse of passwords is very bad • Do not keep sensitive data on servers faced to the internet • Patching known vulnerabilities is very important
  • 35. 3. Step: Compromising Email accounts • Google Apps was used by HBGary Federal as email services • The CEO and COO passwords worked there as well • The CEO account had admin privileges
  • 36. What happened? • Anonymous locked out HBGary from any email access • Anonymous published over 68k of company emails on the internet • Publication included reputation destructive, internal content
  • 37. HBGary Hack • Anonymous did some social engineering too • But finally, they brought down HBGary (28. February 2011)
  • 38. Conclusion • Well known and easy to detect SQL-Injection vulnerability was the root cause • Security is very important, for software, systems and persons • Vulnerabilities can damage reputation or bring down a whole company
  • 39. To take home • Security is not a skill, it is a mindset • Build security into a web application’s architecture from the start • Keep information security an ongoing and evolving process

Editor's Notes

  • #2: Herzlich Willkommen zur Präsentation “Schwachstellen in Webapplikationen”.\n\nDoch bevor wir loslegen, warum stehe ich heute vor ihnen? Ist es weil ich als technischer Projektleiter im Card & Payment Services Umfeld und als Sicherheitsexperte bei Netcetera mit dem Thema Security zu tun habe? Ja und nein - spätestens am Ende meines Vortrages hoffe ich, ihnen diese Frage beantwortet zu haben und falls nicht: Nach dem Vortrag stehe ich gerne für Feedback und Fragen im Bistro in der Meeting-Zone zur verfügung.\n
  • #3: Warum ist Sicherheit in Webapplikationen so wichtig?\n\nSchauen wir uns dazu einleitend folgende Statistik an\n
  • #4: 2011 hat man in den USA bei ausgewählten Unternehmen ermittelt, durch welche Risiken sie das ganze Jahr durch wie oft betroffen waren.\n\nDas Resultat ist eindeutig: Wenn wir uns die 4 Top-Risiko-Gruppen, Virus/Würmer/Trojaner, Malvare pot net und natürlich Web Attacken anschauen, lassen sich daraus zwei Angriffsziele ermitteln: \n\n1. Die Client- oder Anwender-Seite, wo die Verwendung von älterer Software Sicherheitslücken mit sich bringen kann, und\n\n2. Webapplikationen, welche vom Internet aus erreichbar sind\n
  • #5: Meine und hoffentlich auch ihre MOTIVATION:\n\nWebapplikationen mit Schwachstellen findet man überall, ob Bankenumfeld, Versicherungen, Gesundheitswesen, Energieversorgung, Verteidigung oder Staat - vor allem kritische Umgebungen sind davon betroffen.\n\nUnd wenn man bedenkt, dass ca. 60% aller Cyber-Angriffe auf Webapplikationen statt finden ist das definitiv eine Motivation.\n\nHinzu kommt noch, dass Informationssicherheit ein klarer Erfolgsfaktor ist für Unternehmen.\n
  • #6: Wo fangen wir an?\n
  • #7: Standards, Prinzipien, Guidelines - oder was wir von PCI-DSS und OWASP übernehmen können\n
  • #8: PCI-DSS\n
  • #9: PCI-DSS hat sich als Sicherheitsstandard in der Kartenindustrie etabliert, allerdings ist er aufgrund seines Umfanges an Anforderungen für nicht PCI-Projekte ungeeignet:\n\n=> Die Umsetzung bis hin zur Zertifizierung ist teuer, je nach Grössenordnung sind dies schnell mal um die 70’000 Franken.\n\nWichtig ist auch, dass PCI-DSS nur die Prozesse vorschreibt, welche etabliert sein müssen. Es wird aber im Detail nicht weiter darauf eingegangen, wie diese Prozesse zu implementieren sind.\nMan ist also frei bei der Wahl von geeigneten Sicherheits-Framework.\n
  • #10: Was können wir von PCI-DSS mitnehmen?\n
  • #11: Aus den 12 Hauptanforderungen ist das Requirement 6 am interessantesten:\n\n- Sicherheits-Patching von Systemen und Applikationen\n- Einschätzung und Vorgehen bei neu entdeckten Risiken\n- Integration der Informations-Sicherheit in den Software-Lebenszyklus\n- Sicheres Entwickeln von Software\n\n...dies sind im Wesentlichen die Themen zu denen das Requirement 6 die Etablierung von entsprechenden Prozessen beschreibt.\n
  • #12: PCI-DSS und das Requirement 6 bilden das Gerüst, nun brauchen wir noch einen Inhalt.\n\nWie wir gesehen haben, ist es einem bei PCI selbst überlassen, welche Sicherheits-Frameworks oder Standards man für die Umsetzung verwenden möchte.\n\nIch habe mich hier für OWASP entschieden.\n
  • #13: Welche Frameworks können wir aus OWASP verwenden?\n
  • #14: OWASP Top 10 ist viel mehr als nur eine einfache Liste der 10 kritischsten Sicherheits-Risiken für Web Applikationen.\n\nSie enthält für jeden der 10 Punkte viele nützliche Informationen: \n- Angriffsvektoren\n- Schwachstellen\n- Risiko-Einschätzungen\n- Auswirkungen auf geschäftlicher und technischer Ebene\n- Praxis-Beispiele und vieles mehr.\n\nÜbrigens bauen auch die meisten OWASP Sicherheits-Standards auf OWASP Top 10 auf.\n\nFür Entwickler, Designer, Architekten und auch für Manager ein guter Start-Punkt!\n
  • #15: Mit PCI-DSS und Requirement 6 haben wir eine Antwort auf die Frage, was wir tun wollen. Jetzt müssen wir noch das WIE beantworten.\n\nDer OWASP application security verification standard eignet sich besonders gut, da man mit ihm dynamisch und abhängig von den Bedürfnissen und vor allem der Grösse eines Projektes, Sicherheits-Anforderungen ermitteln, festlegen, prüfen und verifizieren kann.\n\nWie wir etwas später noch sehen werden, lässt sich ASVS auch sehr gut in den bestehenden Entwicklungs-Zyklus integrieren und folgt dem Ansatz, ein offener Standard zu sein.\n\n\n
  • #16: Massnahmen und Vorbeugung\n
  • #17: Das Herzstück eines Software Projektes ist der Software Lebens-Zyklus. Gleichzeitig ist er aber auch der Ursprung für die Entstehung von Sicherheitslücken und Schwachstellen.\n\nAnhand des nachfolgenden Beispiels möchte ich ihnen zeigen, wie ein Secure Software Development Lifecycle aussehen könnte.\n
  • #18: [1]\nSchon während der Anaylse-Phase legt man Sicherheits-Anforderungen anhand der Anforderungen an die Web Applikation fest.\n\n[2]\nIn der Design-Phase geht es dann darum, festzulegen wie man die Sicherheits-Anforderungen erfüllen kann. Es geht vom nicht technischen in den technischen Bereich.\n\n[3]\nWährend der iterativen Entwicklungs-, Testing- und QA- Phase wird eine sichere Architektur implementiert.\n\n[4]\nDabei entscheidend ist ständig zu prüfen, ob die Sicherheits-Anforderungen eingehalten wurden.\n\n[5]\nWie bei den Iterationen in einem Agile-Projekt, gibt es für die Behebung von gefundenen Sicherheits-Risiken und der erneuten Verifikation ebenfalls eine oder mehrere Iterationen.\n\nIn der Theorie so lange bis alle gefundenen Sicherheits-Risiken noch vor dem Go-Life behoben sind.\n
  • #19: [1]\nSchon während der Anaylse-Phase legt man Sicherheits-Anforderungen anhand der Anforderungen an die Web Applikation fest.\n\n[2]\nIn der Design-Phase geht es dann darum, festzulegen wie man die Sicherheits-Anforderungen erfüllen kann. Es geht vom nicht technischen in den technischen Bereich.\n\n[3]\nWährend der iterativen Entwicklungs-, Testing- und QA- Phase wird eine sichere Architektur implementiert.\n\n[4]\nDabei entscheidend ist ständig zu prüfen, ob die Sicherheits-Anforderungen eingehalten wurden.\n\n[5]\nWie bei den Iterationen in einem Agile-Projekt, gibt es für die Behebung von gefundenen Sicherheits-Risiken und der erneuten Verifikation ebenfalls eine oder mehrere Iterationen.\n\nIn der Theorie so lange bis alle gefundenen Sicherheits-Risiken noch vor dem Go-Life behoben sind.\n
  • #20: [1]\nSchon während der Anaylse-Phase legt man Sicherheits-Anforderungen anhand der Anforderungen an die Web Applikation fest.\n\n[2]\nIn der Design-Phase geht es dann darum, festzulegen wie man die Sicherheits-Anforderungen erfüllen kann. Es geht vom nicht technischen in den technischen Bereich.\n\n[3]\nWährend der iterativen Entwicklungs-, Testing- und QA- Phase wird eine sichere Architektur implementiert.\n\n[4]\nDabei entscheidend ist ständig zu prüfen, ob die Sicherheits-Anforderungen eingehalten wurden.\n\n[5]\nWie bei den Iterationen in einem Agile-Projekt, gibt es für die Behebung von gefundenen Sicherheits-Risiken und der erneuten Verifikation ebenfalls eine oder mehrere Iterationen.\n\nIn der Theorie so lange bis alle gefundenen Sicherheits-Risiken noch vor dem Go-Life behoben sind.\n
  • #21: [1]\nSchon während der Anaylse-Phase legt man Sicherheits-Anforderungen anhand der Anforderungen an die Web Applikation fest.\n\n[2]\nIn der Design-Phase geht es dann darum, festzulegen wie man die Sicherheits-Anforderungen erfüllen kann. Es geht vom nicht technischen in den technischen Bereich.\n\n[3]\nWährend der iterativen Entwicklungs-, Testing- und QA- Phase wird eine sichere Architektur implementiert.\n\n[4]\nDabei entscheidend ist ständig zu prüfen, ob die Sicherheits-Anforderungen eingehalten wurden.\n\n[5]\nWie bei den Iterationen in einem Agile-Projekt, gibt es für die Behebung von gefundenen Sicherheits-Risiken und der erneuten Verifikation ebenfalls eine oder mehrere Iterationen.\n\nIn der Theorie so lange bis alle gefundenen Sicherheits-Risiken noch vor dem Go-Life behoben sind.\n
  • #22: [1]\nSchon während der Anaylse-Phase legt man Sicherheits-Anforderungen anhand der Anforderungen an die Web Applikation fest.\n\n[2]\nIn der Design-Phase geht es dann darum, festzulegen wie man die Sicherheits-Anforderungen erfüllen kann. Es geht vom nicht technischen in den technischen Bereich.\n\n[3]\nWährend der iterativen Entwicklungs-, Testing- und QA- Phase wird eine sichere Architektur implementiert.\n\n[4]\nDabei entscheidend ist ständig zu prüfen, ob die Sicherheits-Anforderungen eingehalten wurden.\n\n[5]\nWie bei den Iterationen in einem Agile-Projekt, gibt es für die Behebung von gefundenen Sicherheits-Risiken und der erneuten Verifikation ebenfalls eine oder mehrere Iterationen.\n\nIn der Theorie so lange bis alle gefundenen Sicherheits-Risiken noch vor dem Go-Life behoben sind.\n
  • #23: [1]\nSchon während der Anaylse-Phase legt man Sicherheits-Anforderungen anhand der Anforderungen an die Web Applikation fest.\n\n[2]\nIn der Design-Phase geht es dann darum, festzulegen wie man die Sicherheits-Anforderungen erfüllen kann. Es geht vom nicht technischen in den technischen Bereich.\n\n[3]\nWährend der iterativen Entwicklungs-, Testing- und QA- Phase wird eine sichere Architektur implementiert.\n\n[4]\nDabei entscheidend ist ständig zu prüfen, ob die Sicherheits-Anforderungen eingehalten wurden.\n\n[5]\nWie bei den Iterationen in einem Agile-Projekt, gibt es für die Behebung von gefundenen Sicherheits-Risiken und der erneuten Verifikation ebenfalls eine oder mehrere Iterationen.\n\nIn der Theorie so lange bis alle gefundenen Sicherheits-Risiken noch vor dem Go-Life behoben sind.\n
  • #24: [1]\nSchon während der Anaylse-Phase legt man Sicherheits-Anforderungen anhand der Anforderungen an die Web Applikation fest.\n\n[2]\nIn der Design-Phase geht es dann darum, festzulegen wie man die Sicherheits-Anforderungen erfüllen kann. Es geht vom nicht technischen in den technischen Bereich.\n\n[3]\nWährend der iterativen Entwicklungs-, Testing- und QA- Phase wird eine sichere Architektur implementiert.\n\n[4]\nDabei entscheidend ist ständig zu prüfen, ob die Sicherheits-Anforderungen eingehalten wurden.\n\n[5]\nWie bei den Iterationen in einem Agile-Projekt, gibt es für die Behebung von gefundenen Sicherheits-Risiken und der erneuten Verifikation ebenfalls eine oder mehrere Iterationen.\n\nIn der Theorie so lange bis alle gefundenen Sicherheits-Risiken noch vor dem Go-Life behoben sind.\n
  • #25: Wars das schon?\n
  • #26: Neben dem sicheren Software Entwicklungs-Zyklus ist auch mittelfristig die kontinuierliche Weiterentwicklung der Security als Ganzes entscheidend.\n\nDazu gehören:\n\n- Richtlinien für Entwickler\n- Aus- und Weiterbildung, Training, Praxis\n- Design-, Architektur- und Secure Coding Reviews\n- Security-testing, Penetrations-testing\n- Risiko-Management\n- Härten von Umgebungen mittels Standards\n\nDas Ziel ist nicht, ein geschlossenes Team von Sicherheits-Experten zu haben. Viel mehr geht es darum, Sicherheits-Themen in die tägliche Arbeit so zu integrieren, dass jegliche Reviews früher oder später fast schon langweilig sind.\n
  • #27: Bevor wir in wenigen Minuten zum Showcase übergehen, noch ein paar Punkte zu Security versus Geschäfts-Anforderungen:\n\n“Verwendet das übrig bleibende Projekt-Budget für die Security”, höre ich in der Praxis von Managern zum Thema.\n\nUnd vom Auftraggeber aus gesehen wird Sicherheit als Selbstverständlichkeit angesehen, man könnte also sagen Sicherheit ist ein verstecktes Business-Requirement.\n\nSecurity muss von Beginn an in die Geschäfts-Anforderungen und in die Offerte eines Projektes miteinfliessen.\n
  • #28: Kommen wir zu einem Show Case - der HBGary Hack\n
  • #29: Es war einmal eine renomierte US-amerikanische Security-Firma, die zum grössten Teil Sicherheits-Lösungen für die amerikanische Regierung entwickelte.\n\nDer damalige CEO war Allen Barr, der um jeden Preis das Gesicht von Anonymous aufdecken wollte...\n
  • #30: Genauer gesagt war er überzeugt, Namen und Adressen von Schlüsselpersonen bei den “NAMENLOSEN” aufgedeckt zu haben.\n\nAllen Barr behauptete auch zu wissen, wer bei ANONYMOUS für die damaligen Angriffe auf Visa und MasterCard verantwortlich war.\n\n
  • #31: ANONYMOUS liess sich dies nicht gefallen und startete einen Hacker-Angriff gegen HBGary.\n\nUnter Ausnutzung einer Schwachstelle im Content Management System, welches übrigens von einer Dritt-Firma kam, gelang Anonymous eine SQL-Injection.\n
  • #32: Was war passiert?\n\nAnonymous hatte das Administrator-Passwort zurückgesetzt und Benutzer-Daten aus der CMD Datenbank geklaut.\n\nDa die Verschlüsselung der Passwörter aus der DB zu schwach war, liessen sich die Passwörter rekonstruieren.\n\nDer Verantwortliche bei der Firma, die das CMS implementiert hat, wurde gefeuert\n
  • #33: Was können wir daraus lernen?\n\n1. Punkt, für Entwickler: Unterschätzt klassische SQL-Injection nicht, und benutzt starke Verschlüsselung für gespeicherte Passwörter\n\n2. Punkt: Applikationen sollten eine genügende Passwort-Komplexität forcieren\n\n3. Punkt: Besonders beim Einsatz von Software von Dritt-Anbieter immer auch auf die Sicherheit achten\n
  • #34: In einem zweiten Schritt nutzte Anonymous das entschlüsselte Passwort aus der CMS Datenbank für den Login auf dem Support-Server von HBGary.\n\nDank einer Linux-Version, bei der eine Sicherheitslücke nicht gepatched war, konnte Anonymous den Administrator-Benutzer kapern\n
  • #35: Was war passiert?\n\nMit dem Administrator-Benutzer gelang es Anonymous bedeutende Forschungsdaten zu klauen und das Backup auf dem Server zu löschen.\n
  • #36: Was können wir daraus lernen?\n\n1. Punkt: Die mehrfache Verwendung des selben Passwortes ist nicht nur für einen COO schlecht\n\n2. Punkt: Sensitive Daten, aber auch ein Backup, gehören nicht auf einen Server der direkt dem Internet exponiert ist\n\n3. Punkt: Patching von Sicherheitslücken ist extrem wichtig!\n
  • #37: In einem dritten Schritt gelang es Anonymous die Email-Accounts von HBGary zu kompromitieren.\n\nGoogle Apps wurde firmenweit verwendet, und die beiden Passwörter des CEO und des COO funktionierten auch dort.\n\nDer Google-Account des CEO war zu gleich auch der Admin-Account.\n
  • #38: Was war passiert?\n\nAnonymous sperrte der ganzen Firma die Email-Accounts und veröffentlichte ca. 68’000 Emails im Internet.\n\nDarunter waren auch Inhalte, die normalerweise nie ans Tageslicht gekommen wären.\n
  • #39: Die Geschichte ging weiter, Anonymous ging zu Social-Engineering über, und am 28. Februar 2011 war HBGary offline.\n
  • #40: Zusammenfassend hat uns der HBGary Hack folgendes gezeigt:\n\n1. Auch eine der bekanntesten Schwachstellen wie die SQL-Injection kann unerkannt grossen Schaden anrichten\n\n2. Sicherheit ist sehr wichtig, für Software, Systeme und Personen\n\n3. Schwachstellen können den Ruf einer Firma stark beschädigen oder sogar die ganze Firma zu Fall bringen\n
  • #41: Zum Schluss, ein paar Punkte zum mitnehmen:\n\nSicherheit ist nicht einfach eine Fähigkeit, sie ist eine Denkweise und findet in unseren Köpfen statt.\n\nSicherheit sollte von Beginn an in die Architektur einer Web Applikation integriert werden.\n\nDie IT-Branche entwickelt sich in einem rasanten Tempo weiter. Sicherheits-Risiken verändern sich - Informations-Sicherheit muss ein sich ständig weiterentwickelder Prozess bleiben\n
  • #42: Vielen Dank fürs Zuhören, und bleiben sie Sicher!\n