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.

SSHD: Random boot time relinking, OpenBSD

101 pointsby codesniperjoeover 2 years ago

9 comments

nine_kover 2 years ago
I remember how back in MS DOS days polymorphic viruses first appeared, in an attempt to avoid detection by antivirus software (useful and essential back then).<p>Now the tables have turned, and legitimate software has to become somehow polymorphic to thwart attacks by malware.
评论 #34453985 未加载
rfooover 2 years ago
Does anyone know an actually-happened example case where a fine-grained ASLR (like the OpenBSD relink one) successfully mitigates or significantly hinders an exploit, and the usual ASLR doesn&#x27;t?<p>I&#x27;m curious because years ago the academic strongly pushes the FG ASLR story, then OpenBSD did kernel relinking, but I haven&#x27;t heard any industry story on how effective this is.
评论 #34451731 未加载
评论 #34467867 未加载
theamkover 2 years ago
In order to enable relinking, they had to keep around all original .o and .a files, as well as a Makefile. Not a problem for OpenBSD but pretty unusual for binary Linux distros.<p>I wonder if it is possible to make a relinker which only requires binary output -- so it could be easily incorporated into existing systems.<p>One way I can think of is to keep relocation&#x2F;original object information in the debug sections, so that one can reconstruct original object files and re-link them. But I am guessing this will not work with LTO though... Or maybe we can just make a bunch of debug sections and store input object&#x2F;library files verbatim -- this will at least double the binary size, but will allow for easier relinking.
评论 #34455457 未加载
codesniperjoeover 2 years ago
Finally!<p>At least, someone finally understands that static, fully predictable, reproduce-able-builds are only an convenience feature for the attacker side.
评论 #34451030 未加载
评论 #34450380 未加载
评论 #34456629 未加载
评论 #34450955 未加载
rwmjover 2 years ago
Takes some dedication to still be using CVS. Do they use another version control system to feed into CVS, or is CVS the tool they use directly?
评论 #34456125 未加载
评论 #34453675 未加载
评论 #34457896 未加载
评论 #34453705 未加载
LinuxBenderover 2 years ago
What impact will this have on anti-tampering software that looks for changes in executable checksums? Tripwire and OSSEC come to mind and both can report their findings to a centralized server. Do package manager integrity tests still work? I assume anyone here using BSD in a PCI environment have already figured something out. Some people also feed checksums into Splunk.
评论 #34457817 未加载
viraptorover 2 years ago
It&#x27;s there a good link for the details? I&#x27;m guessing this does more than ASLR?
评论 #34450537 未加载
评论 #34450942 未加载
anonymousiamover 2 years ago
Dynamic re-linking is cool, but it can result in less-than-optimal executables.<p>Sometimes it can be beneficial to optimize the link so most of the main thread stays in cache. Obviously this only really matters for CPU-intensive programs.
planedeover 2 years ago
If a squint hard then this is a custom dynamic loader for .o files with rudimentary ASLR (where all your entropy comes from the permutation of the .o files), that happens to cache to disk.