Archive for the ‘Verktyg’ Category

Ny version av TrueCrypt

Tuesday, July 15th, 2008

Fil- och diskkrypteringsverktyget TrueCrypt har släppts i en ny stor version. Version 6.0 introducerar bland annat:

  • Parallell exekvering på multicoreprocessorer eller på multiprocessorsystem. Prestandan skall enligt uppgift skala proportionellt med antalet cores eller processorer.
  • Stöd för att skapa gömda, krypterade operativsystem (Windows Vista/XP/2008/2003).
  • Stöd för att skapa gömda, krypterade volymer i Mac OS X och Linux.

På TrueCrypts webbplats finns även en skärmdump med lite prestandasiffror från en multicore-maskin:
Prestanda på MultiCore-maskin.
Prestanda på en maskin med Intel® Core™ 2 Quad Q9450 2.66 GHz.”

Kommunicera med skräppost

Tuesday, July 15th, 2008

Fick tips om en skruvad steganografitjänst kallad Spammimic.

Spammimic

Jag testade att använda tjänsten för att koda strängen:

Kryptoblog

Spammimic genererade texten:

Dear Friend , Especially for you - this cutting-edge announcement ! If you no longer wish to receive our publications simply reply with a Subject: of "REMOVE" and you will immediately be removed from our database! This mail is being sent in compliance with Senate bill 1622 , Title 6 , Section 301 ! This is NOT unsolicited bulk mail . Why work for somebody else when you can become rich within 28 weeks . Have you ever noticed most everyone has a cellphone & how many people you know are on the Internet . Well, now is your chance to capitalize on this ! WE will help YOU use credit cards on your website and turn your business into an E-BUSINESS ! You can begin at absolutely no cost to you . But don't believe us . Mr Jones of Massachusetts tried us and says "My only problem now is where to park all my cars" ! We are licensed to operate in all states ! We beseech you - act now . Sign up a friend and your friend will be rich too ! Thank-you for your serious consideration of our offer !

Jag testade även att lägga till ett a resp ett ö i slutet av Kryptoblog och fick följande förändringar:

Kryptoblog vs Kryptobloga:

> you . But don't believe us . Mr Ames who resides in
> Washington tried us and says "I was skeptical but it
> worked for me" ! We are licensed to operate in all

Kryptoblog vs Kryptoblogö:

> Dear E-Commerce professional ; This letter was specially
> selected to be sent to you . This is a one time mailing
> there is no need to request removal if you won't want
> any more . This mail is being sent in compliance with
> Senate bill 1625 ; Title 2 , Section 309 . This is
> not multi-level marketing . Why work for somebody else
> when you can become rich as few as 33 weeks . Have
> you ever noticed nobody is getting any younger & nobody
> is getting any younger . Well, now is your chance to
> capitalize on this ! We will help you increase customer
> response by 190% plus deliver goods right to the customer's
> doorstep . You are guaranteed to succeed because we
> take all the risk ! But don't believe us ! Mr Anderson
> who resides in Kentucky tried us and says "I've been
> poor and I've been rich - rich is better" ! We assure
> you that we operate within all applicable laws . We
> BESEECH you - act now ! Sign up a friend and you get
> half off . Thank-you for your serious consideration
> of our offer ! Dear Professional , This letter was
> specially selected to be sent to you . We will comply
> with all removal requests ! This mail is being sent
> in compliance with Senate bill 1916 , Title 4 ; Section
> 304 . This is not a get rich scheme . Why work for
> somebody else when you can become rich inside 57 days
> ! Have you ever noticed people love convenience and
> more people than ever are surfing the web . Well, now
> is your chance to capitalize on this . WE will help
> YOU turn your business into an E-BUSINESS and deliver
> goods right to the customer's doorstep ! You can begin
> at absolutely no cost to you . But don't believe us
> ! Prof Anderson of Idaho tried us and says "Now I'm
> rich, Rich, RICH" ! We are a BBB member in good standing
> ! For the sake of your family order now ! Sign up a
> friend and you'll get a discount of 60% . Cheers !

Dvs det finns inte en enkel koppling mellan antalet bokstäver i klartexten och i kryptotexten. En liten förändring i klartexten ger upphov till stora förändringar av kryptotexten. Vidare varierar även vilka ord som används, mellanslag, punktuation och andra tecken variera, så Spammimic verkar använda ganska månfa frihetsgrader för att koda. Dock verkar strängen This mail is being sent in compliance with Senate bill förekomma ofta, vilket skulle kunna användas för att leta efter kryptotexten.

Spammimic verkar generera en ganska besvärlig kodad text, och förhoppningsvis används ett vettigt krypto för att kryptera klartexten innan den kodas om till spamtext. Men frågan är hur bra Spammimic är. Är detta ett sett att kommunicera säkert, eller ett bra sätt att bli svartlistad och inte kunna kommunicera alls?

När OpenSSL är upprörd

Monday, July 14th, 2008

(Rättelse: Jakob påpekar att det är BIND som är upprörd, inte OpenSSL. Tack!)

Detta kom på maillistan FreeBSD Security. OpenSSL är ganska tydlig när det gäller användandet av osäkra versioner av OpenSSL-biblioteketet. Någon försökte uppdatera dns/bin95 på ett system med FreeBSD 6.3-STABLE och fick följande respons:


> config.status: creating include/isc/platform.h
> config.status: creating config.h
> WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
> WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
> WARNING WARNING
> WARNING Your OpenSSL crypto library may be vulnerable to WARNING
> WARNING one or more of the the following known security WARNING
> WARNING flaws: WARNING
> WARNING WARNING
> WARNING CAN-2002-0659, CAN-2006-4339, CVE-2006-2937 and WARNING
> WARNING CVE-2006-2940. WARNING
> WARNING WARNING
> WARNING It is recommended that you upgrade to OpenSSL WARNING
> WARNING version 0.9.8d/0.9.7l (or greater). WARNING
> WARNING WARNING
> WARNING You can disable this warning by specifying: WARNING
> WARNING WARNING
> WARNING --disable-openssl-version-check WARNING
> WARNING WARNING
> WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
> WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
> ===> Building for bind95-base-9.5.0.1

(Många varningar blir det.)

Borde vara svårt att missa att det är dags att uppdatera OpenSSL…

Guido van Rossum om säkerheten i Google App Engine

Wednesday, July 2nd, 2008

Sprang på en intervju med Guido van Rossum, skaparen av Python och BDFH (Benevolent Dictator For Life) om säkerheten i Google App Engine.

Guido van Rossum.
Guido van Rossum en glad och vänlig diktator.

Tyvärr är intervjun kanske den mest intressanta då Guido mest försöker undvika prata om specifika saker som gjorts för att säkra upp Google App Engine. Det blir mycket svar av den här typen:

cloudsecurity.org: Please provide some examples of how those principles played out in terms of the current implementation?

GvR: Sorry, we don’t divulge such information.

cloudsecurity.org: How do you contain an attacker that exploits bugs in App Engine from exploiting the underlying OS and potentially interfering with other users processes or attacking backend systems?

GvR: You are correct that there are strong measures in place, but I’m not at liberty to discuss details.

Det finns dock en del annat i intervjun som gör att den är läsvärd i alla fall.

En person som varit delaktig i säkerhetsarbetet med Google App Engine är App Engine. Det finns en sida med videopresentation och referat där han berättar mer.

Nya gränssnitt till verktyg

Sunday, June 1st, 2008

Lite sena söndagsdumheter. Några människor med på tok för mycket fritid och bra krativitet har gjort en mashup av gamla spel och sysadminverktyg. Resultatet är…

Wolfotrack
Gamla Wolfenstein 3D möter Netfilter:

Wolfotrack

Övervaka trafiken och kontrollera (skjut ner) sessioner du inte gillar. Det finns en film på Youtube som visar Wolfotrack:

En ypperlig kommentar om Wolfotrack:

“With wolfotrack, I look forward new connections. Banning p2p has never been so fun !”
— Pascal Terjan, Mandriva kernel team

Nu är inte Wolfotrack den enda mashup:en av det här slaget. Möt…

Sysadmindoom
(Ett ganska gammalt hack).

Sysadmindoom

I Sysadmindoom är processer mappade till figurer i Doom, och som sysadmin kan du som spelare välja vad du vill göra - exempelvis gör processen kort… Enligt Dennis Chao, skaparen av Sysadmindoom finns det några fördelar med den här typen av GUI:

* The machine load is immediately apparent to the player, who can see how crowded a room is. The player can eyeball many machines from a high vantage point and go down to a room that needs maintenance.

* There is a nice continuum for resource allocation. A user may choose to simply wound processes rather than killing them, which could naturally be translated to renicing them.

* A new sysadmin can be given less power by providing her with a smaller weapon. A rank beginner may not be given a weapon at all and be forced to attack processes with her bare hands. It would take a foolhardy player to attack a room full of monsters, just as a newbie should not kill a bunch of important processes. A more experienced sysadmin would have time to stop a newbie who is trying to kill the wrong process. The real work could be left to those with the big guns. The truly great sysadmins could have BFGs.

* Really crowded systems would regulate their own load because monsters occasionally kill each other. Once the population in a room goes down, the monsters will stop attacking each other.

* Drastic action takes work. In a command line interface, all actions take approximately the same amount of effort. One can ls just as easily as rm -rf *, which is kind of unfortunate. In a cyberspace environment, the players are not omnipotent, so performing large actions takes time and effort.

* Important processes can be instantiated as more powerful monsters. They can then defend themselves against inexperienced sysadmins.

* Sysadmins could cooperate or compete. Doom is a natural environment for player-to-player interactions. A team of players can cooperate to take care of a heavily-loaded system, or they can even take out rogue sysadmins who are killing the wrong processes.

Jag är inte säker på om detta verkligen är framtidens gränssnitt, och kanske är inte Star Treks pastellfärgade touchpaneler det heller.

Star Trek

Men det är intressant att det sker (mer eller mindre seriösa) försök att hitta sätt att illustrera nätverkstrafik, processer etc… Och så får man en chans att spela ett gammalt skjutaspel igen.

Unbound - en ny DNS-server

Saturday, May 31st, 2008

I förra veckan släpptes version 1.0.0 av en ny DNS-server kallad Unbound.

Syftet med Ubound är att erbjuda ett alternativ till BIND. Unbound är modulärt uppbyggd och ger bland annat stöd för DNSSEC. Några av de grundläggande funktionerna är:

  • Dubbla stackar för IPv4 och IPv6
  • DNSSEC-validering: NSEC, NSEC3, förberedd för SHA-256

Grunden till Unbound var en prototyp i Java utvecklad av jakob Schlyter på svenska Kirei och Roy Arends på Nominet.

Koden till Unbound är BSD-licensierad och det finns webbaccess till SVN-repon.

På Unbounds sida finns en hel del dokumentation och även ett par presentationer som beskriver Unbound, bland annat den här presentationen från RIPE56.

Hacka Google med Google App Engine

Thursday, April 10th, 2008

För några dagar sedan presenterade Google sin nya tjänst App Engine.

App Engine

Med App Engine erbjuder Google en miljö och utrymme för att köra applikationer hos Google. Google beskriver applikationsmiljön på följande sätt:

The Application Environment
Google App Engine makes it easy to build an application that runs reliably, even under heavy load and with large amounts of data. The environment includes the following features:

* dynamic web serving, with full support for common web technologies

* persistent storage with queries, sorting and transactions

* automatic scaling and load balancing

* APIs for authenticating users and sending email using Google Accounts

* a fully featured local development environment that simulates Google App Engine on your computer

Google App Engine applications are implemented using the Python programming language. The runtime environment includes the full Python language and most of the Python standard library.

Although Python is currently the only language supported by Google App Engine, we look forward to supporting more languages in the future.

The Sandbox
Applications run in a secure environment that provides limited access to the underlying operating system. These limitations allow App Engine to distribute web requests for the application across multiple servers, and start and stop servers to meet traffic demands. The sandbox isolates your application in its own secure, reliable environment that is independent of the hardware, operating system and physical location of the web server.

Examples of the limitations of the secure sandbox environment include:

* An application can only access other computers on the Internet through the provided URL fetch and email services and APIs. Other computers can only connect to the application by making HTTP (or HTTPS) requests on the standard ports.

* An application cannot write to the file system. An app can read files, but only files uploaded with the application code. The app must use the App Engine datastore for all data that persists between requests.

* Application code only runs in response to a web request, and must return response data within a few seconds. A request handler cannot spawn a sub-process or execute code after the response has been sent.

Google beskriver även Pythonmiljön närmare:

The Python runtime environment uses Python version 2.5.2.

The environment includes the Python standard library. Of course, calling a library method that violates a sandbox restriction, such as attempting to open a socket or write to a file, will not succeed. For convenience, several modules in the standard library whose core features are not supported by the runtime environment have been disabled, and code that imports them will raise an error.

Application code must be written exclusively in Python. Code with extensions written in C is not supported.

The Python environment provides rich Python APIs for the datastore, Google Accounts, URL fetch and email services. App Engine also provides a simple Python web application framework called webapp to make it easy to start building applications.

For convenience, App Engine also includes the Django web application framework, version 0.96.1. Note that the App Engine datastore is not a relational database, which is required by some Django components. Some components, such as the Django template engine, work as documented, while others require a bit more effort. See the Articles section for tips on using Django with App Engine.

You can upload other third-party libraries with your application, as long as they are implemented in pure Python and do not require any unsupported standard library modules.

Det ser alltså ut som att Google lagt ner mycket arbete på att se till att App Engine-applikationer exekverar i en säker miljö som inte hotar andra applikationer eller Googles egna system. Det har nu inte hindrat folk att försöka. Tvärt om, att döma av maillistor som Dailydave har rätt många börjat stampa på Pythonmiljön för att se om det går att slå hål på sandlådan.

En av de första applikationer som dykt upp i App Engine är ett interaktivt Python-skal. Och den applikationen använts för att undersöka vad som går att göra, bland annat försök att komma åt passwd-filer, och på andra sätt titta och peta i Pythonmiljön och det underliggande systemet. En hel del försök har dock slutat i det här meddelandet:

This Google App Engine application is temporarily over its serving
quota. Please try again later.

Jag satt och testade lite själv för att se hur mycket av Pythons standardbibliotek man får med:

Google Apphosting/1.0
Python 2.5.2 (r252:60911, Mar 12 2008, 14:07:58)
[GCC 4.1.0]

>>> import this
>>> import os
>>> os.path
(module ‘posixpath’ from ‘/base/python_dist/lib/python2.5/posixpath.py’)

(Jag har ändrat syntaxen från responsen i skalet då hakparanteserna fastnade i Wordpress…)

OS-modulen finns med, och det går uppenbarligen att titta runt i sandlådans struktur. Men Pythons påskägg “this” har Google inte plockat med…

Vi får se om/när någon lyckas slå hål på App Engine, om Google lyckats rensa ut alla accesser till underliggande systemet eller ej. Google har ju en bra grundförutsättning i och med att Guido van Rossum arbetar på Google.
Guido

Är det någon som borde kunna ha bra koll på hur man bygger om Python är det BDFL.

Pythongeneratorer och RC4

Monday, April 7th, 2008

Ett litet erkännande: Jag gillar programspråket Python.

Jag började använda Python så smått för några år sedan, och sedan dess har användningen bara ökat. Jag använder i dag Python bland annat till att bygga program som genererar parametriserade hårdvarubeskrivningar (i Verilog eller VHDL), exempelvis av krypton.

Ofta har jag även ett Pythonskal igång i ett terminalfönster och använder den som en miniräknare, genererar små sekvenser, testhackar m.m. Jag upplever att Python har gjort att mina konstruktioner inte bara är mycket bättre, utan att jag arbetar mer effektivt och är mer produktiv.

Några av de saker jag gillar med Python är dess objektorientering, att det är lätt att komma igång och att det känns som att det finns en organiserad tanke och struktur hur kommandon etc är uppbyggda. Det funkar som jag tror att det gör. Men en av de viktigaste aspekterna är (anser jag) att programmen blir läsbara.

Jag kan läsa program jag skrev för flera veckor sedan och fatta vad det gör och jag kan läsa andras kod. (I det här läget brukar jag peka på Trac och dess kod som exempel på hur snygg Pythonkod kan vara. Trac är för övrigt en annan sak jag gillar.)

Samtidigt anser jag mig fortfarande mycket av en Python-novis. Jag använder få av språkets många funktioner, men det är inget problem utan med de kunskaper jag har i dag kan jag snabbt och enkelt göra det jag vill. Sedan är det bara kul att lära sig nya aspekter av språket som gör mig än mer effektiv.

I morse satte jag mig ned och testade generatorer (generators), dvs funktioner som kan fungera som en tillståndsmaskin, eller varför inte som uppdateringsfunktionen i ett strömkrypto.

När jag ändå är igång och erkänner en massa saker kan jag väl erkänna att jag gillar strömkryptot RC4. Ja, det har sina vårtor, speciellt i vissa tillämpningar. Men jag vet få relativt bra krypton som är så enkla att förstå och där man lätt kommer ihåg algoritmen som RC4 (försök att memorera AES-algoritmen).

En annan fördel med RC4 är att RC4 går att köra för hand med papper och penna om så krävs. Och med en nyckel som skalar till 4096 bitar, om man tar hänsyn till FMS-attacken (och kastar bort säg 4096 bytes från strömmen) är det fortfarande ett rätt säkert krypto.

Därför valde jag i morse att implementera RC4 som en Pythongenerator. Själva generatordelen av koden ser ut så här:

def rc4(key):
# RC4 stream generation. The while loop will yield between
# function calls and return the latest key stream value.
ipoint = 0
jpoint = 0
while(True):
ipoint = (ipoint + 1) % 256
idata = state_array[ipoint]

jpoint = (jpoint + idata) % 256
jdata = state_array[jpoint]

state_array[ipoint] = jdata
state_array[jpoint] = idata

kpoint = (idata + jdata) % 256
kdata = state_array[kpoint]

yield(kdata)

(Ja, koden går att dra ihop och bla går swap att göra på ett mer kompakt sätt…)

Notera satsen yield. Detta kommando beter sig som en vanlig return-sats, men skillnaden är att tillståndet hos funktionen bevaras, och vid nästa anrop fortsätter exekveringen efter yield-satsen, dvs nästa varv i while()-satsen.

För att använda en generator skapar man en referens till funktionen genom att göra en tilldelning. Men eftersom funktionen innehåller en yield-sats och därmed är en generator kommer Python att skapa ett objekt (allt i ett Pythonprogtam är ju objekt) med en next()-metod. Och det är via den vi sedan kör vår generator:

# Create an RC4 generator initialized with a key.
my_key = “Kryptoblog”
my_rc4 = rc4(my_key)

# Generate a short key stream.
print “RC4 key stream for key ‘%s’:” % my_key
for i in range(16):
print ” key stream value %d = %d” % (1, my_rc4.next())

När jag kör detta program får jag följande:

js@sotis:/Users/js/tmp/Div>./rc4_test.py
RC4 key stream for key ‘Kryptoblog’:
key stream value 0 = 184
key stream value 1 = 152
key stream value 2 = 122
key stream value 3 = 134
key stream value 4 = 184
key stream value 5 = 174
key stream value 6 = 24
key stream value 7 = 177
key stream value 8 = 238
key stream value 9 = 192
key stream value 10 = 172
key stream value 11 = 176
key stream value 12 = 86
key stream value 13 = 90
key stream value 14 = 51
key stream value 15 = 205

Det som inte finns med i koden ovan är initieringsdelen av RC4, vilket naturligtvis måste finnas med för att vi skall få ut en korrekt nyckelström. Jag kommer att lägga upp det kompletta programmet på en sida här på bloggen. Återkommer om detta.

Min erfarenhet av att leka en söndagsmorgon med Python-generatorer är att det fungerade precis som jag hoppats, att det var enkelt att använda och fungerade bra för att implementera en funktion som RC4.

(Vill man se en objektorienterad Pythonimplementation av RC4 i finns det en på Wikipedias sida för RC4, vilket jag upptäckte när jag byggt klart mitt hack och skulle äta frukost….)

Skyddet i Blue-Ray Disc knäckt

Tuesday, March 25th, 2008

SlySoft, tillverkaren av DVD-programvaran AnyDVD har meddelat att den senaste versionen av AnyDVD klarar av att kopiera Blue-Ray-skivor.

Blue-Ray Disc

SlySoft skriver:

Film studios that have switched to Blu-ray may have crowed a little too early because the much-praised BD+ copy protection is an ad absurdum affair now, too. With today’s release of version 6.4.0.0 of AnyDVD HD it is now also possible to make backup security copies of Blu-ray discs protected with BD+.

Richard Doherty of the Envisioneering Group will have to revise his statement from July, 2007 regarding BD+: “BD+, unlike AACS which suffered a partial hack last year, won’t likely be breached for 10 years”. It is worth mentioning that since he made that statement only eight months have gone by.

Peer van Heuen, head of High-Definition technologies at SlySoft adds: “Admittedly, we are not really so fast with this because actually we had intended to publish this release already in December as promised. However, it was decided for strategic reasons to wait a bit for the outcome of the “format war” between HD DVD and Blu-ray. On top of that, we first wanted to see our assumptions confirmed about the in the meantime released BD+ titles regarding the BD+ Virtual Machine. We are rather proud to have brought back to earth the highly-praised and previously “unbreakable” BD+. However, we must also admit that the
Blu-ray titles released up to now have not fully exploited the possibilities of BD+. Future releases will undoubtedly have a modified and more polished BD+ protection, but we are well prepared for this and await the coming developments rather relaxed”.

BoingBoing har en tråd med mer information. Bland annat verkar det som att kopior på filmer skyddade med BD+ har börjat dyka upp på olika nätverk.

Det som inte är klart är hur BD+ har knäckt, och egentligen är det inte så intressant. Det viktiga är att skyddet har eliminerats på något sätt. Man kan se den här nyheten som ett exempel på vad som antagligen kommer att hända med Adobes nya DRM-skydd.

Hälsa på ditt IT-säkerhetshot

Tuesday, March 18th, 2008

MessageLabs har skapat bilder av olika typer av IT-säkerhetshot. Med utgångspunkt från källkoden har konstnären Alex Dragulescu skapat bilder av olika virus, trojaner och andra typer av hot. Så här ser exempelvis viruset (masken) Netsky ut:

Netsky

Och här är spywareprogrammet Ghost:

Ghost

Det jag gärna hade sett är hur olika versioner/varianter av samma hot ser ut. Det är inte alls säkert att detta leder till några större fördelar och att det underlättar förståelsen. Men fräckt är det.