Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Whitepapers
  • Opret bruger
  • Log ind
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?
Se kommentarer (11)
Emner Mac OS X, Styresystemer

Sådan crasher du dine Mac-programmer med 8 tastetryk

En tilsyneladende tilforladelig tekststreng viser sig at kunne crashe så godt som alle programmer i den nyeste udgave af Mac OS X. Se her, hvordan det går til.

Af Mikkel Meister Mandag, 4. februar 2013 - 10:39

En pudsig fejl ser ud til at plage mange af de programmer, der kører på den nyeste aftapning af Apples Mac OS X-platform. Det skriver The Next Web.

Ifølge mediet crasher programmerne med et brag, hvis man skriver tekststrengen 'File:///' ind i et tekstfelt. Det kan for eksempel være adresse-feltet i browseren Safari.

Version2 har efterprøvet påstanden, og det virker glimrende, om man så må sige. Vi har uden videre kunnet lægge Safari og den indbyggede chatklient Messages ned ved blot at indtaste strengen.

Av! Sådan gik det, da Version2 indtastede tekststrengen i chatklienten Messages og trykkede enter. (Skærmbillede)

Ifølge The Next Web findes fejlen dog kun i den nye Mac OS X Mountain Lion, og ikke i forgængerne Lion og Snow Leopard.

En bruger på HackerNews hævder, at tekststrengen endda kan crashe styresystemets indbyggede fejlrapporteringsværktøj.

Du kan læse mere om historien hos The Next Web.

Hvis du selv vil efterprøve påstanden, så husk af skrive tekststrengen med stort 'F' og uden citationstegnene. Fejlen er indrapporteret til Apple.

Via: The Next Web
Send Tweet
Udskriv

Omtalte virksomheder

Apple

Udgivet 20. jan 2012 13.14Opdateret 20. jan 2012 13.14
LokationKøbenhavn K

Mere om Styresystemer

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg dette emne

Vil virus og ustabilitet til livs: Rumstation skrotter Windows til fordel for Linux

Udgivet 10. maj 11.45Opdateret 10. maj 11.45

Facebook: Nu har vi lige så meget kode som Windows

Udgivet 2. maj 13.21Opdateret 3. maj 8.47

Verdens mest stabile Windows-pc er en Mac

Udgivet 29. apr 13.59Opdateret 29. apr 13.59

Ny Ubuntu Linux er hurtigere, men uden de lovede forbedringer

Udgivet 25. apr 15.02Opdateret 25. apr 15.02

IT-job & karriere

  • Se alle it-job
  • Importer din kompetenceprofil fra LinkedIn
Sektionsleder Regionale projekter og Forvaltning til OUH Odense Universitetshospital og Svendborg Sygehus
Udgivet 17. maj 15.17
Forretningsanalytiker til informationsarkitektur
Udgivet 4. mar 14.44
IT development graduates
Udgivet 16. jan 19.50
Udvikler til platformsudvikling
Udgivet 23. apr 14.34

Kommentarer (11)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Peter Johan Bruuns billede
Peter Johan Bruun 4. feb. 2013 - 11.33
 
Har lige selv prøvet...

Det virker upåklageligt og meget sikkert :O)

  • Stem op 1
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Martin Nielsens billede
Martin Nielsen 4. feb. 2013 - 12.48
 
Crashing

Jeg har lige testet dette på min mac med ML. Og der sker ikke noget, den åbner bare stien og viser mig harddisken og netværket.

  • Stem op 0
  • Stem ned 1
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Henrik Mikael Kristensen 4. feb. 2013 - 13.16
 
Re: Crashing

Husk at starte med stort 'F'. Fejlen kan fremkaldes her.

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Jesper Ørsted 4. feb. 2013 - 14.37
 
Virker ikke på min mac

MacBook Pro mid 2009 15" 2,66GHz med MacOS 10.8.2 crasher ikke når jeg skriver de 8 bogstaver i Safaris adressefelt.

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Jakob Damkjær 4. feb. 2013 - 18.23
 
Og så lidt faktisk info

Istedet for "see applikationen crasher hvis vi gør det her man ellers aldrig gør - HAHAHA"

http://www.macworld.com/article/2027007/url-detection-flaw-causes-os-x-a...

Det er en sikkerhedsfeature der validere URLer inden de parses fra data detectors... Hvis valideringen ikke finder at URLen er valid (eller et forsøg på en bufferoverflow) lukkes den App der har forsøgt at parse URLen.

Måske en let overreaktion men fordi det er Mac OS X der lukker for Appen men det gør at det her er ikke en exploitable buffer overrflow det er mere i stil med at man lukker øjnene når man nyser pga birkeallergi hvis man går under et blomstrende birketræ..

En utilsigtet effekt men heldigvis ikke akut blindhed...

Formentligt en sideeffekt af at Apple for et par år siden lukkede for et muligt overflow i data detectors med mystiske unikode tegn... I retrospekt lidt for effektivt men åbentbart en sjælden nok forekommende fejl til at det ikke er belevet opdaget før nu.

  • Stem op 1
  • Stem ned 6
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Kim Henriksen 4. feb. 2013 - 23.00
 
window.location = "File:///"

så hvis man laver noget javascript der redirecter browseren til File:/// så dør baby ?

  • Stem op 3
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Uffe Seerup 4. feb. 2013 - 23.57
 
Re: Og så lidt faktisk info

> Det er en sikkerhedsfeature der validere URLer inden de parses fra data detectors... Hvis valideringen ikke finder at URLen er valid (eller et forsøg på en bufferoverflow) lukkes den App der har forsøgt at parse URLen.

Ja. Og det er problemet. Hvorfor har en library funktion en "assert" som hårdt afslutter applikationen uden at brugeren får mulighed for at gemme sine data?

En assert som hårdt afslutter processen er en ret voldsom måde at reagere på forkert bruger input. Normalt vil man reservere hårde procesafslutninger til situationer hvor der er grund til at tro a arbejdshukommelsen er i en ukendt og ustabil tilstand (memory corruption). Dette er imidlertid ikke en memory corruption bug.

I et højniveau sprog som fx. Java, C#, Ruby eller Python ville man håndtere sådan en situation med en exception: Det er ikke korrekt at fortsætte men der er ikke grund til at smide alt på gulvet. En exception giver kalderen mulighed for at håndtere situationen med at komme på benene igen.

Problemet er, at Unix arkitekturen (i modsærning til Windows) IKKE har OS understøttet structured exception handling (SEH). Der er kun returkoder og terminering af processen. Der er også mulighed for at benytte signals, men disse er både meget grovkornede og heller ikke strukturerede på en måde så "senderen" kan forvente at kalderen enten håndterer situationen eller bliver termineret.

I den konkrete situation har udvikleren af API'et altså skulle vælge hvad der skal gøres når en validering typer på et sikkerhedsproblem (men ikke memory corruption). Hvis han brugte en returkode er der ikke sikkerhed for at kalderen faktisk opdager problemet, hvilket kan lede til et sikkerhedsproblem. Hvis han brugte en "assert" så risikerer brugere tab af data men funktionen kan så garantere at malformet URIs ikke slipper igennem. I mangel på exception handling som ikke kan bruges når det er en funktion som skal udstilles så den kan bruges fra C, Objektive-C mm fordi OS'et ikke understøtter dette, så har Apple altså valgt at risikere brugernes data.

  • Stem op 1
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Jakob Damkjær 5. feb. 2013 - 05.45
 
Re: Og så lidt faktisk info

"En assert som hårdt afslutter processen er en ret voldsom måde at reagere på forkert bruger input. Normalt vil man reservere hårde procesafslutninger til situationer hvor der er grund til at tro a arbejdshukommelsen er i en ukendt og ustabil tilstand (memory corruption)."

Eller at der er en auto detekteret URL string der ikke lever op til at være valid. Noget der også børe resultere i processafslutning med extreme prejudice.

At sikkerheden er priotereret over brugervenligheden (som også er tilfældet med de seneste "NEJ du kan IKKE benytte java, punktum") og når der er en real risici mener jeg det er bedre at være på den sikre side.. Specielt når OSet har system vide versionsstyring og autosafe APIer der gør at applikationer kan genstarte uden datatab, noget der også sikre brugerene mod datatab fra andre kilder (strømsvigt, meteornedslag osv osv)... At det her så er en bug og at Apple måske skulle begrænse scopet af Datadetectors (kan ikke lige se hvorfor de skal benyttes i et URL felt fx ;) er hvad det er og noget der bliver fikset så snart Apple har fundet en måde at gøre det der ikke kan udnyttes som et sikkerhedshul...

  • Stem op 0
  • Stem ned 6
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Uffe Seerup 5. feb. 2013 - 07.49
 
Re: Og så lidt faktisk info

"Eller at der er en auto detekteret URL string der ikke lever op til at være valid. Noget der også børe resultere i processafslutning med extreme prejudice."

At bruger input ikke er valid bør ALDRIG lede til at processen termineres. Det er ukarakteristisk dårlig stil. En proces bør kun afsluttes når videre afvikling ikke kan forsvares. I et veldesignet operativ system/applikation er det kun når der er indikation på memory corruption.

Når en funktion opdager en indikation på at noget ikke er som det skal være (men ikke memory corruption) bør der kun meldes fejl. Hvis der er tale om et muligt sikkerhedsproblem bør funktionen melde fejl på en måde som garanterer at kalderen ikke kan fortsætte uanfægtet og er nødt til at håndtere fejlen. Her er en returkode ikke nok.

Det korrekte her vil være at kaste en exception. Det garanterer at program flowet ikke kan fortsætte, men det giver også kalderen mulighed for at finde et sted at kompensere og bringe applikationen ind i en kendt tilstand igen. I dette tilfælde kunne en fejlmeddelelse være i orden. Så ville du have fået en fejlmeddelelse efter det 3. / men ville stadig kunne taste og ændre URIen til en valid URI.

Men OS X mangler støtte for structured exception handling. Hvert enkelt programmeringssprog der benyttes kan have sin egen interne exception handling (fx C++). Men på tværs af API'er exceptions ikke benyttes fordi der ikke er nogen OS defineret måde at registrere handlere og kaste exceptions.

Programmøren har I dette tilfælde valgt at risikere brugerens data hellere end applikationens sikkerhed. Det er måske et ok valg når der ikke er bedre alternativer. Under et mere avanceret operativsystem havde han ikke behøvet at foretage det valg.

  • Stem op 5
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Brian Søborg Mathiasen 5. feb. 2013 - 09.53
 
Re: Og så lidt faktisk info

Eller at der er en auto detekteret URL string der ikke lever op til at være valid. Noget der også børe resultere i processafslutning med extreme prejudice.


"Kære bruger, strengen du har indtastet er desværre ikke gyldig.

[OK]"

  • Stem op 2
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Thomas Bundgaard 5. feb. 2013 - 10.04
 
Re: Og så lidt faktisk info

"Kære bruger, strengen du har indtastet er desværre ikke gyldig. [OK]"

Du må være blevet vanvittig. Simpel validering hører da ingen steder hjemme i et moderne OS som OSX! Enhver ved da, at det er langt sejere, når et program crasher. Så kan man jo føle sig lidt som en 1337-hacker, når man crasher sidemandens Safari.

  • Stem op 2
  • Stem ned 1
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

Politiken lancerer online-betalingsmur: Hullet som en si

Udgivet 22. maj 17.28Opdateret 22. maj 17.41

Chefredaktør om hullet betalingsmur: »Vi er fuldstændigt klar over, at det kan omgås«

Udgivet 22. maj 17.26Opdateret 22. maj 17.43

Firefox vil blokere cookies som standard - men teknikken driller

Udgivet 22. maj 15.49Opdateret 22. maj 15.49

40.000 digitale afgangsprøver blev rettet automatisk i år

Udgivet 22. maj 14.50Opdateret 22. maj 14.50

CSC indgår millionforlig i sag om regnskabssvindel

Udgivet 22. maj 13.34Opdateret 22. maj 13.34

Flere it-nyheder »

Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Whitepapers

Version2 Insight: Softwaretest

Mediehuset Ingeniøren

Mobile Test Service - Device & Test Coverage

Testhuset

Succes historier om OPS – Optimized Print Services

Konica Minolta Business Solutions Denmark

OPS - Optimized Print Services

Konica Minolta Business Solutions Denmark

Mobile Test Service - Device Strategy & Planning

Testhuset
  • Flere whitepapers

Branchenyheder

Lyncs stormløb - høje ambitioner og køb af Skype

GlobalConnect

Redpill Linpro hjælper kunderne ud af IBM Notes' databaser

Redpill Linpro

VP SECURITIES skaber overblik over kunderne med ny Microsoft CRM løsning

ProActive

Johan Ekelund som Business Advisor og Project Manager hos Affecto Denmark A/S

Affecto Denmark

Kom ajour med Windows Azure

ProActive

It-virksomheder

Inventio.it
|
Humac Pro
|
Greener Pastures
|
Incube
|
Esec
|
Propeople
|
BusinessMann
|
IBM Danmark
|
SMSnu.dk
|
Atomic Software ApS
|
Timelog
|
Halibut
 

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Cookie- & privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Business Intelligence
  • Cloud computing
  • Intranet
  • It-sikkerhed
  • NemID
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu
  • Virtualisering
  • Windows 8
  • Windows Server 2012
  • iOS 6
  • iPhone 5

Tjenester

  • iPhone-app
  • RSS-feeds
Følg @version2dk
Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Trekronergade 26 2500 Valby
  • Tlf. work 33265300