🔐Bảo mật
Khái niệm::
CyberSec Games - Play to Learn, Learn to Defend, Shostack + Associates > Elevation of Privilege Game
-
-:
- Captcha
- Bảo mật không trở thành mục tiêu chính, vì nó không phải là chức năng của phần mềm
- Malware
- Cybersecurity addresses external and malicious threats related to the exposure to the internet, information security also covers internal policies, roles, and controls
- Các lỗ hổng có thể ngăn chặn được
- Nếu bạn rất muốn có thông tin của những người rất muốn che dấu thông tin cá nhân, hãy lập công ty VPN
- Quân đội Mỹ từng bị tấn công bằng SQL injection
- Sự không tin là cần thiết vì cách con người tương tác với nhau khác với cách máy tính tương tác với nhau
- Trusting based on authorization only works when components don’t make their own trust decisions
- Tấn công chuỗi cung ứng
- XSS injection là loại tấn công injection duy nhất trực tiếp tấn công vào người dùng, và chỉ có thể có ở JavaScript
- 🔐Bảo mật
-
Nguyên lý:
- Keeping the innards secret may improve security in the short term, but in the long run, only systems that have been published and analyzed should be trusted
- Obscurity won’t protect against a determined attacker, but it does help against lazy, casual attackers, and there are lots of those
- Bất kỳ thiết kế phần mềm nào không giả sử rằng kẻ địch không nắm được mã nguồn đều không đáng tin
- Cho tới khi nào đường đi ít trở ngại nhất vẫn chưa an toàn, thì bảo mật bằng sự che giấu vẫn sẽ còn được dùng
- Dễ chứng minh sự tồn tại của một lỗ hổng nào đó hơn là sự không tồn tại của những lỗ hổng nào khác
- Gần như mọi tấn công vào mật mã là vào cách chúng được sử dụng, chứ không phải là cách chúng hoạt động
- Một phần mềm an toàn 100% gần như là không thể, vì ngoài tấn công vào thuật toán, ta còn có thể tấn công vào phần cứng, môi trường, người sử dụng
- Secure by Design prevents vulnerabilities. Secure by Default prevents unnecessary exposure
- Security and usability come into harmony when a system correctly interprets the user’s desires
- Security at the expense of usability comes at the expense of security
- Threat model ban đầu dựa trên design pattern
-
Xác thực, cấp phép:
- Auth không phải là xác thực (authenticate), mà là cấp phép (authorize)
- DID
- Mật khẩu là thứ chỉ được xử lý chứ không được lưu vĩnh viễn trên máy. Thuật toán thì có
- Client là ứng dụng muốn truy cập vào dữ liệu của người dùng
- OAuth định nghĩa cách token được truyền, JWT định nghĩa cách token được định dạng
- Client ID là để máy cấp quyền biết client nào là client nào, còn client secret là để nó đảm bảo rằng client này chính là client đó
- Redirect URI là nơi máy xác thực trả xác thực
- OAuth, access token
- Scope là những phạm vi của các dữ liệu mà ứng dụng được truy cập
- Thông tin xác thực (credential) bao gồm client ID và client secret
- Client nào có thông tin xác thực thì sẽ được nhận token truy cập từ máy chủ cấp quyền
- Khi token truy cập hết hạn, client gửi refresh token đến máy chủ cấp quyền để được cấp token truy cập mới
- Một token truy cập có thể truy cập được một vài API với những quyền nhất định trong một khoảng thời gian nhất định
- Client gửi token truy cập đến máy cấp quyền để được truy cập tài nguyên
- ❓OAuth là cấp phép cho ai, token là cấp phép được làm cái gì
- which are meant to be input by users and verified by matching, secret keys are usually read from storage and are an active part of an algorithm to decrypt the protected information.
- OAuth là cách để cấp quyền truy cập dữ liệu mà người dùng không phải cấp mật khẩu
- Nếu dùng passkey mà bị mất thiết bị thì chỉ còn cách dùng password
- Password dễ bị fish, và khó bắt mọi người dùng password manager
- Việc kiểm tra xem người dùng được phép truy cập dữ liệu ở mức độ nào được gọi là cấp phép (authorization)
- Máy dịch vụ không cung cấp lại mật khẩu cũ được mà chỉ có thể cho phép mình đổi mật khẩu mới, vì chính nó cũng không biết
- Mật khẩu, vân tay, 2FA, SSO là những cách để người dùng xác thực (authentication)
Nguồn::