How CIA spied on people using fake VLC video player | Lex Fridman Podcast

How CIA spied on people using fake VLC video player | Lex Fridman Podcast

Lex Clips

0:03 Okay, there's this legendary story that you pointed me

0:06 to that it was discovered via WikiLeaks release of all sorts

0:13 of documents the CIA was using a modified version of VLC

0:17 to basically try and trick people what to steal their data?

0:21 Yes, exactly.

0:22 So can you explain what the heck happened with [laughter]

0:26 So so this was a surprise, right?

0:28 Because at some point WikiLeaks mentioned some documents.

0:31 There were a few ones with something related to Blu-rays and VLC,

0:35 but the most interesting one was the CIA Vault 7,

0:39 which if I understand correctly was the CIA had like

0:44 a custom version of VLC where they had a specific plugin.

0:48 Yeah, exactly.

0:49 This is like we had to to write a press release on that.

0:52 VideoLAN wrote a press release saying the only safe source

0:55 for getting VLC media player is the official VideoLAN website.

0:59 I mean I suppose that's a security vulnerability for basically any piece of open

1:05 source software somebody can trick you to download

1:09 in a fake website or targeted advertisement.

1:12 Like that was a targeted advertisement to watch a specific

1:15 file you need to watch with this custom version of VLC.

1:19 And it was the normal binaries of VLC except they added one DLL.

1:23 I think it was psapi.dll which was basically reading

1:28 your your document folder encrypting that and sending that.

1:34 And the thing is this is very clever

1:36 to be honest because once you're watching a movie, right?

1:39 You're going to do that for 2 hours and you're not going to touch your computer.

1:42 And sometimes it's normal because it's HD that your your fans are going up

1:46 and say and there is ton of TCP usage because you're using VLC, right?

1:50 That's normal.

1:51 But the thing is what you don't see is that actually

1:53 a powered version of VLC that is used by CIA.

1:58 Um we had exactly the same problem with Chinese

2:02 hackers that were targeting Indian people and that got VLC

2:08 banned from India until I had to to fight

2:11 in court in India the Indian government to unban VLC.

2:15 They didn't use VLC.

2:16 They took just one DLL because we signed the DLL correctly.

2:21 Um and they used that DLL to do another program.

2:25 So you had the vlc.exe and was calling libvlc,

2:29 but it was calling it into a fake one and they use that to to target.

2:34 There is not much we can do actually to to to block those type of hacks.

2:38 Yeah, and I think people should for all open source software for all

2:42 software in general people should pay attention where they download the thing.

2:45 Yes, because that means that they were not downloading it from our website.

2:49 Do the search engines help you?

2:50 No, they don't.

2:51 Just to clarify cuz you can you know to prevent threats

2:55 from people manipulating SEO to get up there on the links Absolutely not.

2:59 Right?

3:00 We have a big issue for like more than 10 years is that there

3:03 is a fake version of VLC in Germany that was reported for now

3:08 for 12 years and Google basically decides to not They know what's in it

3:14 but the binary is too big for their virus analyzer to analyze it.

3:19 And so well, if you're in Germany,

3:21 you can go to a website that is a fake version of VLC with a custom installer

3:26 and it's very popular in Germany because the website

3:28 is in German and and Google's mentioned that before VideoLAN.

3:32 And the weirdest thing is that it doesn't

3:34 do anything on your machine for 3 weeks.

3:37 Mhm.

3:37 Because that's how they they do the detection.

3:40 And after 3 weeks there is a small program that is a service that installed

3:43 at the same time that wakes up after

3:44 3 weeks and it start downloading spyware and adware.

3:48 And Google knows about it.

3:49 They decided not to do anything.

3:51 The guys used dark SEO in Germany to to to to do that at some point.

3:56 Um And this is very damaging, right?

4:00 Because one of the things that they are downloading is

4:02 actually something that is replacing your ads inside your machine, right?

4:07 It's actually quite surprisingly effective.

4:10 Whoever is doing it with Twitter and X with X,

4:14 I'll get emails about your X account has been hacked.

4:18 And however they phrase it it gets me to like

4:22 at least click on the email not to follow the thing.

4:25 And then you're like, man, whatever they're doing with the psychology

4:28 to try to trick you, they're quite good.

4:31 There is a security version of VLC, right?

4:33 You receive an email saying, hey, there is a security version update on VLC.

4:37 Think about updating right now because it can hack your computer.

4:40 You come It's a website that looks decent

4:43 and and you download it's a new version of VLC.

4:45 Great.

4:46 You don't know a month later you're hacked.

4:48 You have no idea.

4:48 You're part of a botnet.

4:49 Yeah.

4:51 [snorts] So make make sure wherever you're downloading stuff is legitimate.

4:55 part of the botnet.

4:57 Speaking of which, so you've mentioned that VLC sandboxing is

5:01 something you're working on and it's actually something quite challenging.

5:05 Why is it important?

5:06 Why is it hard?

5:07 So VLC is a core with around 500 plugins, right?

5:13 One of them is FFmpeg, but we have we support so many other formats.

5:17 We support new protocols.

5:19 We support new filters.

5:21 We support weird architectures.

5:23 And in this release of VLC you have

5:27 modules that are going to call your drivers, right?

5:30 Mostly the hardware decoders, which are going to call your Intel,

5:35 your Nvidia, your AMD driver.

5:38 Um and all calling FFmpeg, right?

5:42 And there might be a security issue.

5:43 There might be a security issue in the shader.

5:46 There might be a security issue in VLC

5:48 in FFmpeg that is going to basically crash.

5:51 The issue is that you're running VLC

5:54 like every every other program like Adobe, right?

5:56 You're running it on your machine and it

5:59 has access to all your documents, right?

6:02 So the idea is to be sure that you do a sandbox so that we can

6:06 protect from ourselves because inside the VLC process

6:11 is running some code that is not even ours.

6:13 It's open source other projects that we integrate in VLC or it's

6:17 your GPU driver or something that is provided by someone else inside.

6:22 And so when we crash we want to not allow people to do bad things, right?

6:27 Because one of the common way of hacking people is

6:30 to crash a program very often done with a web browser,

6:33 very often done with PDF files.

6:36 Less often with multimedia, but it could happen.

6:38 And when you crash, you launch something on the on the machine of the person.

6:43 Could be a ransomware.

6:44 Could be a botnet, right?

6:45 So security of desktop application is important.

6:49 On mobile it's a bit different because most

6:50 of the mobile application are running on inside their own sandbox.

6:55 But for VLC we could run it inside one sandbox,

6:59 but the problem is that we need access to so many things

7:02 that is basically we we would do we would have all the permissions.

7:07 Right?

7:07 And so if you have a sandbox and you

7:09 put some holes everywhere it defeats the purpose, right?

7:13 So what we are trying to do and we're

7:14 actually doing is splitting VLC into several processings.

7:19 One is decoding.

7:20 One is demuxing.

7:21 One is filters and all of them run into their own sandbox.

7:27 So that the whole VLC a part of VLC

7:30 crash like Chrome crashes on some on some tab, right?

7:34 It crashes crash, but it did not crash the whole program.

7:37 And this is what we're trying to do.

7:39 And it's difficult because it's a sandbox that needs

7:41 to sustain gigabits per seconds of of mem copies.

7:46 No, it's not a website which is 5 megabytes or 10 megabytes.

7:49 We're talking about hundreds of megabits per seconds.

7:51 So this is why it is quite challenging.

7:53 And this is a research topic that we we are

7:56 working on in order to have multimedia player that is secure.

8:02 This is all the kind of stuff you have

8:03 to think about when millions of people are using.

8:05 You mentioned something somewhere where like all the different features

8:09 of VLC when you have that many people using it,

8:13 somebody will use every single feature and they will tell you about it.

8:19 Best feature in VLC is called the puzzle filter.

8:22 Right?

8:23 So you click the puzzle filter and it

8:26 transforms your video into a jigsaw puzzle, right?

8:29 And you can click and move the pieces, right?

8:32 Yeah.

8:32 Um it's very very useful when you're watching a French movie, right?

8:35 You're bored Oh, yeah.

8:38 because it's like like very long things or love

8:40 triangle like you've seen that so many times.

8:42 Right.

8:43 But but you need to watch it because someone your wife or Yeah.

8:46 told you to do that or your boyfriend told you to do that.

8:50 So you're doing that, right?

8:51 Yeah.

8:51 And you can click and move the pieces around.

8:53 Yeah.

8:54 It's absolutely useless, right?

8:56 Like who cares about that?

8:58 First, it was done by a a math teacher in high

9:02 school in South of France to teach his students about Bezier curves,

9:06 which is something that everyone should know about, right?

9:08 It's very useful.

9:10 But the code was clean.

9:11 So it got in VLC.

9:12 It was merged in 2010.

9:14 5 years later, I received an email saying Hello JB, I have a problem with VLC.

9:19 The puzzle is too simple.

9:21 And I was just like, what?

9:23 And yes, the puzzle was in the UI maximus by 16 by 16, right?

9:28 Only 256 And he says, I'm sorry, but in a movie I love puzzle.

9:34 This is too too simple, right?

9:35 So there is a commit of me.

9:36 You can check it online,

9:38 which is JB changing that the dimensions are 256 by 256.

9:43 Brilliant.

9:44 My point is so many use features are used by a few people, right?

9:50 There is a way to watch VLC movies in common line without any UI, right?

9:56 It's I saw that you can do uh ASCII ASCII art.

9:59 Is it useful?

10:00 Very useful.

10:01 Imagine you're debugging Imagine you're debugging a multicast network, right?

10:05 You have thousands very complex very complex networking stack, right?

10:10 You can SSH to all of the routers and put VLC on it with no UI.

10:15 And you're going to see whether it's black or it's not black, right?

10:18 So, you see if Oh, it's all green or not all green, right?

10:20 So, you can see Right?

10:23 People don't realize there is so many things

10:25 in VLC uh that are useful um and they are

10:31 they have users because once you have hundreds of millions

10:34 of users you have people who use every feature.

Study with Looplines Download Captions Watch on YouTube