Editerat en.wikipedia.org igen!

Det var ett tag sen jag var och skrev på wikipedia. Men nu under de senaste dagarna har jag knackat in en del text där.

http://en.wikipedia.org/wiki/Digest_access_authentication

Kort och gott har jag försökt få artikeln sakligare — lagt till referenser och omformulerat där påståenderna var svaga  (i vissa fall delvist felaktiga, eller saknade stöd av referenser. Jag har även fått in en liten fin visualisering av formlerna, och lagt till gämförande sektioner. Även sett till att det blir begripligt vad skillnaden mellan den gamla RFC:n och den nya är.

Känner mig lite duktig faktiskt 🙂

Annonser

aircrack-pwt: WEP kryptering vrider sig i graven

Dagens lilla nyhet, om ni inte radan hört om det, att den redan döda WEP har dragits upp ur graven, en träspåle har kilats in i dess döda kropp, och sen har den begravts igen. Nu springer ett par glada tyska forskare runt på dess grav och firar WEPs nya död med lite weissbeir. Kristallklar. I ett stort glas. Med en liten limeskiva i.

http://www.cdc.informatik.tu-darmstadt.de/aircrack-ptw/

Man har alltså sänkt tiden för att knäcka WEP med en aktiv attack från ca 10 – 20 minuter till att bara ta en minut.

Bakgrunden: En gång för länge länge sen… eller nej, det var visst inte speciellt många år sen… så fick en samling ingenjörer för sig att trådlöst nätverk skulle vara trevligt att ha. Det var en bra idé, trådlöst nätverk gör livet trevligare för många i och med att det blir lättare att flytta runt och man slipper dra kablar på sätt man kanske inte får för fastighetsägare osv.

Samma skock ingenjörer hade dock ungefär samma approach till säkerhet som en skock yra höns.

– Skall vi ha stöd för krypering?
– Ja, det låter kul!

– Skall vi bygga något helt själva?
– Ja, det låter kul!

– Skall vi helt strunta i att läsa refernsliteratur om kryptografi?
– Ja, det låter kul!

– Skall vi helt strunta i att ens fundera på om något är konstigt med vår design?
– Ja, det låter kul!

Så kom det sig att en samling yra, och förmodligen väldigt glada, höns, satte sig under en korkek och njöt av blommorna. Nej, förlåt, de implementerade WEP. WEP är en förkortning för Wäldigt osEker kryPtering.

Det stora felet med WEP är WEP är ett rent hobbyhack. Implementationen står inte på någon sund grund alls.

  • Tittar man på implementationen så blir man kanske lite orolig av att WEP har fått RC4 KSA algoritmen att under ett par steg att göra något på samma sätt, istället för något svårförutsägbart. Tänk dig en låda med kakor. Säkerheten bygger på att någon annan inte vet hur kakorna ligger. Eftersom ingen vet hur kakorna ligger, kan du använda kakornas ordning för att kryptera din fika. Men om du skakar kaklådan på exakt samma sätt, då kommer ju inte kakornas position vara slumpmässig längre. Fienden kan förutspå vad du kommer äta till fika.
  • Läser man Den Röda Bibeln skriven av Den Enda Sanna Profeten så får man lära sig att stream cipher synkronisering är ett svårt problem man förmodligen inte bör försöka lösa själv. WEP är precis detta, ett synkront stream cipher (RC4) där en mycket enkel synkroniseringsprocess (IV del av RC4 nyckel) byggts in.
  • WEP är helt onödigt. Vedertagna metoder, t.ex. CBC och CFB har de egenskaper som är önskvärda. En del invänder kanske att blockciphers äter mer CPU-kraft eller kräver lite mer kod, men… seriöst… tror någon seriöst på att den lilla skillnaden skulle vara avgörande? RC4 har ju en fetlång KSA som WEP måste köra varje gång den skall skicka ett paket, så CPU-kraft kan ju knappast problemet vara. Och RC4 har ju 256byte stor array, så WEP är inte minnessnålt heller för den delen. RC4 är ganska resurssnål, men knappast så enormt mycket bättre att något sunt argument förklarar att man valde denna.

Så. Lärdomar för livet:

  • Skydda din kakbox. Du vet aldrig vem som vill veta i vilken ordning.
  • Var inte en yr höna. Marilyn Manson tappar yra hönor när han har koncerter. Dessutom håller jag på och grillar kyckling i ugnen.
  • Bruce Schneier har aldrig fel. Det är bara en tidsfråga innan han får rätt, även om han verkar ha fel.

Ses och hörs!

Andra bloggar om:
Technorati:

Richard Cheese

Kaprifol rekommenderade mig Richard Cheese and Lounge Against the Machine. Detta är verkligen löjligt… lyssnar man på Slipknot – People equals Shit så känns låten inte obscen, det är bara en arg serie svordommar. När Richard Cheese framför samma låt i sin lugna jazz så rodnar man nästan över sångtexten 🙂

Annars så kan man ju lyssna på lite Monty Pyton (Phone In är rätt sjön) eller nått annat på Last.fm.

Börjar gilla Last.fm rejält.

HTTP Cookie Poisoning

Roligaste WTF-posten på ett tag;

Ph33r my 5k1llz!

Säkerhetshål finns ju alla olika former, och visst kan allt te sig lite dumt i efterhand… Det jag inte begriper med just HTTP Cookie Poisoning är alla webutvecklare vet att de kan ändra på cookies med javascript:document.cookie="kaka=kanelbulle". Om man nu vet det, hur kan man då spara kritisk data i cookies?

För övrigt; För något år sedan fixade jag info om HTTP Cookie Poisoning in i HTTP Cookie artikeln på wikipedia. Ett av mina små mini-projekt är att viktig information om säkerhet skall finnas på wikipedia.

Playstation3: Linux installation och Cell BE programmering

Igår installerade jag och en kompis Yellow Dog Linux (YDL) på en Playstation 3.

Otroligt lätt faktiskt, Sony har verkligen lagt ner arbete på att Playstation 3 skall vara superlätt att köra alternativa operativsystem på. Man ber helt enkelt Playstation 3 att skapa en 10GB "Other OS" partion, den formateras, och så kan man installera vad man nu vill på den. Dessutom är lösningen rätt felsäker, det är nämligen så att Other OS ser 10GB partionen som en hårddisk, och resten av Playstation hårddisken ser inte Other OS. Så en bug i det andra operativsystemet skall inte kunna ha sönder ens Playstation.

Därefter började vi koda mot Cell Broadband Enginee processorn. Vilken underbar architektur; har man kodat lite mot superdatorer som IBM SP eller kanske programmerat enklare kluster med hjälp av MPI, ja då känner man igen sig direkt. Playstation 3 erbjuder en möjlighet för nybörjare att få smaka på sann parallelism, och du får ju faktiskt en spelkonsol på köpet också! Vägrar källkoden funka kan du ju alltid boota om och slå ihjäl några monster i någon timme innan du fortsätter med ditt konstverk.

Tillbaka till Cell architekturen:

  • Du har en klassisk general processor, en PowerPC. Den är inte helt osexig i sig, men den är egentligen tänkt att användas så mycket.
  • Den stora grejen är att du har 8 stycken extra processorer. Dessa är snabba SIMD processorer (kan göra många beräkningar av samma typ parallellt) med hög flyttalsprestanda. Det gör dem perfekta för att t.ex. räkna på 3D-grafik, fysik, media codec algoritmer, signalanalys.
  • Allt är sammankopplat för prestanda. Alltså mycket snabbare att skicka runt data än i ett kluster.

Så hur gick det då? Jo, vi var igång snabbt. Interprocessorkommunikation kollade vi inte speciellt mycket (skall man gröta ner sig i det kanske det är enklare att leta rätt på en MPI implementation) utan vi hade enkel testkod där vi börjar processeringen på PowerPC processorn och sen startade upp fyra SPE processorelement på att hantera våra trådar. Vårat demo program gjorde följande:

  • Faktoriserade heltal
  • PPE försökte dela med 2 eller 3. Om jämn delare, dividera.
  • PPE skedulerade 4 trådar ut till extra processorerna.
  • Tråd 0 sökte efter delare på formen i * 12 – 7
  • Tråd 1 sökte efter delare på formen i * 12 – 5
  • Tråd 2 sökte efter delare på formen i * 12 – 1
  • Tråd 3 sökte efter delare på formen i * 12 + 1

Så varje tråd fick alltså ett startvärde (5, 7, 11, 13) och testade delbarhet (dividerade så länge delbart), adderade 12, om och om igen. Logiken bakom detta är att wikipedia vet att primtal större än 3 alltid är på formen 6i-1 eller 6i+1.

Den observante läsaren kan naturligtvis påtala förbättringar av vårat program, t.ex.

  • Algoritmen är uppenbart likformig och reperativ; en cell hade kunnat SIMD:a beräkningen. På 32bit flyttal hade vi kunnat göra 4 beräkningar per cell, på 64bit hade vi kunde görat 2 per cell. Well well Sherlock, vi hade inte tid att lära oss Cell SIMD assembly under kvällen 🙂
  • Algoritmen kanske kan optimeras av nodsynkronisering; hittar man att t.ex. 13 dividerar talet, så vill man att alla noder dividerar ner sitt tal. Värt att pröva i framtiden, om man orkar så klart.

Den optimala lösningen vore nog 6 noder som räknar 2 – 4 divisioner samtidigt (SMID assembly), och då delare hittats gör lite synkronisering.

Därefter såg vi Crank. Himlans vilken kul och bra film, action så det skrek om det! Vad skulle DU göra om du vaknar upp och får veta att du är "mördad", du kommer dö om adrenalinet slutar pumpa i dig? Otrolig film på enkel tema. Och en sexscen som var hysteriskt rolig, man tjöt av skratt åt den 🙂

Andra bloggar om:
Technorati:

Linköping: Igår eller i Morse? Hard to see?

Cachar i Linköping!

Igår knäckte jag mysteryn Li UK EY efter att frågat Kaprifol och Jakob8H om lite info om universitet, som visade sig mycket bra att ha. Cachen är gömd på ett kul sätt jag varit med om på några enstaka cacher i Göteborg; det är annars ett riktigt fräckt sätt eftersom folk inte letar efter det sättet att gömma en cache. På väg därifrån så kom Idle Mango Street 2, som hittades lätt, med viss deja vu känsla då vi tidigare tagit Idle Mango Street.

Idag så började vi jaga en annan mystery vi knäckt; Hard to see, cachen ute vid Trifts gravfält. På väg mot cachen noterade vi flera cacheväktare (svarta, bruna, ja alla färger hade de) som glatt lät oss passera vidare mot vårat mål.

image305
Cacheväkare: vit-brun

Det fanns många ståtliga träd man såg på vägen mot cachen:

image306
Träd

Gamla imponerande stenar såg vi också.

image307
Gamla imponerande stenar

Tyvärr hittades inte cachen, verkade vara borta. Skickat foto till cacheägaren på exakt var vi tror cachen skulle ha legat, så får vi se om vi får lov att logga den som Found trots allt. Eller så var vi bara dåliga på att leta 😉

Sen så stack vi iväg och loggade Igår eller i Morse, en annan mystery vi knäckt. Skojigt gömd, lite annorlunda.

Stort tack till RDun_Swe som stått för flera av dessa enkla och roliga mysterys. Har helt klart fått mig lite mer positiv till mysterys!

Andra bloggar om:
Technorati:

Dagens hjälte!

Grannarna blev lyckliga när jag hjälpte dem ta bort en fästing från deras hund!

Jag har vana av att plocka dem från mig själv (och ibland Kaprifol), är man ute i skog och mark får man fästingar; väldigt gott om dem i Göteborgstrakterna.

Visade sig vara betydligt jobbigare att plocka från hund än att plocka från människor, då människor förstår konceptet "var stilla", vilket hunden inte gjorde utan tyckte det var jättespännande och ville vrida sig för att kolla vad vi gjorde (den verkade tro det var en lek). Gick dock bra!