SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
Tim Messerschmidt
Head of Developer Relations, International
Braintree
@Braintree_Dev / @SeraAndroid
Node.js Authentication
and Data Security
#JSConfAsia
@SeraAndroid
Developer
Author
Evangelist
<3 Berlin
4
That’s me
@Braintree_Dev / @SeraAndroid#JSConfAsia
+ Braintree
since 2013
@Braintree_Dev / @SeraAndroid#JSConfAsia
1. Introduction
2. Well-known security threats
3. Data Encryption
4. Hardening Express
5. Authentication middleware
6. Great resources
Content
@Braintree_Dev / @SeraAndroid#JSConfAsia
The Human Element
@Braintree_Dev / @SeraAndroid#JSConfAsia
1. 12345
2. password
3. 12345
4. 12345678
5. qwerty
bit.ly/1xTwYiA
Top 10 Passwords 2014
6. 123456789
7. 1234
8. baseball
9. dragon
10.football
@Braintree_Dev / @SeraAndroid#JSConfAsia
superman
batman
Honorary Mention
@Braintree_Dev / @SeraAndroid#JSConfAsia
Authentication
& Authorization
@Braintree_Dev / @SeraAndroid#JSConfAsia
OWASP Top 10bit.ly/1a3Ytvg
@Braintree_Dev / @SeraAndroid#JSConfAsia
1. Injection
@Braintree_Dev / @SeraAndroid#JSConfAsia
2. Broken Authentication
@Braintree_Dev / @SeraAndroid#JSConfAsia
3. Cross-Site Scripting
XSS
@Braintree_Dev / @SeraAndroid#JSConfAsia
4. Direct Object References
@Braintree_Dev / @SeraAndroid#JSConfAsia
5. Application Misconfigured
@Braintree_Dev / @SeraAndroid#JSConfAsia
6. Sensitive Data Exposed
@Braintree_Dev / @SeraAndroid#JSConfAsia
7. Access Level Control
@Braintree_Dev / @SeraAndroid#JSConfAsia
8. Cross-site Request Forgery
CSRF / XSRF
@Braintree_Dev / @SeraAndroid#JSConfAsia
9. Vulnerable Code
@Braintree_Dev / @SeraAndroid#JSConfAsia
10. REDIRECTS / FORWARDS
@Braintree_Dev / @SeraAndroid#JSConfAsia
Exploit Prevalence Detectability Impact Exploitability
Injection Common Medium Very High Easy
Broken Auth Very High Medium Very High Average
XSS Very High Easy Medium Average
Insecure DOR Common Easy Medium Easy
Misconfiguration Common Easy Medium Easy
Exposed Data Common Medium Very High Difficult
ACL Common Medium Medium Easy
CSRF Common Easy Medium Average
Vulnerable Code Very High Difficult Medium Average
Redirects Common Easy Medium Average
@Braintree_Dev / @SeraAndroid#JSConfAsia
HashingMD5, SHA-1, SHA-2, SHA-3
http://arstechnica.com/security/2015/09/once-seen-as-bulletproof-11-million-ashley-madison-passwords-already-cracked/
http://arstechnica.com/security/2015/09/once-seen-as-bulletproof-11-million-ashley-madison-passwords-already-cracked/
@Braintree_Dev / @SeraAndroid#JSConfAsia
ishouldnotbedoingthis
arstechnica.com/security/2015/09/ashley-madison-passwords-like-
thisiswrong-tap-cheaters-guilt-and-denial
@Braintree_Dev / @SeraAndroid#JSConfAsia
ishouldnotbedoingthis
whyareyoudoingthis
arstechnica.com/security/2015/09/ashley-madison-passwords-like-
thisiswrong-tap-cheaters-guilt-and-denial
@Braintree_Dev / @SeraAndroid#JSConfAsia
ishouldnotbedoingthis
whyareyoudoingthis
justtryingthisout
arstechnica.com/security/2015/09/ashley-madison-passwords-like-
thisiswrong-tap-cheaters-guilt-and-denial
@Braintree_Dev / @SeraAndroid#JSConfAsia
ishouldnotbedoingthis
whyareyoudoingthis
justtryingthisout
thebestpasswordever
arstechnica.com/security/2015/09/ashley-madison-passwords-like-
thisiswrong-tap-cheaters-guilt-and-denial
@Braintree_Dev / @SeraAndroid#JSConfAsia
Efficient Hashingcrypt, scrypt, bcrypt, PBKDF2
@Braintree_Dev / @SeraAndroid#JSConfAsia
10.000 iterations user system total
MD5 0.07 0.0 0.07
bcrypt 22.23 0.08 22.31
md5 vs bcrypt
github.com/codahale/bcrypt-ruby
@Braintree_Dev / @SeraAndroid#JSConfAsia
Salted Hashingalgorithm(data + salt) = hash
@Braintree_Dev / @SeraAndroid#JSConfAsia
use strict
@Braintree_Dev / @SeraAndroid#JSConfAsia
Regexowasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS
@Braintree_Dev / @SeraAndroid#JSConfAsia
Character Encodingw3schools.com/html/html_entities.asp
@Braintree_Dev / @SeraAndroid#JSConfAsia
X-Powered-By
@Braintree_Dev / @SeraAndroid#JSConfAsia
NODE-UUIDgithub.com/broofa/node-uuid
@Braintree_Dev / @SeraAndroid#JSConfAsia
GET /pay?amount=20&currency=EUR&amount=1
HTTP Parameter Pollution
req.query.amount = ['20', '1'];
POST amount=20&currency=EUR&amount=1
req.body.amount = ['20', '1'];
@Braintree_Dev / @SeraAndroid#JSConfAsia
bcryptgithub.com/ncb000gt/node.bcrypt.js
@Braintree_Dev / @SeraAndroid#JSConfAsia
A bcrypt generated Hash
$2a$12$YKCxqK/QRgVfIIFeUtcPSOqyVGSorr1pHy5cZKsZuuc2g97bXgotS
@Braintree_Dev / @SeraAndroid#JSConfAsia
bcrypt.hash('cronut', 12, function(err, hash) {
// store hash
});
bcrypt.compare('cronut', hash, function(err, res) {
if (res === true) {
// password matches
}
});
Generating a Hash using bcrypt
@Braintree_Dev / @SeraAndroid#JSConfAsia
CSURFgithub.com/expressjs/csurf
@Braintree_Dev / @SeraAndroid#JSConfAsia
Using Csurf as middleware
var csrf = require('csurf');
var csrfProtection = csrf({ cookie: false });
app.get('/form', csrfProtection, function(req, res) {
res.render('form', { csrfToken: req.csrfToken() });
});
app.post('/login', csrfProtection, function(req, res) {
// safe to continue
});
@Braintree_Dev / @SeraAndroid#JSConfAsia
extends layout
block content
h1 CSRF protection using csurf
form(action="/login" method="POST")
input(type="text", name="username=", value="Username")
input(type="password", name="password", value="Password")
input(type="hidden", name="_csrf", value="#{csrfToken}")
button(type="submit") Submit
Using the token in your template
@Braintree_Dev / @SeraAndroid#JSConfAsia
Helmetgithub.com/HelmetJS/Helmet
@Braintree_Dev / @SeraAndroid#JSConfAsia
var helmet = require(‘helmet’);
app.use(helmet.noCache());
app.use(helmet.frameguard());
app.use(helmet.xssFilter());
…
// .. or use the default initialization
app.use(helmet());
Using Helmet with default options
@Braintree_Dev / @SeraAndroid#JSConfAsia
Helmet for Koagithub.com/venables/koa-helmet
@Braintree_Dev / @SeraAndroid#JSConfAsia
Luscagithub.com/krakenjs/lusca
@Braintree_Dev / @SeraAndroid#JSConfAsia
var lusca = require('lusca');
app.use(lusca({
csrf: true,
csp: { /* ... */},
xframe: 'SAMEORIGIN',
p3p: 'ABCDEF',
xssProtection: true
}));
Applying Lusca as middleware
@Braintree_Dev / @SeraAndroid#JSConfAsia
Lusca for Koagithub.com/koajs/koa-lusca
@Braintree_Dev / @SeraAndroid#JSConfAsia
1. Application-level
2. Route-level
3. Error-handling
Types of Express Middleware
@Braintree_Dev / @SeraAndroid#JSConfAsia
var authenticate = function(req, res, next) {
// check the request and modify response
};
app.get('/form', authenticate, function(req, res) {
// assume that the user is authenticated
}
// … or use the middleware for certain routes
app.use('/admin', authenticate);
Writing Custom Middleware
@Braintree_Dev / @SeraAndroid#JSConfAsia
Passportgithub.com/jaredhanson/passport
@Braintree_Dev / @SeraAndroid#JSConfAsia
passport.use(new LocalStrategy(function(username, password, done) {
User.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect username.' });
}
if (!user.validPassword(password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}));
Setting up a passport strategy
@Braintree_Dev / @SeraAndroid#JSConfAsia
// Simple authentication
app.post('/login', passport.authenticate(‘local'), function(req, res) {
// req.user contains the authenticated user
res.redirect('/user/' + req.user.username);
});
// Using redirects
app.post('/login', passport.authenticate('local', {
successRedirect: ‘/',
failureRedirect: ‘/login’,
failureFlash: true
}));
Using Passport Strategies for Authentication
@Braintree_Dev / @SeraAndroid#JSConfAsia
NSPnodesecurity.io/tools
@Braintree_Dev / @SeraAndroid#JSConfAsia
Passwordless Authmedium.com/@ninjudd/passwords-are-obsolete-9ed56d483eb
@Braintree_Dev / @SeraAndroid#JSConfAsia
OWASP Node Goatgithub.com/OWASP/NodeGoat
@Braintree_Dev / @SeraAndroid#JSConfAsia
Node Securitynodesecurity.io/resources
@Braintree_Dev / @SeraAndroid#JSConfAsia
Fast Identity Onlinefidoalliance.org
@Braintree_Dev / @SeraAndroid#JSConfAsia
Security Beyond Current Mechanisms
1. Something you have
2. Something you know
3. Something you are
@Braintree_Dev / @SeraAndroid#JSConfAsia
Favor security too much over the
experience and you’ll make the
website a pain to use.
smashingmagazine.com/2012/10/26/password-masking-hurt-signup-form
@SeraAndroid
tim@getbraintree.com
slideshare.com/paypal
braintreepayments.com/developers
Thank You!

Weitere ähnliche Inhalte

Was ist angesagt?

Django Web Application Security
Django Web Application SecurityDjango Web Application Security
Django Web Application Security
levigross
 
Dom based xss
Dom based xssDom based xss
Dom based xss
Lê Giáp
 

Was ist angesagt? (10)

Java script, security and you - Tri-Cities Javascript Developers Group
Java script, security and you - Tri-Cities Javascript Developers GroupJava script, security and you - Tri-Cities Javascript Developers Group
Java script, security and you - Tri-Cities Javascript Developers Group
 
Breaking AngularJS Javascript sandbox
Breaking AngularJS Javascript sandboxBreaking AngularJS Javascript sandbox
Breaking AngularJS Javascript sandbox
 
Django Web Application Security
Django Web Application SecurityDjango Web Application Security
Django Web Application Security
 
XSS - Do you know EVERYTHING?
XSS - Do you know EVERYTHING?XSS - Do you know EVERYTHING?
XSS - Do you know EVERYTHING?
 
Practical django secuirty
Practical django secuirtyPractical django secuirty
Practical django secuirty
 
Top Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.NetTop Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.Net
 
Two scoops of Django - Security Best Practices
Two scoops of Django - Security Best PracticesTwo scoops of Django - Security Best Practices
Two scoops of Django - Security Best Practices
 
Developer's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web CryptographyDeveloper's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web Cryptography
 
Dom based xss
Dom based xssDom based xss
Dom based xss
 
Smart Lock for Password @ Game DevFest Bangkok 2015
Smart Lock for Password @ Game DevFest Bangkok 2015Smart Lock for Password @ Game DevFest Bangkok 2015
Smart Lock for Password @ Game DevFest Bangkok 2015
 

Andere mochten auch

Future of Learning - innovative new learning formats for accounting and finan...
Future of Learning - innovative new learning formats for accounting and finan...Future of Learning - innovative new learning formats for accounting and finan...
Future of Learning - innovative new learning formats for accounting and finan...
Tom Hood, CPA,CITP,CGMA
 

Andere mochten auch (19)

Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data Security
 
Certificate in Quantity Surveying
Certificate in Quantity Surveying Certificate in Quantity Surveying
Certificate in Quantity Surveying
 
Expanding Your Network Adoption Program Globally
Expanding Your Network Adoption Program GloballyExpanding Your Network Adoption Program Globally
Expanding Your Network Adoption Program Globally
 
Biggest News from Mobile World Congress 2014
Biggest News from Mobile World Congress 2014Biggest News from Mobile World Congress 2014
Biggest News from Mobile World Congress 2014
 
Silabo Historia de la Arquitectura III 2016-I
Silabo Historia de la Arquitectura III  2016-ISilabo Historia de la Arquitectura III  2016-I
Silabo Historia de la Arquitectura III 2016-I
 
Keeping software development ecosystem healthy
Keeping software development ecosystem healthyKeeping software development ecosystem healthy
Keeping software development ecosystem healthy
 
Top 5 payment mistakes made by startups
Top 5 payment mistakes made by startupsTop 5 payment mistakes made by startups
Top 5 payment mistakes made by startups
 
Reactivos completamiento
Reactivos completamientoReactivos completamiento
Reactivos completamiento
 
Ácidos binarios
Ácidos binariosÁcidos binarios
Ácidos binarios
 
Silabo Taller de Diseño 1 2016-I
Silabo Taller de Diseño 1   2016-ISilabo Taller de Diseño 1   2016-I
Silabo Taller de Diseño 1 2016-I
 
The Conquest of Canaan
The Conquest of CanaanThe Conquest of Canaan
The Conquest of Canaan
 
cv de jeremy dumont
cv de jeremy dumont cv de jeremy dumont
cv de jeremy dumont
 
Pew Research Center 2015 India Presentation
Pew Research Center 2015 India PresentationPew Research Center 2015 India Presentation
Pew Research Center 2015 India Presentation
 
Building a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with BeaconsBuilding a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with Beacons
 
Plan de clase Taller de Diseño 1 (2015-II)
Plan de clase Taller de Diseño 1 (2015-II)Plan de clase Taller de Diseño 1 (2015-II)
Plan de clase Taller de Diseño 1 (2015-II)
 
Cloud Communication for E-commerce & Last Mile Logistics
Cloud Communication for E-commerce & Last Mile LogisticsCloud Communication for E-commerce & Last Mile Logistics
Cloud Communication for E-commerce & Last Mile Logistics
 
Future of Learning - innovative new learning formats for accounting and finan...
Future of Learning - innovative new learning formats for accounting and finan...Future of Learning - innovative new learning formats for accounting and finan...
Future of Learning - innovative new learning formats for accounting and finan...
 
Javaで和暦と元号
Javaで和暦と元号Javaで和暦と元号
Javaで和暦と元号
 
Internet of Things (IoT) Past, Present, and Future
Internet of Things (IoT) Past, Present, and FutureInternet of Things (IoT) Past, Present, and Future
Internet of Things (IoT) Past, Present, and Future
 

Ähnlich wie JSConf Asia: Node.js Authentication and Data Security

Application Security
Application SecurityApplication Security
Application Security
florinc
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)
Remy Sharp
 
Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02
PL dream
 
PCI Security Requirements - secure coding
PCI Security Requirements - secure codingPCI Security Requirements - secure coding
PCI Security Requirements - secure coding
Haitham Raik
 
Dart : one language to rule them all - MixIT 2013
Dart : one language to rule them all - MixIT 2013Dart : one language to rule them all - MixIT 2013
Dart : one language to rule them all - MixIT 2013
Sébastien Deleuze
 
ModemFrontEndops
ModemFrontEndopsModemFrontEndops
ModemFrontEndops
microbean
 

Ähnlich wie JSConf Asia: Node.js Authentication and Data Security (20)

Expanding APIs beyond the Web
Expanding APIs beyond the WebExpanding APIs beyond the Web
Expanding APIs beyond the Web
 
Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by default
 
Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by default
 
Security: Odoo Code Hardening
Security: Odoo Code HardeningSecurity: Odoo Code Hardening
Security: Odoo Code Hardening
 
Scout xss csrf_security_presentation_chicago
Scout xss csrf_security_presentation_chicagoScout xss csrf_security_presentation_chicago
Scout xss csrf_security_presentation_chicago
 
Application Security
Application SecurityApplication Security
Application Security
 
Content-Security-Policy 2018.0
Content-Security-Policy 2018.0Content-Security-Policy 2018.0
Content-Security-Policy 2018.0
 
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
 DDD17 - Web Applications Automated Security Testing in a Continuous Delivery... DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)
 
Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02
 
Application Security for RIAs
Application Security for RIAsApplication Security for RIAs
Application Security for RIAs
 
PCI Security Requirements - secure coding
PCI Security Requirements - secure codingPCI Security Requirements - secure coding
PCI Security Requirements - secure coding
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptx
 
Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019
 
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
 
Application Security around OWASP Top 10
Application Security around OWASP Top 10Application Security around OWASP Top 10
Application Security around OWASP Top 10
 
Dart : one language to rule them all - MixIT 2013
Dart : one language to rule them all - MixIT 2013Dart : one language to rule them all - MixIT 2013
Dart : one language to rule them all - MixIT 2013
 
Evolution Of Web Security
Evolution Of Web SecurityEvolution Of Web Security
Evolution Of Web Security
 
Guia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open SourceGuia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open Source
 
ModemFrontEndops
ModemFrontEndopsModemFrontEndops
ModemFrontEndops
 

Mehr von Tim Messerschmidt

Mehr von Tim Messerschmidt (7)

HackconEU: Hackathons are for Hackers
HackconEU: Hackathons are for HackersHackconEU: Hackathons are for Hackers
HackconEU: Hackathons are for Hackers
 
The Anatomy of Invisible Apps
The Anatomy of Invisible AppsThe Anatomy of Invisible Apps
The Anatomy of Invisible Apps
 
Death to Passwords SXSW 15
Death to Passwords SXSW 15Death to Passwords SXSW 15
Death to Passwords SXSW 15
 
Future Of Payments
Future Of PaymentsFuture Of Payments
Future Of Payments
 
Death To Passwords
Death To PasswordsDeath To Passwords
Death To Passwords
 
Kraken at DevCon TLV
Kraken at DevCon TLVKraken at DevCon TLV
Kraken at DevCon TLV
 
SETapp Präsentation
SETapp PräsentationSETapp Präsentation
SETapp Präsentation
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

JSConf Asia: Node.js Authentication and Data Security