2012-10-16 20 views
8

Tôi muốn tạo mô-đun hạt nhân từ đầu mà chốt vào phiên người dùng và theo dõi từng cuộc gọi hệ thống được thực hiện bởi các quy trình thuộc về người dùng đó.Mô-đun hạt nhân để theo dõi syscalls?

Tôi biết mọi người đang nghĩ gì - "sử dụng strace" - nhưng tôi muốn có một số ghi nhật ký và phân tích của riêng mình với dữ liệu tôi thu thập được và strace có một số vấn đề - ứng dụng có thể sử dụng "mmap" ghi vào một tệp mà không có nội dung tệp nào xuất hiện dưới dạng đối số của cuộc gọi hệ thống "mở" hoặc ứng dụng mà không có quyền ghi nào có thể tạo coredumps để sao chép dữ liệu nhạy cảm.

Tôi muốn có thể xử lý các trường hợp đặc biệt này và thực hiện một số lần đăng nhập của riêng mình. Tôi tự hỏi - làm thế nào tôi có thể định tuyến tất cả các syscalls thông qua mô-đun của tôi? Có cách nào để làm điều đó mà không cần chạm vào mã hạt nhân?

Cảm ơn

+1

Bạn nên sử dụng syscall 'ptrace' (thực sự được sử dụng bởi' strace' và 'gdb'). Chúc may mắn, bạn sẽ cần một số. Nhưng có thể bạn không cần mã bất kỳ mô-đun hạt nhân nào, chỉ để phát triển một ứng dụng bằng cách sử dụng 'ptrace' một số lượng lớn. –

Trả lời

2

Tôi có thực hiện một cái gì đó tương tự trong quá khứ bằng cách sử dụng một mô-đun hạt nhân để vá bảng gọi hệ thống. Mỗi chức năng được vá đã thực hiện một số việc như sau:

patchFunction(/*params*/) 
{ 
    // pre checks 
    ret = origFunction(/*params*/); 
    // post checks 
    return ret; 
} 

Lưu ý rằng khi bạn bắt đầu mút xung quanh trong cấu trúc dữ liệu hạt nhân, mô-đun của bạn sẽ phụ thuộc phiên bản. Mô-đun hạt nhân có thể sẽ phải được biên dịch cho phiên bản hạt nhân cụ thể mà bạn đang cài đặt. Cũng cần lưu ý, đây là một kỹ thuật được nhiều rootkit sử dụng vì vậy nếu bạn cài đặt phần mềm bảo mật, nó có thể cố gắng ngăn bạn làm điều gì đó như thế này.

+0

Điều này chắc chắn đúng hướng. https://bbs.archlinux.org/viewtopic.php?id=139406 là hướng dẫn tốt nhất tôi có thể tìm thấy. Với một số mucking xung quanh tôi đã đến nơi tôi có thể cướp bất kỳ tòa nhà syscall. Cảm ơn đã giúp đỡ! – PinkElephantsOnParade

Các vấn đề liên quan