We're excited to announce the release of secadm version 0.2! We've been working hard on a new star feature: Integriforce.
This feature provides executable file integrity enforcement. If a rule exists for a given file, that file's hash as defined in the rule is matched against the hash of the file. If the hashes don't match, execution may be disallowed, depending on the configuration settings. Integriforce is an optional, but powerful, feature. Integriforce currently supports SHA1 and SHA256. Both executables and shared libraries are supported. Please note that files that are under Integriforce management cannot be modified or deleted. The ruleset will need to be flushed prior to modifying or deleting the file.
When we did our call for testing (and thank you to those who tested!), only executable files were checked, not their dependencies (shared objects). With HardenedBSD v18 (
sysctl hardening.version) and secadm 0.2, we now support checking the dependencies. This required a change in the runtime linker (also known as the RTLD) that calls into Integriforce if it is available. Additionally, there is a new kernel feature sysctl exposed,
Throughout the years, we have had a number of people ask us where we stood on religion. With religion being a hot topic in the news lately, we've been pushed more and more on our stance. This has prompted a couple of us here to actually think about it and come to a conclusion that the closest thing to religion that many of us have is through our work. If we gave that answer to somebody though, they wouldn't consider it valid. Well.... until now.
In accordance with the recently passed Religious Freedom Restoration Act in Indiana, we have decided to file the appropriate paperwork with the state to create the Disciples of 0day Inc. which will be an organization which worships by furthering our knowledge and understanding with technology. Also, due to how the RFRA works in Indiana, some aspects of the DMCA cannot be enforced against active members due how it conflicts and potentially discriminates against our religious practices.
Our primary doctrine is to further your knowledge and understanding in various aspects of technology which will include hardware modification, bypassing unnecessary protection on privately owned hardware, understanding exploits, and creating effective proofs of concept for exploits. As for who can join, our organization will welcome anybody regardless of race, gender, and/or sexual orientation as we feel all would benefit from our doctrine.
So if you worship the almighty 0day, please reach out to us and join the Disciples of 0day today! Attached to this post are a few motivational pictures (including our new church logo).
For the past few weeks, I've been working on a new feature for HardenedBSD's secadm project. secadm is short for Security Administration and is built to control the various exploit mitigation features we're developing in HardenedBSD. I'm currently writing a feature I've termed "Integriforce", short for "integrity enforce." It's very similar in concept to NetBSD's Veriexec feature.
In secadm's configuration file, you list the executables you want to make sure verify to a certain hash along with the hash. You can specify two modes: soft or hard. Soft means that execution is allowed even if the hashes don't match, but a warning message is logged. Hard mode disallows execution if the hashes don't match along with logging an error message.
As it stands right now, verification of shared objects an application depends on is not happening. We are investigating how to do that while still giving reasonable performance. One possible solution is to check the hash on every call to open(). We would cache the modified time (mtime) of the file. If the file hasn't been modified since its first hash check, then we already know the state of the file. If the file has changed (mtime differs), then rerun the hash calculation and update the cache. This would be expensive on both the CPU side and the disk side, especially given the mutexes/locks needed to maintain multicore/multiprocessor safety. Now each call to open() would require acquiring at least one lock, possibly two.
We've completed our first milestone and are preparing to release secadm 0.2-rc1 within the next couple weeks. Verifying the integrity of applications using SHA1 and SHA256 are currently supported. The second milestone will be released as secadm version 0.3. That will include ELF binary signing with x509 certificates, similar to how PE files can be signed.
Sorry for the late notice everybody, somehow this slipped my mind. Blake will be presenting an updated version of his Defcon 22 DDoS talk at HackCon in Oslo, Noway next week. cisc0ninja will unfortunately not be assisting this time around, as he has decided to leave the security/hacking scene for the gaming scene (specifically Elder Scrolls Online). For anybody going that wants to meet up - as always, just look for the guys in the SX shirts. We look forward to Blake's talk and hope to see more of the SX Crew representing SX at various conferences in the future.
I'm happy to announce that we have released our new layout for the tools section of the site today. The interface was done by one of our recruits, revall, and the backend changes were completed by cisc0ninja before he retired. We welcome any suggestions on improving our site at the appropriate area of the forums. In other news, our weekly meetings have been going well. We hope to see more new faces this Thursday in IRC.
The first announcement is fairly big since we haven't let anybody into our crew since November 15, 2012. It is with great honor that I would like to announce the High Council's decision to promote Shinobi to the status of full crew member of SOLDIERX. Shinobi is now the head of Operations for all of SX (essentially what I've been doing all of these years). As with all members promoted to the status of full crew, we hope that Shinobi will continue his efforts and show the same enthusiasm and workmanship that he showed during his inductee status. Congratulations!
After two weeks of no IRC meetings due to the holidays, our weekly meetings will resume today. As with our last IRC meeting, we will have it from noon to one (12:00-13:00) EST and then again at nine to ten (21:00-22:00) EST. We're having two time slots in hopes that everybody who wants to attend will be able to make one of the sessions. Hope to see you all there!