background image

Bezpieczeństwo

Bezpieczeństwo poprzez utajnienie

68

październik 2008

Bezpieczeństwo

Bezpieczeństwo poprzez utajnienie

69

www.lpmagazine.org

   

 lin

ux

@

so

ftw

ar

ae

.co

m

.p

l

D

la niektórych jest to po prostu częściowe obej-
ście  problemów,  z  którymi  można  się  spotkać 
w wielu mechanizmach ochronnych, a dla jesz-
cze innych stanowi nową metodę rozwoju tech-

nik bezpieczeństwa. Cofając się trochę w historii można natra-
fić na źródło pod postacią Nowego Słownika Hackerów (ang. 
The New Hacker's Dictionary) świadczące o tym, że termin ten 
został stworzony przez hackerów w stosunku do największych 
wydawców systemów operacyjnych, których ulubionym zaję-
ciem
  była  sprzedaż  swoich  produktów  z  lukami  w  zabezpie-
czeniach  –  mianowicie  poprzez  ignorowanie  wcześniej  zgła-
szanych problemów czy nie poddawanie ich dokumentacji. Po-
siadali oni tym samym nadzieję, że nikt się o nich nie dowie, a 
ludzie którzy do nich dotrą – nie wykorzystają ich. Ta strategia 
nigdy nie sprawdzała i sprawdza się na tyle długo, by od cza-
su do czasu nie zaskoczyć świat jakimś wydarzeniem - tak jak 
zrobił to 2 listopada 1988 roku robak Roberta Tappan'a Morri-
sa (tzw. Morris Worm), który bazując na słabościach zabezpie-
czeń ówczesnych systemów BSD w wersji 4.2 oraz 4.3, Sun Mi-
crosystems oraz VAX unieruchomił na 8 dni 6 tysięcy kompute-
rów. Lecz dzięki takim wydarzeniom producenci oprogramowa-
nia nie raz zastanawiają się nad swoimi płytkimi poczynaniami 

w względach bezpieczeństwa – przewracając się na drugi bok 
by móc wrócić do spokojnego snu. Przecież, tak naprawdę, po-
ważne naprawianie błędów musiałoby poświęcić wszystkie za-
soby potrzebne do implementacji kolejnych, nowych wersji in-
terfejsów użytkownika, które jak wiadomo są ulubioną falbaną 
na liście życzeń działu marketingu. Ponadto, gdyby producen-
ci w tamtych czasach zaczęli tak chętnie naprawiać błędy zwią-
zane z bezpieczeństwem, klienci dzisiaj mogliby zacząć oczeki-
wać, że rynek informatyczny zagwarantuje im pewnego rodzaju 
prawo do systemu z mniejszą ilością dziur niż w podziurawio-
nym serze szwajcarskim, co przecież w rzeczywistości stało się 
faktem. Powracając do etymologii sformułowania: bezpieczeń-
stwo poprzez utajnienie – wyróżnia się dwie szkoły. Pierwsza z 
nich mówi, że termin ten został po raz pierwszy użyty na grupie 
dyskusyjnej comp.sys.apollo w wiadomości dotyczącej prowa-
dzenia kampanii mającej na celu wymuszenie na firmie Apollo 
(wykupionej przez firmę Hewlett - Packard) załatania luk w klo-
nie Uniksa – Aegis (po wykupieniu przez HP nazwanym Doma-
inOS). Oczywiście nie ruszono nawet palcem, by zrobić coś w 
tej kwestii. Z drugiej strony fani systemu ITS (ang. Incompati-
ble Timesharing System
) twierdzą, że termin ten został ukuty la-
ta wcześniej przez niesamowicie paranoiczną opozycję – czy-

Bezpieczeństwo 

poprzez utajnienie 

Bezpieczeństwo poprzez utajnienie / bezpieczeństwo przez niejawność (ang. Security Through 
Obscurity – STO – / Security By Obscurity – SBS) jest jedną z wielu filozofii modeli bezpieczeństwa, 
jednak jako paradygmat w wielu swoich odmianach wywołuje wiele kontrowersyjnych dyskusji w 
środowisku ekspertów bezpieczeństwa. 

Patryk Krawaczyński

background image

Bezpieczeństwo

Bezpieczeństwo poprzez utajnienie

68

październik 2008

Bezpieczeństwo

Bezpieczeństwo poprzez utajnienie

69

www.lpmagazine.org

li  ludzi  z  MIT  (ang.  Massachusetts  Institute  of 
Technology
)  zajmujących  się  systemem  Mul-
tics  (ang.  Multiplexed  Information  and  Compu-
ting  Service
),  dla  których  bezpieczeństwo  było 
wszystkim. Odnieśli się oni do faktu kultury ITS, 
iż bardzo skromnie napisana dokumentacja i nie-
jasność masy poleceń powodowała wiele proble-
mów osobom próbującym odkryć możliwości te-
go systemu. Dlatego ludzie, którzy pragnęli po-
dzielić się swoimi osiągnięciami ze społecznością 
ITS dokonywali najpierw różnych, niezamierzo-
nych komplikacji w swoim systemie, by później 
odkryć  rzeczywiste  przeznaczenie  wykonywa-
nych komend. Jednym z zamierzonych przypad-
ków użycia bezpieczeństwa przez utajnienie, któ-
ry został zarejestrowany w tamtych czasach by-
ło użycie komendy pozwalającej na nałożenie po-
prawki na pracujący w normalnym trybie system 
ITS (poprzez kombinację klawiszy: alt alt con-
trol-R
) – wyświetlanej jako: $$^D. Gdybyśmy w 
rzeczywistości wpisali: alt alt ^D, ustawiłoby to 
flagę systemu, która uniemożliwiałaby łatanie go 
nawet w przypadku, gdybyśmy później wklepali 
poprawną kombinację.

W  dzisiejszych  czasach  termin  ten  jest  po-

strzegany  jako  procesy  mające  zapewnić  ukry-
cie  ustawień  systemowych,  konfiguracji,  imple-
mentacji czy newralgicznych punktów systemu w 
celu wprowadzenia w błąd potencjalnych agreso-
rów. Dla wielu osób (głównie producentów opro-
gramowania) technika ta ma sens, gdyż zakładają 
oni, że nawet jeśli system posiada luki, to niezna-
jomość  ich  szczegółów  technicznych  uniemoż-
liwia przeprowadzenie za ich pomocą ataku. W 
tym świetle trudno nie podzielić zdania ekspertów 
od zabezpieczeń nisko oceniających tę filozofię, 
zwłaszcza jeśli jest ona jedynym zabezpieczeniem 
systemu. Wynika to z kilku prostych przesłanek: 
tajemnice  bardzo  trudno  utrzymać  –  szczegól-
nie umieszczanie informacji w dwójkowym ko-
dzie komputera nie gwarantuje ich tajemnicy i co 
najwyżej wymaga jedynie trochę więcej wysiłku 
ze strony atakującego; ludzie, którym powierza-
my tajemnice w rzeczywistości mogą być ludźmi, 
którzy dokonają na nas ataku; luki w bezpieczeń-
stwie podawane są bardzo często do wiadomości 
publicznej, dlatego ich utajnianie bardzo szybko 
wychodzi na światło dzienne; błędy w mechani-
zmach  zabezpieczeń  mogą  zostać  wykryte  bez 
dostępu do ukrytych zasobów – zresztą w przy-
padku ukrywania zasobów pod postacią zamknię-
tych źródeł może zostać użyta inżynieria wstecz-
na (ang. reverse engineering), a powoływanie się 
na łamanie praw autorskich przy użyciu inżynierii 
wstecznej jest pozbawione sensu, gdyż zdecydo-
wani napastnicy w fazie ataku są gotowi złamać 
prawo pod wieloma względami. Ma to również 
negatywny wpływ na badania nad skutecznością 
różnych zabezpieczeń, gdyż takie ujęcie nie do-

puszcza do recenzowania systemów bezpieczeń-
stwa  [patrz  Zjawisko  bezpieczeństwa  otwartego 
systemu Linux
 / Linux+ nr 1 (117) styczeń 2007] 
– jednak nadal poparcie dla zamkniętych źródeł 
znajduje oddźwięk w oczach wielu samooszuku-
jących się ignorantów lub polityków tracących nie 
swoje pieniądze na komercyjne rozwiązania. Li-
der ruchu Open Source – Eric S. Raymond negu-
jący każdą formę zamkniętego oprogramowania 
swoje racje opiera na przykładzie otwartych me-
chanizmów  kryptograficznych.  Mimo,  że  wiele 
bardzo dobrych algorytmów szyfrowania w peł-
ni ujawnia swoje zasady działania to i tak ich jaw-
ność nie prowadzi do bezproblemowego odczyta-
nia zaszyfrowanych nimi treści. Potwierdza to tyl-
ko jedną z zasad współczesnej kryptografii, którą 
sformułował w XIX wieku holenderski kryptolog 
August Kerckhoffs – szyfry najczęściej spotyka-
ne w współczesnych systemach informatycznych 
(np. 3DES, AES, Blowfish, itd.) opierają swoją si-
łę nie na tajności samego algorytmu, a jedynie na 
tajności zmiennego parametru tego algorytmu, ja-
kim jest klucz. Zgodnie z tą zasadą nowy algo-
rytm z wielu względów powinien być publicznie 
znany. Za tą prawidłowością przemawia ułatwie-
nie jego publicznej oceny i dyskusji na temat jego 
jakości wśród kryptoanalityków. Dzięki temu ła-
twiej i znacznie wcześniej można wykryć ewen-
tualne  niedociągnięcia  w  jego  konstrukcji.  Za-
sada  bezpieczeństwa  przez  niejawność  w  kryp-
tografii  była  powszechnie  akceptowana  w  cza-
sach, gdy wszyscy kryptografowie o olbrzymiej 
wiedzy byli zatrudnieni przez państwowe agen-
cje wywiadowcze, takie jak NSA (ang. National 
Security Agency
). Ponieważ teraz kryptoanalitycy 
często pracują dla uniwersytetów (gdzie publiku-
ją mnóstwo swoich odkryć [może nawet wszyst-
kie] i podają analizie osiągnięcia i prace innych) 
albo dla prywatnych firm (gdzie wyniki ich pra-
cy częściej kontrolowane są poprzez patenty i pra-
wa autorskie, niż przez tajemnice) dyskusja na te-
mat STO w kryptografii straciła wiele na swojej 
dawnej popularności. Przykładem może być PGP 
(ang.  Pretty  Good  Privacy)  wypuszczony  jako 
program o wolnym dostępie do kodu źródłowego 
(od wersji 5.0 stał się produktem komercyjnym) i 
gdyby dobrze się zastanowić (o odpowiednim je-
go użyciu) – jako kryptosystem godny stopnia mi-
litarnego. Analogicznie z kryptografii można od-
nieść  się  do  udostępniania  kodów  źródłowych. 
Bez zbędnego utajniania kodu dla szerokiej publi-
ki odbiorców, wśród której znajdują się również 
fachowcy najwyższej klasy – taki zabieg potrafi 
zapewnić wysoką jakość, formalną poprawność 
oraz szybsze wykrywanie luk bezpieczeństwa niż 
w zamkniętym odpowiedniku.

E.S. Raymond sformułował nawet w tym ce-

lu Prawo Linusa (ang. Linus' Law od imienia Li-
nusa Torvaldsa), o którym możemy przeczytać w 

jego  sławnym  eseju Katedra  i  Bazar  (ang.  The 
Cathedral  and  The  Bazaar
).  Opiera  się  ono  na 
stwierdzeniu,  że  danie  wystarczająco  dużej  ilo-
ści pary oczu spowoduje, że wszystkie błędy sta-
ną się powierzchowne
, co w bardziej formalnej 
formie oznacza, iż zwrócenie się do wystarcza-
jąco  dużej  ilości  beta-testerów  oraz  współdeve-
loperów  spowoduje  bardzo  szybką  charaktery-
stykę prawie każdego problemu, tym samym do-
starczając oczywistych ich rozwiązań. Prawo Li-
nusa podchodzi również pod dużą krytykę, głów-
nie ze strony producentów zamkniętego oprogra-
mowania. Eksperci w dziedzinie rozwoju opro-
gramowania  –  Robert  Glass,  Michael  Howard 
oraz  David  LeBlanc  w  swojej  książce  Writing 
Secure  Code
  zakwestionowali  to  prawo  twier-
dząc, że napisanie aplikacji opartej na nim może 
prowadzić do problemów związanych z jej bez-
pieczeństwem i utrzymaniem jej w dobrym sta-
nie rozwojowym – powołując się na małą licz-
bę przypadków wkładu poczynionego przez lu-
dzi z zewnątrz (nie należących do grona oficjal-
nych developerów) do projektów Open Source. 
Jest to w dużej mierze rezultat działania samego 
prawa, gdyż każdy potencjalny developer musi na 
początku wgłębić się w działanie całego środowi-
ska  programistycznego  i  zrozumieć  najważniej-
sze fragmenty kodu, zanim będzie mógł go efek-
tywnie rozwijać. Niektóre początkujące projekty 
również świadomie odrzucają zewnętrzną pomoc 
w obawie, że może ona przynieść trudne do wy-
krycia błędy lub luki w zabezpieczeniach. Moż-
na tutaj przywołać przykład Johna Viery – twór-
cy oprogramowania do obsługi list dyskusyjnych 
Mailman. Pomimo otwartego źródła przez trzy la-
ta był on zmuszony do samodzielnego nanoszenia 
poprawek i usuwania błędów, gdyż nigdy nie za-
oferowano mu zewnętrznej pomocy mimo licznej 
społeczności użytkowników tego programu. Sam 
Viera uważa, że masa użytkowników wiedziała o 
wielu błędach, jednak liczyli oni na to, że ktoś in-
ny się nimi zajmie. Oczywiście Microsoft w swo-
jej antylinuksowej kampanii Get the facts promu-
jącej Windows Server w 2007 roku wykorzystał 
to prawo przeciwko społeczności Linuksa i posłu-
żył się oświadczeniem Bena Laurie – dyrektora 
bezpieczeństwa Apache Foundation (w rzeczywi-
stości organizacja ta nazywa się Apache Softwa-
re  Foundation,  a  Pan  Laurie  był  jedynie  człon-
kiem drużyny związanej z bezpieczeństwem, po-
nieważ fundacja ta nie posiada żadnego dyrektora 
bezpieczeństwa – lecz MS jak zawsze lubi ubar-
wiać), który stwierdził, że: pomimo tego, że zosta-
je ono użyte w dyskusjach, jest dla mnie jasnym, 
iż prawo „wielu oczu” jako argument odnoszący 
się do bezpieczeństwa nie ma racji bytu
. W póź-
niejszym czasie Laurie wyjaśnił owo oświadcze-
nie na swoim blogu tłumacząc, że miał on po pro-
stu na myśli, iż wielu ludzi czytających kod nie 

background image

70

Bezpieczeństwo

Bezpieczeństwo poprzez utajnienie

październik 2008

stanowi gwarancji wyszukania wszystkich luk a 
nie to, że prawo wielu oczu nie pomagało wcale 
w ich odkrywaniu. Poddał również dyskusji fakt, 
iż  otwarte  oprogramowanie  jest  lepszą  gwaran-
cją  bezpieczeństwa,  odkąd  każdy  może  zbadać 
jego kod i szukać w nim skaz, co stanowi kon-
trast do zamkniętych źródeł, gdzie jednostka mu-
si zaufać sprzedawcom gdy ci mówią, że ich pro-
dukt jest bezpieczny. Nawet Linus Trovalds oso-
biście opisał pojęcie prawa Linusa w prologu do 
książki The Hacker EthicPrawo Linusa mówi o 
tym, że wszystkie z naszych motywacji wpadają do 
trzech podstawowych kategorii. Co ważniejsze, w 
postępie chodzi o przedostawanie się przez te sa-
me rzeczy postrzegane jako 'etapy' – w procesie 
ewolucji, jest to sprawa przejścia z jednej kate-
gorii do następnej. Tymi kategoriami w kolejno-
ści są 'przetrwanie', 'życie towarzyskie' oraz 'roz-
rywka'.
 Można domniemać, iż Trovalds miał na 
myśli podejście jakim posłużyli się autorzy Wri-
ting Secure Code
, jednak ujął je bardziej z punk-
tu socjologicznego. Wielu użytkowników na po-
czątku zadba o swój byt (poprzez etatową pracę 
np. pod postacią pisania komercyjnego oprogra-
mowania), rodzinę i jej potrzeby, a dopiero roz-
rywkę, której częścią może być pomoc w rozwoju 
różnych wolnych projektów. Oczywiście, niektó-
rzy programiści zarabiają na życie poprzez testo-
wanie  oprogramowania,  mechanizmów  bezpie-
czeństwa i zgłaszanie poprawek, co przenosi ich 
od razu do pierwszej kategorii, ale za to odejmu-
je z trzeciej, gdyż poświęcanie się dodatkowo w 
wolnym czasie temu samemu zajęciu, co w zawo-
dowej pracy nie będzie stanowić już dla nich roz-
rywki. Wszystko to rozgrywa się w klatce czasu, 
która pozwala na mniejsze lub większe zaangażo-
wanie użytkowników w rozwój projektów Open 
Source.  Powyższą  wypowiedź  możemy  rów-
nież przyrównać do hierarchii potrzeb (ang. ne-
eds hierarchy
) według modelu Abrahama Masło-
wa. Wprowadzając samorealizację, czyli potrze-
bę posiadania celu np. pod postacią rozwoju da-
nego projektu programistycznego, dzięki czemu 
zaspokoimy również swoje potrzeby wiedzy, zro-
zumienia i nowości; oraz potrzebę uznania (sza-
cunku) i prestiżu we własnych oczach i oczach in-
nych developerów projektu, które pozwolą nam 
z czasem na zdobycie dobrego statusu społeczne-
go i sławy. Zjawiska te doskonale tłumaczą nam 
przeszkody, na które napotykają procesy rozwo-
ju wolnego oprogramowania przy próbie zaanga-
żowania się osób zewnątrz, a prawo Linusa mimo 
wielu sprzecznych opinii ukazuje nam obraz bez-
pieczeństwa poprzez utajnienie odnoszącego się 
do otwartych i zamkniętych źródeł. 

Posiadając  już  omówione  aspekty  produ-

centów  oprogramowania,  otwartych  i  zamknię-
tych  źródeł  oraz  mechanizmów  kryptograficz-
nych  odnoszących  się  do  STO,  pozostaje  nam 

rozpatrzeć  pozytywny  wpływ  bezpieczeństwa 
poprzez utajnienie jako wsparcie jednej z warstw 
w wielowarstwowej strategii obrony (ang. defen-
se in depth
). Obrona taka polega na budowie bez-
piecznego  środowiska  IT  poprzez  użycie  wielu 
warstw zabezpieczeń chroniących personel, tech-
nologię oraz operacje związane z normalnym cy-
klem życia danego systemu, np. użycie jednocze-
śnie zabezpieczeń fizycznych (drzwi, zamków), 
biometrii i mechanizmów autoryzacji (haseł, klu-
czy elektronicznych) klasyfikuje już zabezpiecze-
nia do wielowarstwowych. Dlaczego bezpieczeń-
stwo przez niejawność powinno być tylko wspar-
ciem, a nie kolejną warstwą? Ponieważ jako od-
dzielna warstwa kwalifikuje się do mechanizmu, 
który opiera się wyłącznie na tajemnicy, a jako 
wsparcie umożliwia wzmocnienie i redukcję ry-
zyka wykorzystania luki we wspieranej warstwie. 
Dlatego  niejawność  różnych  rozwiązań  w  za-
bezpieczeniach, kiedy zostanie dodana do syste-
mu, w którym istnieją już dobrze skonfigurowa-
ne  mechanizmy  ochronne  niekoniecznie  musi 
być czymś złym. Wprawdzie, kiedy dobrze ją za-
stosować, może być silnym dodatkiem do naszej 
wielowarstwowej ochrony. Oczywiście jej zasto-
sowanie ma mniejszy lub większy sens w okre-
ślonych warunkach. Głównymi przesłankami są 
cele, jakie pragniemy osiągnąć. Na początku na-
leży pomyśleć o ewentualnych konsekwencjach 
wynikających z faktu, że nasza tajemnica zosta-
nie odkryta. Dla przykładu: posiadamy dom z bar-
dzo cenną zawartością, który jest chroniony naj-
nowszym  systemem  alarmowym  oraz  posiada 
zamki, do których nie ma możliwości podrobie-
nia kluczy. Jednak kod do alarmu jak i same klu-
cze w tajemnicy przed wszystkimi przechowuje-
my w naszej skrzynce pocztowej. W tym przy-
padku alarm i zamek są warstwami, które oparte 
są wyłącznie o naszą tajemnicę przechowywania 
do nich środków dostępu. W przypadku, gdy ktoś 
odkryje miejsce przechowywania naszych kluczy 
oraz kodu – mimo bardzo dobrych zabezpieczeń 
– cały system zostaje skompromitowany. Porów-
nać możemy to do wcześniej omówionej kryp-
tografii,  w  której  całe  bezpieczeństwo  opierało-
by się na tajemnicy działania algorytmu. Do te-
go  samego  przykładu  możemy  odnieść  utajnie-
nie  pewnego  faktu  bezpieczeństwa  jako  wspar-
cie dla jednej z warstw zabezpieczeń. Załóżmy, 
że ten sam dom jest chroniony przez alarm oraz 
trzy różne klucze. Naszą tajemnicą będzie kolej-
ność, w jakiej należy włożyć klucze do drzwi, aby 
móc je otworzyć - w innym przypadku uruchomi 
się alarm. Uruchomi się on także, jeśli nie zosta-
nie do niego wpisany odpowiedni kod. Jak widzi-
my, już w tym przypadku odkrycie naszej tajem-
nicy nie kompromituje całego systemu zabezpie-
czeń, ponieważ nawet po otworzeniu drzwi musi-
my uporać się jeszcze z alarmem. Odbiciem tego 

w kryptografii byłaby steganografia, zastosowana 
jako ukrycie wiadomości w jednym z trzech iden-
tycznych obrazów. Mimo, iż odkryliśmy tajemni-
cę, w którym obrazie kryje się wiadomość, to i 
tak nie posiadamy możliwości jej odczytania. Ty-
mi samymi schematami możemy odnieść się do 
mechanizmów  wykorzystywanych  w  zabezpie-
czeniach systemu Linux. Pierwszym przykładem 
będzie mało istotny fakt, jakim jest zastosowanie 
aliasów pocztowych. Jak wiadomo aliasy poczto-
we służą m.in. do ładnej prezentacji adresu e-ma-
il na wizytówkach firmowych, jednak posiadają 
również drugą funkcję – potrafią ukryć prawdzi-
wą nazwę użytkownika służącą do logowania w 
systemie. Nawet jeśli zostanie ona ujawniona po-
zostaje jeszcze dobrze skonstruowane hasło, które 
trzeba złamać. Bardziej wyrafinowanym przykła-
dem użycia bezpieczeństwa przez niejawność ja-
ko wsparcia innej warstwy jest zastosowanie por-
tknockingu. Technika ta pozwala na ukrycie usług 
sieciowych za dodatkową warstwą ochronną czy-
niąc je niewidocznymi dla skanerów portów, po-
nieważ pomiędzy Internetem a usługami znajduje 
się zapora sieciowa, która jest dziurawiona przez 
odpowiednią sekwencję pakietów wysłanych na 
odpowiedni port. Jeśli w ten sposób poddajemy 
ochronie  usługę  SSH,  to  nawet  odkrycie  odpo-
wiedniej sekwencji pakietów i portu uniemożli-
wi nam dostanie się do systemu, gdyż będziemy 
zmuszeni przejść jeszcze przez autoryzację kolej-
nej warstwy zabezpieczeń jaką jest nasłuchujący 
serwer SSH. Nie uzależniliśmy ani nie zastąpili-
śmy w ten sposób naszej podstawowej warstwy 
zabezpieczeń od innej opartej na utajnieniu, a po 
prostu dodaliśmy ją do już istniejącej. Tak więc 
widzimy, że bezpieczeństwo poprzez utajnienie, 
niezależnie gdzie zostanie użyte – czy w ochro-
nie  źródeł,  kryptografii  czy  warstwie  zabezpie-
czeń – swoją funkcjonalność zawdzięcza głów-
nie celowi, w jakim zostało wykorzystane. Licząc 
się z zastosowaniem tego rozwiązania zawsze na-
leży mieć na uwadze konsekwencje, jakie grożą 
nam,  gdy  nasz  utajniony  mechanizm  zabezpie-
czeń zostanie odgadnięty. Nigdy nie należy opie-
rać żadnej warstwy czy części chronionego sys-
temu na tej filozofii, ponieważ stanowi ona zbyt 
słabą ochronę, jednak przy zastosowaniu jej jako 
nakładki na już dobrze funkcjonujący mechanizm 
zabezpieczeń możemy z pewnością wesprzeć je-
go funkcjonalność. 

Autor w wolnych chwilach prowadzi serwis 
na temat administracji oraz podstawowych 
mechanizmów  bezpieczeństwa  systemu 
operacyjnego Linux – www.nfsec.pl
Kontakt z autorem: agresor@nfsec.pl

O autorze