TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

OpenBSD – pinning all system calls

197 pointsby g0xA52A2Aover 1 year ago

4 comments

tptacekover 1 year ago
Classic thread on this stuff from Halvar Flake:<p><a href="https:&#x2F;&#x2F;twitter.com&#x2F;halvarflake&#x2F;status&#x2F;1156815950873804800" rel="nofollow noreferrer">https:&#x2F;&#x2F;twitter.com&#x2F;halvarflake&#x2F;status&#x2F;1156815950873804800</a><p>With that in mind, it&#x27;d be handy to know which exploit techniques these steps break, and whether those steps are in the current &quot;meta&quot; game for exploit developers.<p>(The specific mitigation here: the kernel formerly locked system call invocation down to the libc.so area of program text in memory; libc.so is big, so now OpenBSD locks specific system calls down to their specified libc stubs; further, in static binaries, the same mechanism locks programs down to only those system calls used in the binary, which effectively disables all the system calls not explicitly invoked by the program text of a static binary).
评论 #38607506 未加载
评论 #38609740 未加载
评论 #38607451 未加载
评论 #38609371 未加载
woodruffwover 1 year ago
Without a pre-formed opinion: does anybody have an intuition for the security benefits this provides? My first thought is that it’s primarily mitigating cases of attacker-introduced shellcode, which should already be pretty well covered by techniques like W^X. Code reuse techniques (ROP, JOP, etc.) aren’t impacted, right?<p>I would also think this would cause problems for JITed code, although maybe syscalls in JITed code aren’t common enough for this to be an issue (or the JIT gets around it by calling a syscall thunk, similar to how Go handled OpenBSD’s earlier syscall changes).
评论 #38607538 未加载
评论 #38608278 未加载
评论 #38610064 未加载
gumbyover 1 year ago
&gt; in ld.so text, and in that case the main program&#x27;s text cannot do system calls<p>I don’t understand this case. Is there a way to do IO in openbsd without a system call? Without IO how can you get the result of the computation?<p>Is this a singular special case?
评论 #38612235 未加载
MyMonkeyBallsover 1 year ago
This implementation has a trivial buffer overflow, ROFLMAO
评论 #38609710 未加载
评论 #38608315 未加载
评论 #38609061 未加载