Posts Tagged ‘Verktyg’

Ta bort Vuzuvela med mplayer

June 14th, 2010

Fick precis ett tips om att försöka ta bort Vuzuvela-ljudet från fotbolls-VM genom att använda filterfunktioner i mplayer:

mplayer -af
pan=1:0.5:0.5,sinesuppress=233:0.01,sinesuppress=466:0.01,sinesuppress=932:0.01,
sinesuppress=1864:0.01,sinesuppress=232:0.01,sinesuppress=465:0.01,
sinesuppress=931:0.01,sinesuppress=1863:0.01,sinesuppress=234:0.01,
sinesuppress=467:0.01,sinesuppress=933:0.01,sinesuppress=1865:0.01

(Notera “” som markerar att linjen egentligen fortsätter.)

Testa om det funkar. Fotbolls-VM skulle bli mycket mer uthärdligt om det inte var ett konstant bröl.

Nya versioner av libssh2 och openSSL

June 13th, 2010

Det har kommit nya versioner av biblioteken libssh2 och openSSL.

libssh2

Version 1.2.6 av libssh2 inkluderar både en del nya funktioner och ett antal buggfixar, bland annat ett antal fixar av problem som fångats av statisk kodanalys med clang. Mer exakt innehåller den nya versionen följande förändringar:

Changes:

* Added libssh2_sftp_statvfs() and libssh2_sftp_fstatvfs()
* Added libssh2_knownhost_checkp()
* Added libssh2_scp_send64(


Bug fixes:

* wait_socket: make c89 compliant and use two fd_sets for select()
* OpenSSL AES-128-CTR detection
* proper keyboard-interactive user dialog in the sftp.c example
* build procedure for VMS
* fixed libssh2.dsw to use the generated libssh2.dsp
* several Windows-related build fixes
* fail to init SFTP if session isn’t already authenticated
* many tiny fixes that address clang-analyzer warnings
* sftp_open: deal with short channel_write calls
* libssh2_publickey_init: fixed to work better non-blocking
* sftp_close_handle: add precation to not access NULL pointer
* sftp_readdir: simplified and bugfixed
* channel_write: if data has been sent, don’t return EAGAIN

OpenSSL

Den nya versionen av OpenSSL heter 1.0.0a, vilker visar att man iaf än så länge inte övergett sin metod att namnge versioner. Den nya versionen innehåller dock bara en egentlig förändring kopplad till säkerhetsproblemet CVE-2010-1633:

RSA verification recovery in the EVP_PKEY_verify_recover function in OpenSSL 1.x before 1.0.0a, as used by pkeyutl and possibly other applications, returns uninitialized memory upon failure, which might allow context-dependent attackers to bypass intended key requirements or obtain sensitive information via unspecified vectors.

Statisk kodanalys på libssh2

April 21st, 2010

För några dagar sedan släpptes version 1.2.5 av SSH-biblioteket libssh2.

libssh2-logga.

Eftersom jag använder en Steve Jobs-maskin tänkte jag att det kunde vara kul att testa att bygga libssh2 för att se hur väl det funkar. Det korta svaret visade sig vara alldeles utmärkt. Eftersom libssh2 använder autoconf var det bara att köra ./configure och sedan make och biblioteket byggde utan problem.

MacOSXs utvecklingsmiljö Xcode inkluderar förutom kompilatorn gcc även den LLVM-baserade kompilatorn clang, ett projekt Apple aktivt driver utvecklingen av.

Jag har använt clang och tycker att den är bättre på att hitta problem, ger bättre varningar samt genererar något bättre kod än gcc. Jag testade därför att bygga libssh2 med clang. Genom att helt enkelt deklarera CC=clang som parameter till configure gick det sedan att bygga libssh2. Återigen utan varningar och problem.

En funktion som clang inkluderar är statisk kodanalys. Detta innebär att verktyget går igenom alla logiska vägar i programmet och kan detektera felaktig användning av variabler, ex att variabler blir lästa innan de definierats. Clang utför kodanalysen som en del av kompileringen och genererar sedan ett antal rapporter (webbsidor) som visar de vägar genom koden som leder fram till problem den detekterat. Så här kan en rapport se ut:

kodtrace1.

För att köra kodanalysatorn fristående (i ett terminalfönster) och inte genom Xcode finns det ett litet program kallat scan-build. Installationen av scan-build är så svår som att tanka ner och packa upp katalogen verktyget ligger i. Sedan får man se till att köra configure med CC=scan-build som kompilator och dessutom slå på generering av debuginformation vid kompilering.

Kompilering med scan-build to klart längre än med clang eller gcc, men gick igenom utan problem på libssh2. Resultatet blev att den hittade 67 problem. De flesta av dessa var Dead assignment och relaterade problem, dvs ställen i koden där en variabel uppdateras, men sedan aldrig mer blir läst.

Mer intressant var dock att det upp ett antal logiska fel av typen Dereference of undefined pointer value och Uninitialized argument, dvs ställen där en pekare blir läst som inte blivit definierad samt argument som blir använda men som inte blivit initierade. Dessa problem är mer problematiska och skulle kunna öppna för säkerhetsproblem.

Daniel Stenberg, pappa till libssh2 har nu satt upp ett cronjobb som kör clangs statiska analysator på kodbasen en gång per dygn och genererar rapporter. Här finns exempelvis Rapporterna för för dagens körning (2010-04-21) – och libssh2 är nu nere på 28 problem.

För den som vill se hur scan-build rapporterar olika fel är här en rapport för en död tilldelning och här är en rapport för en derefererad, men icke definierad pekare.

Jag tycker att clang och dess statiska kodanalysator är enkla och smidiga att arbeta med och ger bra återmatning vid kodutveckling. clang är BSD-licensierad och finns till ett flertal plattformar. Håller du på att knacka kod tycker jag att du skall testa clang.

OpelSSL når 1.0.0

March 30th, 2010

OpenSSL, Open Source-biblioteket som implementerar Secure Sockets Layer (SSL v2/v3) och Transport Layer Security (TLS v1) släpptes igår (2010-03-29) i version 1.0.0.

OpenSSL

Den nya releasen innehåller ett flertal fixar och nyheter (ChangeLog), men varför man valde att gå till 1.0.0 nu är inte helt klart. OpenSSL som projekt startade i december 1998 och första versionen var 0.9.1c(!). Sedan dess har man under nästan tolv års tid harvat med 0.9.x-inkrement.

Psykologiskt är det dock viktigt att det nu finns en 1.x-version av OpenSSL – för en utomstående kan det vara svårt att tro att något med version 0.9.8n är stabilt och lämpligt att använda i seriösa tilämpningar. Tittar man längst upp i ChangeLog ser det ut som att nästa version kommer att heta 1.1.0 så dom verkar gå mot mer normala versionsnummer.

För den som vill tanka ner version 1.0.0 av OpenSSL finns den här.

Uppdaterad 2010-03-31:
Hittade en pressrelease från OpenSSL som beskriver 1.0.0-releasen:


The OpenSSL project team is pleased to announce the release of version 1.0.0 of our open source toolkit for SSL/TLS. This new OpenSSL version is a major release and incorporates many new features as well as major fixes compared to 0.9.8n. For a complete list of changes, please see http://www.openssl.org/source/exp/CHANGES .

The most significant changes are:

o RFC3280 path validation: sufficient to process PKITS tests.
o Integrated support for PVK files and keyblobs.
o Change default private key format to PKCS#8.
o CMS support: able to process all examples in RFC4134
o Streaming ASN1 encode support for PKCS#7 and CMS.
o Multiple signer and signer add support for PKCS#7 and CMS.
o ASN1 printing support.
o Whirlpool hash algorithm added.
o RFC3161 time stamp support.
o New generalised public key API supporting ENGINE based algorithms.
o New generalised public key API utilities.
o New ENGINE supporting GOST algorithms.
o SSL/TLS GOST ciphersuite support.
o PKCS#7 and CMS GOST support.
o RFC4279 PSK ciphersuite support.
o Supported points format extension for ECC ciphersuites.
o ecdsa-with-SHA224/256/384/512 signature types.
o dsa-with-SHA224 and dsa-with-SHA256 signature types.
o Opaque PRF Input TLS extension support.
o Updated time routines to avoid OS limitations.


We consider OpenSSL 1.0.0 to be the best version of OpenSSL available and we strongly recommend that users of older versions upgrade as soon as possible.

GPU-accelererad lösenordsknäckare

March 27th, 2010

Elcomsoft har släppt lösenordsknäckare som är accelererade prestandamässigt med grafikprocessorer (GPU).

Elcomsoft

De nya lösenordsknäckarna attackerar lösenord för Wi-Fi lösenord (WPA-PSK) samt lösenordsskyddade backuper från iPhone och iPod. Elcomsoft använder ATI Radeon 5000-GPU:er.

ATI Radeon 5000

Benchmarkmätningar visar enligt ElcomSoft att ATI Radeon HD5970 ger 20x högre prestanda för lösenordsknäckning än Intels Core i7-960. Elmcomsoft ser även att dom får mycket bättre prestanda än med Nvidias Tesla-kort:

WPA-PSK-prestanda.

ssdeep – ett öppet fuzzy hashing-verktyg för forensik

March 23rd, 2010

Det finns ett öppet verktyg för att göra fuzzy (dvs inexakt) hashning av data kallat sssdeep. Syftet med verktyget är att kunna göra forensisk analys av data, ex på hårddiskar. Det finns även en artikel av Jesse Kornblum, Identifying almost identical files using context triggered piecewise hashing, som beskriver vad fuzzy hashing är, hur den algoritm som används i ssdeep fungerar och hur ssdeep används för att jämföra ett par jpeg-bilder.

Värt att notera är att ssdeep inte bara kan jämföra bilder och binärformat, utan kan även användas för att exempelvis hitta återanvänd kod i källkod.

För den som är intresserad av forensik kan det vara bra att veta att det (tydligen – jag kände inte till den innan) finns en Wiki kallad forensicswiki om forensik (forensicswiki). Förutom en sida om ssdeep med bra användningsexempel finns här en massa info om verktyg och metoder för forensik.

Jag testade att tanka ner och programmet byggde snällt och ser ut att fungera. Har dock inga bra exempelfiler att köra på. Jag testade att ta en PDF och peta in “AA” slumpmässigt på 10 olika ställen i en kopia av filen och sedan jämföra:

js@stajlis:ssdeep-2.4>./ssdeep original.pdf moddad.pdf
ssdeep,1.0--blocksize:hash:hash,filename
6144:mYKtFZX3SIv7aSxwEsLfoBKfCQPGjPZsQAxbbC3S+hbQgQEs:
mPhHSIv7aSx2owfCVZhCXySkbjQb,'original.pdf'

6144:xYKtqZX3SMv7aSxwE+LfoBMfCQPGjPZqQAxbbC3S+hbQgQEs:
xPWHSMv7aSxIoCfCVZPCXySkbjQb,'moddad.pdf'

js@stajlis:ssdeep-2.4>md5 original.pdf
MD5 (original.pdf) = a7ca4d650f7e8f6d073fc9d800f343ea
js@stajlis:ssdeep-2.4>md5 moddad.pdf
MD5 (moddad.pdf) = 459e7a8aa23272c2291d32ccd1286e53

Som man kan se ovan verkar ssdeep detektera att filen är modifierad, men att döma av hasharna är dom väldigt lika. MD5 som jämförelse ger att filerna skiljer, men inte hur mycket. Hur man sedan skall tolka och använda resultatet från ssdeep behöver jag läsa på bättre för att förstå. Det verkar funka i alla fall.

FriBID – fri BankID

March 22nd, 2010

FriBID är ett projekt som utvecklar fri programvara för BankID i sverige.

FriBID logga

Ur ett rent säkerhetsperspektiv är öppenhet att föredra och därför tycker jag att FriBID är ett kanonbra projekt värd all uppmärksamhet.

F-Secure erbjuder betatest av deras Mac-skydd

March 6th, 2010

Miko Hypponen meddelade på Twitter att F-Secure nu erbjuder Mac-användare att betatesta deras nya produkt för att skydda MacOSX.
Screenshot av skydd för Mac.

Jag har själv inte testat, men skall göra det den kommande veckan.

Integritet på nätet med Microsofts U-Prove

March 4th, 2010

Svenska Microsofts blogg On the Issues berättar om en ny teknik för att skydda användares integritet på nätet kallad U-Prove. Microsofts Daniel Akenine skriver:


Gammal visdom säger dig att om du vill ha en ökad säkerhet så måste du vara beredd offra en del av din integritet.
...
2004 introducerade forskaren Stefan Brands en process kallad U-prove för att adressera denna utmaning och 2008 köpte Microsoft upp denna teknologi. Stefan och hans medarbetare har sedan dess arbetat för att integrera idéerna i Microsofts teknologier och idag kan vi börja se resultatet av deras arbete.
...
Tankarna kring att i varje situation veta precis så mycket som krävs för att utföra en uppgift men inte mer kommer ifrån militärt tänkande där risken för läckande information kan innebära att faran ökar för en operation. Samma principer gäller även på Internet där du sprider (ofta omedvetet) mängder med information om dig själv i sammanhang där de fastnar och senare kan utnyttjas i andra syften.

U-prove är en teknologi för att kunna skapa sådana fungerande scenarier och säkerställa att man inte röjer mer information än nödvändigt. Jag har följt U-prove teknologin i flera år och det är roligt att nu kunna annonsera ut att vi nu öppnar upp allt intellektuellt kapital som är associerat till U-prove och släpper det under Microsoft Open Specifikation Promise . Vi släpper samtidigt två stycken bibliotek som öppen källkod under båda Java och C# så att utvecklare kan börja använda denna teknologi på riktigt.

Låter som en mycket bra teknik. För den som vill veta mer och testa finns det mer info på U-Proves sida.

OpenDNSSEC 1.0.0 släppt

February 9th, 2010

I dag släpptes version 1.0.0 av OpenDNSSEC. Därmed har ännu ett steg för DNSSEC tagits.

OpenDNSSEC

För de som ej vet är OpenDNSSEC är och gör kommer här en snabb förklaring:


OpenDNSSEC was created as an open-source turn-key solution for DNSSEC. It secures zone data just before it is published in an authoritative name server.

What does OpenDNSSEC do?
OpenDNSSEC takes in unsigned zones, adds the signatures and other records for DNSSEC and passes it on to the authoritative name servers for that zone.

DNS is complicated, and so is digital signing; their combination in DNSSEC is of course complex as well. The idea of OpenDNSSEC is to handle such difficulties, to relieve the administrator of them after a one-time effort for setting it up.

OpenDNSSEC - funktion

Många har slitit hårt och länge för att få till version 1.0.0. Bra jobbat!