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!
@l0gic23Ай бұрын
Best Yubikey ad yet
@RexHanson-c7hАй бұрын
what's your source, I want to read the blog myself
@eveldunАй бұрын
I have one and I actually love them for gpg
@alexpasko1126Ай бұрын
Please do a longer video where you show the many applications of yubikeys! That's the kind of add that I would LOVE!
@jamesdupuis3249Ай бұрын
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!
@Liberty4EverАй бұрын
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.
@DanglutasАй бұрын
Firefox: Excuse me? 🤨
@MelroyvandenBergАй бұрын
Yea that chromium statement is not nice
@ContemplativeCatАй бұрын
I'm using Firefox based Zen Browser and loving it. 😃
@pu239Ай бұрын
@@ContemplativeCat same lol, its pretty nice
@no_name4796Ай бұрын
But realistically though, firefox has a smaller share of browser users then linux has of desktop OS users
@Bunny99sАй бұрын
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.
@rob5300Ай бұрын
If chromium was the only browser engine left the web would be TOAST
@monad_tcpАй бұрын
its 90% there
@echoptic775Ай бұрын
Yeah, good thing we also have Microsoft edge, opera, brave, Vivaldi...
@Pipe0481Ай бұрын
@@echoptic775 Firefox?
@darukutsuАй бұрын
@@echoptic775this is joke right?
@theairaccumulator7144Ай бұрын
yeah the insane competition of 3 browser engines
@hatacoyama1246Ай бұрын
does this mean he never made an expo marker sword?
@PermanentExileАй бұрын
@@hatacoyama1246 Inconceivable!
@guilherme5094Ай бұрын
Nooooooo!!!!
@LowLevelTVАй бұрын
what is that
@bearwolffishАй бұрын
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.
@jamesdupuis3249Ай бұрын
Not everyone has twenty of these. Now we have two, and one is dead.
@rechallingtonАй бұрын
too busy hacking your preschools web server to pick up the marker cap beta? insane
@blankexpression2uАй бұрын
for you to call someone a beta is funny AF. Nice stache sweetie
@voltairesarmy6702Ай бұрын
I think the beta was referring to software versions. Like the beta version of the marker cap technology 😂
@rechallingtonАй бұрын
@@blankexpression2u @voltairesarmy6702 more so 'beta' used in climbing terminology to mean techniques used. also thanks, i grew it myself
@rechallingtonАй бұрын
@@blankexpression2u lol dude, beta as in the climbing term which means technique or instructions. also thanks i grew it myself
@Acetyl53Ай бұрын
@@rechallington It's probably a bot.
@DecadantHandshakeАй бұрын
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
@henxdlАй бұрын
fr 😭
@StratelierАй бұрын
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
@rl33t74Ай бұрын
@@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")
@austinsharpe8157Ай бұрын
I'm not convinced this guy has ever used a marker ever
@tongpoo8985Ай бұрын
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.
@EjioplexАй бұрын
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!
@LaserFurАй бұрын
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.
@jfbeamАй бұрын
At least _in userspace_ ... (hint: the kernel can screw with those flags all it wants.)
@not_kode_kunАй бұрын
@@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
@kevinchadwick8993Ай бұрын
@@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.
@MissMyMusicAddictionАй бұрын
i usually just seal the marker by putting it back in my nose.
@AL-eu4eyАй бұрын
@@MissMyMusicAddiction or somewhere else 😏😏
@weenerhutjrАй бұрын
@@AL-eu4ey yee i usually put it in mi butt when im done
@henxdlАй бұрын
lmao
@al6r725Ай бұрын
@@AL-eu4ey Sharpie
@robnobertАй бұрын
Reported.
@MartinBarkerАй бұрын
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?
@framegrace1Ай бұрын
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)
@acters124Ай бұрын
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.
@acters124Ай бұрын
@@framegrace1 I was under the impression the V8 engine will use this new feature to strengthen the chromium browser security
@Darkyx94Ай бұрын
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
@foobarf8766Ай бұрын
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.
@KillianTwewАй бұрын
0:10 Elementary school. Thats how long ago I learned that. I'm 30.
@robnobertАй бұрын
Reported. Dude. Not okay.
@vstrxlАй бұрын
@@robnobert ??????????
@Nik-rx9rjАй бұрын
@@robnobertlmaooooo
@VeryEnGeorgedАй бұрын
I don’t know what happened to you that early in life, but I’m sorry bruh.
@Bread_LockАй бұрын
What's with these replies? There's nothing wrong with OP's comment.
@ThisPageIntentionallyLeftBlankАй бұрын
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
@PoseidonDiverАй бұрын
yup... there was some dude(s) who would go through intel architecture for fun and......... spectre.
@premiumvibes961Ай бұрын
@@PoseidonDiver God Bless Them.
@rtzgf67games7Ай бұрын
What
@petervancaeseele9832Ай бұрын
Its like trying to make an unpickable lock.
@foobarf8766Ай бұрын
OpenBSD uses methods like this and no major CVE since 2006
@malus314Ай бұрын
Boo for clickbait title but solid video that’s super interesting as always.
@devvizАй бұрын
how is that title clickbait?
@malus314Ай бұрын
@ 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
@wolfschafАй бұрын
"Shadow stack" is also something that prevents these kinds of attacks, by having a separate stack for return addresses
@_lslvrАй бұрын
Like Forth?
@treyquattroАй бұрын
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)
@vk3fbabАй бұрын
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.
@diobrando7642Ай бұрын
@@vk3fbab shadow stack is a hardware level protection by definition
@diobrando7642Ай бұрын
@@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.
@tommyandersen4004Ай бұрын
"... makes hacking IMPOSSIBLE" ... famous last words.
@smitcherАй бұрын
Clickbait, given the ultimate meaning of hacking...
@bogganalseryd2324Ай бұрын
@@tommyandersen4004 lol 😂 there's no such thing as a secure code.
@HimitsuYamiАй бұрын
Honestly, declaring something impossible is just a challenge to try
@bidet109825 күн бұрын
@@HimitsuYami 🤣🤣🤣 wait till the any% speedrun guys come to crack that
@maurizio_italyАй бұрын
not hackable sounds very like unsinkable
@kittentheboss2796Ай бұрын
Just an iceberg away.
@djsmegukАй бұрын
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.
@distortionsАй бұрын
brings me back to school.
@ShipShippingShipАй бұрын
Sounds like an epic place to work in
@AndrasBuzas1908Ай бұрын
Cringe
@b33thr33kayАй бұрын
Could you not be so clickbaity? Could you put at least the name of the feature in the title or in the thumbnail, please?
@asdfghyterАй бұрын
DeArrow is a great extension for exactly this reason! it’s by the same guy who made sponsorblock. it even works in mobile safari
@vfryhn2Ай бұрын
No
@kellymoses8566Ай бұрын
Sorry but vague titles are proven to get more clicks. KZbin lets you do A\B testing with different titles and thumbnails
@alfadorfoxАй бұрын
Welcome to KZbin.
@emilianomolinagonzalez2665Ай бұрын
@@b33thr33kay he started explaining the method before the first minute of video my man
@imciviledАй бұрын
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.
@diobrando7642Ай бұрын
That's what I said! If you can call mprotect you could probably call mmap and create a new page entirely
@ZelousfearАй бұрын
Of all the system that I've broken into, I've never used memory corruption, just people corruption.
@miguelmontero4133Ай бұрын
Someone clearly never made marker swords when they were a kid.
@patrick_test123Ай бұрын
Only as kids, right @djsmeguk?
@TheAlexgoodlifeАй бұрын
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
@smitcherАй бұрын
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
@anreoilАй бұрын
That would require skill.
@smitcherАй бұрын
@@anreoil not really... finding the vulnerability vector is the most difficult part
@psychosomatiqueofficialАй бұрын
I'm sure you'd love that
@IngwiePhoenix_nbАй бұрын
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
@RandomGeometryDashStuffАй бұрын
wine gecko:
@autohmaeАй бұрын
Well, IE is a deadend, but Safari and others are running Webkit, not Blink (Chromium)
@Beryesa.Ай бұрын
WebKit dusting in the corner
@LazarNaskovАй бұрын
Ladybird: vibing in the corner
@cantfindme-x4uАй бұрын
netscape navigator: rotting away
@hacked2123Ай бұрын
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.
@DeltaractАй бұрын
no it isnt lol
@hacked2123Ай бұрын
@@Deltaract it was partially a joke, but there certainly a strong correlation, though not mutually exclusive either.
@theunseen010Ай бұрын
if you've never had a 'lightsaber' fight with about 7 expo markers stuck together, you haven't lived brother
@guilhermesoares7857Ай бұрын
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.
@MK73DSАй бұрын
0:32 All the hackers from thousands of years ago were using this method too, so you were correct.
@AntranigVartanianАй бұрын
Good to see Linux catching up with OpenBSD on the security side and FreeBSD on the performance side.
@foobarf8766Ай бұрын
Yep I came here just to say 'but OpenBSD has done this for like two decades'
@ManuFortisАй бұрын
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.
@ManuFortisАй бұрын
@@𪛗 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.
@AntranigVartanianАй бұрын
@@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
@ManuFortisАй бұрын
@@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.
@Ziryu2Ай бұрын
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_tcpАй бұрын
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.
@godofpotatos4691Ай бұрын
@@monad_tcp but he says that it downloads the ssh key locally
@VNActivityProjectRemАй бұрын
@@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
@LowLevelTVАй бұрын
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-ss6qtАй бұрын
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.
@sebastianlastname5977Ай бұрын
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.Ай бұрын
Oh that's nest, I suppose that's why if you leave expo on for too long it becomes permanent lol
@bloody_albatrossАй бұрын
Note: Chromium isn't the only browser engine on the internet.
@s4ytoАй бұрын
no one said that it was, chromium is just the world's most popular engine
@bloody_albatrossАй бұрын
@@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.
@木原篤郎-b4mАй бұрын
@@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.
@ProfShibeАй бұрын
@@bloody_albatross that's how you properly use "like" in English. Look up the definition. It's not just a brainrot filler word.
@nanderv28 күн бұрын
@@木原篤郎-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.
@isbestlizardАй бұрын
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.
@tommybronze3451Ай бұрын
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.
@tony-does-stuffАй бұрын
@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?
@matthewspence766Ай бұрын
@@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.
@SlavaThereshinАй бұрын
@@tony-does-stuff If I recall correctly, you set a password during onboarding, and only after verification a key may be extracted.
@Jenny_DigitalАй бұрын
For thousands of years… Ladders were high tech ways to break in.
@Evan490BCАй бұрын
They still are.
@anon_y_mousseАй бұрын
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.
@chainingsolidАй бұрын
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.
@steffennilsen2132Ай бұрын
@@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
@futuzaАй бұрын
@@chainingsolidwhat's wrong with header files?
@chainingsolidАй бұрын
@@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.
@chainingsolidАй бұрын
@@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.
@bvf8611Ай бұрын
Köszönjük!
@peterbergvall7752Ай бұрын
Impossible, you say? .....And that is the sound of "challenge accepted" around the world.
@Muhammet-KuruogluАй бұрын
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.
@haveboardАй бұрын
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.
@YK3823Ай бұрын
Thanks!
@suchiman123Ай бұрын
Quite the clickbait headline. Does not seem all that useful, Intel CET is a much more effective mitigation without the downsides of mseal.
@diobrando7642Ай бұрын
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
@AdityaBasu92Ай бұрын
Very true.
@WeisenbergTKMrWhiteАй бұрын
Does AMD have an equivalent?
@diobrando7642Ай бұрын
@@WeisenbergTKMrWhite Yes! All Zen3 processors have shadow stack protection
@muhammetmelikkolgesiz9252Ай бұрын
@LowLevelTV whick keyboard you use? It's sounds so thocky !
@aeebeecee3737Ай бұрын
Not a mechanical keyboard
@LukasCarreinАй бұрын
0:59 he just insulted firefox like that
@ragtop63Ай бұрын
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.
@amandasandell3351Ай бұрын
3:53 please go super deep into the details in another video, if you haven't already
@deusexaetheraАй бұрын
If GETS is so vulnerable, why isn't that command disabled by default, so only people running ancient code that requires GETS will have it enabled by manual user intervention in the kernel settings?
@merlinraymond1014Ай бұрын
Firefox: *exists* LowLevel: I'm about to end this man's whole career
@cybernit3Ай бұрын
So for that scanf("%32s, &buffer); // that would prevent buffer overflow right? use %32s
@harlycornerАй бұрын
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 😁
@TheLEECАй бұрын
I’m not sure this title will age all that well… But I like your optimism.
@InsaniaqАй бұрын
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!🙏
@apIthletIccАй бұрын
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
@acters124Ай бұрын
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.
@sirseven3Ай бұрын
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
@luipaardprintАй бұрын
You really weren’t paying attention to this amazing presentation about markers?
@InsaniaqАй бұрын
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 ;)
@Eisesser01Ай бұрын
What keyboard do you use?
@reatcasАй бұрын
What about the physical NSA backdoors implanted in the silicon chips?
@timc3600Ай бұрын
So, everything that is intended for good things can be twisted to make it do bad things. How long until some bad guy somewhere decides to use this to protect their malware and it makes it harder to detect and remove ??? How will antivirus / anti-malware cope with this ?
@effsixteenblock50Ай бұрын
mseal doesn't do either of those things.
@TheRealStevenPolleyАй бұрын
0:59 - Firefox RIP in peace
@alfadorfoxАй бұрын
pepperoni
@GreatLichАй бұрын
Someone has clearly never made an Expo marker sword...
@ZenbyBosatsuАй бұрын
Love your stuff man!
@JATmaticАй бұрын
If CPUs just had an separate stack hardneded to oblivion.. - Push a return address, the address vanishes into a black hole and can't be later modified or inspected by user-space. The pushed address could be checked that is it in a r-x page or you would get a segfault. - Pop-and-jump: get a return address, the address is pulled from a magical CPU register.
@null-0xАй бұрын
@0:33 you could say thousands of years, starting in the second millennium(1990s) and still continuing into the third millennium(2020s)
@JobuuLive8 күн бұрын
Yo just realised the sweatshirt. Fellow Rhode Islander??
@zephyfoxyАй бұрын
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
@maxave7448Ай бұрын
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
@SergeantExtremeАй бұрын
If most hacks are done with social engineering, then wouldn't that make Windows just as secure as Linux?
@yjlomАй бұрын
@@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
@sirseven3Ай бұрын
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
@SergeantExtremeАй бұрын
@@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.
@crazysquirrel9425Ай бұрын
Fine and dandy if you love TYPING a lot AND have a photogenic memory. I hate having to remember syntax, all those commands, etc. Just give me point and click with lots of clicking options to do what I want. NO TYPING.
@miscbitsАй бұрын
This sponsored segment contains one of the only products shilled by a youtuber I actually want to buy
@treyquattroАй бұрын
yeah, I liked the way it was incorporated into the rest of the content with examples too!
@dhillazАй бұрын
And for those who already have them, I learned a new feature!
@LLPOFАй бұрын
I .... uhmmm ... know nothing about assembly or anything, but could someone explain to me why, if a buffer is overflowed, can you just not clear the buffer or allow malicious code injected into it to just be ignored? Again, I'm ignorant, so be gentle.
@foobarf8766Ай бұрын
You are on the right track. The problem is applications control the buffers so the kernel needs extra checks (speed penalty), or the compiler and C library need to check. This is one of those extra checks. The Linux kernel has other features like a zeroize-on-free() and zeroize-on-alloc() but of course they also slows things down, are not on by default in any major distro AFAIK. Disabling execution on areas is already done on Windows, Linux and OpenBSD but may be bypassed (ROP sled) and even new Intel/AMD CPUs only feature execute disable, while older Power CPUs have read-write-execute permissions. It's very much an Intel/AMD problem, IBM 'solved' this but that comes at a price, also the Power ISA has execution ordering which I think is still a foreign concept to the x86 world.
@ItsRaelxАй бұрын
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)
@xionarxflАй бұрын
@@ItsRaelx yeah right whats stopping me from just storing it on a normal USB drive
@pratheekrebalaАй бұрын
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.
@ItsRaelxАй бұрын
@@pratheekrebala well setting pass phrase on ssh key would do the same thing and you can store it on cheap usb drive
@explosiontime2023Ай бұрын
Why would i want to call mprotect? Usually you want to call system("/bin/sh") to get a shell. It also involves less steps than to get to mprotect because it requires only 1 argument instead of 3 + after mprotect you need to do something else. As a CTF BX player this doesn't make that much sense...
@MelroyvandenBergАй бұрын
no way, saying that Chromium browser is the basis of all browsers on the internet is not only wrong. But also delusional.
@theairaccumulator7144Ай бұрын
It's the basis of all browsers that people actually use
@ContemplativeCatАй бұрын
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.
@KevinJDildonikАй бұрын
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.
@ArchLarsАй бұрын
It's most, I think the second non-Chromium based browser is Safari.
@deoxal7947Ай бұрын
Can't trust this video based on that alone. Been looking through the comments for the tldr but can't find it
@enterusername7746Ай бұрын
What keyboard/switches do you use? It sounds very smooth.
@10e999Ай бұрын
"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-PointАй бұрын
I'm sceptical as well. I want to know the definition of 'Hacks' being used.
@user-fje4ztx46no86Ай бұрын
I was told the nr. 1 vulnerability was always social engineering related.
@sirseven3Ай бұрын
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.
@diobrando7642Ай бұрын
It's not that 70% of hacks are caused by memory corruption, but 70% of CVEs are a consequence of it.
@hevadАй бұрын
2:50 Sorry for my ignorance, how is the yubikey different (and better) than carrying your keys on a plain USB key and using the keys off of it?
@nowave7Ай бұрын
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.
@megan_alnicoАй бұрын
There was a time when computing resources were so scarce that memory that was both writable and executable was a feature. "Self-Modifying code" as it was called back then was always black magic, but it could do amazing things. It's obvious though that in the modern world we live in security is way more important than this level of code optimization and I'm glad to see it finally fall by the wayside.
@stultusesАй бұрын
Yes, self modifying code was also used by some programs as an elaborate anti-copying technique I seem to remember something called 'Magic Pencil' but it was a long time ago and my memory is probably wrong
@jakubrogacz6829Ай бұрын
We shouldn't protect ourselves so as to disable some ways of coding. Self modifying code could be a good idea too sometimes. Issue is actually having functions that are not checked for external input - otherwise you would not be able to exploit this out of the program.
@RussellBeattieАй бұрын
Wow, that title is some serious grade-A click bait!! Nice job!
@autarchprincepsАй бұрын
Aren’t the most common IT security issues leaked reused passwords, phishing, social engineering and DDoS?
@jonathaningram8157Ай бұрын
That keyboard sound is pure eargasm. It's rare when not on a specialized keyboard channel.
@TerajoelАй бұрын
@@jonathaningram8157 came to the comments to find out which keyboard it is, no luck though. Does anyone know?
@gregoryfenn1462Ай бұрын
At 1:39 how does a function have a named void parameter? I've see functions like "MyType function(void);" to signaly that function has no params, but I've never seen anything like "MyType function(void foo);" or "MyType function(void foo, int bar);" What would 'foo' do here?
@_prothegeeАй бұрын
The V8 Engine...
@monad_tcpАй бұрын
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 ?
@theairaccumulator7144Ай бұрын
@@monad_tcp probably because no one runs actively malicious code on the jvm? v8 needs to be protected against everything
@CrazyWinner357Ай бұрын
@@monad_tcpJVM is not secure at all. Remember log4j? It is not used as much as V8 not even close.
@DaPaBe1999Ай бұрын
Early web days of arbitrary code injection and execuction from pc to pc is the reason
@foobarf8766Ай бұрын
lol gotta make sure those XmlHttpRequests you arbitrarily let any domain make are secure
@SF-eg3fqАй бұрын
I have a note, half of the video is taken for explaining the basic idea of binary exploitation not a lot of time was taken in explaining the mseal syscall more in depth, plus the clear clickbait “make hacking impossible”.
@polinskitom2277Ай бұрын
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
@framegrace1Ай бұрын
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)
@foobarf8766Ай бұрын
@@framegrace1 OpenBSD introduced write-or-execute (W^X) about 2002. procmap -a will show what flags a process has on what regions.
@foobarf8766Ай бұрын
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.
@carrion1234Ай бұрын
awesome primer on memory corruption! ❤
@knappesouls8150Ай бұрын
Finally a youtube ad for a genuine good product.
@GK-rl5duАй бұрын
Such an interesting history, please consider doing a deep dive on memory vulnerabilities. Learnt a lot 🙂
@ijames-bond007Ай бұрын
I think it done, it better to learn a new field other than cyber security.
@cybertrojanАй бұрын
I think you need to learn more about cyber security and Penetration testing
@RenyaCarasumaАй бұрын
@@ijames-bond007 lol
@Zeromus92-y2eАй бұрын
@cybertrojan especially considering that his mother knows a lot about penetration testing already.
@TobiasSampleАй бұрын
3:23 would you be better doing an if to check the length of buffer?
@goodnightmr5892Ай бұрын
Linus is right. This is going to cause major unnecessary issues.
@robmckennie4203Ай бұрын
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
@NoHandleToSpeakOfАй бұрын
Is it like... memory safety for C? Nooo....
@nempk1817Ай бұрын
Here is a curious challenge i don't see people commenting on, try making a "vulnerable C program" that compiles using security features of Clang or GCC. OpenBSD users rise 🍷🗿
@katanasteelАй бұрын
So if you free a page sealed with mseal, should the kernel/glibc zero out the page too before giving it back? So you can't also call free, malloc, mprotect(rwx) on the same memory.... A la use after free scenario
@Zepi2509Ай бұрын
Cool Video!! What Font is it that you use?
@aarong9378Ай бұрын
I enjoyed writing self-modifying machine code back in the days.
@ahmedmagdy1762Ай бұрын
What type of keyboard are you using?
@AndrewMilesMurphyАй бұрын
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
@acters124Ай бұрын
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.
@msharnoАй бұрын
What’s the name of this font?
@nDoornnАй бұрын
Which font are you using in your terminal? Thanks in advance.
@TrinitronXАй бұрын
Nice feature to have, yet of course it needs adoption in software. Would be nice to see a video on Seccomp, which has been around in Linux longer (introduced in Linux 2.6.12 back in 2005) and does have good adoption.
@jrynkiewАй бұрын
Jeff Xu can't fix shared buffers in Chromium, but he can't prevent buffer overflows? Yeah, right...
@delusionalaar4031Ай бұрын
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.
@NithinJuneАй бұрын
i’m sorry but what the hell have you been doing with your Dry Erase Marker Caps???