Tìm hiểu về SAST, DAST, IAST và RASP
- SAST: cho phép phát hiện sớm các lỗi trong quá trình phát triển.
- DAST: kiểm tra các sản phẩm trong quá trình hoạt động và cung cấp phản hồi.
- IAST: kết hợp giữa SAST & DAST, sử dụng thiết bị phần mềm để phân tích các ứng dụng đang chạy.
- RASP: nhận biết được một cuộc tấn công đang xảy ra và thực hiện các biện pháp cần thiết.
Static Application Security Testing (SAST)
SAST(white box testing) là gì?
- Phân tích mã nguồn - công cụ kiểm tra phân tích mã nguồn ban đầu của ứng dụng, ví dụ như mã nguồn C ++.
- Phân tích Bytecode - công cụ kiểm tra phân tích mã trung gian. Điều này chỉ có thể thực hiện được đối với các nền tảng tạo bytecode, chẳng hạn như Java hoặc .NET.
- Phân tích mã nhị phân - công cụ kiểm tra phân tích mã được biên dịch cuối cùng của ứng dụng.
SAST hoạt động như thế nào?
Ưu điểm và nhược điểm của SAS
- Việc sửa các lỗ hổng bảo mật rẻ hơn vì nó được đưa vào quy trình sớm hơn
- Phân tích 100% cơ sở mã nhanh hơn có thể bởi con người
- Được thực hiện trước khi ứng dụng được sản xuất và không thực hiện chương trình
- Cung cấp phản hồi theo thời gian thực và trình bày bằng đồ họa về các vấn đề được tìm thấy
- Chỉ ra vị trí chính xác của các lỗ hổng và mã sự cố
- Cung cấp các báo cáo tùy chỉnh có thể được xuất và theo dõi bằng trang tổng quan
- Có thể tự động hóa
- Cần tổng hợp dữ liệu để kiểm tra mã dẫn đến kết quả dương tính giả
- Sự phụ thuộc vào ngôn ngữ làm cho các công cụ khó xây dựng và duy trì, đồng thời yêu cầu một công cụ khác nhau cho mỗi ngôn ngữ được sử dụng
- Không giỏi trong việc hiểu các thư viện hoặc khuôn khổ, như điểm cuối API hoặc REST
- Không thể kiểm tra các cuộc gọi hoặc hầu hết các giá trị đối số
Dynamic Application Security Testing (DAST)
DAST(white box testing) là gì?
DAST hoạt động như thế nào?
- ZAP
- Burp Suite
- Detectify
- Rapid7
- Veracode
Ưu điểm và nhược điểm của DAST
- Làm nổi bật các vấn đề về xác thực và cấu hình máy chủ
- Ngôn ngữ độc lập
- Đánh giá toàn bộ ứng dụng và hệ thống
- Kiểm tra mức tiêu thụ bộ nhớ và sử dụng tài nguyên
- Cố gắng phá vỡ các thuật toán mã hóa từ bên ngoài
- Xác minh các quyền để đảm bảo cô lập các mức đặc quyền
- Kiểm tra tập lệnh trên nhiều trang web , chèn SQL và thao tác cookie
- Kiểm tra lỗ hổng trong giao diện của bên thứ ba
- Hiểu các đối số và lệnh gọi hàm
- Không tự đánh giá mã hoặc đánh dấu các lỗ hổng trong mã, chỉ dẫn đến các vấn đề
- Được sử dụng sau khi quá trình phát triển hoàn tất nên việc sửa chữa các lỗ hổng sẽ đắt hơn
- Các dự án lớn yêu cầu cơ sở hạ tầng tùy chỉnh và nhiều phiên bản của ứng dụng chạy song song
- Tạo ra một số lượng lớn các kết quả dương tính giả
Interactive Application Security Testing (IAST)
IAST là gì?
IAST hoạt động như thế nào?
- Một số loại kiểm tra:
- Passive IAST: cung cấp một cảm biến gắn vào ứng dụng đang chạy. Nếu cảm biến này nhận thấy điều gì đó đáng ngờ khi ứng dụng đang chạy, nó sẽ báo cáo điều đó lên bảng điều khiển của giải pháp IAST.
- Active IAST: Một số lượng lớn các công cụ IAST trên thị trường được cung cấp bởi các nhà sản xuất DAST nhưng là các sản phẩm riêng biệt (không tích hợp), thường được gọi là IAST do DAST gây ra . Chúng sử dụng DAST để kích hoạt các cảm biến IAST nhưng không đối chiếu dữ liệu từ hai nguồn. Chúng hoạt động giống như thể sử dụng một giải pháp IAST thụ động và kết hợp nó với một DAST hoàn toàn riêng biệt.
- True IAST: các công cụ này, có sự tương tác thực tế giữa phần tử cảm ứng (máy quét DAST) và cảm biến IAST. Cả hai giao tiếp và tác động lẫn nhau để cung cấp kết quả kiểm tra tốt hơn, đạt tỷ lệ dương tính giả rất thấp và xác nhận đầy đủ các lỗ hổng bảo mật.
Ưu và nhược điểm của IAST
- Có khả năng tích hợp với các công cụ tích hợp liên tục (CI) và phát triển liên tục (CD)
- Cung cấp thông tin chi tiết về gốc của các lỗ hổng, bao gồm cả vị trí mã
- Kết quả thời gian thực
- Cho phép kiểm tra API, tốt cho các sản phẩm sử dụng microservices
- Thúc đẩy việc sử dụng lại các trường hợp thử nghiệm hiện có
- Tích hợp để cho phép phân tích mã nguồn, kiểm soát thời gian chạy và luồng dữ liệu, cấu hình và sử dụng các thư viện và khuôn khổ
- Sự kết hợp của chức năng SAST và DAST cho phép kết quả chính xác hơn và xác định nhiều lỗ hổng bảo mật hơn
- Các công cụ là độc quyền, tạo sự tin cậy vào nhà cung cấp để được hỗ trợ
- Hỗ trợ ngôn ngữ hạn chế
Run-time Application Security
Protection (RASP)
RASP là gì?
RASP hoạt động như thế nào?
- Chế độ chuẩn đoán: RASP phát ra âm thanh báo động, cảnh báo bạn về một cuộc tấn công thất bại hoặc cho bạn biết khi có điều gì đó không ổn.
- Chế độ bảo về: nó sẽ cố gắng ngăn chặn những mối đe dọa mạng nhắm vào các ứng dụng.
Ưu điểm và nhược điểm của RAST
- Chạy kiểm tra bảo mật liên tục và có thể phản hồi các cuộc tấn công bằng cảnh báo hoặc kết thúc phiên
- Tích hợp với ứng dụng, không phụ thuộc vào bảo vệ cấp độ mạng hoặc kết nối từ xa
- Có khả năng hiển thị cấp mã để bảo vệ tốt hơn
- Cung cấp nhật ký hoạt động để phân tích
- Không phụ thuộc vào ngôn ngữ hoặc nền tảng
- Bao gồm một loạt các lỗ hổng
- Chỉ có thể được sử dụng trong sản xuất
- Hấp dẫn sử dụng như một phương án dự phòng để bắt các lỗ hổng, dẫn đến việc kiểm tra trước khi phát hành ít nghiêm ngặt hơn