Khái quát về OWASP
OWASP là một tiêu chuẩn testing bảo mật, để phục vụ việc kiểm thử bảo mật, Penetration Testing (Pentest) do tổ chức phi lợi nhuận về web: Open Web Application Security Project(OWASP) đưa ra. OWASP là tổ chức mã nguồn mở và đưa ra chuẩn OWASP phục vụ cho công việc pentesting hiệu quả và chi tiết.
Được vận hành hàng trên các PC và các website hay các ứng dụng di động, IOT, các dịch vụ lưu trữ đám mây hoặc các api… Cũng có thể là đối tượng bất kỳ có liên quan đến công nghệ thông tin và được kết nối cùng internet trong tầm ngắm có thể bị tấn công. Nhưng phổ biến và hay gặp nhất vẫn là là các ứng dụng di động vào website.
những yếu tố trên được gói gọn với cái tên trên đối tượng kiểm thử (pentest target).
Dự án Thử nghiệm OWASP đã được phát triển trong nhiều năm. Mục đích của dự án là giúp mọi người hiểu cái gì , tại sao , khi nào , ở đâu và làm thế nào để thử nghiệm các ứng dụng web.
Dự án đã cung cấp một khung thử nghiệm hoàn chỉnh, không chỉ đơn thuần là một danh sách kiểm tra đơn giản hoặc đơn thuốc về các vấn đề cần được giải quyết. Người đọc có thể sử dụng khuôn khổ này làm khuôn mẫu để xây dựng các chương trình thử nghiệm của riêng họ hoặc để kiểm tra các quy trình của người khác.
Hướng dẫn Kiểm tra mô tả chi tiết cả khung thử nghiệm chung và các kỹ thuật cần thiết để triển khai khung trong thực tế. Hầu hết mọi người ngày nay không kiểm tra phần mềm cho đến khi nó đã được tạo ra và đang trong giai đoạn triển khai trong vòng đời của nó (tức là mã đã được tạo và khởi tạo thành một ứng dụng web đang hoạt động).
Có thể bạn quan tâm:
- hướng dẫn testing OWASP
- Bảo mật wordpress cho người mới bắt đầu
- Giới thiệu về kiểm thử phần mềm
- Mật độ cụm từ khóa là gì và tại sao nó lại quan trọng?
- Dịch vụ bảo mật tối đa cho website
- Hệ thống phần mềm phân tích dữ liệu(data analysis)
- Vòng đời phát triển phần mềm (SDLC)
- SAS là gì? tìm hiểu về SAS
Vòng đời phần mềm SDLC
Testing bảo mật thường là một thực hành rất kém hiệu quả và tốn kém. Một trong những phương pháp tốt nhất để ngăn lỗi bảo mật xuất hiện trong các ứng dụng sản xuất là cải thiện Vòng đời phát triển phần mềm (SDLC) bằng cách bao gồm bảo mật trong từng giai đoạn của nó.
SDLC là một cấu trúc áp đặt cho sự phát triển của các tạo tác phần mềm. Nếu một SDLC hiện không được sử dụng trong môi trường của bạn, đã đến lúc chọn một SDLC! Hình dưới đây cho thấy một mô hình SDLC chung cũng như chi phí sửa lỗi bảo mật (ước tính) ngày càng tăng trong một mô hình như vậy.
Để hiểu rõ hơn về Pentest, ta cần hiểu rõ ba khái niệm cơ bản trong bảo mật là “vulnerabilities”, “exploits”, và “payloads”:
- Lỗ hổng (vulnerabilities) là Một nhược điểm của việc bảo mật các phần cứng hoặc phần mềm luôn được khai thác thông qua các website hoặc các ứng dụng tạo cơ hội cho những kẻ xấu tấn công vào hệ thống gây ra các lỗi không mong muốn hoặc đánh cắp mật khẩu , đánh cắp các dữ liệu SQL dẫn đến tràn bộ nhớ đệm.
- Khai thác (exploits) là Thao tác thông qua các lỗ hổng để tiến hành các hành động nhằm phá hoại tại cũng như gây ra các lỗi trong các đoạn code hoặc các hành vi bất thường của phần mềm, mang lại chạy nhiều sự cố không mong muốn . Các thao tác bao gồm tiến hành giành quyền, lấy trộm thông tin, và thực hiện các dịch vụ tấn công tống tiền, …
- Trọng tải (payloads) Được xem như một phần của hệ thống đang chứa đựng các lỗ hổng ảnh và cũng là là nằm trong tầm ngắm dễ dàng bị khai thác