go get a yubikey! yubi.co/lowlevellearning-2024 Edit: I may have caused some confusion about the derived Private Key. When you generate the private key using 'ssh-keygen -K', you're not actually downloading the key itself. You're create a key that stores the credential ID of the Yubikey. You never have access to the private key within the Yubikey. Sorry for the mixup!
@l0gic233 ай бұрын
Best Yubikey ad yet
@RexHanson-c7h3 ай бұрын
what's your source, I want to read the blog myself
@eveldun3 ай бұрын
I have one and I actually love them for gpg
@alexpasko11263 ай бұрын
Please do a longer video where you show the many applications of yubikeys! That's the kind of add that I would LOVE!
@jamesdupuis32493 ай бұрын
Now we're learning about pen caps? How low we going? I'm going to start a Limbo code channel. It'll just be a reaction channel. :) Have a great day!
@Liberty4Ever2 ай бұрын
That's nothing. Starting with Windows 10, Microsoft made hacking completely obsolete by integrating spyware directly into the operating system rather than forcing black hat hackers from adding it later.
@doodlegarbage676925 күн бұрын
@@Liberty4Ever LMFAO
@barbados359222 күн бұрын
❤😂😂😂😂
@ConnThaDon22 күн бұрын
Even that is just scratching the surface
@Xport919 күн бұрын
real
@OP-fd4lh15 күн бұрын
@@Liberty4Ever 🤣🤣🤣
@rob53003 ай бұрын
If chromium was the only browser engine left the web would be TOAST
@monad_tcp3 ай бұрын
its 90% there
@echoptic7753 ай бұрын
Yeah, good thing we also have Microsoft edge, opera, brave, Vivaldi...
@Pipe04813 ай бұрын
@@echoptic775 Firefox?
@darukutsu3 ай бұрын
@@echoptic775this is joke right?
@theairaccumulator71443 ай бұрын
yeah the insane competition of 3 browser engines
@Danglutas3 ай бұрын
Firefox: Excuse me? 🤨
@MelroyvandenBerg3 ай бұрын
Yea that chromium statement is not nice
@ContemplativeCat3 ай бұрын
I'm using Firefox based Zen Browser and loving it. 😃
@pu2393 ай бұрын
@@ContemplativeCat same lol, its pretty nice
@no_name47963 ай бұрын
But realistically though, firefox has a smaller share of browser users then linux has of desktop OS users
@Bunny99s3 ай бұрын
Right, me and most of my family is using Firefox for over 20 years now. Well my family essentially had not really a choice as I have setup most of their PCs :) Though it's not like they care or know anything about what a browser actually is. It's "the internet". The only cases where I use chrome was on my old Nexus tablet and my smartphone. Though I do have FF on them as well. But chrome runs a bit faster on those weak devices :P Though whenever I need actual customization, I switch to FF. My FF in my phone also has an altered User-Agent to pretend to be a PC and not a mobile device. Can be really handy in many cases. Websites nowaday are really great in messing up themselfs in an attempt to "adjust" to your device.
@hatacoyama12463 ай бұрын
does this mean he never made an expo marker sword?
@PermanentExile3 ай бұрын
@@hatacoyama1246 Inconceivable!
@guilherme50943 ай бұрын
Nooooooo!!!!
@LowLevelTV3 ай бұрын
what is that
@bearwolffish3 ай бұрын
he never had tried to balance a pen tower on the palm of his hand, having to dodge the projectiles on their in evitable way down.
@jamesdupuis32493 ай бұрын
Not everyone has twenty of these. Now we have two, and one is dead.
@DecadantHandshake3 ай бұрын
This man unlocked early game marker tech at level 50. Edit : This just made me realize he has never known the joy of making a sword out of many markers, and then whacking a classmate with it
@henxdl3 ай бұрын
fr 😭
@Stratelier3 ай бұрын
Doesn't this also vary by specific type of marker? For example, his is the type where the cap has a "peg" that inserts into the top of the barrel, which allows you to chain several markers together, but I've also seen markers where the cap stores the other way around, and does not chain? Visual example below. Marker with nesting caps: (barrel -> cap) ===>- |>| capped |>|===>- uncapped Marker with non-nesting caps: ===>- |>| capped |- uncapped
@rl33t743 ай бұрын
@@smitcher you should do some research on the big boy words you're trying to use there, buddypal (hint: look up the words "we", "nerd" and if you're feeling super brave with your homework: "mansplain")
@austinsharpe81572 ай бұрын
I'm not convinced this guy has ever used a marker ever
@tongpoo89852 ай бұрын
If you used scotch tape to make the joints more robust as a kid, you gain +10% xp gain for mechanical engineering as an adult.
@rechallington3 ай бұрын
too busy hacking your preschools web server to pick up the marker cap beta? insane
@blankexpression2u3 ай бұрын
for you to call someone a beta is funny AF. Nice stache sweetie
@voltairesarmy67023 ай бұрын
I think the beta was referring to software versions. Like the beta version of the marker cap technology 😂
@rechallington3 ай бұрын
@@blankexpression2u @voltairesarmy6702 more so 'beta' used in climbing terminology to mean techniques used. also thanks, i grew it myself
@rechallington3 ай бұрын
@@blankexpression2u lol dude, beta as in the climbing term which means technique or instructions. also thanks i grew it myself
@Acetyl533 ай бұрын
@@rechallington It's probably a bot.
@Ejioplex3 ай бұрын
A summary of what this function does is pretty much: See this memory? never ever ever EVER let me edit the permissions of this memory EVER again!
@LaserFur3 ай бұрын
I could imagine ways to use this even if the spawned child process seals all it's allocations and then runs out of memory. The child process would just fail and the main process would create a new one with more memory. Given how file reading code for old formats also lack much attention this could be useful for more than just browsers.
@jfbeam3 ай бұрын
At least _in userspace_ ... (hint: the kernel can screw with those flags all it wants.)
@not_kode_kun3 ай бұрын
@@jfbeam but when the userspace is so tightly locked down, it makes it much harder for an attacker to get kernel level privilege. once he has that, there's really not much you can do. at least not with software
@kevinchadwick89933 ай бұрын
@@not_kode_kun Writing the kernel in Ada would make it very hard. Harder than on a CHERI system. Though I guess the point of CHERI is meant to be that it is easier to port Linux to CHERI than to re-write it. Though I'm not sure if it completely supports OS functionality or not. I think CHERI does.
@malus3143 ай бұрын
Boo for clickbait title but solid video that’s super interesting as always.
@devviz2 ай бұрын
how is that title clickbait?
@malus3142 ай бұрын
@ It’s a very editorialized title, there’s nothing that makes hacking impossible and any security researcher worth their salt will tell you that. The title is nonspecific and leads you to click on it via the draw of grandiose claims. It’s not a BuzzFeed headline but I don’t think it has to be that bad to be clickbait
@MissMyMusicAddiction3 ай бұрын
i usually just seal the marker by putting it back in my nose.
@AL-eu4ey3 ай бұрын
@@MissMyMusicAddiction or somewhere else 😏😏
@weenerhutjr3 ай бұрын
@@AL-eu4ey yee i usually put it in mi butt when im done
@henxdl3 ай бұрын
lmao
@al6r7253 ай бұрын
@@AL-eu4ey Sharpie
@robnobert3 ай бұрын
Reported.
@KillianTwew3 ай бұрын
0:10 Elementary school. Thats how long ago I learned that. I'm 30.
@robnobert3 ай бұрын
Reported. Dude. Not okay.
@vstrxl3 ай бұрын
@@robnobert ??????????
@Nik-rx9rj3 ай бұрын
@@robnobertlmaooooo
@VeryEnGeorged3 ай бұрын
I don’t know what happened to you that early in life, but I’m sorry bruh.
@BreadLock3013 ай бұрын
What's with these replies? There's nothing wrong with OP's comment.
@wolfschaf3 ай бұрын
"Shadow stack" is also something that prevents these kinds of attacks, by having a separate stack for return addresses
@_lslvr3 ай бұрын
Like Forth?
@treyquattro3 ай бұрын
I was thinking the same, but of course that won't protect against someone flipping the NX bit on the stack via mprotect (or any other rw memory pages)
@vk3fbab3 ай бұрын
Or a hardware implemented shadow stack. Of course that's gonna put hard limits on the level of recursion supported and how's that work with with each process needing its own stack. You might need a way to read the hardware stack for debuggers but there should be no need to modify it. I haven't seen any modern architectures use this but I think some older architectures did it.
@diobrando76423 ай бұрын
@@vk3fbab shadow stack is a hardware level protection by definition
@diobrando76423 ай бұрын
@@treyquattro but trying to return to the stack would make the program crash, because the address on top of the stack wouldn't match with the one on top of the shadow stack.
@MartinBarker3 ай бұрын
While mseal provides robust security by preventing any modifications to sealed memory, it comes with significant downsides. Long-running services cannot effectively use this syscall because they would retain all sealed memory until the process terminates, leading to increased memory usage over time. This could eventually exhaust available memory, forcing the kernel to kill the process to free up resources. Therefore, using mseal in long-running applications is not practical due to the risk of memory retention and potential system instability. Additionally, the most common exploits target long-running services because they need to be persistently running. This makes mseal ineffective for protecting these services, as they cannot afford to retain memory indefinitely. So, what exactly is this protecting?
@framegrace13 ай бұрын
The main purpose of this is to be used by the kernel itself, to protect the stack and other shared areas. Not sure if there's of any use on userland (Or even if it can be used there)
@acters1243 ай бұрын
the person who sponsored this change works with the V8 engine. Will I see the chromium browsers eat more memory on Linux now and require periodic restarts for simple garbage collection? worrying, but also, restarts are how updates are done so, idk if it is a problem for that specific use.
@acters1243 ай бұрын
@@framegrace1 I was under the impression the V8 engine will use this new feature to strengthen the chromium browser security
@Darkyx943 ай бұрын
In the case of V8, the user heap is already sandboxed in order to limit the ability to exploit the software via memory corruption. However, if someone manages to escape the sandbox, nothing prevents it from remapping it executable, then jumping to the payload stored there (since the heap is, by design under user control and relatively big, we must consider it tainted). The stack size being relatively limited and already partially protected via canaries, it's way harder to store a full payload on it, so protecting the sandboxed heap against being remapped already does a lot
@foobarf87663 ай бұрын
Used on OpenBSD for over a decade without ballooning issues AFAIK but probably does require a slower/more secure free() implementation to complement it. Which the Linux kernel has also had for years.
@ThisPageIntentionallyLeftBlank3 ай бұрын
I would say give it a couple months, someone will figure out how to disable it, work around it, or use it to their advantage. 1337s gonna 1337
@PoseidonDiver3 ай бұрын
yup... there was some dude(s) who would go through intel architecture for fun and......... spectre.
@premiumvibes9613 ай бұрын
@@PoseidonDiver God Bless Them.
@rtzgf67games73 ай бұрын
What
@petervancaeseele98323 ай бұрын
Its like trying to make an unpickable lock.
@foobarf87663 ай бұрын
OpenBSD uses methods like this and no major CVE since 2006
@tommyandersen40043 ай бұрын
"... makes hacking IMPOSSIBLE" ... famous last words.
@smitcher3 ай бұрын
Clickbait, given the ultimate meaning of hacking...
@bogganalseryd23242 ай бұрын
@@tommyandersen4004 lol 😂 there's no such thing as a secure code.
@HimitsuYami2 ай бұрын
Honestly, declaring something impossible is just a challenge to try
@bidet10982 ай бұрын
@@HimitsuYami 🤣🤣🤣 wait till the any% speedrun guys come to crack that
@justinkundert338326 күн бұрын
@@bogganalseryd2324 exactly, and like overflow is the only thing hackers ever use .. kinda silly
@maurizio_italy3 ай бұрын
not hackable sounds very like unsinkable
@kittentheboss27962 ай бұрын
Just an iceberg away.
@b33thr33kay3 ай бұрын
Could you not be so clickbaity? Could you put at least the name of the feature in the title or in the thumbnail, please?
@asdfghyter3 ай бұрын
DeArrow is a great extension for exactly this reason! it’s by the same guy who made sponsorblock. it even works in mobile safari
@vfryhn23 ай бұрын
No
@kellymoses85663 ай бұрын
Sorry but vague titles are proven to get more clicks. KZbin lets you do A\B testing with different titles and thumbnails
@alfadorfox2 ай бұрын
Welcome to KZbin.
@emilianomolinagonzalez26652 ай бұрын
@@b33thr33kay he started explaining the method before the first minute of video my man
@djsmeguk3 ай бұрын
Man, I used to make giant rods full of markers by putting them end to end like that. The Sword fights in the offices were EPIC.
@distortions3 ай бұрын
brings me back to school.
@ShipShippingShip3 ай бұрын
Sounds like an epic place to work in
@AndrasBuzas19083 ай бұрын
Cringe
@TheAlexgoodlife3 ай бұрын
It would be cool if you made a video walking through the actual steps of the example you showed, writing "malicious" code, overflowing the stack and setting the return address to the malicious code for example
@smitcher3 ай бұрын
Numerous examples on KZbin if you search. FT did a good DNS RCE where they pretty much explain the steps they took to overflow the buffer and the stack return address and then built a ROP chain to execute the code that they sent kzbin.info/www/bejne/j3SyoJZnipyehqMsi=XE6DQFjG94BZJ7G5&t=430
@anreoil3 ай бұрын
That would require skill.
@smitcher3 ай бұрын
@@anreoil not really... finding the vulnerability vector is the most difficult part
@psychosomatiqueofficial2 ай бұрын
I'm sure you'd love that
@IngwiePhoenix_nb3 ай бұрын
Chromium "The only browser engine" Firefox: Screaming on a market place inbetween banners of ads. Servo: Scouring bins and baskets trying to find support. Ditto: _shrug_ IE: WHY ARE YOU RUNNING
@RandomGeometryDashStuff3 ай бұрын
wine gecko:
@autohmae3 ай бұрын
Well, IE is a deadend, but Safari and others are running Webkit, not Blink (Chromium)
@Beryesa.3 ай бұрын
WebKit dusting in the corner
@LazarNaskov3 ай бұрын
Ladybird: vibing in the corner
@cantfindme-x4u3 ай бұрын
netscape navigator: rotting away
@Zelousfear3 ай бұрын
Of all the system that I've broken into, I've never used memory corruption, just people corruption.
@theunseen0103 ай бұрын
if you've never had a 'lightsaber' fight with about 7 expo markers stuck together, you haven't lived brother
@tommybronze34513 ай бұрын
Embedded boy here. Have you ever heard about writing past the canary ? Alto this is a nice feature that will decrease the attack vector we're not out of the woods yet. On of the biggest problems is mixing data with program.
@imciviled3 ай бұрын
I fail to see how this makes hacking “impossible”. With the nature of the stack, it makes it impossible to make it immutable. This doesn’t inherently stop ROP or make it any harder either. I’d argue if you had a ROP primitive and the gadgets to be able to call mprotect on the stack or another memory region to make it executable, you’d have the gadgets to escalate a limited ROP primitive into something more useable (I.e increasing allowed ROP chain size, where it’s placed, or pivot to another primitive entirely). This definitely can be an obstacle in some attack vectors, but I don’t think it’s going to nearly have the same security impact that stuff like stack canaries, ASLR, seccomp, etc presented. Sandboxing or permissioning will never make memory corruption “impossible”. If that were the case, we would’ve seen binary exploitation die long ago.
@diobrando76423 ай бұрын
That's what I said! If you can call mprotect you could probably call mmap and create a new page entirely
@sebastianlastname59773 ай бұрын
Another fun fact about those markers, it's the same ink as in a sharpie. It just has a different solvent that prevents it from drying out rapidly. You can use an expo marker and go over a sharpie mark on a whiteboard, then wipe it off, and after a few cycles it'll get cleared off.
@xxportalxx.3 ай бұрын
Oh that's nest, I suppose that's why if you leave expo on for too long it becomes permanent lol
@miguelmontero41333 ай бұрын
Someone clearly never made marker swords when they were a kid.
@patrick_test1232 ай бұрын
Only as kids, right @djsmeguk?
@haveboard3 ай бұрын
all this knowledge and smarts, but you just learned the marker cap thing? There is hope for me, yet! just pulling your leg, love your channel, I always learn something new... but not this marker thing, I knew that already.
@guilhermesoares78573 ай бұрын
LowLevel : Linus is very passionate Linus on this patch discussion: Stop this. I do not want to hear your excuses for garbage any more. We're done. If I hear any more arguments for this sh*t, I will literally put you in my ignore file, and will auto-NAK any future patches.
@ragtop632 ай бұрын
Nvidia - Feb 2021: "Our crypto hash rate limiter is unhackable!" Hackers - Mar 2021: "I just hacked it..." Moral of the story: If it's software, it's hackable.
@AntranigVartanian3 ай бұрын
Good to see Linux catching up with OpenBSD on the security side and FreeBSD on the performance side.
@foobarf87663 ай бұрын
Yep I came here just to say 'but OpenBSD has done this for like two decades'
@ManuFortis3 ай бұрын
Curious, but why no mention of NetBSD? Just installed it on a side rig to tinker with, so am curious why it's not mentioned.
@ManuFortis3 ай бұрын
@@𪛗 Important aspects in which way? Feel free to explain at length if you feel you must to get the jist of things across. I'll read it.
@AntranigVartanian3 ай бұрын
@@ManuFortis I don’t know much about NetBSD so I didn’t wanna comment, but hey, looking at the charts now, I guess one day Linux can catch up with NetBSD, when it comes to portability, aye? :D
@ManuFortis3 ай бұрын
@@AntranigVartanian Fair enough. I'm mostly interested in it for its ability to be put onto basically anything. Which I think is going to come in really handy for my intended use. Also, some of the most successful companies use BSD for their systems, and it seems NetBSD is probably the original basis or is closest to the original basis for most if not all of them. Nintendo uses their own version of BSD as I understand, as has Sony many times, especially for the PS3. Apple, well, MacOS is based on Darwin, which is an offshoot of yet another BSD OS. Sometimes the best way to copy success, is to copy the methods, right? Making my own game, and I'm thinking at this point my own console too to support a proper gaming platform that respects the right to own property properly; well those are going to need an OS that has a proven track record already. So BSD it is, I guess. I decided to start with NetBSD, because why not, since it has the best compatbility with whatever I end up making my proof of concept/prototype rig hosting whatever fork of NetBSD I end up creating in due time. (Probably going to be a nanoBSD version of NetBSD altered to favor gaming and communications. Nothing too fancy, just enough to do the job.) That portability you mention is where that comes in. The smaller the OS can be made, the more resources are left over for the actual game being played. Can do that with Linux, but there is too much chaos in the Linux community as of late for my liking. And certainly doesn't make sense to do it with Windows. I did ponder the possibility of using an offshoot of MikeOS, the assembly based OS; but it's 32 bit only. So BareMetalOS would be the next to look at for that. But that's still a work in progress really. Kind of too early to be used for something that requires dedicated stable reliability as I see it. As in it will do exactly what you expect every time bar only the more extreme circumstances which it cannot be expected to withstand, etc. Side note: I personally think gaming and computing needs to have a return to its roots in some regards, and not just in the playing retro games side of things either. Consoles have become computers in their own right, which is great in some ways, but terrible due to others. IMHO, game consoles should do one thing mostly, really well, with whatever else added on being made to exemplify the main function; not degrade it. That one thing being their main function. Everything else, can take a second seat at the very least, or not be included at all if it can't meet those standards. We have tablets, laptops and desktops for the things consoles don't need to be doing. And likewise, consoles should be doing the things that the others don't really make sense to include for. Like physical media for instance, with games. Nintendo does this right, even if they aren't everyones favourite right now. They include physical media in a day and age when it would probably make more sense economically for them to stop doing that. Meanwhile the others are trying to do away with it, all because digital licensing offers bigger profit margins. I can't begrudge them of that too much, since they do need to make a profit. I just wish they would be smarter about it in a way that isn't anti-consumerist. What era of graphics would this target? I'm thinking something in the realm of PS1 era graphics in regards to the RPG's aesthetics of the day, but upgraded as much as the console can handle to allow for larger games while not reducing graphical aesthetic quality more than necessary. I figure this should give plenty of indie devs a stable starting point for their own games, where they don't want to have to compete with AAA's pretending to be Indies on places like Steam. Anyways. This is getting longer than necessary, so I'll end it there for now.
@bloody_albatross3 ай бұрын
Note: Chromium isn't the only browser engine on the internet.
@s4yto3 ай бұрын
no one said that it was, chromium is just the world's most popular engine
@bloody_albatross3 ай бұрын
@@s4ytoHe literally does at 0:57. I don't think you can use the "like" as an excuse, given how that word is used these days, just as a filler word.
@木原篤郎-b4m3 ай бұрын
@@bloody_albatross but that is precisely the meaning of "like" as an adverb in such a sentence structure. Taken from Merriam Webster: "Nearly, approximately; used interjectionally in informal speech with expressions of measurement". So not only it is a valid excuse, it is the most likely meaning of the sentence.
@ProfShibe2 ай бұрын
@@bloody_albatross that's how you properly use "like" in English. Look up the definition. It's not just a brainrot filler word.
@nanderv2 ай бұрын
@@木原篤郎-b4m Using like is disingenious though if there's still another large browser, Especially since Firefox is still the default browser on a lot of Linux flavours. And also especially since Firefox uses Rust, which also solves most use-after-free category bugs by not being 1970s technology.
@Jenny_Digital3 ай бұрын
For thousands of years… Ladders were high tech ways to break in.
@Evan490BC2 ай бұрын
They still are.
@bobpegram8042Ай бұрын
Chromium is not the basis of Firefox which is why Firefox is so secure.
@Ziryu23 ай бұрын
Im sorry if this is a stupid question, but whats the difference between a yubi key and storing the ssh key encrypted on a normal usb drive?
@monad_tcp3 ай бұрын
the yubikey has cryptography hardware to encrypt your ssh key and do the authentication of the public key with the key never leaving the yubi key itself. A normal USB drive would have to copy the private key to the computer's RAM, thus exposing it.
@godofpotatos46913 ай бұрын
@@monad_tcp but he says that it downloads the ssh key locally
@VNActivityProjectRem3 ай бұрын
@@godofpotatos4691 yes, but only if you want to download it locally (i.e. if you manually execute that command from the video). Normally you don't do that, since it's considered insecure. You want to let the Yubi key do its own thing
@LowLevelTV3 ай бұрын
I misspoke here, you don't actually get the key, you get a derived Private Key that associates to the credential in the Yubikey.
@Jeff-ss6qt3 ай бұрын
His implementation is even worse than storing the key temporarily in RAM. He's storing it to disk each time he wants to use it, nullifying the reason to even have a Yubikey or smart-card in the first place. At the very least, if a security program, service, or framework supported the Yubikey/smart-card, it could store the key in protected RAM and securely communicate with the Yubikey/smart-card in a way that doesn't require the program programmers or user that needs it to be an expert in cryptography, in order to prevent side-channel attacks. But, the way he does it is terrible.
@BlitzinMackGaming2 ай бұрын
Bruh... You really thought you just had to keep up with the market cap? Why did you think it had such a weird shape to it before? 😂 I'm dead. You made my year with that one. Nice video man.
@Muhammet-Kuruoglu3 ай бұрын
I didn't understand most of the technicality's in the video, but I feel intellectually superior to Low Level, since he just figured out the marker cap trick.
@TheLEEC2 ай бұрын
I’m not sure this title will age all that well… But I like your optimism.
@peterbergvall77523 ай бұрын
Impossible, you say? .....And that is the sound of "challenge accepted" around the world.
@dab42bridges802 ай бұрын
I can imagine hackers reacting to that title with "hold my beer"...
@MelroyvandenBerg3 ай бұрын
no way, saying that Chromium browser is the basis of all browsers on the internet is not only wrong. But also delusional.
@theairaccumulator71443 ай бұрын
It's the basis of all browsers that people actually use
@ContemplativeCat3 ай бұрын
I've used Chromium browsers for years but have grown tired of poor integration with my desktop. I recently discovered Zen Browser, and I'm actually quite enjoying it. I'm also watching the development of Ladybird browser with great interest. We need more diversity and competition back in the browser market.
@KevinJDildonik3 ай бұрын
Nerds don't realize that an astonishing percent of people use whatever is default. 90+% of all Android traffic is through stock browser aka chromium. As in, 90+% of Android users never install any other browser. At all. Ever.
@TroubledTrooper3 ай бұрын
It's most, I think the second non-Chromium based browser is Safari.
@deoxal79473 ай бұрын
Can't trust this video based on that alone. Been looking through the comments for the tldr but can't find it
@stuartedwards69963 ай бұрын
"Every browser on the internet." Firefox and Safari: Hold my beer.
@merlinraymond10143 ай бұрын
Firefox: *exists* LowLevel: I'm about to end this man's whole career
@GK-rl5du3 ай бұрын
Such an interesting history, please consider doing a deep dive on memory vulnerabilities. Learnt a lot 🙂
@amandasandell33513 ай бұрын
3:53 please go super deep into the details in another video, if you haven't already
@SkyNick3 ай бұрын
OMG your marker trick made my day, glad I had a marker nearby I could try it with or would be convinced it was pure old VFX.
@harlycorner3 ай бұрын
It's funny that a week ago, I hadn't even heard of Yubikey. Then, 3 days ago I got a new laptop from my employer with a USB Yubikey plugged in, and now, all of the sudden, we also have video featuring a Yubikey 😁
@dsuess3 ай бұрын
Anytime someone says, "Impossible", another says, "hold my beer."
@MK73DS3 ай бұрын
0:32 All the hackers from thousands of years ago were using this method too, so you were correct.
@AndrewLobley2 ай бұрын
The quest to make a truly unhackable system will never end, but it's imperative that we never stop trying.
@hacked21233 ай бұрын
The marker thing is probably an indicator of someone who grew up with a cellphone, versus someone who did not...and was bored...and tried all the things including how many markers you can stick together before it collapses under its own weight as a bridge.
@Deltaract3 ай бұрын
no it isnt lol
@hacked21233 ай бұрын
@@Deltaract it was partially a joke, but there certainly a strong correlation, though not mutually exclusive either.
@JosephSaintClair3 ай бұрын
Great info. I teach things like PIE/NX/ASLR overrides (and more) to masters students. So seeing the base overflow concepts iterated here is gold
@suchiman1233 ай бұрын
Quite the clickbait headline. Does not seem all that useful, Intel CET is a much more effective mitigation without the downsides of mseal.
@diobrando76423 ай бұрын
I perfectly agree, the only advantage to this is that it doesn't need hardware support, but you can achieve this kind of protection with seccomp rules
@AdityaBasu923 ай бұрын
Very true.
@WeisenbergTKMrWhite3 ай бұрын
Does AMD have an equivalent?
@diobrando76423 ай бұрын
@@WeisenbergTKMrWhite Yes! All Zen3 processors have shadow stack protection
@longlost84242 ай бұрын
beautiful explanation (introduction shall I clarify) of lower level computer functions (via assembly)...... in my career of computer science (47 years and counting) I've often had the chance to explain to younger folks the base level of computing beyond their knowledge of a given operating system or programing language. there's an entire world waiting to be explored (or more to the point understood) in this modern day world we use every day......
@isbestlizard2 ай бұрын
Why would I ever want to turn the X bit back on a memory region I've declared NX? Like, what's the use case here? Honestly it might just be easier to run a hardened kernel that just disallows that by default.
@soniablanche56723 ай бұрын
not only you can put the buffer size with scanf via the string formatter, the compiler is smart enough to detect if the size provided to scanf is too big
@muhammetmelikkolgesiz92523 ай бұрын
@LowLevelTV whick keyboard you use? It's sounds so thocky !
@aeebeecee37372 ай бұрын
Not a mechanical keyboard
@delusionalaar40313 ай бұрын
I’m learning low level programming from a guy who just figured out expo caps click on the end. You never stacked expos in school? Love your content by the way, it’s some of the best.
@anon_y_mousse3 ай бұрын
This is an interesting idea, but I'll say it again, the actual biggest source of errors is not checking user input. If you use gets() or if you use scanf() in that way, you are not checking user input at all. That is the real error. The memory corruption is merely a side effect of what you've already done wrong.
@chainingsolid3 ай бұрын
Honestly the 2 things I'll levy at whoever is in charge of C's specification at this point is why do header files exist in 2024, and a hard deprecation of use of pointers as arrays never happened. An array should be pointer + length. Then bounds checks can be done.
@steffennilsen21323 ай бұрын
@@chainingsolid Dramatically changing the C spec is essentially not going to happen, it has to retain legacy computability. That said, newer languages obviously dont need headers anymore and some (like Rust and Zig) implement slices that are as you say pointers + length
@futuza3 ай бұрын
@@chainingsolidwhat's wrong with header files?
@chainingsolid3 ай бұрын
@@futuza Typing stuff twice. And being forced to predeclare anything before you can use it. They have a great use in supplying an API, but normally are just duplicate information.
@chainingsolid3 ай бұрын
@@steffennilsen2132 I agree backwards compact is super important. I'm not implying they should stop compiling old code. They should be making an easy to use replacement for pointers pretending to be arrays that can be used for future code.
@FentFanta3 ай бұрын
I love sponsorblock telling me that I don't need 7 minutes of this 10 minute video. Thanks for saving me 7 minutes of my life.
@LukasCarrein3 ай бұрын
0:59 he just insulted firefox like that
@YK38233 ай бұрын
Thanks!
@null-0x3 ай бұрын
@0:33 you could say thousands of years, starting in the second millennium(1990s) and still continuing into the third millennium(2020s)
@MrI8igmac3 ай бұрын
Very nice video, I. Wish I had seen this ten years ago. Your explanation on buffer overflogs is incredible..
@jonathaningram81573 ай бұрын
That keyboard sound is pure eargasm. It's rare when not on a specialized keyboard channel.
@Terajoel3 ай бұрын
@@jonathaningram8157 came to the comments to find out which keyboard it is, no luck though. Does anyone know?
@watamatafoyu2 ай бұрын
Memory isolation as an idea for apps has been around for decades, yet people keep rejecting it, because they prefer convenience to security.
@tony-does-stuff3 ай бұрын
@2:50 I just have to ask, I'm not certain I follow with Yubikey. What happens if someone gets ahold of my yubikey? Wouldn't that present a security risk?
@matthewspence7663 ай бұрын
@@tony-does-stuff technically yes but generally that’s a lower risk than sending ssh keys other ways. Any attacker that has physical access to steal your yubikey can just use a good ol’ fashioned crowbar attack and get whatever they want from you anyway.
@SlavaThereshin2 ай бұрын
@@tony-does-stuff If I recall correctly, you set a password during onboarding, and only after verification a key may be extracted.
@Fred_Klingon2 ай бұрын
I think you mentioned the right point at the end... if it's a software implemented feature, then it's just a matter of time (unfortunately not much I guess), that it will be bypassed.
@miscbits3 ай бұрын
This sponsored segment contains one of the only products shilled by a youtuber I actually want to buy
@treyquattro3 ай бұрын
yeah, I liked the way it was incorporated into the rest of the content with examples too!
@dhillaz3 ай бұрын
And for those who already have them, I learned a new feature!
@fuseteam3 ай бұрын
"chromium the basis for all browsers" Safari & firefox: say what now?
@ZenbyBosatsu3 ай бұрын
Love your stuff man!
@BrentGregoryRoth13 күн бұрын
@LowLevelTv When I was in grad school, I published a paper on how we could prevent these memory exploits implicitly by having segregated data ... different stack for "data" versus "metadata (pointers, register values, etc.)". different heap for "data" versus "metadata (pointers, register values, etc.)". This would mean that overflowing a buffer would overflow only data. I'm sure some other exploits could happen, but it wouldn't be from messing with register values on the stack, etc. .. and it'd be implicit so no time spent having to check/validate as with other implementations.
@reatcas3 ай бұрын
What about the physical NSA backdoors implanted in the silicon chips?
@robmckennie42032 ай бұрын
In fact one of my oldest memories is an older kid showing me how you could make a mega pen by joining several smaller pens together
@TheRealStevenPolley3 ай бұрын
0:59 - Firefox RIP in peace
@alfadorfox2 ай бұрын
pepperoni
@yourhandleshouldbe3 ай бұрын
You can also stack those whiteboard markers up end to end and make a big long marker
@Insaniaq3 ай бұрын
I thought this comment section was about mseal(), but it's all about markers. I don't get the reference, did I just end up in the wrong comment section? Some KZbin memory leak somewhere? Please, help!🙏
@apIthletIcc3 ай бұрын
Idk if you legit don't understand the marker command but it's hilarious six people liked the comment without replying with an explanation Edit: mark that seven
@acters1243 ай бұрын
no, what you found is proof of the average IQ of the average social media comment section. Not many know what the mseal will do, but many more know what a marker sword is. which one do you think people will be able to talk about? the one with least resistance and confidently know enough to post about as if there are not other 100s of comments letting the youtuber and other viewers know about the markers they know so well. I on the other hand can't deny that I will miss the days I use mprotect to gain code execution. V8 is already strong in protections and require so much to get close to a working POC. most of the time relying on old versions of chromium to have fun with as the more recent ones are too complex to enjoy that quick satisfaction that one gets from solving a challenge. Even CVEs dont offer enough info, which is fine as I doubt many want their systems to be easily broken into. I sometimes do miss the days before AMD64 for which in a x86 environment would allow you to just load all the ROPs and the needed arguments in the stack instead of worrying about having to find gadgets to ROP the arguments into the registers. sometimes I am lazy, and want to find enjoyment in something that is getting progressively harder in the modern age. RIP tbh, if anyone did care about ROP security, we would be using shadow stacks that are separate from our modifiable variables to hold the return addresses. its been a solved problem for a long time, but its definitely slowing down execution a little. I wonder if mseal is truly going to solve it without the loss of performance.
@sirseven33 ай бұрын
Not a memory leak, go back to the beginning of the video. You read the comments while the audio is background noise and missed the part where he didn't know how that you can put the cap on the marker in the back of the marker and that's why people are talking about marker swords
@luipaardprint3 ай бұрын
You really weren’t paying attention to this amazing presentation about markers?
@Insaniaq3 ай бұрын
Dudes chill, I was joking. I got the marker reference and was as equally surprised as everyone else that he didn't know that OP feature. I just saw a perfect opportunity to make the joke ;)
@jamespong65882 ай бұрын
Just imagine the damage a hacker could do with such a function
@ItsRaelx3 ай бұрын
2:35 this sounds a lot like cheap usb drive 😂 (I know you can do a lot more with yubikey, this is just a bad example)
@xionarxfl3 ай бұрын
@@ItsRaelx yeah right whats stopping me from just storing it on a normal USB drive
@pratheekrebala3 ай бұрын
The private key still lives on the Yubikey. You can never “extract” the private key from the Yubikey. He mis-spoke there. The command he ran just tells your SSH Client that it needs to ask the Yubikey for the secret. You still need to physically have the key (+ pin/touch optionally) every single time you try to authenticate. This is exactly how “Passkeys” work but in theory is more secure because it’s a hardware token.
@ItsRaelx2 ай бұрын
@@pratheekrebala well setting pass phrase on ssh key would do the same thing and you can store it on cheap usb drive
@brianchandler33463 ай бұрын
Holy crap! We can put SSH keys on our Yubi Keys!?! Thanks so much for sharing! 😎🤘
@zephyfoxy3 ай бұрын
Haven't we learned by now that calling something unhackable is just begging someone out there to crack something just to prove you wrong lmao Also I think it's very debatable that memory corruption is the "#1 cause" when so many prominent hacks lately have been due to social engineering. Yes I know memory corruption is still common and abused a lot, I just don't think it's fair to say it's #1
@maxave74483 ай бұрын
Its not unhackable, but if i understood the feature correctly, then it will be a pain in the ass for hackers to get around if it becomes widely used. Also the thing is, we cant really fight against social engineering. People will always keep clicking on links and will always post everything they can about their life online, so we cant do much about that. I would guess aside from social engineering, memory corruption has got to be one of the top 3 at least
@SergeantExtreme3 ай бұрын
If most hacks are done with social engineering, then wouldn't that make Windows just as secure as Linux?
@yjlom3 ай бұрын
@@SergeantExtremeno for a few reasons - microsoft goes out of its way to make its users tech-illiterate - windows loves showing dialogs all the time that people will learn to click away without reading (nothing to do with linux vs dos, but the de and the culture should be considered too) - windows encourages running as admin, which most linux distros don't - windows comes with lots of juicy telemetry data ready for the successful attacker (recall is a particularly egregious example), which most linux distros don't collect
@sirseven33 ай бұрын
Linux is just as easy to leave a port open, windows automatically handles a lot of measures automatically whereas with Linux you have the sole responsibility of securing and ensuring good security practices
@SergeantExtreme3 ай бұрын
@@yjlom 1. I could argue the same about Linux. A great example is the push to force users to download and install software only from "stores". When I complained about this in the distro forums, I was told that installing software from outside of stores was a "power user" move, and it's something a regular person shouldn't be doing. You can't get more tech illiterate than that. 2. Windows doesn't encourage running as admin with the exception of highly specialized software such as anti-virus, data recovery software, and driver software. 3. I don't necessarily agree that Windows shows a lot of dialogs. For the most part, pop ups only occur if something goes wrong. This is especially true in this day and age. 4. Although, I do agree with your point on telemetry.
@512px2 ай бұрын
that title is actually genius engagement bait targeted towards every single computer nerd on the planet
@10e9993 ай бұрын
"Memory corruption has been responsible for 70% of hacks in the last 20 years" Do you have a source for that? Are you talking about the google and Microsoft study of 2017 (I think?)?
@Pointless-Point3 ай бұрын
I'm sceptical as well. I want to know the definition of 'Hacks' being used.
@user-fje4ztx46no863 ай бұрын
I was told the nr. 1 vulnerability was always social engineering related.
@sirseven33 ай бұрын
Well drivers are the primary way to get a rootkit functioning with these complex A/V system. The main way to enable this is attach to a firmware level driver and overflow and break the services associated then move on from there.
@diobrando76423 ай бұрын
It's not that 70% of hacks are caused by memory corruption, but 70% of CVEs are a consequence of it.
@reoffending7 күн бұрын
@@user-fje4ztx46no86 You were told wrong. The data on ransomware intial access is in from Mandiant (which is def a representative sample), and the no. 1 cause of hacks is unpatched systems getting exploited (and those exploits actually are 70%) memory corruption. Second place was weak, leaked and default credentials.
@AndrewMilesMurphy3 ай бұрын
Nice! You caused me to have an epiphany - That moment where the overflow refuses to crash and gives control to a hacker's program. That makes so much sense to me :) thanks
@acters1243 ай бұрын
crashing is bad, it should only occur when something impossible for the computer to do or continue doing. low level control allows you to do almost anything with memory. Security is tricky because the computer can't guess what you expect to happen. that is why you setup the rules yourself when dealing with low level code. otherwise use something like rust for the attempts at automating the rules for you as most use cases don't need to be that free with how to handle memory.
@knappesouls81503 ай бұрын
Finally a youtube ad for a genuine good product.
@kellymoses85663 ай бұрын
Linus has already had to yell at kernel devs that they can't just ignore this.
@nowave73 ай бұрын
1:01 No, Chromium is *NOT* the basis for all the browsers on the internet. For most, sadly, it is, but not all. Firefox and Safari still have their own rendering engine.
@tonyptone30002 ай бұрын
Thank you! Relearned the stack in way that’s is so much more digestible! Thank u!
@_prothegee3 ай бұрын
The V8 Engine...
@monad_tcp3 ай бұрын
why does the V8 need so much sandboxing ? why can't them fix their JIT compiler not to generate insecure code like the JVM does ?
@theairaccumulator71443 ай бұрын
@@monad_tcp probably because no one runs actively malicious code on the jvm? v8 needs to be protected against everything
@CrazyWinner3573 ай бұрын
@@monad_tcpJVM is not secure at all. Remember log4j? It is not used as much as V8 not even close.
@DaPaBe19993 ай бұрын
Early web days of arbitrary code injection and execuction from pc to pc is the reason
@foobarf87663 ай бұрын
lol gotta make sure those XmlHttpRequests you arbitrarily let any domain make are secure
@treelibrarian76182 ай бұрын
Just a thought: it might be possible to make stack-smashing attacks impossible by a simple ABI change. The stack is already handled with 2 registers: RSP and RBP (stack pointer and base pointer) which frame the memory used for a function calls local variables with register saves and call return addresses. They could be used a little differently: use the stack pointer in the usual way for storing call return addresses and saving registers, but have the base pointer point at an entirely separate memory area, a second stack used only for functions local variables. Use RSP in the usual way with push/pop call/ret, and manage RBP by subtracting the required memory for the function, then adding it back before return (or alternatively push/popping it with the other callee-saved registers). There may still be other memory corruption attack vectors possible, but overwriting a return address to get arbitrary code execution isn't one of them. A global implementation would require the OS to provide the 2 extensible stack areas, and debuggers would need to be rewritten to handle the different method of call-stack unwinding, but all in all not a huge change. And it wouldn't even be required to have a compliant OS: a software creator could implement the different ABI within their own program, by just allocating an alternate stack space and using it as described: it would just need a compiler option to use the alternate stacking method.
@ijames-bond0073 ай бұрын
I think it done, it better to learn a new field other than cyber security.
@cybertrojan3 ай бұрын
I think you need to learn more about cyber security and Penetration testing
@RenyaCarasuma3 ай бұрын
@@ijames-bond007 lol
@Zeromus92-y2e3 ай бұрын
@cybertrojan especially considering that his mother knows a lot about penetration testing already.
@Waldemar_la_Tendresse2 ай бұрын
The main problem seems to me to be that exploitable functions are STILL available. Instead, one could offer secure alternatives and rigorously abort the compilation process with a corresponding error message and FORCE the maintainer to remove vulnerabilities from existing code instead of constantly tinkering around it. If you compare this approach to the analog world, it's a bit like continuing to distribute guns that are more likely to explode for self-defense instead of taking them out of circulation. Another problem is that just because a system integration is available, there is no guarantee that it will be used. Nevertheless a great informative video.
@RussellBeattie3 ай бұрын
Wow, that title is some serious grade-A click bait!! Nice job!
@KyoukiJuuno2 ай бұрын
The fact alone that Linus has a problem with it makes it worth keeping an eye on.
@manuell35052 ай бұрын
It can be used to board up the system against the end-user, like smartphones. They only accept fingerprinted Android or iOS kernels.
@polinskitom22773 ай бұрын
Oh, linux caught up to what openBSD has had for 14 years now. Cool. but it being on linux means it's a trash security feature that's going to be forgotten about in 3 years
@framegrace13 ай бұрын
BSD had a first version this from 2022. Linux made its own version in 2023 with some extra features. After a year, changes on both systems end up being very similar solutions. (THat's not 14 years)
@foobarf87663 ай бұрын
@@framegrace1 OpenBSD introduced write-or-execute (W^X) about 2002. procmap -a will show what flags a process has on what regions.
@foobarf87663 ай бұрын
It's not *exactly* what has been in OpenBSD for yonks, but I'd bet the idea comes from OpenBSD's work, it was implemented there first. What is really galling is the Power architecture has stuff like access ordering (PROT_SAO) since kernel 2.6 that Intel/AMD world still without AFAIK.
@GreatLich3 ай бұрын
Someone has clearly never made an Expo marker sword...
@goodnightmr58923 ай бұрын
Linus is right. This is going to cause major unnecessary issues.
@gabrielnuetzi3 ай бұрын
It would be helpful if you could explain where this malicious code makes it into the target executable?How the exploit works became somewhat clear but would be nice to see some more information on that ❤
@NoHandleToSpeakOf3 ай бұрын
Is it like... memory safety for C? Nooo....
@arfyness2 күн бұрын
Congrats on leveling up ur marker cap skillz 😛
@festro10003 ай бұрын
figured the marker cap in the bottom back in school, had a habit of finding where things fit and the knob at the top and the fitting at the bottom were found pretty fast.