Từ lúc chuyển sang dùng Linux mình đã để ý tới một ứng dụng rất hay dành cho Linux là Wine, Wine chắc cũng không lạ với mọi người, sau quá trình sử dụng là quá trình vọc Wine. Mình tự đặt câu hỏi là liệu Wine có thể lây nhiễm Virus vào máy đang sử dụng Linux hay không ?. Trong khuôn khổ bài viết này mình sẽ tiến hành phân tích và nêu cách phòng tránh mà mình đã áp dụng.
Trước khi đọc bài viết mình có một số quy ước nhỏ như sau:
Code:
#define Username "noname01"
#define Computername "noname01-pc"
#define ~/ "/home/noname01/"
#define $ "noname01@noname01-pc:~$"
Thực sự nguy cơ này rất rõ ràng, Wine được thực thi với quyền của noname01 sẽ có quyền chỉnh sửa các file thuộc quyền quản lý (own) của noname01. Nói cách khác một chương trình thực thi trong môi trường Wine sẽ có toàn quyền tương tác với /home/noname01/. Chúng ta sẽ để ý tới các Symlink sau:
Code:
~/.wine/dosdevices/c: --> ~/.wine/drive_c
~/.wine/dosdevices/z: --> /
~/.wine/drive_c/users/noname01/My Music --> ~./My Music
~/.wine/drive_c/users/noname01/My Pictures --> ~./My Pictures
~/.wine/drive_c/users/noname01/My Videos --> ~./My Videos
~/.wine/drive_c/users/noname01/My Documents --> ~./My Documents
~/.wine/drive_c/users/noname01/Desktop --> ~./Desktop
Việc cài đặt cá ứng dụng "Stand Alone" như FreeBasic compiler, hoặc một số chương trình các bạn tự viết vào ~/, sẽ tạo cơ hội cho virus tiến hành inject vào các file này. Chương trình bị nhiễm nếu vô tình bạn thực thi nó sẽ tạo nên quá trình lây nhiểm sâu hơn vào hệ thống. Virus sẽ tiến hành nâng quyền tùy theo các lỗ hổng khả hữu trên noname01-pc.
Để ngăn chặn việc này mình đã đưa ra một số phương pháp sau:
1.Backup thư mục .wine hiện tại.
Code:
$tar -cvzf backup.tar.gz /home/noname01/.wine
2.Loại bỏ các symlink và thay thế bằng các thư mục.
Code:
$rm ~/.wine/dosdevices/z:
$rm ~/.wine/drive_c/users/noname01/My Music
$rm ~/.wine/drive_c/users/noname01/My Pictures
$rm ~/.wine/drive_c/users/noname01/My Videos
$rm ~/.wine/drive_c/users/noname01/My Documents
$rm ~/.wine/drive_c/users/noname01/Desktop
$mkdir ~/.wine/drive_c/users/noname01/My Music
$mkdir ~/.wine/drive_c/users/noname01/My Pictures
$mkdir ~/.wine/drive_c/users/noname01/My Videos
$mkdir ~/.wine/drive_c/users/noname01/My Documents
$mkdir ~/.wine/drive_c/users/noname01/Desktop
3. Phân quyền chỉ đọc cho *.exe và *.dll.
Code:
$cd ~/.wine
$find -name *.exe -exec chmod a-w {} \;
$find -name *.dll -exec chmod a-w {} \;