Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
anarazel
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
14 ms
·
121.
▲
by
anarazel
3y ago
If lzma isn't loaded as part of sshd, the path from an lzma backdoor to sshd get a hell of a lot more circuitous and/or easier to catch. You'd pretty much need to modify the sshd binary while compressing a package build, or d
122.
▲
by
anarazel
3y ago
The -fno-omit-frame-pointer bit is separate from the slowdown. -fno-omit-frame-pointer lead to valgrind warnings, but no perceptible slowdown in most (including this) cases.
123.
▲
by
anarazel
3y ago
Nearly spot on. I indeed was seeing sshd usage via top. > but the backdoor made each login attempt use a significant amount of CPU time to check whether it was an encrypted request from the attacker Absurdly enough, the high cpu usage is
124.
▲
by
anarazel
3y ago
> Would it be fair to say that the perpetrators could have covered their tracks better? Could they for example, have fixed the valgrind errors? And if so, would this backdoor have remained hidden for much longer? Yes. Mostly they should
125.
▲
by
anarazel
3y ago
I don't know if off the clock accurate. My job is to work on postgres, I was helping out with the development of a feature (avoid a perf regression in a degenerate case, in a patch improving much more common cases). OTOH, I think it wa
126.
▲
by
anarazel
3y ago
> It was reported by an MS engineer who happens to be involved in another OSS project. I view it as being OSS or postgresql dev that happens to work at microsoft. I've been doing the former for much longer (starting somewhere betwee
127.
▲
by
anarazel
3y ago
It prevents registration of the dl-audit hook, very early on. So no redirection of RSA_public_decrypt occurs.
128.
▲
by
anarazel
3y ago
You can also just set TERM or any of about a dozen other env vars.
129.
▲
by
anarazel
3y ago
The slowdown is actually in the startup of the backdoor, not when it's actually performing authentication. Note how in the original report even sshd -h (called in the right environment to circumvent countermeasures) is slow.
130.
▲
by
anarazel
3y ago
> I did notice that my debian-based system got noticeably slower and unresponsive at times the last two weeks, without obvious reasons. Could it be related? Possible but unlikely. > I read through the report, but what wasn't dir
131.
▲
by
anarazel
3y ago
> From the article: "Initially starting sshd outside of systemd did not show the slowdown, despite the backdoor briefly getting invoked." If I understand correctly the whole section, the behavior of OpenSSH may have differed wh
132.
▲
by
anarazel
3y ago
FWIW, it felt intimidating as hell. And I'm fairly established professionally. Not sure what I'd have done earlier in my career (although I'd probably not have found it in the first place).
133.
▲
by
anarazel
3y ago
> Just because macs don't use systemd, doesn't mean the backdoor won't work. Practically speaking it can't - For one the script injected into the build process tests that you're running on x86-64 linux, for anoth
134.
▲
by
anarazel
3y ago
LANG only needs to have some value, the concrete value does not seem to matter.
135.
▲
by
anarazel
3y ago
Hi, > > If we were to provide zig consumable ways of creating the struct from C headers, would that help? > Yes, that would be awesome. I don't know much about zig and won't have a whole lot of time to learn - but if you
136.
▲
by
anarazel
3y ago
If I suddenly had unlimited resources and attention, I'd really like to provide infrastructure to write trusted functions by running them via a webassembly runtime, with a small injected safe surface for accessing postgres functionalit
137.
▲
by
anarazel
3y ago
I wonder what things you'd like to see exposed by postgres to make something like this easier. E.g. you have code to maintain the module magic and function info, for both of which there are some plans to change the contents in the next
138.
▲
by
anarazel
3y ago
It's completely besides the point, but part of the complexity of the char_count example is just due to the C version for some reason copying the input strings into newly allocated memory, which the zig version doesn't :)
139.
▲
by
anarazel
3y ago
The are loads of real world workloads that have similar patterns to pgbench, particularly read only pgbench.
140.
▲
by
anarazel
3y ago
Logical decoding has been added in PG 9.4, released approx 9 years ago. WAL itself was added in 7.1, back in 2001.
141.
▲
What's new in the Postgres 16 query planner / optimizer
(techcommunity.microsoft.com)
2 points
by
anarazel
3y ago
|
0 comments
142.
▲
by
anarazel
3y ago
The subject and the link target don't seem to match? Requiring procedures to be amended isn't halting certification?
143.
▲
by
anarazel
3y ago
I'm a postgres dev, so I'm surely too close to actually see what's nebulous. That said, I don't think it's that nebulous: - data in WAL segments has to be checkpointed - no replication slot, physical or logical, may
144.
▲
by
anarazel
3y ago
> It even assists in PostgreSQL’s implementation of Multiversion Concurrency Control (MVCC) - the WAL keeps a version history of data changes, That's not really correct - postgres' MVCC implementation doesn't read from the
145.
▲
by
anarazel
3y ago
> Exactly. The issue is that postgresql takes 37 bytes per row normally, which then causes it to spill out of RAM on the limited VM specified for this challenge, causing the query to be I/O bound, hence the array representation and
146.
▲
by
anarazel
3y ago
> wow! awesome tips. I knew COPY rocks but didn't realize it would win vs INSERT INTO SELECT FROM ! We (postgres) should fix that at some point... The difference basically is that there's a dedicated path to insert many tuples
147.
▲
by
anarazel
3y ago
> top(1) is showing that we're burying the CPU: I think it actually shows that you're IO bound (the 'D' in the 'S' column). On my workstation the query takes ~10.9s after restarting postgres and dropping th
148.
▲
by
anarazel
3y ago
FWIW, you can make the data loading a decent bit faster: 1) use the integer version of generate_series, the 1e9 leads to the floating point version being chosen 2) move the generate_series() to the select list of a subselect - for boring re
149.
▲
by
anarazel
3y ago
Cooling or vibration issues seem like the first suspect?
150.
▲
by
anarazel
3y ago
With the associated context switch it's bigger, if anything. Busy looping to wait if some memory changes isn't really viable for many scenarios.
More ›