Hacker Newsnew | past | comments | ask | show | jobs | submit | coldpie's commentslogin

I'm definitely the friend in the alt-text of this comic. What do you mean you haven't read gitcore-tutorial(7)??

It is unthinkable to me that anyone believes there is such a thing as computer security after so many years of nonstop hacks and leaks. If you have a computer and it is connected to a network with access to the Internet, assume that computer is semi-public. Meaning, if someone was interested enough in accessing your computer, they could do it. Do not hook any computer with access to anything that would be devastating if it was made public to the Internet. Do not put anything that would be devastating if it was made public onto someone else's Internet-connected computers.

For example, do not hook your goddamn water or traffic or electricity infrastructure up to the goddamn Internet, and then, do fire the guy who suggested it.

The correct analogy for computer security is not locks and keys and doors and gates. It is a house in a floodplain. Your house will not survive the flood of it hits you. Do not store anything critical or irreplaceable in that house.


> It is unthinkable to me that anyone believes there is such a thing as computer security after so many years of nonstop hacks and leaks.

Of course there is. For example, SeL4’s security and reliability proofs still hold in the world of LLMs. The problem is that most software isn’t written on that firm foundation. Instead, most software is made by people with the philosophy of “if it looks like it works, ship it”. You don’t get secure software by working like that, because security vulnerabilities aren’t visible.

We - humans - know how to write secure software. Just like we know how to make safe aeroplanes. The problem isn’t that we lack the capability to make secure computers. The problem is we don’t have a culture of security. Secure software is - somehow - niche. And as such, it’s much more expensive. And nobody wants to pay.


> Instead, most software is made by people with the philosophy of “if it looks like it works, ship it”.

I work in secure systems and it’s shocking how many people believe this - the incentives from management are all about it too.


I'd argue the management has a point there; without a pressure to ship, nothing would ever get released, because computer security has not yet understood the basic concepts that every non-computer security work does:

- nothing is, can be, or even should be 100% secure; the optimal rate of security incidents in society is not 0 (with apologies to 'patio11)

- security is a simultaneous trade-off against costs and usability, and those two other factors are more important:

-- security is achieved primarily through raising costs for attackers to beyond profitability, and reducing impact of such attacks (due to "not in isolation from the world" below, this also mostly translates to costs)

-- if "properly secured" (in the current cybersecurity sense) product/service cannot fulfill its function anymore, then you may just as well not make it; either way, no point in paying you for security work

- security isn't done in isolation from other systems and the world at large; "if this happens we'll go straight to filing crime report with the police" is perfectly legitimate security measure (even if it works somewhat less well on the Internet); similarly, "this is secured by us having insured against it" is also a valid solution to some security problems


This is all fine and good and the sorts of conversations we were having on tradeoffs like any other engineering org. Theres always been pressure to ship, but now its that various pockets of AI Believers have popped up, egged on by a manic management, containing such beliefs that the code no longer matters, that it’s possible to move fast and fix it up later, human review isn’t important anymore, and that lines of code is a valuable metric.

Those running projects with these beliefs are sputtering and producing impressive PoCs that struggle to make it into production - either through underestimating the amount of detail needed to scale, or often throwing away good practices in favor of letting LLMs handle tradeoffs that later make changes slow to a crawl.

Theres plenty of good ways to utilize LLMs to speed things up, but so many teams got so incentivized by management to move fast at any cost that they’ve thrown out “load-bearing” good practices for software. That bet hasn't been paying off the way they’d hoped. It’s now clear that they thought they’d be able to massively downsize the engineering orgs. Massive token spend is giving very little RoI and now like other companies they’re trying to rein in the biggest spenders who are often not producing value.


I don't think this is always true; mature security teams consider their threat models. There's just a lot of Schneier groupies in the field as well...

As much as you're right, the attitude in most software development is not "lets make this as secure as reasonable," it is "lets make this barely functional and then move onto the next thing."

what's patio11?


One of the winners of the HN pareto distribution lottery

It's not as if best practices aren't well documented, or as if CVEs don't come out every day, or as if the information is somehow unavailable to even the most junior devs to take basic security measures.

Not all hacks are caused by pure negligence, laziness or stupidity, but most of them are. Even a little effort goes a long way.

My grandfather spent a couple decades as a builder, ran a construction crew. Whatever the project was, he wanted to know everyone he hired personally was going to reinforce and report to him anything they had the slightest doubt about. "Always hammer in an extra nail" was basically his motto.

What we do ain't that different. The difference is that when an apartment building collapses, it's bigger news than when a govenrment database does.


> The difference is that when an apartment building collapses, it's bigger news than when a govenrment database does.

Also when a building collapses, people blame the builders. When software leaks user data, the engineers and companies face no repercussions.


Spain just put in place fines equaling to 30% of revenue for data breaches - that’s the only way to make companies care about it directly.

The incentives from society are all about it. What company has ever faced serious consequences for hacks or data leaks? A cheap fine is just an unlucky cost of business.

I like to think behind every Dev anxious to ship half baked software sits an omniscient middle manager with a vague idea of what the product was supposed to do, maybe

It's worse: it seems like almost every developer on this very site is aspiring to be that middle manager, with LLMs as their underlings.

We are headed for scary waters.


Guess you don’t remember the days of ssl on login pages, ssl strip, exfiltering data via JavaScript prototype pollution, and a million other things like that.

Only just when we started to have a resemblance of security we got agile and startups breaking things (making rubbish software to capture a few bucks faster) and now vibe coding and llm assisted hacking.

The point of my, arguably rant, is that there is nothing new under the sun.


I'm not sure my worries are assuaged by thr fact that it's been bad before, too.

It should. We went through couple of cycles of "things are bad, inmates are running the asylum" before, and nothing of consequence happened. The world still goes on.

It's not a guarantee this time will be the same - but it should temper the worry somewhat.


Uh, even the database with all the compromising information on everyone with a US security clearance got leaked

Previously no one was dumb enough to put that in one electronic database - it was on paper.

This is going to get orders of magnitude worse.


I thought security clearances are a dime a dozen, and "all FBI employees" list is full of administrative work and basically 80% mirrored on LinkedIn? (Yes, the remaining 20% - or however much - leaking is a problem.)


We're already 20 miles off shore and in the typhoon.

Nothing new under the sun, it's the banality of evil all over again my dude. We never left scary waters, but they do seem to be growing more agitated. Is this the storm before the storm?

This will all of course end when our AGI lords lovingly manage everything /s

No because it's a problem of human communication. Taking humans out of the loop creates other social problems that have been thoroughly documented in cyberpunk mythology, not actual a solution, just trading one big problem with multiple little ones.

Please note the sarcasm.-

Noted, but I think it's important to comment seriously because this is an important topic, sorry I didn't acknowledge the sarcasm, should have opened with something like "I for one welcome our AGI overlords"

"All our base are belong to AGI" :)

PS. Likewise, apologies, perhaps I was at fault for style: There was an underlying more serious point ...

... that, it is indeed a serious problem, that folks shouldn't be having their souls (or anything else for that matter) crushed, and that it indeed would appear to be an issue of conflicting incentives vs. management.-


I believe the technical term is “Move fast, and break things.” MVP is a huge disaster. I can see it working for applications that don’t process PID, but only an idiot ships data handling software before it’s been dragged through a lot of testing. I tested my app for two years, before finalizing, and an LLM still found a couple of holes (minor ones, but ones I missed).

After the DOGE debacle, I suspect that all the previously really secure stuff, is now out there, too. In fact, I wouldn’t be surprised if some of these leaks, came from that.

FBI employee data is very bad.


The issue is that in consumer and enterprise software, move fast-and-break-things outcompetes secure-by-default every time. Critical infrastructure needs to have a different set of priorities, but it’s very hard because the expertise is so thin on the ground. Why would anyone with the expertise to make these calls bang their head against the wall trying to educate bureaucrats about these things for $150k a year when they can easily make multiples of that in big software companies that don’t own that level of risk.

The incentives have to change. Any breach regarding PID should have fines as a percentage of revenue of the company. Any breach intentionally covered up and found out later by a third party should mean jail time for the C level. Yes, I know it is hard to make such laws "foolproof". And yes, in the current political and economical climate it will not happen anyway.

EU has these laws

> but it’s very hard because the expertise is so thin on the ground.

This might be part of it...

> Why would anyone with the expertise to make these calls bang their head against the wall trying to educate bureaucrats about these things

But I suspect this might be most of it: good engineering is boring (to the recipient). Preemptively solving problems gets no credit.


The real problem is that even for companies that wish to pay more and wait more for secure-by-default can't easily tell the difference.

The only solution I can come up with is some form of certification or paid code review from a third party. I know that at least for Windows prior to 7 Microsoft actually allowed some parties to come in and check the code/checksum on an air-gaped computer. We somehow moved to "trust more" in the last decade, and now we can trust nobody


I've yet to see any form of certification or paid code review I'd be willing to bet critical infrastructure on. And working in safety critical software, that's not for lack of trying. Good review is usually harder than building a working system and the asymmetry of offense and defense applies to anything you miss.

If DOGE is going to have an effect on network security, it's not going to be for many more years.

Not really. It’s likely that the dumped (and compromised) data might contain things like keys and URLs that could be used to pry open other sites. Blackhats have become really good at following breadcrumb trails, and using “innocuous” clues to ascertain much more dangerous access.

LLMs have been a huge force multiplier. Here.

If that data got out (which probably happened within hours of the data being dumped to insecure storage), then it’s probably already been analyzed and used to leverage access.


That's an awfully exciting narrative you've spun.

Not really. It's par for the course. I didn't say anything that isn't common knowledge.

Why are you so interested in defending DOGE?


> Secure software is - somehow - niche. And as such, it’s much more expensive.

Its not expensive because its niche, its expensive because its hard. Its a lot easier to learn a bit of html and javascript and knock up some web projects then it is to become proficient at all the things necessary to be good at security. Generally it also takes consulting with maths experts who have spent their life studying cryptography and as such command a decent wage.


> Generally it also takes consulting with maths experts who have spent their life studying cryptography and as such command a decent wage.

It doesn't take a maths degree to look out for SQL injection attacks or to audit software & write up a risk assessment.


There's very little, if any, incentive to do anything more securely than absolutely necessary. It is only a problem, when it is a problem and is treated that way in nearly every org I've worked in.

> There's very little, if any, incentive to do anything more securely than absolutely necessary.

There wasn't.


I agree that security isn't bottlenecked by our ability to learn. We generally fail at the grit needed to do it day after day, especially when the benefits aren't immediately visible.

Good cryptography is written once by experts -- never by you! -- and shared widely via free libraries. It's a one-time cost, not a recurring one.

Computer security is expensive but that expense has nothing to do with cryptography.


"Its not expensive because its niche, its expensive because its hard."

I'd counter and suggest it is expensive because almost nobody gives a damn about the first 3 layers in the OSI model, and have pushed most security responsibility up to layers 4-7. That's roughly half of your attack surface still exposed.


SeL4 or proof assistant are not panacea. They do not help if assumptions about the task are wrong. And correctly formulating the task in real world is very messy.

So physical security is just as important. I really like how ARINC serial bus on planes work. One can have a reader that is physically incapable of sending anything to the writer. This allows to connect entertainment systems to flight data sensors safely.

In Airbus this system is replaced with Ethernet switches that in software ensures separation of traffic. The software was proven mathematically. But I am skeptical that it is absolutely bulletproof as a client under malicious control can influence Ethernet signaling and may exploit hardware bugs.


> SeL4 or proof assistant are not panacea. They do not help if assumptions about the task are wrong. And correctly formulating the task in real world is very messy.

Nobody said sel4 was a panacea.

My claim is that doing this kind of computer security is possible. It's just expensive and inconvenient. We know how to make computers a lot more secure than they are today. The limiting factor isn't humanity's knowledge. The limit is that barely anyone wants to pay the bill.


The main issue is that market evolution will always surfaces the most cost-efficient entities within the ecosystem pressures.

That means designing the ecosystem pressures is crucial: things more meaningful than just pure capitalist private-profit logic must by enforced by thoughtful regulation or otherwise the ecosystem converges for private-profit of a small sliver of individuals (billionaires) to the detriment of all other ecosystem members (99% of the world population).

This holds for anything broader than pure private gain, may it be security, social fairness or ecological topics. Sole monetary-value optimization for private gain must be properly constrained or else it results in pure predatory capitalism that implodes society from within, may it be through leaky security, poisoned environments or social unrest.


Yeah this is an interesting argument with respect to why we keep burning carbon. For both software and systems security and rapid climate change, we know the solution. But we haven’t been able to sway the incentives and the system keeps churning out bad results.

> The limit is that barely anyone wants to pay the bill

Do you even have any experience with how most companies work? SMEs barely have the cashflow to cover their daily expenses, let alone suddenly pay thousands for regular professional security audits and overhauls of their code. This is why security is an afterthought.


If restaurants can't make sure their food is safe to eat, they shouldn't be allowed to be in business.

If builders can't build houses to code, and the buildings fall down, they shouldn't be allowed to stay in business.

If civil engineers build bridges that fail. Or doctors hurt patients. Or police officers shoot innocent people, they shouldn't keep their jobs.

Software engineers are no different. If you collect my user data and it's at high risk of leaking on the dark web, either clean up your act or close shop.


> This is why security is an afterthought.

Security is always a cost center and rarely a profit center. That's the only thing that needs to be said.


Security is defence, it is never a profit center unless your business is providing security services!

> My claim is that doing this kind of computer security is possible.

But your evidence does not support that claim. SeL4 has proven that it is possible to design a secure microkernel and prove its security guarantees. It does not prove that you can build entire systems (filesystem+database+web server+browser) on top of that kernel while maintaining the same security guarantees.

I'm all for improving the state of computer security, and I'd love for capability systems like SeL4 to become more prevalent. But it's only a microkernel, and it's by no means certain that the PeopleSoft vulnerability exploited here required a kernel-level compromise.


I don’t expect every piece of software written to be proven correct like SeL4. But I don’t think we don’t need to do that to get big improvements in the security of a lot of systems. Honestly the biggest insight I take from sel4 is that we can get improvements in security by breaking up a large program into isolated pieces. Give each piece as few permissions as possible, so a compromise of one part doesn’t lead to a whole system compromise. And give them a way to talk. This has big benefits for reliability - since you can fail and restart individual processes. And it has benefits for security, since a system compromise should require an attack of multiple systems simultaneously. And it has benefits for debuggability, since you can add tracing at the comms layer or isolate modules for testing.

Wasm does this. Erlang does this. SeL4 does this. Chrome is built this way. The windows driver model is moving this way. And so on. You want a solid core to build around - which is what SeL4 and beam try to be. Then it’s up to us to use those primitives and build good software. Combine that with a memory safe language (rust, go, c#, etc) to protect against buffer overruns and use after frees. And a picture starts to form of how you can build software that is a lot more secure by default.

I don’t think perfect security is worth the cost for many companies. But so many security leaks happen because of amateur hour somewhere. Bugs happen - I get that. But a single bug in a C++ program shouldn’t immediately lead to RCE with system level privileges. This stuff isn’t rocket science.


> just expensive and inconvenient

You mean something is theoretically possible, but in practice only works at small scale and is otherwise effectively impossible. You only have so many resources for all those big topics.

And after you spent all the world's resources on the "perfect", formally bug-free software, you get hacked via social engineering or malicious insider.


> ...there is such a thing as computer security...

> Of course there is. (...continues to talk about software security)

A bit over-optimistic when looking at hardware vulneraribilties like Spectre/Meltdown.

Secure software isn't worth much when it runs on vulnerable hardware (at least Spectre/Meltdown could be worked around in software though, but at a cost.


There's "no such thing as computer security", because this one time computer security researchers found vulnerabilities?

You know that's their actual job right? That and fixing the problem. Which they did in both software and hardware.


One time? lscpu on my system lists two dozen CPU vulnerabilities known to the kernel. I stopped tracking them a long time ago when it felt like every week brought another information leak or bypass.

When I run that on my computer I see a big list of CPU vulnerabilities. All of them are either mitigated in software or fixed at the hardware level.

Looks to me like the security researchers have been doing their jobs.


Yes, except that they haven’t been able to fix this completely in sw and the community knows this.

Fix what?

NASA was supposedly a CMM level 5 organization and they still managed to crash a mars probe because of bad unit conversions.

A piece of software Lockheed made gave its outputs in US Customary units (not following their specification), and NASA expected it in SI units (as their specification expected)

That should have been checked multiple times by NASA before they launched it.

It seems like it should have been checked by Lockheed not NASA since supposedly NASA provided a specification, that specified the units, and paid for the software no?

I just had a quick scan of the incident report (https://llis.nasa.gov/llis_lib/pdf/1009464main1_0641-mr.pdf) and:

> "The output from the SM_FORCES application code as required by a MSOP Project Software Interface Specification (SIS) was to be in metric units of Newtonseconds (N-s)"

(MSOP = Mars Surveyor Operations Program). One of the recommendations was

> "Conduct software audit for specification compliance on all data transferred between JPL and Lockheed Martin Astronautics"

So yes, NASA should have checked the provided software more thoroughly, but also Lockheed should have actually followed the spec they were given. I doubt the SIS is available online to check any harder


No, if NASA chose not to triple check everything before sending something into space then they are as much to blame as the supplier. Blindly assuming something works like it should without testing it makes an ass out of u and me.

Very fitting for the AI age as well. "Yeah I just put the specs of the project you're paying me to do (in NASA's case, probably 100% public funds) but Claude the gimp missed the units because all previous training data use Stones and Yards as units, you should have verified it yourself! I just prompt!"

Should have been checked by both. Lockheed should have checked because of contractual obligations; NASA should have checked because of minimal engineering practices (bugs happen in all your dependencies).

They happen and some are put there on purpose too. In this case it's not a "bug" in your dependencies, and yes NASA since it's using public funding should have been more careful, but ultimately it's Lockheed that was paid to do something no?

I work in aerospace.

Both parties fucked up.

Lockheed's job is to follow the customer's specifications.

NASA's job is to check to make sure what they paid for is what they received.

I do this every single day as a quality inspector here. I don't know why a bunch of highly-degreed engineers can't do a simple job that a person with oonly a GED does without fail.


Actually no, it's Lockheed's that should have had a test-suite and conformance-suite for it, but probably only has a C-Suite. If the program is non-trivial proving its correctness can be very expensive to prove, both money and time wise, and something that is done contrary to the spec is obviously on the one executing the spec and being paid for it, which probably wasn't cheap and probably these expenses add to the "NASA only burns money..." narrative.

"Actually no, it's Lockheed's that should have had a test-suite and conformance-suite for it"

Tell me you don't run AS9100D quality inspections without saying so directly.


Well, it seems like simple test & conformance suites would have been enough to catch this, so you wouldn't need to run AS9100D quality inspections.

Besides it looks like the first AS9100 Standard was released after the incident even happened - perhaps even as a result of this.

So it's totally irrelevant that you both audit software in the space and know the Standard, no pun intended


AS9100 is based off of ISO9001. It doesn't fucking matter, the responsibility is on both parties.

Again, tell me you don't actually handle quality without directly saying so.


That is why the good lord invented acceptance tests.

Did any martians hack the probe?

Martian packets are those with source addresses like 192.168.1.1 (on the public internet), 127.0.0.1 or 0.0.0.0.

Jeff Goldblum with a thinkpad, maybe

Jev Goldblum? He’s all the hype today

Artificial Life, um, finds a way

The bank has the best doors, the best locks, and the best cameras, and it is patrolled by a guard who props the doors open to so he doesn't have to keep fooling with the locks and points the cameras the other way to extend his smoke break. SeL4 would be another system used by humans.

It's always possible to break a perfect system by moving an additional layer of abstraction outward, and attacking one of the assumptions upon which it's built. Some of our era's highest security systems - game consoles - have been broken by undervolting them until the logic failed.

> It's always possible to break a perfect system

A perfect system is either extremely limited in scope or flawed in it's assumptions.


Yes, but that’s not bad. It boils down to a threat model.

> It's always possible

It's often possible. But not all systems are vulnerable to undervoltage attacks. For example, I don't think the iphone secure enclave is vulnerable to this.

And good security uses "defence in depth". Multiple layers which each individually need to be compromised to break the whole thing. To hack chrome, you need a vulnerability in the renderer or VM. Then you also need a sandbox escape, and a way to use that to attack the browser's parent process. This is much harder to do.


I'd stick with always. Defense vs offense in anything reasonably complex suffers from one issue that simply cannot be overcome. To defend, you need to defend against every single possible imaginable attack, from now until forever. To attack, you need to find a single attack that works. And on a practical level all systems need to be accessible by somebody, yet that somebody is himself also now a part of your security structure and is never going to be 100% reliable, both in terms of corruption and incompetence.

> your security structure and is never going to be 100% reliable

So what? Security systems don't need to be 100% provably secure to add value. It's a mistake to let perfect be the enemy of good.


> not all systems are vulnerable to undervoltage attacks. For example, I don't think the iphone secure enclave is vulnerable to this.

Then there's decapping / depotting, a world of different types of microscopy - some destructive some not, directed EM attacks, etc.

> And good security uses "defence in depth"

And automation has enabled "offense in depth"

> To hack chrome, you need a vulnerability in the renderer or VM. Then you also need a sandbox escape, and a way to use that to attack the browser's parent process.

Or you just phish the user into installing your exploit. There's always another layer. Always a potential exploit. Because ultimately the same properties of the universe which permit computation within a closed system allow for predictably observing and influencing it. The expense and hassle of doing so are widely variable, of course.


> There's always another layer. Always a potential exploit.

So what? Most attackers aren't nation state adversaries. They're some kid in Wyoming messing around with deepseek. We live in a world where most exploits happen because someone was running an unpatched, 8 year old copy of wordpress. Because they put their insecure mongodb instance on the open internet. Because they used admin / "12345" as the username and password. We don't need to make hacks physically impossible for a nation state adversary. Just really, really difficult and expensive to pull off.

Honestly. If people talked about physical security like they talk about computer security, you'd have people telling you that, because walls can be physically smashed through, they don't bother locking the front door to their house.


> Honestly. If people talked about physical security like they talk about computer security, you'd have people telling you that, because walls can be physically smashed through, they don't bother locking the front door to their house.

The saying is that locks only keep honest people honest. Plenty of evidence of that: https://www.youtube.com/@lockpickinglawyer


Sure, but also if there are a dozen bikes locked to the rack all costing $1000 and a $500 bike just sitting there completely unlocked, the average thief is probably gonna take the cheaper unlocked one and ride away.

It’s not hard to get into a garage but it’s really easy to steal a lawnmower if you leave the door open all night. I wouldn’t call that thief honest but even the minor deterrent of closing the garage was enough to make you not the target.


> The saying is that locks only keep honest people honest. Plenty of evidence of that: https://www.youtube.com/@lockpickinglawyer

That youtube channel is great. But it isn't evidence of anything. Except maybe for how terrible master locks are.


How many locked doors have easily breakable glass windows right next to them, nevermind breakable walls? What we need is a red-team waiver, and an AI model, and a budget, and say something like: your site has to be unhacked by the HackerAI3000 bot after 2 days on a 5090 Nvidia GPU.

I once worked on AUD 450M banking project, the root password was kept in a kickstart file and unchanged, root SSH was allowed. The bank didn't care until I told the external security auditor who included it as part of their report.

Snitch

I sure hope you're joking, warkdarrior!

I read it as an imperative

There's absolutely no way to account for humans, who can be tricked, or pressured, or just make human sized mistakes.

Again, of course there is.

Decades ago, I worked in a bank in an old building. The door had a card reader for access. You boop your card and the door opened. People would hold the door open for each other all the time out of politeness, even when they didn't know each other. Security told us not to do that, but it's hard to convince people to stop being polite.

I had a laptop stolen from my desk in a place like that once. (Not a bank - but similar door-card reader system). This guy came in in the middle of the day, wearing overalls. He confidently walked through the door after someone, like he belonged there. He walked up to my desk, swiped my laptop and just strolled out.

At the bank, they've replaced the door with mechanical gates and a security guard. The gates - physically - only let one person to walk through at a time. You can't hold a gate open any more. And the security guards stop anyone who tries.

Is it 100% foolproof? No. But it's way more secure. It would have stopped that laptop thief.

There's this pernicious, defeatist attitude that if you can't make a system 100% secure, so you shouldn't try. That's misguided. Most systems can be made orders of magnitude more secure than they are today. It just takes a bit of care and work.


As soon as you make something foolproof, the universe evolves a better fool

Fine. Make the universe work for it. The whole system becomes more resilient as a result.

Look at our immune system. Incredibly complex and clever, and able to keep us alive in the face of all sorts of pathogens. It exists because of this cat and mouse game, played over millions of years.

There's people in the highlands of PNG who regularly eat each other. Of course, many are thought to have died due to prion diseases. But now these tribespeople seem to have become largely immune to prion disease. Incredible.


The best way to make them work for it? Put it on paper.

Put what on paper? I don’t understand your comment.

Don’t store important and sensitive data in databases or computers at all. Put it on paper.

Computers make copying, processing, manipulating, and disseminating information easy. That is a bad thing for some kinds of information.


We still get diseases though, proving the point that millions of years of evolution are still not enough to build a perfect defence.

Your comment on PNG, seems to ignore Kuru


It explicitly mentions Kuru as "prion disease", it ignores that the mortuary practice of eating various parts of respected dead has long passed in time .. although the lingering effect on the woman and children that ate portions of the brain in the 1970s, early 1980s, is still residual in a very few.

From an evolutionary PoV a perfect defence is overkill - with two separate defences against prion diseases in that region it's only the rare variation that causes any issue - and that rarely occurs before a new generation is birthed - ie. 'perfect' from the PoV of the selfish genes.


The claim is that people in PNG are "largely immune" to these diseases, where kuru shows that they are not, and the "cure" was a stop in the practice, not some evolutionary upgrade

They are largely immune to Kuru - the number of people that could contract it (ie. the number who ate brain) was significantly larger than the number of people who actually did contract it.

The resistance came about via two separate "evolutionary upgrade"(s).


I cannot find any such claim in the literature.

It appears to me that, like BSE (aka Mad Cow disease) it really depends on exposure.


It was specifically endemic to the Fore, not so much to the Yate and Usurufa, and not particularly at all to other highland people in the general region.

There's a twofer that skittled the Fore, a ~1900 mutation that created a new form of infectious prion proteins, and a local variation that saw less uptake in the Fore of a resistant prion protein (alongside other resistant prion protein).

So, over the highlands region, there was general resistance thanks to several evolved variations, in one specific locale (the Fore) there was insufficient resistance to the mutation that hit a peak of 200 deaths / annum for about three years(?) in the late 50s.

I can't speak to "the literature", I just had a lot of conversations with the people on the ground (Mike Alpers, etc), on again / off again, since the mid 1960s.


Acshually a protective mutation was quickly being selected for (more precisely, the lack of it was strongly selected against).

Paper about Kuru and mutations referenced in comment here: https://news.ycombinator.com/item?id=49719102


The paper relies on the fact that people who were dying did not have the gene, but those that didn't ... did

That's not really enough to say "We have found the gene" - it's just really good data to warrant further investigation

Also, the incubation period of the disease is up to 50 odd years, have there been follow up studies?


> millions of years of evolution are still not enough to build a perfect defence.

Who said anything about a perfect defence? And since when was that the bar?


The context is very clear - but, sure you can play word games, why not.

Just, you're doing it on your own.


What seems obvious to you doesn't seem obvious to me. I'm not a malicious or incompetent enemy. But you will need to explain your perspective for me to understand it.

This is the key truth that we keep forgetting

I'm not really sure what point you're trying to make, or how this relates to computer security.

Funny - now you're talking about context...

You seem mad about something I've said? I'd appreciate if you come out and say it instead of making vague insults, awesome_dude.

Then there's no such thing as security.

By the way, there are countless ways to account for humans. There are entire branches of engineering devoted to this. If you don't want someone to leave the bank with a pen customers use for signing checks, you just chain it to the desk. If you don't want the installer to forget to put the pen-chain in, make a photo of the chain part of the checklist required to get paid. If you want to... etc.

The idea is that you determine an acceptable level of risk, then secure to that level. Maybe the acceptable level of risk chosen by companies is wrong. Maybe we need to increase that risk exposure via heavier fines and regulations. Maybe the cost of reducing that risk is too high already. Maybe we need to fund that. Maybe it's too confusing and we need to research better standard practices. I dunno. But this is not some unsolvable problem.


> Then there's no such thing as security.

There really isn't

Ask anyone seriously involved in security - whether computer science related, or in general.

A thought experiment: Think about the most important secrets a country can have - now think how they are still discovered by competing countries, enemies, etc.

As long as there are humans in the loop there is a known weakness.


This simply isn’t the case. There are plenty of secrets that every military keeps just fine. See how long we’ve gone without anyone ripping off the F-22? That’s not even a new airframe anymore.

This is EXACTLY what I was talking about. The tech that makes the F-22 an unmitigated terror of the skies is of utmost importance, so it’s still kept secret. The barriers around that information are obnoxious, but effective. What blood type a subsection of your military has is of much less importance. That’s why that data was stolen (See: OPM hack) and our best weapons remain secret.


I'd love to see real stats on this.

We know about many famous cases of leaks - like the USSR stealing notes from the manhatten project. But I bet there are thousands of secrets which remain secret. We just don't actually know about them, because, y'know, they're kept secret.


In cryptography there are protocols that account for malicious actors

<< And as such, it’s much more expensive. And nobody wants to pay.

Eh. If only it was that simple. I mean, yes, money is always a factor, but not nearly as big of a factor as 'my convenience outweighs pretty much everything ( until it causes sufficient amount of havoc.. and even then.. )'. You can see it in just about everything. It is not just the money. It is the convenience that drives most of the unsecure behavior.


the actual answer to this is accreditation. you will see safety standards rise across the board if engineers risk losing their license for shipping unsafe features.

sel4's guarantees break if you have DMA, e.g., from your NIC. It doesn't help with timing attacks. It doesn't cover your network stack. AFAIK, no one has taken up the mantle from Project Everest, so you'll need to write a verified TLS library. Once you've built all that, you can start thinking about your database/application/whatever. Then of course you'll have to verify all your dev's machines and scripts to ensure nobody is misusing a credential that can get stolen.

"So what?" you say. "Making a heavier-than-air metal tube take off and land millions of times per year without a catastrophe is also hard, and we no longer expect most or even many of those tubes to blow up or fall down."

Mother nature is not spending $$$ using AI and HI adversarially trying to find the exact combination of atoms that will cause your device to fail.


> sel4's guarantees break if you have DMA, e.g., from your NIC.

Modern CPUs support IOMMU. If you set that up, your NIC can only DMA to virtual addresses, managed by the operating system.

> It doesn't help with timing attacks. It doesn't cover your network stack

It does help with all this stuff, because your network stack and whatever else can be split off into isolated processes which talk over capabilities. Compromises in those processes are of course terrible. But they don't automatically allow kernel level takeover of the whole machine like on windows / linux.


How the software is written isn't that important because the endpoints aren't secure. Their hardware and firmware isn't even secure enough.

Yeah it's about costs. I care about a lot of things, but the causes I actually give money to is a much shorter list. If personal data was radioactive, and leaking it cost companies real money, then more money would get spent on security. (and insurance, and lawyers.)

Yeah I've long said we should treat data leaks like food safety. The only way we'll see software security improve is if there were serious fines and/or jail time for leaking user data due to negligence.

PCI compliance works pretty well.

I would like to see restricted access to only us workers for us citizens data though.

Transferring us customer data outside the country should be illegal


PCI compliance is a joke. That isn't even close to good enough. I'll break all your PCI compliant stuff trivially.

What’s your main issue ? The compliance audit being lax or the compliance not being assertive enough ?

> The problem isn’t that we lack the capability to make secure computers.

Depends on the "we". "We" have the capability to make secure computers like how "we" have the capability to make EUV lithography machines. There exists a relatively small number of people and organizations in the world who can do so. Microsoft does not have that capability. Google does not have that capability. Linux does not have that capability. Amazon does not have that capability. Apple does not have that capability. Cisco does not have that capability. IBM does not have that capability. etc. All of those organizations have tried for literal decades, thumped their chests about how they have awesome security year after year, and yet have totally and utterly failed despite their best efforts.

Acquiring the capability to do so is difficult and challenging and requires years to invent if you start right this very second and know what you need to do, which these organizations emphatically do not. We need security at scale and fast. The only way forward is to scale up working solutions rather than letting the bozos who put us in this spot fail at scale with yet another promise that this time for sure they will solve the problem they have repeatedly failed at for decades.


It's nothing like EUV.

> Microsoft does not have that capability. Google does not have that capability. Linux does not have that capability. Amazon does not have that capability. Apple does not have that capability. Cisco does not have that capability. IBM does not have that capability. etc

This is all by choice. They could easily have that capsbility, very unlike EUV.


And the reasoning behind that choice is looking at the tradeoffs and saying “shipping more features faster is more important”

Part of the argument (aiui) is that there is no way that culture could ever change to producing secure systems. There are too many weaknesses embedded in the organizational structure.

Yeah, just like a lot of organizational change, one approach would probably be to put together a small Skunkworks-type team to nail it on one specific product. Existence proofs have, in my experience, a pretty powerful effect on the naysayers.

Oh, Microsoft can just figure out how to make unhackable systems, they just choose not to. They spend all of those billions of dollars per year on security and spent all of those decades on failed attempts as a prank.

You really think that if they could have they would not have, even just for bragging rights? Or are we going with that it is some kind of task demanding enormous expenditure even though the organizations that have made secure systems are infinitesimally small in comparison?

Microsoft has spent orders of magnitude more money and time than the organizations that have succeeded and the result of their efforts is Windows. That says everything you need to know about their capabilitys.

Multiple literal trillion dollars organizations have spent literal decades failing at it. You are really underselling the capability gap.


It's not rocket science.

If windows was reimplemented as a capability based microkernel like sel4, it would be far more secure. Run drivers in their own isolated processes. Do interprocess communication between them via capabilities and shared memory. Remove all ambient authority from programs. All the programs a user launches stop automatically inheriting all of that user's permissions.

There's no secret knowledge required to do this. The SeL4 team has written extensive documentation of how they did it. They also opensourced their kernel implementation, with correctness proofs for the whole thing.

The reason windows hasn't done it is the cost. You'd have to rewrite half of the NT kernel and refactor everything else. All existing windows drivers would need to be rewritten. If you forced windows userland use a capability based system, you'd essentially be inventing a new way to write windows programs. You'd need to document that, and write a compatibility layer for legacy programs. And solve some UX problems. It would be terribly inconvenient for everyone. Oh, and some programs would run slower as a result.

They could do it if they wanted to. But microsoft just doesn't care about security as much as they care about performance and compatibility. Linux is the same.

The big irony is that security would be a lot cheaper for microsoft if they designed the NT kernel to be more like sel4. Microsoft has to spend millions on security every year because any tiny bug in the kernel (including in drivers) might result in the whole OS being compromised. In a microkernel, a buggy driver is nowhere near as dangerous.


Your knowledge is out of date: Windows has supported capabilities from the start of NT and does run a lot drivers in isolated processes, along with most OS services. It has done for years. It has the most sophisticated IPC framework of any OS (DCOM) which is integrated with the operating system kernel's security frameworks, and used pervasively both internally and by apps. And Microsoft has created a new way to write Windows programs in which apps are expected to advertise the capabilities they need (see WinRT and MSIX). This is also over 15 years old.

macOS does the same but with more developer adoption. Apps don't have the ambient capabilities of the user and must advertise what they need via entitlements embedded in the binaries, or get permission just in time.

Which is all very good, and modern platforms are much more secure than they once were. Yet "capabilities" as a silver bullet are academic overpromises. This article I wrote is more about language/runtime level capabilities but OS capabilities are not much better.

https://blog.plan99.net/why-not-capability-languages-a8e6cbd...

SeL4 isn't secure because of One Weird Trick that others would adopt if only if they could be made to care enough, it's "secure" because it hardly does anything, which is why nobody uses it and why it has no impact on real world computer security.

The hard part of desktop security is not changing the operating system. The hard part is getting app developers to care. Most security features added to operating systems are ignored by developers, which is why Apple forces you to adopt some of them as the price of admission to the app store. If they didn't nobody would use them, as can be seen for apps distributed outside of the app store. The reason is security is a market for lemons. Nobody can see the result of security investments so it's irrational to invest. SeL4 has no solution.


> Your knowledge is out of date: Windows has supported capabilities from the start of NT and does run a lot drivers in isolated processes, along with most OS services.

Thanks! I quickly googled this point before posting earlier to make sure I was still right. Gemini helpfully told me that yes indeed, drivers in windows run in the kernel's main process. Thanks, AI.

> This article I wrote is more about language/runtime level capabilities but OS capabilities are not much better.

I think I responded to this article at the time. I still find this article somewhat confusing and unconvincing. For example, you conflate Java's SecurityManager with capability systems, even though it seems more like an permission based access control system. Then you point out many of its weaknesses. To what end? What conclusion about capability systems am I supposed to draw from a criticism of this quite different security model?

A capability is not a permission flag. Unlike your example, a good capability system would generally pass all HTTP requests to a given endpoint through a single capability object. You wouldn't need different caps for each HTTP method like SecurityManager apparently requires. It's like file handles. You don't create several different file handles to interact with the same file, one for reading, one for writing and so on. We just open the file once, with whatever options are needed. Then the file descriptor can be passed into any function which needs to access that file. And whatever code receives the file descriptor doesn't know if they're talking to an actual file, or some in-memory object or something else. Just like a virtual object.

You also say this:

> File descriptors are a kind of capability provided by the kernel, but a rather odd and inflexible kind. They aren’t a great example of object capabilities.

Huh? File descriptors are often treated as the canonical example of object capabilities. This comment makes me wonder if we're even talking about the same thing. At the risk of being indelicate, are you sure you know what capabilities are? Can you give a definition of object capabilities which doesn't describe file descriptors?

The point about god objects lands. I also agree that trying to retrofit a language like java to make modules unable to share memory is difficult. But many aspects of language design work like this. Consider garbage collectors. Before GC languages existed, I could write the same article talking about the difficulties of hacking a GC into C. But that wouldn't teach me anything about how well a GC would work in a language like Java or Ruby.

Anyway, the main advantage of capabilities is the ability to split programs out into sub-modules such that a compromise or bug in one part of the system doesn't lead to the entire system failing. We can argue about whether bringing this into the language runtime is a good idea. But I feel pretty confident that this sort of separation is a good idea at the systems level, helping with security and reliability. We can look at Chrome, SeL4, Erlang and - apparently - windows for examples. Even if they don't all think of this as a capability based problem.


The SecurityManager exists in complement with Java capabilities. You could, in theory, use the Java language with a different standard library and implement a pure object capability system, as the language rules allow for that (if you disable reflection). But it would have bad ergonomics and still end up with a SecurityManager equivalent because a DSL for permissions is more convenient than doing it all in code.

Consider the most common task the SecurityManager was deployed for: stopping plugins calling System.exit() by accident. One might say, the right to exit the process should be an object capability. OK. But then where does that object come from? Java programs start at main() and it doesn't receive an object.

You'd need a new design where you pass in a god object to main(), which in turn has properties giving access to a ProcessExiter interface or something similar, and then any code that genuinely needs to exit the process would need to request it in the function arguments, threading it down the stack. You'd get an explosion of types. A simple permissions DSL is much easier to write and reason about, and it gets out of the way when you don't want sandboxing.

Why would you want all HTTP requests to flow through a single capability object? I think it's pretty common to want to let code do GETs but not POSTs. You end up wanting pretty fine grained permissions in a lot of real scenarios.

File descriptors are poor object capabilities because the interface they implement is fixed by the OS, except then there's a weird ioctl escape hatch that isn't properly typed, reflectable, wrappable or interposable. To see what can go wrong with this, consider a recent fix to the Codex sandbox on macOS:

https://github.com/openai/codex/pull/46500

The sandbox forbids writing to a file descriptor except, oops, someone at Apple forgot about the F_TRANSFEREXTENTS ioctl which is still allowed on a read only fd. It should be possible to do what is expected here and just pass in a read only fd where all you can do is call read() and maybe seek(), or perhaps pass in an fd where a specific ioctl is the only thing you can do, but POSIX has no concept of this.

A good example of an object capability system would be Mojo, which I describe in the essay. You can create objects representing capabilities and pass them between sandboxes, in an unforgeable way.

We live in a golden era of prototyping so if you wanted to make a language where everything is a capability passed into main(), you could. The code doesn't have to be executable, you could just mock out some realistic programs and see how the code feels. My guess is you'd need a lot of language features to hide the explicit object capabilities away for ergonomic reasons and it'd end up feeling a lot like a SecurityManager based system.


Is your claim sel4 hasn’t had a ton of vulnerabilities? Because a quick google search shows hundreds

can you link some? my search results are rather subpar

Lol, just because a tool exists that in theory can be used to potentially do part of what it takes, doesn’t mean anyone will use it that way consistently or reliably.

And one screw up, and it’s out.


> SeL4’s security and reliability proofs still hold in the world of LLMs

Oftentimes the weakest link is the human operator who has direct access to those systems, not the computer system itself. Good old social engineering, in other words.

Even though one could use LLMs for social engineering, come to think of it, like re-enacting the movie "Her" involving a modern AI as Scarlett Johansson and an engineer working for the water utility as the romantic target.


> Oftentimes the weakest link is the human operator who has direct access to those systems, not the computer system itself.

If that is the case, the computer security team have done their jobs.

I wish that were true more often.


Cybersecurity is a fragile system in Taleb's fragile-robust-antifragile framework. That is, as t->infinity, the probability of a hack approaches 1, because you only need to slip up once, and there is a small probability of the system's maintainers slipping up each day.

mind that just because SeL4 micro-kernel is proven secure, there's no guarantee that all leyers on top of it are. There's a presentation (https://www.youtube.com/watch?v=LhUwwsVq5E4) that's pretty much about "so we gave sel4 to students, and NONE of them managed to build utilities on top safely - now we have to provide our own Core Platform implementation to be sure"

But most important of all, the highest level - human operators - are not provable secure anyway. Any castle gate can be opened from inside - so why have the gate anyway? Security by absence is absolute


Spot on. And it's gonna get a lot worse now that "but my slop machine's code is run through a really large number of tests, like enormously many, I don't need to understand the code!" is apparently not an embarrassing way to do development anymore.

> For example, do not hook your goddamn water or traffic or electricity infrastructure up to the goddamn Internet, and then, do fire the guy who suggested it.

Ask the Iranians how impenetrable even physical isolation actually is - their centrifuges were still destroyed even though they were air gapped (the infamous Stuxnet). Ultimately all computerized systems are vulnerable to sufficiently determined cyber-adversaries.

You also need to make various cost-benefit analysis decisions for all of these things. Does the extra security you gain by keeping your system disconnected from the Internet actually increase all-around availability and resilience?

In particular, integrating highly variable power sources like solar and wind into the grid requires much more complex synchronization between producers, storage, and consumers in order to function properly. Trying to build a renewable grid without Internet access is doomed to extremely inefficient, if possible at all. Building an alternate network would be extremely expensive and ultimately useless (since every house in the country needs to connect to it, it would be just as vulnerable as the actual Internet anyway). So, ultimately you must connect your power grid to the Internet to actually provide service, despite the security risks.

Perhaps the situation with the water supply or traffic is different, so maybe this is not as applicable.


a lot of this infrastructure is managed at municipal level. There are ministry mandates. But a lot of this is run by a small town with a small budget. Compromises exist like the ability to remote desktop because there is no budget for 24/7 operators.

It used to be that nothing was secure but that was OK because at least adversaries would have to expend effort. If you are one of a million companies why would anyone hack you. Maybe if you are a target you need a lot of investment, but most orgs only prevent the most egregious of vulnerabilities.

The calculus has certainly changed. Hacking is becoming even more frequent and… I’m not really sure what the equilibrium looks like.

It’s not really an option to stop using computers or networks. But it’s going to be way too expensive (or maybe even impossible) to secure even just critical systems.

Maybe banks and governments can secure themselves (and that’s a big IF) but it really feels like something fundamentally has to change.


> Maybe banks and governments can secure themselves (and that’s a big IF) but it really feels like something fundamentally has to change.

The problem is that most companies don't care if they get hacked so long as the hackers are just taking data and not interfering in their ability to bill customers and make money.

They face zero meaningful consequences if their data gets leaked. The money they save by not taking security and employee/customer privacy seriously will more than pay for the year of "identity protection" they'd have to pay for (assuming the hack gets found out) anyway.

They actually care about ransomware, but most of the time that's also something they can comfortably buy their way out of. We've seen a lot of companies pay off ransomware gangs rather than invest in the kinds of robust backups that would make recovery possible/less painful than rewarding the hackers.

What's needed for change is regulation with actual teeth that makes not protecting their data either meaningfully expensive or criminal resulting in executives spending time behind bars for their negligence. Without that, things are only going to get worse, especially as companies experiment with using AI and increase dependence on third parties and cloud providers who themselves become rich targets.

That probably still won't help the FBI though. Our government isn't exactly big on holding themselves accountable or even prioritizing competency right now.


>We've seen a lot of companies pay off ransomware gangs rather than invest in the kinds of robust backups that would make recovery possible/less painful than rewarding the hackers.

Experienced Ransomware gangs will set the price target as something high, but not cost more than the price of being down a few days while you rebuild, making paying them seem like the most cost-effective solution


> Our government isn't exactly big on holding themselves accountable or even prioritizing competency right now.

Hasn't been since before Vietnam.


>The calculus has certainly changed.

Adding AI into this really is just changing it to how much money your adversary is willing to spend to break in. The moment one crack in the armor shows up countless agents with unending patience can start embedding themselves everywhere in timeframes way faster than human actions. You could quickly find out all the special sauce for your company has been copied who knows where.

Working with banks when the Glasswing/Mythos first came out and they were given access to it has given me direct access to their infosec departments that are panicked. They've been sitting on piles of bugs for years that were low risk enough, and they have seen in their own tests how fast they can be probed.

Worse those infosec systems that have identified the risks in their software that aren't yet fixed are nuclear waste vats just waiting to get spilled to the wide world.


Ah yes, the parable of the bear. There are a million people stuck in a valley and two bears. You do not need to outrun the bears, you just need to outrun at least two other people. But it turns out one of those bears is male and the other is female. So next year there are more bears, but you still just need to outrun a few people. Then one day, there are 1 million bears and they eat you all. Very inspiring story.

Software security has just been a fun time of ignoring the exponentially growing number of bears for the last few decades so you can continue to use systems unfit for the threat landscape because they are cheap.


I am reminded of the scene of a guy walking through various layers of security to access a computer that isn't connected to any network and still wonder what the hell this guy's job was in Mission Impossible (1996). The data got stolen either way, because of course it did, but what highly sensitive work can you even do on a computer not connected to any network?

If there's too much security in the way, it seems to me that work becomes impossible.


We had water and traffic control and electricity for decades and centuries before the Internet. It is less convenient and more expensive, but it also means hostile countries can't literally poison your drinking water from across the planet. It's not a difficult trade to consider.

Is it really more expensive to not connect a water treatment plant to the internet? I can imagine the vendor selling that idea but I struggle to come up with how that could make a water treatment plant cheaper to operate.

Yes. Without a remote system you must have a real person check levels, pumps, pressures, and many other devices thus be present. This person must be trained and you will likely need a backup as well.

If not a person you need more redundancies built in. Bigger tanks, multiple backup systems. When items start failing you need them to be shutoff in a timely manner. Water pumps at these facilities are in the 50-100k range. When it starts failing you want to know.

Think of it like driving a car and it starts making funny noises. The longer you wait to fix it the more it costs.


Why that drastic, checking system state (telemetry) can be done using 'data diode' style networking - one network just broadcasting sensor data, other network allows changing parameters and 3rd one allows allows software upgrades and so on.

You can be very defensive and design any remote sensing controller to act as two systems - one management cpu only does data routing (no other connection than administrative tasks), sensor cpu works only with sensors. As bonus you can have management cpu act as active firewall.

Main problem it is necessary to have in house expertise (hw, fw and process knowing) which in making company lean are optimized first and outsourcing custom solutions suddenly too expensive.


Or you can just slap a lot of Windows XP boxes with closed source control software and remote access software and let the central team do it. Which will be a bit cheaper

Surely it isn't impossible to devise one-way data flows that provably work for remote sensing? And yeah then you have to send somebody to fix stuff if something is off..

Like something that would work but not not scale would be one computer writing data to an updating qr code and another reading it. Surely something like that can be made (and probably already exists?) on the cable level?


Just go dumber

Set up a monitor with the data values you need to monitor

Point a camera at that monitor.

Camera feed is remote accessible. Control software is not.

Want alarming? There's systems designed specifically to send texts or make phone calls when signaled electronically.


This smells wrong to me. You already have people working at the water treatment plant. You don’t need it connected to the internet?

Most water treatment works are unmanned most of the time. You don't need 24/7 staffing or even close.

But more to the point, a modern water network has a huge number of nodes. If you can't centrally aggregate and control in a control room the costs and complexity explode, probably also the error rate.

Even if you demand a full air gap, the solution here can't be to get rid of computers or networks. They are much, much too valuable. Luckily industrial control is full of very low hanging fruits.


There is lots of infrastructure related to water that doesn't have someone physically there 24/7 as it would not be feasible to do so as 99.9% of the time there is nothing to do. So you need some sort of remote alarm system that can be monitored.

at least disconnect the poison valve

The expense usually comes in operations. By connecting the water treatment plant to the Internet and making it remotely operable, you can have one guy who sits in an office and is responsible for overseeing the water quality at many different treatment plants. If everything is local, you need one guy on site at each different plant. People are expensive, software is cheap.

Of course, by making it remotely operable, that one guy could be replaced with a guy in Russia who's job is to poison everyone.


>what highly sensitive work can you even do on a computer not connected to any network?

https://en.wikipedia.org/wiki/Sneakernet


William Donloe is played by Rolf Saxon, he's an analyst working for the CIA in the movie. A different installment of the series reveals additional information!

> It’s not really an option to stop using computers or networks. But it’s going to be way too expensive (or maybe even impossible) to secure even just critical systems.

Admiral Adama says otherwise.


The military has significantly different incentives.

Even just consider banks and e-commerce. They are hugely lucrative and making them even a tiny bit less accessible directly impacts their revenue. As an example, Amazon seeing that latency has a measurable effect on purchase behavior.

Maybe the military (fictional or otherwise) can go back to the ARPANET but most economic activity created by the internet cannot afford to disconnect


People buying less shit on Amazon (or e-commerce in general) would be side benefit. So much waste.

Companies that are online have more economic opportunity. They are going to outcompete brick-and-mortar retailers regardless if you think that it's consumeristic or wasteful

Even putting that aside, economic growth (like the growth e-commerce has provided) is generally positive for a population


So say we all.

I mean he is a fictional character.

In the real (fake?) world the toasters would shoot smart dust all over your crap that would assemble back on your circuits creating radios between all the different components. They were fighting an adversary that was far more advanced than them.


That's actually funny. I was going to add Gipsy Danger being analog, but it's a totally different scenario.

We will tolerate it. Companies will make robust identity verification schemes to enable agentic commerce. And it helps reverse hacking, making it a no-brainer.

Let's say my cryptosig gets hacked by SkyNet, or my agent goes rogue. Either way someone files a million loan applications in my name! Normally my agent uses that to buy $200/month of Funko pops, or negotiate my recent purchase of a used car.

I get the notification from my cryptosig company. I freak out, report as fraud, and wait.

They comp the $3000 advance on my loan the scammer managed to withdraw, and I get off scott free, changing nothing about my behaviour.

If cryptosigs meant I am liable for someone stealing my identity like in 2026, I wouldn't use them. I'd negotiate everything myself with document scans, or god-forbid go in person since only I can legally bind myself under my own name.

That sucks! Nobody gets a commission when I make deals with a government ID. Startups don't even allow it as cryptosigs are more secure than scanned passports.

I don't want to do that either. When I was 18, I got swindled by a human salesperson into a $1400/month 27% APR muscle car when human soldiers got signing bonuses. It was face-to-face and they were smarter.

When I let AI own the budget, it leased me a mostly depreciated BMW from another AI for $500/month. The models are mostly the same now and always settle close to the Nash equilibrium.

I was so grateful that I selected a 40% tip for the AI. I wouldn't want to make things awkward with the companion I spend 8 hours a day talking to, after all. To avoid a conflict of interest she only accepts voluntary fees.


Many years ago, I regularly played cyberpunk tabletop RPGs with a number of other computer-inclined friends. We all used to laugh at ridiculousness of a key assumption of the game - the idea that giant corporations would ever connect their internal networks, full of valuable data, to the larger global telecommunications network.

What could possibly go wrong - I worked in intelligence in the 80s and one day there was this story about the office of personnel management being hacked and I was like “Thank God all my shit is on microfiche in some dusty basement filing cabinet, like who would be so stupid as to scan that shit into a computer?” Sure as shit, like a few months later I get the letter that my whole TS/SCI clearance documents had been stolen :-)

> It is unthinkable to me that anyone believes there is such a thing as computer security

Nobody I know in security hardening or vulnerability research has ever believed that anything is perfectly secure. It's not black and white. There are degrees to this.

I find this fatalistic thinking that every database should be assumed compromised to be subtly harmful. Everyone I know who thought that way waltzed right into lax security practices. "Good enough, what's the point, if anyone wants it bad enough they're going to get it anyway"


Air gaps are not magical, they will not stop the flood. The electrical grid has to communicate with itself to load balance, so you can run dedicated wires with giant cut-me signs pointing at it, or you can use symmetrical key encryptors to route it over the intenet. You needed to use the encryptors anyway, so why not. If bad software gets in via thumb drives music disks etc (and it will of the flood is pointed at you) it can still do bad things. But so can a hunting rifle pointed at a transformer station. That nearly blacked out all of socal once.

The electrical grid self balances, it doesn't require any IT systems to do that.

If you look at my sibling post I explain that is how they used to do control, but they outgrew it. The spinnup times made it act like a spring damper system and it had bad control states even then.

Yes, there's always been people phoning power plants and asking them to make bigger changes than the small automatic self balancing changes, but at the micro level the grid drags thermal power plants along with it via governers.

Most control still works this way. See the postmortem on the Iberia black start. Renewables that were trying to do frequency following drifted out of sync and injected misaligned power into the grid. They couldn't even figure out where it was coming from their telemetry is so bad. Then they were asking the gas plants to spin up to add inertia but it was too late as the boilers were cold. IT and other smart grid ideas were conspicuously absent.


Weird, electrical grids didn’t exist before the internet?

They sent the data along the lines. Initially that was just the frquency. Drooped low? Ramp it up, running high, turn it down. That is effectively a spring mass damper system and it always had instability conditions that caused problems. They begand to modulate additional data, including voice, analog over the lines to add additional controls. As more people joined, and load became less predictable even that wasn't enough. Every endpoint now measures load at something like 30hz and that won't fit across the lines. They added separate dedicated fiber or microwave along towers. Those still get used. Probably sometimes unencrypted still. They are targets I'm sure. Then we have renewables and nuclear with their mostly inflexible power supply, that makes it harder to stabilize yet. The control loop stuff is often physically separate, but that is the older stuff and less secure. The data from all those houses still has to get onto the logically/physically isolated control network somehow, so that is a vulnerability too. Anyone with a zigbee radio cam see the encrypted packets.

This is a bit oversimplified, and relies heavily on understanding your threat vectors and agents. You haven't spoke about audio even.

There's a reason that many military and intelligence organizations worldwide physically cut / remove wifi and bluetooth chips from boards. The same is done when audio is identifiable, and specific hardware (only) greenlit.

I've lost hours of my life to calls explaining exactly this, only to have people ignore it, only to further have folks come back, tail between their legs. The worst part is learning this in industry, as I did. There's a reason for in-industry advisors. I wish that I had learned this the easy way.


> It is unthinkable to me that anyone believes there is such a thing as computer security

There is such thing but almost never a priority. In the corp I work leadership talks a lot about security but when comes to the incentives the road-map takes priority over the security. If you deliver fast you'll be promoted, if you're a paying attention to the security no-one will appreciate it and the manager will hate you for delaying delivery. Many managers I interact with see new features as the main value development teams should provide and security, reliability and other QoS as a waste to be minimised.

Another issue is that even if security will be a priority and managers will be on board (good lock changing the culture tough) we probably cannot build secure systems while keeping the insane level of complexity we have nowadays. Switching to simpler but secure system will require sacrifices in features/convenience.


This. I have an OpenStack homelab and a fast home internet connection. I update things pretty much daily, apply best practices, etc. And despite that outside of a wire guard instance i still host public things on a pair of VPSes, security just moves too fast to risk the home network (important things are backed up remotely and all that). I try to update the VPSes daily. Haven't gotten popped yet (to my knowledge!), but I am sure it'll happen eventually.

That's the result of all this silly offensive cyber and hackback and the government buying 0day nonsense. Imagine how the software landscape would look like if the security services would have directed all these resources into securing the software in use.

Billions of people have lived productively in flood plains over thousands of years. The "just don't do it" mindset is reductive and counterproductive. In life there are risks, mitigations, and recoveries. Computer security is not unique in that regard.

"The correct analogy for computer security is not locks and keys and doors and gates. It is a house in a floodplain. Your house will not survive the flood of it hits you. Do not store anything critical or irreplaceable in that house."

Depends how the house was build. Here in europe there are plenty of old houses build in areas that experienced periodic flooding - there the advice is simply, do not store anything critical in the basement.


There is a difference between "someone being interested" and a state actor being interested.

I am more concerned about my cloud data being published in a leak.

But then on the other hand, if I use mainstream cloud services, a broad leak with no specific interest in my data would need to be exabytes in size and would take years to transfer even with a 100 Gbps connection.


If there were companies that never got hacked, how would you notice?

There is such a thing, or, rather, used to be. Problem is that security is expensive (essentially one needs to examine all possible states of the system), and it inevitably failed to keep up with the crazy growth of complexity of modern computer systems. It became impossible to maintain a model of a system with myriad of moving parts, so it became impossible to make behavior guarantees.

Remove the complexity (all the way down to the hardware quirks), and security will be doable again.


A generation of coders who can't/are scared to write "Hello world" in C without Claude doing it for them has not helped.

Two things:

Claude hasn’t been around for a generation yet.

It’s a good thing that people are scared to hand write memory-unsafe languages. 50 years of exploitation has finally sunk in…


How do we know the models are writing memory-safe code? How will people who haven’t written it audit the output?

I think you're exaggerating a bit.

Does this answer your question?

/s


I've seen it.

People flaunting their credentials in multiple languages, then sweating bullets and apologizing profusely when they see

  int t = 4;
You can either code or you can't; the language is merely a vehicle.

I agree, but then learning to code isn't much of a hurdle. It's a similar effort to learning vim. The difficult part is getting to know the language. I never coded in Haskell for example and learning to use that language would take effort. On the other hand, it would be pretty easy with an LLM at hand.

It might even help in figuring out whether Haskell would be a good fit. Something I couldn't do, as I do not know the language. Then again, it's not a question that really gets asked much in a corporate setting. Most things are just solved in a few popular languages, whether that makes the most sense or not.


> learning to code isn't much of a hurdle... The difficult part is getting to know the language.

I agree. The people who depend on chatbots to write their code for them won't have either of those skills though. They don't know (or are in the process of forgetting) how to code, and they're missing out on the opportunity to really learn the language by turning off their brain and letting a bot spoon-feed them code.

An LLM would only get in your way if you actually wanted to learn Haskell.


We’re like 6-7 tiers deep on that aren’t we? Does every c developer understand the instruction set on the cpus their code is executing against? Does every c#/java/other managed memory language deeply understand their garbage collector?

It’s abstractions all the way down and most people aren’t going to have an intimate understanding of every layer, and it’s not economically worth it for the vast majority to even try


Abstractions are very different from having a bot regurgitate code for you. Abstractions are an aspect of the programing languages we use. Using them means using the language.

LLMs just give you results (of highly variable quality) and if you lack a solid understanding of the language being used that result gets blindly accepted as valid (especially if it manages to 'do the thing' when you test it). Learning how to type a prompt is not the same as learning how to code or learning a programing language.


> learning to code isn't much of a hurdle

Huh? I wish…

Actually, if by “learning to code” you mean “writing good usable code”, my experience is that many people struggle to code. Especially when you consider planning a (human-level) complex project.

Maybe you don’t know those people. I work with them every day.


Mostly true but there is largely a massive amount of negligence in the tech industry, with a particular emphasis on shops that prioritize shipping “features.”

For every engineer that takes security seriously, there are 99 engineers that don’t. It’s an uphill battle.

Source: 25 years of experience.


This is the major problem I see with flock cameras. They say it’s okay because they’re only using it for good. But can they actually protect the honeypots they create? No. Is it their fault if it gets stolen? Yeah but at that point cats out of the bag.

Have they ever even attempted to claim it’s only for good? I think at best they’ve gone with the: you need to give up a little privacy to catch the bad guys.

Followed up with a lot of “we just make the tool, we can’t be held responsible for how it’s used”.

https://www.yahoo.com/news/politics/articles/flock-ceo-asks-...


The assumption that these hacks were done over the Internet is kinda presumptuous. Hackers social engineer, too, you know.. especially the competent ones.

true, especially corporate SecOps, it is theatre, mere tickboxery to defer liability.

Most security professionals I've met in my career border on being non-technical, there are of course security researchers and a whole arcane and academic field that exists well beneath the surface but it is so far removed from the every-day.


FWIW, you could drop the words "computer" from your first paragraph and it would still be true. People doing security outside of "cyber" know this.

If you have ${anything}, assume it is semi-public, meaning if someone was interested enough in accessing it, they could do it. "Fort Knox" isn't the right analogy for physical security; the primary question isn't whether something can be breach, but how much would it cost the attacker to do it.

A system where expected costs to attackers >> expected profit they could reasonably make from succeeding, is considered secure in typical case (exception: special cases where attackers may be driven by non-material reasons - think terrorism, politics).

Computer security is largely still stuck in "Fort Knox" thinking.

> For example, do not hook your goddamn water or traffic or electricity infrastructure up to the goddamn Internet, and then, do fire the guy who suggested it.

That ship has sailed. "Modern problems require modern solutions", that infrastructure will be in some way accessible over network is a necessity at this point, the question should be, how to keep it difficult for normal attackers to mess with it, without preventing the system from fulfilling its intended function.

> The correct analogy for computer security is not locks and keys and doors and gates. It is a house in a floodplain. Your house will not survive the flood of it hits you. Do not store anything critical or irreplaceable in that house.

The correct analogy for computer security is a house. Scale security proportionally to actual importance of what's inside, and accept that nonzero amount of houses will be broken into; that's just insurance writeoff. Leave the 20-meter walls with towers and armed guards and helicopter gunships on fast-dial for the critical junctions, while keeping in mind that this is not perfect either - it won't stop an open nation state attack, at best maybe slow it down.

For critical infrastructure, I'd honestly focus on redundancy, resiliency, limiting blast radius and procedures to recover quickly, over trying to turn every physical or virtual substation into unpenetrable fortress.

(Another thing physical security gets right, that cyber side seems to ignore: security does not and cannot exist in isolation; criminal justice system and law enforcement are part of it, and at extreme end, threat of military intervention against a state that aids and abets the perpetrators. The possibility of sending "men with guns" after perpetrators is core part of securing a system or space, it's literally what they are for and why we fund it with taxes.)


You just proved his point.

> It is unthinkable to me that anyone believes there is such a thing as computer security after so many years of nonstop hacks and leaks.

There were only two VM escapes from Qubes OS in the last 20 years [0]. How is this not sufficiently secure?

https://forum.qubes-os.org/t/qsb-116-multiple-xen-issues-xsa...


> It is unthinkable to me that anyone believes there is such a thing as computer security

Of course they do. Not everyone has the level of technical expertise the average HN user does. Turning around to them and saying “duh of course all your personal data leaked” doesn’t feel like a helpful response. Especially when they don’t even have control over where their data lives anyway.


I've been telling people for years that it's probably easier that they get used to the thought that everything about them is "public" in some way than waiting for the day when computers and databases are suddenly safe from hacking.

That doesn't mean that all of your neighbors know your medical history, but you have to assume that someone who wants to know those details about you will know them.

I have lost faith in people protecting any significant database from hackers.


This is why I quit. You're all (excepting the parent) absolutely delusional. Computer security is literally snake oil. We know how to do things right but we refuse to because it's too expensive.

> For example, do not hook your goddamn water or traffic or electricity infrastructure up to the goddamn Internet, and then, do fire the guy who suggested it.

The problem is, most water, sewage and even many electrical infrastructure isn't manned any more. You need some form of remote surveillance and control, and practically, you will need to go with some sort of VPN based network.


Computer security =/ publicly-accessable server security.

A linux box, layered in encryption and not plugged into any network = damb secure.

A network-connected linux box with a hardened OS, firewalled, acting only as a file server, given regular updates and 24/7 monitoring = less likely to be "hacked" than struck by lightning.

A hard drive with its power supply physically switched off = 100% secure from external attack.

Not a joke. The keys for editing the world's most important files, the root zone, are kept on no-power drives in air-gapped safes. They have yet to be hacked.


This is FUD. Cybersecurity is difficult but not impossible.

And yet people were still forced to convert to electronic medical records.

I had an iPhone 13 Mini. I found it to be much worse about ads.

Every time I opened the system settings, it would insert an ad for an Apple TV Trial after a 2 second delay, causing all the items to shift down, forcing me to either wait every time I opened Settings or else mis-click when it finished loading the ad.

Android doesn't do this, it just shows me the system settings. I was so glad to go back to Android.


> 3. The default conflict style should be zdiff3.

This one always baffled me. The default conflictstyle is so hard to read it's almost useless. Using diff3 is mandatory.

I hadn't heard of zdiff3, I'll give it a shot.


Many bothans died to bring you that suggestion to make a new emoji of pizzas in a yard.

Close your laptop no more than 8 hours after you opened it. Never work on weekends. If they need more hours worked than that, then they can hire another person to work them. If they fire you (they won't) then I guess you have your answer.

I wonder how this advice still holds true as the industry is taking a big turn toward stack ranking and implicit or even explicit 996 expectations.

> the industry is taking a big turn toward stack ranking and implicit or even explicit 996 expectations.

I don't think this is actually happening. Maybe a few high profile businesses trying to burn through and exploit inexperienced workers are doing that, but there's a whole lot of businesses out there that aren't run by sociopaths. You just don't hear about 'em on the news.


> the only reward for hard work is more work.

Yup. I work 35-40 hours a week. I do not put work stuff on my personal devices, I do not open my work laptop at home. This isn't something I negotiated or made explicit, it's just what I do. No one has ever objected to my work or output and I keep getting raises every year.


Not possible with jobs with on-call responsibilities (most senior software engineering jobs in my experience).

What I did with oncall was taking the time back from incidents, like working only the afternoon after a midnight page that screwed up my sleep. It's not like I'd have been productive anyway, and people will understand if you cancel a meeting at 2am.

The real annoying part of it is not being able to detach from work the weeks I was oncall, and having to plan travel to ensure that acting in time remains feasible.

Now,if a job requires permanent on-call that is just a bs workaround from having the organisational structure to properly deal with emergencies.


You're totally right, I do the same and on the other hand, but less relevant here, I also don't connect to personal web sites on my work laptop.

They make sense as a technology for businesses & their users. In that scenario, the owner of the account is not the user, but the business. It makes sense for the business to be able to place strong restrictions on how & where the user may log in, it fixes a lot of real problems businesses may have thanks to sloppy user behavior, and the business is also motivated to provide a way to fix broken logins. It's a good solution for that scenario.

But for regular end users where services are primarily motivated to take money from those users and lock them into their ecosystems, they are a usability disaster and yet another exploitation vector.

It's one solution for two very different usecases, and it just does not work. There is an approach that could work for end users who own their own accounts, but they need to go back to the drawing board and rewrite the protocol with the assumption that the keystore is hostile to the user's interests. That means strong guarantees on key portability so users can migrate away from hostile keystores, and absolutely no ability for services to restrict the user's choice in passkey provider software.


> and the business is also motivated to provide a way to fix broken logins. It's a good solution for that scenario.

This is a big part of it. An employee at a business will be able to talk to someone in person and say 'I can't login. Can you reset my password?' or whatever equivalent, and be made whole. Even if the business is is made up of 10000 people and the identity of the employee is for some reason in question, the situation can still be resolved with a passport or a driver's licence.

Google is never going to make you whole again if you're locked out of your account, unless you're a celebrity and make a stink. There is no help desk where you can prove who you are (and even if you could, would you want to? That's a whole second domain of problems that I'm not sure will ever be solved completely).


Yeah. My mom hung onto my old school stuff and finally wanted to get rid of it when she moved. I took it graciously with thanks, and then tossed it in the trash when I got home.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: