Projekt TrustedBSD jako klucz do bezpieczeństwa systemu FreeBSD

Podobne dokumenty
UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Projekt TrustedBSD jako klucz do bezpieczeństwa systemu FreeBSD

Netgraph w systemie FreeBSD. Wojciech A. Koszek MeetBSD 2005 Kraków

Tworzenie bezpiecznego środowiska kont shellowych

Tworzenie sterowników dla FreeBSD. Michał Hajduk

RULE SET BASED ACCESS CONTROL. Paweł Bylina

Bezpieczeństwo systemów informatycznych

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

EXSO-CORE - specyfikacja

Linux Contextualization

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect

Struktury systemów operacyjnych

Monitor maszyn wirtualnych

Organizacja i struktura projektu FreeBSD. Wojciech A. Koszek wkoszek@freebsd.org Częstochowa,

Działanie systemu operacyjnego

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Security Master Class Separacja uprawnień administracyjnych i audytowanie zdarzeń bezpieczeństwa - RBAC w JBoss EAP.

Działanie systemu operacyjnego

Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień.

TWÓJ BIZNES. Nasz Obieg Dokumentów

Bezpieczeństwo aplikacji w systemie Tizen

Bezpieczeństwo systemów informatycznych

Działanie systemu operacyjnego

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

FreeBSD: użytkowanie, administracja, rozwój. Wojciech A. Koszek Politechnika Częstochowska

Systemy operacyjne system przerwań

Warstwy systemu Windows 2000

Ochrona danych i bezpieczeństwo informacji

Systemy operacyjne II

Projektowanie zabezpieczeń Centrów Danych oraz innych systemów informatycznych o podwyższonych wymaganiach bezpieczeństwa

Elastyczna sieć dla rozwiązań Cloud Open vswitch

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Programowanie MorphX Ax

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

INTERNET - Wrocław Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid

Wprowadzenie do systemów operacyjnych

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control Wiktor Zychla 2013

SELinux podstawa bezpiecznej infrastruktury IT. 30 październik 2008r. Grupa Emerge

nr sprawy: BZP ML Wrocław, dn. 20 lutego 2014 r. SPROSTOWANIE DO INFORMACJI DLA WYKONAWCÓW NR 13

Paragon HFS+ for Windows

Systemy ERP. dr inż. Andrzej Macioł

Dlaczego warto wybrać Sparkmailing? SPARK MEDIA Advertising & New Media info@sparkmedia.pl tel fax

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Projekt i implementacja filtra dzeń Pocket PC

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Wirtualizacja. Piotr Sikora Tomasz Ziółkowski

Budowa systemów komputerowych

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Podręcznik aplikacji Planet Pay HCE Wallet. Wersja nr 1

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS , Comarch DMS i Comarch DMS

CONFidence 13/05/2006. Jarosław Sajko, PCSS

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz

Q E M U.

Linux vs rootkits. - Adam 'pi3' Zabrocki

Procesowa specyfikacja systemów IT

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Działanie systemu operacyjnego

Rozganianie czarnych chmur bezpieczeństwo cloud computing z perspektywy audytora. Jakub Syta, CISA, CISSP IMMUSEC Sp. z o.o.

!!!!!! FUDO% Architektura%Bezpieczeństwa! % % Warszawa,%28:04:2014%

Procedury techniczne modułu Forte Kontroling. Raportowanie danych w MS Excel - Konfiguracja IIS na Windows oraz wykonanie importu

Strona mobilna i strona responsywna w pozycjonowaniu. Mobile-First Index. Spis treści

Virtual Grid Resource Management System with Virtualization Technology

Praktyka Programowania

Szkolenie autoryzowane. MS Administracja i obsługa Windows 7. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Wirtualizacja sieci - VMware NSX

Architektura i administracja systemów operacyjnych

Roger Access Control System. Aplikacja RCP Point. Wersja oprogramowania : 1.0.x Wersja dokumentu: Rev. C

Podręcznik użytkownika aplikacji Planet Pay HCE Wallet

2016 Proget MDM jest częścią PROGET Sp. z o.o.

DESlock+ szybki start

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Oprogramowanie do wirtualizacji

System RFID SMART CONTROL OS EVB

Rozproszone systemy detekcji intruzów w sieciach korporacyjnych

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

Emulacja karty elektronicznej EMV. Michał Głuchowski Praca dyplomowa inżynierska pod opieką prof. Zbigniewa Kotulskiego

TWÓJ BIZNES. Nasze rozwiązanie

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

LPAR - logiczne partycjonowanie systemów

Zenoss. Monitorowanie nowoczesnej serwerowni

Systemy operacyjne III

Instalacja modułu LMS-KIDT

#line #endif #ifndef #pragma

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

Bezpieczeństwo danych w sieciach elektroenergetycznych

Podział programu na moduły

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

Podręcznik administratora systemu

POŁĄCZENIE STEROWNIKÓW ASTRAADA ONE MIĘDZY SOBĄ Z WYKORZYSTANIEM PROTOKOŁU UDP. Sterowniki Astraada One wymieniają między sobą dane po UDP

SELinux. SELinux Security Enhanced Linux. czyli. Linux o podwyższonym bezpieczeństwie

Transkrypt:

Projekt TrustedBSD jako klucz do bezpieczeństwa systemu FreeBSD Wojciech A. Koszek IX LO. im. C.K. Norwida w Częstochowie dunstan@freebsd.czest.pl SKI2005 09.06.2005

Główne funkcje jądra: Nadzór nad pracą procesora/procesorów Zarządzanie zadaniami Zarządzenie pamięcią podsystem VM Podział między pamięć poszczególnych procesów Podział na przestrzeń jądra i użytkownika Kontrola zasobów maszyny (instrukcje CPU, przerwania, porty I/O)

Systemy operacyjne kiedyś.. Jeden użytkownik z uprawnieniami nadzorcy Brak mechanizmów ochrony zasobów Brak potrzeby stosowania jakiegokolwiek modelu bezpieczeństwa Ograniczony dostęp do nowoczesnych technologii

Systemy operacyjne dziś Wielu użytkowników Hierarchiczny podział uprawnień Wielostopniowa kontrola zasobów Mechanizmy wirtualizacji zasobów Konieczność stosowania mechanizmów bezpieczeństwa

Mechanizmy kontroli w jądrze systemu? Doskonały dostęp do wszystkich zasobów Brak ograniczeń z powodu pracy w trybie chronionym, najwyższy poziom uprzywilejowany (x86 ring0) Limitowanie działań użytkownika to właśnie kontrola w warstwie jądra

Posix.1e Access Control Lists Auditing Capabilities Mandatory Access Control Information Labeling

Bezpieczeństwo niesie za sobą Zapotrzebowanie na konkretną funkcjonalność: Dodatkowe dane w strukturach systemu operacyjnego Kontrola na podstawie większej ilości kryteriów

Dlaczego FreeBSD? Stabilność (najdłuższy uptime według Netcraft - 26 na 50 systemów to FreeBSD) Bezpieczeństwo (jail(), securelevels, TrustedBSD, GBDE, (Fast)IPSec, OpenPAM, PF/IPF/ipfw2) Zaufanie (MacOSX, DARPA, NSA, NAI LABS) Dynamiczny rozwój, czytelność kodu Doskonałe perspektywy na przyszłość (implementacja nowych rozwiązań opłacalna)

Główny cel TrustedBSD: Posix.1e we FreeBSD Kod FreeBSD z gałęzi 5.x Sposób rozwoju zbliżony do FreeBSD Możliwe przeniesienie na inne systemy z rodziny BSD

Stan prac nad TrustedBSD Integracji uległy: MAC Rozszerzone atrybuty systemu plików ACL W trakcie rozwoju: Capabilities Auditing (zaprezentowany na BSDCan2005)

Mandatory Access Control: wywołania systemowe /usr/src/sys/kern/kern_exec.c: [..] static int do_execve(td, fname, argv, envv, mac_p) [..] #ifdef MAC error = mac_execve_enter(imgp, mac_p); if (error) { [..] #endif [..] #ifdef MAC mac_execve_exit(imgp); [..]

Mandatory Access Control: warstwa procesów [..] int cr_cansee(struct ucred *u1, struct ucred *u2) [..] #ifdef MAC if ((error = mac_check_cred_visible(u1, u2))) return (error); #endif [..]

Rozszerzone atrybuty systemu plików? Sama nazwa pliku jest niewystarczająca Liczne problemy ze śledzeniem zmian: Problemy z integralnością bazy danych dotyczących zmian Integracja z własnym oprogramowaniem: Niezwykle rozbudowane możliwości

ExtAttr we FreeBSD Natywne wsparcie dla rozszerzonych atrybutów przez UFS2 $ setextattr user CK_SHA1 `sha1 -q FILE` FILE $ lsextattr user FILE FILE CK_SHA1 $ getextattr user CK_SHA1

Access Control Lists Roszerzenie standardowego mechanizmu zabezpieczeń (OGU+RWX) Możliwość zdefiniowania szczegółowych uprawnień: odczyt dla użytkownika "dunstan", wykonywanie dla grupy "admin", użytkownicy "user1" i "user2" tylko odczyt.

Wykorzystanie istniejącej funkcjonalności moduły z polityką ładowane poprzez /boot/loader.conf użytkownicy oznaczani etykietą poprzez klasy logowania w /etc/login.conf

W trakcie tworzenia Capabilities Auditing Dokumentacja

Capabilities Ponieważ UID == 0 to czasami zbyt wiele Wystarczy możliwość "zbindowania" portu poprzez bind(2), utworzenia gniazda dzięki socket(2) Minimalizacja strat w przypadku przejęcia kontroli nad aplikacją

Auditing Logowanie interesujących zdarzeń (zasięg użytkownika i systemu) Brak dostępu do rekordów audytowania przez aplikację audytowaną

TrustedBSD nie jest dobre na wszystko! Ataki na implementacje podsystemów jądra: PR: kern/77748 - Local DoS w funkcji if_clone_list() PR: kern/77421 - Local DoS w funkcji ifconf()

Podsumowanie System posiada narzędzia konfiguracji (setfacl(1), setpmac(8), setfmac(8), ugidfw(8)) Potrzebna jedynie rekompilacja jądra: Niezbędne opcje opisane na stronach podręcznika mac(3) Audytowanie zdarzeń dostępne już niebawem

Koniec Dziękuję za uwagę. Zapraszam do zadawania pytań