LCNC và RPA: “Mảnh đất màu mỡ” cho các tấn công SQLi
An toàn thông tin - Ngày đăng : 23:05, 30/06/2024
LCNC và RPA: “Mảnh đất màu mỡ” cho các tấn công SQLi
Một làn sóng tấn công cấy mã SQL (SQLi) mới đang xuất hiện và đang đi theo một quỹ đạo khác so với trước đây.
Giống như một bộ phim tồi tệ dường như kéo dài mãi mãi, các cuộc tấn công SQL (SQL injection - SQLi) đã tồn tại từ cuối những năm 1990. Do nhiều yếu tố khác nhau, đến nay chúng vẫn là nguồn gây ra lỗ hổng ứng dụng web phổ biến thứ ba. Các nguyên nhân do bao gồm lỗi của con người, công nghệ mới chưa đủ trưởng thành và việc sử dụng mã nguồn mở ngày càng tăng làm giảm khả năng kiểm soát của nhà phát triển.
Vấn đề nghiêm trọng đến mức vào tháng 3/2024, Cơ quan an ninh mạng và an ninh cơ sở hạ tầng (CISA) và Cục điều tra Liên bang
(FBI) Mỹ đã đưa ra cảnh báo rằng đã đến lúc phải nghiêm túc trong việc loại bỏ các lỗ hổng SQLi. Các cơ quan đã đề xuất khuôn khổ Bảo mật theo thiết kế (Secure by Design framework) nhằm xây dựng các biện pháp bảo vệ như một yêu cầu kinh doanh thay vì chỉ đơn giản là một tính năng kỹ thuật.
Tuy nhiên, một làn sóng tấn công SQLi mới đang xuất hiện và nó đang đi theo một quỹ đạo khác so với trước đây. Phần mềm được phát triển trên các nền tảng không yêu cầu sự chuyên sâu trong việc viết mã lập trình (low-code and no-code - LCNC), trong đó có cả tự động hóa quy trình bằng robot (RPA), dự kiến sẽ đạt 70% ứng dụng vào năm 2025. Điều này cho thấy một loại rủi ro khác. Đây là một điều cần cảnh báo các giám đốc an ninh thông tin (CISO) và các nhà phát triển chuyên nghiệp tại các công ty phần mềm.
Lỗ hổng SQLi trong các nền tảng LCNC
Hãy bỏ những rủi ro này trong quá trình phát triển phần mềm. Các nền tảng LCNC giới thiệu những khả năng mạnh mẽ với tính hấp dẫn cao. Chúng giúp tăng năng suất, cắt giảm chi phí và thúc đẩy đổi mới. Tuy nhiên, điều quan trọng là các ứng dụng LCNC và các RPA được tạo ra bởi các nhà phát triển không chuyên chứ không phải các lập trình viên chuyên nghiệp. Họ là những người có rất ít hoặc không hiểu biết về các yếu tố kỹ thuật gây ra những rủi ro.
LCNC và các RPA là “mảnh đất màu mỡ” cho các cuộc tấn công SQLi. Trong khi đó, hệ sinh thái phần mềm kinh doanh và các công cụ phát triển đang hỗ trợ LCNC ngày càng phát triển. Chúng bao gồm cả Microsoft Power Apps, Mendix, Salesforce, UiPath, ServiceNow, AppEngine và Automation Anywhere. Khi xây dựng các ứng dụng này, các phát triển chuyên nghiệp hoặc nhà phân tích bảo mật nào đã bỏ qua vấn đề này cũng như bỏ qua việc kiểm tra hoặc đánh giá ứng dụng cuối.
Sự phát triển LCNC tạo ra bề mặt tấn công từ bên ngoài, cho phép tin tặc khai thác bất kỳ nguồn dữ liệu bên ngoài nào được xử lý từ ứng dụng LCNC hoặc RPA. Ví dụ, việc xử lý email được gửi đến bộ phận hỗ trợ khách hàng hoặc thậm chí các bài đăng và phản hồi trên mạng xã hội được thu thập tự động từ nguồn cấp dữ liệu của công ty.
Một cuộc tấn công SQLi có thể được ẩn từ các nguồn bên ngoài này để lừa máy chủ chạy chuỗi dưới dạng lệnh. Những hướng dẫn ẩn này có thể được sử dụng để thay đổi, thao tác và đánh cắp dữ liệu và trong một số trường hợp nghiêm trọng, thậm chí còn tạo tài khoản giả và chiếm quyền kiểm soát máy chủ cơ sở dữ liệu.
Cho dù đó là một ứng dụng quan trọng trong kinh doanh để xử lý thẻ tín dụng hay tự động hóa nội bộ thì SQLi trong ứng dụng LCNC đều là một rủi ro thực tế đối với doanh nghiệp.
Mối lo ngại ngày càng tăng
Không may là các ngăn xếp AppSec hiện tại không được thiết kế để giải quyết vấn đề bảo mật LCNC và các nhà phát triển không chuyên không mấy khi được đào tạo để xử lý rủi ro của SQLi.
Nói cách khác, các cuộc tấn công SQLi sẽ không sớm giảm bớt, ngay cả khi có cảnh báo của chính phủ đối với các nhà cung cấp phần mềm thương mại. Khi các nhà phát triển không chuyên chuyển sang nền tảng LCNC, tần suất và mức độ nghiêm trọng của các cuộc tấn công có thể sẽ tăng đột biến. Nguyên nhân vì vòng đời phát triển phần mềm an toàn (Secure software development life cycle - SSDLC) chưa được các nhà phát triển không chuyên quan tâm.
Vấn đề xoay quanh 4 yếu tố quan trọng: Thiếu các biện pháp bảo mật truyền thống trong quá trình phát triển ứng dụng; Quá phụ thuộc vào các tính năng bảo mật của nền tảng mà không đưa ra các biện pháp bảo vệ bổ sung; Quan niệm sai lầm rằng nền tảng LCNC vốn đã an toàn trước các cuộc tấn công như vậy; Mặc dù việc đầu tư vào đào tạo các kỹ sư phần mềm chuyên nghiệp để tránh các lỗi SQLi là thực tế nhưng việc áp dụng phương pháp này cho các nhà phát triển không chuyên thì chưa có.
Để loại bỏ rủi ro, các CISO và các chuyên gia bảo mật phải nhận ra vấn đề và thực hiện các bước để “lấp đầy” những khoảng trống. Còn nếu chỉ áp dụng cách tiếp cận phát triển an toàn cho phần mềm thương mại là chưa đủ.
Thiết lập bảo mật ứng dụng LCNC
Mặc dù có những thách thức này, chúng ta vẫn hoàn toàn có thể đảm bảo thực hiện các nguyên tắc bảo mật theo thiết kế đồng thời cho phép các nhà phát triển không chuyên và kỹ sư tự động hóa sử dụng các công cụ LCNC và RPA. Để có cách tiếp cận phù hợp, có thể tăng năng suất kinh doanh và đảm bảo các môi trường phát triển LCNC thì chương trình bảo mật LCNC nên tập trung vào ba lĩnh vực:
Quản trị: Điều quan trọng là phải duy trì một kho lưu trữ để xác định các ứng dụng dư thừa hoặc lỗi thời, đồng thời chọn ra các ứng dụng trực tiếp và tự động hóa yêu cầu kiểm soát nghiêm ngặt.
Sự tuân thủ: Ví dụ, một tổ chức phải tìm kiếm các vấn đề như rò rỉ thông tin nhận dạng cá nhân (PII) liên quan đến các chuẩn bảo mật PCI-DSS, GDPR và HIPAA. Các nhà phát triển không chuyên thường không nắm được các yêu cầu tuân thủ hoặc cách LCNC có thể gây ra rủi ro.
Bảo mật. Hiểu về kiểm soát truy cập, xác thực và ủy quyền là rất quan trọng vì cấu hình mặc định thường được sử dụng bởi các nhà phát triển không chuyên chứ không phải là chuyên gia bảo mật.
Các phương pháp để giảm thiểu rủi ro LCNC SQLi
CISO có thể tạo ra môi trường phát triển LCNC an toàn hơn. Tuy nhiên, cần tập trung vào các nhà phát triển không chuyên với 5 lĩnh vực cốt lõi, bao gồm:
Khám phá: Đạt được khả năng hiển thị rộng và sâu về tất cả các ứng dụng LCNC hiện có là rất quan trọng.
Giám sát: Tổ chức phải quét các ứng dụng và tự động hóa, phân tích các thành phần của bên thứ ba cũng như xác định và phân loại việc sử dụng dữ liệu.
Quản lý: Thiết lập một khung bảo mật toàn diện để quản lý các quy trình phát triển. Điều này bao gồm việc hướng dẫn từng bước cho các nhà phát triển không chuyên.
Phát hiện và ứng phó: Giám sát hoạt động của nhà phát triển không chuyên để phát hiện các lỗi gây ra lỗ hổng trong ứng dụng và tự động hóa để kịp thời khắc phục.
Quy mô: Sử dụng các công cụ bảo mật để hợp lý hóa và tự động hóa các nhiệm vụ, bao gồm giám sát và thực thi các chính sách và quy trình.
Cuối cùng, nhiệm vụ trước mắt của các CISO không phải là sử dụng nhiều tài nguyên hơn vào SQLi mà là tập trung đúng nguồn lực vào nhiệm vụ. Khi LCNC tiếp tục có được sức hút trong thế giới kinh doanh thì một khung bảo mật tiên tiến hơn là điều cần thiết. Các CISO cần đảm bảo rằng họ đã áp dụng phương pháp thực hành tốt nhất./.