Föråldrade it-system hos många myndigheter

Föråldrade it-system hos många myndigheter

Riksrevisionen släppte under morgonen en ny rapport där de har tittat på förekomsten av föråldrade IT-system hos cirka 60 större myndigheter.

Slutsatserna i rapporten är att det förekommer föråldrade IT-system i ett stort antal myndigheter samt att många myndigheter har dessutom ett eller flera verksamhetskritiska it-system som är föråldrade.

Givetvis är bristfällig cybersäkerhet en stor risk när det gäller föråldrade IT-system och 80 procent av myndigheterna uppger att man har svårigheter att upprätthålla eftersträvad nivå av informationssäkerhet.

Och när det gäller verksamhetskritiska system svarar 12 procent av myndigheterna att det är ett problem att upprätthålla eftersträvad nivå av informationssäkerhet för samtliga eller en majoritet av de verksamhetskritiska systemen.

Tittar vi på återkommande riskanalsyer så det också rätt dystert ut:

Men hur många verksamhetskritiska system finns det då hos våra myndigheter? Det varierar otroligt mycket mellan 2 och 800 där medelvärdet är 47 och en median på 11,5. Ett fåtal myndigheter har ett stort antal system och vanligtvis så är det 10–12 verksamhetskritiska it-system på myndigheterna.

Här kan du ladda hem rapporten:

Riksrevisionen: Föråldrade it-system – hinder för en effektiv digitalisering
Riksrevisionens rapport: Föråldrade it-system – hinder för en effektiv digitalisering.pdf

Bilaga 2: Enkätfrågor till myndigheter

Bilaga 3: Frågeformulär till Regeringskansliet

Säkra leverantörskedjor för styrsystem

Totalförsvarets forskningsinstitut

Totalförsvarets forskningsinstitut (FOI) har släppt en ny rapport om säkra leverantörskedjor för styrsystem. Rapporten visar på en ny trend när det gäller leverantörsskedjor som representeras av ett växande antal specialiserade leverantörer. Kedjan från leverantör till driftsatt industriellt informations- och kontrollsystem (ICS) blir då lång och komplex.

Rapporten går igenom olika regulatoriska krav såsom NIS-direktivet, Cyber Security Act och även branschpraxis samt rekommendationer från bl.a. ISO/IEC, MSB, FRA och CPNI.

Även intressanta saker såsom ansvarförhållanden och förtroendenivåer mellan operatörer och leverantörer tas upp i rapporten och hur dessa förhåller sig mellan olika standarder.

Rapporten är på 52 sidor och kan hittas här som PDF:

Säkra leverantörskedjor för styrsystem

Säkra leverantörskedjor går under benämningen Supply Chain Cyber Security på engelska. Författare till rapporten är Erik Zouave och Margarita Jaitner.

Bild på kontrollpanel av Patryk Grądys från Unsplash

checkm8 – Ny sårbarhet i iPhones

iPhone Jailbreak checkm8

Tidigare idag så släpptes det en ny exploit som fungerar till nästan alla iPhone-modeller: Från iPhone 4S upp till iPhone X och är enbart patchad i modeller som har A12 och A13 CPU:er från Apple.

Och senast en Boot ROM exploit släpptes publikt var George Hotz (geohot) som släppte en 2010.

checkm8

Sårbarheten som utnyttjas återfinnes i iPhonens Boot Rom, även kallad Secure ROM och gör att en angripare med fysisk tillgång till telefonen kan utnyttja denna sårbarhet som går under namnet checkm8.

Detta är så klart inte bra för säkerheten men en glad nyhet för alla som gillar jailbreaks. Dock har Apple haft med denna typ av sårbarheter i boot-kedjan när de byggde Secure Enclave (SEP) och det är i dagsläget oklart hur SEP kan hjälpa mot checkm8-exploiten.

För att förmildra effekterna av denna sårbarhet så rekommenderas det att du använder alfanumeriska tecken och inte enbart siffror som kod för din telefon.

Denna sårbarhet gäller även iPads och ej enbart iPhones och går ej att åtgärda från Apples sida. Men sårbarheten måste troligtvis utnyttjas tillsammans med någon annan sårbarhet för att tillgång till data eller full kontroll över en mobiltelefon:

”Researchers and developers can use it to dump SecureROM, decrypt keybags with AES engine, and demote the device to enable JTAG. You still need additional hardware and software to use JTAG” Källa

Kod finns tillgänglig här: https://github.com/axi0mX/ipwndfu

Bild på telefon av Alvaro Reyes från Unsplash

Patch-gapping

Patch-gapping är ett nytt ord på en gammal metod som successivt ökar: Nämligen att utnyttja sårbarheter som åtgärdats av leverantörer, eller är på väg att åtgärdats av leverantörer. Området är närbesläktat med zero-days och patch-gapping kan även gå under benämningen 1-days eller n-days sårbarheter.

Under tiden som leverantören åtgärdar säkerhetsbristen eller det att användare ej uppdaterat sina system eller mjukvaror så finns det ett fönster för att utföra angrepp.

Detta är så klart något som angripare tar till vara på och utvecklar exploits så snart som det finns information om sårbarheter eller säkerhetsfixar. Ett område där detta uppdagas löpande är attacker mot webbläsare.

En av de första att utnyttja och påvisa denna typ av sårbarheter var Halvar Flake som utvecklade BinDiff runt år 2004. BinDiff används framförallt för att granska patchar som släpps av Microsoft och således se vilken kod som ändrats:

Zynamics BinDiff

Mjukvaran BinDiff utvecklades av Halvars företag Zynamics som blev uppköpta av Google och numera kan du gratis ladda hem bindiff. Andra liknande mjukvaror är Diaphora, YaDiff, DarunGrim och TurboDiff.

Men oftast så behövs det inte avancerad binär diffing utan räcker med att läsa changelog samt kolla git-repot eller motsvarande. När det gäller öppen källkod framförallt.

Företaget Exodus Intelligence har skrivit om patch-gapping gällande Google Chrome några gånger.

Följande graf har några år på nacken men visar på det window of opportunity som angriparen har på sig innan användaren uppdaterar till en ny version, i detta fall Google Chrome:

Säkerhetsbrist i Google H1

Google H1

H1 är Googles säkerhetschip som återfinnes i Chromebooks. Andra smeknamn för Google H1 är Cr50 eller G Chip.

Säkerhetsbristen som återfinnes i H1 har och göra med ECDSA signaturgenerering och gör att enbart 64 bitar istället för 256 bitar entropi används för den privata nyckeln. Enligt Google gör detta att det är möjligt för en angripare att återskapa den privata nyckeln:

We confirmed that the incorrect generation of the secret value allows it to be recovered, which in turn allows the the underlying ECC private key to be obtained

Denna ECDSA-nyckel används för U2F-inloggning mot webbplatser som erbjuder multifaktorautentisering. Detta innebär således att:

  • Firmware måste uppdateras i H1-chippet. Detta görs automatiskt från och med ChromeOS 75 som släpptes 26:de Juni 2019
  • Samtliga nycklar måste bytas ut mot de sajter där U2F används för multifaktorautentisering (MFA)
  • Observera att detta enbart gäller om du använt Chromebookens strömknapp för inloggning samt MFA

Du kan även skriva in chrome://system i webbläsaren på din Chromebook och sedan titta efter cr50_version och RW-raden. Version 0.3.15 och senare innehåller ej denna sårbarhet.

Följande meddelande ”Internal security key requires reset” visas för användare som är drabbade av denna säkerhetsbrist:

Detta är så klart en pinsam miss av Google och något som bör fångas upp av tester. Men att denna typ av sårbarheter ökar är något som jag tror vi kommer att få se mer av, det var exempelvis inte länge sedan som Feitian Security Key hade en sårbarhet (på bild till höger).

Bild på chip av Harrison Broadbent på Unsplash

Nya zeroday-priser från Zerodium

Jag skrev detta inlägg på LinkedIn men tänkte dela med mig av denna information även här:

Zeroday-förmedlaren Zerodium har uppdaterat sin prislista. Intressant är att priserna kopplade till Android ökat samt Apple iOS minskat. Vad beror detta på? 🤔

Några av mina gissningar:

✅ Googles arbete med att höja säkerheten i Android har gett utdelning

✅ Större efterfrågan från Zerodiums kunder som vill ta sig in i Android-telefoner

✅ Fler typer av uppkopplade enheter använder Android. Inte bara mobiltelefoner

✅ Det finns redan många iOS-exploits på svarta marknaden

Vad tror du?

Zerodium zero-day priser

Google identifierar ny avancerad attack mot iPhones

Googles Threat Analysis Group (TAG) har identifierat en ny watering hole attack som riktar sig mot iPhone-användare. Attacken är intressant på många sätt, bl.a. så uppger Google att attacken inriktas mot en viss typ av grupp samt att det faktum att fem olika exploit-kedjor används för att ta sig in i iPhones. För en säkerhetsforskare som tar fram en enda exploit-kedja och säljer den till företag såsom Zerodium kan ge upp mot 19 miljoner SEK enligt deras publika prislista.

Gällande exploit-kedjor så anger TAG följande:

seven for the iPhone’s web browser, five for the kernel and two separate sandbox escapes. Initial analysis indicated that at least one of the privilege escalation chains was still 0-day and unpatched at the time of discovery (CVE-2019-7287 & CVE-2019-7286)

När väl dessa sårbarheter utnyttjas så installeras sedan ett implantat som har möjlighet att läsa ut meddelanden ur end-to-end krypterade appar såsom iMessage, Whatsapp och Telegram. Även så kan detta implantat följa iPhone-användaren i realtid via GPS-koordinater som skickas till en Command and Control-server.

Just kommunikationen till C&C-servern går via HTTP och ej HTTPS vilket är annorlunda. Även kan dessa unika strängar användas för att identifiera kommunikation på nätverket:

  • 9ff7172192b7
  • /list/suc?name=

Ovan två förfrågningar går över HTTP GET alternativt POST.

Spekulationer om vem som ligger bakom dessa avancerade attacker riktas mot Kina eller grupperingar kopplade till Kina främst på grund av de omfattande sårbarheterna som utnyttjas mot iPhone samt att företaget Tencent är ett företag vars appar kontrolleras:

  • com.yahoo.Aerogram
  • com.microsoft.Office.Outlook
  • com.netease.mailmaster
  • com.rebelvox.voxer-lite
  • com.viber
  • com.google.Gmail
  • ph.telegra.Telegraph
  • com.tencent.qqmail
  • com.atebits.Tweetie2
  • net.whatsapp.WhatsApp
  • com.skype.skype
  • com.facebook.Facebook
  • com.tencent.xin

Google har själva också varit sparsamma med information gällande implantatet som installeras exempelvis har ingen information om C&C-servrar publicerats. Detta troligtvis eftersom en större utredning pågår av amerikanska myndigheter.

Uppdatering: Enligt källor till TechCrunch är det Uigurer som är målet.

Varning om du använder Python 2

Det var länge sedan som det utannonserades att Python 2 kommer att nå end of life (EOL) 1:a Januari 2020. Men tyvärr så har många företag och organisationer en teknisk skuld och ligger efter med arbetet med att uppgradera till Python 3.

Brittiska National Cyber Security Centre gick ut med en varning tidigare i veckan gällande Python 2 samt tittade närmare på statistik när det gäller användningen av Python 2.

Så här ser användningen av några populära paket på PyPI gällande data från Juni 2019:

PaketPython 2Python 3Okänd Version
Colorama82.07%17.71%0.22%
botocore72.86%26.84%0.30%
urllib364.14%35.50%0.37%
Requests53.37%46.02%0.61%
scikit-learn43.80%55.90%0.30%
NumPy40.69%58.70%0.61%
Pillow37.78%61.31%0.91%
TensorFlow37.66%61.25%1.09%
Matplotlib33.17%66.34%0.49%
Flask31.28%68.33%0.39%

Men hur gör man för att uppgradera då? Först kontrollera att du har python3 installerat i ditt operativsystem:

Sen testar vi programmet vi har utvecklat för Python 2 som vi vill uppgradera till version 3:

Funkar dåligt. Så då tar vi och använder verktyget 2to3 samt anger argumentet -w för att skriva ändringarna direkt till filen:

$ 2to3 -w episploit.py

Och sedan är det bara att köra programmet om allt gick som det ska. Ibland kan manuell handpåläggning behövas.

Än så länge får Python 2 säkerhetsfixar men det gäller enbart tills den 1:a Januari 2020. Och för att citera NCSC:

By making the decision to continue using Python 2 past its end of life, you are accepting all the risks that come with using unsupported software, while knowing that a secure version is available.

Attacker mot SSL VPNs

Attacker mot SSL VPNs

En av de mer intressanta släppen under sommarens Blackhat-konferens i Las Vegas var den som handlade om att attackera SSL VPN:s.

Och varför är detta intressant? Jo det finns ett antal olika faktorer till att just detta är intressant och jag ska försöka beskriva dem nedan:

Underrättelsetjänster

NSA och andra underrättelsetjänster ser VPN:s som mål för att de används för att utbyta information. Med hjälp av passiv (och aktiv) avtappning så kan informationen ge fördelar, försprång och gynna den egna industrin:

Equation Group’s BENIGNCERTAIN tool – a remote exploit to extract Cisco VPN private keys. 

Attackytan

Attackytan för specifikt SSL VPN:s är intressant då det mest troligt är en webbservern inblandad och denna kan innehålla sårbarheter. Webbservern måste hantera TLS, HTTP och underliggande protokoll. Vilket kan jämföras med exempelvis IKE och IPSEC.

En angripare som kan ta sig in i en VPN-enhet kan troligtvis också ta sig vidare in i nätverket eller modifiera kommunikationen (förutom att läsa av den).

Hårdvaran

När du köper ett SSL VPN så köper du troligtvis en låda av en leverantör som du inte vet så mycket om. Hur är det underliggande operativsystemet uppsäkrat? Vet du om den använder den ASLR + DEP? Och om den nu blir hackad, hur genomför du en forensisk undersökning av enheten?

Sårbarheterna

Följande sårbarheter har identifierats av Meh Chang (@mehqq_) och Orange Tsai (@orange_8361) i Fortigate SSL VPN:

  • CVE-2018-13379: Pre-auth arbitrary file reading
  • CVE-2018-13380: Pre-auth XSS
  • CVE-2018-13381: Pre-auth heap overflow
  • CVE-2018-13382: The magic backdoor
  • CVE-2018-13383: Post-auth heap overflow

Även har sårbarheter identifierats i Pulse Secure VPN, se mer här.

Även så har Palo Alto i all tysthet även patchat sin GlobalProtect, se mer här. Vad som också är skrämmande just nu är att två av ovan sårbarheter utnyttjas aktivt på internet av angripare vilket CERT-SE gick ut med en varning om.

Åtgärder

Sist men inte minst så tänkte jag ge några rekommendationer vad ni som organisation bör göra om ni har ett SSL VPN som är exponerat mot Internet.

  • Spara ner trafik framför och bakom SSL VPN:et. Så ni kan i efterhand undersöka vad som har hänt.
  • Uppdatera och se till att senaste säkerhetspatchar är installerade och att produkten inte är End-of-Life
  • Se till att loggar skickas från SSL VPN:et. Om möjligt alla typer av loggar såsom access-loggar på webbservern.
  • Begränsa tillgången till system som kan nås via VPN:et. Dvs ge inte full åtkomst till allt bara för att en användare ansluter via VPN.
  • Genomför en oberoende säkerhetsgranskning av uppsättningen
  • Er anslutningspunkt kanske inte bör vara vpn.företagsnamn.se
  • Följ upp anslutningar till och från Erat VPN. Har någon överfört 100 GB via VPN:et utan en koppling till en inloggad användare? Långa TCP-sessioner, beacons osv.
  • Policy över hantering av nya och användare som slutar samt regelbunden uppföljning
  • Försvåra password-spraying attacker genom att använda hårda/mjuka certifikat etc. Dator + användarcertifikat
  • Har ni eller har haft en sårbar version. Se till att byta samtliga lösenord
  • Sök av kontinuerligt med en sårbarhetsskanner

Har jag missat något ovan? Fyll gärna på i kommentarsfältet nedan.

Uppdatering: Här finns en NSE-fil för Nmap för att identifiera sårbara Pulse Secure VPNs: https://github.com/r00tpgp/http-pulse_ssl_vpn.nse/blob/master/http-pulse_ssl_vpn.nse

Bakdörrar identifierade i flertalet RubyGems

Att cyberattacker mot Supply Chains såsom rubygems blir vanligare och vanligare är vi många som har förutspått i flera år. Och igår så identifierades en bakdörr i ruby rest-client.

Bakdörren las in via ett hackat konto (mwmanning) och hämtade hem kod från pastebin som sedan exekverades. Liknande attacker har tidigare inträffat mot bl.a. JavaScript-biblioteket (npm) event-stream.

Just denna bakdörr som fanns i Ruby-gems gjorde ett antal olika saker såsom att skicka iväg miljövariabler till hostnamnet mironanoru.zzz.com.ua.

Även identifierades bakdörrar i många andra RubyGems såsom:

  • rest-client: 1.6.10 (downloaded 176 times since August 13, 2019), 1.6.11 (downloaded 2 times since August 14, 2019), 1.6.12 (downloaded 3 times since August 14, 2019), and 1.6.13 (downloaded 1,061 times since August 14, 2019)
  • bitcoin_vanity: 4.3.3 (downloaded 8 times since May 12, 2019 )
  • lita_coin: 0.0.3 (downloaded 210 times since July 17, 2019)
  • coming-soon: 0.2.8 (downloaded 211 times since July 17, 2019)
  • omniauth_amazon: 1.0.1 (downloaded 193 times since July 26, 2019)
  • cron_parser: 0.1.4 (downloaded 2 times since July 8, 2019), 1.0.12 (downloaded 3 times since July 8, 2019), and 1.0.13 (downloaded 248 times since July 8, 2019)
  • coin_base: 4.2.1 (downloaded 206 times since July 9, 2019) and 4.2.2 (downloaded 218 times since July 16, 2019)
  • blockchain_wallet: 0.0.6 (downloaded 201 times since July 10, 2019) and 0.0.7 (downloaded 222 times since July 16, 2019)
  • awesome-bot: 1.18.0 (downloaded 232 times since July 15, 2019)
  • doge-coin: 1.0.2 (downloaded 213 times since July 17, 2019)
  • capistrano-colors: 0.5.5 (downloaded 175 times since August 1, 2019)

Vad man man göra för att förhindra och försvåra för denna typ av attacker? Jo det finns ett antal saker:

Säkra upp utvecklarkonton

Kontot som hackades hade inte tvåfaktorsautentisering påslaget. Gör detta obligatoriskt för denna typ av behörighet. Vilket är något som nu RubyGems funderar på.

Granskning av kod

Precis som processen för att publicera appar i Apple App Store eller Google Google Play så bör kod exekveras i en sandlåda och observeras. Gör den konstiga saker såsom DNS-uppslagningar som inte fanns tidigare?

Givetvis är även manuell kontroll av kod som publiceras bra, men vid många ändringar och mycket kod är det inte alltid möjligt att manuellt granska all kod.

Signering

Se till att det finns ett flöde gällande signering, från exempelvis en hårdvarunyckel såsom YubiKey där en obruten kedja kan verifiera från utvecklaren till den person som installerar paketet.

Isolering

Precis som med all obetrodd källkod som du laddar ner och kör så bör denna isoleras i största möjliga mån. Alla servrar och klienter kanske inte bör ha direkt koppling mot Internet, alla anslutningar och uppslag bör loggas.

Håll nere antalet beroenden

Om du har möjlighet att själv utveckla och underhålla delar av källkoden så är detta att fördra. Men inte alltid möjligt då vi många gånger är beroenden av tredjepartskod såsom bibliotek. Reproducerbara byggen är också ett bra sätt att försvåra för bakdörrar.