Konstantin Ryabtsev, quản trị viên của cơ sở hạ tầng kernel.org, đã công bố kết quả phân tích lưu lượng truy cập của dịch vụ git.kernel.org, cho phép xem nội dung của các kho lưu trữ Git của các dự án liên quan đến phát triển nhân hệ điều hành. LinuxDịch vụ này xử lý khoảng 6 triệu yêu cầu thông tin cam kết mỗi ngày, trong đó 66% đến từ bot, và chúng bị hệ thống Anubis chặn. 33% yêu cầu được hệ thống Anubis xác minh, chỉ cho phép truy cập sau khi tấn công vét cạn một giá trị JavaScript mà hàm băm SHA-256 của nó, kết hợp với chuỗi do máy chủ gửi, chứa một số lượng chữ số 0 đứng đầu nhất định (tác vụ này yêu cầu tài nguyên CPU để giải quyết, nhưng không yêu cầu tài nguyên để xác minh).
Không thể xác định chính xác trong số 33% này, bao nhiêu là người thật và bao nhiêu là bot cao cấp, nhưng dựa trên bản chất của các yêu cầu, người ta kết luận rằng tổng số yêu cầu hợp lệ chỉ khoảng 2%, 98% còn lại đến từ các chương trình thu thập dữ liệu tự động. Một dấu hiệu nhận biết bot là các yêu cầu trực tiếp đến các commit cũ trong các nhánh cũ ngẫu nhiên mà người dùng khó có thể cần đến. Hoạt động của bot tạo ra một gánh nặng ký sinh trùng khổng lồ trên hệ thống. may chủ Bởi vì thay vì tải xuống toàn bộ mã nguồn và lịch sử commit một lần thông qua thao tác "git clone", các bot gửi hàng tỷ yêu cầu, thử tất cả các tùy chọn có thể thông qua giao diện web và liên tục yêu cầu cùng một dữ liệu với các tham số khác nhau.
Chặn bot bằng Địa chỉ IP của tôi Và các hệ thống tự động nhanh chóng ngừng hoạt động, khi các bot chuyển sang gửi yêu cầu từ hàng triệu địa chỉ IP ngẫu nhiên từ mạng gia đình hoặc mạng di động, thu được thông qua hoạt động của mạng botnet hoặc kiếm tiền từ các tiện ích mở rộng trình duyệt. Mỗi địa chỉ chỉ gửi 4-5 yêu cầu, khiến việc chặn chúng ở cấp độ tường lửa trở nên vô ích.
Ban đầu, hệ thống Anubis giúp chặn các bot, nhưng theo thời gian, các bot đã thích nghi để thực hiện các phép tính do Anubis cung cấp. Trong số những điều khác, các bot đã học cách giải quyết các bài toán có độ khó cấp 5, nhưng việc tăng độ khó lại gặp vấn đề, vì ngay cả cấp 5 cũng yêu cầu vài giây tính toán và gây khó chịu cho người dùng hợp pháp.
Do đó, việc xử lý các yêu cầu thu thập dữ liệu trong cơ sở hạ tầng kernel.org tiêu tốn nhiều tài nguyên hơn tất cả các loại hoạt động hợp pháp khác, bao gồm cả "git clone". may chủTại bất kỳ thời điểm nào, 14-16 trong số 90 lõi CPU phục vụ git.kernel.org luôn bận rộn hiển thị các commit Git cho các bot. Để giảm tải, các quản trị viên hiện đang cố gắng thu hẹp quy mô dịch vụ, vô hiệu hóa một số thao tác tốn nhiều tài nguyên, hạn chế truy cập ẩn danh và giảm số lượng liên kết có sẵn để điều hướng.
Nguồn: opennet.ru
