Taggat med: google

Snabbare fuzztester med taviso loadlibrary

Tavis Ormandy (taviso) på Google har släppt ett nytt verktyg som underlättar fuzztester av mjukvaror. Verktyget heter loadlibrary och gör att dynamiska bibliotek (DLL:er) från Windows kan köras på Linux.

Vid storskaliga fuzztester är det viktigt med så lite overhead som möjligt för att inte slösa resurser på onödiga saker. Därför utvecklade taviso verktyget loadlibrary för att enkelt kunna skapa små containers med Windows-DLL:er och sedan fuzza dessa DLL:er i en storskalig miljö. Google har även sedan tidigare utvecklat verktyget OSS-fuzz som just är ett ramverk för att snabbt och enkelt göra fuzzing av mjukvaror.

Fuzz-tester är en metodik för att skicka in mer eller mindre slumpmässig data på olika sätt och sedan se hur ett program beter sig. Och kan då upptäcka en mängd olika sårbarheter såsom buffer-overflows, integer underflows osv.

Taviso har med hjälp av loadlibrary identifierat en allvarlig sårbarhet i bl.a. Microsofts antivirus-motor vid namn Microsoft Malware Protection Engine, Mpengine.dll (Windows Defender).

Exempel på hur Mpengine kan köras på Linux för att genomsöka filen eicar.com efter Eicar-testvirus:

$ ./mpclient eicar.com
main(): Scanning eicar.com...
EngineScanCallback(): Scanning input
EngineScanCallback(): Threat Virus:DOS/EICAR_Test_File identified.

Till skillnad från Wine som kör hela Windows-applikationer så kör taviso-loadlibrarykod från enstaka DLL:er.

Här kan du ladda hem loadlibrary från Github:

Obligatorisk Dilbert:

Nyheterna i Transport Layer Security version 1.3 (TLS 1.3)

 

SSL och TLS har under lång tid säkrat upp en betydande del av den krypterade kommunikationen på Internet. Sedan SSL version 1.0 släpptes internt hos Netscape Communications år 1994 så har det hänt en hel del.

Den nya versionen som just nu håller på att utvecklas inom en arbetsgrupp hos IETF har versionsnumret 1.3 där målsättningen är högre prestanda samt tillhandahålla en ännu högre säkerhet. Man kan säga att designkriteriet för denna nya version är ”less is more” och det innebär att en hel del föråldrade krypton har fått stryka på foten:

  • RSA är borttaget – Tillhandahåller inte Forward Secrecy
  • Svaga Diffie-Hellman grupper kan inte användas (SSL_OP_SINGLE_DH_USE)
  • CBC är borta – Är orsaken till attacker såsom Lucky13 och BEAST
  • RC4 samt SHA1 får inte längre användas
  • Export-algoritmer (ansvarig för attacker såsom FREAK, LogJam etc)
  • Nytt är ChaCha-Poly1305 samt stöd för OCB-modes (tipstack till Joachim Strömbergson)

När det gäller prestanda så har ett antal åtgärder införts:

  • 0-RTT samt 1-RTT

Genom att få ner antalet TCP-paket som måste skickas fram och tillbaka vid varje anslutning så kan snabbare TLS (och webbsidor etc) uppnås.

Här följer en bild hur 1-RTT ser ut där klienten skickar ett ClientHello direkt, samt så gissar klienten vilka krypton som kommer att användas:

När du sedan har en session etablerad så kan sedan 0-RTT användas vid senare tillfälle (Session Resumption) men detta möjliggör dock återuppspelningsattacker.

Vill du redan nu testa TLS 1.3 i Google Chrome så kan du göra följande:

  1. Skriv in ”chrome://flags/” i adressbaren och trycker enter
  2. Gå till ”Maximum TLS version enabled.” och välj ”TLS 1.3”
  3. Starta om Chrome

Och vill du testa med Firefox så behöver du ladda hem senaste nightly-build där TLS 1.3 är påslaget som standard.

Och nu när vi besöker kryptera.se och tar upp Developer Tools (DevTools) så synes följande:

Viktigt att tillägga är att TLS 1.3 inte är färdigt ännu och ändras löpande. Detta gör att mjukvara såsom OpenSSL är försiktiga med att göra förändringar. Den senaste uppdateringen till TLS 1.3 heter draft-19 och släpptes för cirka 2 veckor sedan.

För att exempelvis Nginx ska stödja TLS 1.3 så måste även OpenSSL stödja detta. Och OpenSSL kommer med stöd inom några veckor i version 1.1.1.

Uppdaterad: 2017-06-06, användes internt hos Netscape. Inte Mozilla som grundades först många år senare.

Google släpper E2EMail

Google har länge satsat på olika lösningar för End-to-end kryptering. Flertalet av dessa bygger på Googles JavaScript-biblioteket med namnet End-to-end och återfinnes på Github.

E2EMail har utvecklats som ett Chrome-plugin ovanpå End-to-end och har nu kopplat sina trådar till Google. Detta för att End-to-end ska vara ett community-baserat plugin och inte enbart något som Google handhar, vilket också är bra för säkerheten att fler engagerar sig och utvecklar vidare.

Tyvärr så är PGP inte lätt att använda och det är lätt att göra fel vilket E2EMail hjälper till med. Utvecklingen av E2EMail har pågått under tre års tid och är även tänkt att hjälpa GMail användare att skicka och ta emot krypterad E-post.

Än så länge finns inte E2EMail i Chrome Web Store utan du måste själv clona Github-repot och kompilera koden.

För att installera genomför följande steg:

$ git clone https://github.com/e2email-org/e2email
$ cd e2email
$ ./do.sh setup
$ ./do.sh build

Sedan så ligger det en Chrome-extension under mappen build/e2email som du installerar i Chrome genom att gå in under Settings -> Extensions och slå på Developer Mode. Där väljer du sedan Load unpacked extension och välj den extension du just kompilerade.

SHA-1 har nu blivit knäckt av Google – Ska vi vara oroliga?

Google släppte precis en bomb där de skriver att de lyckats att genomföra kollisionsattacker mot SHA-1. Som proof-of-concept så har man skapat två PDF-filer med olika innehåll men samma SHA-1 checksumma.

Att fasa ut SHA-1 är något som påbörjades för många år sedan men det har tyvärr gått långsamt och SHA-1 används fortfarande på många ställen såsom Git, Firefox, certifikat, Windows, PGP, TPM-chip osv. Teoretiska attacker mot SHA-1 presenterades redan 2013, så att det nu går att genomföra praktiskt är inte helt förvånansvärt.

Den grupp som skapat denna nya kollisionsattack består av personer från Google och CWI Amsterdam. Attacken går under namnet SHAttered och mer information återfinns på nedan infografik samt på sajten shattered.io.

Dock krävs det fortfarande en hel del beräkningskapacitet för att genomföra attacken och Ars Technica har räknat på detta:

Had the researchers performed their attack on Amazon’s Web Services platform, it would have cost $560,000 at normal pricing. Had the researchers been patient and waited to run their attack during off-peak hours, the same collision would have cost $110,000. That’s within the $75,000 to $120,000 range CWI’s Stevens projected in late 2015.

Att forskarna använder just PDF-filer är för att det är relativt lätt att lägga in godtycklig padding.

Som tur var så finns det även ett verktyg på Github för att detektera denna attack.

Så håller Google sin molntjänst Google Cloud säker med KVM

Google Cloud använder sig av open-source hypervisorn KVM för dess molntjänster Google Compute Engine och Google Container Engine. Google är ett företag som ställer mycket höga krav på säkerheten och har genomfört ett antal olika säkerhetshöjande åtgärder i KVM.

Genom nedan olika åtgärder så arbetar Google med att höja säkerheten:

  • Proaktivt arbete – Googles erkända IT-säkerhetsforskare arbetar kontinuerligt med att försöka identifiera nya zero-days i KVM och rapporterar dessa tillbaka till KVM-projektet.
  • Reducera attackytan – Genom att ta bort komponenter som inte behövs så kan attackytan reduceras. Sådana delar är exempelvis äldre drivrutiner för möss och tangentbord. Även så begränsar Google den instruktionsuppsättning som KVM emulerar.
  • Använder inte QEMU – Genom att utveckla en egen virtualisering mot hårdvaran kan även attacker minskas. Google har ett begränsat antal hårdvaruplattformar som de behöver stödja som rullar i deras olika datacenters. Även så stödjer Google inte korsarkitektur för olika värd/gäst-kombinationer.
  • Uppstart och kommunikation – Google använder ett unikt förfarande för kommunikation mellan värd och gäst med hjälp av kryptografiska nycklar. Dessa nycklar används för att säkerställa autentisering och auktorisering.
  • Snabba åtgärder – Internt har Google en strikt SLA som medger snabba och effektiv åtgärder vid eventuella säkerhetsbrister.
  • Noggrann releaseprocess – Vid utrullning av nya versioner så används en gedigen kontroll av säkerheten. Enbart ett fåtal anställda vid Google har tillgång till byggsystemet och kan göra ändringar i källkoden.

Tittar vi historiskt på attacker såsom Rowhammer eller Venom så går dessa inte att utföra alternativt så har Google utvecklat övervakningsverktyg för att detektera dessa. Även så genomför Googles säkerhetsteam löpande fuzzing-tester av mjukvaran för att identifiera nya sårbarheter (se bl.a. OSS-fuzz).

På följande föredrag så berättar Googles Andrew Honing även om Googles KVM-säkerhetsförbättringar:

Facebook stödjer nu inloggning med säkerhetsnyckel (U2F)

Facebook meddelade precis att de nu stödjer tvåfaktorsautentisering med hjälp av en hårdvarunyckel. Det är nycklar som stödjer standarden FIDO U2F som är utvecklad av Google samt svenska företaget Yubico.

En Yubikey U2F från Yubico kostar 160kr och går att beställas från Yubicos hemsida (tillkommer frakt på cirka 50kr). Förutom Facebook så stödjer även populära tjänster såsom Dropbox, Salesforce, och Google U2F-enheter sedan tidigare.

Har du en mobiltelefon med Android och NFC stöd så finns det dock ett antal möjligheter för inloggning eftersom dessa enheter oftast inte har USB.

Bild på en Yubikey U2F från Yubico:

 

Blackhat Europe 2016 rapport dag 1

Blackhat Europe 2016

Denna vecka befinner jag mig i London på cybersäkerhetskonferensen Blackhat. Konferensen går i USA, Asien samt Europa årligen. Tidigare har konferensen varit i Amsterdam, Barcelona och denna gång var det Londons tur. Priset för konferensen ligger på runt 1000€ och den som vill kan även gå utbildning två dagar innan konferensen (briefings) börjar.

På konferensen finns det fyra olika spår med olika inriktning. Jag har blandat mellan dessa olika spår och skrivit sammanfattningar nedan från den första dagen. Presentationen som PDF finnes även efter varje sammanfattning.

Du kan läsa min rapport från dag två här.

blackhat-pass

Automatiserad incidenthantering

Föreläsare: Elvis Hovor och Mohamed El-Sharkawi från Accenture

Förr eller senare blir alla organisationer drabbade av intrång, och det första vi gör är att använda våra verktyg och metoder för att undersöka intrånget. Även så kräver undersökningar efter ett intrång mycket resurser framförallt i form av tid.

Föredraget och forskningen bakom handlar om att förkorta tiden att från ett larm eller befarat intrång till att det går att bekräfta intrånget. Det kan röra sig om veckor eller månader i dagsläget. Frågor som incidentutredningen måste besvara är såsom vem låg bakom, vilken information har vi blivit av med, hur tog dom sig in, varför gjorde de intrånget.

Målet är att på ett formaliserat och återupprepat sätt fokusera på:

  • Snabbare utredningar
  • Enklare utredningar
  • Ta bort tråkiga och autonoma delar
  • En oerfaren forensiker kan göra avancerade utredningar
  • Minska risken inom organisationen genom att förkorta tiden

Hur kan vi analysera manuella moment och kompetenser hos en individ som genomför en forensisk utredning och automatisera detta och bygga ett verktyg för att göra detta.

Fyra huvudkategorier som forskningen fokuserar på:

  • Omfattande cyberontolog: Unified Cyber Ontology (UCO), ICAS och CMU Insider Threat Ontology
  • System som kan dela information och prata med varandra: STIX CybOX CVE
  • Maskininlärning och kognitivitet: DFAX, CRE
  • Globalt incidenthanteringskorpus

Kognitiva modeller som använder Binary Tree Traversal med en egenutvecklad poängtabell. Genom att analysera flertalet olika vägar i trädet som ger olika poäng så kan bästa metoden att genomföra en incidentutredning identifieras, “workflow paths”.

Efter ett tag kunde forskarna förbättra utredningarna och även förbättra den kognitiva modellen med en Markov-kedja. Bygga incidenthanteringsrobotar med hjälp av SPARQL.

Presentation: AUTOMATING INCIDENT RESPONSE: SIT BACK AND RELAX BOTS ARE TAKING OVER…

Effektiv fuzzning av filformat

Förläsare: Mateusz Jurczyk från Google Project Zero

Att fuzza handlar om kort och gott om att automatiskt generera mängder med indata till mjukvara och förstå hur mjukvaran hantera dessa olika inputs. Arbetet börjar med att identifiera olika typer av indata exempelvis i form av olika filformat. Dessa filformat kan sedan innehålla mycket komplexa strukturer. Att crawla internet efter exempelfiler är också en metod att hitta nya testfiler.

Genom att analysera mjukvaran som ska fuzzas och hur denna laddar in filer så är det även möjligt att se vilka filformat som supportas. Detta är viktigt för att försöka ladda in så många olika filtyper som möjligt och fuzza dessa. Det är även bra om så få ändringar som möjligt nå så många funktioner inom programmet som möjligt “byte to function ratio”.

Att se code coverage genom att räkna hur många basic blocks som träffas är en grov men ändå bra metod att se hur mycket av koden som träffas i fuzzningen. Dock kan vissa vägar inom samma block missas om det finns if-sats eller liknande. AFL av lcamtuf har tänkt på vissa av dessa problem i AFL technical whitepaper.

SanitizerCoverage är ett verktyg som lätt och enkelt kan mäta code-coveredge.

Nytt förslag från Mateusz är att generera trace-filer efter varje fuzzning som beskriver hur en viss input uppnår en viss sökväg inom programmet.

I Wireshark har han hittat 35 st olika sårbarheter som åtgärdats. Han kompilerade Wireshark med ASAN och AsanCoveredge, och Wireshark var ett bra mål för att majoriteten av alla dissectors är skrivna i programspråket C.

Det andra programmet han har lagt mycket tid på att fuzza är Adobe Flash, där identifierade han bl.a. två nya filformat som Adobe Flash accepterade som inte var dokumenterade. Han hittade 7 nya sårbarheter genom att fuzza dessa odokumenterade format.

Presentation: EFFECTIVE FILE FORMAT FUZZING – THOUGHTS TECHNIQUES AND RESULTS

Profilera individers aktiviteter i hackerforum över tid

Föreläsare: Christopher Ahlberg från Recorded Future

Föredraget handlar om att cyberskurkar blir bättre på OPSEC och lämnar mindre och mindre spår efter sig. Han ska försöka sig på att spåra skurkarna även om de byter smeknamn på internetforum.

Rekommenderar boken Activity based intelligence. Recorded Future har sparat på sig data under 4 år och crawlar många forum och darkweb-sidor. Stödjer 7 olika språk. De har nu identifierat 1,4 miljoner olika smeknamn på forum där 96.6% enbart är använda en gång.

Bygga kluster av aktivitet över längre tid på profiler som återfinnes på forum. Detta blir sedan heatmaps/swimlanes som kan jämföras mellan forumprofiler.

Det är möjligt att identifiera när en person på ett forum byter smeknamn genom att analysera aktivitet. Även går detta att analysera på Tor HiddenServices-forum. Detta är bara indikationer på att det kan vara samma person som är bakom ett smeknamn och bör kompletteras med mer information.

TheRealDeal Market är en marknadsplats för diverse illegala prylar såsom 0-days, droger och RAT:s.

Presentation: CHASING FOXES BY THE NUMBERS: PATTERNS OF LIFE AND ACTIVITY IN HACKER FORUMS

Att ta sig förbi webb-brandväggar med hjälp av maskininlärning

Föreläsare: George Argyros och Ioannis Stais

En webbapplikationsbrandvägg fungerar genom att normalisera indata för att sedan matcha detta mot ett regelverk i korta drag. Regelverket kan vara i form av signaturer eller regular expressions. Om någon matchar så migreras sedan attacken på olika sätt genom att exempelvis helt enkelt blockera http-förfrågan.

Sedan går föreläsarna igenom några vanliga problem med denna typ av webb-brandväggar. Dessa problem kan vara felaktig normalisering av indata eller stöd för vissa protokoll som angriparen använder sig av. Ett enkelt sätt att ta sig förbi en webb-brandvägg kan vara att enbart använda single vs dubbel-quotes.

Genom att använda Angluins algoritm så kan en aktiv inlärningsalgoritm utvecklas. Denna algoritm kan sedan lära sig om eventuella problem som uppstår i WAF:en (web application firewall).

Denna metod kan även användas för att göra fingerprinting och således lista ut vilken typ av waf som används.

Källkoden går att ladda hem här: https://github.com/lightbulb-framework

 

Cyber judo: offensivt cyberförsvar

Föreläsare: Tal Be’ery och Itai Grady från Microsoft Research

Detta var helt klart dagens mest intressanta föredrag. Främst eftersom det först fokuserade på hur Microsoft lär sig av angriparen och sedan kan använda denna information till att detektera attacker samt bygga in skydd i Windows mot dessa. Även ett aktuellt ämne.

Angripare och försvarare har mycket gemensamt. Försöka ta sig in och sedan eskalera sina behörigheter genom att söka igenom nätverk och klienter. Från exempelvis att gå på ett phishing-mail till Microsoft domän-admin och exfiltration av känslig information.

När ett konto har identifierats så används någon av följande kommandon för att köra kod fjärrmässigt:

  • PsExec
  • Remote PowerShell WinRM
  • WMIexec

Följande bild illustrerar attack kill chain:

attack-kill-chain-small

Vi behöver lära oss TTPs om våra angripare

  • Tools
  • Techniques
  • Procedures

Antagonisten är intresserad av användare som är domän-administratörer. Detta kan kontrolleras med SAMR över nätverket mot en domänkontrollant (DC).

För automatisera detta kan PowerSploit användas som ett PowerShell-script. Även kan verktyget BloodHound hjälpa till med att leta upp administratörer på nätverket. Nåväl, Microsoft Research har nu själva utvecklat ett nytt verktyg vid namn GoFetch som bygger en attackplan samt har inbyggt stöd för mimikatz.

Eftersom detta är ett problem för Microsoft så har de nu implementerat begränsningar i Windows 10. RestrictRemoteSAM är en ny registernyckel som kan sättas. Windows Server 2016 har också denna registernyckel.

Demovideo för GoFetch av Microsoft Research:

Ny riktad cyberattack använder Adobe Flash Player

adobe-flash-player-bug

En ny riktad cyberattack har upptäckts av Google Threat Analysis Group. Attacken använder sig av en sårbarhet i Adobe Flash Player och har fått CVE-2016-7855.

Operativsystem som är såbara för denna nya säkerhetsbrist är Flash Player under Windows, Linux, samt Mac OS X. Även den medföljande Flash-spelaren i Chrome OS samt Edge/Internet Explorer 11 är sårbar.

Detta är inte första gången detta år som zero-days har uppdagats i Flash, för Adobe släppte kritiska uppdateringar även i April, Maj och Juni. Denna uppdatering ligger således utanför Flash Players regelbundna uppdateringscykel. Denna säkerhetsbrist är en såkallad use-after-free sårbarhet.

Även CERT-SE vid Myndigheten för samhällsskydd och beredskap rekommenderar en skyndsam uppgradering.

Såbarheten är åtgärdad i version 23.0.0.205 samt 11.2.202.643 till Linux. För mer info se Adobes webbsida.

Det är i dagsläget oklart hur Google uppdagade denna sårbarhet men troligtvis så har Google system och metoder för att upptäcka zero-days mot riktas mot dem eller fastnar i dess sensor-nätverk. Google Mail (GMail) genomför exempelvis antivirus-skanning på samtliga bilagor.

Ny attack mot Googles tvåfaktorsautentisering (2FA)

Google 2fa

En ny attack som försöker lura användare att skicka vidare sin unika 2FA-inloggningskod (token) har uppdagats av Alex MacCaw på Clearbit. Just denna attack försöker lura användare av Googles tjänster såsom Gmail.

Allt eftersom fler och fler börjar att använda 2FA så kommer även denna typ av attacker att bli allt vanligare.

Skärmdump på hur meddelandet kan se ut:

Google 2FA Attack

Till Android har det även rapporterats tidigare om skadlig kod som automatiskt kan skicka vidare SMS. Detta skrev ESET om i Mars 2016.

Nyheter relaterade till SSL/TLS

Symantec är nästa stora spelare att hoppa på tåget att erbjuda gratis SSL-certifikat. Sedan tidigare finns Let’s Encrypt och Amazon Certificate Manager.

Symantec kommer att jobba direkt mot hostingbolag och ej slutkund. Först ut att erbjuda dessa certifikat kommer att vara Hostpoint, CertCenter samt InterNetx.

Satsningen från Symantec går under namnet Encryption Everywhere.

Även så har Google nu släppt en transparensrapport som påvisar hur mycket av kommunikationen till och från Googles tjänster som är krypterad (YouTube är inte med i statistiken).

Hela 77% är krypterad trafik och fördelar sig på följande sätt mellan tjänsterna:

Google https

Tråkigt nog ser vi att nyheter och ekonomi ligger på strax över 50%.

Läs hela rapporten från Google här: www.google.com/transparencyreport/https/