API và ứng dụng trong chuyển đổi số
API là phương thức trung gian kết nối các ứng dụng và thư viện khác nhau, cung cấp khả năng truy xuất đến một tập các hàm hay dùng, từ đó có thể trao đổi dữ liệu giữa các ứng dụng. Từ một công cụ được sử dụng với mục đích đơn thuần là kết nối giữa các ứng dụng, dịch vụ Internet, IoT… đến nay, API đã phát triển thành một trong những thành phần quan trọng để vận hành hệ thống mạng internet của doanh nghiệp. Một số ứng dụng của API có thể kể tới như sau:
Hệ thống API trên nền tảng web: loại API này hiện đang rất phổ biến, các website lớn đều cung cấp hệ thống API cho phép kết nối, lấy dữ liệu hoặc cập nhật dữ liệu vào hệ thống.
Hệ thống API trên hệ điều hành: cung cấp các hàm, phương thức, lời gọi hàm cũng như các giao thức kết nối cho lập trình viên, giúp lập trình viên có thể tạo ra các phần mềm ứng dụng có thể tương tác trực tiếp với hệ điều hành.
Các API của thư viện phần mềm hoặc framework: mô tả và quy định các hành vi mong muốn mà các thư viện cung cấp, một API có thể có nhiều các triển khai khác nhau và nó cũng giúp cho một chương trình viết bằng ngôn ngữ này có thể sử dụng thư viện được viết bằng ngôn ngữ khác. API cũng có thể liên quan đến các framework khi framework được xây dựng trên nhiều các thư viện và thực thi nhiều API khác nhau.
Ở Việt Nam, tháng 6/2020 Thủ tướng Chính phủ đã phê duyệt "Chương trình Chuyển đổi số quốc gia đến năm 2025, định hướng đến năm 2030”. Theo đó, Việt Nam đặt mục tiêu trở thành quốc gia số, ổn định và thịnh vượng, tiên phong thử nghiệm các công nghệ và mô hình mới; đổi mới căn bản, toàn diện hoạt động quản lý, điều hành của Chính phủ, hoạt động sản xuất kinh doanh của doanh nghiệp, phương thức sống, làm việc của người dân, phát triển môi trường số an toàn, nhân văn, rộng khắp. Cụ thể hóa chương trình chuyển đổi số quốc gia nêu trên, Chính phủ đã từng bước hoàn thiện hành lang pháp lý cho các hoạt động số hóa, công nhận các giao dịch điện tử nhằm hỗ trợ công tác quản lý và vận hành tại doanh nghiệp theo hướng tiết kiệm hơn, nhanh hơn, thuận tiện hơn và an toàn hơn. Một số kết quả thực tế triển khai API trong quy trình số hóa có thể kể đến như hệ thống nộp thuế điện tử, kê khai hải quan điện tử, cổng thông tin quốc gia, số hoá hoạt động dịch vụ công trên khắp các tỉnh thành (hình 1).
Hình 1. Phần mềm phát hành hóa đơn thuế điện tử.
Những rủi ro chính trong bảo mật API
Khi ngày càng có nhiều doanh nghiệp triển khai API, nguy cơ bị tấn công API cũng gia tăng theo. Trên thực tế, số lượng API được sử dụng bởi các doanh nghiệp đang tăng nhanh chóng; gần một nửa số doanh nghiệp có từ 50-500 API được triển khai nội bộ hoặc công khai, thậm chí một số doanh nghiệp còn có hơn 1.000 API đang hoạt động. Thực tế đó đã đặt ra những thách thức trong việc bảo mật dữ liệu trong API. Hiện nay, các lỗ hổng tồn tại trong API đang ngày càng tăng lên như các lỗ hổng về xác thực, phân quyền hay việc vô tình để lộ dữ liệu nhạy cảm.
Tổ chức bảo mật nổi tiếng Gartner xác nhận bảo mật API là mối quan tâm hàng đầu của các doanh nghiệp hiện nay. Theo dự đoán của Gartner, hơn 30,9 tỷ thiết bị IoT dự kiến sẽ được sử dụng trên toàn thế giới vào năm 2025 và con số này tiếp tục tăng lên hàng năm. Sự gia tăng các thiết bị IoT, kéo theo các nguy cơ về bảo mật API. Theo báo cáo thực trạng internet về hình thức tấn công API do Akamai Technologies thực hiện từ tháng 1/2020 đến tháng 6/2021, số cuộc tấn công có liên quan đến API có chiều hướng tăng dần, đặc biệt có thời điểm hệ thống của Akamai ghi nhận đến 113,8 triệu cuộc tấn công/ngày (hình 2). Con số này cao gấp 3 lần so với cùng kỳ năm 2020.
Hình 2. Thống kê tấn công API.
Ngoài ra, các doanh nghiệp lớn càng dễ bị ảnh hưởng bởi các rủi ro bảo mật liên quan đến các API bị lộ hoặc không được bảo vệ khi các doanh nghiệp đẩy nhanh quá trình chuyển đổi số. Nguyên nhân do nhiều API được kết nối trực tiếp với cơ sở dữ liệu phụ trợ, nơi dữ liệu nhạy cảm được lưu trữ. Do đó, tin tặc ngày càng nhắm mục tiêu vào các API như một phương thức để tấn công cơ sở hạ tầng nhằm đánh cắp thông tin nhạy cảm. Ngày nay, cứ 13 sự cố mạng thì có đến 1 sự cố được cho là có liên quan tới việc API không an toàn. Có thể kể tới một số rủi ro bảo mật API như sau:
Các API bị lỗi thiết kế, cấu hình: có rất nhiều lựa chọn để truyền dữ liệu đến máy chủ web trong các yêu cầu HTTP (HyperText Transfer Protocol). Trong các trang web, các cách phổ biến nhất là thông qua các chuỗi truy vấn, JSON (JavaScript Object Notation) và nhiều yêu cầu POST. Trong API, dữ liệu thường sẽ được truyền qua XML (Extensible Markup Language) hoặc JSON thay vì các forms. Khi các tiêu đề HTTP này bị cấu hình sai, sẽ tạo ra các lỗ hổng bảo mật nguy hiểm, là cơ hội cho các kẻ tấn công khai thác.
Tấn công phần mềm độc hại: kẻ tấn công khai thác các lỗ hổng thông qua các cuộc tấn công xen giữa MITM (Man-in-the-Middle), tấn công từ chối dịch vụ phân tán DDoS (Distributed Denial of Service), tấn công SQL (Structured Query Language)… để đánh cắp các thông tin nhạy cảm hoặc thay đổi dữ liệu giao dịch.
Không cập nhật phần mềm đầy đủ, thường xuyên: các phiên bản API cũ hơn, kém an toàn hơn khiến chúng dễ bị tấn công và bị đánh cắp dữ liệu hơn. Các nghiên cứu đã chỉ ra rằng, 60% nạn nhân của vụ vi phạm dữ liệu đã bị tấn công vì một lỗ hổng đã biết có thể đã được vá bằng bản cập nhật phần mềm. Lỗ hổng trong an ninh mạng là rủi ro nghiêm trọng nhất, đòi hỏi người dùng phải cập nhật phần mềm thường xuyên. Khi một lỗ hổng bảo mật mới được xác định, các nhà phát triển sẽ phát hành bản cập nhật phần mềm để sửa chữa nó. Trong thời gian gần đây, điều kiện làm việc từ xa cũng làm gia tăng đáng kể rủi ro an ninh mạng.
Một số giải pháp bảo mật API
Áp dụng Zero Trust cho API Security: trong mô hình giải pháp bảo mật Zero Trust, mọi yêu cầu truy cập đều được xác thực mạnh mẽ, được ủy quyền trong các ràng buộc chính sách và kiểm tra các điểm bất thường trước khi cấp quyền truy cập (hình 3). Mọi thứ từ danh tính của người dùng đến môi trường lưu trữ của ứng dụng đều được sử dụng để ngăn chặn các cuộc tấn công. Điều này sẽ làm cho tin tặc khó xâm phạm tài sản trực tuyến hơn.
Hình 3. Mô hình bảo mật ZeroTrust.
Xác định các rủi ro bảo mật của API và tìm cách phòng chống: để cải thiện tình trạng bảo mật API của một tổ chức, điều quan trọng là phải đưa ra được các vấn đề tồn tại và cùng nhau tìm ra phương án giải quyết tối ưu nhất, đảm bảo rằng không có rủi ro nào bị bỏ sót. Các vấn đề về rủi ro bảo mật thường xuất hiện trong các hành vi bất thường. Người dùng có thể xác định và giải quyết những mối đe dọa này trước khi chúng gây hại cho API của họ hoặc bất kỳ ai sử dụng nền tảng.
Xác thực và ủy quyền: nói chung, các nhà phát triển API nên thực hiện nguyên tắc phân quyền, thiết lập quyền cho phép người dùng chỉ truy cập các tài nguyên và nội dung cụ thể, cần thiết đối với vai trò của họ trong ứng dụng. Ngoài ra, các giải pháp giám sát API cũng là một phần thiết yếu trong việc triển khai API, tạo ra một quy trình bảo mật API toàn diện và mạnh mẽ, đồng thời hỗ trợ khả năng phát triển và thích ứng khi số lượng API mở rộng và thay đổi.
Gốc rễ của mọi sự cố bảo mật liên quan đến API là dữ liệu. Bảo vệ API đòi hỏi sự thay đổi tư duy, trong đó cần tập trung vào việc phân loại dữ liệu và hiểu cách dữ liệu được truy cập bởi mọi API trong quá trình sử dụng. Khi các tổ chức, doanh nghiệp tiếp tục mở rộng việc sử dụng API để thúc đẩy hoạt động kinh doanh, điều quan trọng là cần phải nghiên cứu về các rủi ro bảo mật, từ đó xây dựng chiến lược và hệ thống phòng chống phù hợp.
TÀI LIỆU THAM KHẢO
1. https://diendandoanhnghiep.vn/nen-kinh-te-api-va-xu-huong-ngan-hang-so-tai-doanh-nghiep-225253.html.
2. https://ictvietnam.vn/su-co-bao-mat-api-gay-thiet-hai-hang-ty-usd-moi-nam-20220623164407029.htm.
3. https://vinsep.com/kien-thuc/security/giai-phap-zero-trust-cua-microsoft/.
4. https://brightsec.com/blog/api-security.
5. https://curity.io/resources/learn/owasp-top-ten.