Pentest theo tiêu chuẩn OWASP

917
17-03-2018
Pentest theo tiêu chuẩn OWASP

Hiện nay, công nghệ trở nên bùng nổ hơn bao giờ hết, kéo theo các cuộc tấn công mạng. Do đó để đảm bảo hiệu quả hoạt động và kinh doanh của chính mình, các tổ chức cần phải đánh giá độ an toàn của chính mình, gọi là Pentest theo tiêu cuẩn OWASP.

1. Pentest là gì?

- Pentesst là viết tắt của Penetration Testing

- Là hình thức kiểm tra hệ thống CNTT của bạn có thể bị tấn công hay không, bằng cách giả lập các vụ tấn công thử nghiệm tạo ra. 

Có thể hiểu một cách đơn giản hơn đó là đánh giá độ an toàn bằng cách cố tình tấn công vào hệ thống bởi pentester (người thực hiện thử nghiệm) trong sự cho phép của người sở hữu hệ thống. Nếu không có sự cho phép này, việc thử nghiệm sẽ trở thành hacking.

2. Tiêu chuẩn OWASP là gì?

- OWASP là viết tắt của OPEN WEB APPLICATION SECURITY PROJECT

Pentest theo tiêu chuẩn OWASP - Ảnh 2.

- Đây là 1 dự án mở về bảo mật ứng dụng web, dự án là sự cố gắng chung của cộng đồng với mục đích giúp các doanh nghiệp có thể phát triển, mua và bảo trì các ứng dụng web một cách an toàn, chính vì vậy mà OWASP ko bị phụ thuộc vào các nhà tài trợ, đưa ra những thông tin chính xác, khách quan, không thiên vị và có giá trị ứng dụng cao.

3. Pentest theo tiêu chuẩn OWASP là gì?

Quy trình pentest theo tiêu cuẩn OWASP được chia thành 11 mục như dưới đây:

(1) Information Gathering (Tập hợp thông tin)

Đây là bước khởi đầu nhằm thu thập thông tin về đối tượng, các thông tin về server. Đây là bước đầu tiên và là bước quan trọng nhất, đóng vai trò như một bước đệm giúp tạo ra những kịch bản chính xác nhất, từ đó, các Pentester có thể tấn công khai thác những lỗi liên quan đến websever mà không cần quan tâm tới ứng dụng đang chạy có an toàn hay không. Vì vậy họ có cách nhìn tổng quát về sản phầm cần pentest.

(2) Configuration and Deployment Mangement Testing

Bizfly Cloud sẽ gợi ý cho bạn những yếu tố sau: hệ thống máy chủ, ứng dụng, nền tảng của các ứng dụng ...Cần phải đánh giá toàn diện như vậy là bởi chúng có thể gây nguy hại không chỉ đến web mà còn đến cả hệ thống server. Hai hình thức kiểm tra được sử dụng ở đây là whiteboxgraybox.

(3) Identify Management Testing

Sau khi đã thu thập xong thông tin về ứng dụng ở các bước trên. Tiếp theo hãy xác định khả năng có lỗi sẽ nằm ở đâu, xác định những điểm có nguy cơ bị tấn công. Kiểm tra lại cách thức tạo tài khoản trong ứng dụng, các logic trong xử lý và các quyền của người dùng.

(4) Authentication Testing

Kiểm tra bảo mật với chức năng đăng nhập là thao tác cực kỳ quan trọng và vô cùng cần thiết. Chắc chắn bạn phải đảm bảo việc đăng nhập có sự an toàn và đúng với ý định của nhà phát hành ứng dụng.

(5) Authorization Testing

Sau khi đăng nhập vào hệ thống, hãy kiểm tra về tính logic, tính đầy đủ và đúng các chức năng của ứng dụng dành cho user đã đăng nhập. Kiểm tra cả khả năng vượt qua cơ chế bảo mật để leo thang đặc quyền, bạn cũng cần đảm bảo và giới hạn quyền cho các người dùng.

(6) Sesstion Management Testing

Kiểm tra phiên đăng nhập.

(7) Input Validation Testing

Thực hiện kiểm tra các biến nhập liệu khả năng inject vào các biến đầu vào này. "Không bao giờ tin tưởng hoàn toàn người dùng", đây chính là một phương châm làm việc rất quan trọng đối với các lập trình viên. Chính vì vậy, việc kiểm tra dữ liệu được nhập vào từ người dùng là công việc vô cùng quan trọng.

(8) Testing for Error Handing

Tin tặc có thể tấn công vào website bằng cách thu thập những thông tin về kiểm tra cách xử lý lỗi của ứng dụng thông tin về lỗi. Những lúc này, các ứng dụng cần có cơ chế xử lý để không gặp phải hiện tượng tự nhiên lăn đùng ra chết đột ngột mà quản trị viên không hề biết chúng chết khi nào và vì sao lại chết.

(9) Testing for weak Cryptography

Đây là bước thực hiện kiểm tra mã hóa thông tin trên đường truyền. Bước này cực kì quan trọng đối với đối tượng là những website thương mại điện tử hay giao dịch.

(10) Bussiness Logic Testing

Kiểm tra về tính logic nghiệp vụ của ứng dụng. Kiểm tra này giúp kiểm định xem những xử lý đã hợp với logic và các chức năng của ứng dụng chưa.

(11) Client Side Testing

Bước cuối cùng là kiểm tra việc thực thi mã trên máy người dùng. Response nhận từ server sẽ được trình duyệt hiển thị cho user. Ngoài mã html ra còn có mã JavaScript. Nếu có thể inject code đặc biệt là javascript vào response này sẽ làm cho browser thực thi mã làm thay đổi một số tính năng của ứng dụng.

Thực hiện đầy đủ 11 checklist trong pentest theo tiêu chuẩn OWASP như hướng dẫn ở trên, vậy là bạn đã hoàn thiện quy trình pentest một cách chính xác và hiệu quả nhất. Chúc các bạn thành công!

Nguồn: Bizfly Cloud chia sẻ

>> Có thể bạn quan tâm:  Hướng dẫn Kiểm thử Đám mây (dành cho Người mới bắt đầu)

SHARE