🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.advocacy
Article #480570

OS przyszłości

#480570
From: Tomasz Wójtowicz
Date: Wed, 10 Nov 2010 23:05
59 lines
4209 bytes
Chciałbym przedyskutować problem, jak powinien wyglądać system 
operacyjny na miarę drugiej dekady XXI wieku. Windowsy i Uniksy to 
systemy, których filozofia konstrukcji tkwi w latach 1970, w czasach, 
kiedy nie było wirusów ani crackerów. Powoduje to, że dzisiaj te systemy 
ledwo radzą sobie z zagrożeniami, w zasadzie co chwila przychodzą newsy, 
że gdzieś jest dziura i już ktoś gdzieś przez nią się włamał.

Przyczyna słabości Windowsów i Uniksów tkwi m.in. w pochodzącej z lat 
70. filozofii: "Jeśli aplikacja czegoś chce, musimy jej to dać". Ja bym 
widział zupełnie inną filozofię dla OS-a nowej generacji:

1. Przypuśćmy, że aplikacja chce otworzyć socket, żeby wysłać coś przez 
sieć. System operacyjny, by default, ODMÓWI tego aplikacji, o ile ta nie 
jest zarejestrowana w systemie jako aplikacja używająca połączeń 
sieciowych (np. przeglądarka www, klient poczty). Oczywiście lista 
takich zarejestrowanych aplikacji jest jawna i użytkownik może z niej 
usunąć program, który mu się nie podoba. W ten sposób nie ma już 
sytuacji, że każdy byle notepad może sobie słać w sieć, co mu się podoba.

2. Aplikacja może mieć swoje własne pliki i robić z nimi co chce, ale by 
default nie ma dostępu do plików użytkownika. Jeśli aplikacja poprosi 
system o dostęp do plików użytkownika, wówczas system wyświetli 
użytkownikowi przed nosem okienko wyboru pliku, użytkownik wybierze 
konkretny plik i aplikacja tylko w ten sposób dostanie uchwyt do już 
otwartego pliku. Tak samo, jeśli w tym okienku użytkownik zaznaczy, że 
chce dać aplikacji plik w trybie read only, to aplikacja tylko takim go 
dostanie i żadne freopen() jej nie pomoże, bo system odmówi i już.

Z powyższego widać, że zwykły program, który nie jest na żadnej liście 
przywilejów, ma w systemie możliwości porównywalne z niepodpisanym 
apletem javy w przeglądarce www. Gdyby system traktował tak na dzień 
dobry każdą aplikację, wówczas wirusy, robaki i trojany miały by poważne 
problemy ze skutecznym działaniem. System miałby też większą tolerancję 
dla błędów, bo nawet kod podrzucony przez przepełnienie stosu wykonywał 
by się z tak samo ograniczonymi uprawnieniami.

Oczywiście pozostaje problem aplikacji uprzywilejowanych, czyli takich 
które są na listach nieograniczonego dostępu do socketów czy plików 
użytkowników, ale przynajmniej zawęzilibyśmy słabe punkty systemów do 
tychże aplikacji.

3. Jeszcze jedna kwestia - np. obecnie Firefox to są dwa procesy, jeden 
to jest okno główne, drugi to jest kontener dla pluginów. Może należało 
by budować takie aplikacje, jako agregaty złożone np. z 10 procesów, z 
których każdy robi swoje i z pozostałymi komunikuje się przez ściśle 
zdefiniowane interfejsy. Np. odrębny proces tylko do obsługi http - 
tylko on musiałby mieć przywilej socketa. Wówczas jeszcze bardziej 
zawężamy punkty możliwego ataku na system - np. zhackowanie GUI 
przeglądarki już nic nie da, bo proces GUI nie ma uprawnień do socketa, 
a interfejs do procesu http jest taki, że uniemożliwi bezpośrednie 
kontrolowanie socketa.

Napiszcie, co sądzicie o tych pomysłach. Ja wyjeżdżam na przedłużony 
weekend, więc ustosunkuję się do krytyki po powrocie.

-- 
Pozdrawiam,

Tomek
Technical Details
Message-ID: <ibf8ge$9ot$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail
From: Tomasz Wójtowicz <SPAMMERS_GO_AWAY@SPAMMERS.COM>
Newsgroups: pl.comp.os.advocacy
Subject: OS przyszłości
Date: Thu, 11 Nov 2010 00:05:50 +0100
Organization: http://onet.pl
Lines: 59
Message-ID: <ibf8ge$9ot$1@news.onet.pl>
NNTP-Posting-Host: chello087206102117.chello.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1289430350 10013 87.206.102.117 (10 Nov 2010 23:05:50 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Wed, 10 Nov 2010 23:05:50 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; pl; rv:1.9.2.12) Gecko/20101027 Thunderbird/3.1.6
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit