Wirusy w systemie Linux. Konrad Olczak

Podobne dokumenty
Programowanie niskopoziomowe

Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces

Komputery przemysłowe i systemy wbudowane

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia. Język Java. Bezpieczeństwo języka Java

1.1 Definicja procesu

Programowanie w asemblerze Linkowanie

SYSTEM OPERACYJNY. Monika Słomian

Włączanie/wyłączanie paska menu

Necurs analiza malware (1)

Skrócona instrukcja obsługi programu. Mediamanager

Analiza możliwości złośliwego oprogramowania vjw0rm w kampanii phishingowej PayU

UMOWY CYWILNOPRAWNE Instalacja, rejestracja i konfiguracja programu

Adam Kotynia, Łukasz Kowalczyk

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

APLIKACJA SHAREPOINT

Dodawanie stron do zakładek

Java jako język programowania

Dodawanie stron do zakładek

Usługi sieciowe w kontenerach systemu operacyjnego CoreOS

Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania.

finiownia loginów. W zależności od ustawionej opcji użytkownik login:

Diagnostyka komputera

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

Norton 360 TM Instrukcja instalacji, aktywacji i dezinstalacji aplikacji

Aktualizacje oprogramowania Instrukcja obsługi

Oczyszczanie dysku. Zobacz również: 6 sposobów na zwolnienie miejsca na dysku twardym

Spis treści. Rozdział 1. Wprowadzenie, czyli kilka słów o komputerze / 11

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Linux

-Próba otworzenia pliku bezpośrednio z płyty CD także kończy się niepowodzeniem, pojawia się komunikat System Windows nie może otworzyć tego pliku.

Technika mikroprocesorowa. Języki programowania mikrokontrolerów

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2019 CZĘŚĆ PRAKTYCZNA

2 INSTALACJA OPROGRAMOWANIA. 3 3 GŁÓWNE OKNO PROGRAMU 3 4 MODUŁ OBSŁUGI ARCHIWUM 7

Temat: Windows 7 Centrum akcji program antywirusowy

PROGRAMY NARZĘDZIOWE 1

Inteligentne sterowanie ruchem ulicznym- ISRU

dr inż. Jarosław Forenc

Programowanie obiektowe

Kontrola topto. 1. Informacje ogólne. 2. Wymagania sprzętowe i programowe aplikacji. 3. Przykładowa instalacja topto. 4. Komunikacja.

Orange Polska S.A. Bezpieczeństwo Systemów Teleinformatycznych / Wydział Operacji Bezpieczeństwa

Przed rozpoczęciem kompresji musimy pobrać program w wersji odpowiedniej dla naszego systemu.

sprawdzonych porad z bezpieczeństwa

Instrukcja obsługi notowań koszykowych w M@klerPlus

INSTRUKCJA INSTALACJI I PIERWSZEGO URUCHOMIENIA APLIKACJI Rodzajowa Ewidencja Wydatków plus Zamówienia i Umowy

- komputer (stacja robocza) ma być naprawiony i skonfigurowany w siedzibie firmy,

Programowanie Niskopoziomowe

Wymagania techniczne dla programów antywirusowych. Oprogramowanie dla serwerów i stacji roboczych będących w sieci - ilość 450 sztuk:

Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:

Usuwanie blokady komputera przez policje - czyli trojana weelsof.

ArchTour Documentation

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

Plan na dziś. Co to jest wirus komputerowy? Podział wirusów komputerowych Jak działają wirus komputerowe? Jak zabezpieczyć się przed wirusami?

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Jak Windows zarządza pamięcią?

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Acronis Universal Restore

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

DBE DataBase Engineering

Zadanie 1 Treść zadania:

HELIOS pomoc społeczna

IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Narzędzie konfiguracji rozruchu

Zmiana logo. Dziękujemy za wybór naszych rozwiązań. apjoo od Apláuz. Wspólnie przebrniemy przez proces konfiguracji strony www i wstawiania treści.

Cel wykładu. Przedstawienie działania exploitów u podstaw na przykładzie stack overflow.

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

Instrukcja obsługi systemu exchange:

Instrukcja konfiguracji programu Fakt z modułem lanfakt

[1/15] Chmury w Internecie. Wady i zalety przechowywania plików w chmurze

Tomasz Greszata - Koszalin

Wyświetlanie publikacji w formacie DjVu. Wyświetlanie publikacji w Bałtyckiej Bibliotece Cyfrowej można realizować na 3 sposoby:

INSTRUKCJA I WSKAZÓWKI

Architektura komputerów

Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

PCPR. Konfigurator programu.

CEL zapoznanie z programem do tworzenia rysunków i ukazanie możliwości Edytora obrazów do sporządzania rysunków i ikon.

Logiczny model komputera i działanie procesora. Część 1.

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Architektura komputerów

ZAJĘCIA KOMPUTEROWE DLA KLASY 4 - ZASADY OCENIANIA

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

5.2. Pierwsze kroki z bazami danych

Instrukcja instalacji oprogramowania Systemu e-kt

Instrukcja użytkownika

Współpraca z platformą Emp@tia. dokumentacja techniczna

Programowanie niskopoziomowe

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.

Wymagania systemowe dla Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Zadanie programistyczne nr 3 z Sieci komputerowych

I. Uruchomić setup i postępować według instrukcji

Oprogramowanie antywirusowe musi spełniać następujące wymagania minimalne:

Na komputerach z systemem Windows XP zdarzenia są rejestrowane w trzech następujących dziennikach: Dziennik aplikacji

GIT. Rozproszony system kontroli wersji

Transkrypt:

Wirusy w systemie Linux Konrad Olczak

Plan prezentacji Różnice w bezpieczeństwie Windowsa i Linuxa. Pokazanie możliwości implemetacji wirusa.

Windows vs. Linux Uruchamianie plików. Różnorodność oprogramowania. Uprawnienia administracyjne. Ilość odwołań systemowych. Źródła. Popularność. Społeczność użytkowników. Zbytnia pewność bezpieczeństwa.

Uruchamianie plików LINUX WINDOWS Zapisanie pliku. Zapisanie pliku. Nadanie praw. Uruchomienie go. Uruchomienie pliku.

Różnorodność oprogramowania LINUX WINDOWS Dużo różnych programów. Brak standardów. Rozproszone cele dla atakującego. Większość użytkowników korzysta z tego samego oprogramowania. np. Outlook korzysta z mechanizmów IE.

Uprawnienia administracyjne LINUX WINDOWS Każde odwołanie do zasobów systemowych jest uwierzytelniane. Pod systemem Windows programy instalowane przez nieuprzywilejowanego użytkownika nadal mogą dodawać DLL'e i inne pliki systemowe.

Ilość odwołań systemowych LINUX WINDOWS

Źródła LINUX Otwarte. Każdy może zrobić i przesłać łatkę. Różne pomysły zabezpieczenia systemu. WINDOWS Zamknięte. Stała zamknięta grupa programistów. Nie trzeba dekompilować i szukać dziur na poziomie asemblera.

Popularność

Społeczność użytkowników LINUX WINDOWS Zaawansowani użytkownicy. Znający się na działaniu systemu. Każdy, kto zaczyna przygodę z komputerem.

Zbytnia pewność bezpieczeństwa Brak zwyczaju korzystania z jakiegokolwiek oprogramowania antywirusowego i zbytnie poczucie bezpieczeństwa większości użytkowników "pingwina" sprawia, że raz zainstalowany rootkit może egzystować w systemie znacznie dłużej, niż na przeciętnym komputerze z Windowsem, gdzie program antywirusowy to wymuszona codzienność.

Scott Granneman z Security Focus Żeby zepsuć system Linux trzeba nad tym popracować. Żeby zepsuć system Windows wystarczy popracować na nim.

Tworzenie prostego wirusa.

Co trzeba wiedzieć Zdecydować się na konkretną architekturę. Znać strukturę plików wykonywalnych ELF. Wywołania systemowe. Znać asemblera.

ELF (Executable and Linking Format) Stosowany w różnych systemach uniksowych. Odmiana 32-bitową oraz 64-bitowa. Zasięg: Pliki wykonywalne. Biblioteki dynamiczne. Zrzuty pamięci. Pliki obiektowe.

Budowa ELF Nagłówek zawiera przesunięcie ważnych tablic. Tablica nagłówków - decydują o kształcie i treści przestrzeni adresowej tworzonego procesu. segmenty typu PT_LOAD tworzą i inicjalizują segmenty w pamięci wirtualnej. Tablica sekcji.

Nagłówek ELF Najważniejsze pole e_entry jest adresem wirtualnym punktu wejścia programu. Od instrukcji, która się tam znajduje, rozpocznie się jego wykonywanie. Pole to będzie nam przydatne, gdyż za jego pomocą przekierujemy wykonanie do kodu wirusa.

Wykorzystanie tablicy sekcji Tablica sekcji może zostać usunięta bez wpływu na działanie programu. Duży rozmiar (ok jednego kilobajta) na końcu pliku. Można rozszerzyć ostatni segment typu PT_LOAD, tak aby swoim zasięgiem objął dodatkowy obszar pliku, w którym umieścimy wirusa, co umożliwia załadowanie do pamięci danych, które nie powinny się tam znaleźć.

Wywołania systemowe Przerwania o wektorze 128. Identyfikator przerwania należy umieścić w rejestrze EAX przed wywołaniem przerwania (identyfikatory są w pliku nagłówkowym syscall.h), a jego argumenty w innych rejestrach. Użycie otoczek odpowiada ona za przygotowanie argumentów i wywołanie przerwania 128 oraz obsługę błędów. Stworzenie wirusa wymaga stworzenia własnych otoczek.

Przykładowa otoczka _exit, biblioteki libc.so.6 mov 0x4(%esp),%ebx mov $0xfc,%eax ;kod zakonczenia ;procesu zapisany w ;EBX ;nr wywolania sys. int $0x80 ;przerwanie 128 hlt

Otoczki wywołań w wirusie Główną funkcją wirusa będzie rozmnażanie się poprzez infekcję innych plików. Otwieranie i zamykanie plików i katalogów (open, close). Wyliczanie zawartości katalogu (getdents). Pobieranie informacji o obiektach systemu plików (stat). Wczytywanie i usuwanie plików z pamięci (mmap, munmap).

Odsyłacz Po szersze informacje wraz z implementacją odsyłam do czasopisma HACKIN9 z października 2010.

Bibliografia Hackin9 9-10-2010 http://tech.wp.pl/kat,1009785,title,czy-linuxjest-takibezpieczny,wid,11188033,wiadomosc.html http://www.linux.pl/?id=article&show=329

Dziękuje PYTANIA?