Cảnh báo dành cho những trang web mã nguồn WordPress

Cảnh báo dành cho những trang web mã nguồn WordPress

Cảnh báo dành cho những trang web mã nguồn WordPress

Chưa đầy 48 tiếng sau khi công bố lỗ hổng bảo mật Ghost có chứa trong thư viện GNU C (glibc), các nhà nghiên cứu đã phát hiện các ứng dụng PHP, bao gồm cả hệ thống quản lý nội dung WordPress có thể là mục tiêu tấn công cuối cùng của tin tặc.

Ghost là một lỗ hổng bảo mật trong glibc cho phép hacker có thể sử dụng vài ứng dụng chạy mã thực thi lệnh từ xa chiếm quyền điều khiển máy chủ Linux. Lỗ hổng này là một lỗi liên quan đến tràn bộ đệm heap-based và ảnh hưởng đến tất cả hệ thống Linux. Nó đã có mặt trong các mã glibc từ năm 2000.

Các lỗi tràn bộ đệm của glibc được tìm thấy trong hàm _nss_hostname_digits_dots(), mà hàm cụ thể được dùng dưới cái tên _gethostbyname. Ứng dụng PHP cũng như WordPress chính vì sử dụng các _gethostbyname nên dễ bị tổn thương diện rộng cho đến khi các nhà phân phối Linux tung ra các bản vá lỗi.

Chuyên viên Sucuri Marc-Alexandre Montpas đã viết trong một nghiên cứu công bố vào hôm thứ tư vừa qua: “Đây là một lỗ hổng bảo mật ảnh hưởng khá lớn đến WordPress: nó dùng hàm mang tên wp_http_validate_url() để xác nhận URL của mỗi bài viết pingback để có thể sử dụng hàm gethostbyname(). Vì vậy, một kẻ tấn công có thể tận dụng vectơ này để chèn một URL độc hại có thể gây ra lỗi tràn bộ đệm và các biên máy chủ khiến cho kẻ tấn công nắm quyền điều khiển hệ thống.”

Glibc là thư viện mã phổ biến nhất trên Linux. Thư viện chứa nhiều hàm tiêu chuẩn được các chương trình viết bằng ngôn ngữ C và C++ sử dụng. Lỗ hổng cũng ảnh hưởng đến các chương trình Linux được viết bằng ngôn ngữ Python, Ruby và hầu hết các ngôn ngữ khác bởi các chương trình này đều hoạt động dựa trên glibc. Kết quả là, hầu hết các hệ thống Linux bị coi là có lỗ hổng trừ khi chạy hàm thay thế glibc hoặc sử dụng phiên bản glibc chứa bản cập nhật từ 2 năm trước.

Cho đến nay, lỗi này được cho là được thử nghiệm để tấn công vào hệ thống Đại Lý Trung Chuyển Thư Exim (MTA). Các chuyên gia đều cho rằng đây là một lỗ hổng bảo mật khá khó khắc phục vì nó yêu cầu khởi động lại toàn bộ hệ thống.

“Việc khai thác phụ thuộc vào khả năng vận dụng một chương trình dò tìm DNS từ máy chủ của những kẻ tấn công. Việc này đã được tiến hành theo phương thức đặc biệt, nếu kẻ tấn công từ xa gọi thành công bất kỳ hàm nào trong số này, kẻ đó có thể thực thi mã tùy biến với quyền của user đang dùng ứng dụng”, nhà nghiên cứu Michal Zalewski cho biết.

Ông Montpas cũng trả lời phỏng vấn Threatpost về việc cuộc tấn công nhằm vào ứng dụng PHP như WordPress sẽ thực sự phụ thuộc vào hoàn cảnh mà gethostbyname () được thực thi.

“Trong WordPress, người ta có thể dễ dàng gắn cờ báo bị tấn công bằng cách nhìn vào tên miền “pingback” trang web đó. Một tên miền chứa nhiều hơn 255 byte có thể được cảnh báo là độc hại (RFC2181 tuyên bố một tên miền đầy đủ được giới hạn số lượng chính xác của số byte này)”.

Ngoài ra, các chuyên gia cũng cho biết thêm, đây là một lỗ hổng cực kì quan trọng và cần được quan tâm sửa chữa. Nếu bạn đang có một máy chủ chuyên dụng hoặc VPN chạy Linux, hãy cập nhật ngay bây giờ. Ông Montpas cũng cung cấp mã code PHD dành cho admin kiểm tra trên thiết bị cuối của máy chủ, nếu đoạn code trả về lỗi phiên giao dịch thì nghĩa là máy chủ Linux đã bị dính lỗi Ghost.

php -r ‘$e=”0″;for($i=0;$i<2500;$i++){$e=”0$e”;} gethostbyname($e);’

Segmentation fault

Việc vá lỗi Ghost trong hệ thống Linux dường như đã được quan tâm hơn sau sai lầm của lỗi bảo mật Bash Linux, UNIX và hệ thống Mac OS X. Các chuyên gia khuyến cáo người dùng nên nhận bản vá lỗi Linux tương ứng và khởi động lại hệ thống cần khắc phục khi nó có vấn đề.

Hiện nay, Debian 7, Red Hat Enterprise Linux 6 và 7, CentOS 6 và 7 và Ubuntu 12.04 đang chạy phiên bản glibc dính lỗ hổng bảo mật và đều vẫn chưa được tung các bản vá lỗi.

* Cách khắc phục:

Những ai làm công tác quản trị hệ thống Linux cần lưu ý theo dõi chặt chẽ các kênh chính thống để biết các bản phân phối cụ thể nào bị ảnh hưởng và bản vá đã có chưa. Admin cũng phải chuẩn bị cho việc khởi động lại máy chủ bắt buộc theo yêu cầu sau khi cài đặt bản vá. Như vậy, những việc cần làm của quản trị viên hiện nay là thực hiện theo các bước sau để update bản vá cho thư viện glibc:

Bước 1: Kiểm tra phiên bản glibc đang sử dụng (Ubuntu, Debian, RHEL/CentOS) với lệnh Ldd –version

Bước 2: Cập nhật glibc nếu đang sử dụng phiên bản từ 2.17 trở xuống

– Cho Ubuntu/Debian: Apt-get update && sudo apt-get upgrade glibc

– Cho Centos/RHEL: yum update glibc

Có thể sử dụng bản cập nhật cho toàn bộ hệ thống (nên cân nhắc cách làm này bởi hệ thống sẽ yêu cầu phải khởi động lại server dẫn đến gián đoạn dịch vụ của server):

– Cho Ubuntu/Debian: Apt-get update && sudo apt-get upgrade

– Cho Centos/RHEL: yum update

Xuân Dung

Loading Facebook Comments ...