Earlier quoted context omitted.
I have a very simple solution, in three parts: 1) We use very few dependencies. We err on the side of writing our own function, library, or UI component rather than installing a new dependency, even if a "better" open-source version might theoretically be available. 2) We use a monorepo. We have two Go backends sharing the same go.mod, and three Typescript/React frontends sharing the same package.json, all in the sam…
>We use very few dependencies. While this may solve the "exploit from 3rd party dependencies" this says nothing about the security quality of your functions. Now instead of the vuln being found in the 3rd party package and fixed, the issue remains in your program forever, probably getting exploited by nation state level actors without your knowledge.
Log4j: The pain just keeps going
191–200 of 291 posts
Re: Log4j: The pain just keeps going
#192Earlier quoted context omitted.
> nearly every Go project in the world having to be patched and recompiled Is that a particular problem? What's the difficulty with recompiling?
Imagine you are a random person in charge of a computer. You hear there's this big vuln affecting Go programs. 1. How do I find out which programs on my system are Go programs? I have a lot of programs scattered all over. Someone will have to come up with a method (probably search through $PATH for files, run `strings` on it, grep for "Go" , pray that's enough) to identify them. 2. They don't list a website, so I hav…
This isn't relevant. What's relevant is if any of the specific programs I am responsible for have a vulnerability. If so, I need to update those specific programs. The notion of implementation language, shared library, dependency, these are all abstraction leaks. The atomic unit of responsibility, at the machine level, is program/service.
Re: Log4j: The pain just keeps going
#193If you automatically update your dependencies all the time, you will constantly get new bugs, issues and sometimes even malware. If you don't update your dependencies all the time, you will be vulnerable to old bugs and issues. The current software engineering paradigm has no meaningful answer to this , no matter what "security experts" tell you. In a sane industry this realization would lead to a change of the parad…
I have a very simple solution, in three parts: 1) We use very few dependencies. We err on the side of writing our own function, library, or UI component rather than installing a new dependency, even if a "better" open-source version might theoretically be available. 2) We use a monorepo. We have two Go backends sharing the same go.mod, and three Typescript/React frontends sharing the same package.json, all in the sam…
This just means you likely have a lower quality version with the same problems but without the benefit of an ecosystem to find them.
Re: Log4j: The pain just keeps going
#194If you automatically update your dependencies all the time, you will constantly get new bugs, issues and sometimes even malware. If you don't update your dependencies all the time, you will be vulnerable to old bugs and issues. The current software engineering paradigm has no meaningful answer to this , no matter what "security experts" tell you. In a sane industry this realization would lead to a change of the parad…
I'm not making fun of you or trying to be funny - it is simply an observation that I find interesting.
Re: Log4j: The pain just keeps going
#195Earlier quoted context omitted.
I find Python is very prone to a lot of breaking changes even with minor version changes. And not just that, even minor versions have to match up specifically with another libraries minor version. It seems to be a community or ecosystem problem with Python, which is why I avoid Python as much as possible. In every other ecosystem when minor version are updated there are very rarely issues, and there are little issues…
eh, people love to break stuff on minor version changes of Go libraries to
Re: Log4j: The pain just keeps going
#196If you automatically update your dependencies all the time, you will constantly get new bugs, issues and sometimes even malware. If you don't update your dependencies all the time, you will be vulnerable to old bugs and issues. The current software engineering paradigm has no meaningful answer to this , no matter what "security experts" tell you. In a sane industry this realization would lead to a change of the parad…
I was wondering when it would become the norm to call it "ducktape". It has been 3 hours and nobody has corrected it. Last week I found a 3-pack of "ducktape" in the builders market. I'm not making fun of you or trying to be funny - it is simply an observation that I find interesting.
Also nobody that knows what they're doing uses "duct tape" on ducts, so the name is pretty meaningless.
Re: Log4j: The pain just keeps going
#197It's probable that there are more log4j type of exploits thats just waiting to be discovered. It's also becoming hard to tell which are private enterprises vs state sponsored cyber attack. It just seems like there's no solution. If Java is this bad imagine how much more attack surface a npm heavy project. Not only that the seeming hardware knowledge of state sponsored attackers seem sophisticated enough to gain acces…
> seems like there's no solution There is - don't depend on anybody else's software. It just means that software development will take longer and cost more.
Unless you have the budget like the DOD which has its own coding language I believe, you are ngmi
Not to mention you would be introducing attack surfaces that wont have enough attention because its only being used by your team.
At least with a widely used lib, vulnerabilities are caught, published (very important) and constantly raising vigilence. here you would have to perform your own threat mitigation and have bounty programs.
Re: Log4j: The pain just keeps going
#198Earlier quoted context omitted.
> because our industry is obsessed with abstractions "we do not break userland, period" -- Linus Torvalds not breaking existing stuff is why many abstractions exist, and even why many are put in place early on, to allow for some wiggle room without having to break all the things. people tend to prefer software that continues to work, above all else.
but then someone builds a bank on top of this abstraction, and sorts of shit hits the fan.
Re: Log4j: The pain just keeps going
#199Earlier quoted context omitted.
>We use very few dependencies. While this may solve the "exploit from 3rd party dependencies" this says nothing about the security quality of your functions. Now instead of the vuln being found in the 3rd party package and fixed, the issue remains in your program forever, probably getting exploited by nation state level actors without your knowledge.
A benefit of writing own functions - you'll not implement something you don't need, which reduces attack surface.
Re: Log4j: The pain just keeps going
#200Earlier quoted context omitted.
When I worked on a code signing app, which is arguably some of the highest stakes of almost anything I've worked on, we came around to an agreement that one ticket a month would be assigned to upgrade libraries, and we rotated that responsibility. We didn't stipulate what library, we didn't even stipulate which application in the suite (though it was assumed that you were likely to chose your primary application as t…
> we rotated that responsibility how did that go ? I often wanted to do it but never got to submit the idea.
It also took some reminders from the leads to add it in instead of letting it slip, but so far it's the least broken process I've gotten to use.