Ingen closed source skype på min Linuxbox

Open source kode giver ingen garanti for koden er fri for sikkerhed-fejl, bagdøre mv. men det er svært at holde det hemmeligt.
Jeg faldt over denne tråd på Skype forum-siden. Fest og farver. Skype til Linux har snablen nede at alt for mange bruger-filer og endda /etc/passwd.
Der er mere diskussion hos EktraBla^H^H ... Slashdot.

Det giver vist ikke ret meget mening, så mit spørgsmål er. Giver du Skype lov til at snage i dine personlige filer på din Linux-box?

Om det her er en and eller ej er reelt ligegyldigt, men det rejser en generel og tricky diskussion om closed source kode, for mange af os henter closed source nVidia-drivere - mere eller mindre underlige WLAN-drivere osv. Hvad accepterer I?

Jeps - til jer få Skype på Windows-brugere der ude. Jeres BIOS og motherboard-information er nok allerede sendt afsted...

P.S. /etc/shadow er en god ting :)

P.P.S. Jeg fik denne URL på IRC-kanalen #sslug (på EFNet), som går i dybden med Skype. At læse... Tak til ahf!

/pto

Kommentarer (12)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Morten Olsen

Peter, hvis du havde læst slashdot diskussionen, så ville du være blevet gjort opmærksom på at det er bunk. /etc/password bliver læst af alle programmer der har brug for gecos info eller noget så simpelt som et brugernavn, hvis man fx. kalder getpwnam. Osv.osv. Nothing to see here people, please move along.

  • 0
  • 0
Sune Vuorela

Mener du Sun Java?
Flash?

Eller mener du kun de her ting som du nevner WLAN-drivere (madwifi, ipw3945, ...) og nvidia/ati drivere.

Eller hvad med sådan noget som ndiswrapper som loader windowsdrivere?

/Sune

  • 0
  • 0
Peter Toft

I laver ligesom jeg hver dag en afgrænsning for hvad I tillader på jeres maskiner. Programmer, som stammer fra f.eks. Gentoos repository eller Debians arkiver tænker I og jeg sikkert ikke meget over. Men hvor går grænsen for hvad I tillader på jeres maskiner?
Det er vel typisk en afvejning af kildens (software-producentens) "troværdighed" versus funktionalitet.
Flash og (indtil videre nu-nu-nu-nu-snart-helt-åben) Java er også væsentlige at diskutere i samme kontekst.

  • 0
  • 0
Anonym

(Har lige brugt Skype i et par timer i aften.)

Et ærligt svar til dit spørgsmål: Nej, ikke på de harddiske med værdifulde data, men JA på harddiske (og usb flash pens) med sw uden betydning og derfor kan genskabes i et snap.

Hvis det nu skulle være, så kan den vel pakkes ind i et Virtuelt miljø for således blot det virtuelle miljø kan lukkes med et klik???

Med venlig hilsen

  • 0
  • 0
Flemming Sørensen

Det er ikke andet end pingvin propaganda.

"It's the general level of clueless outrage that concerns me. There was once a time when people would stay quiet if they didn't understand the subject being discussed, or at least ask for help. These days any idiot can post rightous indignation on a blog or mailing list and expect people to fall at their feet"

  • 0
  • 0
Andreas Bach Aaen

Jeg holder mig fra Skype af flere årsager. Først og fremmest fordi man alt for nemt bliver leverandørlåst med deres lukkede udvekslingsformat. Jeg holder mig til SIP standarden i stedet. Her finder jeg en underskov af telefonileverandører samt en del forskellige hardwareleverandører.
Sekundært bryder jeg mig ikke om closed source programmer, da de ofte er begrænsede til bestemte hardware og software platforme. Jo flere programmer man har af den slags jo mere fastlåst bliver ens muligheder for selv at styre ens opgraderingsstrategi.
Hermed selvfølgelig ikke sagt, at man skal holde sig fra at købe software. Man skal blot være kritisk og kende de begrænsninger man påfører sig.

  • 0
  • 0
Jens Madsen

Jeg er uening i, at der er nogen garanti mod fejl, mangler, virus, spam, spywere, bagdøre, og alt andet godt, fordi det er open source. Hvis man får dokumentation med, for hver eneste rutine, og procedure, og at disse er dokumenteret ordentligt - samt hvis de ikke er et megaprojekt, så er sandsynligt at fejl opdages. Men, ofte er det som fås, en gigabyte stor svindsk samling af spam, og det er ingen der opdager en velskjult bagdør. Open Source, giver falsk garanti. Det svarer lidt til, at du køber et advanceret produkt, og når du spørger efter garanti, får du at vide at du kan da bare selv indspicere produktet atom for atom. Så mange linier er open source. Og det siger sig selv, at opgaven er utålelig, og umulig. Faktum er, at der ikke er nogen garanti, fordi at det ikke fungere.

Når man bygger software - eller alt andet - er der meget god grund, til den "lukkede" source. Årsagen ligger i, at man ikke kopierer fejlene fra andre. Du må i princippet ikke tage open source, hvis ikke denne er godkendt. Og det skal meget til, for at kode kan godkendes. Det er ikke bare at sætte et blåt stempel på, og købe en frakke med et par striber.

Noget af det væsentlige, er f.eks. at et program svarer. For at kræve det, kræves at enhver del svarer. Og dette kræver, at det er obligatorisk for enhver del, at have svartid. Denne skal garanteres. Findes ikke nogen design specifikationer, der angiver svar tid og hvilke parametre denne er afhængig af, er der set fra et teoretisk synspunkt ikke nogen svartid, og der kommer intet ud. Software skal - som hardware - konstrueres udfra designspecifikationer, og det betyder, at når du bruger en komponent, skal du have alle de oplysninger som er nødvendigt, for at bruge komponenten - og at kunne garantere din egen komponent fungerer. For at kunne det, bliver du nød til at kende svartiderne for de komponenter du bruger, da du ellers ikke kan garantere svartiden for dit produkt. Og dermed, har det ingen svar. Det samme gælder enhver anden resource, som ramlager, harddisk, osv. Det skal specificeres i datablade for komponenterne. Og ellers eksisterer det ikke nogen garanti, for det pågældende. Tingene stykkes sammen efter garantier, og ikke efter tilfældige opdagede størrelser. Og det er meget vigtigt, at man skal kunne læse sådanne datablade for komponenterne - uden koden. For hvis du skal have koden med, er opgaven totalt uoverskuelig. En elektrikker vil ikke have "koden" for stikkontakten, og et diagram over dens sammensætning atom for atom. Det er særdeles ubrugeligt for ham, trods atomfysikkere kan påstå, at man udfra et sådant diagram jo godt kan udregne strømstyrke, og spænding, samt om kontakten fungerer. Det er den type spam, man udsættes for i software kredse. Man har ikke lært, at dokumentere sine ting, således at dokumentationen afskærer fra de nedstående dele, og dermed muliggør, at man ikke behøver at vide andet end de nødvendige dele, for det pågældende niveau. I stedet, giver man "koden fri", og siger at du kan jo bare selv indspicere det.

Det væsentlige er derfor ikke open source. Det fungerer simpelthen ikke. Det fører kun til, at man stjæler "ulovligt" fra andre, og tager noget kode, der ikke er garantier for. Hvem skal stille garantien for andres kode? Det kan som oftest ingen. Der foreligger ikke nødvendige data, som muliggør at koden kan bruges som black-box.

Open source, er ikke black-box orienteret. Og du får ikke garantier. Kommercielt software, er black-box orienteret. Til gengæld, har du krav på de data du behøver, samt at producenten står inde for, at de opfyldes.

Desvære ser det sådan ud, at indenfor software branchen, står producenterne ikke inde for spor. Og de forstår ikke, at dokumentere deres rutiner, og objekter som black box, således at man kan bruge denne dokumentation, og såvel kende funktion, som med dokumentationen i hånden kan garantere at produktet svarer indenfor en planlagt tid. Typisk vil produktet aldrig svare, for det er ingen garanti for hvor når, og hvis det først er om 1000 år, er det så godt som aldrig. Ikke engang store O funktionen er oftest med.

Konklussionen er, at fordi kommercielt software ikke fungerer - og fordi, at man indenfor dette felt ikke er i stand til at udarbejde black-box dokumentation, så er open source godt.

Men, indenfor alt andet, er black-box dokumentation det som bruges, og årsagen til, at store projekter kan håndteres. Ingen vil syntes at noget er advanceret, når det er pakket ind, og du ikke kender den underlæggende source. Så har du bare dataene. Og de skal være gode, for at komponenten kan bruges. Det er altid nødvendigt, at dokumentere enhver form for resourceforbrug, da forbruget ellers er uendelig. Dette mangler oftest også, eller oplysningerne gives uden ansvar, og er forkert.

Indenfor HW, bruger vi black-box dokumentation. Og tingene fungerer. Der er garanti på komponenterne, og de er tilstrækkelig dokumenteret, til at du kan lave noget med komponenterne, og udfra design specifikationerne, lave specifikationer for dit eget, så det også kan bruges. Selv hvis software bruges indenfor hardware, gælder sådanne krav.

Black-box teori, og top-down, er det som skaber underværker.

  • 0
  • 0
Kristian Rasmussen

men heldigvis er det meste åbne software inspiceret af en pæn håndfuld mennesker, og derfor skal man skal være temmelig både dygtig og heldig for at formå at skjule en bagdør i et stykke åbent software. Jeg tør i hvert fald godt stole på at de fritidsprogrammører der har kigget det software igennem ikke har overset for meget, og det i hvert fald i langt højere grad end et firma som Skype, uanset hvilke garantier der følger med deres software.

  • 0
  • 0
Jan Keller Catalan

Jeg må indrømme, at du forvirrer mig voldsomt, Jens Madsen. Du siger, som jeg læser det, at blackbox udvikling giver garantier, som open source ikke gør, fordi open source kun handler om at kopiere fejl og stjæle "ulovligt" fra andre.

Hvor i alverden kommer det dog fra? Eller læser jeg det helt forkert?

Hvis du køber en ydelse fra et firma, som baserer deres løsning på open source, så er det firmaet, som skal stå inde for de garantier, som køberen stiller krav om - eller køber må gå et andet sted hen.
At sådanne garantier ikke er helt almindelige i software i forhold til hardware branchen er en helt forskellig ting.

Jeg kan godt kræve en garanti fra Skype om, at deres kode ikke laver ting og sager, den ikke bør - men hvordan kan jeg sikre mig, at den bliver overholdt? Hvis det er open source kan jeg både stille krav om garanti OG tjekke (eller købe et tjek hos en tredjepart) hvorvidt den holder vand.

Der findes desuden absolut eksempler på dårligt dokumenteret kode, men det er da en gennemgående idé at lave kode med interfaces, som er black box'ede - såvidt jeg ved har Java hidtil været en sådan - hvor man kun ved, hvad man giver til en funktion og hvad man får tilbage. Open source giver bare mulighed for at tjekke, hvis ikke man stoler på leverandøren - den mulighed har closed source købere ikke.

  • 0
  • 0
Jens Madsen

Jeg tror sagtens, at man nemt kan skjule en veltillrettelagt bagdør i open source. Hvis du f.eks. laver et smartcard i open source, og giver "hackerne" adgang til maskinkoden, er stor sandsynlighed for, at de vil kunne bruge det, til at analysere støj fra kredsen, og derudfra bryde koden. Løkker, har en bestemt frekvens, som kan detekteres med en "spole", og det behøver ikke at være spor synligt, at noget kan læses ud. Ofte, kan du tage et vilkårligt program og bruge - hver del af koden, vil have sin egen "støj". Men, hjælper man lidt til, går det endog endnu nemmere, og du har reelt tilføjet en bagdør. Kun de færreste opdager det. Funktionsmæssigt behøver ikke at være noget synligt.

Alle programmeringssprog tilstræber black-box idéen, f.eks. med interfaces - manglen ligger normalt kun i dokumentationen. At lave en header er ikke dokumentation nok.

Det er sjældent, at jeg ser dokumentation, som f.eks. beskriver resourcerne som bruges, og f.eks. dokuementerer forsinkelser, hvad de afhænger af (store O funktionen). Selv mange C compilere, glemmer at beskrive kompleksiteten af operationerne, og de glemmer måske også at beskrive, hvor mange indstruktioner der gennemløbes, så det kan bruges ved en strømberegning for programmet. Compilerne gør det ikke bedre, ved at ikke kunne verificere oplysningerne.

Open source behøver ikke at have nogen ulemper, hvis det er godt dokumenteret, og hvis det fungerer. Men, da man ofte sætter flere programmører til at løse en opgave, for at sikre sig den løses korrekt, og her antages uafhængighed. Muligheden for at se fælles oplysninger på nettet - herunder open source, en fejlrisiko, da den bryder med uafhængighed. Bruger de en fælles komponent, som de har "stjålet", vil begge have samme fejl, og når man kører de to programmer samtidigt for at se om der er fejl, vil de oftest fejle begge samtidigt. Open source, er derfor "lidt" destruktiv, for pålidelig software, hvor man sætter flere programmørers komponenter til at rette og fejlrette hinanden run-time. Her må koden ikke være ens, da det så måske er taget fra samme fejlkilde.

Åbne standarder - som f.eks. SIP - der giver mulighed for flere producenter, giver en væsentlig større sikkerhed ens Skype. Skype er dog begyndt at blive tilbudt af flere - men indeni er programmet det samme. Og det betyder, de har samme fejl. Jeg foretrækker derfor også SIP.

Det største problem - som jeg ser det - er ikke open souce. Men, at compilerne (og sprogene) er ubrugelige.

  • 0
  • 0
Log ind eller Opret konto for at kommentere