Bill Gates and other communists

18 February 2005
--------------

Cisco rulz, ама така рулз, че започват да ми стават повече от неприятни….. Днес се опитах да пусна VPN срещу едно такова животно и полудях.. Сдобих следното: Feb 17 16:39:58 xxxxxxxx pluto[32607]: packet from xxx.xxx.xxx.xxx:500: size (18) differs from size specified in ISAKMP HDR (2)

Това много ме изнерви, защото според RFC 2408 (секция 5.1):

5.1 General Message Processing

Every ISAKMP message has basic processing applied to insure protocol reliability, and to minimize threats, such as denial of service and replay attacks. All processing SHOULD include packet length checks to insure the packet received is at least as long as the length given in the ISAKMP Header. If the ISAKMP message length and the value in the Payload Length field of the ISAKMP Header are not the same, then the ISAKMP message MUST be rejected.

Значи тая купчина желязо (дето струва мама,тате и апаратамента) отсреща ми изсипва допълнителни 160 bullshit символи, за които и дума не става в хедъра ;-( Разбира се веднага последваха предложения от колегите да се хаква селски, като се изкоментира или се направи винаги да е изпълнена тази проверка. ДА АМА АЗ НЕ ИСКАМ. Не искам да нарушавам RFC, защото някакви си келеши наречени CISCO са направили мърлява имплементация на IPSEC. Там ясно си пише - “MUST be rejected” - това е ! Много станаха тарикатите бе…М$, Cisco - напдпреварват се кой повече собствени(чески) стандарти да направи….и да вербува затворници …пфу… Както и да е …аз реших как ще го направя - ще използвам друг VPN клиент, който е специално направен за порно IPSEC-а на CISCO. Да но тогава излезна нов проблем. Отвореният ми лебед се е е bind-нал на ВСИЧКИ IP-та…а те са около 7….мамицата му…и сега за другият VPN клиент не остава свободен порт 500. И той се сърди - разбира се счупих man-ове и google в търсене на опция на двете програмчета да се bind-ват само на конкретни IP-та. Накрая разгледах сорса им и се оказа трагедия …. name.sin_addr.s_addr = htonl(INADDR_ANY); - забравих за тази възможност…като си представих какви глупости ми минаха през главата..като се започне от вдигане на ново IP и се стига до UML. След 10-ина минути чудене накъде да тръгна реших обаче, че ще мога да хакна и двамката да се bind-ват само на това, което аз искам с добрият лош старт хак наречен LD_PRELOAD. Понеже отвореният лебед е доста по-масивен и сложен, реших, че него ще е трудно да го залъжа с LD_PRELOAD. За там след още 5 минутно чудене как ще го излъжа проклетото копеле измислих най-dirty hack-а, който ми е хрумвал. Пали машината, сваля един интерфейс, пали VPN, вдига интерфейса. Така лебеда няма да ми осере поне едно IP. Така после щях да боря VPN клиента, който да bind-на там със LD_PRELOAD. Първата част на плана успя, но втората се оказа проблем. VPN клиента започваше комуникацията…и след 10-15 пакета обменени и стигане до фаза 2 на комуникацията той спираше с грешка за някакъв си атрибут и с icmp пакет от порт 500 unreachable…..мамицата му…. Други приложения нямаха проблеми с LD_PRELOAD….ама това си е VPN - той ако не направи проблем - кой ;-) Тогава започнах да се оглеждам за друг LD_PRELOAD - който може би няма да създава проблем, но тогава се сблъсках с друг проблем - отказваше да се компилира. твърдеше, че не е дефиниран RTLD_NEXT, един поглед и видях, glibc development си имам и че си седи кротко в /usr/include/dlfcn.h:# define RTLD_NEXT ((void *) -1l) 10 пъти гледах ту този файл..ту #include и не можах да разбера какъв му е проблема. Paste-нах на vortex с надеждата да помогне - но той псуваше повече от мен ;-) …а аз трябваше и да тръгвам. Прибрах се вкъщи, взех си един bull(sh)it с нагласата, че ще се пише патч за опция да си избереш ако искаш само на конкретно IP да се bind-не програмчето. ManiaX ме посъветва да го направя и да изпратя поправката на maintainer-a. Запретнах ръкави и след задължителната порция сърми с лозов лист започнах да правя промените. Не изглеждаше кой знае колко сложно, въпреки че не съм програмист. Вече промених доста неща и изведнъж попаднах на параметъра –local-port - нещо което не се виждаше нито в man-а, нито в README или пък README.Debian - изпсувах яко разбира се …и се чудех дали да продължа или да използвам тази недокументирана екстра. “Човешкият прогрес” в мен надделя и се отказах - просто си го пуснах с –local-port в init.d скрипта и си реших нечовешките мъки. Но това не обяснява защо доста от програмите използват директно htonl(INADDR_ANY); без шанс да си избереш от конфигурационен файл….може би това ще се промени… Другото интересно от деня….. пробит е SHA-1, Bruce Schneier потвърди това в блог-а си. Същите китайци, които пробиха MD5 сега направиха това и с SHA-1. Разбира се все още не е толкова грозно като колизиите при MD5, но все пак свалянето от 2^80 на 2^69 си е голяма работа… т.е работата се намалява с 1/2050-та. Това може да не изглежда на пръв поглед много …но хората, най-навътре в криптографията твърдят, че такива пробиви са ‘the begining of the end’ - т.е започвайте да избягвате SHA-1, както избягвате вече и MD5. Разбира се - още известно време ще е сигурен….но никой не знае докога.

На RSA 2005 конференцията в Сан Франциско можете да видите доста интересен хардуер - vacuum unit for its disintegrators. Hard drives go in, confetti comes out. и останките от хард дисковете ;-) Там също е била представена и пленената от американците “Енигма” по време на Втората Световна война: 1,2

Една статия, която ме изкефи максимално - Ричард Столмън така му го е начукал на Бил Гей, че кой знае кога кога ще му зарастне…. Статията е “Bill Gates and other communists” и там Столмън използва камъните на Били и с тях му чупи тиквата. Били сега твърди, че всеки, който не иска да има софтуерни патенти е комунист, а Столмън разбира се е засегнал яко на тази обида и цитира как през 1991-ва година Бил Гей е говорил против патентите - следователно и той е бил комунист. Както и твърди, че по неговата перверзна алчна логика и U.S. Department of Defense трябва да са най-големите комунисти - изобщо струва си да се прочете…

--------------

Автор:
MiCRoPhoBIC

Публикувано в Без категория
18 February 2005
 

Остави коментар (само кирилица - без шльокавица)

--------------