QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма

Q
KYIV 2019
AuthN & AuthZ testing:
it’s not only about the login form
QA CONFERENCE #1 IN UKRAINE
Agenda
What’s the difference
Authentication and its spectrum
Authorization and OAuth 2.0
Identity and Access Management (IAM) and Keycloak
Conclusions and trivia quiz
Work at Very Good Security
Organize QA Club Lviv
Write on Medium
About me
To stop confusing it
It’s everywhere... and probably in your product
You were asked to test a login form at an interview
Why do we talk about it?
It’s about security
A2:2017-Broken Authentication (AuthN)
A5:2017-Broken Access Control (AuthZ)
OWASP 2017 TOP 10
OWASP API Security TOP 10 (end of 2019)
A1: Broken Object Access Level Control (AuthZ)
A2: Broken Authentication (AuthN)
A5: Missing Function/Resource Level Access Control
Even big companies fu*k up: Apple
Even big companies fu*k up: Reddit
How to distinguish?
Authentication
(AuthN)
Is it really you?
Authorization
(AuthZ)
Who you are and
what you can do
Boring theory
Authentication is the process of ascertaining that somebody
really is who they claim to be.
Authorization refers to rules that determine who is allowed
to do what.
Authentication
(AuthN)
Authentication
(AuthN)
Is it really you?
Boring theory
Authentication is the act of proving an assertion, such as the
identity of a computer system user.
In contrast with identification, the act of indicating a person or
thing's identity, authentication is the process of verifying that
identity.
AuthN spectrum
AuthN spectrum
- Passwords
- Cookies
- Single Sign-On
- Restrict Where and When Users Can Log In
- Two-Factor Authentication
- Certificate-Based Authentication
- Network-based security
AuthN factors
MFA (Multi-factor authentication)
Multi-factor authentication involves two or more authentication
factors (something you know, something you have, or something
you are)
MFA: phone-based methods
- Push-based
- QR code based
- One-time password (OTP)
- event-based
- time-based
- SMS-based verification => avoid it!
MFA: phone-based methods
- Push-based
- QR code based
- One-time password (OTP)
- event-based
- time-based
- SMS-based verification Reddit issue
Biometric AuthN
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма
Single Sign-On (SSO)
Log in with a single ID and password to gain access to any of
several related systems
- reduces password fatigue
- reduces IT costs
- less time spent re-entering passwords
- mitigates risk for access to 3rd-party sites
AuthN security
OWASP Testing Guide
1. Credentials Transported over an Encrypted Channel
2. Default credentials
3. Weak lock out mechanism
4. Bypassing Authentication Schema
5. Vulnerable Remember Password
6. Browser cache weakness
7. Weak password policy
8. Weak security question/answer
9. Weak password change or reset functionalities
10.Weaker authentication in alternative channel
OWASP Testing Guide
1. Credentials Transported over an Encrypted Channel
2. Default credentials Apple issue
3. Weak lock out mechanism
4. Bypassing Authentication Schema
5. Vulnerable Remember Password
6. Browser cache weakness
7. Weak password policy
8. Weak security question/answer
9. Weak password change or reset functionalities
10.Weaker authentication in alternative channel
Rainbow tables attack
Huge databases of precomputed hashes
User Password Password hash (SHA1)
Alice password 5baa61e4c9b93f3f0682250b6cf8331b
7ee68fd8
Bob qjnN@*)!bsk dd3fb7f5e7e0b00e0794f0c73d5f3ba5
7197be24
Carrie my_p@s$w0rd! 700c311f7fe171eca2d0bc8f1e13bfa28
8944539
James qwerty123 5cec175b165e3d5e62c9e13ce848ef6f
eac81bff
Useful links
OWASP cheat sheet http://bit.ly/2NuEqEq
Have I been pwned https://haveibeenpwned.com/
Great self-security checklist from Volodymyr Styran
https://github.com/sapran/dontclickshit
Authorization
(AuthZ)
Authorization
(AuthZ)
Who you are and
what you can do
Authorization
Authorization is the function of specifying access rights/
privileges to resources, which is related to information security
and computer security in general and to access control in
particular.
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма
AuthZ methods
Access Control lists (ACL)
Access controls of URLs
Secure objects and methods
Access control mechanisms
● Attribute-based access control (ABAC)
● Role-based access control (RBAC)
● User-based access control (UBAC)
● Context-based access control (CBAC)
● Rule-based access control
● Time-based access control
...and a lot more
RBAC
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма
OAuth 2.0
OAuth 2.0
It’s an authorization delegation protocol, letting someone who
controls the a recourse allow a software application to access that
resource on their behalf without impersonating them.
It enables a third-party application to obtain limited access to an
HTTP service
OAuth 2.0 is
...about how to get the token and how to use the token
...replaces the password-sharing antipattern with a delegation
protocol that’s simultaneously more secure and more usable
...focused on a small set of problems and solving them well
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма
Trust on first use (TOFU) principle
Enter credentials and permissions once
Assume correct for future requests
May expire over time or user logging
May apply across apps
Different levels of trust
Whitelist
Internal parties
Known business partners
Customer organizations
Trust frameworks
● Centralized protocol
● Traditional policy management
Graylist
Unknown entities
Trust on first use
● End user decisions
● Extensive auditing and logging
● Rules on when to move to the white
or black lists
Blacklist
Known bad parties
Attack sites
● Centralized protocol
● Traditional policy management
Tokens
Access token - indicates the rights that the client has been
delegated. Have an option to expire automatically
Refresh token - get new access token without asking for
authorization again.
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма
Tokens
Bearer token - anyone who carries the token has the right to use it.
Scopes
A set of rights at the protected resource.
Scopes always limit what an app can do
on behalf of a user
https://auth0.com/blog/on-the-nature-of-oauth2-scopes/
OAuth 2.0 and AuthN
OAuth doesn’t dictate the AuthN technology, and AuthZ server is
free to choose any method.
The user authentication passes directly between the user (and their
browser) and the AuthZ server; it’s never seen by the client
application.
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма
AuthZ security
OAuth 2.0 Security
A client needs to manage securing only its own client credentials
and the user’s tokens. And the breach of a single client would be
bad but limited in its damage to the users of that client.
OWASP Testing Guide
1. Directory traversal/file include
2. Bypassing Authorization Schema
3. Privilege escalation
4. Insecure Direct Object References
Useful links
OWASP http://bit.ly/31Zo4Hz and http://bit.ly/2MI6NPV
OAuth 2.0 security spec http://bit.ly/2P95zyR
IDOR testing http://bit.ly/2P95Bqt
AuthZ + AuthN = IAM
(Identity and Access
Management)
Access Management
Authentication
● Single Sign-On
● Session Management
● Password Service
● Strong Authentication
Authorization
● Role-Based
● Rule-Based
● Attribute-Based
● Remote Authorization
User Management
● Delegated Administration
● User and Role Management
● Provisioning
● Password Management
● Self Service
Central User Repository
● Directory
● Data Synchronization
● Meta Directory
● Virtual Directory
Identity Management
Identity and Access
Management (IAM):
Providing the right people with
the right access at the right
time
IAM best practices
- Immutable Private Identifiers / Mutable Public Identifiers
- Decouple Core Information and PII from Transactional Data
- Decouple Biometrics from other PII
- Externalize Access Control Rules
- Self-Expressive Credentials
- Privilege Accounts are a Different Species
https://medium.facilelogin.com/ten-iam-design-principles-57351b6c69b2
Practice time!
Try on your own
Keycloak
https://www.keycloak.org/docs/latest/getting_started/index.html
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма
Conclusions
Authentication
(AuthN)
Is it really you?
Authorization
(AuthZ)
Who you are and
what you can do
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма
Conclusions
For better understanding dig into system
Use heuristics to remember smth
Use cheat sheets and don’t trust your memory
Update your passwords and turn on MFA today
Practice before the next
interview
Testing challenges
http://testingchallenges.thetestingmap.org/index.php
Use `big list of naughty strings`
https://github.com/minimaxir/big-list-of-naughty-strings/
Thanks!
@diana_pinchuk
@pinchuk.diana
1 of 69

Recommended

Autismo sem preconceito.pdf by
Autismo sem preconceito.pdfAutismo sem preconceito.pdf
Autismo sem preconceito.pdfClarisseAmaral
86 views12 slides
_Tengo inteligencia emocional_ - Manel Guell Barceló.pdf by
_Tengo inteligencia emocional_ - Manel Guell Barceló.pdf_Tengo inteligencia emocional_ - Manel Guell Barceló.pdf
_Tengo inteligencia emocional_ - Manel Guell Barceló.pdfRoxanaHuallpaMedina
307 views243 slides
El viento y el sol by
El viento y el solEl viento y el sol
El viento y el solElisabeth Alvarado
2.9K views18 slides
Sacraments project by
Sacraments projectSacraments project
Sacraments projectSaint John Westminster
2.9K views1 slide
Modelo TEACCH by
Modelo TEACCHModelo TEACCH
Modelo TEACCHausendanunes
3.2K views6 slides
AuthN & AuthZ testing: it’s not only about the login form by
AuthN & AuthZ testing:  it’s not only about the login formAuthN & AuthZ testing:  it’s not only about the login form
AuthN & AuthZ testing: it’s not only about the login formDiana Pinchuk
50 views61 slides

More Related Content

Similar to QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма

REST API Authentication Methods.pdf by
REST API Authentication Methods.pdfREST API Authentication Methods.pdf
REST API Authentication Methods.pdfRubersy Ramos García
165 views21 slides
Single-Page-Application & REST security by
Single-Page-Application & REST securitySingle-Page-Application & REST security
Single-Page-Application & REST securityIgor Bossenko
21K views43 slides
Cartes Asia Dem 2010 V2 by
Cartes Asia Dem 2010 V2Cartes Asia Dem 2010 V2
Cartes Asia Dem 2010 V2Donald Malloy
1.8K views35 slides
Authentication and strong authentication for Web Application by
Authentication and strong authentication for Web ApplicationAuthentication and strong authentication for Web Application
Authentication and strong authentication for Web ApplicationSylvain Maret
827 views43 slides
Presentation by
PresentationPresentation
PresentationLaxman Kumar
1.9K views27 slides
API Security In Cloud Native Era by
API Security In Cloud Native EraAPI Security In Cloud Native Era
API Security In Cloud Native EraWSO2
545 views40 slides

Similar to QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма(20)

Single-Page-Application & REST security by Igor Bossenko
Single-Page-Application & REST securitySingle-Page-Application & REST security
Single-Page-Application & REST security
Igor Bossenko21K views
Cartes Asia Dem 2010 V2 by Donald Malloy
Cartes Asia Dem 2010 V2Cartes Asia Dem 2010 V2
Cartes Asia Dem 2010 V2
Donald Malloy1.8K views
Authentication and strong authentication for Web Application by Sylvain Maret
Authentication and strong authentication for Web ApplicationAuthentication and strong authentication for Web Application
Authentication and strong authentication for Web Application
Sylvain Maret827 views
API Security In Cloud Native Era by WSO2
API Security In Cloud Native EraAPI Security In Cloud Native Era
API Security In Cloud Native Era
WSO2545 views
Webinar: Beyond Two-Factor: Secure Access Control for Office 365 by SecureAuth
 Webinar: Beyond Two-Factor: Secure Access Control for Office 365 Webinar: Beyond Two-Factor: Secure Access Control for Office 365
Webinar: Beyond Two-Factor: Secure Access Control for Office 365
SecureAuth587 views
76 s201923 by IJRAT
76 s20192376 s201923
76 s201923
IJRAT29 views
UserCentric Identity based Service Invocation by guestd5dde6
UserCentric Identity based Service InvocationUserCentric Identity based Service Invocation
UserCentric Identity based Service Invocation
guestd5dde61.2K views
Authenticator and provisioning connector in wso2 Identity Server by Rajendram Kathees
Authenticator and provisioning connector in wso2 Identity ServerAuthenticator and provisioning connector in wso2 Identity Server
Authenticator and provisioning connector in wso2 Identity Server
Rajendram Kathees294 views
attacks-oauth-secure-oauth-implementation-33644.pdf by MohitRampal5
attacks-oauth-secure-oauth-implementation-33644.pdfattacks-oauth-secure-oauth-implementation-33644.pdf
attacks-oauth-secure-oauth-implementation-33644.pdf
MohitRampal59 views
Webinar: Goodbye RSA. Hello Modern Authentication. by SecureAuth
Webinar: Goodbye RSA. Hello Modern Authentication.Webinar: Goodbye RSA. Hello Modern Authentication.
Webinar: Goodbye RSA. Hello Modern Authentication.
SecureAuth398 views
An Authentication and Authorization Architecture for a Microservices World by VMware Tanzu
An Authentication and Authorization Architecture for a Microservices WorldAn Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices World
VMware Tanzu12.6K views
Distributed Authorization with Open Policy Agent.pdf by Nordic APIs
Distributed Authorization with Open Policy Agent.pdfDistributed Authorization with Open Policy Agent.pdf
Distributed Authorization with Open Policy Agent.pdf
Nordic APIs10 views
apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And... by apidays
apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And...apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And...
apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And...
apidays25 views
OAuth with Salesforce - Demystified by Calvin Noronha
OAuth with Salesforce - DemystifiedOAuth with Salesforce - Demystified
OAuth with Salesforce - Demystified
Calvin Noronha2.1K views

More from QAFest

QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин by
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилинQA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилинQAFest
979 views44 slides
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future by
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQAFest
931 views44 slides
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe... by
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QAFest
322 views131 slides
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и... by
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QAFest
336 views92 slides
QA Fest 2019. Никита Галкин. Как зарабатывать больше by
QA Fest 2019. Никита Галкин. Как зарабатывать большеQA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать большеQAFest
389 views40 slides
QA Fest 2019. Сергей Пирогов. Why everything is spoiled by
QA Fest 2019. Сергей Пирогов. Why everything is spoiledQA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiledQAFest
342 views33 slides

More from QAFest(20)

QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин by QAFest
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилинQA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QAFest979 views
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future by QAFest
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QAFest931 views
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe... by QAFest
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QAFest322 views
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и... by QAFest
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QAFest336 views
QA Fest 2019. Никита Галкин. Как зарабатывать больше by QAFest
QA Fest 2019. Никита Галкин. Как зарабатывать большеQA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать больше
QAFest389 views
QA Fest 2019. Сергей Пирогов. Why everything is spoiled by QAFest
QA Fest 2019. Сергей Пирогов. Why everything is spoiledQA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
QAFest342 views
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием by QAFest
QA Fest 2019. Сергей Новик. Между мотивацией и выгораниемQA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QAFest249 views
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н... by QAFest
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QAFest338 views
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV... by QAFest
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QAFest227 views
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster by QAFest
QA Fest 2019. Иван Крутов. Bulletproof Selenium ClusterQA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QAFest282 views
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе... by QAFest
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QAFest251 views
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз... by QAFest
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QAFest301 views
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation by QAFest
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automationQA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QAFest225 views
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в... by QAFest
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QAFest243 views
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa... by QAFest
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QAFest376 views
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT by QAFest
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях ITQA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QAFest209 views
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении by QAFest
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложенииQA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QAFest607 views
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр... by QAFest
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QAFest321 views
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр... by QAFest
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QAFest296 views
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22 by QAFest
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QAFest164 views

Recently uploaded

Java Simplified: Understanding Programming Basics by
Java Simplified: Understanding Programming BasicsJava Simplified: Understanding Programming Basics
Java Simplified: Understanding Programming BasicsAkshaj Vadakkath Joshy
625 views155 slides
CUNY IT Picciano.pptx by
CUNY IT Picciano.pptxCUNY IT Picciano.pptx
CUNY IT Picciano.pptxapicciano
60 views17 slides
Meet the Bible by
Meet the BibleMeet the Bible
Meet the BibleSteve Thomason
76 views80 slides
Thanksgiving!.pdf by
Thanksgiving!.pdfThanksgiving!.pdf
Thanksgiving!.pdfEnglishCEIPdeSigeiro
461 views17 slides
Papal.pdf by
Papal.pdfPapal.pdf
Papal.pdfMariaKenney3
57 views24 slides
Create a Structure in VBNet.pptx by
Create a Structure in VBNet.pptxCreate a Structure in VBNet.pptx
Create a Structure in VBNet.pptxBreach_P
82 views8 slides

Recently uploaded(20)

CUNY IT Picciano.pptx by apicciano
CUNY IT Picciano.pptxCUNY IT Picciano.pptx
CUNY IT Picciano.pptx
apicciano60 views
Create a Structure in VBNet.pptx by Breach_P
Create a Structure in VBNet.pptxCreate a Structure in VBNet.pptx
Create a Structure in VBNet.pptx
Breach_P82 views
Guess Papers ADC 1, Karachi University by Khalid Aziz
Guess Papers ADC 1, Karachi UniversityGuess Papers ADC 1, Karachi University
Guess Papers ADC 1, Karachi University
Khalid Aziz83 views
11.28.23 Social Capital and Social Exclusion.pptx by mary850239
11.28.23 Social Capital and Social Exclusion.pptx11.28.23 Social Capital and Social Exclusion.pptx
11.28.23 Social Capital and Social Exclusion.pptx
mary850239409 views
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE... by Nguyen Thanh Tu Collection
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...
JQUERY.pdf by ArthyR3
JQUERY.pdfJQUERY.pdf
JQUERY.pdf
ArthyR3103 views
Narration lesson plan by TARIQ KHAN
Narration lesson planNarration lesson plan
Narration lesson plan
TARIQ KHAN69 views
Retail Store Scavenger Hunt.pptx by jmurphy154
Retail Store Scavenger Hunt.pptxRetail Store Scavenger Hunt.pptx
Retail Store Scavenger Hunt.pptx
jmurphy15452 views
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant... by Ms. Pooja Bhandare
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Ms. Pooja Bhandare194 views
11.30.23A Poverty and Inequality in America.pptx by mary850239
11.30.23A Poverty and Inequality in America.pptx11.30.23A Poverty and Inequality in America.pptx
11.30.23A Poverty and Inequality in America.pptx
mary85023986 views

QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN & AuthZ): это не только логин форма

  • 1. KYIV 2019 AuthN & AuthZ testing: it’s not only about the login form QA CONFERENCE #1 IN UKRAINE
  • 2. Agenda What’s the difference Authentication and its spectrum Authorization and OAuth 2.0 Identity and Access Management (IAM) and Keycloak Conclusions and trivia quiz
  • 3. Work at Very Good Security Organize QA Club Lviv Write on Medium About me
  • 4. To stop confusing it It’s everywhere... and probably in your product You were asked to test a login form at an interview Why do we talk about it?
  • 6. A2:2017-Broken Authentication (AuthN) A5:2017-Broken Access Control (AuthZ) OWASP 2017 TOP 10
  • 7. OWASP API Security TOP 10 (end of 2019) A1: Broken Object Access Level Control (AuthZ) A2: Broken Authentication (AuthN) A5: Missing Function/Resource Level Access Control
  • 8. Even big companies fu*k up: Apple
  • 9. Even big companies fu*k up: Reddit
  • 11. Authentication (AuthN) Is it really you? Authorization (AuthZ) Who you are and what you can do
  • 12. Boring theory Authentication is the process of ascertaining that somebody really is who they claim to be. Authorization refers to rules that determine who is allowed to do what.
  • 15. Boring theory Authentication is the act of proving an assertion, such as the identity of a computer system user. In contrast with identification, the act of indicating a person or thing's identity, authentication is the process of verifying that identity.
  • 17. AuthN spectrum - Passwords - Cookies - Single Sign-On - Restrict Where and When Users Can Log In - Two-Factor Authentication - Certificate-Based Authentication - Network-based security
  • 19. MFA (Multi-factor authentication) Multi-factor authentication involves two or more authentication factors (something you know, something you have, or something you are)
  • 20. MFA: phone-based methods - Push-based - QR code based - One-time password (OTP) - event-based - time-based - SMS-based verification => avoid it!
  • 21. MFA: phone-based methods - Push-based - QR code based - One-time password (OTP) - event-based - time-based - SMS-based verification Reddit issue
  • 25. Single Sign-On (SSO) Log in with a single ID and password to gain access to any of several related systems - reduces password fatigue - reduces IT costs - less time spent re-entering passwords - mitigates risk for access to 3rd-party sites
  • 27. OWASP Testing Guide 1. Credentials Transported over an Encrypted Channel 2. Default credentials 3. Weak lock out mechanism 4. Bypassing Authentication Schema 5. Vulnerable Remember Password 6. Browser cache weakness 7. Weak password policy 8. Weak security question/answer 9. Weak password change or reset functionalities 10.Weaker authentication in alternative channel
  • 28. OWASP Testing Guide 1. Credentials Transported over an Encrypted Channel 2. Default credentials Apple issue 3. Weak lock out mechanism 4. Bypassing Authentication Schema 5. Vulnerable Remember Password 6. Browser cache weakness 7. Weak password policy 8. Weak security question/answer 9. Weak password change or reset functionalities 10.Weaker authentication in alternative channel
  • 29. Rainbow tables attack Huge databases of precomputed hashes User Password Password hash (SHA1) Alice password 5baa61e4c9b93f3f0682250b6cf8331b 7ee68fd8 Bob qjnN@*)!bsk dd3fb7f5e7e0b00e0794f0c73d5f3ba5 7197be24 Carrie my_p@s$w0rd! 700c311f7fe171eca2d0bc8f1e13bfa28 8944539 James qwerty123 5cec175b165e3d5e62c9e13ce848ef6f eac81bff
  • 30. Useful links OWASP cheat sheet http://bit.ly/2NuEqEq Have I been pwned https://haveibeenpwned.com/ Great self-security checklist from Volodymyr Styran https://github.com/sapran/dontclickshit
  • 32. Authorization (AuthZ) Who you are and what you can do
  • 33. Authorization Authorization is the function of specifying access rights/ privileges to resources, which is related to information security and computer security in general and to access control in particular.
  • 35. AuthZ methods Access Control lists (ACL) Access controls of URLs Secure objects and methods
  • 36. Access control mechanisms ● Attribute-based access control (ABAC) ● Role-based access control (RBAC) ● User-based access control (UBAC) ● Context-based access control (CBAC) ● Rule-based access control ● Time-based access control ...and a lot more
  • 37. RBAC
  • 40. OAuth 2.0 It’s an authorization delegation protocol, letting someone who controls the a recourse allow a software application to access that resource on their behalf without impersonating them. It enables a third-party application to obtain limited access to an HTTP service
  • 41. OAuth 2.0 is ...about how to get the token and how to use the token ...replaces the password-sharing antipattern with a delegation protocol that’s simultaneously more secure and more usable ...focused on a small set of problems and solving them well
  • 43. Trust on first use (TOFU) principle Enter credentials and permissions once Assume correct for future requests May expire over time or user logging May apply across apps
  • 44. Different levels of trust Whitelist Internal parties Known business partners Customer organizations Trust frameworks ● Centralized protocol ● Traditional policy management Graylist Unknown entities Trust on first use ● End user decisions ● Extensive auditing and logging ● Rules on when to move to the white or black lists Blacklist Known bad parties Attack sites ● Centralized protocol ● Traditional policy management
  • 45. Tokens Access token - indicates the rights that the client has been delegated. Have an option to expire automatically Refresh token - get new access token without asking for authorization again.
  • 47. Tokens Bearer token - anyone who carries the token has the right to use it.
  • 48. Scopes A set of rights at the protected resource. Scopes always limit what an app can do on behalf of a user https://auth0.com/blog/on-the-nature-of-oauth2-scopes/
  • 49. OAuth 2.0 and AuthN OAuth doesn’t dictate the AuthN technology, and AuthZ server is free to choose any method. The user authentication passes directly between the user (and their browser) and the AuthZ server; it’s never seen by the client application.
  • 52. OAuth 2.0 Security A client needs to manage securing only its own client credentials and the user’s tokens. And the breach of a single client would be bad but limited in its damage to the users of that client.
  • 53. OWASP Testing Guide 1. Directory traversal/file include 2. Bypassing Authorization Schema 3. Privilege escalation 4. Insecure Direct Object References
  • 54. Useful links OWASP http://bit.ly/31Zo4Hz and http://bit.ly/2MI6NPV OAuth 2.0 security spec http://bit.ly/2P95zyR IDOR testing http://bit.ly/2P95Bqt
  • 55. AuthZ + AuthN = IAM (Identity and Access Management)
  • 56. Access Management Authentication ● Single Sign-On ● Session Management ● Password Service ● Strong Authentication Authorization ● Role-Based ● Rule-Based ● Attribute-Based ● Remote Authorization User Management ● Delegated Administration ● User and Role Management ● Provisioning ● Password Management ● Self Service Central User Repository ● Directory ● Data Synchronization ● Meta Directory ● Virtual Directory Identity Management Identity and Access Management (IAM): Providing the right people with the right access at the right time
  • 57. IAM best practices - Immutable Private Identifiers / Mutable Public Identifiers - Decouple Core Information and PII from Transactional Data - Decouple Biometrics from other PII - Externalize Access Control Rules - Self-Expressive Credentials - Privilege Accounts are a Different Species https://medium.facilelogin.com/ten-iam-design-principles-57351b6c69b2
  • 59. Try on your own Keycloak https://www.keycloak.org/docs/latest/getting_started/index.html
  • 63. Authentication (AuthN) Is it really you? Authorization (AuthZ) Who you are and what you can do
  • 65. Conclusions For better understanding dig into system Use heuristics to remember smth Use cheat sheets and don’t trust your memory Update your passwords and turn on MFA today
  • 66. Practice before the next interview
  • 68. Use `big list of naughty strings` https://github.com/minimaxir/big-list-of-naughty-strings/