luty 7th, 2012

Dzia?anie sieci

Sie? - podstawy

Dzia?anie sieci jest mocno zw?zane z komunikacj?.
?eby prawid?owo komunikowa? si? pomi?dzy komputerami
konieczne jest u?ycie protoko?ów.
Komputery i inne urz?dzenia sieciowe komunikuj? si? za pomoc? protoko?u.
Protoko?y ustalaj? regu?y komunikacj sieciowej.
Podczas komunikacji komputery i urz?dzenia sieciowe u?ywaj? protoko?ów
zdefiniowanych w ang.Open System interconnections(dalej jako OSI)

OSI to zbiór mi?dzynarodowch standardów i regu?, to dzi?ki
nim mo?emy si? komunkowa?z urz?dzeniami nawet na drugim ko?cu ?wiata
które spe?niaj? te regu?y.Istnieje 7 poziomów w których s? u?ywane
protoko?y te poziomy sk?adaj? si? na model OSI.
Dane przesy?ane za pomoc? protoko?ów s? przesy?ane w pakietach.
Ka?dy pakiet zawiera wiele warstw z implementacj? poszczególnych protoko?ów

TCP/IP s? to protoko?y odpowiadaj?ce za komunikacj? w sieci
ka?dy komputer w sieci musi by? jako? identyfikowany do tego w?a?nie
??u?y protokó? IP nadaje on unikatowe numery ip urz?dzeniom sieciowym
aby to u?ytkownik by? wstanie okre?lic z którym komputerem chce si?
komunikowa?. Przyk?adowy adres ipv4(protokó? ip w wersji 4) 192.168.0.104
jak widzimy adres jest dzielony na 4 cz??ci ka?da z nich mo?e przyj?? warto?? od 0 do 255.
Kiedy komunikujemy si? z innym urz?dzeniem s? wysy?ane pakiety o to jak wyglada pakiet:

Du?y pakiet:

||Nag?ówek||Dane1||dane2||

Taki pakiet jest dzielony na mniejsze:

||Nag?ówek||Dane1||

||Nag?ówek||Dane2||

Do nag?ówka przypisany jest adres IP odbiorcy pakietu
TCP(Transport control protocol) jest odpowiedzialny za przesy?anie
komunikatów transportowych tak jak UDP tcp najcz??ciej u?ywany jest
do us?ug internetowych typu telnet ssh http(ruch www) SMTP(poczta)
i FTP(przesy?anie plików)

Tablica znaczników tcp:

Znacznik znaczenie opis

URG Urgent(pilny) Oznaczania dane które nale?y wys?a? natychmiast

ACK Acknowledgment(potwierdzenie) Potwierdza po??czenie

PSH Push(prz?lij bezpo?rednio) Nakazuje odbiorcy bezpo?rednie przekazanie danych

RST Reset(roz?acza) Powoduje zresetowanie po??czenia

SYN Synchronize(synchronizacja) Synchronizuje po??czenie

FIN Finish Koniec Ko?czy po??czenie

SYN & ACK s? to znaczniki wykorzystywane do nawi?zania i synchronizacji po??czenia
proces ten sk?ada si? z trzech cz??ci
1. Kiedy klient po??czy? si? z serwerem wysy?a pakiet oznaczony jako SYN i wy??czonym znacznikiem ACK
2.Server odpowiada pakietem z w??czonym znacznikiem SYN i ACK
3.Klient odpowiada pakietem z wy??czonym znacznikiem SYN i ACK

Ten schemat powinien nie co rozja?ni? sytuacja
_____________________________________________________

ad1.
Pakiet A :
SYN , Nr. Sekwencji = 123234344134, Nr. Potwierdzenia = 0

[Klient]======== pakiet A ========>[Server ]

ad2.
Pakiet B :
SYN & ACK, Nr Sekwencji = 23432545 , Nr. Potwierdzenia = 123234344134

[Klient ]<======= pakiet B =========[Server ]

ad3.
Pakiet C :
ACK, Nr. Sekwencji = 123234344134, Nr. Potwierdzenia = 23432545

[Klient ]======== pakiet C ========>[Server ]
___________________________________________________

No dobrze co widzimy , w celu ustanowienia po??czenia wykonywane s? trzy etapy.
Pierwszy: Klient wysy?a losowo wygenerowany numer sekwencji w pakiecie oznaczonym jako SYN (przyp.Synchronize)
Drugi: Server wysy?a pakier oznacony jako SYN i ACK (przyp.Acknowledgment) z losowo wygenerowanym numerem sekwencji
i numerem potwerdzenia (UWAGA) numer potwierdzenia to numer sekwencji poprzedniego pakietu (ma to na celu ogólnie mówi?? uszczelni? po??czenie)
Trzeci: Klient odpowiada jako numer sekwencji przyjmuje warto?? numeru potwierdzenia pakietu wys?anego przez server a jako numer potwierdzenia przyjmuje numer sekwencji z pakietu wys?anego przez server.

Tak wygl?da synchronizacja po??czenia Klient i server za pomoc? numerów potwierdzenia i sekwencji s? pewni ?e komunikuj? si? z w?a?ciwymi maszynam
Oczywi?cie ta metoda nie jest 100% bezpieczna poniewa? za pomoc? ataku arp injection mo?na ?atwo zmyli? jedn? z maszyn ale to ju? na inny artyku?
————————————————————————————

luty 7th, 2012

Bezpiecze?stwo Sieci bezprzewodowych

Szyfrowanie w sieciach bezprzewodowych
Sieci bezprzewodowe potocznie znane nam jako wi-fi (czyt.?aj faj) najcz??ciej wyst?puj? w sieciach domowych (routery) dzi? mo?na równie? spotka? je du?ych miastach jako Hot-spot s? to punkty w których mo?na nie odp?atnie pod??czy? si? do lokalnej sieci w której zosta?o udost?pnione po??czenie z internetem .
Zasi?g takiej sieci zaczyna si? od kilku metrów po kilkana?cie kilometrów a przepustowo?? si?ga nie co ponad 250kb/s.
Jak odnosi si? to do bezpiecze?stwa skoro zasi?g routera mo?e spokojnie wynosi ~30m wi?c kto? spoza naszego mieszkania jest wstanie si? po??czy? z nasz? sieci? i u?ywa? naszego publicznego adresu (ip).
Tak wi?c powsta?a metoda szyfrowania WEP(Wired Equivalent Privacy) która jest wykorzystywana
do szyfrowania danych przesy?anych przez takie sieci, WEP jest bardzo „dziurawy”
je?eli taka sie? nie zostanie zabezpieczona przez firewall lub VLAN osoba z zewn?trz mo?e przekierowa? ca?y ruch przewodowy do sieci bezprzewodowej poprzez przekierowanie ARP.
Bior?c pod uwag? ?atwo?? w?amania do wielu punktów dost?powych oznacza to ogromne ryzyko.

Protokó? WEP jest metod? szyfrowania danych, która zgodnie z za?o?eniem twórców mia?a zapewni? poziom bezpiecze?stwa podobny jak w przypadku tradycyjnych przewodowych punktów dost?powych. Pocz?tkowo klucze WEP mia?y d?ugo?? 40 bitów, ale w wersji WEP2 zwi?kszono d?ugo?? klucza do 104 bitów. Wszystkie operacje szyfrowania s? wykonywane na poziomie pakietów, co oznacza, ?e ka?dy pakiet stanowi oddzieln? wiadomo?? jawn? do wys?ania. Pakiet ten b?dziemy nazywali P.
Najpierw obliczana jest suma kontrolna wiadomo?ci P, dzi?ki temu sprawdzana jest jej integralno??.
Do tego celu jest u?ywana funkcja kontrolna crc32. T? sum? kontroln? oznaczymy jako C
czyli C=crc32(P). uzyskana warto?? jest do??czana do ko?ca wiadomo?ci co daje nam wiadomo?? jawn? M.

Wiadomo?? jawna M = Wiadomo?? M & crc32(M)
Nast?pnie wiadomo?? zostaje szyfrowana za pomo?? RC4. Szyfr jest inicjowany za pomoc? seed (?iarna) i generuje strumie? klucza czyli strumie? pseudo losowych bajtów. W przypadku WEP jako warto?? ziarna wykorzystywany jest wektor inicjalizacji (IV) ów wektor zawiera 24 bity które s? generowane dla ka?dego pakietu.
Ciekawostk? jest to ?e dostawcy urz?dze? sieciowych informuj? wykorzystaniu 64 lub 128 bitowych kluczy WEP . Jest to jednak takie ma?e k?amstewko poniewa? naprawd? klucz ma d?ugo?? albo 40 bitów albo 104 bitów a pozosta?e 24 bity stanowi? cz??? wektora IV , Klucz WEP i IV tworz? wspólnie warto?? seed.

Warto?? seed = 24bitowy IV i Klucz wep o d?ugo??i 40 lub 104 bitów

Warto?? seed jest przekazywana do funkcji RC4w celu wygenerowania strumienia klucza, który pos?u?y do operacji XOR na wiadomo?? M wynikiem b?dzie szyfrogram C do którego jest dodawany wektor IV w ten o to sposób powstaje pakiet do którego dodawany jest nag?ówek i przes?any przez ??cze radiowe.

Szyfr strumieniowy RC4 wykorzystuje do?? prost? technik? szyfrowania.
Do szyfrowania danych u?ywane s? 2 algorytmy:
1.Algorytm generowania kluczy (ang. Key Scheduling Algotrithm)
2.Algorytm generowania liczb pseudo losowych(ang.Pseudo random generation algorithm)

algorytmy te u?ywaj? tablicy K o rozmiarze 8×8, która jest tablic? zawieraj?c? 256 warto?ci (od 0 do 255) inaczej w tabeli s? wszystkie liczby od 0 do 255 tylko ?? rozmieszczone w losowy sposób
za mieszanie warto?ci zamieszczonych w K jest odpowiedzialny algorytm pierwszy który ma przekaza? warto?? seed o maksymalnej d?ugo?ci 256 bitów

Najpierw tablica G zostaje zape?niona warto?ciami . Kolejna 256 bajtowa tablica jest zape?niona warto?ci? seed . Tablica K jest mieszana za pomoc? takiego pseudo kodu

T=0;
for( i = od 0 do 255)
{
T= (T+K[i] + G[i] mod 256;
zamiana K[i] na K[T];
}

Po wykonaniu tej operacji wszystkie warto?ci w skrzynce K zostan? wymieszane wed?ug warto?ci seed.
Tak dzia?a mniej wi?cej algorytm generowania Kluczy

Kolejnym krokiem b?dzie uzyskanie danych strumienia klucza za pomoc? generatora
liczb pseudo losowych . Do tego u?yjemy dwóch zmiennych I , P którym nadamy pocz?tkowo warto?? zero dla ka?dego bajtu strumienia jest wykonywany taki pseudo kod

I=(i+1) mod 256;
P=(P+K[i]) mod 256;
zamiana K[i] na K[T];
t = (K[i] + K[T]) mod 256;
przerzucenie warto?ci S[t];

Przekazana warto?? S[t] stanowi pierwszy bajt strumienia klusza. Algorytm jest powtarzany dla
kolejnych bajtów zawartych w strumieniu
Implementacja RC4 nie jest skomplikowana w porównaniu z innymi szyframi zalet? jest to ?e mo?e zosta? wykonana b?yskawicznie szyfry RC4 s? do?? bezpieczne pod warunkiem ?e zostan? u?yte w prawid?owy sposób .

——————————————————————————————————————
|Artyku? zosta? napisany dla Internetowego Pisma FRUSTUM
|Licencja publikacji:
|Writed by w4r10ck
|FRUSTUM:http://www.frustum.xt.pl/
|@w4r10ck:http://www.w4r10ck.blox.pl/
—————————————————————————————————————

luty 5th, 2012

Funkcje c++ - wzory z matematyki i fizyki

Tak napsa?em kilka funkcji  z podstawowymi wzorami z matematyki i fizyki .Zbiór zamierzam wzbogaci? o spor? ilo?? wzorów i napisa? do tego jakie? gui

link do kodu: http://pastebin.com/xJE5xieU

luty 5th, 2012

Projekt ,,FRUSTUM”

Frustum - z ?aci?skiego bit

Projekt  ma na celu publikowanie w sieci artyku?ów dotycz?cych m.in: programowania, budowy i dzia?ania sieci ,kryptografi oraz administracji systamów linux/unix. Premiera pierwszego wydanie planowana jest na 2 marca 2012r.

Projekt wpsó?tworz?

@dodoxx6 @w4r10ck @trojanxem @jan64

Strona projektu: http://frustum.xt.pl/