Archive for the ‘ technika ’ Category

Koniec TrueCrypt’a

No i stało się. Twórcy otwarto źródłowego narzędzia do szyfrowanie “TrueCrypt” ogłosili, że kończą z rozwijaniem aplikacji i polecają przeniesienie się na rozwiązania natywnie oferowane przez twórców systemów operacyjnych (lub po prostu inny rozwiązań w przypadku Linuksa).

Jako oficjalny powód swojej decyzji podają właśnie to, że w tej chwili dla wszystkich najpopularniejszych systemów operacyjnych istnieją aplikacje do szyfrowania tworzone przez ich autorów. Brzmi dość logicznie, ale samo to (zwłaszcza w świecie OpenSource’u) jeszcze chyba nigdy nikogo nie przekonało do zakończenia swojego projektu. Jaki zatem jest prawdziwy powód (jeśli uważa, że istnieje inny niż podany)? Read more

gentoo tricks: epatch_user

Jedną z najlepszych (według wielu najgorszych) cech gentoo jest to, że wszystko jest kompilowane ze źródeł. Ma to oczywiście swoje wady i zalety, ale niezaprzeczalną zaletą jest możliwość łatwego dodawania własnych patch’y do programów. Wystarczy stworzyć lokalne repo ebuild’ów i powrzucać do niego zmodyfikowane ebuild’y. Jednak co jeśli np. chcemy żeby nasz patch był aplikowany dla każdej wersji danego pakietu najlepiej jeszcze automatycznie bez każdorazowego grzebania się w ebuild’ach? Read more

  • Comments Off on gentoo tricks: epatch_user

30c3 — 30th Chaos Communication Congress

Jak co roku, w dniach 27-30 grudnia, odbyła się konferencja CCC — Chaos Communication Congress. Tegoroczna edycja, tak samo jak zeszłoroczna, miała miejsce w Centrum Kongresowym w Hamburgu. W ramach konferencji odbyło się wiele bardzo wiele ciekawych prezentacji z dziedziny bezpieczeństwa, hackerstwa oraz związanych z kwestiami społeczno-politycznymi. Wszystkie prezentacje oraz duża część warsztatów była nagrywana, a nagrania można znaleźć tutaj (opisy prezentacji są tutaj).  Warto je obejrzeć zwłaszcza jeśli jest się zainteresowanym wspomnianymi zagadnieniami. Read more

  • Comments Off on 30c3 — 30th Chaos Communication Congress

”Hand of Thief” — Linux trojan building kit

No i doczekaliśmy się. Do tej pory mówiło się, że na Linuksa nie ma wirusów bo cieszy się zbyt małą popularnością żeby było to opłacalne; tak samo miało być z grami. Ale tak jak Valve przeportował Steam’a na Linuksa tak i komputerowe organizacje przestępcze przystosowują się do nowej rzeczywistości. Read more

  • Comments Off on ”Hand of Thief” — Linux trojan building kit

Konfiguracja jądra

Dla wielu, a zwłaszcza dla początkujących, jest to bardzo trudny i męczący temat. I nic dziwnego. Linux obsługuje masę  najróżniejszego sprzętu, który można znaleźć w urządzeniach wszelkiego typu, od wielkich serwerów z setkami gigabajtów RAM’u po najmniejsze mikro-kontrolery. I wszystkie te opcje siedzą sobie razem w jednym menu konfiguracji jądra. Read more

  • Comments Off on Konfiguracja jądra

-march=native

Każdy użytkownik Gentoo co najmniej raz musiał ustawić flagi kompilatora. Ustawienie samej flagi -march z reguły nie jest trudne, ale co ustawić poza nią, żeby jak najlepiej wykorzystać cechy naszego procesora (a wbrew pozorom ma znaczenie co się ustawia)? Od jakiegoś czasu gcc oferuje opcję “native” jako parametr dla -march. Jeśli użyjemy tej opcji gcc stara się samo ustalić jaki mamy procesor i co będzie dla nas najlepsze. A co jeśli chcemy się dowiedzieć co jest dla nas najlepsze — jakie flagi gcc ustawiło? Pomocna wtedy jest ta komenda:

gcc -march=native -E -v - < /dev/null 2>&1 | grep cc1

Po wykonaniu jej zobaczymy dokładnie jakie polecenie zostało wywołane, a tym samym jakie flagi zostały ustawione.

  • Comments Off on -march=native

Optymalizacja w gcc

O niekorzystnych efektach stosowania optymalizacji na błędnym kodzie już kiedyś było. A teraz będzie jeszcze raz bo znalazłem kolejny ciekawy przykład. Znalazłem go na tej stronie przy okazji szukania materiałów o sygnałach w Linuksie. Kod po minimalnej zmianie wygląda tak: Read more

  • Comments Off on Optymalizacja w gcc

Load balancing

Najprostszy sposób jak wykonać load balancing przy użyciu tylko iptables. Wykorzystujemy do tego moduł “statistic” w trybie “nth” który oznacza nam każdy co czwarty pakiet (–every 4), licząc od zadanego (–packet 0). Same regułki wyglądają tak:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m statistic --mode nth --every 4 --packet 0 -j DNAT --to-destination 192.168.1.2:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m statistic --mode nth --every 4 --packet 1 -j DNAT --to-destination 192.168.1.3:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m statistic --mode nth --every 4 --packet 2 -j DNAT --to-destination 192.168.1.4:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m statistic --mode nth --every 4 --packet 3 -j DNAT --to-destination 192.168.1.5:80

Jeśli ustawimy takie regułki na serwerze z adresem 192.168.1.1 to każde nowe połączenie przychodzące na ten serwer na porcie 80 będzie przekierowane na inne maszyny na podstawie licznika (w tym wypadku modulo 4). Czyli pierwsze połączenie poleci na serwer 192.168.1.2, drugie na 192.168.1.3, trzecie na 192.168.1.4, a czwarte na 192.168.1.5, a potem od nowa. Oczywiście można to robić dla dowolnej ilości maszyn oraz dla dowolnych usług. Ważne jest tylko, aby zawsze był sprawdzany stan pakietu i aby regułki stosowane były tylko dla nowych połączeń. W przeciwnym razie kolejne serwery będą dostawać pakiety nie przeznaczone dla nich i usługi nie będą działały.

  • Comments Off on Load balancing

Duqu techno-thriller

Rok temu głośno było o wirusie Stuxnet, który zainfekował Irańskie centra wzbogacania uranu i spowodował w nich liczne szkody. Od października 2011 głośno z kolei jest o bliskim krewnym Stuxnet’a – wirusie ochrzczonym nazwą Duqu. Jakkolwiek nie ma żadnych danych udowadniających ponad wszelką wątpliwość relację pomiędzy Stuxnet’em, a Duqu to wszystko wskazuje na to, iż oba szkodniki zostały stworzone przez tych samych ludzi. Oba wirusy mają taką samą architekturę, te same mechanizmy działania, korzystają z tych samych wykradzionych certyfikatów kryptograficznych do podpisywania fałszywych sterowników oraz mają te same “magiczne wartości” zakodowane w sobie. Read more

  • Comments Off on Duqu techno-thriller

Deep C — głęboka znajomość C

Natknąłem się w sieci na bardzo ciekawą prezentację przedstawiającą kilka aspektów języka C (i kilka z C++), które każdy szanujący się programista na poważnie zajmujący się programowaniem w tych językach, powinien wiedzieć.
Niestety w czasach w których żyjemy bardziej niż na jakość kodu zwraca się uwagę na tempo jego tworzenia. W związku z tym ilość dobry programistów, tym bardziej takich języków jak C i C++, znacznie spada. Zatem jeśli uważasz się za programistę któregokolwiek z tych języków, obejrzyj prezentację i ratuj ginący gatunek dobrych programistów. ;)

Prezentacja w wersji on-line jest tutaj, a ściągnąć można ją stąd.

  • Comments Off on Deep C — głęboka znajomość C