Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 31 reacties
Submitter: merlijn85

Gebruikers van de Linux-versie van Skype werden onaangenaam verrast toen bleek dat de software tijdens het gebruik systeembestanden uitleest. De software blijkt echter niets onbehoorlijks te doen.

Skype logoUit veiligheidsoverwegingen wikkelde een bezoeker van de Skype-fora de closedsourceapplicatie in AppArmor, een softwarepakket dat de schijfactiviteit van programma's in de gaten kan houden en, indien gewenst, kan limiteren. Skype bleek daarbij onder andere het bestand /etc/passwd en de gebruikersprofielen met ge´nstalleerde extensies van Firefox te lezen.

De broncode voor het VoIP-programma is niet vrij beschikbaar, wat sommige gebruikers een doorn in het oog is. De wetenschap dat het programma ook nog eens privacygevoelige bestanden leest, deed een storm van verontwaardiging opsteken.

Uiteindelijk bleek dit een storm in een glas water te zijn. Een Skype-medewerker legde uit dat het passwd-bestand wordt uitgelezen door een routine van de gebruikte opensourcetoolkit QT, en dat Skype deze routine alleen gebruikt om te bepalen waar het programma de gebruikersspecifieke bestanden moet opslaan.

De toegang tot de Firefox-profielen werd ook verklaard, ditmaal door een andere forumgebruiker. Hoewel het hele profiel doorzocht wordt, opent de Skype-software alleen het bestand waarin de proxy-instellingen staan. Dit is normaal gedrag voor internetapplicaties, omdat de browser een betrouwbare bron voor deze gegevens is.

Moderatie-faq Wijzig weergave

Reacties (31)

Het lijkt me dat in plaats van de username uit /etc/passw te lezen, en dan achter /home/ te plakken, je ook gewoon de $HOME variabele kan gebruiken om achter de home dir te komen.
Aangezien Skype gebruik maakt van de QT-toolkit om dit soort zaken te bepalen is dit niet iets dat je Skype moet verwijten.

Verder bevat op een goed ontworpen Unix-like systeem /etc/passwd geen wachtwoorden alleen de namen van de gebruikersaccounts en hun lokale UID e.d.
Dit heeft niets met QT te maken. QT is vooral als grafisch interface bedoeld. Ze hadden ook een andere routine kunnen gebruiken ipv een QT routine.

Als ze voor zoiets QT gebruiken is ook nog eens beschamend slecht geprogrammeerd, verspilling van resources.

Lees de Link eens.

[q]
and the same for /home/*/.mozilla/firefox and all the other lines. In firefox, even more strangely, Skype enumerates all folders and subfolders inside firefox recursively, like plugins, extension, add-ons like ScrapBook, and tries to open (read) all of them!\
[\q]

Sorry maar je bent wel erg na´ef als je in het excuus van Skype trapt.
Qt is wel "ietsje" meer dan alleen een grafische interface. Het is een compleet application framework voor cross-platform ontwikkeling. Het ligt juist erg voor de hand om voor dit soort dingen gebruik te maken van Qt, omdat je dan niet voor elk platform apart deze code hoeft te ontwikkelen. Dat zit namelijk al in Qt, dus dat heeft Trolltech voor je gedaan. Ik neem aan dat ze Qt voor nog veel meer dingen gebruiken, en het daarom ook voor deze toepassing gebruiken.

Wordt $HOME overigens niet geevalueerd door de shell? In dat geval kan Qt dat helemaal niet zomaar gebruiken. Goede kans dat je shell zelf ook weer naar /etc/passwd kijkt voor die informatie.

Overigens: als je wil weten waarom Qt /etc/passwd uitleest, dan bekijk je toch gewoon even de broncode? Die is gewoon te downloaden van hun website.

[Reactie gewijzigd door ATS op 29 augustus 2007 11:48]

Qt alleen grafisch? Echt niet. Qt is een crossplatform applicatie-framework.
Standaard libc functies zoals getpwnam() en getpwent() lezen ook /etc/passwd voor het ophalen van de gebruikersnaam, of volledige naam. libc is een library die door iedere applicatie gebruikt wordt (het is de "c-runtime" van Linux). De kans dat een applicatie /etc/passwd leest is daarmee aanzienlijk groot. Het is idd een storm in een glas water, het lijkt er eerder op dat deze persoon niet zoveel kennis heeft van interne Linux API's.

De melding dat een programma /etc/passwd leest is net zoiets als "help de gebruikernaam wordt uit de Windows registry opgevraagd".

[Reactie gewijzigd door YaPP op 29 augustus 2007 10:52]

Het artikel heeft het over een applicatie dat de schrijfactiviteit van programma's in de gaten houdt en daarmee wordt dus geimpliceerd dat Skype naast het lezen ook leuk loopt te schijven in etc/passwd en dat een skype medewerker het geheel afdoet dat het hieruit lezen heel normaal is (oeps vergeet per ongluk het schrijven te specificeren).
Ik ben geen programmeur ik heb geen flauw idee hoe en wat deze boel inmekaar steekt, maar ik ben wel bekend met misinformatie technieken die veelvuldig gebruikt worden in huidige communcatieclutuur.
Het lijkt er in dit geval op dat klokkenluider A het over X heeft en bedrijf B het geheel afdoet met Y.
fevenhuis: het gaat niet schrijfactiviteit, maar schijfactiviteit. Je redernatie gaat dus niet op: /etc/passwd is niet eens beschrijfbaar, behalve voor de root gebruiker (Linux systeembeheerder). Ter info: het is op Linux systemen zoals Ubuntu niet eens mogelijk direct in te loggen als root, je kan alleen tijdelijk root permissie krijgen als je systeembeheer taken wilt doen (vergelijk met Vista UAC).

Het doel van AppArmor is extra restricties toevoegen bovenop de standaard bestandspermissies. Speciale netwerk services zoals een webserver of fileserver kunnen daarmee nog meer worden beperkt dan met de standaard Linux permissies of ACL's al kan. Je kunt per programma aangeven wat het programma mag: welke bestanden geopent en aangepast mogen worden, welke systeemcalls gebruikt kunnen worden en welke executables gestart mogen worden.

Deze services draaien dan in een sandbox. Zo kan bijvoorbeeld voorkomen worden dat een webserver bestanden kan lezen of programma's kan utivoeren die niets met zijn webserver taak te maken heeft. Stel dat een PHP script gekraakt wordt, kan dit script alsnog weinig kwaad.

[Reactie gewijzigd door YaPP op 29 augustus 2007 11:34]

"schijfactiviteit" zonder R ;)
Bovendien kan er op een normaal Linux systeem enkel door root naar de /etc/passwd file geschreven worden :)
Pardon...
\()()/
inderdaad Busted... (Read my lips: No New Taxies)

In mijn verweer zeg ik dat de letters op tweakers te klein zijn om het te lezen op 1920x1440 en dat ik dus ook geen Skype of Linux gebruik en dat ik pleit voor een wereld met lagere belastingen en tijdelijk onschuldig ben.
(I did not have any written relationship with this article whatsover, i was reading something else).

[Reactie gewijzigd door fevenhuis op 29 augustus 2007 11:33]

Maar dan heb je geen optionele routine meer om eventuele wachtwoorden op te halen mocht je besluiten dat je deze functie wilt hebben.

Het is mij verder niet duidelijk of dit soort programma's moedwillig onkunding onlogisch inmekaar gezet worden maar met de term "fishy" lijkt toch de standaard ontwikkelingsomgeving goed omschreven te worden tegenwoordig (of moet ik zeggen Phishy).

Het is op zijn minst eigenaardig dat mensen vandaag de dag controle software menen te moeten maken om software te controleren, door al het gesjoemel.

[Reactie gewijzigd door fevenhuis op 29 augustus 2007 10:34]

Kan je precies uitleggen wat er mis is met het uitlezen van /etc/passwd ?
Ok, de titel zegt 'Zorgen over veiligheid Linux-versie Skype'. Maar het artikel zegt:

Uiteindelijk bleek dit niets meer te zijn dan een storm in een glas water.
en
het Linux passwd-bestand gelezen wordt door een veelgebruikte api-aanroep van de gebruikte, open-sourcetoolkit QT
en
De toegang tot de Firefox profielen werd ook verklaard [...] Dit is veelvoorkomend gedrag voor internetapplicaties, omdat de browser een betrouwbare bron is voor deze gegevens.

Dus wat is het probleem nu? Of krijgen we binnenkort eenzelfde artikel over het linux 'ls' commando wat bv ook het /etc/passwd bestand uitleest?
Het gaat er vooral om dat een closed source app een systee¨bestand uitleest waar het niets mee te maken heeft. En hoewel een ontwikkelaar een goede uitleg heeft gegeven kan er niet nagegaan worden wat er exact gebeurd met die gegevens.
Zucht... Wat kunnen mensen toch steigeren over niks eigenlijk... Het is dus allemaal te verklaren, soms schrikken mensen toch iets te hard vind ik...
Tis wel een goed argument om aan te geven dat je opensource software wel kunt vertrouwen, er wordt blijkbaar wel naar gekeken en er wordt blijkbaar niet zomaar klakkesloos geloofd in de software en of deze wel of niet netjes alles doet wat hij mag doen.

Dat schijnt toch altijd een verweer te zijn binnen de closed-source wereld, "er wordt toch niet naar de source gekeken, ook open source software kan spyware bevatten etc etc."
Het is meer een argument om aan te geven dat je closed source software wel kunt vertrouwen! :P Skype is immers closed source software, er wordt wel naar gekeken en er wordt niet klakkeloos geloofd dat het wel netjes doet wat het mag doen. ;)

[Reactie gewijzigd door DOT op 29 augustus 2007 13:23]

Dit is wel oud nieuws zeg. Op slashdot is dit een paar dagen geleden al gepost, en ook toen kwam men tot de conclusie dat er helemaal niets aan de hand is.

Zoals 'JoetjeF' al zei, als je LS uitvoerd wordt ook het /etc/passwd bestand uitgelezen. Aangezien er een FF plugin is voor Skype is het niet zo gek dat het de extensies ervan even checkt.
Maar met LS maak je geen verbindingen over het internet.
/etc/passwd bevat als het goed is al jarenlang geen passwords meer, juist omdat alles en iedereen het voor iedere scheet leest. De 'oplossing' voor dit 'probleem' is meer dan tien jaar oud, en al jaren de standaard op serieus te nemen distro's.
Als het goed is, helaas is dit niet altijdt het geval, en wanneer noemt men een 'oplossing' een 'workaround' en wanneer steekt men de dingen eens in elkaar zoals het wellicht nog overzichtenlijk is i.p.v. verouderde fixes te blijven doorschuiven. Zeker als we over programmatuur hebben met nogal grote security implicaties.

[Reactie gewijzigd door fevenhuis op 29 augustus 2007 11:14]

Ik ben niet zo thuis op andere platformen als Windows, maar alle unices en unix-afgeleiden hebben dan te maken met deze 'grote security implicaties', inclusief het vrijwel perfect veilige OpenBSD, Trusted Solaris, Trusted IRIX en andere monumenten van veiligheid. En in de dertig jaar dat we ze gebruiken heeft dat nooit tot serieuze problemen geleid.

Het is al meer dan eens 'een storm in een glas water' genoemd, en dat is volkomen terecht.
Met "grote security implicaties" doelde ik meer op het aantal gebruikers, de eventuele afluistermogelijkheden en dan ook nog de privacy-inbreuk mogelijkheden en het zozeer password harvesting of computer hacking.

[Reactie gewijzigd door fevenhuis op 29 augustus 2007 16:40]

Dat is niet waar. In de praktijk bevat /etc/passwd bevat nooit passwords. In elke default installatie (desktop e.d.) is dat pam-based, wat een server-achtige authenticatie-methode is die lokaal als daemon draait (ps ax | grep pam). Grotere installaties (netwerk/workstation/server) gebruiken soms een shared password-database zoals bv. NIS.

Het idee dat iedereen's wachtwoorden, encryped of niet, in een world-readable bestandje zouden zitten is zo belachelijk achterhaald dat je er ook maar niet serieus over moet nadenken.
Als gebruikers het niet eens zijn met de close-source Skype dan gebruiken ze het toch gewoon niet? Er is niemand die de gebruikers verplicht om Skype te gaan gebruiken - hoewel je dan misschien geen contact meer kan zoeken met familie/bekenden die wel gebruik maken van Skype...

Als men inderdaad zo paranoide is t.o.v. Skype dan moeten die mensen maar ene chroot-jail (of iets vergelijkbaars onde Linux; chroot jail is een [Free]BSD term) maken en de toepassing daarin gaan starten.
chroot jail is ook onder linux gebruikelijk.

als selinux aanstaat gaat de kernel ook nog allemaal extra dingen toe voegen om het extra dicht te timmeren. ik draai geen selinux maar dit was een van de functies
Gelukkig zitten de wachtwoorden van je gebruiker dan ook in /etc/shadow of een soortgelijke file (of database).
Mij benieuwen wat Skype onder windows dan wel niet uitvoert ... SAM bestanden lezen? :+

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True