Analyse: de beveiligingsupdates van Apple onderzocht

Iedereen houdt van gratis geschenken van Apple, vooral van gratis software-updates. Betere dingen gratis - wie zou kunnen argumenteren? Maar toen Apple vier software-updates uitbracht in een tijdsbestek van twee weken, van 15 november tot november 29, vlak na een grote en grotendeels ongedocumenteerde Mac OS X-update, was het genoeg om iedereen pauze.

Om enig licht te werpen op deze recente ronde van updates, laten we eens kijken naar Beveiligingsupdate 2005-009, de belangrijkste en meest relevante van het stel.

Beveiligingsupdate 2005-009

Je was misschien nog meer in de war over de release van 29 november van Beveiligingsupdate 2005-009 dan normaal, tenminste als je Mac OS X 10.3.9 gebruikt. Op de eerste dag van uitgave waren de links op de downloadpagina van Apple verbroken en werd je browser omgeleid naar, nou ja, niets. Software-update correct weergegeven en Beveiligingsupdate 2005-009 gedownload op Mac OS X 10.3.9-systemen, maar mensen die deze handmatig vanuit een browser wilden downloaden, moesten wachten tot de volgende dag.

Toen dat was opgelost, was de negende beveiligingsupdate van Apple van 2005 beschikbaar in de vier verwachte configuraties: voor Mac OS X 10.3.9, Mac OS X Server 10.3.9, Mac OS X 10.4.3 en Mac OS X Server 10.4.3. De Tiger-versies zijn 5 MB en 6 MB voor reguliere en serverversies, respectievelijk; de Panther-versies zijn respectievelijk 20 MB en 33 MB. Ze zijn groter omdat de Panther-versies, in tegenstelling tot de Tiger-versies, reparaties van eerdere updates bevatten, inclusief bestanden die we vonden in Beveiligingsupdates 2005-008 en 2005-007. De Tiger-versies bevatten geen oudere fixes omdat ze dit vereisen Mac OSX 10.4.3, dat met Halloween is uitgebracht en beveiligingsupdate 2005-008 en eerdere fixes bevat.

Dat wil overigens niet zeggen dat Mac OS X 10.4.3 zelf geen nieuwe beveiligingsreparaties bevat die niet eerder in een beveiligingsupdate zijn aangetroffen. Het doet. De vijf gedocumenteerde beveiligingsproblemen die in Mac OS X 10.4.3 zijn gesloten, worden in de onderstaande tabel samengevat. Twee daarvan hebben betrekking op misleidende of vertraagde wijzigingen in het groepslidmaatschap of het eigendom van bestanden, een andere betreft Sleutelhangertoegang die de weergegeven wijzigingen niet verbergt wachtwoorden wanneer hun sleutelhanger vergrendelt vanwege een time-out, en een andere verhindert dat u een wachtende software-update ongedaan kunt maken, tenzij er een nieuwe, niet-genegeerde update is aangekomen. (Alsof dit alles nog niet verwarrend genoeg was, beginnen de kwetsbaarheidsnummers nu allemaal met "CVE" in plaats van "CAN" dankzij een besluit hernoemen geïmplementeerd op 19 oktober.)

Beveiligingsoplossingen in Mac OS X 10.4.3

Onderdeel Probleem Kwetsbaarheids-ID 10.4.2 klant 10.4.2 Server
Vinder Weergegeven bestands- en groepseigendomsinformatie heeft mogelijk weinig te maken met daadwerkelijke eigendomsinformatie CVE-2005-2749 X X
Software-update Door alle beschikbare updates als "negeren" te markeren, stopte Software-update onmiddellijk zonder de kans te geven de status van eerder genegeerde updates te resetten CVE-2005-2750 X X
Sleutelhangertoegang Als een sleutelhanger wordt vergrendeld vanwege een time-out terwijl een opgeslagen wachtwoord in die sleutelhanger wordt weergegeven, bleef het wachtwoord zichtbaar in plaats van verborgen te worden wanneer de sleutelhanger werd vergrendeld CVE-2005-2739 X X
lid Dæmon die wijzigingen toepast op groepslidmaatschap, werkte de toegangscontrolelijsten (ACL's) niet snel genoeg bij, waardoor gebruikers die uit groepen waren verwijderd, toegang konden blijven houden tot groepsbestanden CVE-2005-2751 * X
Mach-kernel Kernelinterfaces kunnen gegevens retourneren uit "niet-geïnitialiseerd" geheugen dat feitelijk al was gebruikt en vrijgegeven door de kernel, mogelijk met achtergebleven gevoelige gegevens CVE-2005-1126, CVE-2005-1406, CVE-2005-2752 X X

X = Opgelost in deze update; * = Betrokken onderdeel of functie zat nooit in deze versie

De kernelkwetsbaarheid die in Mac OS X 10.4.3 is opgelost, verdient een momentje uitleg. Programma's vragen geheugen van het besturingssysteem om voor hun eigen doeleinden te gebruiken, en ze geven het terug aan het besturingssysteem wanneer ze ermee klaar zijn, zodat het besturingssysteem het kan hergebruiken voor andere RAM-verzoeken. De meeste programma's wissen de inhoud van het geheugen echter niet voordat het wordt vrijgegeven, omdat dat tijd kost en meestal niet nodig is. Het besturingssysteem wist om dezelfde reden het vrijgekomen geheugen niet.

De kernel zou echter het geheugen moeten wissen Het releases. De kernel wil nooit niet-geïnitialiseerd geheugen doorgeven aan bellers, omdat de beller dat dan zou kunnen zien een deel van wat andere kernelcode in dat RAM-geheugen had opgeslagen - een bestandsbuffer, een wachtwoord, een netwerkpakket, enzovoort op. Suresec gevonden twee problemen dat kernelgeheugen zou kunnen onthullen aan bellers in Mac OS X (of FreeBSD, of beide), en de mensen van FreeBSD vonden de andere. Mac OS X 10.4.3 repareert alle drie, maar Apple heeft niet bekend gemaakt of Mac OS X 10.3.9 soortgelijke defecten vertoont.

Beveiligingsupdate 2005-009 voegt meer oplossingen toe aan die basislijn. Ze zijn hieronder samengevat, met extra kolommen voor de vier afzonderlijke versies van de update. Zoals u in de tabel kunt zien, zijn veel van de fouten de veelvoorkomende en gemakkelijk op te lossen bufferoverloopproblemen die we hebben besproken in MWJ 20.08.2005. Andere typische fouten zitten in het parseren, zoals de Safari-bug die ervoor zorgt dat de browser bestanden downloadt met “very lange" bestandsnamen in een onvoorspelbaar verkeerde map, of de reguliere expressie-engine in JavaScriptCore dat kan buffers overlopen met een kwaadaardige uitdrukking.

Oplossingen voor beveiligingsupdate 2005-009

Onderdeel Probleem Kwetsbaarheids-ID 10.3.9 10.3.9 Server 10.4.3 10.4.3 Server
Apache2 Update naar versie 2.0.55, waarbij kwetsbaarheden worden verholpen, waaronder cross-site scripting-problemen met sommige tussenliggende servers CVE-2005-2088 * X * X
apache_mod_ssl Configuraties die gebruik maken van de SSLVerifyClient-richtlijn kunnen het omzeilen van de vereiste SSL-clientauthenticatie mogelijk maken CVE-2005-2700 X X X X
Kern Stichting Een kwaadwillig vervaardigde URL kan een buffer laten overlopen tijdens het parseren CVE-2005-2757 * * X X
Kerndiensten Update naar Core Types-bundel voegt bestanden met de bestandsnaamextensie ".term" (Terminal-bestanden) toe aan de lijst met "onveilige uitvoerbare" gedownloade bestanden NVT * * X X
Krul Het gebruik van NLTM-authenticatie met een kwaadaardige HTTP-server kan een buffer laten overlopen en willekeurige code uitvoeren CVE-2005-3185 * * X X
man-pagina's Bijgewerkte documentatie voor OpenSSH en PAM NVT # # X X
ODBC-beheerder Het interne iodbcadmintool-programma kan het uitvoeren van willekeurige code met zijn rootprivileges mogelijk maken CVE-2005-3700 X X X X
OpenSSL Bijgewerkt naar v0.9.7i om een ​​downgrade naar SSLv2 (van SSLv3 of TLS) te voorkomen wanneer compatibiliteitsopties worden gebruikt of SSLv2 niet expliciet wordt uitgeschakeld CVE-2005-2969 X X X X
Wachtwoordserver Potentieel gecompromitteerde inloggegevens bij het maken van een Open Directory-masterserver kunnen onbevoegde lokale gebruikers verhoogde serverrechten geven CVE-2005-3701 * X * X
Snelle trekking Ongespecificeerde verbetering bij het tekenen van "PICT"-bestanden NVT X X # #
Safari Lange bestandsnamen die door servers worden voorgesteld voor downloads, kunnen ervoor zorgen dat Safari bestanden op een onjuiste locatie opslaat, die mogelijk toegankelijk is voor andere gebruikers CVE-2005-3702 X X X X
Safari Dialoogvensters gemaakt door JavaScript-code geven nu de naam weer van de site waarvan de code het dialoogvenster heeft gemaakt CVE-2005-3703 X X X X
Safari Ongespecificeerde verbetering van de afhandeling van "creditcardbeveiligingscode". NVT X X X X
Servermigratie Verwijdert onnodige privileges die het hulpprogramma niet nodig heeft NVT ? ? ? ?
sudo Update naar versie 1.6.8p9 om te voorkomen dat aangepaste configuraties ongeoorloofde escalatie van bevoegdheden toestaan CVE-2005-1993 X X X X
systeemlog Logberichten met newline-tekens kunnen nieuwe berichten simuleren voor gebeurtenissen die niet hebben plaatsgevonden CVE-2005-3704 * * X X
Webkit De PCRE-engine voor JavaScript heeft een potentieel misbruikbare bufferoverflow die het uitvoeren van willekeurige code mogelijk maakt CVE-2005-2491 X X X X
Webkit Ongespecificeerd downloaden van inhoud kan een buffer laten overlopen en willekeurige code uitvoeren CVE-2005-3705 X X X X

X = Opgelost in deze update; * = Betrokken component of functie was nooit in deze versie; # = bug zat niet in deze versie voor deze update;? = onbekend

Apple's update-opmerkingen bevatten een sectie gemarkeerd met "aanvullende informatie" die wijzigingen beschrijft die, voor geen bekendgemaakte reden, zijn opgenomen in een "Beveiligingsupdate" maar waaraan geen kwetsbaarheidsnummers zijn toegewezen. Een daarvan is het wijzigen van "Core Types om de afhandeling van Terminal-bestanden te verbeteren" voor Mac OS X 10.4.3. Dat wordt afgehandeld via een XML-bestand gevonden op

/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/System
. Zoals eerder besproken, bevat dit bestand het idee van het systeem over welke bestandstypes, MIME-types en bestandsnaamextensies veilige en "gevaarlijke" bestanden zijn om te downloaden. Beveiligingsupdate 2005-009 voegt de bestandsnaamextensie toe
.termijn
naar de categorie 'onveilige uitvoerbare bestanden'. Wanneer u een dergelijk bestand downloadt in Safari of een ander programma dat gebruikmaakt van Core Types, wordt u gewaarschuwd dat het uitvoerbare code kan bevatten. (Safari zegt dat het "een toepassing bevat".) Er is een manier ingebouwd in Tiger die je kunt wijzigen Kerntypen en voeg uw eigen typen toe of overschrijf de standaardinstellingen van het systeem, maar Apple heeft dit nog steeds niet gedocumenteerd Het.

Deze "aanvullende informatie" is verontrustend. De afgelopen jaren heeft Apple ervoor gezorgd dat beveiligingsproblemen alleen in beveiligingsupdates worden opgelost. Niet-beveiligingsbugs wachten op OS-revisies of afzonderlijke installaties zoals een AirPort-update of dvd-spelerupdate. Veranderingen zoals het updaten van Core Types om u te waarschuwen voor Terminal-bestanden tellen duidelijk mee als beveiligingsreparaties, net zoals het updaten van Safari blijkbaar "om de afhandeling van creditcardbeveiligingscodes te verbeteren".

Maar als dit beveiligingsproblemen zijn, waarom heeft Apple er dan geen CVE-nummers voor gekregen en ze normaal gedocumenteerd? Wat is beveiligingsgerelateerd aan het verbeteren van de weergave van QuickDraw PICT-bestanden? Als beveiligingsupdates regelmatig bugfixes gaan bevatten, kan een systeem dat al enigszins verwarrend is, ronduit ondoordringbaar worden. Dat zou Apple of zijn klanten niet ten goede komen.

De magie van updates

De functie Software-update van OS X zou het gemakkelijker moeten maken om uw systeem te beheren door u op de hoogte te stellen van de updates je nodig hebt, ze op de achtergrond downloaden als ze als urgent zijn gemarkeerd en ze voor je installeren wanneer je dat bent klaar. Toch weten we dat dit niet gebeurt, ook met Beveiligingsupdate 2005-009 en andere updates, omdat lezers, vrienden en familie ons dat blijven vertellen. Ze negeren gewoon wat Software-update weergeeft, omdat ze niet kunnen achterhalen wat de updates zouden moeten doen.

Apple heeft zich nooit publiekelijk gecommitteerd aan schema's voor Mac OS X-updates of beveiligingsupdates, maar over het algemeen komen de eerste driemaandelijks binnen en de laatste maandelijks. Het is een vuistregel, geen natuurwet: er zijn negen beveiligingsupdates geweest in 2005 en drie Mac OS X 10.4-updates in de zes maanden dat het beschikbaar is. Maar nogmaals, de intentie helpt mensen om updates te begrijpen en er vertrouwen in te hebben ze toe te passen. Beveiligingsupdates komen elke vier tot zes weken en pakken alleen kwetsbaarheden aan die aanvallers zouden kunnen misbruiken. Mac OS X-updates komen elk kwartaal of zo binnen en repareren zowel beveiligings- als niet-beveiligingsfouten in het besturingssysteem. Tussentijds komen er belangrijke updates voor gerichte onderdelen, zoals AirPort Extreme of Java 2SE 5.0.

Dat is gemakkelijk, dat is voorspelbaar, dat is verstandig - voor zover het bij elkaar blijft. Het is niet goed genoeg om 80 procent van de weg naar het doel te krijgen. Door de laatste 20 procent af te blazen, blijft iedereen in de war over updates en wordt de eerste 80 procent van de communicatie grotendeels irrelevant. Dat is wat er dit kwartaal is gebeurd.

Mac OS X 10.4.3 is niet minder gedocumenteerd dan de meeste Mac OS X-updates, maar meer informatie zou hebben geholpen. Daarna kregen we een beveiligingsupdate die mogelijk niet-beveiligingsoplossingen bevat, een Java-update met geweldige release-opmerkingen voor ontwikkelaars maar bijna geen uitleg van de gebruiker, een nauwelijks gedocumenteerde AirPort Update met twee verschillende namen (en één editie met twee versienummers), een breedbandtuner die niet geschikt is voor de meeste mensen met breedband en een firmware-update die een jaar te laat is.

Het is ongelooflijk frustrerend omdat Apple zo dichtbij is om updates correct te laten werken. De regels zijn niet ingewikkeld.

  • Gebruik dezelfde naam voor meerdere updates die dezelfde problemen aanpakken, zelfs als er afzonderlijke downloads zijn voor verschillende OS-versies.
  • Beschrijf wat elke update biedt zonder het versleten eufemisme "verbetert de betrouwbaarheid", tenzij u de boodschap wilt overbrengen dat sommige updates bedoeld zijn om de betrouwbaarheid te verminderen. Laten we in plaats daarvan aannemen dat ze allemaal verondersteld worden "de betrouwbaarheid te verbeteren" en niet langer doen alsof het gebruik van deze woorden eigenlijk enige vorm van informatie verschaft.
  • Geef updates specifieke namen die hun doel duidelijk maken - probeer "AirPort Extreme Update" in plaats van "AirPort Update" voor software die werkt alleen met AirPort Extreme-hardware, of "FiOS Tuner" in plaats van "Broadband Tuner" voor software die alleen bedoeld is voor FiOS verbindingen.
  • Leg voor complexe subsystemen zoals Java in duidelijk Engels uit wanneer u een nieuwe versie toevoegt en wanneer u een bestaande versie bijwerkt, en vertel gebruikers, niet alleen ontwikkelaars, wat dat betekent.
  • Plaats items niet alleen in Software-update om ze in eerste instantie ongecontroleerd te presenteren. Software-update moet gebruikers vertellen wat ze nodig hebben op hun systemen. Het is verwarrend om updates op te nemen en vervolgens te suggereren dat ze niet nodig zijn. Updates voor optionele hardware zoals AirPort Extreme (op sommige modellen) of iPod-ondersteuning moeten standaard worden aangevinkt als die hardware aanwezig is. Als de hardware niet aanwezig is, moet bovenaan in de beschrijving in vetgedrukte letters staan: "Installeer dit als u [de optionele hardware] aan dit systeem mag toevoegen."
  • De updatetaal van Apple schreeuwt, op topvolume: "We willen je niet te veel vertellen over deze update omdat we ons schamen over het." Dit bewijst een slechte dienst aan de meerderheid van de mensen die terughoudend zijn om mysterieuze updates op werkende systemen te installeren. Als alle updates van Apple in november duidelijk waren genoemd, beschreven en gepresenteerd, zou iedereen hebben geweten wat hij kon verwachten. En stel je voor hoeveel tijd de wereld zou kunnen besteden aan meer vruchtbare bezigheden als niemand ooit zou moeten vragen wat een Apple-update doet.

    [ Met toestemming overgenomen uit het nummer van 10 december van MWJ, uitgegeven door MacJournals.com. Auteursrecht 2005, GCSF Incorporated. Ga voor een gratis proefversie van MWJ naar www.macjournals.com. ]

    • Jul 30, 2023
    • 21
    • 0