Företaget bakom Coops kassahaveri anklagas för åratal av bristande säkerhet

Permalänk
Medlem
Skrivet av Zyphoon:

Så är det ju alltid... Har arbetat på konsultbolag och det är samma sak där, det ska smöras, bjudas gratisluncher. När kunden väl är över så går tempot genast ner, man levererar men till minsta möjliga konstad. Fokus därefter är sedan hur man ska dra in nya kunder/mer cash... Gärna lura på befintliga kunder ytterligare tjänster till ockerpriser.

Jotack, har tyvärr erfarenhet av precis det där, i fler än ett bolag.

Visa signatur

5950X, 3090

Permalänk
Medlem
Skrivet av Cad_edis:

Personligen så tror jag detta hade varit enklare att hålla koll på om alla datorer körde i en gemensam domän mot AzureAD och kassaregistret kördes centralt som en redundant tjänst hos en molnleverantör för alla butiker. Då hade man sluppit hanteringen av server-installationer i de olika butikerna. Varje klient skulle dessutom kunna ha en offline-kopia av artikelregistret tillgängligt för att genomföra köp även om man tillfälligt tappar internetuppkopplingen.

Alltså, jag vet inte... Att köra servern i molnet är väl litet att lägga alla ägg i samma korg, och hur mycket mer jobb är det att administrera en server när man ändå har ett gäng kassor? Personligen tror jag mer på en struktur typ Kassa/Butik/Konsumentförening eller whatever de kallar det/HK Sverige/HK.

Då behöver varje nivå inte vara beroende av att den över är igång just för tillfället. Då kan man köra en kassa om butiken tillfälligt är nere, butiken om konsumentföreningen är nere litet längre o.s.v. Det behövs naturligtvis graceful degradation för vissa funktioner.

Jag antar dock att problemet i det här fallet var att man ansåg att allt behövdes installeras om från början, för man kan väl aldrig ha litet på att kassorna inte var infekterade efter en sådan här attack? Då måste ju hela butiken stängas ner, servern återställas och först efter det kan man dra igång kassorna för att få igång försäljningen.

Visa signatur

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC/O2 → Sennheiser HD650/Ultrasone PRO 900/...
PC → S.M.S.L SA300 → Bowers & Wilkins 607

Permalänk
Medlem

Haha, jobbar med det där. Vedertagen best practice är att köra en Zero Trust Architecture, dvs ingen data exponeras i onödan. Ingen data importeras heller om den kan komma från en förorenad källa. Datan ska sen serialiseras och behandlas så att vanliga fel som SQL Injection eller Cross Site Scripting med flera inte uppkommer. Kort sagt - stäng till dom vanligaste felen enligt OWASP top 10 och CWE/SANS top 25 (bugglistor över vanliga typer med fel).

Sen ska det finnas kravställt att all kod ska vara granskad av verktyg som kontrollerar kända svagheter i ingående Open Source - både med avseende på licensvillkor (Compliance) och rena säkerhetsbrister (Security). Detta ska kunna visas, och bevisas att ingående komponenter kontinuerligt uppdateras för att undvika kända fel enligt CVE (Common Vulnerabilities and Exposures). Kort sagt ett SCA - Software Composition Analysis-verktyg. T.ex Black Duck, WhiteSource eller SNYK.

Proprietär kod ska sen också kollas med ett SAST-verktyg (Static Analysis Security Tool) som går djupare än en klassisk körning med Lint såsom Coverity eller Checkmarx eller SonarQube med flera. Det hittar både säkerhetshål och rena kvalitetsbrister i den programvara leverantören skrivit själv, alltså utöver den Open Source som ingår i produkten. Bevis på kontinuerlig förbättring och öppna rapporter är ett plus.

Sen finns det verktyg som kollar API:er och Web/Microservices som körs i testmiljö innan skarpt släpp - Interactive Analysis Security Tool - IAST, eller som kollar efter svagheter under runtime som DAST (Dynamic eller fuzzing) eller RASP (Run time) för att säkra servrar och containers.

När man har gjort allt detta och kontrollerat koden kör man PEN testing så spar man tid i och med att dom enkla, eller kodnära grejorna redan är fixade.

Sen handlar säkerhet inte bara om verktyg - det handlar om människor och processer också! Men - viktigt är att det ställs bra krav, det finns en förståelse för att det får kosta - ställt mot risk man hanterar (rykte, tillit hos kunder…) och att man jobbar kontinuerligt. Detta är bara den förenklade bilden, men tar man det som en affärsrisk att att ta på allvar så inser man att åtgärder behövs. Kan man visa att man gör det här ovan är man bättre än 9 av 10 lösningar på marknaden.

Autocorrect…
Visa signatur

HP48-GX, Arm-kärnor, i7, Ryzen 9, M2, Z80, 68000, Party tricks

Permalänk
Medlem
Skrivet av Mulfuß:

Haha, jobbar med det där. Vedertagen best practice är att köra en Zero Trust Architecture, dvs ingen data exponeras i onödan. Ingen data importeras heller om den inte anses komma från en förorenad källa. Datan ska sen serialiseras och behandlas så att vanliga fel som SQL Injection eller Cross Site Scripting med flera inte uppkommer. Kort sagt - stäng till dom vanligaste felen enligt OWASP top 10 och CWE/SANS top 25 (bugglistor över vanliga typer med fel).

Dessutom så skall den server som tillhandahålla gränssnitt mot användare ha minimal funktionalitet och endast använda väl definierade anrop mot back-end samt i övrigt bara hantera presentationen.

Back-end skall sedan ha ett tydligt gränssnitt mot SQL och andra tjänster som används just för att hantera saker som SQL injection.

Personligen så skulle jag endast lagra mitt data i molnet som en drive krypterad med Veracrypt eller liknande som backup och hålla hårt i min data.

Jag litar inte på någon molntjänst för viktig data längre än jag kan kasta en Volvo FH.

Permalänk
Medlem
Skrivet av ehsnils:

Dessutom så skall den server som tillhandahålla gränssnitt mot användare ha minimal funktionalitet och endast använda väl definierade anrop mot back-end samt i övrigt bara hantera presentationen.

Back-end skall sedan ha ett tydligt gränssnitt mot SQL och andra tjänster som används just för att hantera saker som SQL injection.

Personligen så skulle jag endast lagra mitt data i molnet som en drive krypterad med Veracrypt eller liknande som backup och hålla hårt i min data.

Jag litar inte på någon molntjänst för viktig data längre än jag kan kasta en Volvo FH.

Medhåll där. Zero Trust är ju jobbigt. Man måste definiera upp sin DAAS - Data, Assets, Applications, Services och segmentera sitt nät, ha koll på dataflöden och transaktioner, samt kontinuerligt jobba med detta. Många säger att dom har koll på det här, få har det på riktigt. Alla kan bli bättre.

Visa signatur

HP48-GX, Arm-kärnor, i7, Ryzen 9, M2, Z80, 68000, Party tricks

Permalänk
Medlem
Skrivet av Phod:

Hur menar du, är det OK att som kund betala för en tjänst som är osäker, men inte för en som är säker?

jag tycker leverantören som säljer Saas tjänsten ska ha utfört korrekta säkerhetstester innan man 1) säljer tjänsten 2) säger att man har utfört säkerhetstester - när det är uppenbart att man inte gjort det

// LZ

Permalänk
Medlem
Skrivet av Mulfuß:

Haha, jobbar med det där. Vedertagen best practice är att köra en Zero Trust Architecture, dvs ingen data exponeras i onödan. [...]

Sedan är det ju viktigt att ha koll på infrastrukturen också. Det är ju inte helt ovanligt med system som ligger öppna mot internet utan att de behöver vara det (Kaseya VSA, *host* *host*), admin-konto som florerar som vildkaniner och överdrivet frikostiga rättigheter.

Skrivet av Mulfuß:

Men - viktigt är att det ställs bra krav, det finns en förståelse för att det får kosta - ställt mot risk man hanterar (rykte, tillit hos kunder…) och att man jobbar kontinuerligt.

Tyvärr sker ju många upphandlingar som gott om enbart på priset, då det kan vara svårt att ställa relevanta krav, särskilt när det gäller säkerhet.

Skrivet av Tea42BBS:

jag tycker leverantören som säljer Saas tjänsten ska ha utfört korrekta säkerhetstester innan man 1) säljer tjänsten 2) säger att man har utfört säkerhetstester - när det är uppenbart att man inte gjort det

// LZ

Men du säger att kunden på något sätt inte ska betala för detta? Det är alltid kunden som betalar, det finns ingen leverantör som i längden utför arbete de inte tar betala för på något sätt. Om de gjorde det skulle de gå under.

Visa signatur

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC/O2 → Sennheiser HD650/Ultrasone PRO 900/...
PC → S.M.S.L SA300 → Bowers & Wilkins 607

Permalänk
Medlem
Skrivet av Tea42BBS:

jag tycker leverantören som säljer Saas tjänsten ska ha utfört korrekta säkerhetstester innan man 1) säljer tjänsten 2) säger att man har utfört säkerhetstester - när det är uppenbart att man inte gjort det

// LZ

Ofta har man dessutom hyrt in någon utifrån som inte har en blekaste aning om lämplig mjukvaruarkitektur eller programmeringsspråk för den aktuella tillämpningen utan bara kan granska i generella termer.

Så där blir det ofta "sätt in en brandvägg" så löser det sig. Men för att applikationen skall funka så körs hela applikationen i klienten i Javascript som sen kör JSon mot ett gränssnitt som sen kör direkt mot en SQL-databas. Eller ännu värre - skapar SQL-anrop som sedan skickas till databasen direkt över nätet från klienten. (nu överdriver jag nog, men jag skulle inte bli ett smack förvånad om någon skulle skapa en sådan lösning)

Och bygger man webbsidor så bör varje individuell sida dynamiskt kolla användarens behörighet innan tillgång ges. Inte bara en gruppering av liknande sidor.

Permalänk
Medlem
Skrivet av Phod:

Sedan är det ju viktigt att ha koll på infrastrukturen också. Det är ju inte helt ovanligt med system som ligger öppna mot internet utan att de behöver vara det (Kaseya VSA, *host* *host*), admin-konto som florerar som vildkaniner och överdrivet frikostiga rättigheter.

Helt rätt.
En sårbarhet är inte farlig innan den kan nyttjas. Hade inte VSA servern varit nåbar från publikt internet så hade detta troligen inte inträffat. Dock har de flesta bommat denna lilla punkt

Visa signatur

Arbetsdator: HFX Mini. Ryzen 3600, GTX1650. Skärmar: Dell 2415

Permalänk
Medlem
Skrivet av mats42:

Helt rätt.
En sårbarhet är inte farlig innan den kan nyttjas. Hade inte VSA servern varit nåbar från publikt internet så hade detta troligen inte inträffat. Dock har de flesta bommat denna lilla punkt

Meningen med att köra Kaseya verkar ju ha varit att inte köra VPN, så att leverantörer som Visma EssCom (som hade tagit över hela driften vid det läget) kommer in utan VPN...

Att inte leverera dessa tjänster där det inte finns lite brandväggar och tunnlar vore nog en bra idé.

Permalänk
Medlem
Skrivet av Petterk:

Meningen med att köra Kaseya verkar ju ha varit att inte köra VPN, så att leverantörer som Visma EssCom (som hade tagit över hela driften vid det läget) kommer in utan VPN...

Att inte leverera dessa tjänster där det finns lite brandväggar och tunnlar vore nog en bra idé.

Jo de verkar ha valt att implementera det så tyvärr. Effekten av att bara ha ett lager skydd (inloggningen i VSA) är nu känd.
iom att det var fler butikskedjor som drabbades så får vi väl misstänka att det var en delad lösning hos leverantören men borde fortfarande inte ha varit så svårt att sätta en ip-sec tunnel (räcker med auth, behöver inte krypto) från endpoint till vsa

Visa signatur

Arbetsdator: HFX Mini. Ryzen 3600, GTX1650. Skärmar: Dell 2415

Permalänk
Medlem

Nu är ju inte coop som "ägde" kaseya utan deras POS försäljare. Så coop var en kund, till en kund, som var kaseyas kund.

Det var fler företag än COOP som drabbades i sverige. Coop norrbotten var tämligen odrabbad, men deras snabbkassor var döda dock.

Coop kände säkert till att deras POS körde kaseya, men det är inte coops huvudsakliga driftansvar. Dom har virtualisering osv osv men kassasystemet är helt utanför deras kontroll.

Permalänk
Medlem
Skrivet av ThomasLidstrom:

Hur mycket hade det kostat att betala folk för att jobba dygnet runt, ringa in under pågående semester för att få ut rättningen innan attacken?

Varför inte anställa kompetent personal och ge dem tillräckliga resurser att göra rätt från början?
Inget behov av dygnetruntarbete under semestern om man redan gjort rätt...

Skrivet av Cad_edis:

... detta hade varit enklare att hålla koll på om alla datorer körde i en gemensam domän mot AzureAD och kassaregistret kördes centralt...

Enklare att hålla koll och säkra upp, men ännu sårbarare vid eventuellt intrång.