Chuyển đến nội dung chính

OWASP Top 10 Project - A2:2017 Broken Authentication

Kết quả hình ảnh cho Broken Authentication picture
          Những đoạn chương trình kiểm tra danh tính và quản lý phiên làm việc của người sử dụng thường hay được làm qua loa không đúng cách. Vì vậy cho phép kẻ tấn công từ bên ngoài có thể truy cập vào những tài nguyên nội bộ trái phép (admin page, inside, control page …).
          Những kẻ tấn công có quyền truy cập vào chỉ một vài tài khoản hoặc chỉ một tài khoản quản trị để xâm phạm hệ thống. Tùy thuộc vào miền của ứng dụng, điều này có thể cho phép rửa tiền, gian lận bảo mật xã hội và trộm cắp danh tính hoặc tiết lộ thông tin nhạy cảm được bảo vệ một cách hợp pháp.
          Ví dụ:
- Hiển thị phiên ID trong url: 
http://example.com/sale/saleitems;jsessionid=2P0OC2JSNDLPSKHCJUN2JV?dest=Hawaii
- Thời gian chờ của ứng dụng không được đặt chính xác: Khi bạn truy cập máy tính của thư viện. Thay vi ấn đăng xuất ứng dụng, bạn chỉ đóng tab ứng dụng và bỏ đi. Kẻ xấu có thể truy cập và ứng dụng với tài khoản và mật khẩu của bạn.
- Mật khẩu không được mã hóa và băm là sơ hở lớn để cho kẻ tấn công truy cập vào database của bạn.
- Tài khoản và mật khẩu dễ dự đoán: username: admin / password: admin hoặc đặt mật khẩu ngắn.
          Cách ngăn chặn:

  • Thông tin xác thực cần được bảo vệ: Thông tin xác thực người dùng phải được bảo vệ khi được lưu trữ bằng cách sử dụng băm hoặc mã hóa. 
  • Không hiển thị ID phiên trong URL: ID phiên không được hiển thị trong URL (ví dụ: viết lại URL). 
  • ID phiên sẽ hết thời gian chờ: Phiên người dùng hoặc mã thông báo xác thực phải được vô hiệu hóa hợp lệ trong quá trình đăng xuất. 
  • Tạo lại ID phiên: ID phiên sẽ được tạo lại sau khi đăng nhập thành công. 
  • Không gửi thông tin đăng nhập qua các kết nối không được mã hóa: Mật khẩu, ID phiên và các thông tin xác thực khác sẽ không được gửi qua các kết nối không được mã hóa.
  • Độ dài mật khẩu: Độ dài mật khẩu tối thiểu phải dài ít nhất tám (8) ký tự. Kết hợp chiều dài này với độ phức tạp làm cho một mật khẩu khó đoán bằng cách sử dụng một cuộc tấn công bạo lực. 
  • Mật khẩu phức tạp: Mật khẩu phải là sự kết hợp của các ký tự chữ và số. Ký tự chữ và số bao gồm chữ cái, số, dấu câu, ký hiệu toán học và các ký hiệu thông thường khác. 
  • Tên người dùng / Mật khẩu: Phản hồi thất bại xác thực không nên cho biết một phần của dữ liệu xác thực là không chính xác. Ví dụ: thay vì "Tên người dùng không hợp lệ" hoặc "Mật khẩu không hợp lệ", chỉ cần sử dụng "Tên người dùng  hoặc mật khẩu không hợp lệ" cho cả hai. Các phản hồi lỗi phải thực sự giống hệt nhau trong cả mã hiển thị và mã nguồn. 
  • Bảo vệ chống lại đăng nhập: Thực thi việc vô hiệu hóa tài khoản sau một số lần đăng nhập không hợp lệ được thiết lập (ví dụ: năm lần thử chung). Tài khoản này phải được vô hiệu hóa trong một khoảng thời gian đủ để ngăn cản sự đoán trước bạo lực của thông tin đăng nhập, nhưng không miễn là cho phép thực hiện tấn công từ chối dịch vụ.
Link tham khảo:

Nhận xét

Bài đăng phổ biến từ blog này

OWASP Top 10 Project

Dự án bảo mật ứng dụng (OWASP) là một cộng đồng dành riêng cho các tổ chức phát triển, mua và duy trì các ứng dụng và API có thể tin cậy. Đặc điểm của OWASP: Các công cụ và tiêu chuẩn bảo mật ứng dụng Hoàn thành các cuốn sách về kiểm tra bảo mật ứng dụng, mã an toàn  phát triển và xem xét mã an toàn Trình bày và video Cheat sheet trên nhiều chủ đề phổ biến Các thư viện và điều khiển bảo mật tiêu chuẩn Các chương địa phương trên toàn thế giới Nghiên cứu tiên tiến Hội nghị mở rộng trên toàn thế giới Danh sách mail OWASP Top 10 là một tài liệu về bảo mật ứng dụng web. Nó thể hiện sự đồng thuận rộng rãi về những rủi ro bảo mật quan trọng nhất đối với các ứng dụng web. Các thành viên của dự án bao gồm nhiều chuyên gia bảo mật từ khắp nơi trên thế giới, những người đã chia sẻ kiến ​​thức chuyên môn của mình để tạo ra danh sách này. Xem thêm tại:  https://www.owasp.org Danh sách AWASP Top 10 qua các năm: OWASP To...

WebAssembly - Có thể bạn đã biết ?

  Giới thiệu -  WebAssembly (gọi tắt là WASM) là một công nghệ góp phần không nhỏ trong sự phát triển ứng dụng Web và ngày càng được sử dụng phổ biến bởi ưu thế hiệu năng, tính bảo mật cao cho WebApp so với ngôn nhữ lập trình Javascript. - Nếu như trước đây khi tải một Website về thiết bị, chỉ cần 3 ngôn ngữ gồm HTML/CSS/ JavaScript  là có thể tạo nên một WebApp tương tác với người dùng. Nhưng thời điểm hiện tại, các trình duyệt  Web sẽ phải tìm hiểu thêm ngôn ngữ mới, đó là WASM. - Đây là thành quả nghiên cứu của  Microsoft, Google, Mozilla, Apple.  WASM  được sinh ra để giải quyết hiệu năng của  JavaScript, đặc biệt là các tác vụ xử lý  video, image, audio, thuật toán .. . -  WASM  là một ngôn ngữ khác với JavaScript, nhưng nó không nhằm mục đích thay thế. Thay vào đó, nó được thiết kế để bổ sung và hoạt động cùng với JavaScript, cho phép các nhà phát triển web tận dụng điểm mạnh của cả hai ngôn ngữ. -  WASM là một dạng tệp n...

OWASP Top 10 Project - A1:2017 Injection

        Hầu hết mọi nguồn dữ liệu đều có thể là các biến môi trường, các tham số, các dịch vụ web bên ngoài và nội bộ, và tất cả các kiểu người dùng. Nhúng sai sót xảy ra khi kẻ tấn công có thể gửi dữ liệu thù địch đến một thông dịch viên.         Nhúng sai là rất phổ biến. Các lỗ hổng nhúng thường được tìm thấy trong các truy vấn SQL, LDAP, XPath hoặc NoSQL, các lệnh OS, các trình phân tích cú pháp XML, các tiêu đề SMTP, các ngôn ngữ biểu thức và các truy vấn ORM.         Nhúng sai sót dễ phát hiện khi kiểm tra mã. Máy quét và bộ lọc có thể giúp những kẻ tấn công tìm thấy những sai sót.         Nhúng có thể dẫn đến mất dữ liệu, tham nhũng hoặc tiết lộ cho các bên trái phép, mất trách nhiệm giải trình hoặc từ chối truy cập. Nhúng đôi khi có thể dẫn đến việc tiếp quản máy chủ hoàn chỉnh. Tác động kinh doanh phụ thuộc vào nhu cầu của ứng dụng và dữ liệu. Các dạng lỗi th...