Penetration test – Praktisk indføring i hacking for QA’ere

Af Christian Stage, IT QA Specialist, Stage One Computing

Efter deltagelse i IFF’s fortræffelige arrangement den 2021.11.30 omkring dataintegritet, hvor Ib Alstrup fra Lægemiddelstyrelsen på bedste vis underholdt med opdateringer fra den regulatoriske front og diverse inspection findings, tænkte jeg at lidt erfaring med ”Penetration test” var værd at dele.

Penetrationstest er en forventning fra myndighedernes side, og det kan måske være lidt svært at lure hvad det går ud på hvis ikke men er hardcore IT-nørd, så først lidt lægmandforklaring på hvad det overhovedet går ud på.

Hvis man har et IT-system skal det være beskyttet således at det ikke er alle og enhver der kan tilgå systemet. Ligeledes skal man sikre ”segregation of duties”, således at kun de rette personer kan tilgå systemet, data og de tilknyttede ressourcer. Hvis det stadig bliver lidt for langhåret og svævende, så gælder det om at en operatør der keder sig om natten ikke kan surfe på Ekstrabladets hjemmeside, se Netflix og frem for alt ikke kan rette eller slette data.

Det giver således mening at man udfører en formel og målrettet test af om et system tillader utilsigtede adgange.

Så sidder der muligvis en eller anden proces QA med almindelig bruger IT-erfaring og tænker: Meget fint Christian, men hvad skal man så i praksis kigge efter?

Hacking for begyndere

Først og fremmest skal man kigge efter adgang til en browser (Internet Explorer, Edge, Chrome eller lignende). Hvis man kan få adgang til en browser, kan man med sikkerhed også få adgang til operativsystemet – Sandsynligvis med administrative privilegier! Nu skal dette ikke blive en skole udi hacking, men prøv at åbne f.eks. Word. Vælg ”Help” -> ”Feedback”, og klik på linket ”Privacy Policy”. I den browser der popper op, kan man i søgefeltet skrive ”cmd” eller ”explorer”, og vupti, så har man med stor sandsynlighed en administrativ adgang til filer i systemet. Ellers kan man altid prøve med ekstrabladet.dk, Youtube.com eller Netflix.dk hvis man savner underholdning …

Hvis det nu ikke var Word, men styresystemet på en pakkemaskine, ville resultatet med stor sandsynlighed være det samme. Man kan typisk også finde en ”about” knap i printermenu ’en eller tilsvarende steder, så der er rig mulighed for at få startet en kommandoprompt eller en Explorer med administrative adgange.

Næste indlysende udfordring at kigge efter er alle de touch funktioner der efterhånden også findes i de nyere Windows versioner. Hvis det er en berøringsfølsom skærm, som efterhånden findes på rigtigt mange produktionssystemer, maskiner og laboratorieudstyr. Hvis man f.eks. ”swiper” ind fra højre eller venstre får man adgang til administrative menuer, eller hvis man holder en finger på skærmen et stykke tid, svarer det til højreklik på musen, som også ofte kan give bonusadgange til diverse uventede features.

Hvis systemet ikke har berøringsfølsom skærm, og man må ”nøjes” med et klassisk tastatur, er det bare at slå sig løs med alle de genvejs og funktionstaster man kan finde. Det giver næsten altid højest uventede og spændende resultater.

Det næste man kan kigge efter er huller i kassen. Der findes ofte en Ethernet port eller USB-port man kan få adgang til. Hvis man stikker en USB-stick med en ”autoexec.bat” fil ind i USB porten, vil den automatisk forsøge at køre denne fil. Hvis der f.eks. står ”Explorer.exe” eller ”command.com” inde i denne autoexec.bat fil, vil den starte stifinder eller systemets kommandoprompt.

… og sådan kan man blive ved.

Pointen er at man bør søge efter at begrænse de mest indlysende uhensigtsmæssige adgange til et system. De ovennævnte eksempler er ikke specielt svære at fjerne, men det kræver at man ved de er der. Man kan typisk danne sig

et helt katalog af spændende måder at komme ind bagom et system, sammen med en liste af løsningsmetoder til de enkelte problemstillinger.

Småtips

Hvis jeg skal komme med lidt tips, er det vigtigt at man søger en operativ metode. Man kan godt tage sin applikation og aflevere til et firma der kan reverse engineere programmerne og derigennem finde en mængde teoretiske huller. Det er også fint hvis man udvikler medical device software eller lignende, men forbliver MEGET teoretisk hvis det er brugerfladen til en pakkemaskine, en håndscanner til MES systemet, eller en HPLC på et laboratorie.

Det næste tips er at undersøge sikkerheden så tidligt i processen som muligt, indgå dialog med leverandørerne om løsninger, og i det hele taget tage øvelsen fra en praktisk vinkel. Leverandørerne lurer faktisk ret hurtigt formålet, og bliver yderst samarbejdsvillige når man først indgår dialog og viser velvilje til at finde løsninger.

Hvis jeg skal komme med et par gode eksempler fra ”Penetration tests” jeg har været ude og lave hos kunder, kan jeg umiddelbart komme på 2 gode historier:

Historie 1

Jeg var ude hos en Schweizisk maskinproducent ”der har styr på det”. De går meget op i at fortælle hele verdenen at de er 50% bedre end den næstbedste på markedet, og at det er Schweizisk kvalitet, på højde med kukure og lignende. Da vi kom ud for at lave vores penetrationstest hos dem, dukkede deres chefingeniør op og forklarede at det var spildt indsats fra vores side, fordi de var meget dygtige til at udvikle sikker software.

Vi forklarede pænt at vi var glade for at det havde sikkerhed som fokus, og at det var egentlig også var formålet med vores lille øvelse, samt at vi havde den største tiltro til deres evner. Ved hjælp af et klik på ”Help”, dukkede en Internet Explorer browser op. Da ”cmd” blev skrevet i søgefeltet, var vi inde som administratorer, allerede efter 10 sekunder.

Så blev der meget stille i rummet. Det lykkedes dog efter chokket havde lagt sig, at få fundet løsninger til samtlige af de fundne ”huller”, i en fortræffelig og mere operativ dialog end der blev startet op med fra leverandørens side.

Historie 2

Jeg var ude hos en medicinalproducent der havde bedt os om at vurdere IT-sikkerheden i deres virksomhed. Da vi passerede igennem receptionen lurede en af mine kollegaer at der sad nogle kameraer i loftet, som han kunne genkende modellen på. På internettet kunne man finde det fabriksleverede administrative password på kameraerne, og de havde et ubeskyttet Wi-Fi slået til. Herefter var det ikke en større sag at logge sig på kameraerne som administrator.

Kameraerne var forbundet til virksomhedens øvrige netværk via netværkskabler, og når man først var administrator på kameraerne kunne man let som ingenting få adgang til virksomhedens administrative servere og brugerdatabasen.

Virksomhedens IT-folk sagde godt nok at de havde på deres todo liste at skifte passwords, men denne 2 minutters opgave var altså udskudt, og det var desværre blot toppen af isbjerget. Da vi efter vores analyser kom ud i den virkelige verden, lagde vi mærke til at man faktisk kunne få fat i kameraerne ude fra P-pladsen.

Konklusion

Nu vi ved at Ib alligevel kigger efter om der er lavet penetration test af systemer relateret til GxP, kan vi lige så godt gøre en ordentlig øvelse ud af det: Lav en protokol (den kan være mere eller mindre standard) og udfør en kontrol af om systemerne lever op til en rimelig minimumstandard for IT-sikkerhed.

Tænk som en operatør der keder sig drabeligt i nattetimerne, eller tænk som en der hjælper med at sætte Windows op for naboen hvis det ikke virker. Man behøver ikke tænke som en hardcore Russisk hacker, og langt de fleste har i dag relativt god viden om hvordan man sætter printer o.l. op i Windows, så de fleste har kunnen til at udføre en penetration test – Så er det kun lidt intuition ovenpå, så skal det nok gå.