Đồng thờikèo hôm nay, API cũng đối mặt với những thách thức an ninh nghiêm trọng. Theo dự đoán của Gartner: Đến năm 2024, rủi ro rò rỉ dữ liệu do an toàn API gây ra sẽ tăng gấp đôi. Những kẻ tấn công đang tận dụng các lỗ hổng của API để thực hiện các cuộc tấn công tự động hóa hiệu quả và tinh vi, từ đó gây ra hàng loạt sự cố an ninh dữ liệu ảnh hưởng nghiêm trọng đến quyền lợi của các doanh nghiệp và người dùng. Ví dụ, sự cố 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ếkèo hôm nay, chuyên nghiên cứu và cải thiện an toàn ứ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 các 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 nguồn lực, công cụ và hướng dẫn miễn phí và mở để giúp các lập trình viên, chuyên gia an ninh và tổ chức hiểu rõ và đối phó với các rủi ro an ninh của ứng dụng web.
Năm 2019789bey, OWASP lần đầu tiên công bố API Security Top 10, sau đó với sự phát triển của API và thực hành bảo mật ngày càng sâu rộng, OWASP đã chính thức cập nhật nội dung của API Security Top 10 vào năm 2023, tập trung vào Quản lý xác thực và cấp quyền API Được nhấn mạnh đặc biệt (chiếm 4 trong số Top5); ngoài raKubet, Thiếu bảo vệ tự động trước mối đe dọa và rủi ro an toàn chuỗi cung ứng API Cũng được thêm vào danh sách lần đầu tiênkèo hôm nay, dưới đây sẽ giới thiệu chi tiết về một số loại rủi ro quan trọng.
Lỗi cấp quyền ở cấp độ đối tượng
Giới thiệu rủi ro liên quan:
Mối đe dọa | Kẻ tấn công có thể lợi dụng các lỗ hổng trong API điểm cuối cấp đối tượng bị hỏng để thực hiện tấn công bằng cách thay đổi ID đối tượng trong yêu cầuKubet, đ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ột cách đầy đủ mà thay vào đó phụ thuộc nhiều 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 sẽ được 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ó triển khai cơ sở hạ tầng kiểm tra cấp quyền phù hợpkèo hôm nay, các 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 kiểm soát truy cập thường không phù hợp với kiểm thử 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ềnKubet, mất dữ liệu hoặc thay đổ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 hoàn toàn chiếm quyền tài khoản. |
Một nhà sản xuất ô tô đã kích hoạt khả năng điều khiển xe từ xa qua một API di động để 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ơKubet, khóa và mở cửa xe; trong quy trình này, người dùng gửi số nhận diện xe (VIN) đến API; tuy nhiên, API không xác minh xem VIN có phải là xe thuộc tài khoản đăng nhập hay không, dẫn đến lỗ hổng BOLA, cho phép kẻ tấn công truy cập 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:
Mối đe dọa | Cơ chế xác thực trong API là một phần phức tạp và dễ gây hiểu lầm. 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 và không biết cách triển khai đúng cách. Ngoài raKubet, 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 tiềm ẩn nguy cơ 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 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 cơ chế: Cơ chế này không xem xét các vector tấn công khi sử dụng hoặc áp dụng cho các trường hợp sử dụng sai (ví dụ: cơ chế xác thực được thiết kế 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ácKubet, đọ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. |
Tì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ùngKubet, 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:
Mối đ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 thuộc tính đối tượng bị hỏng để đọc hoặc thay đổi các giá trị thuộc tính của đối tượng mà họ không nên truy cập. |
Lỗ hổng | Quyền truy cập trong API được thực hiện theo cấp độ. Mặc dù các lập trình viên có thể thực hiện kiểm tra phù hợp để đảm bảo người dùng có quyền truy cập vào hàm789bey, 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ệuKubet, mất dữ liệu hoặc thao tác dữ liệu. |
Tì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 (người thuê) để cho thuê căn hộ cho loại người dùng khác (người thuê). Nền tảng yêu cầu người thuê chấp nhận đặt phòng trước khi thu phí từ người thuê. Trong quá trình nàykèo hôm nay, người thuê gửi lời gọi API 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:
Mối đ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 API mà họ không nên truy cậpKubet, 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ó đặc quyề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ìnhKubet, đôi khi ở cấp độ mã. Việc triển khai kiểm tra phù hợp có thể là một nhiệm vụ phức tạp 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ò). Phát hiện các vấn đề này phụ thuộc vào việc 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 trị là mục tiêu chính của các cuộc tấn công này. |
Tì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ủ
Mối đ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ố789bey, sau đó truy cập URI được cung cấp. Sự không nhất quán trong việc phân tích URI là vấn đề đã biết đối với các hàm và thư viện của hầu hết ngôn ngữ lập trình phổ biến. |
Lỗ hổng | Khái niệm trong 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ườngkèo hôm nay, việc truy xuất dữ liệu phía máy chủ không được ghi lại, hoặc nếu được ghi lại, thì cũng khó được giám sát. |
Tác động | Việc lợi dụng thành cô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 tinkèo hôm nay, từ đó vượt qua tường lửa hoặc các cơ chế bảo mật 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 đại diện cho hoạt động độc hại. |
Tì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 của họ hoặc cung cấp URL hình ảnh. Việc chọn phương án sau sẽ kích hoạt lời gọi API sau:
Giới thiệu rủi ro liên quan:
Mối đ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 API789bey, phát hiện các quy trình kinh doanh nhạy cảm và truy cập tự động vào các quy trình đó, từ đó gây tổn hại cho doanh nghiệp. |
Lỗ hổng | Khi được phân tíchkèo hôm nay, 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ể được 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ườngkèo hôm nay, không có tác động kỹ thuật đáng kể. Tuy nhiên, nó có thể gây tổn hại cho doanh nghiệp theo nhiều cách khác nhau, ví dụ: 1. Cản trở người dùng hợp lệ mua sản phẩm; 2. Gây lạm phát kinh tế nội bộ 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ả. |
Tình huống ví dụ về cuộc tấn công:
Một công ty công nghệ tuyên bố họ sẽ ra mắt một chiếc máy chơi game mới vào dịp Lễ Tạ Ơn789bey, 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à các 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 ra mắt, 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ệ phù 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 API bên thứ ba không an toàn
Mối đ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ì 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ơnkèo hôm nay, chẳng hạn như các yêu cầu liên quan đến an toàn truyền tải, xác thực/quyền truy cập, cũng như 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 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. |
Tì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êm địa chỉ do người dùng cung cấp. Khi người dùng cuối cung cấp địa chỉKubet, nó sẽ được gửi đến dịch vụ bên thứ ba, sau đó dữ liệu trả về được lưu trữ trong cơ sở dữ liệu SQL cục bộ.
doanh nghiệp độc hại
Danh sách 10 rủi ro an toàn API hàng đầu của OWASP mang đến cho chúng ta một khung để nhận diện và hiểu các rủi ro an toàn API phổ biếnkèo hôm nay, đồng thời hướng dẫn chúng ta xây dựng các biện pháp an toàn phù hợp. Nhờ hiểu sâu về đặc điểm và tác động tiềm ẩn của từng rủi ro, chúng ta có thể lập kế hoạch và triển khai các biện pháp phòng thủ cần thiết một cách hiệu quả hơn.
Tuy nhiên789bey, mặc dù danh sách 10 rủi ro an toàn API hàng đầu của OWASP mang lại hướng dẫn quý báu, chúng ta cũng cần nhận thức rằng nó có thể có một số hạn chế trong việc bao phủ các rủi ro an toàn API toàn cầu. Vì môi trường mạng và nhu cầu kinh doanh ở các khu vực khác nhau khác nhau, các doanh nghiệp và tổ chức Trung Quốc đối mặt với những thách thức và rủi ro độc đáo trong an toàn API. Do đó, chúng tôi sẽ tiếp tục nghiên cứu sâu hơn và trong các bài viết tiếp theo, tập trung phân tích các rủi ro an toàn API phù hợp với các doanh nghiệp và tổ chức Trung Quốc, đồng thời cung cấp các giải pháp phù hợp hơn. Nhờ vậy, chúng ta có thể bảo vệ và duy trì tốt hơn hệ sinh thái API của các doanh nghiệp và tổ chức Trung Quốc, đảm bảo hoạt động an toàn và đáng tin cậy của chúng trong thời đại số.