Theo anh, thực tế việc tìm kiếm và khai thác lỗ hổng Deserialization có khó hơn so với một vài lỗ hổng critical khác như SQL injection (Gỉa sử đều đủ kiến thức)?

  1. An ninh mạng

  2. Nguyễn Mạnh Hùng

Từ khóa: 

an ninh mạng

,

chuyên gia bảo mật - an toàn thông tin

Chào bạn Skid,

Câu hỏi của bạn chứng tỏ bạn có kiến thức rất sâu về WEB pentest và tôi rất vui khi được thảo luận với "đồng đạo" về lĩnh vực này. Lỗ hổng Deserialization là lỗ hổng khó hơn lỗ hổng mà bạn ví dụ SQL injection, khó hơn cả về cơ hội tìm kiếm được lỗ hổng lẫn kiến thức cần để khai tác. Theo thống kê của "

OWASP TOP TEN
" lỗ hổng SQL injection thuộc nhóm "Injection" đứng top 1 trong các lỗ hổng thường gặp. Anh em trong nghề thường nói đùa "dễ như ăn kẹo" khi gặp và khai thác các lỗ hổng SQL injection do hiện có rất nhiều công cụ giúp bạn tự động rà quét và khai thác lỗ hổng như Burp suite scanner, SQLmap...

Tuy nhiên, cùng với sự phát triển của các công cụ tấn công, các công cụ phòng thủ cũng phát triển không ngừng. Các tổ chức lớn hiện nay thường bảo vệ ứng dụng Web với các công nghệ hiện đại, ví dụ giải pháp WAF (tường lửa ứng dụng WEB) có thể giúp các tổ chức bảo vệ được ít nhất 80-90% trước lỗ hổng SQL injection. Việc khai thác thành công lỗ hổng SQL injection trong trường hợp có WAF sẽ khó hơn rất nhiều. Bạn cần dành nhiều thời gian và thực sự am hiểu về lỗ hổng để bypass WAF thay vì chỉ đơn thuần biết sử dụng công cụ. Đôi khi, với các tổ chức lớn có hệ thống giám sát an ninh thông tin (SOC) việc sử dụng công cụ một cách "ồ ạt" không giúp được bạn bypass WAF mà còn tạo ra rất nhiều cảnh báo, gây sự chú ý của quản trị hệ thống khiến họ chú ý hơn và có thể phát hiện cũng như vá các lỗ hổng trước khi bạn có cơ hội khai thác thành công. Trong quá trình công tác, tôi đã từng đối diện với 1 cuộc tấn công mà nhóm tấn công chỉ hoạt động sau 22h đêm và sử dụng các request exploit hầu như bằng tay để qua mặt hệ thống giám sát an ninh thông tin cũng như nhóm quản trị.

Ở chiều hướng ngược lại, lỗ hổng Deserialization khó khai thác và cũng khó bị phát hiện, ngăn chặn hơn. Tôi đã chứng kiến payload exploit lỗ hổng java deserialization đi qua WAF một cách dễ dàng mà không gây bất kỳ cảnh báo nào. Tuy nhiên, theo quan sát của tôi lỗ hổng Deserialization được chú ý từ năm 2014-2015, thịnh hành trong các năm sau đó nhưng có dấu hiệu giảm dần trong khoảng 1-2 năm trở lại đây.

Hi vọng chia sẻ của tôi giúp ích được cho bạn trong thời gian tới.

Trân trọng.

Trả lời

Chào bạn Skid,

Câu hỏi của bạn chứng tỏ bạn có kiến thức rất sâu về WEB pentest và tôi rất vui khi được thảo luận với "đồng đạo" về lĩnh vực này. Lỗ hổng Deserialization là lỗ hổng khó hơn lỗ hổng mà bạn ví dụ SQL injection, khó hơn cả về cơ hội tìm kiếm được lỗ hổng lẫn kiến thức cần để khai tác. Theo thống kê của "

OWASP TOP TEN
" lỗ hổng SQL injection thuộc nhóm "Injection" đứng top 1 trong các lỗ hổng thường gặp. Anh em trong nghề thường nói đùa "dễ như ăn kẹo" khi gặp và khai thác các lỗ hổng SQL injection do hiện có rất nhiều công cụ giúp bạn tự động rà quét và khai thác lỗ hổng như Burp suite scanner, SQLmap...

Tuy nhiên, cùng với sự phát triển của các công cụ tấn công, các công cụ phòng thủ cũng phát triển không ngừng. Các tổ chức lớn hiện nay thường bảo vệ ứng dụng Web với các công nghệ hiện đại, ví dụ giải pháp WAF (tường lửa ứng dụng WEB) có thể giúp các tổ chức bảo vệ được ít nhất 80-90% trước lỗ hổng SQL injection. Việc khai thác thành công lỗ hổng SQL injection trong trường hợp có WAF sẽ khó hơn rất nhiều. Bạn cần dành nhiều thời gian và thực sự am hiểu về lỗ hổng để bypass WAF thay vì chỉ đơn thuần biết sử dụng công cụ. Đôi khi, với các tổ chức lớn có hệ thống giám sát an ninh thông tin (SOC) việc sử dụng công cụ một cách "ồ ạt" không giúp được bạn bypass WAF mà còn tạo ra rất nhiều cảnh báo, gây sự chú ý của quản trị hệ thống khiến họ chú ý hơn và có thể phát hiện cũng như vá các lỗ hổng trước khi bạn có cơ hội khai thác thành công. Trong quá trình công tác, tôi đã từng đối diện với 1 cuộc tấn công mà nhóm tấn công chỉ hoạt động sau 22h đêm và sử dụng các request exploit hầu như bằng tay để qua mặt hệ thống giám sát an ninh thông tin cũng như nhóm quản trị.

Ở chiều hướng ngược lại, lỗ hổng Deserialization khó khai thác và cũng khó bị phát hiện, ngăn chặn hơn. Tôi đã chứng kiến payload exploit lỗ hổng java deserialization đi qua WAF một cách dễ dàng mà không gây bất kỳ cảnh báo nào. Tuy nhiên, theo quan sát của tôi lỗ hổng Deserialization được chú ý từ năm 2014-2015, thịnh hành trong các năm sau đó nhưng có dấu hiệu giảm dần trong khoảng 1-2 năm trở lại đây.

Hi vọng chia sẻ của tôi giúp ích được cho bạn trong thời gian tới.

Trân trọng.