Sitic Sveriges IT-incidentcentrum FR03-02 Hantering av programrättningar och systemuppdateringar Förebyggande Råd från Sveriges IT-incidentcentrum Om Förebyggande Råd från Sitic Bakgrund I uppdraget för Sveriges IT-incidentcentrum (Sitic) ingår det att producera information och råd om förebyggande åtgärder avseende IT-säkerhet. Detta dokument ingår i en serie kallad Förebyggande Råd. Friskrivning Den information Sitic tillhandahåller produceras i enlighet med högt ställda krav på kvalitet och sakinnehåll. Sitic kan dock inte garantera att informationen i alla avseenden är korrekt eller åta sig ansvar för detta. Inte heller kan Sitic åta sig ansvar för användning av informationen, eller resultatet av användning av informationen. Omnämnande av, eller referenser till, annan organisation betyder inte att Sitic stödjer, befrämjar eller på annat sätt gynnar denna organisations verksamhet. Om detta dokument Syfte Hanteringen av programrättningar (s.k. patch) och systemuppdateringar (s.k. servicepack) är viktigt för en organisations IT-säkerhet. Att minimera antalet programfel (sårbarheter) reducerar risken att obehöriga förstör eller får åtkomst till en organisations resurser. Syftet med detta dokument är att informera om hur programfixar och systemuppdateringar kan hanteras inom organisationen. Tillämplighet Dokument riktar sig till systemadministratörer eller personer med ansvar för systemkvaliteten i medelstora organisationer. Avgränsningar Systemuppgraderingar behandlas inte. POSTADRESS Box 5398, 102 49 Stockholm BESÖKSADRESS Birger Jarlsgatan 16 TELEFON 08-678 55 00 FAX 08-678 55 05 E-POST pts@pts.se WEBBADRESS www.pts.se
Sakområdet Allmänt I dagens IT-samhälle behöver en systemadministratör hålla sig ajour med programvarutillverkarnas programrättningar och systemuppdateringar. När en programvarutillverkare presenterar en uppdatering måste den verifieras och evalueras av den egna organisationen för att uppskatta dess lämplighet i de egna systemen. För detta krävs en strategi som innefattar flera områden, bl.a.: utvärdering av systemnivåer, dokumentation, riskanalyser, säkerhet, tester, installationsförfarande, uppföljning av installerade programrättningar, backuphantering och katastrofplanering. Teknik För uppdateringar finns flertalet definitioner: Systemuppgradering - en ny version av produkten som tillför ny funktionalitet. Systemuppdatering - åtgärdar ett stort antal fel i program eller operativsystem. En systemuppdatering består av flera programfixar. Programrättningar - åtgärdar ett mindre antal fel i program eller operativsystem. Systemupdateringar och programrättningar åtgärdar diverse programfel i system som t.ex. hårdvaruproblem, kompatibilitetsproblem och säkerhetsluckor. Systemuppdateringar kräver vanligtvis en omstart av systemet till skillnad från programrättningar. Följaktligen bör systemuppdateringar planeras in i en underhållsplan medan programrättningar vanligtvis kan appliceras utan större driftstörning. Det finns två metoder för uppdateringar, automatiska och manuella. Automatiska metoder: Det finns flera produkter som mer eller mindre automatiskt hanterar inventering av uppdateringsnivåer, föreslår nya uppdateringar och sköter själva uppdateringsprocessen.
Manuella metoder: Manuella metoder anses ofta som säkrare eftersom kontrollen över själva proceduren är större. Denna metod kräver, i förhållande till den automatiserade metoden, mer kompetens och tid för att kunna bibehålla en godkänd nivå på uppdaterade system. Det finns ett antal strategier för att hantera manuella systemuppdateringar: Omedelbar uppdatering av systemen när leverantören presenterar en ny programrättning. Detta innebär en ständigt pågående process eftersom det kan presenteras flertalet uppdateringar dagligen. I förlängningen medför det förhållandevis stort behov av resurser för att granska och utvärdera de uppdateringar som presenteras. Organisationen kan även invänta att leverantören presenterar systemuppdateringar. I dessa fall förekommer uppdateringar relativt sällan, vilket innebär både positiva och negativa aspekter: Positivt: Negativt: Det är enklare att bibehålla systemen på en likvärdig nivå med förhållandevis lite resurser. Det dröjer längre innan systemen uppdateras. Vilket alternativ som lämpar sig beror på organisationens situation. Vanligast torde dock vara att kombinera de båda. Den kombinerade strategin innebär att organisationen installerar systemuppdateringarna och däremellan håller sig ajour med presenterade säkerhetsuppdateringar. Risker Det är viktigt att bedöma om en installation av en programrättning är nödvändig, eftersom negativa konsekvenser kan få till följd att bl.a. system blir inkompatibla eller att nya programfel eller sårbarheter introduceras. Om ett system fungerar tillfredställande bör organisationen beakta de programrättningar som presenteras och värdera om de verkligen behövs. Inled med att granska programrättningen: Vad för typ av programrättning är det? Kommer övriga programvaror att påverkas av den nya uppdateringen?
Uppdaterar den drivrutiner till hårdvara? Uppdaterar den kompatibilitet? Uppdaterar den säkerhet? Uppdaterar den prestanda? Därefter bör organisationen utvärdera om programfixen ska installeras: Vilka risker finns det om jag inte installerar föreslagen programrättning? Kan det finnas säkerhetshål som kan utnyttjas? Blir programvaror inkompatibla med nya versioner av andra programvaror? Vilka risker finns det om jag installerar föreslagen programrättning? Tidigare versioner av en programrättning kan ha ett versionsberoende till en annan vilket kan resultera i att en programrättning som är skapad för att täppa till ett säkerhetshål kan öppna ett annat. Programrättningen kan även innehålla icke önskvärd funktionalitet som kan försätta system i ett läge där installerade programvaror inte kan kommunicera, på grund av att versionsberoenden sinsemellan har förändrats. Installationen av en programrättningen kan i sig skapa problem. Det är viktigt att vara medveten om dessa vid implementeringen: Under installationen kan systemet försättas i ett tillstånd där det är sårbart eller inte går att kommunicera med. Om uppdateringen är tidsmässigt felplanerad, kan tillgång till information eller resurser äventyras. Om ett stort antal datasystem måste uppdateras kan det bli tidsperioder då en del system inte har rätt versioner av uppdateringar samtidigt, vilket innebär att de då inte är kompatibla t.ex. i en databas- och applikationsservermiljö. Uppdateringen kan introducera nya sårbarheter.
Genomförande Organisationen behöver fastställa en strategi för hanteringen av uppdateringar, vilket skapar ett ramverk för proceduren. Informationskällor: Det är viktigt att hitta och bevaka källor till information om säkerhetsproblem och mjukvaruuppdateringar. Dessa består vanligen av hemsidor och e-postlistor. Vidare har organisationen ofta möjlighet att prenumerera på tillverkares utskick av uppdateringar. Vissa tillverkare brukar även erbjuda specifika verktyg som bevakar de egna systemens tillstånd, i förhållande till presenterade uppdateringar. Vid bevakning av e-postlistor brukar organisationen vanligen få meddelanden om nya programrättningar när de väl finns tillgängliga. Webbsidor varierar mer i kvalitet vad gäller annonseringen av programrättningar, vissa presenterar förhållandevis inaktuell information till skillnad från andra som förändras flera gånger per dag. Utvärdera nya uppdateringar: En organisations hantering av programrättningar inbegriper avvägningar. Kostnaderna i arbetstid och systemavbrott i samband med uppdatering av system ska jämföras med risken att systemen inte är uppdaterade. Vad är riskerna vid en uppdatering av systemet? Vad är riskerna om systemet inte uppdateras? Det krävs en utvärdering av programrättningar för att avgöra om de kommer att korrigera de problem som ska åtgärdas. Det finns en risk att en programrättning för ett problem kan skapa ett annat problem. Om uppdateringar prövas på ett isolerat testsystem innan de implementeras på produktionssystem, ges en möjlighet att upptäcka eventuella problem innan de påverkar verksamheten. Organisationen har därmed möjlighet att genomföra ett antal prestandatester och utvärdera resultaten inför den riktiga installationen. Planering av installation: Checklista vid installation: Är alla som ska informeras informerade? Är dokumentationen relevant och aktuell? Är systemen säkrade för att förhindra åtkomst via nätverk?
Vad ska uppdateras? I vilken ordning ska systemen uppdateras? I vilken ordning ska uppdateringarna installeras? Hur verifieras den önskade nivån? Installationsförfarande: Det är viktigt att alltid ta en säkerhetskopia på systemen innan de uppdateras. Informera användare att systemen inte är tillgängliga under installationen. Se till att systemen är säkrade under installationen. T.ex. genom att förhindra nätverksaccess till systemen, eftersom de bl.a. skulle kunna nyttjas av någon som har missat informationen. Se till att andra program/tjänster som kan påverkas av installationen är avstängda. Verifiera att installationen har fått önskat resultat. Om det är möjligt, starta om systemen även om programfixen inte kräver det. Detta för att fastställa att systemen fungerar tillfredställande. Gör återigen systemen tillgängliga för användare. Dokumentera systemnivåer: Det är viktigt att skapa någon form av dokumentation på systemens innehåll och nivåer; operativsystem, programvaror, säkerhetsnivåer samt nivåer på systemuppdateringar och programrättningar. Denna ska revideras vid förändringar på systemen. I stora system kan det vara lämpligt att använda applikationer som underlättar hanteringen av dokumentationen. Organisatoriska aspekter Det är viktigt att upprätthålla en dokumentation över de egna systemens uppdateringsnivå och underhållsstatus. Även kända hot mot de system som inte är uppdaterade bör dokumenteras. Etablera en process som är anpassad efter resurser i form av kompetens, personaltillgång och önskad systemtillgänglighet. Inrätta en kedja med ansvar och befogenheter över system och dess tillgänglighet.
Klassificera systemen efter en skala, t.ex. beroenden, känslighet och behov. De system som har beroenden bör grupperas tillsammans för att det ska kunna verifieras att uppdateringen fungerar genom hela kedjan. Andra sorteringar kan vara baserade på hur pass känslig information som hanteras eller behovet av ett systems tillgänglighet. Efter att organisationen klassificerat sina system framkommer vilka som kan uppdateras och startas om på dagtid utan att det stör produktionen, samt vilka som måste uppdateras på kvällstid eller helger. Försöka förutse olika scenarion (vilka kan vara styrda av organisationen) vid uppdateringar. T.ex.: Katastrofscenario Hur skyddar sig organisationen? Hur återställer organisationen system om någonting går fel? Vilka ska kontaktas? Vilka är ansvariga och för vad är de ansvariga? Hur kan det förhindras i framtiden? Nyinstallation av program/operativsystem: När nya system installeras är det vanligt förekommande att programvaror eller operativsystem saknar de senaste uppdateringarna, eftersom mediet ofta är äldre. Praxis är att ladda ner dessa från tillverkarens hemsida. Det är viktigt att installera de uppdateringar som krävs enligt organisationens policy. Tumregeln är att installera de senaste versionerna av drivrutiner till hårdvaran. Dessa brukar uppdatera prestanda och säkerhetsproblem samt eventuellt tillföra nya funktioner hos hårdvaran. Framtida utvecklingsmöjligheter Det finns i dagsläget en ganska stor frustration över systemuppdateringar och därtill relaterade frågor. Det förekommer ofta svårigheter med att uppdatera system och bibehålla dem på en nivå som täcker de flesta sårbarheter. I vissa fall måste det göras avkall på vissa kriterier för att upprätthålla systemen på en någorlunda tillfredställande nivå. Det finns en utvecklingspotential i att försöka automatisera den praktiska hanteringen och vidare att säkerställa de automatuppdateringar som sker över
internet. Det är eftersträvansvärt att administrera system som är automatiskt uppdaterade, utan omstarter. Förklaringar patch: servicepack: upgrade: programrättning - åtgärdar ett fåtal fel i program systemuppdatering - åtgärdar ett flertal fel i program (innehåller flera programfixar) uppgradering - en ny version av produkten som tillför ytterligare funktionalitet Referenser 1 Keep operating systems and applications software up to date. [Elektronisk] CERT Coordination Center. Tillgänglig: <http://www.cert.org/security-improvement/practices/p067.html>. [031205] 2 Ulfelder, Steve (2002). Practical patch management. [Elektronisk] Network World. Tillgänglig: <http://www.nwfusion.com/supp/security2/patch.html>. [031205] Bilagor Ingår ej. Versionshistorik 1 031205 - Dokumentet skapat. 2 041020 - Ändrade förekomsterna av ordet programfix till programrättning.