Bakgrunn
- Det er et alvorlig sikkerehetshull i prosessorer.
- CERT informerte om dette i epost til alle 2018-01-04
- Informasjon ligger ogsp på UiOs websidene:
- Patchene fra Microsoft er rullet ut i begge SCCM-siter. Vi informerte om dette i epost 2018-01-08
Verktøy
Microsoft har lagt ut noen verktøy til å sjekke og monitorere status på maskinene.
1. PowerShell - Modul SpeculationControl
Denne modulen rapporterer status av maskiner ved kommandolinje
https://gallery.technet.microsoft.com/scriptcenter/Speculation-Control-e36f0050
Modulen er installert på driftsterminaslserver for LITA og det skal være mulig å kjøre den eksternt til andre maskiner.
2. Configuration Baseline
Vi vil rulle ut på begge SCCM-siter. Denne kjører modulen lokalt på maskinen og raportere status
https://gallery.technet.microsoft.com/Speculation-Execution-Side-1483f621
Bruk av modulen SpeculationControl i PowerShell
A. Lokalt
Det er mulig å installere modulen manuelt fra Microsoft gallery og kjøre den lokalt på en enkelt maskin.
Les dokumentasjonen lenket øverst i punkt 1 om du vil installere lokalt.
B. Eksternt
Hvis man vil sjekke eksternt på en eller flere maskiner så kan dette gjøres på følgende måter.
Til venstre koden for å kjøre modulen ekstern til en eller flere maskiner ved å oppgi navn i kommandolinje
Til høyre koden for å kjøre modulen ekstern til en eller flere maskiner ved å oppgi en tekstfil med maskiner, en per linje altså.
Import-Module SpeculationControl
$scriptstring = Get-Content -Path (Get-Module SpeculationControl).Path | % { if (-not ($_ -match “^\# “)) { $_ }} | Out-String
$scriptstring += '
function Write-Host {}
'
$scriptstring += 'Get-SpeculationControlSettings'
$script=[scriptblock]::create($scriptstring)
Invoke-Command -ComputerName localhost, system2, system3 -ScriptBlock $script
|
Import-Module SpeculationControl
$scriptstring = Get-Content -Path (Get-Module SpeculationControl).Path | % { if (-not ($_ -match “^\# “)) { $_ }} | Out-String
$scriptstring += '
function Write-Host {}
'
$scriptstring += 'Get-SpeculationControlSettings'
$script=[scriptblock]::create($scriptstring)
$InputFile = "C:\Temp\computers.txt"
$RemoteComputers = Get-Content $InputFile
Invoke-Command -ComputerName $RemoteComputers -ScriptBlock $script
|
Første linje importerer modulen i din PowerShell-sesjon så kommandoen blir tilgjengelig Siste linje: kjører kommandoen med maskinavn, komma separert, etter parameter Computername |
I dette eksempelet erstattes maskinnavn i parameter Computername med en variable som heter $inputfile. $inputfile er også innholdet av en tekstfil med maskinnavn |
Koden i eksemplene øverst er tatt fra en bloggartikkel fra Microsoft. Artikkelen inneholder mer detaljert informasjon om hvordan man kan bruke modulen.
C. Output til modulen
Modulen sjekker sikkerhetssårbarheten som er beskrevet i Advisory 180002.
Det er imidlertid en forskjell i hva som vises på skjermen når man kjører lokalt kontra man kjører den eksternt.
Det er også en forskjell mellom maskiner som har bare fått sikkerhetsoppdateringer og maskiner som har både fått sikkerhetsoppdateringer og BIOS\Hardware-oppdateringer.
Mer infomasjon om BIOS oppdatering vil komme.
i. Output fra en fullstendig oppdatert maskin når modulen kjøres lokalt
En maksin som er oppdatert fullstendig (Windows-oppdatering + BIOS\Hardware-oppdatering) ser slik ut når man kjører modulen lokalt
ii. Output fra en fullstendig oppdatert maskin når modulen kjøres ekstern
Når modulen kjøres fra driftsserveren ekstern til samme maskin så får vi bare den nederste delen av output.
iii. Output fra en maskin oppdatert med bare Windows Update når modulen kjøres lokalt
iv. Output fra en maskin oppdatert med bare Windows Update når modulen kjøres ekstern
Merk at den nederste delen er likt uavhengig at man kjører modulen lokalt eller eksternt.
Husk alltid å teste først med noen testmaskiner.
Logg inn for å kommentere
Ikke UiO- eller Feide-bruker?
Opprett en WebID-bruker for å kommentere