Experimenteer om controle te krijgen over pakketten in de AUR-repository

De resultaten van een experiment over het overnemen van de controle over pakketten in de AUR-repository (Arch User Repository), die wordt gebruikt voor distributie door externe ontwikkelaars van hun pakketten zonder opname in de hoofdrepository's van de Arch Linux-distributie, zijn gepubliceerd. De onderzoekers hebben een script opgesteld dat het verlopen controleert van domeinregistraties die voorkomen in de PKGBUILD- en SRCINFO-bestanden. Bij het uitvoeren van dit script werden 14 verlopen domeinen geïdentificeerd, gebruikt in 20 pakketten voor het downloaden van bestanden.

Het simpelweg registreren van een domein is niet voldoende om een ​​pakket te vervalsen, omdat de gedownloade inhoud wordt gecontroleerd aan de hand van de controlesom die al in de AUR is geladen. Het blijkt echter dat beheerders van ongeveer 35% van de pakketten in de AUR de parameter "SKIP" in het PKGBUILD-bestand gebruiken om de controlesomverificatie over te slaan (specificeer bijvoorbeeld sha256sums=('SKIP')). Van de 20 pakketten met verlopen domeinen werd bij 4 de parameter SKIP gebruikt.

Om de mogelijkheid tot het uitvoeren van een aanval aan te tonen, kochten de onderzoekers het domein van een van de pakketten dat geen checksums controleert en plaatsten er een archief met de code en een aangepast installatiescript op. In plaats van de daadwerkelijke inhoud werd een waarschuwingsbericht over de uitvoering van code van derden aan het script toegevoegd. Een poging om het pakket te installeren leidde tot het downloaden van vervangende bestanden en, aangezien de controlesom niet was gecontroleerd, tot de succesvolle installatie en lancering van de door de onderzoekers toegevoegde code.

Pakketten waarvan de domeinen met code zijn verlopen:

  • Firefox-vacuüm
  • gvim-controlepad
  • wijn-pixi2
  • xcursor-thema-wii
  • lichtzone-vrij
  • scalafmt-native
  • coolq-pro-bin
  • gmedit-bin
  • mesen-s-bin
  • polly-b-weg
  • erwiz
  • totd
  • kygekteampmmp4
  • servicewall-git
  • amuletml-bak
  • etherdump
  • dutje-bak
  • iscfpc
  • iscfpc-aarch64
  • iscfpcx

Bron: opennet.ru

Voeg een reactie