Những lầm tưởng về phần mềm độc hại trong Unix / Linux


142

Có thể hộp Linux của tôi bị nhiễm phần mềm độc hại không?

Tôi chưa từng nghe về điều đó xảy ra với bất cứ ai mà tôi biết, và tôi đã nghe khá nhiều lần rằng điều đó là không thể. Điều đó có đúng không?

Nếu vậy, phần mềm chống vi-rút (bảo mật) của Linux thì sao?


1
Kiểm tra câu trả lời quora này: goo.gl/UVCsgz nó bao gồm các lý do chính tại sao Linux / Unix khác với Windows về khả năng bị nhiễm phần mềm độc hại ngẫu nhiên.
thân

2
Một bài viết khác mà tôi tìm thấy nhiều thông tin, mặc dù không tốt bằng bài viết mà @arielf đã liên kết: linuxmafia.com/~rick/faq/#virus
Wildcard

Câu trả lời:


135

Đầu tiên, chắc chắn có thể có virus trong các hệ điều hành giống Unix và Unix như Linux. Người phát minh ra thuật ngữ virus máy tính , Fred Cohen, đã thực hiện thí nghiệm đầu tiên của mình dưới 4.3BSD. Tài liệu hướng dẫn tồn tại để viết virus Linux , mặc dù có vẻ như nó chưa có bản cập nhật kể từ năm 2003.

Thứ hai, mã nguồn cho virus máy tính sh-script đã trôi nổi trong hơn 20 năm. Xem Tom Duff 1988 giấy , và Doug McIllroy của 1988 giấy . Gần đây, một virus LaTeX độc lập với nền tảng đã được phát triển cho một hội nghị. Chạy trên Windows và Linux và * BSD. Đương nhiên, hiệu ứng của nó tệ hơn trong Windows ...

Thứ ba, một số virus máy tính thực, sống cho (ít nhất) Linux đã xuất hiện, mặc dù không rõ liệu có hơn 2 hoặc 3 trong số này (RST.a và RST.b) đã được tìm thấy "trong tự nhiên" hay không.

Vì vậy, câu hỏi thực sự là Linux / Unix / BSD có thể nhiễm virus máy tính không? nhưng đúng hơn, với số lượng máy tính để bàn và máy chủ Linux lớn như thế nào, tại sao dân số đó không có loại vi-rút đáng kinh ngạc mà Windows thu hút?

Tôi nghi ngờ rằng lý do có liên quan đến sự bảo vệ nhẹ được đưa ra bởi người dùng / nhóm Unix truyền thống / các biện pháp bảo vệ tùy ý khác và cơ sở phần mềm bị bẻ khóa mà Linux hỗ trợ. Ý tôi là, máy chủ của tôi vẫn chạy Slackware 12.1, nhưng với kernel được biên dịch tùy chỉnh và rất nhiều gói được biên dịch lại. Máy tính để bàn của tôi chạy Arch, đó là một bản phát hành. Mặc dù cả hai đều chạy "Linux", nhưng chúng không có nhiều điểm chung.

Trạng thái của virus trên linux thực sự có thể là trạng thái cân bằng bình thường. Tình huống trên Windows có thể là "vua rồng", tình huống thực sự bất thường. Windows API là điên cuồng baroque, Win32, API NT-bản xứ, tên thiết bị kỳ diệu như LPT, CON, AUXcó thể làm việc từ bất kỳ thư mục, ACL mà không ai hiểu, truyền thống của người dùng đơn, nay, người sử dụng gốc duy nhất, máy móc, đánh dấu file thực thi bằng cách sử dụng một phần tên tệp ( .exe), tất cả những điều này có thể góp phần vào trạng thái phần mềm độc hại trên Windows.


35
Một vấn đề bạn đã vượt qua mà đáng để xem xét là Windows ABI vẫn ổn định trong nhiều năm. (Hay đúng hơn, MS đã gặp rất nhiều khó khăn để hỗ trợ tất cả các ABI khác nhau mà họ đã phát hành một cách minh bạch. Chẳng hạn, WoW64.) Điều này có nghĩa là một chương trình thực thi chạy trên Windows 3.1 có thể chạy tốt trên Windows 7. Điều này làm cho độc canh trong độc canh: người viết phần mềm độc hại không phải xây dựng lại chương trình của họ cho mọi phiên bản Windows, như bạn thường phải làm cho Linux.
Warren Young

50
Tôi nghĩ một lý do khác cho mức độ virus thấp trong các hệ thống Unix / Linux và Mac là sự hiện diện của các hệ thống quản lý gói toàn cầu, với các kho lưu trữ đáng tin cậy được cấu hình theo mặc định. Trong khi Windows trực tuyến để tải xuống phần mềm từ các nhà cung cấp trực tiếp xấu mà họ tìm thấy trong khi googling, trên unix / linux / mac, bạn sử dụng phần mềm nội bộ của mình để duyệt một kho lưu trữ nơi các mục mới được xem xét kỹ lưỡng và loại bỏ nếu có vấn đề.
haylem

33
Ngoài ra, Windows là vùng đất của độc quyền (mặc dù điều đó xảy ra trên các nền tảng khác, tôi đang xem xét Mac OS của bạn), mọi người có xu hướng tìm kiếm phần mềm bẻ khóa cho nền tảng này nhiều hơn so với các nền tảng khác. Và đi trong những con hẻm tối trực tuyến không khác gì đi đến những con hẻm tối trong đời thực: mong đợi những rắc rối. Làm thế nào bạn có thể tin tưởng một đại lý thuốc để cung cấp những gì họ quảng cáo? Và trong một hình thức không thay đổi? Vì vậy, làm thế nào bạn có thể tin tưởng các đại lý phần mềm bị bẻ khóa để cung cấp những gì họ quảng cáo? Và không có phần mềm được sửa đổi?
haylem

5
Ngoài ra Dữ liệu được tách ra khỏi các tệp mã và cấu hình (var & home; bin & usr; v.v.). Xem trong Windows- Chương trình tệp- tệp nhị phân, tệp cấu hình, dữ liệu (MS SQL). Bạn có thể gắn kết các thư mục mà không thực hiện dữ liệu. Các ứng dụng không thực thi mọi tệp bạn truy cập vào chúng (bộ xử lý thư của máy khách). Mở mã để xem xét. Khắc phục nhanh các sự cố (kiểm tra thời gian phản hồi cho các anh chàng RedHat và Debian sau khi mối đe dọa được tìm thấy trong kernel). Khi gặp sự cố - Distro đẩy một số cập nhật (ví dụ tôi không nhận ra - KDE đang tìm kiếm cờ + x trên các phím tắt trên máy tính để bàn để thực hiện chúng, tính năng bị thiếu tại một số điểm)
máy bay phản lực

1
Nhận xét của Haylem ở trên là đúng, sẽ rất thú vị để xem liệu đây có phải là "thay đổi trò chơi" để giảm hình ảnh "rất an toàn" của máy Mac OSX hay không, bây giờ vài năm sau ... Tôi thấy các điều kiện xấu trên OSX gần như hàng ngày , bởi vì người dùng đã tải xuống và cài đặt phần mềm bẻ khóa (người bình thường thậm chí không né tránh việc thực hiện 'file.sh' mở trong thiết bị đầu cuối và nhập mật khẩu quản trị viên của họ!)
quênstackxpassword

49

Nó giúp ngăn chặn sự lây lan của virus trong Windows


Hãy nhớ rằng Linux được sử dụng theo nhiều cách, chẳng hạn như máy chủ tệp và email.

Các tệp trong các máy chủ này (tệp MS Office, thông báo triển vọng, chương trình EXE) có thể được lưu trữ với nhiễm trùng.

Mặc dù chúng không ảnh hưởng đến máy chủ, nhưng người ta có thể định cấu hình máy chủ để kiểm tra mọi tệp tại thời điểm được lưu trữ để đảm bảo rằng nó sạch và ngăn chặn sự lây lan trong tương lai khi chúng được chuyển trở lại máy Windows.

Bản thân tôi đã cài đặt nó khi một người bạn yêu cầu tôi kiểm tra lý do tại sao máy Windows của họ không hoạt động hoặc khi tôi cắm ổ đĩa bút vào máy Windows.


39
+1 lý do thực sự cho sự tồn tại của phần mềm AV trên linux, không phải là quá nhiều để quét các vấn đề có thể ảnh hưởng đến hệ thống, nhưng đối với các sự cố có thể ảnh hưởng đến các hệ thống khác (như windows).
xenoterracide

1
Đây phải là một câu trả lời được chấp nhận. Phần còn lại của gia đình tôi sử dụng Windows. Tôi cảm thấy an toàn hơn khi cắm ổ đĩa flash nước ngoài vào máy tính để bàn Linux của mình, quét chúng và sau đó tuyên bố chúng an toàn để kết nối với các máy khác trong nhà.
Johan

Đó là một quan điểm thực sự tuyệt vời; Nhiều người sử dụng linux như thế (usb), nhưng có lẽ chưa bao giờ thực sự nhận ra rằng cũng có thể có một bản quét dựa trên ứng dụng để tìm virus Windows trên Linux.
quênstackxpassword

1
Tôi thường xuyên khởi động lại PC Windows của mình từ ổ USB Linux để tôi có thể chạy quét AV.
Jesse Chisholm

23

Về nguyên tắc, virus cho Linux là có thể và đã có một số, tuy nhiên trong tự nhiên, không có virus Linux phổ biến. Cơ sở người dùng Linux khá nhỏ và trong Linux, virus khó gây hại hơn nhiều vì mô hình người dùng khá hạn chế so với Windows XP. Do đó, các tác giả virus thường nhắm mục tiêu Windows.

Có phần mềm chống vi-rút Linux, ví dụ từ McAfee, nhưng không có người dùng Linux nào tôi biết sử dụng phần mềm đó. Điều quan trọng hơn nhiều là chỉ cài đặt phần mềm từ các nguồn đáng tin cậy và giữ cho hệ thống của bạn luôn cập nhật bằng cách cài đặt các bản cập nhật bảo mật kịp thời.


3
Tôi chỉ muốn nói thêm rằng ngay cả khi bạn quản lý để bị nhiễm vi-rút (trong 10 năm Linux tôi chưa từng thấy) thì kịch bản tồi tệ nhất là thư mục người dùng của bạn sẽ bị xâm phạm.
Patkos Csaba

37
Không, kịch bản tồi tệ nhất là thỏa hiệp hệ thống hoàn chỉnh. Dân gian kernel chỉ đóng một lỗ hổng lớn trong kernel khoảng sáu tuần trước, điều đó sẽ cho phép bất kỳ chương trình GUI nào nâng mức đặc quyền của họ lên cấp gốc. Thực hiện một chút Googling xung quanh, và bạn sẽ tìm thấy những lỗ hổng trong quá khứ khác của bản chất này. Đúng là Linux có bảo mật tốt hơn rất nhiều so với Windows, nhưng giống như bất kỳ cơ sở mã nào khác trong hàng triệu dòng mã, bạn có thể chắc chắn rằng có những lỗ hổng khác đang chờ được tìm thấy. Tôi cũng vậy, sẽ ủng hộ việc giữ cho các hệ thống được vá thay vì chống vi-rút, nhưng cũng giữ cho đầu của bạn ra khỏi cát.
Warren Young

6
Tôi phải khác với lý do "cơ sở người dùng khá nhỏ". Virus PC lan rộng thực sự đầu tiên là "Brain", vào năm 1988. Chắc chắn Linux năm 2010 có nhiều người dùng máy tính để bàn hơn MS-DOS đã làm vào năm 1988. Tại sao linux không có nhiều virus hơn, thực sự, tại sao nó không có Vi rút "Não" lan rộng?
Bruce Ediger

7
PC đã đạt được sự thống trị nền tảng rõ ràng vào khoảng năm 1988. Chiếc đinh cao nhất bị đập, sau đó như ngày nay.
Warren Young

6
echox là chính xác. Phần mềm AV cho linux, không thực sự ở đó để bảo vệ hệ thống linux. Nó ở đó để quét các tập tin mà linux đang phục vụ. Đó là lý do tại sao hầu hết các AV này chỉ nhìn vào các tệp mà chúng được hướng dẫn để quét, thay vì bất kỳ tệp nào được truy cập hoặc thay đổi trên hệ thống.
xenoterracide

21

Như một ghi chú lịch sử, con sâu Internet đầu tiên, Worm Morris , đã lây lan qua các lỗ hổng trong các tiện ích Unix. Nó có trước Linux, nhưng cho thấy các hệ thống dựa trên Unix có thể bị lây nhiễm.


2
Tuy nhiên, sâu bọ không phải là virus. Một vi-rút phải gắn vào một số phần mềm khác, trong khi phần mềm Robert Morris viết theo nghĩa đó là độc lập. Nó tự sao chép nhưng cũng tự duy trì, và do đó là một con sâu chứ không phải là virus.
một CVn

@ MichaelKjorling phần mềm độc hại thì sao?
Braiam

6

Theo tôi, có một lý do nữa, bên cạnh những lý do được đề cập trong các câu trả lời khác, nền tảng Linux không có nhiều virus. Mã nguồn của hầu hết tất cả các thành phần của Linux là có sẵn miễn phí.

Nói, một nhóm 5 thành viên phát triển một ứng dụng. Chúng tôi bao gồm những người thử nghiệm và một vài người khác trong danh sách và nhiều nhất 10 người sẽ biết mã. Trong số mười, rất có thể một số sẽ không có đủ kiến ​​thức chi tiết về mã. Do đó số người biết mã đủ tốt để chỉ ra các lỗi, lỗ hổng bảo mật là rất ít.

Bây giờ nếu mã này được tạo miễn phí / mã nguồn mở, cặp mắt sẽ xem xét nó sẽ tăng mạnh. Do đó xác suất tìm thấy lỗ hổng bảo mật cũng tăng lên.

Những người đóng góp mới này mang lại trải nghiệm của họ với họ và thường đôi mắt mới có thể nhận thấy những sơ hở mà các nhà phát triển ban đầu đã bỏ qua / coi là đã cho / bỏ qua.

Ứng dụng càng phổ biến thì càng có nhiều người đóng góp. Tôi nghĩ rằng sự tự do / cởi mở này góp phần làm giảm số lượng lỗ hổng của nền tảng Linux.


5
Tôi thực sự ghét phải nói điều này, nhưng bản chất nguồn mở hoặc đóng chỉ có thể ảnh hưởng đến tốc độ đạt đến trạng thái lỗi cụ thể. Xem: "Sữa hoặc Wine" bởi Andy Ozment ( andyozment.com/papers/... ) và Ross Anderson của "hệ thống mở và đóng là tương đương" ( cl.cam.ac.uk/~rja14/Papers/toulousebook.pdf )
Bruce Ediger

Cảm ơn Bruce đã chia sẻ các liên kết. Chắc chắn sẽ đi qua chúng.
Andrew-Dufresne

3
Người dùng Linux nào xem xét tất cả mã nguồn trước khi phát hành sudo make install?
Calmarius

5

Đã có câu trả lời tốt nhưng tôi vẫn muốn đóng góp một cái gì đó.

Bao gồm các thực tiễn bảo mật đơn giản vẫn tốt hơn so với windows ngay cả sau thời gian này và tất cả các loại virus đó, tôi cũng tin rằng các vấn đề chủ yếu mang tính xã hội.

Tôi tin rằng yếu tố chính là sự đa dạng của các bản phân phối. Điều này làm tăng sức lao động liên quan đến việc đảm bảo rằng virus có những gì nó cần lây lan. Điều này kết hợp với nhân khẩu học của những người dùng linux không có khả năng (imho) nhấp vào email tinh ranh hoặc thường tự đặt mình vào nguy cơ có nghĩa là sự thành công của virus bị ức chế hơn nữa.

Mọi người cũng được cho là có động lực hơn để tấn công các cửa sổ.


4

Mặc dù có, có một số vi-rút cho Linux, bạn không cần phải lo lắng quá nhiều về chúng. Họ không đủ phổ biến để có khả năng nhớ bạn hoàn toàn.

Những gì bạn có thể, và nên lo lắng về mặc dù, là giun . Các chương trình này, không giống như các vi-rút thường lấy sự tương tác của người dùng để lây nhiễm, tự lây lan tất cả giữa các máy chủ, khai thác lỗ hổng trong các dịch vụ và nền tảng. Worms tìm kiếm nhiều máy chủ hơn để lây nhiễm, tự cài đặt trên các máy dễ bị tấn công và thường xuyên sửa đổi hành vi của chúng - ví dụ: để phục vụ vi-rút đến thăm máy khách Windows.


3

Câu trả lời đơn giản là không có hệ điều hành nào an toàn 100%, trừ khi nó tự đọc từ phương tiện chỉ đọc khi khởi động là an toàn 100%.

Tuy nhiên, Windows có nhiều vectơ cho nhiễm trùng, những vectơ đó dễ truy cập hơn và một khi đã bị nhiễm có thể gây hại nhiều hơn. Điều này có thể dễ dàng nhận thấy bằng cách đọc "RootKit Arsenal" hoặc các cuốn sách khác.

Số lượng khai thác trên bất kỳ máy nào tỷ lệ thuận với (ave gain cho root một máy) * số lượng máy / (chi phí để tạo phần mềm độc hại root).

Vì số lần khai thác tỷ lệ thuận với số lượng máy tính, điều đó có nghĩa là số lượng phần mềm độc hại sẽ nhiều hơn trên Windows.

Nhưng, thật ngu ngốc khi giả định lý do duy nhất. Windows có nhiều virus hơn là do có nhiều máy tính chạy nó. Lưu ý rằng trong Linux, việc bị nhiễm phần mềm độc hại sẽ ít tốn kém hơn trong Windows vì thiệt hại được chứa nhiều hơn. Ngược lại, số tiền thu được từ một lần root là nhỏ hơn). Cũng lưu ý rằng chi phí root cao hơn vì những lý do tôi đề cập trong đoạn đầu tiên.

Hãy nhớ rằng điều này là đúng như bây giờ. Tại thời điểm này, linux là một hệ thống được kiến ​​trúc tốt hơn Windows. Tuy nhiên, có những lực lượng nói rằng chúng ta cần phát triển nhanh hơn các tính năng thân thiện với người dùng. Điều này có thể dẫn đến việc làm cho các lỗi tồn tại dễ dàng hơn và virus được tạo ra. Tôi đã tìm thấy Ubuntu gần như là lỗi như Windows.


Phương tiện khởi động chỉ đọc chỉ làm giảm bề mặt tấn công mà nó không ngăn chặn phần mềm độc hại.
symcbean

re: Windows has more ... computers running it. Vâng, nhiều máy tính người dùng cuối chạy nó. Tôi tin rằng có nhiều máy chủ ít đầu hơn chạy một số hương vị của * Nix (biến thể Unix, biến thể Linux) so với Windows. Những ngày đầu của DOS và Windows có bảo mật bằng không là một yếu tố lớn trong nền tảng đó được nhắm mục tiêu.
Jesse Chisholm

1

Các câu trả lời khác đã cung cấp các tài liệu tham khảo lịch sử tốt cho các vi-rút trên Unix và Linux. Các ví dụ hiện đại hơn bao gồm các chiến dịch phần mềm độc hại "Windigo""Mayhem" . Chúng đã lây nhiễm hàng ngàn hệ thống. Mayhem đã được báo cáo là sử dụng lỗ hổng Shellshock để lây lan.

Đối với phần mềm phát hiện phần mềm độc hại Linux, bạn có cả giải pháp thay thế nguồn mở và thương mại. Hiệu quả nhất, theo ý kiến ​​thiên vị của tôi, là Cái nhìn thứ hai . Nó sử dụng pháp y bộ nhớ và xác minh tính toàn vẹn để phát hiện phần mềm độc hại Linux. Tôi là một nhà phát triển của Cái nhìn thứ hai.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.