WEBVTT

00:00.640 --> 00:08.000
The first time the Packet Hacking Village ran a talks track was at DEF CON 21 in 2013.

00:08.720 --> 00:15.980
Each year since then, Mike Rago and Chet Hosmer has given a talk at the Packet Hacking Village.

00:16.040 --> 00:23.340
However, they have not given the opening talk at the Packet Hacking Village until now.

00:23.380 --> 00:34.720
It is my pleasure to introduce to you, old friends and supporters, Mike Rago and Chet Hosmer with their talk, Media Analysis of Disinformation Campaigns.

00:37.330 --> 00:40.670
Hi everyone and welcome to DEF CON 28.

00:41.010 --> 00:45.730
We are going to be talking today about media analysis of disinformation campaigns.

00:45.730 --> 00:46.670
I'm Chet Hosmer.

00:46.670 --> 00:53.650
I'm going to do a quick introduction of the talk and then I'm going to turn it over to Mike Rago who is going to kind of dive into this topic a little bit deeper.

00:53.650 --> 00:55.930
But I want to at least set the stage for you.

00:55.930 --> 00:59.270
First of all, Mike and I have worked together for many, many years.

00:59.270 --> 01:09.370
We created a book together called Data Hiding where some of the information here is relevant or related to the work that we've done in data hiding and steganography.

01:09.370 --> 01:13.210
So, I want to kind of give you just a quick introduction to the talk today.

01:14.630 --> 01:16.090
So, the threat.

01:16.090 --> 01:19.370
You know, what are we worried about here with these disinformation campaigns?

01:19.370 --> 01:22.370
And we're going to focus a lot on media today.

01:22.370 --> 01:27.750
In other words, multimedia content that is included as part of these disinformation campaigns.

01:27.750 --> 01:34.990
So, today the internet and social media is filled with a lot of multimedia content.

01:35.070 --> 01:40.690
Most of this is relatively harmless and in many cases can be quite useful.

01:41.290 --> 01:48.490
These multimedia events basically communicate knowledge in the forms of training and information sharing.

01:48.490 --> 01:51.810
New ideas, new concepts, even new thinking.

01:51.850 --> 01:54.000
And of course, pictures and videos of our pets.

01:54.000 --> 02:12.720
However, a growing percentage of multimedia content have been manipulated in order to deceive and change the way we think, people think, act, react, believe, and can ultimately cause harm because they're fake, because they're untrue.

02:12.720 --> 02:25.560
The simple question then is, how do we tell the difference between real and fake, fact and fiction, and I guess ultimately, good and evil?

02:26.400 --> 02:32.600
So, with that quick introduction, let me turn it over to my good friend, Mike Rago to kind of take you through the next section.

02:32.600 --> 02:39.140
So, we thought we would begin by talking a little bit about the different types of disinformation campaigns.

02:39.140 --> 02:44.300
There's certainly a variety of disinformation campaigns that we see in today's world.

02:44.360 --> 02:58.560
Certainly with COVID or the coronavirus being top of mind for many folks, there's a variety of disinformation that is inspiring mass hysteria across people all around the world, including here in the United States.

02:58.560 --> 03:14.730
And that's inspired by a variety of media, video, images of people suffering from the coronavirus, remedies that are available for it, cities or locations that have been heavily impacted by the coronavirus.

03:15.280 --> 03:22.100
And as a result, inspiring a lot of concerns and risks associated with that.

03:22.100 --> 03:28.980
In addition, there continues to be a huge uptick in political disinformation as well.

03:28.980 --> 03:45.980
We've seen with politics in Brazil, here in the United States, and other locations all around the world, where we have different candidates spreading different forms of disinformation, as well as various groups and organizations and individuals also inspiring that as well.

03:46.780 --> 03:54.800
Some of the less familiar ones that we see out there, but still very impactful, are things like catfish fake rallies.

03:54.800 --> 04:03.620
This is a technique used through social media to actually inspire a rally, one that hasn't been planned yet.

04:03.620 --> 04:13.800
And so someone will create a fictional event and post it across Facebook, across Twitter, other social media outlets.

04:13.800 --> 04:26.440
And then in doing so, to garner attention around it, the creator will then send things like private messages to other social media users, asking them to attend and repost it.

04:26.820 --> 04:37.700
And then this is eventually turned over to a larger group whose message is inspired by this, to have them also promote it to a broad base of users.

04:37.700 --> 04:50.860
The intent behind this type of thing is to actually form a rally in some cases, and in doing so, support a specific narrative supported by a large organization who supports that narrative.

04:50.860 --> 05:06.380
And the underlying tone being, in a way, kind of manipulating people and really getting them to join a particular rally, all based on an original fake type of catfish.

05:06.380 --> 05:10.980
And then other things that we see also involve malware.

05:11.260 --> 05:21.380
So in the case of malware, we've seen things such as phishing or vishing attacks, where fake audio is used to impersonate an executive.

05:21.380 --> 05:39.280
It may be spliced together, different pieces of audio from recordings that have been found online and elsewhere, to create a message that is sent to one or more executives, someone in the accounting department, or to customers of that company or that organization,

05:39.280 --> 05:45.300
informing them that, say, the account information that needs to be paid has changed.

05:45.300 --> 05:53.780
The bank information has changed and inspired them to make payment to a particular account different from the original they have on file.

05:53.800 --> 06:00.320
So a lot of these information campaigns inspire a lot of different narratives and a lot of different results.

06:00.320 --> 06:09.980
Again, kind of our focus here in this particular presentation is actually taking a closer look at the media tied to a lot of those disinformation campaigns.

06:12.820 --> 06:20.180
In terms of political disinformation, here's just one of many examples that are out there.

06:20.180 --> 06:31.570
In this particular one, a congressman actually tweeted a fake photo of Obama meeting with the Iranian President Rouhani, when actually this was an altered image.

06:31.820 --> 06:44.920
And the original image was really of Obama meeting with former Indian Prime Minister Manmohan Singh to talk about nuclear laws and things of that nature.

06:44.920 --> 07:01.360
And so it was soon discovered that not only as a result of the photo, but furthermore, the placement of these people at different points in time was that they didn't actually meet at the time at which this photo was representative of them actually meeting together.

07:01.360 --> 07:05.740
So based on the timeline, these two people were not in the same place at the same time.

07:05.820 --> 07:13.580
But furthermore, upon further analysis, it was determined that this image was actually fake and that someone had modified it from the original.

07:16.580 --> 07:28.220
Some of the research that we've done involves leveraging many of the cool capabilities available within AWS, such as recognition and the ML built into that.

07:28.220 --> 07:38.480
And in doing our research, we've created a number of systems that allow for deep analysis around these types of things.

07:38.480 --> 07:56.500
For example, taking this particular image and running it through AWS's recognition and machine learning, based on some modifications we made, actually allows you to identify some very interesting characteristics to help identify when there are altered forms of media,

07:56.500 --> 07:58.180
in this case an image.

07:58.180 --> 08:07.440
For example, in terms of identifying items and objects within the photo, provides the ability to understand context.

08:07.440 --> 08:17.960
And in this case, you can see that there are individuals that are identified, various flags, accessories, person wearing a pin or a tie.

08:17.960 --> 08:30.400
And those things become more important in building out the broader picture and trying to understand when an altered piece of media, in this case an image, is actually used.

08:33.320 --> 08:45.720
In addition, it can also bring out facial attributes, where you can see and understand expressions, and in addition, understand what people are wearing within the photo.

08:45.720 --> 08:54.840
And in addition, things such as whether they're happy, they're sad, and other types of characteristics related to their facial attributes.

08:59.390 --> 09:14.290
If we go back to the original photo, the one from which the altered image or the fake image was actually created from, and we run that through the tool as well, we can further identify other characteristics that we can compare to the fake photo.

09:14.490 --> 09:26.770
In this case, we additionally identify other characteristics, not only beyond the fact that there's a different individual in the photo than in the fake photo, but also characteristics of that image.

09:26.770 --> 09:44.710
Interesting aspects of this image was a different color turban that the individual is actually wearing, and how that was actually... pieces of that were left over in the fake photo when splicing in a different individual within the photo itself.

09:44.710 --> 10:03.850
In addition, there were kind of blocky components of the fake photo related to the individual that was spliced over and into that fake image, whereby structures of the face were along the line, and some other characteristics that came out of some of the analysis too.

10:06.470 --> 10:09.950
So, interesting aspects related to this.

10:09.950 --> 10:30.110
In looking at traditional media and trying to understand some of the metadata and characteristics of those images involved looking at metadata and really understanding the photographer or the source of that image or what camera was used to take that photo,

10:30.110 --> 10:34.830
and even sometimes some of the location information included in that metadata.

10:34.830 --> 10:52.070
But as we've demonstrated over the last number of years, actually the last roughly 20 years that we've been presenting across DEF CON, Sky Talks, Wall of Sheep, and other conferences as well, is that, as we know today, social media largely strips off a lot of this metadata,

10:52.070 --> 10:57.750
and furthermore, recompresses media, whether that be an image, audio, or video.

10:57.750 --> 11:06.690
And through that recompression, actually further morphs and changes the content of that actual media.

11:07.310 --> 11:26.070
And therefore, really in today's world, getting beyond the metadata and really looking at many of the characteristics we've shown so far becomes increasingly important in terms of doing this deeper analysis of altered media, in this case, images of which we talked about up until now.

11:31.150 --> 11:40.210
We stood up a different ML type of environment within AWS that leverages video analysis, too.

11:40.330 --> 11:47.070
We took a video from a presentation we did in DEF CON 25, where Dr.

11:47.070 --> 11:53.330
Phil Tully and myself presented a picture is worth a thousand words, literally.

11:53.330 --> 12:00.410
And so that presentation garnered the attention of CNN at the time, and so we did a TV interview.

12:00.450 --> 12:07.950
And so I took that video and ran it through the video analysis tool to see what type of things it could identify.

12:09.250 --> 12:21.770
AWS recognition and the other things that are built into many of the capabilities allow you to understand things such as what objects are in the video, but furthermore, how often do they show up?

12:21.770 --> 12:25.570
And where in the video timeline do they show up?

12:25.570 --> 12:45.410
A lot of these so-called forensic data points can be really helpful and really important in terms of building out and understanding analysis around disinformation campaigns in general, and the types of things within those images that may identify the source of that image,

12:45.410 --> 12:57.470
understanding and placement of people or objects at different points in time, a video that may claim to be recorded in New York when actually objects in the video are located in San Francisco.

12:57.470 --> 13:00.710
So there's a lot of interesting characteristics that can come out of this.

13:05.330 --> 13:10.910
One of those things is being able to look in more detail at those objects.

13:10.910 --> 13:24.270
And in doing so, you can see here that it'll pull out and identify a plethora of different objects, how frequently they show up, and where in the video timeline do they show up?

13:24.270 --> 13:27.990
And this can also be really helpful from a forensic standpoint.

13:27.990 --> 13:37.010
Traditional methods, we would take a look at an image or we would take a look at a video and try to identify interesting characteristics kind of using that human analysis.

13:37.170 --> 13:52.570
Now is the ability to actually pull that out in an automated way, leveraging machine learning and leveraging all of that deep analysis to bring out a lot of those characteristics across OCR, NLP, and many other things.

13:52.750 --> 13:55.930
And this also does work with images as well.

13:55.930 --> 13:59.530
Remember that a video is just comprised of multiple images.

14:03.090 --> 14:07.670
It'll also leverage things like optical character recognition or OCR.

14:07.670 --> 14:12.350
And this allows you to pull out words from objects identified within the video.

14:12.350 --> 14:22.570
This could be things like a license plate or a sign or a logo on the side of a vehicle or a building or something else, even a logo on somebody's T-shirt.

14:22.570 --> 14:36.870
These all become really, really important in terms of understanding all the data and the analysis of that to understand things that have inspired the disinformation campaign and characteristics of that video or that image.

14:39.790 --> 14:46.710
One important aspect to this, though, is that old school methods still apply.

14:46.710 --> 15:09.010
And what we mean by that is old school methods of analyzing images, analyzing things, and understanding when there are different types of text within an image is that with old school methods, we could actually take a look at a black background and identify where there's embedded text within that.

15:09.010 --> 15:18.330
So if there's only one or two shade difference for that text compared to the black background, can OCR actually identify that?

15:18.330 --> 15:23.730
What we found is that actually it does not do a very good job of identifying that.

15:23.730 --> 15:36.230
So blending kind of those old school, a little bit more manual analysis techniques with current day aspects of OCR combined really provide a much better strategy overall.

15:37.350 --> 15:42.530
But that said, AWS's Textract is actually super awesome.

15:42.890 --> 15:50.910
There are a lot of features and capabilities in here that would take a long time trying to accomplish using old school manual methods.

15:50.990 --> 16:02.570
So actually using this to perform the OCR analysis can allow you to bring out a lot of the aforementioned objects and text and things like that within an image.

16:02.570 --> 16:07.090
And as a result, help you identify those.

16:07.090 --> 16:14.310
But if there are minor subtleties, such as in this case, text on a black background, it may miss that.

16:15.590 --> 16:28.490
And that's something that we actually tested using AWS Textract is that when taking this type of image and putting it into the tool, it simply just didn't identify any text within that particular image.

16:31.320 --> 16:33.640
But again, kudos to AWS.

16:33.640 --> 16:36.520
I mean, Textract is a fantastic tool.

16:37.560 --> 16:42.140
In addition, we can also do video analysis and extract the audio.

16:42.140 --> 16:45.620
And in doing so, there's a lot of interesting data points there.

16:45.740 --> 16:58.960
The speech recognition built into what AWS provides and what we build out in the tool set allows you to identify those key phrases from the transcript of what is being mentioned during that video.

16:58.960 --> 17:10.420
From here, you can identify the frequency at which much of that occurs, such as how often are certain phrases or words used throughout the video.

17:10.700 --> 17:21.400
And in analyzing that, understanding what type of lingo does that individual normally use versus what's actually being said in the video.

17:24.790 --> 17:45.080
Also, the speech recognition can identify other characteristics, such as people's names and things that are mentioned within the video, dates, countries, quantities of items, and things of that nature too.

17:45.080 --> 17:58.120
So what may be really helpful is that if there are multiple individuals talking and some of it's in the background, some of it does have the capability to pick up on some of that as well and really provide analytics around that.

17:58.120 --> 18:05.460
And also in the context of where that audio or that word or that phrase was mentioned in the timeline.

18:07.540 --> 18:19.160
So bringing this all together, the video analysis and going beyond just deep fakes in general, disinformation is more than deep fakes.

18:19.160 --> 18:27.540
And what we mean by that is there are a lot of other attributes we've talked about so far related to a video that can also be key.

18:27.540 --> 18:40.980
So although there's some great AI around understanding and identifying deep fakes, also all of this additional analysis is super important into understanding the fake narrative.

18:40.980 --> 18:57.860
These attributes, as we've mentioned, that drive these false narratives may be individuals that are in the video or objects, any type of identified words or lingo, and facial expressions and even human characteristics.

18:58.200 --> 19:07.180
And this is particularly important in today's world of social media where metadata is less and less found across the different forms of media.

19:11.230 --> 19:20.430
In addition, if we kind of take a look at the old school steganography problem, is there something embedded in this image?

19:20.750 --> 19:32.790
The big challenge that's always existed is, well, I don't have the original file before that data was embedded in that image, so it becomes more difficult to identify that.

19:32.790 --> 19:42.590
I can't do a hash of the original and a hash of the modified image with the hidden data in it because I don't have the original image.

19:42.590 --> 19:47.090
Same thing goes for a diff or other types of techniques that you could use.

19:47.090 --> 19:58.330
But although hashing may not work in these circumstances, ML, NLP, OCR, facial and object recognition, all of these things do actually work particularly well.

19:59.330 --> 20:13.490
And understanding the behavioral changes of a social media account or website over time is also super, super helpful in understanding the timeline and behavioral changes across that social media account.

20:14.570 --> 20:29.730
And also, in addition, is the source of the additional media and being able to collect that over the timeline and actually run that through the machine learning to build out a profile for that individual, for that account.

20:29.730 --> 20:33.470
What are the normal behaviors and do we see a deviation of that?

20:35.030 --> 20:42.370
So social media accounts can change over time, especially when they're taken over.

20:42.370 --> 20:53.470
And so in this particular case here, this is just one of numerous examples where an innocent individual had their account taken over and turned into a zombie account.

20:53.470 --> 21:04.390
And whoever took over that account then used it to inspire disinformation campaigns by posting a lot of disinformation around the coronavirus.

21:04.690 --> 21:19.190
And over that time frame, characteristics of how that account changed was not only the background, but also the name, the language, and a variety of other things in terms of the type of content posted.

21:19.190 --> 21:35.290
So monitoring this over a timeline can help gather a much more broad corpus of media to really identify characteristics of the disinformation, characteristics of how it's been weaponized, and characteristics of their TTPs.

21:35.290 --> 21:37.390
And with that, I'll turn it over to Chet.

21:39.070 --> 21:42.530
So let's take a look at some sample fake images.

21:42.530 --> 21:52.330
I know we're so interested in audio and video and other things, but remember, videos within multimedia are just made up of images and audio clips, right?

21:52.330 --> 21:57.530
So typically JPEGs and MP3s within, let's say, an MP4 kind of environment.

21:57.530 --> 22:07.850
But let's take a look at some images and we'll talk about how we break those down and how we actually approach the process of detecting anomalies within.

22:07.850 --> 22:11.550
Before we do that, we should take a look at a few fakes to see what they actually look like.

22:12.210 --> 22:13.430
So here's one.

22:13.470 --> 22:17.230
This is actually a really good one because it was actually produced by a studio.

22:17.230 --> 22:21.950
So this was actually produced by Paramount Pictures in the Baywatch movie.

22:21.950 --> 22:28.190
So we've got Zac Efron and Dwayne Johnson here kind of walking away from a beach scene.

22:28.210 --> 22:34.150
In this particular clip, neither one was actually in the shot together.

22:34.150 --> 22:38.270
They were separate and they were pasted together with this particular background.

22:38.270 --> 22:40.430
So we're going to take a look at that in a minute to see.

22:40.430 --> 22:46.230
Now you notice this particular image with Dwayne Johnson's tattoos and that kind of stuff.

22:46.230 --> 22:51.450
You would expect us to be able to get some false positives, let's say, within those particular areas.

22:51.450 --> 22:54.090
We're going to talk about how we can actually avoid those.

22:54.530 --> 22:56.590
This is a really old one.

22:56.990 --> 23:01.570
This was the cover of National Geographic magazine back in February 1982.

23:01.570 --> 23:06.410
And I bring this one up because this again was produced by a professional organization.

23:06.410 --> 23:14.310
What they've done is move the pyramids closer together and added the camel riders to the foreground of this particular image.

23:14.310 --> 23:20.590
They received significant amounts of criticism for their modification of this image.

23:20.590 --> 23:22.010
This happens a lot, right?

23:22.010 --> 23:28.190
When photographers are taking photographs of scenes, they want to enhance their impact.

23:28.190 --> 23:33.270
In this one, the impact and the enhancement may not have been that bad.

23:33.270 --> 23:38.290
In other words, again, the fact versus fiction issue.

23:38.290 --> 23:40.690
But it's still the same thing.

23:40.690 --> 23:45.470
They've tried to enhance this image to give us an impression that isn't true.

23:46.690 --> 23:49.270
Here's one that's a bit more serious.

23:49.370 --> 23:52.290
This was during the time of Hurricane Sandy.

23:52.290 --> 24:01.070
And someone put together this particular image of the Statue of Liberty in the foreground and Hurricane Sandy approaching New York Harbor.

24:01.070 --> 24:02.790
Obviously, this didn't happen.

24:02.790 --> 24:13.510
However, it caused a bit of panic because this ended up as a photograph on a couple of the evening news segments and obviously on the Internet.

24:13.510 --> 24:17.230
So people were looking at this and thinking, wow, this is right on top of us.

24:17.230 --> 24:18.390
What should we do?

24:18.530 --> 24:26.450
So again, these kinds of fakes can have impact on people's lives as we take a look at them if we believe them to be true.

24:26.450 --> 24:29.390
Many enhancements were made to this particular image.

24:29.390 --> 24:31.330
Obviously, this is a really good one.

24:31.330 --> 24:34.230
Obviously, this is a real image of a flying saucer in the desert.

24:34.330 --> 24:39.870
We'll talk about this one as we actually walk through the demonstration to talk about how this was in fact created.

24:39.930 --> 24:43.810
But again, there's many different ways that we can create these.

24:43.970 --> 24:45.790
This is a really good one.

24:45.790 --> 24:54.330
This is a selfie of a pilot flying at 300 miles an hour, sticking his head out the cockpit window and taking a selfie of himself.

24:54.330 --> 25:00.830
And you notice that it has the plane, the engine, and many different parts of this were actually factored in.

25:00.830 --> 25:04.750
The glasses, the tie, flying in the wind, all of that kind of stuff.

25:04.750 --> 25:10.770
And we'll talk about how this was actually done and actually break this down for you in a couple of minutes.

25:10.870 --> 25:13.610
So some things a little bit more serious.

25:13.610 --> 25:20.910
Obviously, this is Vladimir Putin supposedly whispering over Donald Trump's ear, kind of giving him some advice.

25:20.910 --> 25:23.250
And obviously, this never happened as well.

25:23.250 --> 25:25.590
So we're going to break this one down for you and kind of show you.

25:25.590 --> 25:31.510
So this is becoming a little bit more political in nature and how they're being used in this regard.

25:31.510 --> 25:38.670
It's a really good one was created with machine learning to basically bring these two photographs together and make them look realistic.

25:39.510 --> 25:49.790
Another political photo with Vladimir Putin shaking the hands of Donald Trump with Merkel in the foreground as well and a lot of folks here.

25:49.790 --> 25:58.170
And obviously, we're going to talk about how this image was created and show you where some of the modifications have been made to this particular image.

25:59.830 --> 26:05.130
So what we want to talk about is data hiding versus deep fakes.

26:05.130 --> 26:13.750
So in other words, we've done a lot of work in data hiding detection, steganography detection in all forms, whether it's images, multimedia, etc.

26:13.810 --> 26:18.490
But how does data hiding relate to deep fake?

26:18.490 --> 26:21.390
In other words, how do these two things actually come together?

26:21.390 --> 26:29.330
Let's take a look at some of the aspects of steganography first, and then we'll talk a little bit about deep fakes.

26:30.070 --> 26:38.070
So the etymology of steganography, it comes from the Greek roots steganos for covered and graphi for writing, yielding covered writing.

26:38.070 --> 26:40.870
So steganography is all about covered writing.

26:40.870 --> 26:45.770
And some of the first known uses of this happened 4,000 years ago.

26:45.770 --> 26:53.630
So this has been a technique that has been used in warfare for pretty much ever in order to be able to conceal information and communicate information.

26:53.630 --> 26:59.990
So remember, the difference between encryption and steganography is an important thing to remember.

27:00.050 --> 27:01.630
We're going to talk about that.

27:01.670 --> 27:04.030
The story of Demardus is one of my favorites.

27:04.030 --> 27:11.810
Demardus was exiled in Persia, and while he was there, he received news that there was going to be an invasion of Greece.

27:11.810 --> 27:15.930
He wanted to get back in the good graces of Sparta, so he wanted to get words to them.

27:15.930 --> 27:23.730
So he took the tablet of the day, which was a wax tablet where there was wax covered over a wood background.

27:23.730 --> 27:28.570
That's the stylus that you see at the top, so it's kind of like an iPad of the day.

27:28.570 --> 27:35.410
And you would actually write your message within the wax and hand it off.

27:35.410 --> 27:48.570
Well, since he knew that if he tried to get a message out to Sparta this way, they would detect it as the guarders of the gates of where he was exiled would certainly have picked this up.

27:48.570 --> 27:58.370
So what he did was he peeled the wax off the tablet and he engraved the message, the secret message, in the wood of the tablet and then passed it by the centuries of the day.

27:58.750 --> 28:01.270
He was able to get that by and get the message to them.

28:01.270 --> 28:06.850
So it's the physical form of covered writing, of hiding a message underneath something else.

28:06.850 --> 28:14.550
In this case, the cover was wax and the writing instrument was a wax tablet that was in fact created.

28:15.750 --> 28:18.490
We take a look at images.

28:18.490 --> 28:24.530
This is one of my favorites that I use in many of my presentations because it's an image that everybody knows.

28:24.530 --> 28:30.410
It has a couple characteristics that make it really a terrible image to use for hiding information.

28:30.890 --> 28:32.950
The image on the left is the original.

28:32.950 --> 28:37.790
The image on the right has a fairly significant word document embedded in it.

28:37.930 --> 28:40.710
And the reason it's a terrible image is it's one that we all know.

28:40.710 --> 28:43.590
We have an expectation of what this is going to look like.

28:43.590 --> 28:44.670
We've all seen this image.

28:44.670 --> 28:48.250
It's probably one of the most known images in the world.

28:48.610 --> 28:52.330
The second is that it has very limited colors in most of the dark shades.

28:52.330 --> 28:55.130
Those are not the kinds of things that you use to hide information.

28:55.130 --> 29:02.770
However, even so, these two images side by side, the original and the fake, look pretty good.

29:03.270 --> 29:07.530
So what if we take a look at these two images in a little different way?

29:07.530 --> 29:13.250
In other words, let's render these images differently to see if we can actually see a difference between those.

29:13.290 --> 29:21.730
Since this is actually a true color image, the data hiding occurred in the least significant bit of the RGB spectrum.

29:21.730 --> 29:26.150
So let's take a look at that from that point of view and see what we get.

29:26.150 --> 29:40.730
This is again the original image on the left and you notice if we render just the least significant bit, we find there is in fact information in that least significant bit in the original image that basically is providing the shape of the image.

29:40.730 --> 29:45.150
Even though it was only a single color, in this case the red LSB value.

29:45.150 --> 29:58.890
If I look at the red LSB value in the image that was staggered, in other words, data was hidden in it, we see the information is completely different because that least significant bit was used to hide the information.

29:58.890 --> 30:12.130
So how we render the image and how we actually look at these things is what leads us to the ability to be able to detect the difference between, in this case, real and fake, within a staggered realm.

30:12.130 --> 30:18.210
So how do we do this when it's not steganography, when it's actually a fake image?

30:18.330 --> 30:31.490
So it all comes down to the concept of intelligent feature extraction and classification so that we can actually train a machine in order to be able to do this using machine learning techniques.

30:31.490 --> 30:40.250
But if we don't understand the kinds of features that we need to extract that make a difference between real and fake, it's not going to work.

30:40.250 --> 30:42.870
So let's take one of the images that I've showed you so far.

30:42.870 --> 30:48.330
We'll take the image of Vladimir Putin kind of giving the thumbs up to Trump and Merkel.

30:48.990 --> 30:50.230
Was this a real image?

30:50.230 --> 30:52.150
Let's take a detailed look at this.

30:52.150 --> 30:53.230
So how do we do that?

30:53.230 --> 30:56.850
The first thing we want to do is break the image up into small pieces.

30:56.890 --> 31:04.050
Obviously, you break it up into smaller just to kind of illustrate how we do this, we break it up into frames within that particular image.

31:04.050 --> 31:13.350
Once we do that, we take each individual frames, for example, the one that is around the hand, the thumbs up from Vladimir Putin.

31:13.570 --> 31:29.250
We take that center pixel and we take a look at that center pixel, we want to basically compare it to the adjacent pixels to see if we can find any anomalies within those adjacent pixels that don't occur in the normal image.

31:29.250 --> 31:31.250
So this is how we actually are doing this.

31:31.250 --> 31:38.930
We actually take that center pixel and we do this throughout the entire image in comparing those adjacent pixels.

31:38.930 --> 31:51.430
So we first create a baseline of what normal is across the image and then we're looking for areas of the image that don't conform to that normal behavior between these adjacent pixels that are around it.

31:51.430 --> 32:00.850
In order to do that, what we can do then is create a set of sample images that are labeled either fake or real in this particular case.

32:00.950 --> 32:12.810
And then we can extract those features that we're interested in, take those features and put them into a set of pandas, in other words, panel data, which is basically kind of like a spreadsheet.

32:12.810 --> 32:22.270
And scrub them, basically kind of actually make sure that we have no real outstanding outliers and that kind of stuff and actually scrub that data a little bit.

32:22.330 --> 32:30.810
And then what we do is we actually run that through a learning engine like Scikit-Learn or TensorFlow, whatever you want to use.

32:30.810 --> 32:35.390
And basically create a model of what is normal.

32:35.390 --> 32:41.290
This is supervised learning, obviously, so we're going to basically know when we start this out what's good and bad.

32:41.290 --> 32:44.470
The issue is that this is a very interactive process.

32:45.170 --> 32:57.970
So once we do this, we have to create the model and we run through this process over and over again until we get both the feature extraction right and we tune the learning engine to learn properly.

32:57.970 --> 33:05.450
So at least we can get the images that we use as the model, in other words as the sample images, to come out correctly.

33:05.450 --> 33:08.950
In other words, to be able to detect the difference between real and fake.

33:08.950 --> 33:22.350
Then what we do is take that to the next level and we bring in images that are real and fake and run them into the model to see if we can identify those.

33:22.350 --> 33:29.850
So we do the same feature extraction, we run those through whatever model we have, and then we can actually visualize the results.

33:29.850 --> 33:36.430
In other words, what areas of the image are we finding anomalies that we don't find in the rest of the image.

33:36.430 --> 33:42.510
So it's kind of a simple take on what we do, but just kind of give you an idea of how this actually functions and works.

33:42.770 --> 33:47.690
So with that, you might be saying, OK, well, I'm from Missouri, show me how this works.

33:47.690 --> 33:54.110
So the next thing I want to do is kind of give you a quick demonstration of a tool that we've developed that actually puts this into practice.

33:55.410 --> 33:58.150
So let's put the machine learning engine to work.

33:58.150 --> 34:07.910
I'm actually going to show you a demonstration here of a tool called PX that we've developed in order to be able to do this kind of active analysis of these potential images.

34:07.990 --> 34:13.110
So the first thing we're going to do is select an image that we want to actually analyze, that pilot selfie that I've already shown you.

34:13.670 --> 34:19.250
And what we're going to do is first come up and create the baseline of that particular image.

34:19.350 --> 34:25.950
And then what we're going to do is we're going to go ahead and perform the analysis of that image in order to identify areas of the image that are anomalous.

34:25.950 --> 34:33.470
So that we can actually pinpoint areas of the image that we believe were altered in order to create this fake.

34:33.950 --> 34:35.890
So you can kind of see, this is what it looks like.

34:35.890 --> 34:39.050
The yellow dots basically indicate the areas that we've identified.

34:39.050 --> 34:41.550
So you can see that there was multiple components of this image.

34:41.550 --> 34:43.210
The tie was added, the glasses were added.

34:43.210 --> 34:46.590
Obviously, the pilot was added, you know, to that.

34:46.590 --> 34:51.990
You'll notice that the engine actually contains some analysis as well.

34:51.990 --> 34:56.670
And the reason for that is because they wanted to make it look like the engine was running, not on some runway.

34:57.010 --> 34:59.150
Let's take a look at another one real quick.

34:59.610 --> 35:04.130
In this particular case, we'll take a look at the set of Ron and Dwayne Johnson.

35:04.570 --> 35:14.970
We'll do the same thing, create the baseline, go ahead and perform the analysis of that image and see if we can identify areas of how that was pieced into that background by Paramount Studios.

35:15.730 --> 35:19.610
And of course, we can kind of see the edges of that.

35:19.610 --> 35:21.350
You notice the rest of the image is right.

35:21.350 --> 35:29.010
So there's edges in the other parts of the image that are not showing up, but only the ones that actually interact with the background in a specific way.

35:29.390 --> 35:36.530
Also, there was adjustments to the hair, the eyes, that kind of thing that were modified in order to be able to make this image look better.

35:36.770 --> 35:45.090
So that's the second one that we wanted to take a quick look at so you can kind of see how we can actually identify those areas where the image was, in fact, altered.

35:45.790 --> 35:49.210
So let's take a look at another one in this particular case.

35:49.210 --> 35:56.570
We're going to go ahead and actually look at something just a bit more interesting, in my opinion, that's potentially a bit more dangerous.

35:56.950 --> 36:07.790
This was the image that I showed you where Putin was shaking hands with Trump, which obviously never occurred, with Merkel in the background as well.

36:07.790 --> 36:12.910
So what we're going to do is basically take a look and see if we can identify areas that that particular image was altered.

36:12.910 --> 36:19.230
Obviously, exactly what we expected here, the thumbs up and the hand was actually added to that particular image.

36:19.230 --> 36:23.610
So we get all kinds of anomalies being detected around that.

36:23.610 --> 36:28.810
So you can kind of almost see exactly how that was actually added to this particular image.

36:28.810 --> 36:37.130
And DML is picking this up as an anomaly based on the extracted features that I talked about earlier that we use.

36:37.130 --> 36:38.530
This is a really interesting one.

36:38.530 --> 36:42.350
This is the Trump and Putin image.

36:42.350 --> 36:51.410
And this one's interesting mainly because there's some features here that we weren't expecting to discover that we actually discovered as part of this particular image.

36:51.410 --> 36:55.450
So what we expected to see was where the two images were put together.

36:55.450 --> 37:01.670
We can kind of see how they were blended together, but even though it's done really well using AI in order to integrate these two.

37:01.670 --> 37:05.030
The other thing we noticed was we found anomalies within Putin's eye.

37:05.030 --> 37:07.290
We didn't understand what that was initially.

37:07.290 --> 37:12.210
And then we realized later that he wears contacts to enhance the color of his eyes.

37:12.210 --> 37:14.750
And we're picking up that anomaly there.

37:14.750 --> 37:19.450
In the case of Donald Trump, he has caps on his front teeth to enhance the smile.

37:19.450 --> 37:21.850
And therefore we're picking up some of those anomalies as well.

37:21.850 --> 37:30.110
So not just anomalies that were actually created by the alterations, but anomalies that were in the original image as well that were in fact dramatic.

37:30.650 --> 37:32.410
And then the last one is kind of a fun one.

37:32.410 --> 37:38.270
We'll take a look at this image with the flying saucer.

37:38.270 --> 37:42.310
This is a little bit larger image, so it's going to take a second to load.

37:42.310 --> 37:47.330
So I kind of fast forwarded the analysis part so you didn't have to wait for that.

37:47.390 --> 37:49.670
And when we analyzed this one, we noticed there's nothing.

37:49.670 --> 37:52.450
We see no changes in this particular image whatsoever.

37:52.450 --> 37:55.610
No anomalies that are there no matter how much we zoom in.

37:55.790 --> 37:59.290
And that's because this particular image was real.

37:59.290 --> 38:07.310
So in other words, either the photograph that was taken was taking up an object that was there to appear like a flying saucer.

38:07.310 --> 38:14.410
Or this was a computer generated image where there are no anomalies that we can detect within the particular image.

38:14.410 --> 38:19.490
So this can happen when we're actually analyzing images like that.

38:20.290 --> 38:27.430
Next I want to kind of walk you through a cool way that we capture these images from social media.

38:27.630 --> 38:34.590
One of the questions you might have is how do we actually capture these live videos or live images within the internet?

38:34.590 --> 38:42.150
We built a special application that allows us to create bounding boxes around specific areas within the world.

38:42.210 --> 38:51.130
In this particular case, I've selected Orlando, Florida, in order to be able to kind of track some of the tweets that are occurring during the rover launch.

38:51.370 --> 38:53.770
And I thought this would be a little more fun than something negative.

38:53.770 --> 38:55.350
So hopefully you'll enjoy this.

38:55.350 --> 39:01.450
And so what we're going to do is actually we selected that bounding box area, 100 miles, for two hours.

39:01.450 --> 39:03.910
Obviously I'm only going to play about a minute of this for you.

39:03.910 --> 39:10.090
And we're going to start to capture the tweets that occurred along with the images that were posted along with those tweets.

39:10.530 --> 39:11.530
So really dramatic.

39:11.530 --> 39:16.930
You can kind of see that not only do we capture the tweets, but we also capture the emojis that are there.

39:16.930 --> 39:19.730
We convert them to text so you can see what they are.

39:19.790 --> 39:27.030
Obviously we have a log of everything that occurred, as well as all the images and all of the text are associated with it.

39:27.550 --> 39:34.950
This tool allows us then to pinpoint any area in the contrary of the world so that we can actually capture live tweets.

39:34.950 --> 39:39.230
Many of you may not know, but Twitter will pull down tweets that are offensive, etc.

39:39.230 --> 39:41.470
But we can capture them because they're here live.

39:41.470 --> 39:44.090
We're capturing these as they occur.

39:44.090 --> 39:46.330
In this case, everything is pretty benign.

39:46.330 --> 39:58.010
But in certain cases, we want to be able to capture events that are occurring and be able to capture those images and videos that have been altered as they occur.

39:58.010 --> 40:02.130
So that we can then perform the analysis of them with the Phelps tool.

40:02.830 --> 40:15.310
With that quick introduction of our research and development activities as they are associated with media analysis of disinformation campaigns, we want to thank you for tuning in and always supporting DEF CON.

40:15.310 --> 40:18.010
A lot of the innovations in the world happen here.

40:18.010 --> 40:20.030
I'm so glad that you were able to make it.

40:20.290 --> 40:24.890
If you want to reach out to Mike or I, those are our email addresses.

40:24.890 --> 40:25.970
It's probably the best way.

40:25.970 --> 40:26.790
We're also on LinkedIn.

40:26.790 --> 40:28.490
Obviously, you can find us there.

40:28.950 --> 40:35.450
Have a great rest of the conference and hopefully you've learned a lot from this particular event.

40:35.450 --> 40:42.470
And hopefully this introduction to media analysis of disinformation campaigns has been worthwhile to you.

40:42.630 --> 40:44.090
Have a great rest of the week.

