Posts Tagged ‘Hårdvara’

Informationsläckage i register

Saturday, August 30th, 2008

Ström-, spänning- och effektbaserade sidoattacker på digitala hårdvaruimplementationer har tidigare fokuserat på logikdelen av implementationen. Ett exempel är attacker mot implementationer där det i algoritmen förekommer en multiplikator.

Antalet bitomslag i en multiplikator varierar väldigt mycket beroende på vilka operander som används. Denna varians ger i sin tur upphov till mätbara varianser på strömförbrukningen. Ett exempel på den här typen av attack beskrivs i artikeln DPA on n-Bit Sized Boolean and Arithmetic Operations and Its Application to IDEA, RC6, and the HMAC-Construction.

En av mina sommarläsningsartiklar var Information Leakage of Flip-Flops in DPA-Resistant Logic Styles och i den presenteras en sidoattack mot de register i en hårdvaruimplementation som används för att lagra interntillståndet. Författarna till artikeln skriver i sammanfatttningen att:

We show that many of the proposed side-channel resistant logic styles still employ flip-flops that leak data-dependent information. Furthermore, we apply simple models for the leakage of masked flip-flops to design a new attack on circuits implemented using masked logic styles.

Contrary to previous attacks on masked logic styles, our attack does not predict the mask bit and does not need detailed knowledge about the attacked device, e.g., the circuit layout. Moreover, our attack works even if all the load capacitances of the complementary logic signals are perfectly balanced and even if the PRNG is ideally unbiased.

Finally, after performing the attack on DRSL, MDPL, and iMDPL circuits we show that single-bit masks do not influence the exploitability of the revealed leakage of the masked flip-flops.

Med andra ord visar artikeln att även om implementationen innehåller olika typer av mekanismer för att skydda logikdelen mot siodoattacker läcker implementationen ändå information via registren.

En flanktriggad D-vippa. Kallas även (D-register eller bara register då det är den absolut vanligaste typen av register som används.

Uppbyggnaden av en D-vippa.
En D-vippa byggd med NAND-grindar.

Artikeln visar att den grundläggande struktur som alla processleverantörer (de företag som erbjuder kretstillverkning) har i sina cellbibliotek för en D-registret regerar olika när den läser in (sample) och låser (hold) ett nytt värde dels beroende på om det är en etta eller en nolla, och beroende på vilket värde (noll eller ett) som redan låg i registret.

Artikeln använder dessa skillnader i registren för att ta fram två olika attackmetoder och applicerar dessa på testkonstruktioner som är skyddade med tidigare publicerade metoder mot sidoattacker. Att döma av artikeln fungerar metoderna för att plocka ut information. Författarnas slutsats är att:

Since most of the prior analysis of side-channel resistant logic styles focused on the combinational logic, so did the research to improve those logic styles. We think it is time to switch the focus of research to find methods for designing side-channel resistant flip-flops with a decent area and power consumption and a low impact on the operation frequency.

One possible approach could be combining semi-custom design for combinational logic with full-custom flip-flop design.

Jag håller inte riktigt med om att en bra lösning kan baseras på full-custom-register, det skalar på tok för dåligt. Även om full-custom-delen begränsas till de delar i konstruktionen där säkerhetsfunktioner implementeras blir det snabbt väldigt mycket mer arbete. Dessutom skulle det bli lättare att identifiera säkerhetsimplementationen på kretsytan, detta då full-custom-logik har ett distinkt utseende.

Jag tror att artikeln skall tas som utgångspunkt för att ta reda på hur register i cellbibliotek görs immuna mot den här typen av informationsläckage.

En intressant fråga är hur man som konstruktör skall göra när man har än mindre kontroll över regsistrens fysiska uppbyggnad än med cellbaserad kretsteknik. Mer specifikt i FPGA:er. Går det exempelvis använda par eller grupper av register för att skapa sidoattackresistenta register?

Jag såg att det precis publicerades en ny artikel på IACR som beskriver en metod för att skydda implementationer av RSA mot sidoattacker. Jag gissar att den metod som presenteras i artikeln inte är skyddad mot registerattacken. Det finns i alla fall ingen referens till registerattacken.

Säkerhet i minnesbaserade hårddiskar

Monday, August 25th, 2008

IDG publicerade i dag en artikel om att Flashdiskar är en säkerhetsrisk. I artikeln är jag intervjuad, men allt jag sa i intervjun fanns det naturligtvis inte plats för. Jag vill därför här på min egen blog (där jag kan bladdra på) förtydliga det jag sa samt ta upp något av det som inte kom med i artikeln.

Det stämmer att jag anser att det är enklare att sprätta upp en Flashbaserad hårddisk (Solid State Drive - SSD) och läsa ut innehållet ur minneskretsarna än vad det skulle vara att försöka plocka ut informationen direkt från skivorna i en traditionell hårddisk. Det senare kräver bland annat klart mer avancerad utrustning och renare miljö.

Intel presenterade för några dagar sedan på IDF att de kommer med specialutvecklade FLASH-minnen för att bygga en riktigt snabb SSD, men de flesta SSD-diskar på marknaden innehåller i dag vanliga FLASH-minnen som går att proba (dvs koppla in sig direkt på kretsens ben) och läsa ut innehållet ifrån med enkel och billig utrustning.

SSD med FLASH-minnen.
En SSD med flera stycken FLASH-kretsar.

MEN för att någon skall sprätta upp din SSD och läsa ut minnesinnehållet måste du blivit av med din hårddisk. Du är kort sagt redan rökt, något jag påpekade i intervjun. Vidare bör det vara så att skälet för att en skurk skulle ge sig på kretsarna är antagligen för att det lösenordsskydd som finns i ATA-standarden (ATA Security Feature Set) är aktiverat. Men det lösenordsskyddet finns det enklare sätt att ta sig runt.

Vad det handlar om är alltså att om man gör en ren jämförelse mellan de två typerna av hårddiskar så finns det en säkerhetsteknisk skillnad. Men den här skillnaden i säkerhet mellan Flashbaserade hårddiskar och traditionella hårddiskar är marginell, troligen inte den väg en attack skulle ta och rent praktiskt inte ett hot värt att förlora speciellt mycket sömn över.

Vad som kom med i artikeln och jag tycker är bra är att jag tycker att diskkryptering är bra. Både den typ som implementeras direkt i disken och i den som finns i operativsystem (FreeBSD, Mac OS X, Windows Vista, Solaris med flera) samt via fristående applikationer exempelvis TrueCrypt.

Informationsförluster på grund av stulna eller förlorade datorer är i dag ett stort och verkligt problem, men går att i stort sett eliminera genom diskkryptering och vettig nyckelhantering. Och den dag gammal utrustning skall rensas ut behöver inte de redan hårt belastade sysadministratörerna ägna tid åt att köra scrubbing-program för att förstöra data. Dumpa nycklarna och problemet är löst. Mycket mer ekonomiskt och enklare att metodiskt hantera i en organisation.

Jag anser att om du står i valet mellan en minnesbaserad hårddisk eller en traditionell hårddisk finns det viktigare parametrar att skillnad i säkerhet. Men oavsett vilken typ av hårddisk du väljer är det bra att använda diskkryptering.

Lite tankar om TOP500-listan

Friday, June 27th, 2008

(En liten teknikutsvävning så här på fredag. Kopplingen till IT-säkerhet och krypto är väl att mycket beräkningskraft alltid är bra om man skall joxa med krypto, speciellt för att försöka analysera och knäcka dom…)

Jag har tittat lite på den senaste TOP500-listan, dvs listan över superdatorer. Snabbaste maskinen totalt sett är IBMs Roadrunner (vilken jag tidigare skrivit om):

IBM Roadrunner

Världen snabbaste dator: Roadrunner, byggd av IBM för LANL.

Snabbaste maskinen i Sverige, FRA:s HP-burk, har halkat ner från femte till 11:e plats på ett år. Sverige har just nu nio maskiner på listan, dvs 1.80% av alla superdatorer. Totalt 38596 processorer som tillsammans når drygt 393 TFLOPS. Lite mer statistik:

Leverantörer
IBM innehar platserna 1-3 på prestandalistan och har fem maskiner på top 10. IBM vinner även totalt med 42% av alla system, före HP med 37%. Bland gamla klassiska superdatorbolag spöar SGI faktiskt Cray med 4.4% mot 3.2%, men båda får pisk av kontorsråttan Dell som står för 5% av systemen.

Processorer
Lägger man ihop statistiken för AMDs x86, Intel x86-32 och x86-64 är nästan 85% av alla processorer som används en x86-processor(!). Power är på andra plats med 13%. Itanium och andra arkitekturer är väsentligen avrundningsfel. SPARC finns inte med alls. Var tog alla kraftfulla server- och HPC-processorarkitekturer vägen?

Kommunikationsteknik
Superdatorer, beräkningskluster och HPC-maskiner med många beräkningsnoder som samarbetar för att skapa ett resultat är beroende av bra kommunikationsteknik. Det är inte bara bandbredd utan fördröjningen (latensen) är extremt viktig för att nå bra prestanda.

Som Seymour Cray sa på 70-talet: It’s the heat and the thickness of the mat which matters., där mattan är härvan av kablar mellan maskinerna. (Jag sprang på en presentation om kommunikation och högpresterande beräkningar som kan vara värd att titta igenom.)

För att få till den kommunikation som behövs har man traditionellt i superdatorer och HPC-system använt specialutvecklade kommunikationslösningar, exempelvis Infiniband och Myrinet.

Det som är intressant att se är att för 57% av alla maskiner på listan är den kommunikationsteknik som används Gbit Ethernet (GE). Infiniband kommer på andra plats med 24% och Myrinet används i drygt 2% av alla maskiner.

HyperTransport (HT) finns förvånande nog inte med trots att det bland annat används i maskiner från Cray (om det inte är det som kallas Cray Interconnect, vilket det verkar vara).

OS
Linux dominerar stort på OS-sidan med 85%. Lustigt nog delar man sedan upp OS på UNIX, BSD Based och Mac OS. Tillsammans blir dessa dock knappt 6%.

Windows, som har slagit hårt på trumman de senaste åren för Windows HPC Server har på ett år ryckt upp sig från 0.6% till 1%. En av dessa Windows-kapabla maskiner är Akka vid HPC2N i Umeå:

Akka
Superdatorklustret Akka.

Allmänt
TOP500-listan är en relativt skev lista, där lejonparten av maskinerna egentligen är stora ansamlingar/kluster av normala datorer.

Längst upp i toppen är det fortfarande specialdesignade system med ovanliga arkitekturer (på processor och systemnivå), kommunikationsteknik och kylning.

Trenden mot standardteknik - standardmaskiner byggda av x86-processorer med Linux som OS och Ethernet som kommunikationsteknik är, tycker jag, tydlig.

För den som vill läsa om utmaningarna med att bygga PFLOP-maskiner finns en artikel om IBMs Bricks-projekt. Artikeln IBM Intelligent Bricks project-Petabytes and beyond är ett par år gammal, men är fortfarande fascinerande läsning.

Av superdatortillverkarna Convex, Parsytech, KSR, Sequent, Meiko, MasPar, TMS, nCube har spåren sedan länge kallnat.

Det var roligare förr när superdatorer var exotiska, märkliga bestar, inte bladservrar, pizzaboxar och PC-burkar på hög. Titta på dessa snygga maskiner:

Convex
En Convex 3800.

Tera MTA
En Tera MTA 1. (Vacker, men gick inte att producera.)

Cray C90.
Cray C90, kanske den vackraste av alla superdatorer.

Professor Erik Hagersten sa en gång att en riktig superdatortillverkare skall ha gått i konkurs minst en gång -men tyvärr verkar allt färre av dom återuppstå, utan ersätts av Svensson-maskiner. Många Svenssonmaskiner.

För den som gillar datorporr finns en del sidor på nätet. Den här har nostalgisk HPC-porr och den här har allmän nostalgidatorporr.

NSC i Linköping har en sekvens med fantastiska bilder som visar hur superdatorer gått från vackra skapelser till IVAR-hyllor med PC-burkar.

I Tyskland finns det tydligen en avdelning på Munchens datormuseum som är ett ett Cray-museum. Något för sommarsemestern att besöka?