527 reputation
14
bio website
location
age
visits member for 1 year, 11 months
seen Mar 14 at 5:30

Generalist. Systems guy. Security Engineer. Frequent schneier.com contributor.


Mar
13
comment Are there “secure” languages?
I agree it's still a covert channel: said as much about Freenet using Java. Developers of system software will often avoid it for reasons you mention. All true. Good news is exceptions are slowly increasing.
Jan
23
answered High level design for secure web application
Jan
22
comment Are there “secure” languages?
As I said, though, I discourage use of even real-time GC's if covert channels really matter. They usually only matter at interface, though, whose timing can be controlled even with RT GC. Can and has.
Jan
22
comment Are there “secure” languages?
Good point on memory safety. Wrong on realtime garbage collection. The whole point is, regardless of their technique, they leave execution predictable. Most are not tweaked for covert channel mitigation because most developers don't give a shit about that. You can tweak them to mitigate timing channels. I just made sure secret-driven operations always concluded in a fixed amount of time. If I wanted more, I could use priority-aware, asynchronous execution. Measurements show it works and an academic even recently built a processor to do same thing. Solution is there but not applied. Common.
Jan
11
comment Are there “secure” languages?
E is a safe by design against many things language joined with the object capability security model. That model can be used to implement many types of security policies and systems in a way that supports POLA. It also has support for distributed computing. Its backers, esp Combex, have thrown together secure chat in (100 lines?), made a secure browser, and made secure desktop prototype immune to many problems Windows has. So, I'd say it more than qualifies as a secure language. The implementation is where the dragons will be, esp reliance on Java.
Jan
11
comment Are there “secure” languages?
RobertHarvey says they turned off a safety-check, shit happened, and therefore the language's safety goals are BS. Lol. I think the Arianne failure says more about the importance of good requirements analysis and proper tool use than anything else. Meanwhile, Ada + SPARK are still rocking high integrity development plus showed it was a good investment for future-proofing software.
Jan
11
awarded  Supporter
Jan
11
comment Are there “secure” languages?
The garbage collector comment is unfair because GC languages prevent huge amounts of common vulnerabilities while side-channel attacks due to GC's are almost non-existent in real world. I've discouraged GC's for crypto or anonymity systems due to that weakness but they solve a lot of problems in regular apps. Not to mention you get plenty of solutions to problems you mention typing real-time garbage collection into Google incl commercial Java products.
Jan
11
comment Are there “secure” languages?
C is far from ideal: it's too complex, has undefined behavior, and has security issues in most common constructs (eg arrays, strings). Pascal and Modula-2 are much better for analysis due to simplicity, readability, consistency, and easy compilation.
Jan
11
comment Are there “secure” languages?
Good point. Hence the importance of all the "certifying" compilation, interpretation, and memory management research. I think co-simulation is one of the better solutions. You create a model of how the source and target language do things. Run data through each one to obtain execution traces. Compare properties of traces to ensure they match in function and risk. One project is using this technique successfully for a C to MIPS optimizing compiler.
Jan
11
comment Are there “secure” languages?
That's not correct at all: Opa and Ur/Web are languages designed to be immune to many typical web 2.0 issues. So they exist. People just don't use them much.
Sep
24
awarded  Autobiographer
Sep
4
answered How to autenticate properly in Java
May
28
answered Using a TPM with Linux
May
28
comment Best method to sandbox X applications in ubuntu
It's been a while since I used SELinux but I do recall it supported selective use of enforcement: use it on system, use it on just these apps/services, don't use it, etc. It's flexible like that. I'd recommend Googling online guides and tutorials on it. (Watch the date, though, as some will be outdated.)
May
27
comment Obstacle in Implementing a Time Limited/Number of Use Limited Software
On install, write install date/time, expire data & identifying system data into encrypted file. On load, you get current data/time, get info, compare each for sanity (has time gone backwards?), & check for expr date. If any fails, don't run. Anything more is obfuscation. Best obf. was Skype & it was cracked quick. Hardware dongles help but require you/users to buy them. Still potential bypasses. Copy protection on hostile user's vanilla OS & machine has never succeeded over time. A previous SE answer wisely said it's for keeping more honest users acting fair, not for stopping thieves.
May
27
answered Processor microcode manipulation to change opcodes?
May
19
answered Best method to sandbox X applications in ubuntu
May
19
answered Reducing asymmetric authorization token size
May
19
answered Obstacle in Implementing a Time Limited/Number of Use Limited Software