image

VLC mediaspeler via kwaadaardige ondertitels te hacken

vrijdag 28 december 2007, 12:29 door Redactie, 13 reacties

De populaire open source mediaspeler VideoLAN (VLC) bevat twee beveiligingslekken waardoor een aanvaller willekeurige code kan uitvoeren en het systeem overnemen. De eerste kwetsbaarheid wordt veroorzaakt door het openen van ondertitels, waarna er een buffer overflow plaatsvindt. Het tweede lek bevindt zich in de mini Web server die in de software aanwezig is, en laat een aanvaller kwaadaardige code naar het geheugen schrijven en daarna uitvoeren. Alle platformen waar VLC voor beschikbaar is zijn kwetsbaar.

Opmerkelijk genoeg is de eerste kwetsbaarheid, die van juni dateert, al lang gepatcht, maar heeft het ontwikkelteam die nog niet in de meest recente release van begin december verwerkt. De volgende versie die de beveiligingsproblemen moet verhelpen staat gepland voor januari.

Reacties (13)
28-12-2007, 13:14 door Anoniem
Alle platformen waar VLC voor beschikbaar is zijn kwetsbaar.

laat een aanvaller kwaadaardige code naar het geheugen schrijven en
daarna uitvoeren

in Linux?
28-12-2007, 13:31 door SirDice
Door Anoniem
Alle platformen waar VLC voor beschikbaar is zijn kwetsbaar.

laat een aanvaller kwaadaardige code naar het geheugen
schrijven en
daarna uitvoeren

in Linux?
Ja, ook op Linux... Waarom zou dat niet kunnen?
28-12-2007, 13:48 door Anoniem
Door SirDice
Door Anoniem
Alle platformen waar VLC voor beschikbaar is zijn kwetsbaar.

laat een aanvaller kwaadaardige code naar het geheugen
schrijven en
daarna uitvoeren

in Linux?
Ja, ook op Linux... Waarom zou dat niet kunnen?

omdat tegenwoordig bijna elke distro van apparmor of selinux
gebruik maakt.
28-12-2007, 13:55 door Anoniem
en wat is apparmor of selinux?
28-12-2007, 14:43 door Anoniem
selinux is een implementatie gebaseerd op MAC (mandatory
access control)
en in eerste instantie ontwikkeld door de NSA.

zeg maar een extra beveiligingslaag die niet controleert of
users ergens rechten hebben maar of processen daadwerkelijk
de juiste rechten hebben.

maw, al ben je root (administrator) dan kunnen processen die
je start nog steeds niet rare dingen uithalen als het niet
in de policy is gedefinieerd.

voorbeeldje,
je hebt een directory waar alleen processen van jan iets
mogen lezen/schrijven.
normaal gesproken zou je als root daar altijd in kunnen.

maar als de policy zegt dat ook daadwerkelijk alleen jan en
zijn processen daar mogen lezen/schrijven dan kan je mooi
root zijn maar je mag er nog steeds nix.

dus als jan zijn VLC brak is en een hacker via een buffer
overflow in een ander proces zijn geheugen gaat zitten
harken zal dat niet lukken. zelfs als VLC root rechten zou
hebben...

...mits selinux goed is geconfigureerd uiteraard.

je zou zelfs een heel systeem met selinux kunnen beveiligen
en toch iedereen root rechten geven.
28-12-2007, 15:15 door SirDice
Door Anoniem
omdat tegenwoordig bijna elke distro van apparmor of selinux gebruik maakt.
Bijna elke? Dat geloof ik niet zo. Op Ubuntu feisty bijv. niet, gutsy weer wel. En default staat het allemaal redelijk relaxed (anders werkt niets).

Overigens voorkomen zowel AppArmor als SELinux niet de buffer overflow.
The documentation uses the metaphor of "immunizing" the applications, but the product does not actually prevent an application from being infected or compromised. Rather, it limits the damage that an application can do if this should happen.
http://www.linux.com/articles/114162

maar als de policy zegt dat ook daadwerkelijk alleen jan en
zijn processen daar mogen lezen/schrijven dan kan je mooi root zijn maar je mag er nog steeds nix.
Hier gaat het dus een beetje mis. Als VLC gestart wordt door Jan kan deze overflow alles wat Jan ook kan. Root hou je inderdaad buiten de deur maar dat is in dit geval niet aan de orde.

dus als jan zijn VLC brak is en een hacker via een buffer overflow in een ander proces zijn geheugen gaat zitten harken zal dat niet lukken.
Dat kan sowieso niet.. Ook zonder AppArmor of SELinux.
zelfs als VLC root rechten zou hebben..
In dit geval helpt het wel... Maar wie draait VLC als root?
28-12-2007, 20:36 door Anoniem
The Security-enhanced Linux kernel enforces mandatory access
control policies that confine user programs and system
servers to the minimum amount of privilege they require to
do their jobs. When confined in this way, the ability of
these user programs and system daemons to cause harm when
compromised (via buffer overflows or misconfigurations, for
example) is reduced or eliminated. This confinement
mechanism operates independently of the traditional Linux
access control mechanisms. It has no concept of a "root"
super-user, and does not share the well-known shortcomings
of the traditional Linux security mechanisms (such as a
dependence on setuid/setgid binaries).
30-12-2007, 08:36 door Anoniem
Duidelijk dus: het bewijst weer dat de gedachte dat Open Source of Linux
zo veel veiliger zouden zijn, gewoon een fabeltje is. Het ligt er gewoon
maar aan waar de aanvaller zich op richt.
30-12-2007, 14:06 door SirDice
Root is niet relevant... Jan gebruiker..

Kan Jan ergens schrijven?
Kan Jan daar een executable schrijven?
Kan Jan die starten?
Kan Jan mailen?

Als je op al die vragen ja kan antwoorden ben je fecked..
Met of zonder SELinux.
30-12-2007, 16:29 door Anoniem
Root is niet relevant... Jan gebruiker..

Kan Jan ergens schrijven?
Kan Jan daar een executable schrijven?
Kan Jan die starten?
Kan Jan mailen?

Als je op al die vragen ja kan antwoorden ben je fecked..
Met of zonder SELinux.


Wat probeer je eigenlijk te bewijzen, dat je gebruikers niet
tegen zichzelf kunt beschermen? Iemand kan ook ijsblokjes in
z'n pc doen als die te heet wordt. Daar doet SElinux ook al
niet veel tegen.
Een gebruiker kan ook slordig werken en dingen verwijderen.
In sommige situaties is dat net zo erg als wanneer het hele
systeem gecompromitteerd zou zijn.
Op systemen die door meer gebruikers gedeeld worden, is het
minder ernstig als er maar een gebruiker een probleem heeft,
of dat ze allemaal een probleem hebben. Je probeert schade
zoveel mogelijk te voorkomen.
Als je kijkt naar mobiele besturingssystemen, dan zie je dat
er eigenlijk alleen malware bestaat voor Symbian en Windows.
Symbian heeft een marktaandeel van 72%, Windows 6%.
Linux heeft hier een marktaandeel van 13%.
http://en.wikipedia.org/wiki/Smartphone
http://www.viruslist.com/en/analysis?pubid=200119916
31-12-2007, 08:39 door SirDice
Door Anoniem
Wat probeer je eigenlijk te bewijzen, dat je gebruikers niet
tegen zichzelf kunt beschermen?
Correct. En dat een onvoorzichtige actie, ook op linux,
betekent dat je computer een zombie kan worden. Wat dat
betreft is het echt niet veel beter of anders dan een
windows machine.
31-12-2007, 09:18 door Anoniem
Door SirDice op maandag 31 december 2007 08:39

quote:Door Anoniem
Wat probeer je eigenlijk te bewijzen, dat je gebruikers niet
tegen zichzelf kunt beschermen?


Correct. En dat een onvoorzichtige actie, ook op linux,
betekent dat je computer een zombie kan worden. Wat dat
betreft is het echt niet veel beter of anders dan een
windows machine.
En op systemen waarbij de gebruiker een service account is,
en het werk van de gebruiker bestaat uit het draaien van een
of meer diensten (System Account) dan?
Hoe bescherm je op zo'n systeem de ene dienst tegen fouten
in de andere, en dan zoveel mogelijk met de
uit-de-doos-configuratie?
31-12-2007, 10:13 door SirDice
Door Anoniem
En op systemen waarbij de gebruiker een service account is,
Je bedoelt zoiets als www of nobody? Daar kun je meer mee
dan je denkt.
en het werk van de gebruiker bestaat uit het draaien
van een of meer diensten (System Account) dan?
root@williscorto:~#ps -aux | grep X
root 1229 11.1 3.2 78576 66164 v0 R
5:41PM 104:10.23 X :0 -auth /home/dice/.serverauth.1210
(Xorg)

Wat is er anders?
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.