mboost-dp1

Lidt info om mit.dk problemet


Gå til bund
Gravatar #2 - arne_v
5. apr. 2022 16:31
#1

Og det er godt nok pinligt for dem.

Det er en lang artikel med en masse ord som forsøger at skjule substansen.

Men reelt siger de at login koden var totalt fubar og gemte bruger oplysninger midlertidigt i en global variabel / application object fremfor i en thread specifik variabel / session object, således at der ved samtidigt login (indenfor 10 ms eller deromkring) kunne ske en overskrivning af oplysninger midvejs i logikken.

De har ret i at den slags samtidighedsproblemer er svære at fange i test. Men så er der jo code review og code analysis tools.

Givet hvad det system bruges til så var det vel ikke helt ved siden af at bruge den slags.
Gravatar #3 - Claus Jørgensen
6. apr. 2022 09:58
#2

Det siger vel også at de ikke har haft pentesting. Hvilket er helt helt galt.

Vi laver threat models og pentesting af vores nyhedsprodukter, men et offenlig digital inbox har gør det ikke? Totalt WTF, og er jo nærmest et bevis i sig selv på at der ikke var nogen som helst erfarne udviklere / projekt-ledere på projektet.
Gravatar #4 - larsp
6. apr. 2022 10:15
arne_v (2) skrev:
Men reelt siger de at login koden var totalt fubar og gemte bruger oplysninger midlertidigt i en global variabel / application object fremfor i en thread specifik variabel / session object, således at der ved samtidigt login (indenfor 10 ms eller deromkring) kunne ske en overskrivning af oplysninger midvejs i logikken.

Whaaat. Global som i global på tværs af loginforsøg?

Det lyder på niveau med hvad jeg set i C kode skrevet af selvlærte teknikere, jeg har været udsat for i tidens løb.

Fremgår det hvilket programmeringssprog der blev brugt her?
Gravatar #5 - arne_v
6. apr. 2022 12:32
#4

Ja - det er hvad de skriver gemt i al den tekst.


Fejlen opstod, når flere brugere loggede på løsningen samtidig.

»I de tilfælde, kunne autentificeringsnøglen fra en bruger ("A") potentielt overskrive autentificeringsnøglen fra en anden bruger ("B»),
...
Fejlen opstod ifølge Netcompanys anmeldelse som et resultat af, at flere brugere loggede på løsningen på det eksakt samme tidspunkt.
...
I forsøget på at genskabe fejlen viste test, at det ville kræve ‘hundredvis af loginforsøg inden for samme sekund/millisekund for at fejlen kunne genskabes.’


Ja - det er slemt.

Nej - jeg har ikke set noget om sprog.

Men fejlen kan laves i de fleste sprog.

C/C++ - global scope variabel
C++/Java/C# - static class member / instance member af singleton / DI injected singleton mode
o.s.v.
alle sprog - distribueret cache (cache server)
Gravatar #6 - arne_v
6. apr. 2022 12:36
#3

De har lavet pen test.


»For at validere sikkerheden af mit.dk, blev der inden go-live først gennemført en intern penetrationstest af Netcompany's sikkerhedsteam. Senere blev der gennemført en sikkerhedstest af en tredjepart, F-Secure, hvor konklusionen var at løsningen var klar til ibrugtagning fra et sikkerhedsmæssigt perspektiv,«


Men den pen test fandt ikke problemet.

Hvilket ikke overrasker mig. Pen test fokuserer normalt på mere traditionelle sikkerheds problemer. "Prøv og send en lavine af login request og check om de logger ind som den rigtige bruger" er ikke en del af den test.
Gravatar #7 - Claus Jørgensen
6. apr. 2022 13:42
#6

Jeg synes ellers det er et område vores sikkerhedskonsulenter har nævnt før i tiden.

I forsøget på at genskabe fejlen viste test, at det ville kræve ‘hundredvis af loginforsøg inden for samme sekund/millisekund for at fejlen kunne genskabes.’
Det er jo ikke engang særlig meget.

Bare spørg SKAT, de har erfaring fra online selvangivelse :p

(Eller enhver virksomhed med millioner af brugere)
Gravatar #8 - arne_v
6. apr. 2022 14:48
Claus Jørgensen (7) skrev:

Jeg synes ellers det er et område vores sikkerhedskonsulenter har nævnt før i tiden.


Måske er jeres specielt gode.

Min erfaring er at de går efter traditionel JS/SQL i URL/header/body.

Claus Jørgensen (7) skrev:

I forsøget på at genskabe fejlen viste test, at det ville kræve ‘hundredvis af loginforsøg inden for samme sekund/millisekund for at fejlen kunne genskabes.’

Det er jo ikke engang særlig meget.


Hundredevis per sekund er ikke meget. Det skal testes. Men de testede med et hack fordi deres load test ikke kunne simulere MFA.


»Der er lavet omfattende performance-tests af løsningen inden go-live, herunder også af den komponent som var involveret i hændelsen. Det er dog ikke umiddelbart muligt, at lave store automatiserede performancetests som også involverer realistiske NemID-logins (pga. kravet om to-faktor autentificering). Derfor blev testen lavet med et simuleret login som omgik det almindelige loginflow via NgDP og Nemlog-in. Dette simulerede login kørte hurtigere end det rigtige login-flow


Hundredevis per millisekund er en del. 100 login/ms er 100000 login/s eller 6M login/min. Det er Facebook scale.

Gravatar #9 - arne_v
7. apr. 2022 00:03
Iøvrigt:

https://newz.dk/forum/tagwall/hvorfor-it-projektet...

(ja - det er Netcompany !!!!)
Gravatar #10 - Claus Jørgensen
7. apr. 2022 10:43
arne_v (8) skrev:
Hundredevis per sekund er ikke meget. Det skal testes. Men de testede med et hack fordi deres load test ikke kunne simulere MFA
lol
Gravatar #11 - Claus Jørgensen
7. apr. 2022 10:43
#9

Var det arkitekten til MitID de forsøgte at hyre? :D
Gravatar #12 - arne_v
7. apr. 2022 12:47
#11

Udfra tidspunktet for annoncen sammenholdt med MitID tidslinien: næppe.

Men hvis det er kravene til en senior arkitekt, så kan man jo gætte på kravene til junior arkitekt, senior udvikler, mid level udvikler og junior udvikler.

Og så er man måske ikke så overrasket over at der har været problemer.
Gravatar #13 - arne_v
7. apr. 2022 13:32
#9 og #12

Jeg lagde meget mærke til den annonce, fordi at kravene til senior arkitekt er noget jeg kender.

Mit nuværende team er meget lille men det er ægte senior arkitekter.

master, 7 year developer, 15 year architect
bachelor, 9 year developer, 4 year manager, 24 year architect
PhD, 10 year developer, 5 year manager, 16 year architect
master, 18 year developer, 2 year manager, 11 year architect
Gravatar #14 - Claus Jørgensen
7. apr. 2022 15:03
#13

Deres uddannelse synes ret irrelevant med så meget erfaring...

(Og så er arkitekt en meget obskur titel, det kan dække over 1000 forskellige ting)
Gravatar #15 - arne_v
7. apr. 2022 15:21
Claus Jørgensen (14) skrev:

Deres uddannelse synes ret irrelevant med så meget erfaring...


Ja.

Claus Jørgensen (14) skrev:

(Og så er arkitekt en meget obskur titel, det kan dække over 1000 forskellige ting)


Ja.

Men i det her tilfælde er det alt sammen enten software arkitekt eller løsnings arkitekt.
Gravatar #16 - arne_v
14. apr. 2022 14:20
En ny perle.

https://www.it-jobbank.dk/jobannonce/442210/gradua...

Rolle:


Danmark skal leve op til en ny EU-forordning (EUTK), som skal ensarte kvaliteten på toldområdet, lette handlen og forbedre sikkerheden ved EU’s ydre grænser. Hovedparten af de danske it-systemer på toldområdet skal i den forbindelse udskiftes. En række af de nye it-systemer udvikler Danmark selv, mens andre udvikles i EU-regi. Udviklingen og implementeringen sker i et tæt samarbejde mellem Toldstyrelsen og Udviklings- og Forenklingsstyrelsen, og systemerne sættes i drift efter en fælleseuropæisk køreplan.
...
Du får mulighed for at komme rundt i vores program og arbejde med spændende problemstillinger fra forskellige perspektiver.
...
Du får du lov at følge vores dygtigste kollegaer på tæt hold. Du bliver kastet ud i opgaver på egen hånd og bliver udfordret i din dagligdag.
...
Din rejse vil tage dig rundt i flere dele af vores program med fokus på it-arkitektur og -sikkerhed. Du kan fx arbejde med at sikre en sammenhængende arkitektur mellem løsningens forskellige komponenter, EU-systemer og omkringliggende toldsystemer sammen med vores solution- og systemarkitekter. De har ansvaret for, at it-arkitekturen hænger sammen på tværs af programmet, samt for at drive tværgående afklaringer af teknisk karakter. I forhold til it-sikkerhed kan du blive tilknyttet vores team af sikkerhedsarkitekter, der arbejder med persondatabeskyttelse, informationssikkerhed og operationel sikkerhed.


Kvalifikationer:


Igennem dit 18 måneders graduate-forløb vil vi arbejde på at matche din faglighed og interesser inden for primært it-arkitektur.
...
Du afslutter din kandidatuddannelse senest den 1. august 2022 eller har afsluttet den inden for de seneste år. Du har en uddannelse inden for it, hvilken kandidatuddannelse er ikke så afgørende, så længe du kan redegøre for, hvordan din uddannelse, interesse og/eller erfaring er relevant for graduate-stillingen.

Du har sandsynligvis haft studierelevant arbejde undervejs, måske arbejdet med udvikling, ligesom du fra studiet har erfaring med at arbejde projektorienteret.

Gravatar #17 - Claus Jørgensen
14. apr. 2022 19:00
#16

Jobopslag i Danmark / på Dansk er generelt en joke. Hver eneste gang jeg kigger på jobs i Danmark får jeg kvalme.
Gravatar #18 - arne_v
14. apr. 2022 19:12
#17

En ting er de sædvanelige katastrofale stillingsopslag hvor man får det indtryk at den der har formuleret det intet aner om de opremsede teknologier.

Men her er jeg bekymret for projektet. Der er formentligt tale om nogle meget komplekse krav (told regler i EU), integration med eksisterende systemer og samarbejde hen over landegrænser. Det kan vel ikke blive mere kompliceret. Vil man så sætte de bedste i branchen til at stå for arkitekturen for dette? Nej man vil hyre en "arkitekt praktikant" (nyuddannnet, *måske* med udviklingserfaring) som under vejledning fra mere erfarne skal arbejde med det. Hvad er sandsynligheden for at projektet kommer i problemer?
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login