Archive for August, 2011

2011-08-28 “Blindsight”

Sunday, August 28th, 2011

Рядко ми се случва да попадна на книга, която да ми направи наистина сериозно впечатление с идеите си…

Наскоро Чарли Строс пусна в блога си въпрос “Коя fiction книга от последните 10 години смятате за важна” (без дефиниция на важна, за по-интересно) и в отговорите видях “Blindsight” на Peter Watts (има я за download в goodreads, вече е под CC лиценз).

В общи линии основата на историята е стандартна – появяват се едни извънземни и екип от няколко човека (и вампир) биват изпратени в космоса да ги видят какво са.
Личи си от далече доколко твърда фантастика е книгата – вампирът не е някакво измислено магическо същество, а съвсем реален под-вид на homo sapiens, хищник със специфичен начин на мислене и способности (единият пример е как ако човек гледа куб на Некер, може да си го представя или изпъкнал, или вдлъбнат, докато мозъкът на вампира може да възприема и двете едновременно). Влиянието на кръстовете е обняснено като бъг в зрителната им система – ако се задействат едновременно вертикалните и хоризонталните “сензори” в окото, вампирите получавали нещо като епилептичен припадък от претоварването (което не е било проблем преди хората да започнат да строят къщи).

В книгата има и много други интересни елементи (10тината страници обяснения и бележки накрая са страхотно четиво), но едно нещо прави наистина голямо впечатление – въпросът за съзнанието, има ли смисъл от него, възможно ли е да съществува интелигентен живот без него (включително такъв, който пътува между звездите) и много други неща, свързани с него. Има и доста интересна дискусия по темата за изкуствения интелект и разликата между човека и машината

Няма да издавам повече от книгата – като цяло удоволствието от четенето и е такова, че си давах почивки от време на време :)

2011-08-22

Monday, August 22nd, 2011

Днес беше ден за първи проблем около подкарването на ipv6 в лаба. Проявяваше се в забавяне на зареждането на сайтове за първи път. Оказа се комбинация от странни локални конфигурации и dns…

По принцип при http request към сайт, за който не се знае какво му е IP-то, стандартно се прави AAAA request, ако той върне грешка, се прави А request. Така забавянето е горе-долу едно RTT (м/у клиента и dns сървъра), което не се забелязва. Обаче, ако имате конфигуриран локален domain (който се казва само ‘local’) и в /etc/resolv.conf имате ‘search’ за него, или (като в нашия случай) hostname, което е ‘hostname.local’, то между предните две стъпки има и още една, да се опита да намери AAAA запис за www.site.com.local. Това пак не би трябвало да е такъв проблем, ако имаше някакъв nameserver, който бързо да отговори, че няма такова нещо, но в случая такъв няма и за всяко такова нещо се ходи до root server-ите, което от своя страна води до няколко-секундни забавяния.

Решението беше просто – махане на ‘search local’ от resolv.conf и оправяне на hostname (което по принцип не би трябвало да съдържа ‘.’, на теория има domainname с тая цел).

Подкарах още нещо забавно, да се tweet-ва, когато някой отвори вратата и да пише кой, ако човекът е казал, че може (т.е. ако има mapping м/у номера му и twitter username. Дразнещо лесно се оказа – подаване на номера, нормализация (s/^0*//;s/^1359//;s/^359//), един grep в текстов файл и едно викане на twidge.

(днес имаше проблем с jabber-а на ludost.net с invalid dialback key, който се оправи при рестартиране на ejabberd-тата на двете машини. Обмислям инструментариум за debug-ване на тия проблеми за в бъдеще…)

2011-08-21

Sunday, August 21st, 2011

И малко технически неща.

Вчера подкарахме ipv6 в initlab с тунел през Hurricane electric. Имат приятна функционалност, например делегиране на reverse DNS за адресите. Вече може да се стига до cassie по v6, има AAAA запис.
Целта на упражнението беше в общи линии да се пробва как работи. Следва да се види колко security и други проблема ще бъдат открити. Доколкото разбрах, преди е имало такова нещо, но след като са сменили малко хардуер, не е било пуснато пак. На нас ни се наложи за малко да ритнем router-а там (един неприятен airport extreme), защото никой не му помнеше паролата, но иначе подкарването се оказа сравнително лесно. Един ден ще го сменим…
(reverse DNS зоните на v6 са творение на сатаната – 8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.7.a.c.1.5.1.f.1.0.7.4.0.1.0.0.2.ip6.arpa. )

Вкарах и втората си машина в pool.ntp.org и пуснах малко статистика за ползването им (marla и tyler). Гледам, че evolink announce-ват някакви v6 адреси, може да добавя marla с такъв адрес в pool-а по някое време (предпочитам да не го правя с тунел, ntp-то е доста чувствително към латентност).

Един приятел днес ми прати следния линк с DoS в apache2 – накратко, ако се направи един request към вас с range request, който да е достатъчно голям (в случая – списък от парчета 5-9,5-13,5-17 и т.н.) и имате mod_deflate, то apache ще се опита да го сглоби и компресира, съответно ще изяде невероятно количество памет и може да срине машината. Оказа се, че на 64bit-ов debian дори махането на модула не помогна особено и в момента ползвам един крив workaround, LimitRequestFieldSize с ниска стойност, за да не могат да минават подобни заявки. При другите две неща, при които тествах (32bit debian и 64bit gentoo) проблемът си заминава с махването на модула.
(понякога се налага да се пипне заявката в примерния exploit да сочи към статичен файл, с динамични не става)
Писах на разни хора, които би трябвало да имат интерес от тия проблеми, те би трябвало да открият аз какво съм пропуснал и защо точно тоя debian-ски apache2 продължава да се чупи.
Update: Получих следното като друго временно решение (което основно бори конкретния PoC exploit, не решава генерално проблема. Може обаче па да се ban-нат генерално range request-ите…):

iptables -N KILLAPACHE
iptables -F KILLAPACHE
iptables -A KILLAPACHE -m limit --limit 1/min -j LOG --log-prefix "killapache: " --log-level 7
iptables -A KILLAPACHE -j DROP
iptables -I INPUT -p tcp --dport 80 -m string --algo kmp --from 58 --string "Range:bytes=0-" -j KILLAPACHE

Update:Официална информация по въпроса.

(и за тези, на които гадостите от по-горе не стигат – 20110819, 20110820 и 20110821)

2011-08-16 CCC Camp лекции

Tuesday, August 16th, 2011

Мина Chaos computer club camp 2011. Няколко човека бяха там (и са се прибрали преди няколко часа), а други си висяхме тук в initLab и гледахме живите предавания (понеже ни домързя да отидем и т.н.). Ето малко впечатления от нещата, които гледахме:
(информация за записите)

Уводната лекция призова за космическа програма – да можем да си качваме спътници и хора в орбита, за да не се налага например постоянно да разчитаме на наземните жични и безжични мрежови връзки, както и като цяло че това е следващата стъпка. Повече информация за програмата има тук.

Лекцията за OpenLeaks описа текущия прогрес и събираше хора да им помогнат да прегледат системата, как работи и т.н.. Не беше особено интересна, но имаше много забавно развитие след края на camp-а – CCC са изключили/изгонили Daniel Domscheit-Berg, има малко информация по въпроса в Spiegel online.

Introdution to satellite communications не успях да гледам както трябва, понеже лекторката никак не се чуваше, може да пробвам пак на записа, но не изглеждаше достатъчно интересно, поне в първите 20 минути.

Bicyclemark направи лекция за fairphone, проект за мобилен телефон, който не разчита на елементи, добити от “конфликтни зони” (т.е. от такива, в които хората се избиват и продават колтан и т.н. срещу оръжие).

Пропуснах Transition telecom на Rop Gonggrijp, а още няма излязъл запис. мъка.

GPRS Intercept беше поредната демонстрация от GSM-базираните неща – демонстрираха (евтино) подслушване и декриптиране на GPRS трафик. Демонстрацията проработи :)

Започнахме втория ден с What’s brewing in Brussels, едно описание на случващото се в Брюксел и влиянието му върху европейския съюз (особено в частта за data retention директивата). Имаше малко информация за действията на разни групи (като AK-Vorat) и че все пак може да имаме шанс да преборим тая директива.

Solid rocket engines беше много информативна и добра лекция за дизайна на ракетни двигатели. Описаха структурата, едно прилично количество много добре обяснени формули и различните твърди горива. Перфектен увод в темата:)

Steal everything, kill everything беше лекция по темата social engineering и физическа сигурност – как един човек, който се занимава с това е прониквал в различни места, какво е успявал да направи и т.н.. Като цяло доста забавна лекция, но и доста тъжна, понеже се оказва, че някакви ужасно стари и класически методи продължават да работят и да са толкова лесни за прилагане.

От Hacking DNA хванах горе-долу половината, но беше доста интересна (и на края може даже да се чуе въпрос от червото). Накратко става въпрос как в един hackerspace хората могат да си правят различни ДНК експерименти.

Imagine the future of money ми беше силно неразбираема лекция, може би тия дни ще седна и ще прочета теорията им, понеже определено нищо не успях да разбера от презентацията им, освен че имат някакъв странен банков инструмент.

Не успях да гледам Who’s snitching my milk, но препоръчвам на всички да си свалят презентацията и да я прегледат :)

Третият ден изглеждаше да е най-силен. Аз пропуснах Runtime reconfigurable processors (нещо по темата FPGA).

Продължихме с Decentralized clustering, което се оказа лекция на хората от Telecomix за постигнатото около отрязването на internet-а в Египет и подпомагането на комуникацията на хората в подобни ситуации, както и за бъдещите им планове (да се угасят за известно време, преди да продължат нататъка, и да решат какво точно ще правят).

Open-source 4G radio беше описание основно на WiMaX технологията, как работи и показване на малко записан от ефира трафик. Още няма разработки по темата за чупене на криптирането, но основните неща, като сваляне от ефира и пакетния формат са ясни.

Reviving smart-card analysis беше страхотна лекция по темата как точно се вади информация от смарт карти, как се reverse-engineer-ват чрез различни средства и малко съвети как производителите биха могли да ги направят по-добре.

Лекцията на деня (и може би на целия camp) обаче беше Black OPs of TCP/IP на Дан Камински. Комбинира няколко забавни неща, като bitcoin (как може да се пробие анонимността), един вариант за генериране на двойка ключове от парола и накрая – n00ter, софтуер, чрез който може да се разпознае дали ISP-то ви ви забавя трафика към определени сайтове (т.е. дали прави някакви мизерии по темата net neutrality), като използва няколко много забавни hack-а, например пакети с грешни tcp checksum-и и spoof-ване на трафик по забавни начини.

Завършихме деня с Applied research on security of TETRA radio – поредният проект на Харалд Велте. Този път беше се хванал да заслуша различните TETRA мрежи, да опише стандарта и многото проблеми – например как по-голяма част от мрежите не ползват никакво криптиране, въпреки много добрите възможности, които има в стандарта (например end-to-end).

Четвъртия ден започнахме с Poker bots – опитът на няколко човека да направят bot-ове, които играят покер – като се тръгне от мрежовата част и се стигне до теория на игрите и стратегиите за игра.

Open-source photovoltaics беше лекция как в общи линии да си навържем слънчеви панели, батерии, лампи и малко електроника.

A short history of IPv4 беше лекция на Alex от RIPE за историята на IPv4 от гледна точка на RIR-овете – от създаването на протокола, през различните методи за alloc-ване на ресурси до днешни дни и идеята, че май трябва да ползваме IPv6. Имаше и един интересен отговор (поне за мен) – като питах какво мислят по темата за продаването на блокове от адреси, Alex каза, че RIPE няма нищо против цялото нещо, понеже така или иначе не биха могли да го спрат.

Последния ден започнахме с Introduction to multicast security – накратко как стандартните методи като SSL/TLS не работят, трябва да се ползват RTSP и като цяло различни методи за дистрибутиране на ключа и т.н..

The Arguna rocket family беше една от най-добрите лекции по темата за космическата програма. Показаха няколко различни версии на една ракета, тестове с тях и възможностите им, а може скоро и да успеят да стигнат ниска орбита.

Data mining your city беше също интересна лекция, но ние вече сме слушали подобно нещо на workshop-а на OKFN, който се случи в initLab преди няколко месеца.

Та – събитието като цяло беше с добро излъчване (като изключим проблемите от първия ден) и на всички лекции можеше да се задават въпроси през irc каналите за различните зали (като поне от мен са задали десетина въпроса). Не беше същото като да отида там и в добрия, и в лошия смисъл – от една страна го нямаше контакта с интересните хора и възможността да обиколя workshop-ите, от друга – не спах на палатка в дъжд и не слушах червото как ми хърка…

2011-08-08 гледане на лекциите от CCC Camp – 2011

Monday, August 8th, 2011

От сряда до неделя (10-14ти август) организирам гледане на живите предавания от CCC Camp 2011 в initLab. Програмата е доста интересна, в страницата на самия lab има страничка с какво ще гледаме първия ден, за следващите ще се публикува на сайта какво ще гледаме (и се приемат предложения).