Wykład 13. Bezpieczeństwo. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB



Podobne dokumenty
Wykład 12. Bezpieczeństwo c.d. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 11. Ochrona + Bezpieczeństwo cz. I. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

WSIZ Copernicus we Wrocławiu

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

Usługi sieciowe systemu Linux

Protokoły zdalnego logowania Telnet i SSH

System operacyjny UNIX - użytkownicy. mgr Michał Popławski, WFAiIS

Problemy z bezpieczeństwem w sieci lokalnej

Metody ataków sieciowych

Robaki sieciowe. + systemy IDS/IPS

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Podstawy bezpieczeństwa

Wykład 6: Bezpieczeństwo w sieci. A. Kisiel, Bezpieczeństwo w sieci

MidpSSH - analiza bezpieczeństwa

Bazy danych i usługi sieciowe

Program szkolenia: Bezpieczny kod - podstawy

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

SSL (Secure Socket Layer)

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

BEZPIECZEŃSTWO W SIECIACH

System Użytkowników Wirtualnych

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

PROGRAMY NARZĘDZIOWE 1

Wykład 12. Ochrona. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Sieciowa instalacja Sekafi 3 SQL

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ

WorkshopIT Komputer narzędziem w rękach prawnika

Bezpieczeństwo systemów komputerowych

System Kancelaris. Zdalny dostęp do danych

SecureFile. Podręcznik użytkownika

-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.

Instrukcja pierwszego logowania do Serwisu BRe Brokers!

Instrukcja użytkownika istorage datashur Instrukcja użytkownika

Problemy z bezpieczeństwem w sieci lokalnej

Zdalne logowanie do serwerów

Pojęcie wirusa komputerowego

Instrukcja logowania do systemu e-bank EBS

Co nowego w systemie Kancelaris 3.31 STD/3.41 PLUS

Wykład 3 Bezpieczeństwo przesyłu informacji; Szyfrowanie

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

11. Autoryzacja użytkowników

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Jak skorzystać z aplikacji do tworzenia kursów WBT Express

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

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

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

BlackHole. Bezpieczne Repozytorium Ważnych Zasobów.

Pierwsze kroki w systemie

1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7?

Bezpieczna poczta i PGP

Bezpieczeństwo informacji w systemach komputerowych

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Czym jest kryptografia?

Rozdział 6 - Z kim się kontaktować Spis treści. Wszelkie prawa zastrzeżone WiedzaTech sp. z o.o Kopiowanie bez zezwolenia zabronione.

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

1.Komputer na co dzień jest wykorzystywany w księgowości małej firmy. 2.W chwili naprawy komputer jest odłączony od Internetu i od sieci lokalnej.

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Bezpieczeństwo systemów informatycznych

Metody zabezpieczania transmisji w sieci Ethernet


Bezpieczeństwo usług oraz informacje o certyfikatach

- zawierających ogólnie dostępne informacje, takie jak: imię, nazwisko, numer rejestracyjny samochodu, numer telefonu, imiona dzieci itp.

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

2. Dane osobowe - wszelkie informacje, w tym o stanie zdrowia, dotyczące zidentyfikowanej lub możliwej do zidentyfikowania osoby fizycznej

Snifery wbudowane w Microsoft Windows

Authenticated Encryption

TECHNOLOGIE INFORMACYJNE

Zadanie 1 Treść zadania:

Konfiguracja programu pocztowego Outlook Express i toŝsamości.

Procedura zgłaszania problemów z obsługą oraz nieprawidłowości w funkcjonowaniu systemu PEFS 2007 w zakresie Programu Operacyjnego Kapitał Ludzki

Instrukcja instalacji aplikacji i konfiguracji wersji sieciowej. KomKOD

ZiMSK. Konsola, TELNET, SSH 1

Przewodnik użytkownika

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 1

SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH

Temat: EasyAccess 2.0 Data: 10 Października 2014 Prowadzący: Maciej Sakowicz

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Laboratorium Programowania Kart Elektronicznych

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

Technologia Internetowa w organizacji giełdy przemysłowej

korporacyjnych i resortowych na bazie protokołu u IP M. Miszewski,, DGT Sp. z o.o.

Sieciowe Systemy Operacyjne

SMB protokół udostępniania plików i drukarek

Modele uwierzytelniania, autoryzacji i kontroli dostępu do systemów komputerowych.

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Transkrypt:

Wykład 13 Bezpieczeństwo Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Bezpieczeństwo System jest bezpieczny, gdy zasoby są używane tak jak jest to (przez system) zamierzone bez względu na okoliczności. System może zapewniać wspaniały mechanizm ochrony gwarantujący, że użytkownik który jest studentem nigdy nie otrzyma praw zapisu do do pliku wyniki_egzaminu.txt, ale Student może się zalogować do systemu jako prof. Kowalski. Student może poprzez złośliwe działanie (np. utwórz 10000 procesów, przydziel 10GB pamięci, inne...) zakłócić normalną pracę systemu atak typu denial of service. Student może wystartować z dyskietki własny system operacyjny i uzyskać dostęp do wszystkich plików na dysku twardym Student może wymontować dysk z komputera, wstawić do innego systemu, a następnie powtórzyć czynności z poprzedniego kroku. Student mający znajomości w CIA może zarejestrować z odległości 200m wszystkie znaki wpisywane na klawiaturze. Student może wręczyć łapówkę profesorowi Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -2- Wydział Informatyki PB

Naruszenia bezpieczeństwa Całkowite bezpieczeństwo jest niemożliwe do osiągnięcia - ale należy projektować mechanizmy sprawiające, aby naruszenia były jak najrzadsze. Ogólnie można podzielić na przypadkowe bądź celowe, złośliwe (ang. malicious) - obrona przed złośliwymi jest dużo trudniejsza. Najważniejsze celowe naruszenia to: Nieautoryzowany dostęp do danych lub kradzież informacji. Nieautoryzowana modyfikacja danych. Nieautoryzowane zniszczenie danych. Uniemożliwienie normalnego korzystania z systemu (ang. denial of service, DOS). Niezbędne jest podjęcie niezbędnych środków na poziomie: Fizycznym: kluczyki, kasa pancerna,... Ludzkim: może nie warto przyznawać konta osobie, która jest spędza cały wolny czas w kasynie i jest zadłużona. Sieci: Komputery nie są izolowane, dane przesyłane są liniami nad którymi nie mamy kontroli: możliwość podsłuchu, ukrycia tożsamości, zmiany tożsamości Systemu operacyjnego. Na dzisziejszym wykładzie dwa ostatnie punkty Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -3- Wydział Informatyki PB

Uwierzytelnianie (ang. authentication) użytkowników Jak sprawdzić, czy identyfikator użytkownika jest autentyczny? Istniejące podejścia oparte są na sprawdzeniu wiedzy (hasła), pomiarach biometrycznych (linie papilarne, wzór siatkówki), czy stanu posiadania (np. karty chipowe). Hasła są najpopularniejsza, ale sprawiają wiele problemów. Ludzie wybierają jako hasła słowa łatwe do odgadnięcia (np. swoje imię). Użytkownik może zapisać trudne hasło na kartce i pozostawić w łatwo dostępnym miejscu. Hasła są narażone na ujawnienie w wyniku monitoringu (np. spoglądanie zza ramienia, przechwyt pakietów w sieci (o ile nie są szyforwane)). Problem: W jaki sposób nie przechowywać hasła w sposób jawny, ale jednocześnie umożliwić uwierzytelnienie? Odp: Wykorzystując szyfrowanie w postaci jednokierunkowej funkcji skrótu f, np. f( Wojtek ) = aqw36vbuyolrw6yefgnmyulocdxnmueq98i7rtfmuo76w Postać zaszyfrowana jest przechowywana w pliku z hasłami. Przy uwierzytelnianiu jest obliczana funkcja skrótu, a wynik porównywany z postacią zaszyfrowaną. Jeżeli funkcja skrótu jest na tyle bezpieczna, że (a) pomimo znajomości algorytmu i (b) znajomości postaci zakodowanej, nie da się analitycznie (bez przeszukania wyczerpującego ) odgadnąć hasła, dostęp do postaci zaszyfrowanej niewiele daje. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -4- Wydział Informatyki PB

Szyfrowanie symetryczne Sprzedaj akcje szyfrowanie BxWv;5df ~TmWe#4 ^,sdgfmwir 3:dkJeTsY\ s@!q3 deszyfrowanie Sprzedaj akcje BOB Ten sam klucz (tajny) ALICJA Algorytmy: DES,3-DES, IDEA, Blowfish,... (szybkie!!!) Wada: Jak uzgodnić tajny klucz (włamywacz może podsłuchiwać!!!) Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -5- Wydział Informatyki PB

Kryptografia asymetryczna różne klucze różne klucze Klucz publiczny Klucz prywatny Klucz publiczny Klucz prywatny BOB ALICJA Zarówno Bob jak i Alicja generują pary kluczy: Klucz publiczny - dostępny dla wszystkich np. w książce telefonicznej Klucz prywatny - tajny Algorytm działa w sposób następujący: Komunikat zaszyfrowany jednym kluczem z pary można odszyfrować wyłącznie drugim kluczem. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -6- Wydział Informatyki PB

Kryptografia asymetryczna - przesyłanie tajnej wiadomości Sprzedaj akcje szyfrowanie BxWv;5df ~TmWe#4 ^,sdgfmwir 3:dkJeTsY\ s@!q3 deszyfrowanie Sprzedaj akcje BOB Klucz publiczny Alicji Klucz prywatny Alicji ALICJA Tylko Alicja może odczytać wiadomość. Nie trzeba uzgadniać tajnego klucza!!! Alicja nie wie, czy nadawcą jest Bob Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -7- Wydział Informatyki PB

Kryptografia asymetryczna - podpis cyfrowy To ja BOB szyfrowanie BxWv;5df ~TmWe#4 ^,sdgfmwir 3:dkJeTsY\ s@!q3 deszyfrowanie To ja BOB BOB Klucz prywatny BOBa Klucz publiczny BOBa ALICJA Każdy może odczytać wiadomość. Mamy gwarancję że napisał ją BOB. Dobre narzędzie do uwierzytelnienia np. program ssh. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -8- Wydział Informatyki PB

Kryptografia asymetryczna Możemy łączyć dwie techniki np. BOB szyfruje wiadomość najpierw kluczem publicznym Alicji a potem swoim kluczem prywatnym. Alicja dekoduje używając najpierw klucza publicznego BOBa, a następnie swojego klucza prywatnego. Alicja ma gwarancję, że komunikat wysłała BOB i jednocześnie treść jest tajna. Techniki asymetryczne są niezwykle wolne (1000 razy wolniejsze od technik symetrycznych) - problem w przypadku długich wiadomości, ruchu w sieci,... W praktyce używa się rozwiązań hybrydowych, w którym techniki asymetryczne wykorzystuje się do wygenerowania i uzgodnienia klucza dla szyfru symetrycznego - ale dla użytkownika nie ma to znaczenia. Problem: Jak zagwarantować, że publiczny klucz Alicji umieszczony w książce telefonicznej jest naprawdę kluczem Alicji. Rozwiązania: certyfikaty. Klucz publiczny jest podpisany przez organizację której ufamy: VeriSign, PCSS, Microsoft (- to żart). W ten sposób powstaje PKI (Public Key Infrastructure) - e-banki, etc... Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -9- Wydział Informatyki PB

Złośliwe programy - klasyfikacja Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -10- Wydział Informatyki PB

Tylne drzwi + bomby logiczne Tylne drzwi (ang. trapdoor) Mechanizm, pozwalający osobie która jest świadoma jego istnienia na uzyskanie dostępu. Przykład: każdy który wykona telnet na port 12345 otrzymuje uprawnienia Administratora. Programiści często używają tylnych drzwi w celu ułatwienia debugowania systemu (mogą zapomnieć je usunąć, przykład jednej z bazy danych, tylne drzwi wykryto dopiero, gdy firma udostępniła kod na zasadach Open Source). Włamywacze pozostawiają/instalują tylne drzwi aby ułatwić sobie (i być może innym kolejne włamania). Bomba logiczna, kod umieszczony w legalnym programie, który eksploduje gdy spełnione są pewne warunki np. Programista zostanie skreślony z listy płac firmy. Firma pisząca program nie otrzyma zapłaty. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -11- Wydział Informatyki PB

Konie trojańskie Program, często atrakcyjny (np. gra komputerowa, program kompresji plików,...), często dostępny publicznie w internecie, który dodatkowo wykonuje pewne złośliwe czynności. Np. co 12 miesięcy formatuje dysk. Także programy typu spyware. Przykład: login spoofing: (a) Fałszywy ekran logowania (b) prawdziwy ekran logowania Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -12- Wydział Informatyki PB

Wirusy Wirus Adres początku Kod programu (a) Kod programu Wirus (b) Kod programu (c) Wirus Wirus Wirus Wirus Nagłówek Nagłówek Nagłówek Nagłówek (d) Wirus - program zdolny do powielania przez dodanie swojego kodu do innego programu. Uruchomienie innego programu powoduje ponowne powielenie się wirusa. Wirusy mogą także infekować: sektor startowy (boot sektor), dokumenty programów aplikacyjnych np. pliki Worda i Excela (bo mogą zawierać kod Visual Basica uruchamiany automatycznie po wczytaniu dokumentu - dziękujemy ci M$) a nawet kod źródłowy (np. w języku C) Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -13- Wydział Informatyki PB

Ochrona przed wirusami Generalnie nie należy uruchamiać niepewnego kodu, oprócz tego specjalistyczne oprogramowanie typu: Skanery antywirusowe: porównują kod wirusa z bazą danych. Wirusy starają się unikać wykrycia: szyfrowanie, wirusy polimorficzne. Skanowanie trwa długo. Jeżeli wirusa nie ma w bazie danych - problemy. Sprawdzanie spójności: utrzymuj sumy kontrolne dla każdego pliku (wirus może próbować je zmienić) Blokery: Uniemożliwiaj podejrzane zachowanie np. zapis do plików.exe - ale robi to wiele legalnych programów. Kontrola zachowania (ang. behavioral checking) wykrywaj zmiany zachowania się programu - przedmiot badań naukowych. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -14- Wydział Informatyki PB

Ataki typu Denial of Service Przykład: w nagłówku pakietu w jednym z protokołów TCP/IP pewne pole przechowuje długość pakietu. System Windows 95 nie sprawdzał, czy te pole ma sensowną wartość. (Tzn. zakładał że wartość ta jest zawsze poprawna). W efekcie wystarczyło wysłać przez sieć pakiet o wartości pola długość = 0xffffffff. System Windows przyjmował to za pakiet o długości 4GB i usiłując go skopiować zamazywał cały RAM komputera. Inny przykład: dzięki błędowi w procesorach Intela każdy użytkownik mógł wykonać niedozwoloną instrukcję o prefiksie 0x0f i wyłączyć procesor -> na szczęście odnaleziono obejście programowe. Nowość: ataki typu DDOS (Distributed DOS). Włamywacze przejmują kilka (set,tysięcy) komputerów w sieci (zombi). Następnie z każdego komputera częściowo otwierają setki połączeń TCP np. do serwera WWW - co przeciąża serwer, tak że zwykli użytkownicy nie mogą z niego korzystać. Obrona przed takimi atakami jest bardzo trudna, ponieważ ciężko stwierdzić że w ogóle trwa atak (może serwer jest obciążony legalnym ruchem) Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -15- Wydział Informatyki PB

Robaki (ang. Worms) Używa połączenie sieciowego do przenoszenie się z jednego systemu na drugi. Nie wymaga nosiciela. Robaki mogą się przenosić przy pomocy: E-maili. Otwarcie e-maila automatycznie uruchamia załącznik (dziękujemy ci M$). Załącznik zawiera program, który przegląda książkę adresową i rozsyła się do wszystkich korespondentów. Przydaje się odrobina inżynierii społecznej np. tytuł maila I Love You. Możliwości zdalnego wykonania kodu - dzięki wykorzystaniu techniki przepełnienia bufora. Błąd w systemie operacyjnym (często nie w jądrze, ale w uprzywilejowanych programach dokonujących komunikacji sieciowej użytkownika typu serwer WWW, serwer poczty) pozwala atakującemu na zdalne wykonanie dowolnego kodu. Ten kod transmituje robaka z maszyny atakującego, uruchamia robaka, skanuje sieć w poszukiwaniu innych ofiar itp. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -16- Wydział Informatyki PB

Przepełnienie bufora (1) Wyobraźmy sobie program wykonujący sie wysokimi uprawnieniami (np. Administratora - patrz bit suid) a w w funkcja A wołana z funkcji main: void A() { char B[128] scanf( %s,bufor); } // dalszy kod funkcji A Generalnie chodzi o sytuację w której (a) program otrzymuje dane z zewnątrz (b) na dane zaalokowaliśmy bufor o stałej długości, (c) nie sprawdzamy, czy dane przesyłane z zewnątrz nie zajmują więcej miejsca niż na nie przeznaczyliśmy. Co się stanie jeżeli napis będzie dłuższy od 128 znaków??? Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -17- Wydział Informatyki PB

Przepełnienie bufora (2) Przestrzeń adresów 0xFFFF... Zmienne lokalne main Stack pointer Stack Przestrzeń adresów Zmienne lokalne main Adr. powrotu Przestrzeń adresów Zmienne lokalne main Adr. powrotu SP Zmienne lokalne A B SP Zmienne lokalne A B Bufor B Program (a) Program (b) Program (c) Zmienne lokalne oraz adresy powrotu z funkcji (instr. call) przechowywane są na stosie. W wyniku przepełnienia bufora adres powrotu zostaje zamazany. Przy złośliwym skonstruowaniu danych, adres powrotu może wskazać na inną część bufora, co daje atakującemu możliwość wykonania dowolnego kodu z uprawnieniami zaatakowanego procesu (np. wyświetlenie shella) Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -18- Wydział Informatyki PB

Jak walczyć z przepełnieniami bufora Generalnie nie wolno ufać danym przekazanym na wejściu procesu (dotyczy to zwłaszcza procesów o wysokich uprawnieniach). Do przetwarzania danych używać wyłącznie funkcji pozwalających na określenie rozmiaru bufora (strcpy => strncpy). Ale mimo to firma M$ miała olbrzymie problemy z przepełnieniami bufora (robaki sieciowe NIMDA, CODE RED). W sieci szybko pojawiały się tzw. exploity, przez co użytkownicy nie mający doświadczenia technicznego (tzw. script kiddies) mogli się włamywać do systemów przez sieć. W Linuksie istnieje możliwość ładowania programów i bibliotek pod losowo wybrany adres, co niezwykle utrudnia konstruowanie exploitów. Z ostatecznym (???) ratunkiem pośpieszyły Intel i AMD: najnowsze wersje ich procesorów mają możliwość określenia zabronienia zakazu wykonania kodu (oprócz istniejącego już zakazu zapisu) dla każdej strony procesu. Nic prostszego jak ustawić bit zakazu dla wszystkich stron stosu. Nowe języki programowanie (Java, C# - platforma.net) nie używają wskaźników - i problemu nie ma (???) Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -19- Wydział Informatyki PB

Zasady projektowania bezpiecznych systemów Budowa systemu powinna być powszechnie znana. Domyślnie, dostęp powinien być zabroniony. Sprawdzaj uprawnienia na bieżąco. Dawaj procesom jak najmniejsze uprawnienia. Mechanizmy ochrony powinny być proste, jednolite i zaimplementowane w najniższych warstwach systemu. Wybrane metody ochrony nie mogą zniechęcać użytkowników....i utrzymuj prostotę budowy Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -20- Wydział Informatyki PB