Docker phát hiện lỗi cho phép truy cập vào file system với quyền root

Tất cả các phiên bản hiện tại của Docker đều có một lỗ hổng có thể cho phép kẻ tấn công có quyền truy cập đọc-ghi vào bất kỳ đường dẫn nào trên máy chủ.

Lỗi này là kết quả của cách phần mềm Docker xử lý một số liên kết tượng trưng, là các tệp có đường dẫn đến các thư mục hoặc tệp khác. Nhà nghiên cứu Aleksa Sarai phát hiện ra rằng trong một số tình huống, kẻ tấn công có thể chèn liên kết tượng trưng của chính mình vào một đường dẫn trong một cửa sổ thời gian ngắn giữa thời gian đường dẫn đã được giải quyết và thời gian nó được vận hành. Đây là một biến thể của vấn đề thời gian kiểm tra đến thời gian sử dụng (TOCTOU), đặc biệt với lệnh “docker cp”, sao chép các tệp đến và từ các container.

FollowSymlinkInScope bị tấn công TOCTOU khá cơ bản, mục đích của FollowSymlinkInScope là đi theo một đường dẫn nhất định và giải quyết nó một cách an toàn như thể quá trình nằm trong container.

Nếu một kẻ tấn công có thể thêm một thành phần symlink vào đường dẫn sau khi phân giải nhưng trước đó được vận hành, thì cuối cùng hacker có thể giải quyết thành phần đường dẫn symlink trên máy chủ là root. Trong trường hợp ‘docker cp’, điều này cho phép hacker đọc và ghi quyền truy cập vào bất kỳ đường dẫn nào trên máy chủ.

Sarai đã thông báo cho nhóm bảo mật Docker về lỗ hổng này và sau khi nói chuyện với họ, hai bên đã đồng ý rằng việc tiết lộ công khai về vấn đề này là hợp pháp, ngay cả khi không có bản sửa lỗi để khách hàng biết về vấn đề này. Sarai cho biết các nhà nghiên cứu đã biết rằng loại tấn công này có thể có thể chống lại Docker trong một vài năm. Ông đã phát triển mã khai thác cho lỗ hổng và nói rằng một kịch bản tấn công tiềm năng có thể đi qua một nền tảng đám mây.

Kelly Shortridge, phó giám đốc phát triển sản phẩm tại Capsule8, một công ty bảo mật chuyên về bảo mật container, cho biết lỗ hổng Docker, không nhất thiết là trường hợp khẩn cấp đối với hầu hết các doanh nghiệp.

“Lỗi TOCTOU này trong Docker cho phép kẻ tấn công vi phạm tính toàn vẹn và bảo mật dữ liệu không chỉ trong container, mà còn trên máy chủ. Ngoài việc cấm tiện ích cp docker trên bất kỳ container đang chạy nào hoặc sử dụng sản phẩm bảo vệ tấn công, người dùng Docker tận dụng docker cp dễ bị tổn thương – nhưng chỉ dành cho những kẻ tấn công đủ động lực, những người sẵn sàng tham gia cuộc đua chống lại docker cp, “cô nói

Sarai đã đệ trình một bản sửa lỗi được đề xuất cho điểm yếu, liên quan đến việc tạm dừng các container trong khi hệ thống tệp đang được sử dụng.

“Giải pháp đầy đủ nhất cho vấn đề này là sửa đổi chrootarchive để tất cả các hoạt động lưu trữ xảy ra với root là rootfs container (chứ không phải thư mục cha, nguyên nhân gây ra lỗ hổng do thư mục cha bị kiểm soát bởi kẻ tấn công). Thật không may, những thay đổi đối với phần cốt lõi này của Docker là gần như không thể (giao diện TarUntar có nhiều bản sao và thực hiện lại tất cả cần phải được sửa đổi để có thể xử lý một đối số ‘root’ mới), ông Sar Sarai nói

Sarai cho biết ông đã không nhận được bất kỳ lời nào từ các quan chức Docker khi bản sửa lỗi sẽ được tích hợp và các quan chức của Docker đã không trả lời về thời gian sửa chữa.

Tôi chắc chắn rằng đó là thứ mà họ sẽ hợp nhất càng sớm càng tốt, nhưng vì đã có một số nghi ngờ rằng một cuộc tấn công như thế này có thể hoạt động trong một thời gian, họ cảm thấy ổn khi công bố cuộc tấn công công khai thay vì hoàn thành Quy trình cấm.

Nguồn :
https://duo.com/decipher/docker-bug-allows-root-access-to-host-file-system

Leave a Comment