Slecht geschreven stuurprogramma’s laten misbruik Windowskernel toe

Applicaties met lage privileges kunnen legitieme stuurprogramma-functies gebruiken om kwaadaardige acties uit te voeren. Het gaat om de meest gevoelige gebieden van het Windows-besturingssysteem, zoals de Windows-kernel.

Dat maakten beveiligingsonderzoekers van Eclypsium afgelopen week bekend tijdens de Def Con security-conferentie in Las Vegas. De onderzoekers beweren in meer dan 40 kernel-stuurprogramma’s van 20 verschillende hardwareleveranciers veelvoorkomende ontwerpfouten te hebben gevonden, aldus ZDnet.

Een aantal hardwarebronnen zijn doorgaans alleen toegankelijk voor bevoorrechte software, zoals de Windows-kernel. Die moeten beschermd worden tegen kwaadwillig lezen en schrijven vanuit userspace-applicaties, aldus Mickey Shkatov, hoofdonderzoeker bij Eclypsium.

Slechte codeerpraktijken

“Het ontwerpfoutje treedt op wanneer ondertekende stuurprogramma’s functionaliteit bieden, die door userspace-applicaties misbruikt kan worden om willekeurige lees- en schrijfbewerkingen van deze gevoelige bronnen uit te voeren. Dat alles zonder enige beperking of controles van Microsoft”, zegt Shkatov. Hij stelt dat de problemen die hij heeft ontdekt te wijten zijn aan slechte codeerpraktijken, die geen rekening houden met veiligheid.

Volgens de onderzoekers is het een veelgebruikt patroon voor softwareontwerp, waarbij het stuurprogramma op een flexibele manier is geschreven om willekeurige acties uit te voeren namens userspace. Anders dan het stuurprogramma alleen specifieke taken te laten uitvoeren. “Het is gemakkelijker om software te ontwikkelen door stuurprogramma’s en applicaties op deze manier te structureren, maar het stelt het systeem open voor uitbuiting.”

Getroffen hardwareleveranciers

Eclypsium zegt iedere hardwareleverancier die stuurprogramma’s heeft waarmee userspace-apps kernelcode kunnen uitvoeren, te hebben geïnformeerd. Een aantal betrokkenen heeft vanwege ‘speciale omstandigheden’ extra tijd nodig. Leveranciers die inmiddels updates hebben uitgegeven zijn:

  • American Megatrends International (AMI)
  • ASRock
  • ASUSTeK-computer
  • ATI Technologies (AMD)
  • Biostar
  • EVGA
  • Getac
  • GIGABYTE
  • Huawei
  • Insyde
  • Intel
  • Micro-Star International (MSI)
  • NVIDIA
  • Phoenix Technologies
  • Realtek Semiconductor
  • SuperMicro
  • Toshiba

Microsoft

Microsoft zou zijn HVCI-functionaliteit (door Hypervisor afgedwongen code-integriteit) gebruiken om stuurprogramma’s op de zwarte lijst te plaatsen. Nu is het wel zo dat de HVCI-functie alleen wordt ondersteund op Intel CPU’s van de 7e generatie en hoger. Voor oudere systemen en nieuwere Intel CPU’s, waar HVCI niet kan worden ingeschakeld, is handmatige interventie nodig.

“Om kwetsbare stuurprogramma’s te exploiteren, moet een aanvaller de computer al hebben gecompromitteerd. Om dit soort problemen te helpen verminderen, beveelt Microsoft klanten aan om Windows Defender Application Control te gebruiken om bekende kwetsbare software en stuurprogramma’s te blokkeren. Klanten kunnen zichzelf verder beschermen door geheugenintegriteit in te schakelen in Windows Security”, aldus Microsoft in een verklaring.

Shkatov zegt van plan te zijn de lijst met getroffen stuurprogramma’s en hun hashes op GitHub te publiceren. Gebruikers en beheerders kunnen op die manier de getroffen stuurprogramma’s blokkeren.

Lees ook: Microsoft verandert Windows Defender van naam