An overview of authentication and authorisation concepts as well as common pitfalls and security issues. We will start with authentication principles and common practices. Then we will explore security issues with different authentication approaches in applications and more importantly - identify countermeasures for them. After that we will look into core rules regarding implementation of authorisation in applications.
Mārtiņš is a senior consultant at Autentica and has extensive experience in software development and IT process design. He holds CISSP, CISM and CPTE certificates in computer security domain.
2. Mārtiņš Ķemme
SIA Autentica, vecākais konsultants
IT procesu konsultants, projektu vadītājs, konsultants
Certified Information Systems Security Professional (ISC)²
Certified Information Security Manager (ISACA)
Certified Penetration Testing Engineer (Mile2)
14. aizsardzība pret brute force un minēšanu
Ierobežot pieslēgšanās iespējas pēc IP adreses
(bet uzbrucējiem var būt vairākas IP un legāliem klientiem var būt viena IP)
Ierobežot ātrumu
(eksponenciāli palielināt ilgumu, bet uzbrucēji var dzēst cookies)
Uzdot papildu jautājumus vai captcha
(pēc neveiksmīgiem mēģinājumiem, piem., jautājumi par pēdējām transakcijām)
Ierobežot pēc “pirkstu nospiedumiem”
(apskata pieprasījuma atribūtus (pārlūks, versija)
ierobežot visos kanālos (sitewide)
konta bloķēšana
(automātiska atbloķēšanās)
20. paroļu glabāšana
Nekad plain tekstā
Ja paroli var uzzināt (kaut vai no operatora), tad to sistēmu
nevajag lietot
http://plaintextoffenders.com/
Nelietot vājas jaucējfunkcijas
Base64 nav jaucējfunkcija!
https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet
Lietot salt (un varbūt arī pepper)
Drošības jautājumu atbildes arī hashed
40. separation of duties
Princips, kas nosaka, ka nevienai personai
nevar būt piešķirtas pārāk liela vara vai
atbildība. Pienākumi un atbildība jāsadala
starp personām, lai novērstu ētikas
konfliktus vai varas ļaunprātīgu
izmantošanu
Piemēram, dokumentu veido viena persona, bet apstiprina cita
43. Kas jāvaicā klientam par autentifikāciju
• Kā autentificēt lietotāju? (Active Directory, bankas,
eID, Facebook, MKODS, citas puses)
• Vai būs Single-Sign-On? Protokols?
• Vai nepieciešama divu faktoru autentifikācija?
Kāda?
• Vai būs reģistrēšanās (signup)? Kā bloķēt botus?
• Vai būs paroles atiestatīšana? Kuri papildu kanāli
pieejami?
• Cik rūpīgi bloķēt brute force mēģinājumus? kādi
mēri pieļaujami?
44. Kas jāvaicā klientam par sesijas saglabāšanu
• Vai pieļaut vienlaicīgi vairākas sesijas? Ko darīt, ja ir? (Vai
šķirot, piemēram, pēc useragent, ip adreses)
• Vai nepieciešama sesijas beigšana, aizverot tabu?
• Cik ātri vajag beigt sesiju ar noildzi? Vai atlikušo sesijas
laiku vajag attēlot lietotāja interfeisā?
• Vai brīdināt lietotājus par aizdomīgiem piekļuves
gadījumiem, piemēram, no citām valstīm? Kā tās attēlot?
• Vai ir kādi ierobežojumi kontu un sesiju datu glabāšanai?