I have a feeling there are a lot of busy people trying to answer that question, now. Yikes.
I have a feeling there are a lot of busy people trying to answer that question, now. Yikes.
Yeah it sounds pretty wild already with some kind of, like, door knock mechanism using certificates? So you can’t scan for it. And some reverse engineering countermeasures.
Like everyone else, I have to wonder what libraries have been compromised in a way that nobody has noticed yet.
Some of the trust comes from eyes on the project thanks to it being open source. This thing got discovered, after all. Not right away, sure, but before it spread everywhere. Same question of trust applies to commercial software too.
Ideally, PR reviews help with this but smaller projects esp with few contributors may not do much of that. I doubt anyone has spent time understanding the software supply chain (SSC) attack surface of their product but that seems like a good next step. Someone needs to write a tool that scans the SSC repos and flags certain measures like the # of maintainers.
PS: I have the worst allergies I’ve had in ages today and my brain is in a histamine fog so maybe I shouldn’t be trying to think about this stuff right now lol cough uuugh blows nose
Very annoying - the apparent author of the backdoor was in communication with me over several weeks trying to get xz 5.6.x added to Fedora 40 & 41 because of it’s “great new features”. We even worked with him to fix the valgrind issue (which it turns out now was caused by the backdoor he had added). We had to race last night to fix the problem after an inadvertent break of the embargo.
He has been part of the xz project for 2 years, adding all sorts of binary test files, and to be honest with this level of sophistication I would be suspicious of even older versions of xz until proven otherwise.
Damn. I would love to see a full post mortem on this compromise.
Well maybe they aren’t experienced info security professionals :)
Idk what you’re into buddy
but I like it.
Inflation.
I get where you’re coming from but is he managing his risk or not?
Does he understand the risk? If yes, good. No? Bad.
Is he ignoring the risk? If yes, bad. No? Good.
Is he weighing the risks against the benefits he receives of using these apps and taking appropriate steps to mitigate those risks? If yes, then good. No? Bad.
Cyber security isn’t “lock everything down at all costs”. Otherwise I would insist you throw your phone in an incinerator along with all your computers, live in a bunker reinforced against nuclear attack with a small army to guard you, never leave it, never talk to anyone… Etc.
It is enabling one to achieve their goals with a tolerable amount of risk. That level of tolerable risk is different for everyone.
Totally agree. Have been there and done that quite a few times too.
And if you can’t find an answer for a mint problem on a mint forum you might find an answer on an Ubuntu forum. In other words, add Linux mint to your search first and if that fails try Ubuntu instead. At least that has worked well for me over the last decade plus.
Hopefully people with more of a clue than me will chime in… Meanwhile, my best swag is the filesystem had issues and had to do an fsck? If that’s the case it would boot quickly next time assuming a clean shutdown.
Were there any errors during boot?
Fastboot enabled in BIOS or no? (Not sure if this has anything to do with anything I’m just trying to look useful)
PS: the weird active time could maybe somehow be related to the filesystem being borked needing fsck? I’m not sure.
Load average of 400???
You could install systat (or similar) and use output from sar to watch for thresholds and reboot if exceeded.
The upside of doing this is you may also be able to narrow down what is going on, exactly, when this happens, since sar records stats for CPU, memory, disk etc. So you can go back after the fact and you might be able to see if it is just a CPU thing or more than that. (Unless the problem happens instantly rather than gradually increasing).
PS: rather than using cron, you could run a script as a daemon that runs sar at 1 sec intervals.
Another thought is some kind of external watchdog. Curl webpage on server, if delay too long power cycle with smart home outlet? Idk. Just throwing crazy ideas out there.
You probably want to look for books on reverse engineering. And a book on assembly for your CPU.
I learned assembly language for VAX-11 (this was like 30+ years ago) in a CS class. We also learned 6502 assembly in a computer engineering class. Neither book would help you. You want a book specific to whatever CPU you’re using.
Now, I never took it, but friends in college took a CS Compilers course where they learned the basics of writing a compiler. But that’s not what you’re talking about though it might help.
Trying to understand what a program does is reverse engineering. And a tool like IDA Pro would help you understand subroutines, variables, flow, library calls, and so on.
A debugger will be invaluable for seeing a program execute one instruction at a time.
You would need to know the assembly language for your CPU. And it would help to become familiar with certain patterns. I haven’t done much assembly (but I have done assembly on a few different CPUs) nor much reverse engineering so I’m not sure I can lend a whole lot of insight there.
As you learn assembly instructions, you will start to understand how loops, subroutines, if/then/else, and other things are accomplished for your CPU.
For example, if/then/else and loops are often accomplished with conditional branching. The conditions are based on CPU flags (bits in the Status Register) that are set by a comparison instruction. You’ll start to recognize how if/then/else and loops and other things are commonly implemented in assembly (without necessarily having to study the compiler; it will be obvious without knowing anything but assembly).
Another example might be how C structs are implemented. Some CPUs provide convenient memory addressing modes for structs, some don’t. Nearly all I am familiar with provide a convenient way to reference arrays with a simple index.
Subroutines are jumps to a set location and at the end of that code is a return instruction. Usually registers have to be saved when jumping and restored when returning. Arguments to the subroutines are pushed on to the stack either by value or by reference. Return value is provided through some convention (machines with lots of registers might always use one particular one for return).
I guess bottom line, learn assembly for your particular CPU, then take a crack at using a debugger and disassembler / reverse engineering tool.
I’m not entirely sure I follow why that is needed to learn how to do branching in forth but I only vaguely remember that language. Maybe if I did it would be more clear.
Anyway I hope this helps at least a little.
As the other commenter said, you want to learn about programming principles. Like, low coupling or don’t repeat yourself.
How long is your longest program? What would you say is a typical length?
You say your code is “bad” – in what ways? For example:
I guess if you are unlikely to go back and change it, or understand how it works, then sure. And yeah that happens.
I write scripts and utilities like that. Modularity is overkill although I do toss in a comment or two to give a hint to future me, just in case.
Although tbf, I took plenty of CS classes and some of the instructors beat best practices into our heads… So writing sloppy, arcane, spaghetti code causes me to flinch…
I was a sysadmin, once…Not for long.
Not op. I installed windows 10 on my custom built desktop and my kids custom built desktop, on VM, etc. Have not had a problem and it was pretty simple overall. I’m sure some folks do have issues, though. Shit happens. Is windows 11 shittier for install? I’ve never had the desire to try :)
I’ve also installed various Linux distros on the above and a few other computers (Mint, Nobara, Fedora). Aside from Mint not working with my AMD RX 6600, no problems there either, really. And these distros installed easily.
Again, ymmv. I knew Mint would probably fail because the 5.19 kernel does not seem to like my GPU. That’s why I switched to Nobara in the first place (iirc the 6.x kernel wasn’t available at the time)
Good to know. Well I have 16G now that should give me plenty to spare.
I will have to try that once my ram upgrade gets here.
This is all I’ve run across on reverse engineering, so far but it is quite interesting.
https://bsky.app/profile/filippo.abyssdomain.expert/post/3kowjkx2njy2b