DEF CON 23 - Chris Domas - Repsych: Psychological Warfare in Reverse Engineering

  Переглядів 159,759

DEFCONConference

DEFCONConference

8 років тому

Your precious 0-day? That meticulously crafted exploit? The perfect foothold? At some point, they'll be captured, dissected, and put on display. Reverse engineers. When they begin snooping through your hard work, it pays to have planned out your defense ahead of time. You can take the traditional defensive route - encryption, obfuscation, anti-debugging - or you can go on the offense, and attack the heart and soul of anyone who dare look at your perfect code. With some carefully crafted assembly, we'll show how to break down a reverse engineer by sending them misleading, intimidating, and demoralizing messages through the control flow graphs of their favorite RE tools - turning their beloved IDA (Hopper, BinNavi, Radare, etc) into unwitting weapons for devastating psychological warfare in reverse engineering.
SOeaker bio:
Chris is an embedded systems engineer and cyber security researcher, focused on innovative approaches to low level hardware and software RE and exploitation.
Twitter: @xoreaxeaxeax

КОМЕНТАРІ: 189
@ronin6158
@ronin6158 7 років тому
This guy is next level. Alot of people are very technically strong, knowledgeable or even clever, but they are compartmentalized. He really allows ideas to recurse, cross-pollinate and doesnt stop going with them. To me that is the true definition of genius.
@htomerif
@htomerif 6 років тому
yeah, but you gotta ask yourself: which of these two things would deter you more: seeing a picture from your sandbox execution environment in a control flow graph, or just plain run of the mill obfuscation?
@0xf7c8
@0xf7c8 6 років тому
Since I knew Chris Domas from a video of one of his conferences, I couldn't stop watching them He is truly a genious.
@vuurniacsquarewave5091
@vuurniacsquarewave5091 6 років тому
You really need this kind of low-level thinking for that, because there are no constraints, you can do anything when you're close to the metal.
@RobinObinray
@RobinObinray 5 років тому
Ronin it's called being geeky without internet's hivemindness.
@thatsweetlilthing2
@thatsweetlilthing2 4 роки тому
@@htomerif Why not both?
@frosty9392
@frosty9392 5 років тому
this guy is the best. somehow rolled a 20 INT, 20 CHR, and a cyber security trait lol
@jahwni
@jahwni 8 років тому
Epic. Taking a pic off their webcam if they had one and using that as the image in the CFG would be good too!
@photovi
@photovi 8 років тому
Or their IP address 👌🏼
@cpuexpert
@cpuexpert 6 років тому
it's tremendously scarier knowing that it is pulling personal photos as opposed to your ip address which it probably already pulled
@xponen
@xponen 5 років тому
they fear things like this, that's why they do stuff using virtual machine.
@noobian3314
@noobian3314 3 роки тому
@@xponen have u seen this guys other talks, he probably does know some secret instruction that can escape the hypervisor and pull in images from memory.
@nagoshi01
@nagoshi01 10 місяців тому
​@@noobian3314Yeah for real. I imagine next version of REpsych will use SMM to control the current running to the CPU, which (if there is particularly noticeable noise from the power supply), could be used to play audio. One day I hope to see malware that causes my PC tower to audibly rickroll me.
@markpenrice6253
@markpenrice6253 5 років тому
Next step: operating system, compiled entirely into MOVs, running inside a VM... also compiled into MOVs. Bonus points for implementing Quicktime drivers as part of the system, so it can _play_ .MOVs using only MOVs (...ahem)
@proxy1035
@proxy1035 4 роки тому
so all we need is an open source OS that is entirely written in C, then you can just throw it through the MOV compiler and there you go.
@sycration
@sycration 4 роки тому
@@proxy1035 linux is
@proxy1035
@proxy1035 4 роки тому
@@sycration thing is i'm an absolute noob when it comes to Linux so someone else would need to do that...
@hadinossanosam4459
@hadinossanosam4459 4 роки тому
Linux isn't written *entirely* in C, and neither can any other OS be, you will always need some inline assembly for stuff that C (and only mov's) cannot accomplish, like port I/O (IN, OUT), setting up the interrupt and global descriptor tables (LIDT, LGDT), enabling interrupts (STI), handling interrupts (IRET, or alternatively some flag manipulation commands to achieve the same behaviour), system calls (INT), ...
@proxy1035
@proxy1035 4 роки тому
@@hadinossanosam4459 i mean yea technically, but it still counts as "C" even if you use inline assembly since that is part of the C Syntax...
@Staplegunned911
@Staplegunned911 8 років тому
That QR Code got me.
@EwanMarshall
@EwanMarshall 7 років тому
Well, I deliberately followed it, but my barcode scanner just displayed the URL, then unshortened it to find the real destination and displayed that and I was like, oh, youtube video, I bet it is that one... lols.
@Phoen1x883
@Phoen1x883 6 років тому
Is it rickroll? I bet it's rickroll.
@Phoen1x883
@Phoen1x883 6 років тому
It was rickroll.
@ashurean
@ashurean 4 роки тому
@@Phoen1x883 I was watching the video when I got to the qr code bit. At that point, you know this man will destroy the universe to troll people, so I was 99% sure that it was either a gnome link or a rickroll.
@alexoja2918
@alexoja2918 2 роки тому
@@Phoen1x883 it's not.
@jonathancook8343
@jonathancook8343 6 років тому
This is my third talk by Domas, I love this guy, he's funny, a hyper-nerd and I understand around 70% of what he's talking about. His exposition on reverse engineering reversers was awesome.
@markpenrice6253
@markpenrice6253 5 років тому
The other two (about different CPU backdoors) both put me to sleep. Which is by no means an insult to him or his talks ... it was late at night and trying to comprehend all of what he was saying simply overloaded my brain. It's like the quantum astromechanics of computer hardware hacking. Probably the guys at Intel and AMD have a looser understanding of what's going on inside their processors than he does, right now.
@chomo54andbabyaisha97
@chomo54andbabyaisha97 3 роки тому
The most insane stuff I have seen. Man is a genious.
@remicou8420
@remicou8420 2 роки тому
"Why is my dog in the malware?" - Hypothetical reverse-engineer who fell for the dumbest malware plan ever
@ericmonson3760
@ericmonson3760 7 років тому
Now I need to go put Clippy in my assembly.
@FedericoTrentonGame
@FedericoTrentonGame 6 років тому
This guy is truly a genius
@Cubinator73
@Cubinator73 6 років тому
That guy has wayyy too much time :) Best DEFCON talk I have every heard :D
@cobraflunkie
@cobraflunkie 8 місяців тому
I love this. Trolling at an epic level.
@dipi71
@dipi71 6 років тому
This is bonkers! Just my kind of thing; thanks for sharing. Cheers!
@electrontube
@electrontube 4 роки тому
so strong. love to you dude. best talk at 23
@memoriasIT
@memoriasIT 6 років тому
Amazing talk, knowledgeable speaker, makes the talk interesting and knows how to reach to people. Good job!
@lucyinchat
@lucyinchat 5 років тому
Now I need to compile Linux with Movcc
@rkj11107
@rkj11107 5 років тому
Something like a surgeon placing atoms in liver in a way that next surgeon would see nice message. What a pro.
@Tuxfanturnip
@Tuxfanturnip 4 роки тому
or like that scene in The Last Mimzy where they put the teddy bear under an electron microscope and find the Intel logo nano-printed on every hair
@dorukayhanwastaken
@dorukayhanwastaken 4 роки тому
23:54 Lesson learned: x86 is the hardware equivalent of Windows, which explains why Windows is mainly an x86 OS and Win 10 on ARM isn't making much progress in the market.
@andrewfielden284
@andrewfielden284 6 років тому
The Movfuscator is pure genius! But I'm interested to know what Chris can do with Java bytecode.
@ped7g
@ped7g 5 років тому
you can always delete it, and pretend it didn't exist... or wait until JVM will JIT it into machine code and then treat it like code... a bit retarded one, but whatever, it's highly likely the original Java source was already like that, so why should the final machine code look any better...
@ChriPusch
@ChriPusch 10 місяців тому
This is a whole other level of trolling and genius. Props and wow! So interesting to watch
@the_original_dude
@the_original_dude 11 місяців тому
Oh my, this dude is a genius, and that's an understatement
@FeribHellscream
@FeribHellscream 5 років тому
imagine this as real malware
@bartlx
@bartlx 2 роки тому
Can't begin to describe all the thought paths this brought back making my own conclusions after looking at one piece of asm for hours on end... but then to make a compiler just to prove it and bring it to a stage... wtf... EDIT: okay, saw the whole thing now, with the manipulated control graph imagery based on your personal files etc... This guy is legendary.
@alexoja2918
@alexoja2918 2 роки тому
33:29 the most laborious one i've ever seen. i salute you, sir.
@Roxor128
@Roxor128 6 років тому
That Movfuscator is an atrocity!
@markpenrice6253
@markpenrice6253 5 років тому
Hmm, now, the modern world has trained us to believe that pixels have to be square, but it wasn't always necessarily thus, and for applications like this it need not be either. For the greyscale photos it's fairly optimal, but there are other types of image where a wider or narrower pixel could be better suited, and certainly cases could be made for one or the other if they better suited an attempt to weave actually useful execution payloads through the maze of dummy code. For example wider ones would tend to suit old-school game sprites, whereas narrower ones are generally better for text (and some other forms of graphics). And of course if they're double/half the size in one dimension vs the other you can always double up where a square is still needed. Particularly with a tall, rather than wide "pixel", you can still retain a degree of greyscale capability with otherwise small blocks (as the shading is dependent on how much of the available height is used, not width), and be able to write a meaningful amount of text within even a relatively small edit window, perhaps even implementing anti-aliasing, but having some freedom over what code goes where as you could write dark-ish text on a light-ish background (which gives the greatest space for writing functional code, as well as obfuscating garbage) and it would still be legible with some degree of "noise", as one or two instructions more or less wouldn't cause the block to get close to the 50% mid-grey point. Text being quite good for really messing with someone, as they might not immediately recognise a random and probably long-forgotten photo or other image from their HDD that's been mashed down to a 64x64 pixel thumbnail in about 10 shades of halftone-simulated grey, but if you can fish their name or operating handle from somewhere on the system (or the name of some contact of theirs and treat it accordingly) and include it in a short passage of mildly threatening but above all _super creepy_ text that appears to rise stochastically out of the code... that's pretty unequivocal and I'm pretty sure that if I saw that happen at 3am after a long hacking session in a dark and suddenly very quiet, very cold, very lonely room, that program and immediately afterwards that laptop would be closed with a bang registerable on local seismometers and flung across the room with no heed paid to possible damage. And of course if you really wanted, photos could be adjusted for non-square pixels: you just have to do a smooth resize with proportions distorted in an inverse relationship to the pixels they'll be encoded as. Once converted into code, and displayed in IDA, they'll automagically reverse that initial distortion and appear with the correct aspect ratio. I wonder also whether fairly sparse code path maps could be used to do more vector-style rather than pixel grid drawing using some kind of viterbi reverse tree search voodoo, if the rules for how IDA arranges and spaces things out could be more concretely determined? It might actually allow for more sophisticated images to be created with smaller output executables...
@_hackwell
@_hackwell 5 місяців тому
oh wow! this one is high level!
@softdatcls7156
@softdatcls7156 8 років тому
Good Job !
@larrygall5831
@larrygall5831 4 роки тому
Wow, that was hilarious. Very good video.. Very good. Smart guy right here.
@tysonnw
@tysonnw 6 років тому
Talk about extreme RISC, I wonder what a processor with only the mov instruction would look like and if it could be optimized to match modern processors.
@Double-Negative
@Double-Negative 5 років тому
en.wikipedia.org/wiki/Transport_triggered_architecture
@newgothwhosdis
@newgothwhosdis 5 років тому
So terrible you would not need to know
@AviPars
@AviPars Рік тому
Sweet video !!
@leahparsuidualc666
@leahparsuidualc666 5 років тому
Is there any way to rearrange those etch-a-sketch IDA control flow diagrams, due to recode at runtime .. and if so doing a 'lode runner'- 'qbert'- or at least 'snakes'- -'longplay' ??? Or, or, or ... a full Episode of Masters of the Universe! ... hmm reminds me of C=64 .. seems i have to PEEK a lil' deeper into that POKE; anyhow thanks for bringing back the magic via MOVfuscator and actually keeping the record straight for the x86-multiverse. Very entertaining. What worries me is i do understand what you are eloquently speaking about, although i can't remember when and where i could have set video-playback to 2.00x speed ... ;)
@nullplan01
@nullplan01 5 років тому
The QR code didn't get me. That's the first time I'm thankful for GEMA.
@RobinObinray
@RobinObinray 5 років тому
It's like emulation engineering via assembly with complex fractal abstrations
@Bobucles
@Bobucles 5 років тому
So a movuscator program would be immune to CPU architecture exploits, right? A program that has two different behaviors between mov code and regular assembly would indicate something was amiss?
@RahulJain-wr6kx
@RahulJain-wr6kx 4 роки тому
This is something awesome 😁
@aquatrax123
@aquatrax123 6 років тому
Amazing!
@vizionthing
@vizionthing 5 років тому
Godlike!
@DaveRoberts308
@DaveRoberts308 4 роки тому
Brilliant.
@MuscleTeamOfficial
@MuscleTeamOfficial 7 років тому
Wow, this was his first talk? No way, he did that visualization stuff in 2012
@temitopehardhekheyhe7359
@temitopehardhekheyhe7359 3 роки тому
may be the most!! resounding!! applause!! ever@defcon!!! .... .... .... aRt!!!!
@eformance
@eformance 5 років тому
Achievement unlocked: Inception complete!
@lazertroll702
@lazertroll702 8 років тому
...i need to rethink my career path...
@thewatcher_476
@thewatcher_476 7 років тому
I need to too
@RobinObinray
@RobinObinray 5 років тому
LaZer Troll security researchers have God-tier coding skills? Enterprise programmers btfo.
@wirer0p497
@wirer0p497 Рік тому
great talk :)
@adruvitpandit5816
@adruvitpandit5816 3 роки тому
Brilliant
@tnosugar
@tnosugar 3 роки тому
This is nuts! I'd go with "We know where you live..."
@Syncopator
@Syncopator 5 років тому
I think it must be time to build a computer that only implements mov instructions.
@b1ueberrycheesecake
@b1ueberrycheesecake 7 місяців тому
lmao i scanned the qr code out of curiosity watching this 4 in the morning.
@kuhluhOG
@kuhluhOG 3 роки тому
So, what is the performance of a mov only program compared to a normal compiled one?
@Raj_darker
@Raj_darker 5 років тому
Great Efforts and Really c00l video, IDA got smashed
@RobinObinray
@RobinObinray 5 років тому
On the fringe of cyber security research
@drowningin
@drowningin 6 років тому
forget security benefits. this is awesome in its own right
@jonascurry9996
@jonascurry9996 7 років тому
sick
@tuanlinhdao3389
@tuanlinhdao3389 7 років тому
Nice :D
@Gaxhar
@Gaxhar 8 років тому
I just had to scan the QR code, didn't I?
@rogerwilco2
@rogerwilco2 8 років тому
+Twitch · Rick Ashley?
@p4rsec
@p4rsec 8 років тому
*Astley?
@Angloth
@Angloth 7 років тому
*Ghastly?
@freesoftwaretalk
@freesoftwaretalk 6 років тому
Aren't you happy to know that he will never give you up or let you down?
@AndrewTJackson
@AndrewTJackson 6 років тому
You and me both, mate.
@nunosilva6574
@nunosilva6574 5 років тому
So this is what being a next-level troll is... :)
@LuxiusDK
@LuxiusDK 5 років тому
Did this guy go for the Cypher look or was it the other way around?
@newgothwhosdis
@newgothwhosdis 5 років тому
But what if you embedded Opcodes in the control graph? Would science go too far?
@rogerwilco2
@rogerwilco2 8 років тому
That's brilliant. Probably Useless, but brilliant.
@xesau
@xesau 6 років тому
RogerWilco Art
@RobinObinray
@RobinObinray 5 років тому
RogerWilco it's not useless. He showed us a sneak peek of how governments spy on us...
@RobinObinray
@RobinObinray 5 років тому
RogerWilco he uses code complexity fractaling?...
@josephsagotti8786
@josephsagotti8786 4 роки тому
@@RobinObinray How governments spy on us? This is literally about making reverse engineer's jobs harder by making code harder to read.
@nullnull6032
@nullnull6032 2 роки тому
that is insane
@seanprice7645
@seanprice7645 3 роки тому
this guy is great lol. theres vibe about him.
@jamesgrimwood1285
@jamesgrimwood1285 5 років тому
That final piece of "malware" should make use of the webcam... Seeing yourself would be a little weird :)
@nindger4270
@nindger4270 5 років тому
Epic idea and awesome talk. Sidenote though, regarding the QR-Code @ around 33:30: at least in Germany, the YT-link it takes you to is blocked :-( Still lol'ed pretty hard when I saw the title, but it kinda spoils the idea.
@josephmauck9200
@josephmauck9200 2 роки тому
He's never gonna give you up, he's never gonna let you down... it's a rickroll ;)
@IvanToshkov
@IvanToshkov 6 років тому
Great talk! Just put in some quotes from the star wars prequels. I mean, how long do you think you can stare at something like “You are in my very soul, tormenting me…” or “I wish I could just wish away my feelings”?
@BaSs_HaXoR
@BaSs_HaXoR 7 років тому
IDA GOAT.
@user-tk4zh7wk7h
@user-tk4zh7wk7h 4 роки тому
33:25 next level cryptography
@mariarahelvarnhagen2729
@mariarahelvarnhagen2729 10 місяців тому
playing last return of the japanese final surrender with TRSi
@floppydisk4500
@floppydisk4500 4 роки тому
Artist absolutely everywhere even in your source source code go have fun with it
@flapeee
@flapeee 5 років тому
BEST TROLLing EVER !!!
@blu3h4t
@blu3h4t Рік тому
This is like ascii art from hell. Or is it what snowcrush is about?:D
@shredo2
@shredo2 5 років тому
somehow I knew where that QR code will take me... ^^
@chrissxMedia
@chrissxMedia 5 років тому
wow...the qr code is a rick roll
@jamesdegriz
@jamesdegriz 5 років тому
This video makes Facebook throw an error message.
@blu3h4t
@blu3h4t Рік тому
Wait you expect a reverse engineer to run the malware bare metal on their personal machine?:D
@PiezPiedPy
@PiezPiedPy 7 років тому
hehe love it :D
@dutchgh0st540
@dutchgh0st540 5 років тому
What about a kernel written with only mov instructions?...??
@RobinObinray
@RobinObinray 5 років тому
Dutch Gh0st what about a dynamic boot-time kernel replacement with a kernel that, if disassembled with IDA, leaks any possible personal data to pastebin and then links to the pastebin url via QR code a reverser will see in CFG
@Nicofromtheweb
@Nicofromtheweb 4 роки тому
I don't understand any of this... but the drawings were funny ! I feel like a child.
@nullvoidpointer
@nullvoidpointer Рік тому
33:33, got me.
@jorgediaz6730
@jorgediaz6730 6 років тому
Holy shiiiieeet
@CharlesVanNoland
@CharlesVanNoland 6 років тому
lol control flow graph messages
@isabelle5547
@isabelle5547 4 роки тому
this is great and all but does he not look exactly like the default runescape character
@mariarahelvarnhagen2729
@mariarahelvarnhagen2729 10 місяців тому
can you see AC ?
@ICountFrom0
@ICountFrom0 3 роки тому
I kind of wanted to see what a movoscated program looked like in Ida.
@Some_Beach
@Some_Beach 5 років тому
Now to embed goatse in my code
@NolePTR
@NolePTR 7 років тому
HOLY SHIT!
@yashbansod5628
@yashbansod5628 4 роки тому
I use gdb mostly.
@TrexityTrex
@TrexityTrex 5 років тому
This man is a fucking legend lmaooo
@bluescanfly1981
@bluescanfly1981 5 років тому
Homeboy is an artist. It's like BB King playing the blues. As simple as possible, but no simpler - it just makes you happy.
@dylanmatthews7431
@dylanmatthews7431 2 роки тому
I have a question for you when it comes to wanting to crack a game. Do you personally know if there is anyone talented enough in the scene to reverse engineer the game Path of Exile? People say it's one of the worst targets they've ever attempted, with a bunch of abstraction layers and you get perma banned if you even look too long. It's a live server client and the game is free, but people want to make their own private server out of it to be able to play the content the way they want, in a non-profit fashion obviously. Any ideas on how you would go about bypassing the drm on this live service client and getting the source code for people to make their own private server out of it?
@danatronics9039
@danatronics9039 5 років тому
"Why is my dog in the malware?" /r/brandnewsentence
@brashcrab
@brashcrab Рік тому
Elvis is Alive
@kahungchim6367
@kahungchim6367 Рік тому
Alternative title: How to make pixel art with IDA pro
@evanperrygiblin
@evanperrygiblin 5 років тому
I just don't think that any code should have to be written twice, there's so much time and headache to write it the first time
@Technopath47
@Technopath47 7 місяців тому
For anyone else who is wondering what that QR Code leads to, it's a Rick Roll. (facepalm laughs)
@Warutteri
@Warutteri 5 років тому
33:44 Got fucking Rick Rolled x'D
@peepopalaber
@peepopalaber 5 років тому
He is the real king of trolls.
@TatsuZZmage
@TatsuZZmage 6 років тому
oh god idea a full build of gentoo with it mwa hahahaha
@elidrissii
@elidrissii 6 років тому
What a genius lol.
@caleballen4721
@caleballen4721 4 роки тому
Every time this guy is in my recommended I hope so badly it's a new one.. but I heard he got hired by Intel so he probably won't be doing these public talks anymore..
@KarlMySuitcase
@KarlMySuitcase 4 роки тому
That would have been a great call on intels part
@dasinhaberlicht3998
@dasinhaberlicht3998 5 років тому
I got lost at 0:00
@billigerfusel
@billigerfusel 5 років тому
Holy shit, this is evil.
@DJBillyQ
@DJBillyQ 5 років тому
A security in and of its own...
Эта Мама Испортила Гендер-Пати 😂
00:40
Глеб Рандалайнен
Переглядів 3,1 млн
Помилка,  яку зробило військове керівництво 🙄
01:00
Радіо Байрактар
Переглядів 439 тис.
🔥 Україна виходить у ФІНАЛ ЄВРОБАЧЕННЯ-2024! Реакція alyona alyona та Jerry Heil #eurovision2024
00:10
Євробачення Україна | Eurovision Ukraine official
Переглядів 175 тис.
DEF CON 30 - Sam Bent - Tor - Darknet Opsec By a Veteran Darknet Vendor
48:29
DEFCONConference
Переглядів 297 тис.
DEF CON 26 - Si, Agent X - Wagging the Tail:Covert Passive Surveillance
47:14
DEFCONConference
Переглядів 188 тис.
Have You Been Pwned? - Computerphile
10:59
Computerphile
Переглядів 476 тис.
The PA042 SAMSUNG S24 Ultra phone cage turns your phone into a pro camera!
0:24
The PA042 SAMSUNG S24 Ultra phone cage turns your phone into a pro camera!
0:24
Вы поможете украсть ваш iPhone
0:56
Romancev768
Переглядів 121 тис.
Нужно ли чистить ПК от пыли?
0:59
CompShop Shorts
Переглядів 101 тис.