Nó là 100% có thể. Đối với ttys / ptys (chế độ văn bản), cách dễ nhất là thêm shim vào / bin / {ba, da, a} sh (ví dụ: phân đoạn .code thứ hai, RX) và thay đổi điểm vào (giống như ELF virus sẽ). Chặn quyền truy cập vào điều đó trong trường hợp này, người ta có thể sửa đổi ~ / .profile hoặc ~ / .bashrc (v.v.) thành một mô hình giả thuyết rất đơn giản:
exec ~ / .malicy_programme
có thể tải mã đối tượng được chia sẻ động để ẩn chương trình độc hại đang được đề cập (ví dụ: cho phép .profile đọc và sửa đổi, nhưng ẩn dòng. Và / hoặc ẩn chương trình.)
Sau đó, người ta có thể sử dụng hệ thống UNIX98 pty (7) hoặc thậm chí đơn giản là đường ống (2) để ghi lại tất cả đầu vào trong một vỏ rẽ nhánh, giả sử fd không được đánh dấu FD_CLOEXEC và thậm chí thay đổi đầu vào của người dùng sang vỏ.
Trong X11, mặc dù kdm / gdm / xdm chạy dưới dạng setuid root (hoặc tương đương về khả năng [xem setcap (8)] hoặc bất kỳ mô hình bảo mật nào bạn đang sử dụng nếu không mặc định), rõ ràng mọi thứ trở nên phức tạp hơn. Nếu một người có thể nâng cao đặc quyền? iopl (2) hoặc ioperm (2) làm cho cuộc sống khá dễ dàng với truy cập trực tiếp vào các cổng bàn phím 0x60 / 0x64 trên x86. Vì chúng tôi cho rằng bạn không thể, chúng tôi phải tìm một tuyến đường khác. Tôi biết một số, nhưng tôi không hoàn toàn chắc chắn rằng bạn muốn có một bài luận văn về cách nó có thể và các giao diện liên quan.
Có thể nói, vòng 3, trojan không phải siêu người dùng hoàn toàn có thể xảy ra trên * nix, mặc dù cách ly quá trình, do các vấn đề khác nhau (đặc biệt là với X) đã thêm các tính năng cho trình nền chế độ người dùng để cung cấp, ví dụ: văn bản hỗ trợ lời nói cho tất cả các ứng dụng không ảnh hưởng đến bảo mật của hệ thống. Tôi đã phác thảo một cái hoạt động tương tự như ttysnoops (đã quá hạn sử dụng) và nó không yêu cầu root. Tôi có mã mẫu cho trường hợp này (sẽ bao gồm bên trong các thiết bị đầu cuối trong X), nhưng tôi chưa công bố nó. Nếu bạn muốn biết thêm thông tin, xin vui lòng liên hệ với tôi.