piątek, 18 listopada 2011

Problem pewnego farmera...

Pewien farmer miał problem ze swoimi kurami. Wszystkie po kolei nagle stawały się bardzo chore i zupełnie nie wiedział jak temu zaradzić. Gdy wszystkie konwencjonalne środki nie dały żadnych rezultatów zaprosił do siebie na farmę biologa, chemika i fizyka by może oni zmierzyli się z tą tajemniczą chorobą. Biolog jako pierwszy przeprowadził dokładną obserwację. Pobrał wiele próbek, zbadał je dokładnie, ale nie znalazł żadnego rozwiązania. Wtedy chemik wziął się do pracy. Wykonał przeróżne pomiary i kilka testów w laboratorium, ale również nie miał pojęcia co może dolegać tym kurom. Przyszła kolej na fizyka. Ten stanął w pewnej odległości od kurnika i patrzył na ptaki przez długi czas, nie próbując nawet ich dotknąć ani zbadać. Nagle farmer - który był już mocno podłamany i zrezygnowany - zauważył że naukowiec zaczął coś pisać w swoim notatniku. Po kilkunastu minutach wielkiego skupienia widocznego na jego twarzy i bardzo skrzętnych obliczeniach wykrzykął: "MAM! Niestety działa to jedynie dla kur w kształcie sfery poruszających się w próżni."

James Watt



Urodzony w 1796 r. szkocki wynalazca, James Watt, określany często jako twórca silnika parowego, był kluczową postacią rewolucji przemysłowej. W rzeczywistości to nie Watt zbudował pierwszy silnik pa­rowy. Podobne urządzenie opisał Heron z Aleksandrii w I w., a w 1698 r. Thomas Savery opatentował silnik parowy zastosowany do pompowania wody. W 1712 r. Anglik Thomas Newcomen opatentował nieco ulepszoną wersję tego silnika. Silnik Newcomena miał jednak tak niską sprawność, że nadawał się tylko do wypompowywania wody z kopalń węgla. Sam Watt zainteresował się silnikiem parowym w 1764 r., gdy naprawiał maszynę Newcomena. Watt uczył się wyrobu mechanizmów tylko jeden rok, ale miał wielki talent wynalazczy.
Udoskonalenia wprowadzone przez niego do silnika Newcomena są tak istotne, że słusznie należy uważać go za wynalazcę pierwszego praktycznie użytecznego silnika parowego. Pierwszym wielkim udoskonaleniem Watta, opatentowanym w 1769 r., było wprowadzenie wydzielonej komory skraplania. Watt wpadł równiez na pomysł założenia izolacji na cylinder parowy, a w 1782 r. wynalazł silnik parowy o działaniu dwustronnym. Innowacje te, oraz sze­reg mniejszych usprawnień, przyczyniły się do co najmniej czterokrotnego zwiększenia sprawności silnika. W praktyce dopiero ten wzrost sprawności zmieni pomysłowe, lecz nie­zbyt przydatne urządzenie w maszynę o szerokim zastosowaniu w przemyśle. Watt wynalazł również (w 1781 r.) zespół przekładni do zamiany ruchu postępowo-zwrotnego na ruch ob­rotowy. Urządzenie to znacznie zwiększyło zakres zastosowania silnika parowego. Watt wy­nalazł także odśrodkowy regulator prędkości obrotowej (1788 r.), za pomocą którego można było automatycznie regulować obroty silnika, manometr (1790 r.), licznik, wskaźnik, zawór dławiący oraz różne inne usprawnienia. Sam Watt nie miał głowy do interesów, ale w 1775 r. wszedł w spółkę z Matthew Boultonem, inżynierem i bardzo zdolnym przedsiębiorcą. W ciągu następnych dwudziestu pięciu lat firma Watta i Boultona wyprodukowała wiele silni­ków parowych, a obaj partnerzy zostali bogatymi ludźmi. Trudno przecenić znaczenie silnika parowego. To prawda, że jest wiele innych wynalazków, które odegrały dużą rolę w rewolucji przemysłowej; w okresie tym nastąpił ogromny postęp w budowie maszyn górniczych, ma­szyn dla przemysłu metalurgicznego i wielu innych urządzeń przemysłowych, Kilka wyna­lazków, takich jak czółenko szybkobieżne (John Kay, 1733r,) czy przędzarka wózkowa (Ja­mes Hargreaves, l764r,), wyprzedziło nawet pomysły Watta, wynalazki te sprowadzały się jednak do niewielkich ulepszeń i żaden z nich oddzielnie nie miał decydującego znaczenia dla rewolucji przemysłowej, Inaczej jest z silnikiem parowym, który odegrał absolutnie kluczową rolę i bez którego rewolucja przemysłowa miałaby zupełnie inny przebieg. Wcześniej, mimo że w jakimś stopniu wykorzystywano wiatraki i energię wodną, głównym źródłem energii były zawsze mięśnie ludzkie. Fakt ten bardzo poważnie ograniczał zdolności produkcyjne przemysłu. Wynalazek silnika parowego usunął to ograniczenie. Przemysł zyskał potężne źródło energii, wskutek czego ogromnie wzrosła produkcja. Embargo na ropę naftową z 1973 r. uświadomiło nam, jak poważnie brak energii może ograniczać przemysł. To doświadczenie powinno nam, choć trochę pomóc w zrozumieniu, jak wielkie znaczenie dla rewolucji prze­mysłowej miały wynalazki Watta. Silnik parowy był nie tylko źródłem energii dla fabryk, znalazł on również zastosowanie w wielu innych ważnych dziedzinach. W 1783 r., markiz de Jouffroy d'Abbans zastosował z powodzeniem silnik parowy do napędu statku. W 1804 r., Ri­chard Trevitruck zbudował pierwszą lokomotywę paro­wą. Te pierwsze próby nie zakoń­czyły się sukcesem handlowym, ale w ciągu kilku dziesięcioleci statek parowy i kolej zrewolu­cjoni­zowały transport lądowy i wodny. Rewolucja przemysłowa przebiegała mniej więcej w tym samym czasie, co rewolucja francuska i amerykańska. Chociaż w owym okresie mogło nie wydawać się to tak oczywiste, obecnie możemy stwierdzić, że rewolucja przemy­słowa wy­warła dużo wię­kszy wpływ na codzienne życie ludzkie niż któraś z tych ważnych rewolucji politycz­nych. I dlatego James Watt jest jednym z tych ludzi, którzy wywarli zasad­niczy wpływ na historię. Był jednym z tych ludzi, którym naprawdę się powiodło. Zmarł dopiero w wieku 83 lat (1819 r.) i został pochowany z najwyższymi honorami na cmentarzu w Westminsterze.

Słownik pijacki


Alkohol – podmiot liryczny
Bimber (dobry) – komedia
Bimber (niedobry) – tragedia
Butelka 0,1l – fraszka
Butelka 0,25l – nowela
Butelka 0,5l – powieść
Butelka 0,7l – słownik
Butelka 1l - encyklopedia
Być w transie alkoholowym – wczytać się
Czas picia napojów alkoholowych - czas akcji
Porównywanie napojów alkoholowych – porównanie
Dobry napój alkoholowy – bajka
Etykieta – okładka
Halucynacje pijackie - metafory
Kac – rozwiązanie akcji
Kara za rozrabianie po pijanemu – morał
Kieliszek – wiersz
Kilkuletnie napoje alkoholowe – archaizmy
Ktoś, kto nie klnie – oksymoron
Majaczenia pijackie – metafory
Miejsce picia – czytelnia
Mieszanie alkoholi (dobre) – gatunek synkretyczny
Mieszanie alkoholi (niedobre) – kontrast
Napisy na butelce – inwokacja
Napój alkoholowy – książka
Nazwa napoju alkoholowego – tytuł utworu
Nieregularne picie – wiersz wolny
Normalny napój alkoholowy – proza
Nowe mieszanki alkoholi – neologizmy
Opowieści pijackie – przypowieści
Otwarcie butelki – zawiązanie akcji
Pędzić bimber – pisać
Picie bez końca – wiersz stychiczny
Picie po kieliszku – wiersz stroficzny
Pić napoje alkoholowe – czytać
Pieśni pijackie – psalmy
Pijany – oczytany
Piwo – epika
Polewający - narrator
Polewanie – narracja
Położenie butelki – miejsce akcji
Powtarzanie tego samego toastu – anafora
Powtarzanie tych samych skutków picia (kac) – epifora
Producent bimbru – pisarz
Producent napojów alkoholowych – wydawnictwo
Producent napoju alkoholowego – autor
Przekleństwo – epitet
Sklep monopolowy – księgarnia
Toast – apostrofa
Wino – liryka
Wódka – dramat
Wrzaski pijackie – onomatopeje
Wybitny producent bimbru – poeta
Wymioty –punkt kulminacyjny
Wypić napój alkoholowy – przeczytać książkę
Wyśmienity napój alkoholowy – poezja

Skalarne typy danych w językach programowania


Typ całkowity

Pozycyjny dwójkowy system liczbowy.
  • C, C++ - char (1 bajt), short int (2 bajty), int (4 bajty), long (zależnie od architektury 4 lub 8 bajtów), long long (8 bajtów), wszystkie mogą mieć modyfikator unsigned
Typ zmiennoprzecinkowy

Przybliżona reprezentacja liczb rzeczywistych za pomocą mantysy i cechy (wykładnika). Wartość oblicza się wg wzoru: x = znak * mantysa * 2^cecha. Mantysa jest znormalizowana do przedziału [1,2).
  • C, C++ — float (4 bajty), double (8 bajtów), long double (10 bajtów)
  • Pascal — real (6 bajtów)
Typ znakowy
  • C, C++ nie rozróżnia litery od jej liczbowej reprezentacji w ascii.
Typ wskaźnikowy
  • C, C++ - modyfikator * (wskaźnik) lub & (referencja), zależnie od architektury 4 lub 8 bajtów.
Typ pusty

Służy do:
  • wskazania, że funkcja nie zwraca wyniku
  • wskazania, że funkcja nie pobiera żadnych argumentów (język C)
  • definiowania wskaźników na dane nieokreślonego typu (języki C i C++)
Występuje w C, C++, Java, JavaScript, C# i nazywa się void.

Typ wyliczeniowy

Typ danych, w których zmienna przyjmuje wartości wyłącznie z wcześniej zadeklarowanej listy. W większości języków programowania deklarowana jako enum. Rozmiar: 4 bajty.

Typ logiczny

Typ danych, który przechowuje wartość 0/false lub 1/true, nie posiada zakresu, jest oszczędny pamięciowo i w zależności od języka programowania deklarowany przez bool (np. C/C++) lub Boolean (Java). Rozmiar: 1 bajt.

Odwrotna Notacja Polska – ONP

Odwrotna Notacja Polska czyli zapis postfiksowy. Nie wymaga użycia nawiasów.

Przykład: (2+3)*5 w ONP to 2 3 + 5 *


Zalety:
  • ułatwione obliczenia na komputerze - wykorzystuje jedynie stos
  • prosty algorytm konwersji między standardowym zapisem infiksowym a ONP
  • wykorzystywany w wielu algorytmach wykorzystujących jako wejście zapis działań
  • brak konieczności stosowania nawiasów
  • zajmuje mniej miejsca w pamięci komputera
Wady:
  • mniej czytelny dla człowieka (wymaga przyzwyczajenia)
  • podczas zapisu na kartce 12 34 + może wyglądać jak 123 4 +
  • nie używany powszechnie w językach programowania i kalkulatorach

Kasjer w banku – polityka bezpieczeństwa


Kasjer dysponuje komputerem z podłączeniem do wewnętrznej sieci banku, urządzeniem do wprowadzania numerów PIN przez klientów, drukarką oraz dostępem do kasy z pieniędzmi. Stanowisko powinno być wyciszone, oddalone od innych, a ekran komputera ustawiony w ten sposób by uniemożliwić jego podglądanie przez inne osoby.

Polityka bezpieczeństwa na takim stanowisku jest szczególnie ważna. Bez wprowadzenia specjalnych reguł kasjer byłby narażony na umyślne lub nieumyślne poznanie poufnych danych klientów lub manipulację znacznymi kwotami pieniędzy. Dodatkowo luki w systemie ułatwiałyby dokonywanie manipulacji przez samych klientów – na przykład nieuprawniony dostęp do cudzego konta.

Priorytetem jest potwierdzanie tożsamości klientów, którzy po zidentyfikowaniu mogą dokonywać dowolnych operacji w obrębie swoich kont. Odbywa się ono najpierw poprzez okazanie dokumentu ze zdjęciem, sprawdzenie przez kasjera jego autentyczności i wiarygodności zdjęcia, a następnie przepisaniu pewnych identyfikujących danych do komputera – np. numeru PESEL. Następnie klient jest proszony o podanie kilkucyfrowego numeru PIN, który powinien pamiętać. Jeśli zapomniał, jest mu zadawane kilka pytań kontrolnych – przykładowo nazwisko panieńskie matki, data urodzenia, ostatnia transakcja, stan konta, pokazanie innego dowodu tożsamości ze zdjęciem, prośba o podpisanie się i porównanie tego podpisu z tym w dokumentach. W przypadku nabrania podejrzeń co do klienta pracownik jest obowiązany wezwać policję i w ten sposób potwierdzić tożsamość.

Każda operacja w obrębie konta klienta musi być potwierdzana wydrukiem na którym po sprawdzeniu podpisuje się zarówno klient jak i kasjer. W wypadku błędu powinno się dać cofnąć daną operację. Przy wypłacaniu pieniędzy z kasy powinien istnieć system elektronicznego zabezpieczenia, niemożliwy do ominięcia, który otwiera ją dopiero około 2-3 minut po zgłoszeniu takiego życzenia. Podczas napadu, złodziej traci na czasie i zwiększa to szanse na dotarcie policji na czas. Dodatkowo, możliwość wypłaty z kasy powinna być możliwa jedynie przy operacjach na koncie konkretnego klienta.

Polityka bezpieczeństwa w banku powinna być cebulkowata. Wszelkich niestandardowych lub wykraczających poza normę operacji powinni dokonywać pracownicy o wyższej randze. Proces kontroli i rozliczeń pracowników w dużym stopniu powinien być zautomatyzowany, by wykluczyć czynnik ludzki.
System komputerowy powinien uwzględniać uprawnienia poszczególnych użytkowników i kasjerom przyznawać tylko te najbardziej konieczne do obsługi klienta: wpłaty, wypłaty, stan konta, przelewy, otwieranie lokat, zmiany haseł i kodów PIN.

Honeypot


Hoteypot powinien być zainstalowany na komputerze służącym jedynie do monitorowania sieci nie
przechowującym żadnych istotnych danych. Możemy wyłączyć działanie antywirusa w folderze
działania honeypota, by nie blokował nam komputera. Należy tak skonfigurować firewall, by
dopuszczał dowolne połączenia przychodzące do honeypota, ale blokował wszystkie pozostałe. Jeśli
chcemy uruchamiać programy na honeypocie, to warto je skonfigurować w najmniej bezpieczny
sposób (np. działanie na standardowym porcie) by zwiększyć szansę ataku. Upewniamy się że
komputer ma połączenie z siecią i przypisany swój adres IP.

Windows 
Programem netstat.exe –a zwalniamy porty na rzecz honeypota. Jedyny port który musi pozostać dla
systemu to 135 UDP i TCP.
Sama instalacja przebiega poprzez uruchomienie pliku HoneyBOT_010.exe i postępowanie wg
instrukcji. Dalsza konfiguracja i nasłuchiwanie odbywa się w środowisku okienkowym.
Nasłuchujące porty konfiguruje się w pliku service.ini wg wzorca:
port protokół opis, gdzie dla UDP protokół:=0, a dla TCP protokół:=1.

Debian 
Instalacja honeyd: rozpakowujemy paczkę http://www.citi.umich.edu/u/provos/honeyd/honeyd-
1.5a.tar.gz, doinstalowujemy biblioteki libevent, libdnet, libpcap i arpd.  Przekierowujemy ruch
sieciowy z naszego adresu IP do honeyd komendą # arpd adres_ip. Przykładowe uruchomienie:

honeyd -p nmap.prints -f honeyd.conf -l logfile.log adres_ip 

Przykładowa zawartość pliku honeyd.conf:
create winxp 
set winxp personality "Microsoft Windows XP Professional SP1" 
set winxp uptime 319671 
add winxp tcp port 80 "perl scripts/iis5.net/main.pl" 
set winxp default tcp action reset 

Kryptoanaliza różnicowa


Kryptoanaliza różnicowa to rodzaj kryptoanalizy stosowany głównie do szyfrów blokowych. Polega na analizowaniu jak zmiany na wejściu wpływają na zmiany na wyjściu.

Jest to zbiór technik do analizowania sieci przekształceń, odkrywania nielosowych zależności i wykorzystywania ich do znalezienia sekretnego klucza.

Historia

Odkrycie kryptoanalizy różnicowej przypisuje się Eli Bihamowi and Adi Shamirowi, którzy pod koniec lat 80 zaprezentowali wiele ataków z użyciem tej metody na szyfry blokowe i funkcje haszujące.

Wskazali też teoretyczne słabości szyfru DES, opublikowali je, sprawdzili na przykładach (mniej niż szesnastorundowych),  jednak jak się później okazało,  szesnastorundowy DES był odporny na taki rodzaj kryptoanalizy.

W 1994 roku jedna z osób zajmujących się opracowywaniem szyfru DES przyznała, że szyfr od samego początku był konstruowany w ten sposób, by atak za pomocą kryptoanalizy różnicowej nie był możliwy.

Idea dla DES
  • Porównujemy ze sobą dwa szyfrogramy.
  • Szyfrogramy uzyskujemy z tekstów jawnych różniących się w pewien specjalny sposób.
  • Mamy ten sam klucz.



Klawisz CMD w maszynie wirtualnej VirtualBox

Jeśli dysponujesz standardową klawiaturą Windows i masz uruchomionego MacOS X w maszynie wirtualnej nie muszisz się obawiać braku klawisza CMD. Zastępuje go klawisz Windows Start.