Міфи про зловмисне програмне забезпечення в Unix / Linux


142

Чи можливо заразити мою скриньку Linux шкідливим програмним забезпеченням?

Я не чув, щоб це сталося з кимсь, кого я знаю, і я чув кілька разів, що це неможливо. Це правда?

Якщо так, що з антивірусним забезпеченням Linux (безпекою)?


1
Перевірте цей Quora відповідь: goo.gl/UVCsgz охоплює основні причини , чому Linux / Unix відрізняється від Windows , з точки зору шансів бути випадково заражений шкідливими програмами.

2
Інша стаття , яку я знайшов інформативний, хоча і не так добре , як пов'язаний один @arielf: linuxmafia.com/~rick/faq/#virus
Джокер

Відповіді:


135

По-перше, напевно можна мати віруси під Unix та Unix-подібними операційними системами, такими як Linux. Винахідник терміна " комп'ютерний вірус" Фред Коен зробив свої перші експерименти в рамках 4.3BSD. Документ «How-To» існує для запису вірусів Linux , хоча, схоже, він не оновлювався з 2003 року.

По-друге, вихідний код комп’ютерних вірусів sh-script пропливав довше 20 років. Дивіться папір Тома Даффа за 1988 рік і документ Дага Макіллроя за 1988 рік . Зовсім недавно для конференції було розроблено незалежний від платформи вірус LaTeX . Працює в Windows та Linux та * BSD. Природно, його ефекти гірші під Windows ...

По-третє, з’явилася декілька реальних, живих комп'ютерних вірусів для (принаймні) Linux, хоча незрозуміло, чи більше 2 або 3 цих (RST.a та RST.b) коли-небудь знайшли «в дикій природі».

Отже, справжнє питання - чи не може Linux / Unix / BSD укладати комп’ютерні віруси? але скоріше, враховуючи, наскільки велика кількість настільних ПК та серверів Linux, чому це населення не має виду дивовижної чуми вірусів, якими приваблює Windows?

Я підозрюю, що причина пов'язана з м'яким захистом, який надає традиційний захист користувача / групи / інші дискреційні засоби захисту, і роздробленою програмною базою, яку підтримує Linux. Я маю на увазі, мій сервер все ще працює Slackware 12.1, але зі спеціально складеним ядром та великою кількістю перекомпільованих пакетів. На моєму робочому столі працює Arch, який є постійним випуском. Незважаючи на те, що вони обидва працюють під управлінням "Linux", вони не мають багато спільного.

Стан вірусів на Linux може насправді бути нормальною рівновагою. Ситуація в Windows може бути "царем дракона", дійсно незвичною. Windows API , душевнохворих бароко, Win32, NT-рідний API, магічні імена пристроїв , як LPT, CON, AUXякі можуть працювати з будь-якого каталогу, списки управління доступом , що ніхто не розуміє, традиції розрахованого на одного користувача, більш того, одного кореневого користувача, машини, маркувальні файли виконується за допомогою частини імені файлу ( .exe), все це, ймовірно, сприяє стану зловмисного програмного забезпечення в Windows.


35
Одне з питань, з яким ви стиралися, що варто врахувати, - це те, що Windows ABI залишається стабільним роками. (Точніше, у MS виникли великі проблеми, щоб підтримати всі різні ABI, які вони випустили прозоро. Наприклад, WoW64.) Це означає, що виконуваний файл, який працює в Windows 3.1, цілком може працювати в Windows 7. Це спричиняє монокультура в межах монокультури: авторам шкідливих програм не потрібно переробляти свої програми для кожної версії Windows, як це часто потрібно робити для Linux.
Warren Young

50
Я думаю, що ще однією причиною низького рівня вірусів у системах Unix / Linux та Mac є наявність глобальних систем управління пакунками, з довіреними сховищами, налаштованих за замовчуванням. Тоді як для Windows виходить в Інтернеті, щоб завантажити програмне забезпечення від прямих зловмисних постачальників, які вони знаходять під час гуглінгу, на unix / linux / mac ви використовуєте внутрішнє програмне забезпечення для перегляду сховища, де перевіряються та видаляються нові записи, якщо помічаються проблеми.
haylem

33
Крім того, що Windows є країною фірмової власності (хоча це трапляється і на інших платформах, я дивлюся на вас на Mac OS), люди прагнуть шукати потріскане програмне забезпечення для цієї платформи значно більше, ніж для інших. І ходити по темних алеях в Інтернеті не відрізняється від того, щоб ходити до темних алей у реальному житті: очікуйте неприємностей. Як можна довіряти дилерам наркотиків, щоб надавати те, що рекламують? І в немодифікованому вигляді? Тож як ви можете довіритись розбитим дилерам програмного забезпечення, щоб забезпечити те, що вони рекламують? І без зміни програмного забезпечення?
хайлем

5
Також дані відокремлюються від файлів коду та конфігурації (var & home; bin & usr; тощо). Подивіться у Windows - програмні файли - бінарні файли, конфігураційні файли, дані (MS SQL). Ви можете монтувати грі без даних для виконання даних. Програми не виконують кожного файлу, який ви накидаєте на них (текстових процесорів поштових клієнтів). Відкрити код для огляду. Швидке виправлення неполадок (перевірити час реакції для хлопців RedHat та Debian після загрози, виявленої в ядрі). При виявленні проблеми - Distro натискає на деяке оновлення (наприклад, я не усвідомлював це - KDE шукає прапор + x на ярликах на робочому столі, наприклад, щоб виконати їх, яка функція в якийсь момент відсутня)
jet

1
Коментар Хейлема, що знаходиться вище, буде цікавим, було б цікаво побачити, чи це "зміна гри" для зменшення "дуже безпечного" зображення OSX Macs, зараз через кілька років ... Я бачу, що шкідливі умови на OSX майже щодня , тому що користувачі завантажили та встановили зламане програмне забезпечення (пересічна людина, навіть не ухиляючись від виконання файлу "file.sh", який відкриється в терміналі, та набору пароля адміністратора!)
забувstackxpassword

49

Це допомагає запобігти поширенню вірусів у Windows


Пам'ятайте, що Linux використовується багатьма способами, наприклад, файловими та серверами електронної пошти.

Файли на цих серверах (файли MS Office, повідомлення в Outlook, програми EXE) можуть зберігатися з інфекцією.

Незважаючи на те, що вони не повинні впливати на самі сервери, можна налаштувати сервер перевіряти кожен файл, який зберігається, щоб переконатися, що він чистий, і запобігти подальшому поширенню, коли вони будуть повернуті назад до машини Windows.

Я сам встановив його, коли друг попросить мене перевірити, чому їх машина Windows не працює, або коли я підключаю диск накопичувача на машині Windows.


39
+1 реальна причина існування програмного забезпечення AV на Linux, полягає не стільки в тому, щоб сканувати проблеми, які можуть вплинути на систему, а на проблеми, які можуть вплинути на інші системи (наприклад, Windows).
ксенотеррацид

1
Це має бути прийнятою відповіддю. Решта мого домогосподарства використовує Windows. Я вважаю, що безпечніше підключити сторонні флешки на робочий стіл Linux, сканувати їх, а потім оголосити їх безпечними для підключення до інших машин вдома.
Йохан

Це дійсно крута точка зору; багато людей користуються таким Linux (usb), але, ймовірно, ніколи не усвідомлювали, що також може бути сканування на основі додатків на віруси Windows в Linux.
забулиstackxpassword

1
Я напівчасто перезавантажую свій ПК з Windows з USB-накопичувача Linux, щоб я міг запускати AV-сканування.
Джессі Чісгольм

23

Віруси для Linux в принципі можливі, і їх було декілька, проте в природі немає поширених вірусів Linux. Користувальницька база Linux досить мала, а в Linux набагато складніше вірусу завдати великої шкоди, оскільки модель користувача є досить обмежувальною на відміну від Windows XP. Тому автори вірусів зазвичай орієнтуються на Windows.

Є антивірусне програмне забезпечення Linux, наприклад, від McAfee, але жоден я Linux-користувач, якого я знаю, не використовує такого програмного забезпечення. Набагато важливіше встановлювати лише програмне забезпечення з надійних джерел і постійно оновлювати систему, своєчасно встановлюючи оновлення безпеки.


3
Я хотів би лише додати, що навіть якщо вам вдасться отримати вірус (за мої 10 років Linux я жодного разу не бачив), найгірший сценарій - це те, що ваша папка користувача буде порушена.
Паткос Чаба

37
Ні, найгірший сценарій - це повний системний компроміс. Близько шести тижнів тому фолкер ядра просто закрив величезну дірку в ядрі, яка дозволила б будь-якій програмі GUI переробити свої привілеї до рівня коренів. Зробіть трохи гугл навколо, і ви знайдете інші минулі дірки подібного характеру. Це правда, що Linux має кращу безпеку багатьма способами порівняно з Windows, але як і будь-яка інша база коду з мільйонів рядків коду, ви можете бути впевнені, що в ньому є інші дірки, які чекають, що їх знайдуть. Я також б закликав до того, щоб системи не були зафіксовані, а не антивірусними, але також тримайте вашу голову від піску.
Воррен Янг

6
Мені доводиться відрізнятись із причини "база користувачів досить мала". Перший по-справжньому широко розповсюджений ПК-вірус був "Мозок", у 1988 році. Напевно, Linux у 2010 році має більше користувачів настільних ПК, ніж MS-DOS у 1988 році. Чому в Linux немає більше вірусів, справді, чому він не має поширений вірус "Мозку"?
Брюс Едігер

7
Комп'ютери досягли чіткого домінування на платформі приблизно в 1988 році. Найвищий цвях товчеться, як сьогодні.
Воррен Янг

6
ехокс правильний. AV-програмне забезпечення для Linux, насправді не існує для захисту самої системи Linux. це там, щоб сканувати файли, які обслуговує Linux. Ось чому більшість із цих АВ дивляться лише на файли, до яких вони спрямовані на сканування, а не на будь-який файл, до якого в систему доступний або змінюється.
ксенотеррацид

21

Як історична примітка, перший Інтернет-черв'як, черв’як Морріс , поширився через вразливості утиліти Unix. Він передує Linux, але показує, що можлива зараження систем на базі Unix.


2
Черв’як Морріс, однак, не був вірусом. Вірус повинен приєднуватися до якогось іншого програмного забезпечення, тоді як програмне забезпечення, яке написав Роберт Морріс, було в цьому сенсі незалежним. Це було самовідмноженням, але й самодостатнім, а отже, глистом, а не вірусом.
CVn

@ MichaelKjörling зловмисне програмне забезпечення тоді?
Брайам

6

На мою думку, є ще одна причина, крім зазначених в інших відповідях, що платформа Linux не має багато вірусів. Вихідний код майже всіх компонентів Linux є у вільному доступі.

Скажімо, команда з 5 членів розробляє додаток. До списку ми включаємо тестерів та декількох інших, і код може знати не більше 10 осіб. З цих десяти шансів, що деякі з них не матимуть достатньо детальних знань про код. Отже, кількість людей, які знають код досить добре, щоб вказувати на помилки, отворів у безпеці дуже менше.

Тепер, якщо цей код зроблено вільним / відкритим кодом, пара очей, які його переглянуть, різко зросте. Звідси збільшується ймовірність знайти отвори в безпеці.

Ці нові учасники приносять свій досвід з ними, і часто свіжі очі здатні помітити лазівки, які розробники спочатку ігнорували / сприймали як належне / пропускали.

Чим популярнішим є додаток, тим більше його користувачів. Я думаю, що ця свобода / відкритість сприяє зменшенню кількості вразливих платформ Linux.


5
Я дуже ненавиджу це говорити, але характер відкритого чи закритого джерела може впливати лише на швидкість, з якою досягається певний стан помилки. Дивіться: "Молоко чи вино" Енді Озмента ( andyozment.com/papers/… ) та Росса Андерсона "Відкриті та закриті системи еквівалентні" ( cl.cam.ac.uk/~rja14/Papers/toulousebook.pdf )
Брюс Ediger

Дякую Брюсу за те, що він поділився посиланнями. Обов’язково пройдемо через них.
Ендрю-Дуфресне

3
Який користувач Linux перевіряє весь вихідний код перед тим, як видавати sudo make install?
Кальмарій

5

Вже є хороші відповіді, але я все ж хотів би щось внести.

Включаючи прості практики безпеки, які все ще краще, ніж Windows, навіть після цього часу, і всі ці віруси, я також вважаю, що проблеми значною мірою є соціальними.

Я вважаю, що головним фактором є різноманітність дистрибутивів. Це підвищує працею, яка бере участь у тому, щоб вірус мав те, що йому потрібно поширити. Це в поєднанні з демографічними показниками користувачів Linux, які не так вже ймовірні (імхо) натискати на хитру електронну пошту або взагалі наражати себе на небезпеку, означає, що успіх вірусу ще більше гальмується.

Люди, ймовірно, більш мотивовані для нападу на вікна.


4

Хоча так, для Linux існує кілька вірусів , про них не потрібно занадто хвилюватися. Вони досить рідкісні, щоб, швидше за все, сумувати за тобою.

Те, про що ви можете, і про що варто турбуватися, - це глисти . Ці програми, на відміну від вірусів, які зазвичай використовують взаємодію користувачів з метою зараження, поширюють усі між собою між серверами, використовуючи вразливості в службах і платформах. Черви шукають більше серверів для зараження, встановлюють себе на вразливі машини та часто змінюють свою поведінку - наприклад, для обслуговування вірусів відвідувачам клієнтів Windows.


3

Проста відповідь полягає в тому, що жодна операційна система не є 100% захищеною, якщо тільки вона не читає з носія лише для читання при запуску не є 100% захищеною.

Однак у Windows є більше векторів для інфекцій, ці вектори є більш доступними, і коли зараження може завдати набагато більше шкоди. Це можна легко побачити, прочитавши "RootKit Арсенал" або інші книги.

Кількість подвигів на будь-якій машині приблизно пропорційна (приріст ave для вкорінення однієї машини) * кількість машин / (вартість створення вкоріненого зловмисного програмного забезпечення).

Оскільки кількість подвигів пропорційна кількості комп’ютерів, то має сенс, що кількість шкідливих програм більша в Windows.

Але, дурно вважати єдину причину. У Windows більше вірусів, тому що там працює більше комп'ютерів. Зауважте, що зараження шкідливим програмним забезпеченням у Linux набагато дешевше, ніж у Windows, оскільки шкода більше міститься. Зрозуміло, сума, отримана одним вкоріненням, менша). Зауважте також, що вартість вкорінення вища через причини, про які я згадую в першому пункті.

Майте на увазі, це правда, як і зараз. На даний момент linux - це краще архітектурна система, ніж Windows. Однак є сили, які говорять про те, що нам потрібно швидше розвивати зручні для користувача функції. Це може призвести до спрощення існування помилок та створення вірусів. Вже зараз я вважаю, що Ubuntu майже такий же глючний, як і Windows.


Завантажувальний носій лише для читання лише зменшує поверхню атаки, не запобігає зловмисному програмному забезпеченню.
symcbean

re: Windows has more ... computers running it. Ну, більше комп’ютерів кінцевих користувачів, що працюють на ньому. Я вважаю, що більше серверів без голови, які працюють із ароматом * Nix (Unix-варіант, Linux-варіант), ніж Windows. Перші дні роботи DOS та Windows, які мали нульову безпеку, були важливим фактором, на який спрямована платформа.
Джессі Чизгольм

1

Інші відповіді дали хороші історичні довідки щодо вірусів на Unix та Linux. Більш сучасні приклади включають кампанії зловмисного програмного забезпечення "Windigo" та "Mayhem" . Вони заразили багато тисяч систем. Як повідомляється, Mayhem використовує вразливість Shellshock для поширення.

Що стосується програмного забезпечення для виявлення зловмисних програм Linux, у вас є як відкриті, так і комерційні альтернативи. На мою упереджену думку, найефективнішим є Second Look . Він використовує криміналістику пам'яті та перевірку цілісності для виявлення шкідливих програм Linux. Я розробник Second Look.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.