Szef kuchni poleca: Beefy Miracle t-shirts O mnie Planeta !apcoh Social
Szef kuchni poleca: Beefy Miracle t-shirts O mnie Planeta !apcoh Social
Nowy komputer? Zawsze kusi, żeby poczekać troszkę dłużej. Bo potem będzie taniej, lepiej. A jak nie czekamy, to tydzień po zakupie producenci wprowadzą nowe modele.
Przymierzając się w tym roku do kupna laptopa z układami Intela warto poczekać do 5. sierpnia. Wtedy pojawąi się modele z Montevina, czyli Centrino 2. W Wikipedii można poczytać z czym się wiąże — procesory czterordzeniowe, WiMAX, DisplayPort itd.
Nowością będzie także opcjonalny tuner telewizyjny DVB. I to może stanowić problem. Gdy pojawiły się monitory komputerowe z wbudowanym tunerem TV, służby graniczne z radością zaczęły nakładać cło. Na telewizory bowiem cło jest, na elektronikę typu komputer — nie. Jak będzie z laptopami z tunerami? Ich głównym zastosowaniem nie jest oglądanie telewizji, ale w praktyce jak wyjdzie dopiero zobaczymy.
O fatalnej pomyłce w Debianowym openssl pisano już wszędzie, np.
w LWN oraz na wiki samego Debiana. Nie będę
więc powtarzał szczegółów. W skrócie, jeden z deweloperów zakomentował
linijkę, która w pewnych sytuacjach mogła korzystać z niezainicjowanej pamięci.
Korzystanie z pamięci o nieznanej zawartości jest zazwyczaj błędem programistycznym,
w tym przypadku jednak celem było zasianie (ang. seed) generatora
liczb pseudolosowych.
Generator jest implementacją algorytmu, który na podstawie jakiś danych, czyli
własnie seeda, daje różne liczby losowe. Po zmianie wprowadzonej przez
Debianowca jedynym źródłem początkowej losowości był wynik funkcji getpid(),
zwracającej identyfikator procesu. W typowym systemie linuksowym ograniczało to
możliwą liczbę pierwotnych danych — a co za tym idzie, liczbę możliwych
wygenerowanych liczb pseudolosowych — do około 32 tysięcy. Zaledwie!
Tak mała liczba kombinacji umożliwia odtworzenie w kilka godzin
wszystkich możliwych kluczy kryptograficznych wygenerowanych tak zasianym generatorem.
![[demotivator, debian, entropy]](http://img528.imageshack.us/img528/5404/tcv80ipepkza7.jpg)
Użycie jako początkowego ziarna zawartości niezainicjowanej pamięci jest rozwiązaniem sprytnym. Przynajmniej na pierwszy rzut oka. Gdzieś w głębi zaczęły się jednak pojawiać wątpliwości.
Pytanie pierwsze: jak to możliwe, że zawartość niezaincjalizowanej pamięci miała tak duży wpływ na działanie generatora PRNG? Wpływ kluczowy, bo usunięcie jej spowodowało gigantyczną porażkę.
Pytanie drugie: czy inne dystrybucje są podatne w podobny sposób?
Zaczynając od pytanie drugiego. Korzystanie z niezaincjalizowanej pamięci jako
źródła losowych danych jest złym pomysłem. Nie ma żadnej gwarancji, że znajdujące
się tam dane są nieprzewidywalne. Linuksowy glibc realizuje przydział
pamięci na dwa sposoby. Dla małych obszarów używany jest sbrk(),
większe (powyżej 128KiB z dokładnością do autotuningu) zdobywane są przez
mmap(). W wyniku mmap() zwracany jest obszar
wyzerowany przez jądro. Czyli całkowicie przewidywalny, w 100% wypełniony
wartością 0. O losowości nie ma co marzyć, sytuacja jest analogiczna
do złej łaty w Debianie, a sytuacja dotyczy wszystkich dystrybucji!
To jednak dotyczy tylko dużych alokacji, bufor w openssl może
być dużo mniejszy, mniejszy od progu zerowania przeze jądro. Tu należy sobie
zadać pytanie: co jest w niezainicjowanej pamięci? Dane, które były tam wcześniej,
wpisane kiedy jeszcze pamięć ta należała do innego programu. Łatwo sobie
wyobrazić, że różnego rodzaju łatki typu hardening, czyli ,,zwiększające
bezpieczeństwo” zerują każdą pamięć przekazywaną programom. W celu uniknięcia
wycieku informacji z wcześniej działajacych programów. Tak więc nawet mały,
niezainicjowany obszar pamięci może być wyzerowany i jako taki zupełnie nie
nadawać się do inicjowania pracy generatora pseudolosowego.
Zerować obszar miała też pierwotna wersja debianowej łaty:
+ /* Keep valgrind happy */
+ memset(tmpbuf, 0, sizeof tmpbuf);
Została zastąpiona wykomentowanie generującej ostrzeżeni linijki.
Cóż więc z podatnością? Czy openssl zawsze działa na
przewidywalnych, zerowych danych i jako takie stanowi zagrożenie na
wszystkich linuksach? Odpowiadam: nie, a twierdzenie zawarte w początkowych
akapitach tej jest nie do końca prawdziwe.
Poza numerem procesu, niezainicjowana pamięć nie jest jedynym
źródłem entropii dla openssl. Więc nawet jeśli jest zerowa, PRNG
jest zasiewany innymi losowymi bitami. Przynajmniej w oryginalnym kodzie. Deweloper
Debiana usunął zasiewanie niezależnie od sposobu. Z powodu tego, że jedna z metod
pozyskiwania entropii powodowała ostrzeżenia, debianowiec zablokował wszystkie.
Klasyczny przykład wylania dziecka z kąpielą.
Powstające wątpliwości zostały ugaszone, a openssl na Linuksie
jest w porządku. Mój błąd polegał na uznaniu niezaincjowanej pamięci za
jedynego źródła entropii, gdy tymczasem jest ono jednym z kilku.
Jestem w trakcie instalacji OpenSolarisa 2008.05 (artist previously known as Project Indiana). Jak na razie załamał mnie dwa razy:
Instalator też niby fajny, klikalny, ale zrobienie mirrora na dwóch dyskach
wymaga już nura w konsolę. Gdzie można się dowiedzieć, że nie ma takiego
polecenia ypool, a +f nie jest
poprawnym przełącznikiem zpool attach. Taaaaak, polska klawiatura…
Oby później było lepiej.
UPDATE: z powodu błędu w joggerze obrazki nie są widoczne w feedach RSS/ATOM. Żeby je zobaczyć, trzeba odwiedzić mój blog.
Od jakiegoś czasu korzystam z dostępu do Internetu poprzez modem Huawei E220 w usłudze Era BlueConnect. Ponieważ słyszy się wiele mitów o trudnościach w konfiguracji podobnych urządzeń pod linuksem, postanowiłem napisać tą notkę, ilustrując obydwa potrzebne kliknięcia zrzutami ekranu. Użytkowanie E220 w systemie Fedora 9 (i innych odpowiednio nowoczesnych) wygląda następująco:
I to wszystko. Za automatykę odpowiada NetworkManager-MobileBroadband. Nie są potrzebne żadne podejrzane programy w rodzaju Global GPRS/UMTS.
Z pewnym opóźnieniem odnotowuję.
Niemal trzy tygodnie temu, na początku marca, pojechaliśmy z Anią na irlandzki musical autorstwa Michaela Flatleya. Przedstawienie odbyło się 1 marca 2008 w Sali Kongresowej w Warszawie.
Zaczęło się nieciekawie. W piątek siedziałem spakowany na torbach nie wiedząc, czy pojadę. Déjà vu z tygodnia wcześniej, kiedy miałem dokładnie taką samą sytuację. Tym razem powodem była Poczta Polska, która bilety wysłane priorytetowym listem poleconym przetrzymywała 2 tygodnie (dotarły na miejsce już po spektaklu). Kilka telefonów do sprzedawcy biletów, wydruk potwierdzenia zamówienia i jednak pojechaliśmy.
Na miejscu sytuacja wyglądała trochę inaczej niż uzgodniona przez telefon, ale dzięki rozsądnemu szefowi ochrony zostaliśmy wpuszczeni i zajęliśmy nasze miejsca.
Spektakl widzieliśmy już wcześniej na DVD. Ja — raz, Ania — milion razy. Pierwszy raz mieliśmy okazję na żywo. Sala Kongresowa zapewniła odpowiednie warunki do podziwiania irlandzkich tancerzy.
Flatley, wiekowy już tancerz, nie występuje. Młodzik, który zajął jego miejsce idzie w ślady mistrz i robi wrażenie. Scena w Kongresowej wystarczyło tancerzom do brania rozbiegów i wyskoków (z przebieraniem nogami w powietrzu). Czułem się trochę nierealnie obserwując taniec z tak bliska. Na ekranie monitora filmy wyglądają filmowo, ale tutaj oni naprawdę wyczyniali takie cuda!
Niemiłym akcentem byli inni widzowie, dla których z pewnością zarezerwowane jest już miejsce w specjalnym piekle. Na wolne miejsca obok nas przesiedli się ludzie pogwizdujący melodie z przedstawienia. A w przerwie miało miejsce przykre zetknięcie z chamstwem w kolejce przy barze.
Z kolei tydzień temu znalazłem się na koncercie grupy Żywiołak, reprezentującej polską muzyką neoludową. Było tam też kilku¹ moich znajomych. Żywiołak wystąpił w klubie Żak w Gdańsku. Twórczość grupy poznałem w zeszłym roku na Festiwalu Kultury Celtyckiej w Dowspudzie.
Żak jako miejsce koncertów bardzo mi się spodobał. Na głównej sali, dysponującej dwoma poziomami balkonów, obowiązuje zakaz palenia — wielki plus. Nie wolno też wnosić tam napojów, ale nie jest to duża niedogodność. Tuż obok jest sala barowa z miejscem do odpoczynku. Nagłośnienie było dobre, a słuchacze zachowywali się bez ekscesów.
Koncert Żywiołaka był bardzo dobry, ogólnie oceniany najlepiej ze wszystkich występujących tego wieczora zespołów. I to nawet mimo tego, że zamknięta sala nie pozwoliła wokalistkom na takie popisy wokalne jak otwarta scena w Dowspudzie. Tym lepiej dla uszu słuchających, bo panie potrafią dać czadu.
Żak jest miejscem do którego z przyjemnością będę wybierał się na inne koncerty.
¹ w kolejności losowej: Ania, Zal i Marta (specjalne gorące pozdrowienia!), Doom, Kinja, Kaja, Japhy, Kenny z Ewą, Biedak.
Osoby często rozmawiające o komputerach wiedzą, że płynność rozmowy zapewnia zwinne wymienianie różnych liczb w połączeniu z literkami. ,,Komputerowcy'' doskonale orientują się o czym mówią słysząc 8600GT, 250, 3800+ (karta graficzna, dysk twardy, procesor). Rozwój komputerów osobistych powoduje ciągłe zwiększanie podawanych wartości. Uproszczenie ma miejsce rzadko, np. ostatnio mówiąc o pamięci nie trzeba się gimnastykować z 256, 512, 768 (megabajtów). Teraz mówi się 1, 2, 4 (gigabajty).
Pewnym zaskoczeniem było dla mnie odkrycie, że również inne kręgi zainteresować porozumiewają się cyframi. Posiadając samochód trzeba być przygotowanym na rozmowy w warsztacie czy wymianę zdań z obsługą stacji podczas tankowania. Oczywiście nie mówi się wtedy o gigahercach. Rolę cyfrowyrazów przejmuje przebieg, rocznik pojazdu, cena, zużycie paliwa. Pojemność silnika przypomina trochę kwestię pamięci w komputerach. Motocykliści częściej rozmawiają w cm3. Samochodziarze zamiast przykładowego 579 przechodzą na wyższe jednostki typu 1,8l.
W obu grupach są oczywiście zapaleńcy zajmujące się tuningiem i overclockingiem (tak, samochody też się da; wiwat elektroniczne sterowanie zapłonem!). Są też osoby podchodzące do swoich komputerów i samochodów całkowicie utylitarnie — widzą po prostu urządzenia do pisania czegoś lub umożliwienia dotarcia w określone miesjce.
DoomHammer na sobotniej
imprezie poinformował mnie, że niektórzy z Szanownych Czytelników
noszą się z zamiarem usunięcia mojego bloga ze swoich czytników RSS.
Przyznaję, że coraz mniej piszę o uczelni. Powód takiego
stanu rzeczy można wywnioskować z poniższego zdjęcia:
Nie wykluczam, że czasem popełnię notkę o PG lub ETI. Nie widać tego na stronie, ale wpisy takie mają własną kategorię ,,uczelnia'', a co za tym idzie: odrębne feedy RSS i ATOM.
I jeszcze á propos rozdania dyplomów: w zeszłym roku statystyki przytoczyłem sam, teraz wyręczył mnie Zal.
Używanie GNOME tak mnie rozpieściło sensownymi defaultami, że nadmiarowe opcje kolą w oczy. Ostatnio — w urządzeniu nawigacji samochodem z serii nüvi.
Daty i godziny ustawiać nie trzeba. Są zawarte w sygnale GPS, jako niezbędne do prawidłowego określania pozycji. Podaje się jednak strefę czasową, co jest nadmiarowością.
Dlaczego? Ponieważ urządzenie wie, gdzie się znajduje. Od tego jest ono, ono od tego jest. Z tej informacji bezpośrednio wynika strefa czasowa. Użytkownik musi więc ustawić coś, co urządzenie samo może określić.
Z mojego punktu widzenia nie ma przeciwskazań do zautomatyzowania tej drobnostki. Nasuwają się dwa kontrargumenty:
Z plusów mamy oczywiście bardziej przejrzyste menu ustawień (znika jedna opcja). I automatyczną zmianę przy przekraczaniu granic stref czasowych.
W przerwie w pracy poklikałem kilka fotek w nowym budynku ETI.

Nie ma tego wiele i w zasadzie to tylko jedno laboratorium ze środkowej części gmachu. Niemniej budynek jest jeszcze niedostępny dla szerszej publiczności, więc uznałem to za ciekawostkę wartą opublikowania.

Laboratoria mają wszystkie ściany w połowie przeszklone. Każdy przechodzący widzi co się dzieje na monitorach osób wewnątrz. Nie ma również żadnych firanek/rolet między laboratoriami a przeszklonymi fragmentami ścian ETI.
Jutro postaram się dodać jeszcze 2 zdjęcia do całego zestawu.