Den senaste tiden har Swish uppmärksammas flera gånger i teknikpressen. Först kom informationen om ett säkerhetshål och hur svårt det var för upptäckaren att få någon att uppmärksamma problemet.

Inte långt efter detta gjorde sina rundor i pressen och blivit åtgärdat så kom information om att Swish på Android sannolikt bröt mot GPL-licensen.

Jag använder själv Swish väldigt flitigt och tycker det är en väldigt bra tjänst, vilket är anledningen till jag här vill ge Swish lite tips för att kunna undvika liknande problem i framtiden.

1 - Skapa en tydlig policy för hur man hanterar säkerhetsrapporter

All mjukvara har buggar och säkerhetsproblem, det går inte att komma undan och jag tror inte någon utgår ifrån att till och med banktjänster ska vara utan hål och buggar. Där Swish brast i det här fallet var att det inte fanns något uppenbart sätt att rapportera hålet och att det var väldigt svårt att få något att bry sig om problemet.

Första steget bör vara att skapa en intern policy om hur man ska hantera säkerhetsproblem och vem som äger dom. Är det utvecklingspartnern? Bankerna? Eller är det Swish projektledning? Det får aldrig vara någon tvekan om det. I steg två bör man skapa ett sätt för externa parter att få information om hur man rapporterar buggar. Vill man ha inspiration så tycker jag Googles sida om säkerhet är en av dom bästa i branchen.

2 - Arbeta med säkerhetsforskare för att verifiera säkerheten

Det finns många duktiga säkerhetsforskare i Sverige som erbjuder sina tjänster som säkerhetskonsulter och kan hjälpa er gå igenom hur applikationen funkar och hjälpa er hitta de lite svårare säkerhetsproblemen. Kryptering, nyckelutbyte och säkerhet är svåra saker, det är väldigt få som göt rätt från början så fler bör svälja sin stolthet och låta duktigt folk titta på det.

3 - Var inte rädd för öppen källkod

Nyheten om att Swish möjligtvis använde sig av GPL-kod verkar ha mottagits med chock och sen ett väldigt konstigt utlåtande om att koden aldrig använts utan bara hängt med från något slags test (vilket låter suspekt i mina öron). Det resulterade i att Swish släppte en uppdatering som tog bort den koden helt och det verkar inte som att man kommer släppa den äldre koden under GPL (vilket jag alltid har tolkat som ett krav).

Istället för att vara rädd för att släppa källkoden så rekommenderar jag att man lägger ut allt publikt. Om tjänsten är byggd på ett sånt sätt att man kan utnyttja den till elakheter genom att ha klientens källkod så har man inte riktig säkerhet. Jag rekommenderar alla företag som har en tunn klient till en molntjänst att lägga ut sin källkod, det kan bara göra er produkt säkrare och bättre.

Jag hoppas att ni som arbetar med Swish har lärt er mycket av den här historien och att ni gör ett par viktiga förändringar i både kod och policy. Som en användare av er tjänst så håller jag verkligen tummarna för det!