Jakie formaty plików są używane do tworzenia wirusów w Ubuntu? [Zamknięte]

9

Jakie formaty plików są używane do tworzenia wirusów w Ubuntu? Na przykład większość wirusów Windows jest napisanych w .exeformacie, ale nie mogę zidentyfikować zwykłego formatu w Ubuntu.

Eshan Malimbada
źródło
3
W środowisku naturalnym nie ma wirusa dla systemu Linux.
20
@CelticWarrior Oczywiście są wirusy dla Linuksa i całkiem sporo en.wikipedia.org/wiki/Linux_malware Eshan: Wirusy nie są ograniczone do typu pliku, w Ubuntu lub Windows, nie ma określonego typu pliku, którego należy unikać lub cokolwiek takiego, przeczytaj link w tym komentarzu, aby uzyskać więcej informacji
Mark Kirby
@ MarkKirby to odpowiedź (i dobra), a nie komentarz.
don.joey
1
Nie głosuję za zamknięciem tego pytania, ponieważ jest to uczciwe pytanie: czy istnieją określone formaty plików zawierające wirusy w systemie Linux. Odpowiedział również @MarkKirby.
don.joey
5
Największy problem, jaki mam: skąd mają pochodzić te wirusy? Oficjalne repozytorium? (Naprawdę jestem sceptyczny, co się stanie) Launchpad? (możliwe, ale wątpliwe, ponieważ ich historia jest na tym dobra. Ponownie łatwo jest żyć z systemem przylegającym do oficjalnych repozytoriów.). Losowe skrypty? Nie rób tego ... nie jesteśmy średnie użytkowników Windows ... Kiedy wirus nie może dotrzeć do systemu lub ogranicza się do systemu 1 jest złośliwe oprogramowanie nie wirus ;-)
Rinzwind

Odpowiedzi:

27

Wbrew powszechnemu przekonaniu, istnieją wirusy dla Linuksa i całkiem sporo. Chociaż są one znacznie mniej powszechne w systemie Linux i wymagają przez większość czasu wpuszczania ich do systemu, nadal istnieją.

Wirusy nie są ograniczone do typu pliku w systemie Ubuntu lub Windows. Nie ma określonego typu pliku, którego należy unikać, lub coś w tym rodzaju, po prostu bądź ostrożny. Linux jest bezpieczny, o ile będziesz ostrożny.

Niektóre rzeczy, które możesz zrobić, aby być bezpiecznym, to:

  1. Nie pobieraj od stron trzecich, chyba że ufasz pobieranemu plikowi.
  2. Użyj aptlub Launchpad (usługa hostowania kodu Ubuntu) i podobnych usług, aby uzyskać oprogramowanie ze źródła.
  3. Unikaj kopiowania i wklejania poleceń terminalu, które znajdziesz online, zwłaszcza jeśli ich nie rozumiesz.

Możesz także użyć antywirusa, np. clamavJeśli chcesz przeskanować system w poszukiwaniu jakichkolwiek zagrożeń.

sudo apt-get install clamav

Zainstaluj clamtkdla GUI.

Oto lektura na temat popularnych wirusów linuksowych i sposobów radzenia sobie z nimi.

Mark Kirby
źródło
5
Po prostu nigdy nie mają wpływu na Linuksa jak na Windows i prawie wszystkie (jeśli nie wszystkie) wymagają ich samodzielnej instalacji.
Rinzwind
3
@Rinzwind Większość wirusów w dowolnym systemie operacyjnym wymaga instalacji przez użytkownika; po prostu oszukują użytkownika, aby pomyślał, że robi coś innego. Alternatywnie wykorzystują błędy w określonym oprogramowaniu (np. Przeglądarki, klienty poczty), aby uzyskać podwyższone uprawnienia.
IMSoP
1
„Linux jest bezpieczny, dopóki jesteś ostrożny” - podobnie jak Windows (odkąd Microsoft zaczął dbać o bezpieczeństwo)
user253751,
1
@ MarkKirby UAC niewiele osiąga w systemie dla jednego użytkownika; program może nadal szyfrować wszystkie ważne pliki bez wyzwalania monitu UAC. Zapobiega to zaczepianiu się w systemie i uniemożliwieniu usunięcia, więc można go usunąć, ale do tego momentu pliki są już zaszyfrowane.
user253751,
1
@Rinzwind Nie ma sensu mówić „Linux jest bezpieczniejszy, ponieważ użytkownicy Linuksa są lepiej wykształceni”. Jeśli twoja edukacja zapewnia ochronę, to korzystanie z niej przez Windows również byłoby bezpieczne. Wirusy wykorzystują błędy, a błędy są wszędzie. Wirus oparty na makrach może być w całości rezydentny w ustawieniach i formatach plików jednej aplikacji i z powodzeniem rozprzestrzeniać się na wiele platform.
IMSoP,
13

Rozszerzenia nic nie znaczą. Podczas gdy Windows dba o nich, nie ma wirusów .exe. W Linuksie twoje rozszerzenie nie ma większego znaczenia. „Jaki rodzaj pliku” jest trochę bardziej elementarny.

Zasadniczo w Linuksie, prawdopodobnie będzie to jakiś smak pliku binarnego ELF , być może jako obiekt statyczny lub wspólny .

Może nawet podłączyć się do jądra jako moduł lub w inny sposób jako rootkit, lub po prostu zastąpić podstawowe narzędzie systemu operacyjnego lub jego komponent własnym.

Nie wszystkie z nich są jednak - nie ma wirusów, Jawa, w postaci plików klasowych , opartych montaż szelkod wyczynach lub nawet możliwość złośliwego oprogramowania napisanego w bash (choć jak będzie prowadzony na początek byłoby interesujące).

Zasadniczo, jeśli nie jesteś pewien, nie ufaj;)

Journeyman Geek
źródło
1
Wirusy w bash? Na pewno. Łatwo byłoby stworzyć keyloggera bash.
Nonny Moose
@NonnyMoose łatwe, zakładając, że masz uprawnienia roota
random_clyde
1
Inżynieria społeczna jest dość powszechnym sposobem wprowadzania szkodliwego oprogramowania do systemów.
Journeyman Geek
@ Jean-LouisBonnaffe dlaczego? potrzebujesz roota do edycji ./bashrc we własnym domu?
Rinzwind
@RinzWind Dokładnie. Potrzebujesz tylko roota, aby zainstalować go dla wszystkich użytkowników.
Nonny Moose
6

W tej odpowiedzi zamierzam zająć się złośliwym oprogramowaniem, a nie tylko wirusami.

Wirusy w systemie Linux nie są ograniczone do określonego rozszerzenia / typu pliku.

Aby lepiej zrozumieć, o czym mówimy, najpierw musimy zrozumieć związek między rozszerzeniami i typami plików oraz sposób działania wirusów.

W systemie Windows .exepliki zawierają pliki w formacie PE (Portable Executable format file, który zawiera binarne dane wykonywalne. Te dane wykonywalne są ładowane do pamięci, a następnie wykonywane przez interpretację instrukcji zawartych w tych danych.

Oznacza to, że najłatwiejszym sposobem uruchomienia kodu jest spakowanie go do pliku .exe. Istnieją jednak również inne sposoby. Pliki PDF są notorycznie niezabezpieczone, ponieważ zawierają części, które mogą być interpretowane przez czytelnika. Oznacza to, że osadzony skrypt może nadużywać słabości zabezpieczeń czytnika i na przykład wyszukiwać i modyfikować inne pliki PDF w systemie.

Może być jeszcze gorzej. Możesz nadużywać błędów programistycznych w aplikacjach, aby wstrzykiwać złośliwy kod bezpośrednio do pamięci komputera. Gdy już tam są, instrukcje te mogą być uruchamiane jako natywny kod i często z wysokimi uprawnieniami, z niszczycielskimi wynikami.

Jak to działa pod Linuksem?

Linux, podobnie jak Windows, ma binarny format wykonywalny. Windows ma format PE, Linux format ELF. Jednolity ogólnie mają znacznie mniej wyraźne wymaganie rozszerzenia pliku, więc pliki ELF zwykle nie mają rozszerzenia. Linux używa Magic Numbers do identyfikowania tych plików, dlatego nie potrzebuje rozszerzeń.

Pliki binarne nie są jednak wcale popularne jako metoda dystrybucji złośliwego oprogramowania w systemie Linux. Wynika to z faktu, że użytkownicy końcowi bardzo rzadko ręcznie otwierają pliki binarne, które otrzymują. Pliki binarne są instalowane i zarządzane przez menedżera pakietów, a nie użytkownika końcowego. Dlatego szkodliwe oprogramowanie potrzebuje innych wektorów ataku, aby wstrzyknąć swój kod ofierze.

Oznacza to, że te inne metody (wstrzykiwanie kodu, skryptowanie) są znacznie bardziej popularne jako nośniki złośliwego kodu.

detuur
źródło
2

Rozróżnienia nie dokonuje się tutaj poprzez rozszerzenie pliku, ale przez właściwość pliku ustawioną przez polecenie

chmod +x filename

W ten sposób możesz zrobić plik wykonywalny z pliku binarnego, a także z pliku skryptu.

Z

ls -l

możesz wyświetlić właściwości pliku w bezpieczny sposób przed wykonaniem.

Możesz także uruchomić:

file filename

aby wyświetlić bardziej szczegółowe dane o pliku.

kukulo
źródło
4
Rozumiem, co tu mówisz, „uprawnienia są ważne dla bezpieczeństwa, bardziej niż typy plików” i jest to bardzo dobra uwaga, ale być może możesz to wyraźnie powiedzieć. Zawsze zakładaj, że każdy, kto czyta, nie ma wcześniejszej wiedzy na ten temat :) Dokonaj prostej edycji, aby to wyjaśnić, a ja zagłosuję.
Mark Kirby,
1

Rozszerzenia i pliki wykonywalne mają niewiele lub nie mają nic wspólnego ze sobą w systemie Windows lub Linux, a rozszerzenia nie mają nic wspólnego z wirusami. Po otrzymaniu jawnego pliku do działania oba systemy operacyjne patrzą na nagłówek pliku, aby zdecydować, co z nim zrobić. Gdy w nazwie pliku występuje dwuznaczność, oba systemy operacyjne używają nieco innych strategii do identyfikacji zamierzonego celu. Na przykład, jeśli wpiszesz „echo hello” w polu uruchamiania systemu Windows, terminalu Windows lub terminalu Linux, oba będą szukać w każdym katalogu w zmiennej środowiskowej PATH pliku o nazwie „echo”, który ma uprawnienia do wykonywania, i spróbuje wykonać to z argumentem „cześć”. System Windows wyszuka również pliki „echo.com”, „echo.exe”, „echo.bat”, „echo.cmd”, „echo.vb”

Paul Smith
źródło
1
System Windows nigdy nie patrzy na nagłówek pliku. Używa tylko rozszerzenia.
UniversallyUniqueID
Przepraszam @BharadwajRaju, ale się mylisz. Jak wyjaśniłem, w systemie Windows rozszerzenie służy do „usprawnienia” wyszukiwania ścieżki, ale po znalezieniu odpowiedniego kandydata jest przekazywane do modułu ładującego, który sprawdza „nagłówek” pliku w celu ustalenia, co z nim zrobić. W nowszych wersjach systemu Windows ten moduł ładujący jest zestawem funkcji zawartych w pliku ntdll.dll (inne rozszerzenie wykonywalne).
Paul Smith
Zmieniło się? Rozumiem ... Więc system Windows może teraz otwierać pliki bez rozszerzeń?
UniversallyUniqueID
Nastąpiły zmiany, ale było to podstawowe zachowanie od czasów MS_DOS i CP / M przed nim.
Paul Smith
@PaulSmith Chociaż system Windows może otwierać plik bez rozszerzenia, system Windows zazwyczaj nie będzie wiedział, co zrobić z plikiem bez rozszerzenia, chyba że powiesz mu, aby otwierał się z taką i taką aplikacją .
mchid