Pentest theo tiêu chuẩn owasp

owasp

Hiện nay việc ứng dụng CNTT vào thực tế đời sống trở nên khá phổ biến và nó giúp các doanh nghiệp thêm phần kết nối với nhau. Để xác nhận 1 Website bảo mật và cần đảm bảo sự an toàn về mặt thông tin thì website đó cần phải được kiểm thử

owasp

Có thể hiểu một cách đơn giản Penetration Testing ( Pentest ) chính là đánh giá độ an toàn bằng cách tấn công vào hệ thống. Người thực hiện một thử nghiệm xâm nhập được gọi là kiểm tra xâm nhập hoặc pentester.

OWASP là một chuẩn phục vụ cho việc kiểm thử của Pentester, liệt kê các công việc mà người kiểm thử nên làm và các checklist để thực hiện các công việc.

Tổ chức Open Web Application Security Project(OWASP) là tổ chức phi lợi nhuận, tổ chức này đã đưa ra chuẩn OWASP phục vụ cho công việc pentest hiệu quả và chi tiết.

Quy trình pentest được chia thành 11 công việc (mục), Để hoàn thành kiểm tra, mỗi công việc được chia ra nhiều check list.

  1. Information Gathering

Thu thập thông tin về đối tượng,thông tin về server. Bước này rất quan trọng bởi khi đã xác định được chính xác thông tin liên quan sẽ hình thành nên kịch bản để 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, từ đó có cách nhìn tổng quát về sản phầm cần pentest.

  1. Configuration and Deployment Mangement Testing

Cần đánh giá về hệ thống máy chủ, không chỉ dừng ở bước đánh giá ứng dụng, bạn cần phải đánh giá cả nền tảng mà các ứng dụng chạy trên đó bởi nó có thể gây nguy hại không chỉ đến web mà còn đến cả hệ thống server. Hình thức kiểm tra được sử dụng là whitebox và graybox.

  1.  Identify Management Testing

Sau khi đã thu thập xong thông tin về ứng dụng. Bước tiếp theo là nhận định khả năng có lỗi nằm ở đâu. Xác định những điểm để thực hiện tấn công được. Kiểm tra lại cách thức tạo tài khoản trong ứng dụng. Logic trong xử lý và các quyền của người dùng.

  1. Authentication Testing

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

  1. Authorization Testing

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

  1. Sesstion Management Testing

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

  1. 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, đó là 1 phương châm rất quan trọng đối với lập trình viên. 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.

  1. Testing for Error Handing

Kiểm tra cách xử lý lỗi của ứng dụng thông tin về lỗi cũng là 1 nguồn thu thập dữ liệu cho hacker có thể tấn công vào website. Những lú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 mà quản trị chẳng hay chết khi nào và vì sao lại chết.

  1. Testing for weak Cryptography

Kiểm tra mã hóa thông tin trên đường truyền. Đối với đối thượng là những website thương mại điện tử hay giao dịch thì việc kiểm tra, mã hóa đường truyền là một vấn đề hết sức quan trọng.

  1. 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 xử lý của ứng dụng đã hợp với logic và chức năng của ứng dụng hay không.

  1. Client Side Testing

Kiểm tra việc thực thi mã trên máy người dùng.Response nhận từ server sẽ được brower hiển thị cho người dùng. 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.

Trên đây là giới thiệu về 11 checklist trong pentest theo tiêu chuẩn OWASP. Thực hiện đầy đủ các checklist này bạn sẽ hoàn thiện quy trình pentest một cách chính xác và hiệu quả nhất.