Get in touch
or send us a question?
CONTACT

Giới thiệu về công cụ kiểm thử bảo mật OWASP ZAP (Phần 1)

Như chúng ta đã biết Owap Zap là 1 tool test security vô cùng mạnh mẽ, giúp chúng ta có thể scan và tìm ra lỗ hổng bảo mật trong hệ thống ứng dụng một cách dễ dàng.

Lỗ hổng bảo mật là gì?

Lỗ hổng bảo mật là những điểm yếu nằm trong thiết kế và cấu hình của hệ thống, lỗi của lập trình viên hoặc sơ suất trong quá trình vận hành

OWASP đã đưa ra danh sách top 10 các rủi ro bảo mật trong ứng dụng Web (2020):

  1. Injection. Tiêm nhiễm mã độc như SQL, NoSQL, OS, and LDAP injection, xảy ra khi dữ liệu không đáng tin cậy được gửi đến trình thông dịch như một phần của lệnh hoặc truy vấn. Dữ liệu của kẻ tấn công có thể đánh lừa trình thông dịch để thực hiện các lệnh không mong muốn hoặc truy cập dữ liệu mà không có sự cho phép.
  2. Broken Authentication. Các chức năng ứng dụng liên quan đến xác thực và quản lý phiên thường được triển khai không chính xác, cho phép kẻ tấn công xâm phạm mật khẩu, khóa hoặc mã thông báo phiên hoặc khai thác các lỗi triển khai khác để giả định danh tính của người dùng khác tạm thời hoặc vĩnh viễn
  3. Sensitive Data Exposure. Nhiều ứng dụng web và API không bảo vệ đúng cách dữ liệu nhạy cảm, chẳng hạn như tài chính, chăm sóc sức khỏe… Những kẻ tấn công có thể lấy cắp hoặc sửa đổi dữ liệu được bảo vệ yếu kém đó để thực hiện hành vi gian lận thẻ tín dụng, đánh cắp danh tính hoặc các tội phạm khác.
  4. XML External Entities (XXE). Nhiều bộ xử lý XML cũ hoặc được cấu hình kém sẽ đánh giá các tham chiếu thực thể bên ngoài ở tài liệu XML. Các thực thể bên ngoài có thể được sử dụng để tiết lộ tệp nội bộ bằng cách sử dụng trình xử lý tệp URI, chia sẻ tệp nội bộ, quét cổng nội bộ, thực thi mã từ xa.
  5. Broken Access Control. Những biện pháp hạn chế liên quan đến quyền của user không được thực thi thích hợp. Kẻ tấn công có thể khai thác những lỗ hổng này để truy cập vào chức năng, dữ liệu trái phép, ví dụ như truy cập tài khoản của người dùng khác, xem các tệp nhạy cảm, sửa đổi dữ liệu của người dùng khác, thay đổi quyền truy cập, v.v.
  6. Security Misconfiguration. Sai sót cấu hình bảo mật là lỗi thường thấy nhất. Đây thường là kết quả của cấu hình mặc định không an toàn, cấu hình không đầy đủ hoặc đặc biệt, lưu trữ đám mây mở, tiêu đề HTTP bị cấu hình sai và thông báo lỗi dài dòng chứa thông tin nhạy cảm. Tất cả các hệ điều hành, khuôn khổ, thư viện và ứng dụng không chỉ phải được cấu hình an toàn mà còn phải được vá, nâng cấp kịp thời.
  7. Cross-Site Scripting XSS. Lỗi XSS xảy ra khi ứng dụng chứa dữ liệu không đáng tin cậy trong một trang web mới mà không được xác thực hoặc thoát đúng cách hoặc cập nhật trang web hiện có bằng dữ liệu do người dùng cung cấp thông qua việc sử dụng browser API có thể tạo HTML hoặc JavaScript. XSS cho phép những kẻ tấn công thực thi các tập lệnh trong trình duyệt của nạn nhân, có thể chiếm quyền điều khiển các phiên của người dùng, phá hoại trang web hoặc chuyển hướng người dùng đến các trang web độc hại.
  8. Insecure Deserialization. Giải mã không an toàn thường dẫn đến thực thi mã từ xa. Ngay cả khi lỗi giải mã không dẫn đến việc thực thi mã từ xa thì chúng có thể được sử dụng để thực hiện các cuộc tấn công, bao gồm replay attacks, injection attacks, privilege escalation attacks..
  9. Using Components with Known Vulnerabilities. Các component như thư viện, framework, module phần mềm khác, chạy với các đặc quyền giống như ứng dụng. Nếu một thành phần dễ bị khai thác thì có thể tạo điều kiện cho việc mất dữ liệu nghiêm trọng hoặc chiếm đoạt máy chủ. Các ứng dụng và API sử dụng các thành phần có lỗ hổng đã biết có thể làm suy yếu khả năng bảo vệ của ứng dụng và kích hoạt các cuộc tấn công và tác động khác nhau.
  10. Insufficient Logging & Monitoring. thực hiện ghi log và giám sát không đầy đủ, đi kèm tích hợp với phản ứng sự cố không hiệu quả làm hệ thống dễ bị tấn công, dễ bị trích xuất, phá hủy dữ liệu.

OWASP ZAP là gì?

Công cụ chẩn đoán bảo mật OWASP ZAP được tạo bởi cộng đồng quốc tế có tên gọi là  The Open Web Application Security Project (viết tắt là OWASP).

Cách sử dụng OWASP ZAP rất đơn giản. Chỉ cần tải tool về máy và nhập URL cử ứng dụng Web bạn muốn kiểm tra bảo mật. OWASP ZAP sẽ tấn công ứng dụng để kiểm tra, xác định điểm yếu.

Các lỗ hổng chính mà OWASP ZAP có thể kiểm tra là:

  • HTTP header injection
  • SQL injection
  • Past traversal
  • Open redirector
  • Cross-site scripting
  • Enable autocomplete function
  • Disclosure of application errors
  • X-Content-Type-Options header not set
  • X-Frame-Options header not set
  • Use of cookies without HttpOnly attribute

OWASP ZAP làm những gì?

OWASP ZAP kiểm tra các lỗ hổng trong các ứng dụng web bằng ba phương pháp kiểm tra sau.

・ Scan đơn giản
・ Scan tĩnh
・ Scan động

Scan đơn giản:

“Scan” là tấn công ứng dụng web mục tiêu. Nhập URL của ứng dụng web cần kiểm tra vào OWASP ZAP để bắt đầu scan đơn giản. Quá trình scan có thể mất vài phút, nhưng cũng có thể mất hàng giờ.

OWASP ZAP sẽ gửi số lượng lớn các yêu cầu đến ứng dụng web mục tiêu. Sau khi hoàn tất quá trình scan, lỗ hổng sẽ được hiển thị ở mục “Alert” trên màn hình máy tính.

Scan tĩnh:

Trong scan tĩnh, người dùng OWASP ZAP sẽ sử dụng ứng dụng web mà họ muốn kiểm tra.
Bằng cách này, khi người dùng sử dụng ứng dụng web như bình thường, OWASP ZAP sẽ kiểm tra xem ứng dụng Web hoạt động như nào khi có thao tác của người dùng. Sau khi hoàn tất quá trình scan, lỗ hổng sẽ được hiển thị ở mục “Alert” trên màn hình máy tính.

Scan động:

Scan động được thực hiện bằng cách gửi một số lượng lớn request (giống như quá trình scan đơn giản) tới các vị trí đã thực hiện scan tĩnh. Mục đích là “cố gắng tấn công một lần nữa” nhằm tìm ra các điểm yếu bị sót ở scan đơn giản và scan tĩnh. Sau khi hoàn tất quá trình scan, lỗ hổng sẽ được hiển thị ở mục “Alert” trên màn hình máy tính.

Ngoài ra, OWASP ZAP cung cấp chức năng tạo report, cung cấp cho chúng ta danh sách các điểm yếu và cách xử lý chúng. Sau khi hoàn thành quá trình scan, chúng ta có thể thực hiện xuất file báo cáo

Tóm lại

Bạn có thể sử dụng OWASP ZAP miễn phí để kiểm tra các ứng dụng web của công ty mình. Vậy tại sao không tận dụng cơ hội này để kiểm tra các lỗ hổng bảo mật bằng OWASP ZAP?