Firefox 3.6: Stabilitet og sikkerhed med plugins

Af Jesper Kristensen, 15-12-2009 22:32

Som lovet, vil jeg fortælle lidt mere om nyhederne i Firefox 3.6. Denne gang handler det om plugins. Plugins er en utrolig vigtig del af webben, hvilket irriterer mig at sige, da jeg hader dem som pesten. Men sandheden er, at uden Flash, Java, en PDF-læser og en videoafspiller, er der alt for mange hjemmesider, der står af.

Mozilla gør meget for at rette op på det problem med indbygget understøttelse af Ogg Theora video, Ogg Vorbis lyd, hardwareaccelereret 3D-grafik med WebGL, brugbare filuploads og en masse andre nyheder, som førhen var henvist til plugin-land. Men så længe hjemmesiderne stadig bruger plugin-teknologierne, er vi som brugere stadig nødt til at have de sataner installeret.

En vigtig ting med software og sikkerhed, og især software som interagerer med internettet, er, at softwaren holdes opdateret konstant med sikkerhedsopdateringer. Firefox er ret sikker i denne sammenhæng, da den automatisk søger efter opdateringer en gang i døgnet og henter og installerer dem automatisk uden at indblande brugeren. Man ser som regel først en Firefoxopdatering efter den er installeret, når en startside popper op med beskeden "Firefox er opdateret".

Men situationen er langt fra lige så god når det gælder plugins. Mange plugins har enten ingen automatisk opdatering, de opdaterer meget sjældent, eller processen er måske kun delvist automatiseret, hvor man skal klikke på "Næste" en hel masse gange med lang ventetid imellem. Det gør at man måske ikke altid lige har sine plugins opdateret, men her kan Firefox 3.6 hjælpe. Den kontrollerer nemlig selv om dine plugins er up-to-date, eller om de indeholder alvorlige sikkerhedshulder, som kompromitterer din sikkerhed online, endda selvom din Firefox er fuldt opdateret. Finder Firefox 3.6 et usikkert plugin, giver den dig besked, så du kan få det opdateret. Den kan desværre ikke opdatere pluginnet automatisk, da det ville kræve en del hjælp fra pluginnet selv. Sidder du med Firefox 3.5 eller ældre, kan du alligevel allerede tjekke om dine plugins er opdaterede på Mozillas Plugin Check side.

Et andet problem Firefoxudviklerne har set på i 3.6 er stabilitet. Man er gået hårdt til værks i forsøget på at finde og rette så mange fejl i Firefox som muligt, der kunne få Firefox til at gå ned. Desværre viser statistikken dog, at over en tredjedel af alle Firefoxnedbrud ikke skyldes Firefox, men derimod direkte skyldes programmer, der forsøger at interagere med Firefox, som fx tilføjelser eller plugins. Hvis man kunne lave en mede detaljeret statistik og finde de nedbrud som indirekte skyldes andre programmer, ville tallet sikkert være meget højere.

Derfor har Firefox 3.6 to nyheder på denne front. Den ene er at et smuthul til at installere udvidelser til Firefox er lukket. Normalt installeres udvidelser af brugeren eller af et program ved at skrive i en bestemt konfigurationsfil i Linux eller i registreringsdatabasen i Windows. En anden mulighed var før Firefox 3.6 at lægge en dll-fil i Firefox' installationsmappe. Når Firefox startede og skulle indlæse alle sine forskellige komponenter, indlæste den bare alle dll-filer i installationsmappen, da det var nemmest. Men visse programmer, der gerne ville installere udvidelser til Firefox sammen med installationen af programmerne selv, syntes det var smart at installere sine udvidelser, ved at placere sine dll-filer blandt Firefox' egne filer. Sådan har Skype, Google Desktop og diverse antivirusprogrammer fx gjort, når de ville integrere deres funktionalitet med Firefox.

Der er dog nogle problemer med denne installationsmetode. For det første kan brugeren ikke se at udvidelsen er installeret i menuen Funktioner -> Tilføjelser, og udvidelsen kan heller ikke deaktiveres, hvis noget går galt - ikke engang i fejlsikret tilstand. For det andet indeholder denne installationsform ikke kompatibilitetsinformation som almindelige installationer gør. Det betyder at hvis Firefox opdateres og udvidelsen ikke længere er kompatibel med den nye version, så vil Firefox ikke kunne starte. Ved almindelige udvidelser  deaktiveres udvidelsen indtil en opdatering er klar. Smuthullet er rettet i Firefox 3.6, således at dll-filer i installationsmappen kun indlæses, hvis de er på en speciel godkendt liste over dll-filer i Firefox. Det vil forhåbentligt komme en del af problemerne til livs med antivirusprogrammer, Skype, Google Desktop og andre programmer, der får Firefox til at gå ned. Det betyder også at alle programmer der har benyttet denne teknik med at proppe dll-filer ind i Firefox, nu skal opdateres til at bruge almindelige Firefoxudvidelser, hvis de skal virke i Firefox 3.6.

Og hvis det ikke skulle være nok, så indeholder Firefox 3.6 også en mulighed for at blokere for specifikke fejlbehæftede dll-filer, også selvom de indlæses via en normal og korrekt installeret udvidelse. Sammen med påmindelsen om at opdatere plugins skulle det forhåbentligt give en meget mere stabil Firefox 3.6.

Men det stopper ikke i Firefox 3.6. Mozilla er også i gang med at implementere separering af faneblade og plugins i processer. Separate plugins kommer forhåbentligt i Firefox 3.7, mens separate faneblade må vente noget længere. Men set i lyset af at en tredjedel af nedbrudene kommer fra tredjepartssoftware, vil separering af plugins alene nok betyde en del.