Đồng thờiđánh bài online, API cũng đối mặt với những thách thức an ninh nghiêm trọng. Theo dự báo của Gartner: Đến năm 2024, rủi ro rò rỉ dữ liệu do bảo mật API gây ra sẽ tăng gấp đôi. Các tin tặc đang tận dụng cơ hội để tấn công qua lỗ hổng API bằng cách tự động hóa và tinh vi, dẫn đến hàng loạt sự cố bảo mật ảnh hưởng đến quyền lợi của các doanh nghiệp và người dùng. Ví dụ, vụ rò rỉ dữ liệu của Facebook và LinkedIn vào năm 2021 đã gây chấn động toàn cầu.
OWASP (Open Web Application Security Project) là một tổ chức phi lợi nhuận quốc tếtỉ lệ cược, chuyên nghiên cứu và cải thiện an ninh ứng dụng web và bảo vệ môi trường mạng. OWASP được thành lập bởi một nhóm chuyên gia an ninh, lập trình viên và tình nguyện viên, họ cùng nhau cung cấp các tài nguyên, công cụ và hướng dẫn miễn phí để giúp các lập trình viên, chuyên gia an ninh và tổ chức hiểu rõ hơn và đối phó hiệu quả với các rủi ro bảo mật ứng dụng web.
API Security Top 10 Quản lý xác thực và cấp quyền API Được nhấn mạnh rõ nét (chiếm 4 trong số Top5); Ngoài rađánh bài online, Thiếu bảo vệ tự động chống đe dọa và rủi ro an toàn chuỗi cung ứng API Cũng được đưa vào danh sách lần đầu tiêntỉ lệ cược, dưới đây sẽ giới thiệu chi tiết về một số loại rủi ro trọng tâm.
Lỗi cấp quyền ở cấp độ đối tượng
Giới thiệu rủi ro liên quan:
Đe dọa | Kẻ tấn công có thể lợi dụng các điểm cuối API có lỗ hổng cấp quyền ở cấp độ đối tượng bằng cách thay đổi ID đối tượng trong yêu cầu để thực hiện cuộc tấn côngtỉ lệ cược, điều này có thể dẫn đến truy cập trái phép vào dữ liệu nhạy cảm. Tình trạng này rất phổ biến trong các ứng dụng dựa trên API vì các thành phần máy chủ thường không theo dõi trạng thái của khách hàng mà thay vào đó dựa vào các tham số được gửi từ phía khách hàng (như ID đối tượng) để quyết định đối tượng nào cần truy cập, đây là một trong những cuộc tấn công phổ biến và ảnh hưởng lớn nhất đến API. |
Lỗ hổng | Cơ chế cấp quyền và kiểm soát truy cập trong các ứng dụng hiện đại là phức tạp và rộng khắp. Dù ứng dụng có thiết lập cơ sở hạ tầng kiểm tra cấp quyền phù hợpq888, lập trình viên vẫn có thể quên sử dụng các kiểm tra này trước khi truy cập các đối tượng nhạy cảm. Việc kiểm tra cấp quyền thường không phù hợp với các bài kiểm tra tĩnh hoặc động tự động. |
Tác động | Truy cập không được phép có thể dẫn đến rò rỉ dữ liệu cho người không có quyềnq888, mất dữ liệu hoặc sửa đổi dữ liệu. Truy cập không được phép vào đối tượng còn có thể dẫn đến việc kẻ tấn công chiếm quyền kiểm soát tài khoản hoàn toàn. |
Một nhà sản xuất ô tô đã sử dụng một API di động để mở khóa khả năng điều khiển xe từ xaq888, cho phép giao tiếp với điện thoại của tài xế. API này cho phép tài xế khởi động và dừng động cơ từ xa, cũng như khóa và mở cửa xe. Trong quy trình này, người dùng gửi mã nhận diện xe (VIN) đến API; tuy nhiên, API không xác minh xem VIN có đại diện cho chiếc xe thuộc người dùng đăng nhập hay không, dẫn đến lỗ hổng BOLA, cho phép kẻ tấn công truy cập vào xe không thuộc về họ.
Lỗi xác thực tài khoản
Giới thiệu rủi ro liên quan:
Đe dọa | Cơ chế xác thực trong API là một phần phức tạp và dễ gây nhầm lẫn. Các kỹ sư phần mềm và an ninh có thể hiểu sai ranh giới của xác thực hoặc không biết cách triển khai đúng cách. Ngoài raq888, cơ chế xác thực dễ bị tấn công vì nó mở cho tất cả mọi người. Hai vấn đề này khiến các thành phần xác thực trở nên dễ bị tấn công. |
Lỗ hổng | Có hai vấn đề con: 1. Thiếu cơ chế bảo vệ: Các điểm cuối API chịu trách nhiệm xác thực phải khác biệt so với các điểm cuối thông thường và cần có lớp bảo vệ bổ sung; 2. Triển khai sai lệch: Cơ chế này không được xem xét các vector tấn công hoặc được sử dụng cho các trường hợp không phù hợp (ví dụ: cơ chế xác thực dành cho thiết bị IoT có thể không phù hợp với ứng dụng web). |
Tác động | Kẻ tấn công có thể kiểm soát tài khoản của người dùng khácđánh bài online, đọc dữ liệu cá nhân của họ và thực hiện các hành động nhạy cảm thay mặt họ, ví dụ như giao dịch tiền tệ và gửi thông tin cá nhân. |
Cảnh huống ví dụ về cuộc tấn công:
Để cập nhật địa chỉ email liên kết với tài khoản người dùngtỉ lệ cược, client nên gửi yêu cầu API như sau:
Lỗi cấp quyền ở cấp độ thuộc tính đối tượng
Giới thiệu rủi ro liên quan:
Đe dọa | Kẻ tấn công có thể lợi dụng các điểm cuối API có lỗ hổng cấp quyền ở cấp độ thuộc tính đối tượng để đọc hoặc thay đổi giá trị thuộc tính của đối tượng mà họ không được phép truy cập. |
Lỗ hổng | Quyền truy cập trong API được thực hiện theo cấp độ. Mặc dù lập trình viên có thể thực hiện kiểm tra thích hợp để đảm bảo người dùng có quyền truy cập vào hàmđánh bài online, nhưng họ thường không kiểm tra xem người dùng có được phép truy cập vào các thuộc tính cụ thể của đối tượng hay không. |
Tác động | Truy cập không được phép có thể dẫn đến rò rỉ dữ liệuq888, mất dữ liệu hoặc thao tác dữ liệu. |
Cảnh huống ví dụ về cuộc tấn công:
Một nền tảng thị trường trực tuyến cung cấp dịch vụ cho một loại người dùng ("chủ nhà") để cho thuê căn hộ của họ cho một loại người dùng khác ("khách"). Nền tảng yêu cầu chủ nhà chấp thuận đặt phòng của khách trước khi thu phí. Trong quá trình nàyđánh bài online, chủ nhà gửi một lời gọi API đến POST /api/host/approve_booking kèm theo tải trọng hợp lệ:
total_stay_price
Lỗi cấp quyền ở cấp độ chức năng
Giới thiệu rủi ro liên quan:
Đe dọa | Kẻ tấn công cần gửi các lời gọi API hợp lệ đến các điểm cuối mà họ không nên truy cậptỉ lệ cược, những điểm cuối này có thể mở cho người dùng bất kỳ hoặc người dùng không có quyền hạn. Phát hiện các lỗi này trong API dễ dàng hơn vì API có cấu trúc rõ ràng và phương pháp truy cập các hàm nhất định có thể dự đoán được (ví dụ: thay đổi phương pháp HTTP từ GET sang PUT, hoặc thay đổi chuỗi "users" trong URL thành "admins"). |
Lỗ hổng | Kiểm tra cấp quyền cho hàm hoặc tài nguyên thường được quản lý thông qua cấu hìnhđánh bài online, đôi khi được quản lý ở cấp độ mã. Việc triển khai kiểm tra phù hợp có thể là một nhiệm vụ khó khăn vì các ứng dụng hiện đại có thể chứa nhiều loại vai trò hoặc nhóm và cấu trúc người dùng phức tạp (ví dụ: người dùng con hoặc người dùng có nhiều vai trò). Việc phát hiện phụ thuộc vào ghi nhật ký và giám sát thích hợp. |
Tác động | Lỗ hổng này cho phép kẻ tấn công truy cập các chức năng không được phép. Các chức năng quản lý là mục tiêu chính của các cuộc tấn công này. |
Cảnh huống ví dụ về cuộc tấn công:
Rủi ro giả mạo yêu cầu phía máy chủ
Đe dọa | Việc lợi dụng lỗ hổng này đòi hỏi kẻ tấn công tìm thấy điểm cuối API nhận URI làm tham sốq888, sau đó truy cập URI được cung cấp. Sự không nhất quán trong phân tích URI là vấn đề phổ biến đối với các hàm và thư viện của hầu hết ngôn ngữ lập trình thông thường. |
Lỗ hổng | Khái niệm phát triển ứng dụng hiện đại khuyến khích các lập trình viên truy cập URI do khách hàng cung cấp. Thường thì việc truy xuất dữ liệu phía máy chủ không được ghi lạiđánh bài online, hoặc nếu được ghi lại, rất có thể không được giám sát. |
Tác động | Việc lợi dụng lỗ hổng này có thể dẫn đến việc liệt kê dịch vụ nội bộ (ví dụ: quét cổng) hoặc rò rỉ thông tinđánh bài online, từ đó vượt qua tường lửa hoặc các cơ chế an ninh khác. Trong một số trường hợp, nó có thể dẫn đến DoS hoặc máy chủ bị sử dụng làm proxy cho hoạt động độc hại. |
Cảnh huống ví dụ về cuộc tấn công:
Mạng xã hội cho phép người dùng tải lên hình ảnh hồ sơ cá nhân. Người dùng có thể chọn tải lên tệp hình ảnh từ máy tính của họ hoặc cung cấp URL hình ảnh. Việc chọn phương thức sau sẽ kích hoạt lời gọi API sau:
Giới thiệu rủi ro liên quan:
Đe dọa | Việc lợi dụng thường liên quan đến việc hiểu mô hình kinh doanh của APIq888, phát hiện quy trình kinh doanh nhạy cảm và truy cập tự động vào các quy trình đó, gây tổn hại đến doanh nghiệp. |
Lỗ hổng | Khi phân tíchtỉ lệ cược, mỗi yêu cầu tấn công đều là một yêu cầu hợp lệ hoàn toàn và không thể nhận diện là cuộc tấn công. Chỉ khi xem xét tổng thể các yêu cầu liên quan đến logic dịch vụ/ứng dụng, mới có thể nhận diện cuộc tấn công. |
Tác động | Thông thườngtỉ lệ cược, không gây ảnh hưởng kỹ thuật. Tuy nhiên, nó có thể gây tổn hại đến doanh nghiệp theo nhiều cách khác nhau, ví dụ: 1. Ngăn cản người dùng hợp lệ mua sản phẩm; 2. Gây lạm phát kinh tế trong trò chơi; 3. Cho phép kẻ tấn công gửi quá nhiều tin nhắn/bình luận, dễ lan truyền thông tin giả. |
Cảnh huống ví dụ về cuộc tấn công:
Một công ty công nghệ tuyên bố sẽ phát hành một thiết bị chơi game mới vào dịp lễ Tạ Ơntỉ lệ cược, sản phẩm này có nhu cầu rất cao và số lượng tồn kho hạn chế. Kẻ tấn công là những người vận hành mối đe dọa tự động, viết mã để tự động mua sản phẩm mới và hoàn tất giao dịch. Vào ngày phát hành, kẻ tấn công chạy mã trên nhiều địa chỉ IP và vị trí khác nhau, API không có biện pháp bảo vệ thích hợp, cho phép kẻ tấn công mua phần lớn hàng hóa trước các người dùng hợp lệ. Sau đó, kẻ tấn công bán sản phẩm đó trên một nền tảng khác với giá cao hơn.
Gọi không an toàn tới API của bên thứ ba
Đe dọa | Các lập trình viên có xu hướng tin tưởng nhưng không kiểm tra các điểm cuối tương tác với API bên ngoài hoặc bên thứ ba. Việc lợi dụng các lỗ hổng bảo mật trong các API này có thể ảnh hưởng đến những người phụ thuộc vào chúng. |
Lỗ hổng | Thông thườngtỉ lệ cược, tích hợp API phụ thuộc vào các yêu cầu bảo mật yếu hơn, chẳng hạn như các yêu cầu về an toàn truyền tải, xác thực/ủy quyền và kiểm tra và làm sạch đầu vào. |
Tác động | Việc tiết lộ thông tin nhạy cảm cho những người không được phép và nhiều loại cuộc tấn công chèn đều là những vấn đề phổ biến. |
Cảnh huống ví dụ về cuộc tấn công:
Một API phụ thuộc vào dịch vụ bên thứ ba để làm phong phú thông tin địa chỉ do người dùng cung cấp. Khi người dùng cuối cung cấp địa chỉtỉ lệ cược, nó sẽ được gửi đến dịch vụ bên thứ ba, sau đó dữ liệu được lưu trữ trong cơ sở dữ liệu SQL cục bộ.
doanh nghiệp độc hại
OWASP API Security Top 10
OWASP API Security Top 10