Simovits

Kontokapning och chatt-appar med säkra konversationer

Att få åtkomst till ditt konto eller kontouppgifter är såklart en het potatis, särskilt för de tjänster där du kanske kommunicerar lite mer känslig information och då väljer att använda en app med möjlighet till end-to-end kryptering. Hur ser det ut bland de mest populära chatt-apparna som använder sig av krypterad information? Hur skulle ett möjligt phishingförsök gå till och hur svårt eller enkelt är det? I detta blogginlägg undersöker vi hur sårbara de fyra mest populära chatt-apparna (som finns för både iOS och Android) Facebook Messenger, WhatsApp, Telegram och Signal är för konto-kapning. Av dessa fyra är det dock endast Signal och WhatsApp som har end-to-end krypterade konversationer som standard, för övriga får man starta en ”hemlig konversation”.

Facebook Messenger

Facebook Messenger har inte krypterade konversationer som default, men när man startar en ”Hemlig konversation” är den krypterad end-to-end med Signals protokoll (https://signal.org/docs/) och denna typ av chatt fungerar endast i mobilapparna. Messenger kräver att du har ett Facebook-konto, men du kan använda Messenger med ett inaktiverat Facebook-konto.

”Hemliga konversationer” i Messenger kräver ingenting särskilt för att fungera, utan det är möjligt att starta en hemlig konversation med någon i din kontaktlista. Det innebär att de vanliga phishing-försöken för att få åtkomst till ditt Facebook-konto även gäller för Messenger – det finns inget ytterligare skydd. Om dina kontouppgifter blir stulna och någon lyckas logga in på ditt konto kommer du och de hemliga konversationer få en notifikation om att du använder en ny enhet men de meddelanden som skickats i de hemliga konversationer tidigare kommer inte att visas den nya enheten.

För att skydda ditt konto gäller att aktivera säkerhetsfunktioner i Facebook, så som flerfaktorsautentisering. I ett sådant attackflöde behöver angriparen få dig att skicka över engångskoden som genereras.

Skapa konto – registrering av uppgifter
Facebook konto d.v.s. Förnamn, Efternamn, mobilnummer eller e-post
Skyddsmekanismer registrering + inloggning
e-post eller telefonnummer samt lösenord som standard, möjligt att lägga till 2FA och notifieringar vid inloggning.
Krypteringsmetod för hemliga konversationer
Signal-protokollet
Anslutning av annan enhet
Kräver endast inloggning.

WhatsApp

WhatsApp har krypterade konversationer som standard och använder Signals end-to-end krypteringsmetoder. WhatsApp ägs av Facebook.

För att registrera ett konto i WhatsApp krävs att du uppger ditt telefonnummer, anledningen till detta är att de skickar ett sms för att verifiera det angivna telefonnumret.

Historiken i WhatsApp sparas inte automatiskt utan du kan välja att ta en backup på konversationer – en angripare skulle således inte få tillgång till denna bara genom att komma över ditt WhatsApp-konto. Backupen föreslås av Android appen sparas på Google Drive och i iPhone appen i iCloud.

För att någon ska ta över ett WhatsApp-konto krävs att angriparen registrerar ditt telefonnummer på en annan enhet – detta kommer då skicka ett verifierings-sms till din enhet (den som har telefonnumret). Angriparen behöver då göra ett phishingförsök för att tillskansa sig verifieringskoden. Verifieringskoden är endast giltig under drygt en minut vilket gör att attackfönstret är väldigt smalt. När verifieringskoden väl matas in på en annan telefon så inaktiveras det första kontot och användaren får information om detta via appen och kan omverifiera sig. Angriparen får inte tillgång till några tidigare konversationer.

Det är möjligt att aktivera ett extra verifieringssteg som försvårar kontokapningen, 2-stegsverifiering med en 6-siffrig kod som krävs (utöver verifieringskoden på sms) kopplat till ditt telefonnummer (dvs konto)

Skapa konto – registrering av uppgifter
Telefonnummer
Skyddsmekanismer registrering + inloggning
Verifieringskod via SMS vid registrering, 2-stegsverifiering kan aktiveras (en verifieringskod kopplad till ditt konto).
Krypteringsmetod för hemliga konversationer
Signal-protokollet
Anslutning av annan enhet
Vid anslutning av annan telefon (app) till samma nummer skickas verifieringskod till numret. Om verifieringskoden används på en annan enhet avregistreras den andra telefonen. Vid anslutning av en klientapp ska en QR-kod läsas in.

Telegram

Telegram har inte end-to-end krypterade konversationer som standard men det går att skapa sådana konversationer och då används Telegrams krypteringsmetod som kallas MTproto.

Telegrams hemliga konversationer som har end-to-end kryptering aktiveras genom att skapa en ”hemlig chatt” och då är dessa meddelanden endast tillgängliga på den enheten som den hemliga chatten finns på.

För att registrera dig för Telegram anges telefonnummer, till detta nummer skickas ett sms som används för verifiering. Det är sedan möjligt att koppla fler enheter till samma nummer, då skickas en verifieringskod som ett Telegram-meddelande, som alltså i ett konto-kapningsförsök skulle hamna hos offret. En angripare i det här läget 5 minuter på att göra ett lyckat phishingförsök för att tillskansa sig koden, därefter blir den ogiltig. I Telegram kan flera enheter vara aktiva men när en annan enhet ansluts till telefonnumret får användaren ett meddelande om att en ny inloggning skett och har då möjlighet att avsluta den sessionen. Tidigare hemliga chattar är inte tillgängliga mellan olika enheter, däremot de andra konversationerna.

Även i Telegram är det möjligt att aktivera ett extra verifieringssteg som försvårar kontokapningen, 2-stegsverifiering med lösenord som krävs (utöver verifieringskoden på sms) kopplat till ditt telefonnummer (dvs konto).

Skapa konto – registrering av uppgifter
Telefonnummer
Skyddsmekanismer registrering + inloggning
Verifieringskod via SMS vid registrering, 2-stegsverifiering kan aktiveras (ett lösenord  kopplad till ditt konto).
Krypteringsmetod för hemliga konversationer
MTproto
Anslutning av annan enhet
Verifieringskod skickas till telefonnumret. 2-stegsverifiering kan aktiveras i form av ett lösenord.

Signal

Signal har endast end-to-end krypterade chattar och dess krypteringsmetoder används av både Facebook Messenger och WhatsApp. Signals krypteringsprotokoll är Open Source.

Vid registrering krävs att du uppger ditt telefonnummer och då skickas ett verifierings-sms till numret för att aktivera kontot som är giltig i en dryg minut. Vid ett phishingförsök är det det tidsfönstret som angriparen har på sig att tillskansa sig verifieringskoden. När verifieringskoden väl matas in på en annan telefon så inaktiveras det första kontot och användaren får information om detta via appen och kan omverifiera sig. Angriparen får inte tillgång till några tidigare konversationer och det finns inte möjlighet att välja att de ska sparas någonstans (backup), till skillnad från WhatsApp.

Signal har möjlighet att aktivera ”registreringslås” som innebär att en 2-stegsverifiering aktiveras som är kopplat till ditt telefonnummer (konto).

Skapa konto – registrering av uppgifter
Telefonnummer
Skyddsmekanismer registrering + inloggning
Verifieringskod via SMS vid registrering, även 2-stegsverifiering kan aktiveras
Krypteringsmetod för hemliga konversationer
Signal-protokollet
Anslutning av annan enhet
Vid anslutning av annan telefon (app) till samma nummer skickas verifieringskod till numret. Om verifieringskoden används på en annan enhet avregistreras den andra telefonen. Vid anslutning av en klientapp ska en QR-kod läsas in.

Sammanfattning

Facebook och Telegram har inte säkra konversationer som standard och har något sämre skyddsmekanismer för att skydda kontot. Telegram har liknande anslutningsprocess av andra enheter som WhatsApp och Signal, som innebär att en verifieringskod skickas som SMS. WhatsApp och Signal har samma typ av mekanismer för skydd av konto och från det perspektivet är de likvärdiga avseende säkerhet.

Vidare kan man ju alltid spekulera i Telegrams ägarskap och WhatsApp:s koppling till Facebook kan innebära, men sådant låter vi vara osagt i det här läget. Av dessa fyra alternativ så rekommenderar vi i första hand Signal för dig som vill ha en säker meddelandetjänst med end-to-end kryptering.