21,695 reputation
12449
bio website ripple.com
location Oakland, CA
age 45
visits member for 3 years, 4 months
seen yesterday

I am Chief Cryptographer at Ripple Labs and one of the architects of the Ripple payment system.


Sep
1
comment HA router with keepalived showing unexpected traceroute
Nothing unusual about the traceroute. The machine wisely uses its native address as the source address for packets it generates (in this case, the ICMP time exceeded ICMP error) so you can tell what physical machine it came from.
Sep
1
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
@MichaelHampton I don't see why you think that claim appears bizarre. It's quite straightforward. Unless a process locks something in memory, the OS backs a mapping with RAM only if it thinks that's the best use of the RAM.
Sep
1
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
The data is not clobbered. It is opportunistically saved to swap before the system is under memory pressure. That allows the physical page to be considered discardable until it's modified. This also helps to minimize the I/O demands should the system later come under memory pressure since fewer writes are needed. The disk cache won't be reduced by the outstanding memory allocations unless the OS thinks that's the best use of physical memory. It has choices. (Hence all the "why is my system using swap when there's plenty of free RAM" questions -- it's to make the disk cache bigger.)
Sep
1
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
@MichaelHampton Yes, quite certain. The OS can take the physical RAM away from the process before the process releases the virtual memory. That's how paging works. The OS uses physical RAM for whatever purpose it thinks is best. If it's backing a process' mappings with physical RAM (assuming the process didn't lock them), it's because the OS believes that's a better use for that RAM than disk cache.
Sep
1
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
@MichaelHampton Before it uses the physical page for some other purpose, it unmaps it from that program's memory space. I'm not sure what you mean by "Why don't we hear about this a lot more", we hear about it all the time. The 4,500 questions about "Why is my system using swap space when it has plenty of free RAM" are all about this exact thing. It's using swap space so that it can have a larger disk cache because that's what the OS felt was the best use of physical memory.
Sep
1
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
@MichaelHampton That is so. That's basically how paging works on every modern operating system. The malloc and free functions allocate only virtual memory. The backing of that virtual memory with physical memory is at the discretion of the operating system. If a program is using a bunch of RAM, unless it locked things in RAM, it's only because the OS felt that was the best use of physical memory.
Aug
29
comment Having public IP addresses for computers in private network
There is no "built-in security of NAT". NAT's job is to make things "just work". The security comes from firewalling, which is often included with NAT but doesn't need to be (permissive NAT does exist). The advantage of public IP addresses is that a lack of a stateful firewall is more likely to be noticed because it will break things rather than just compromising security.
Aug
29
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
@FalconMomot The kernel doesn't need to know the RAM is "free". The kernel always has control over the use of RAM unless the application locks pages. It just has to make the mapped pages discardable to get the RAM back. If the data is unmodified and unused for a period of time, and I/O bandwidth isn't saturated, it can opportunistically write it to swap, making the pages discardable, allowing it to reclaim the RAM as soon as it has a better use for it. (This space isn't large enough to explain how modern memory management works, but it seems like you have some very common misconceptions.)
Aug
29
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
It's not complicated. The operating system simply steals the RAM from the process and uses it for some other purpose. That's basically the entire point of virtual memory. The process can think it owns as much RAM as address space it allocated, even if that's more physical memory than the system has. If the process actually has physical RAM, it's because the OS decided that was the best use of RAM.
Aug
29
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
@FalconMomot Actually, that's not true. Swapping it out is not slow because the OS can swap it out before it's actually under memory pressure, when I/O bandwidth is not scarce. That makes the pages discardable by the time the system is under memory pressure. Modern operating systems do all these things right, they're written by very, very smart people and you can safely assume they don't do stupid things that produce poor performance for no reason.
Aug
29
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
@FalconMomot Yes, the kernel can use it to cache files. The kernel can take memory away from the JVM if it has a better use for it. That's how pretty much every modern OS works. The alternative to using RAM is wasting RAM. The OS has a memory manager specifically to ensure RAM goes to the best purpose. Arguments like "Java applications eat up all my RAM" almost always indicate an admin who doesn't understand how modern operating systems use RAM.
Aug
28
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
Okay, so reason doesn't work. What other tools are in your persuasion toolbox? Do you have any rusty pliers?
Aug
25
comment 3ware raid controller does not get a proper reset signal after a reboot
Do you have any actual issue, other than your assumption that the controller isn't properly restarted?
Aug
25
comment Single TCP-CLOSE_WAIT connection brings down application till restart
Sounds like the application is not closing its sockets.
Aug
25
comment ping works but ssh fails
Talk to the administrator of the router/switch.
Aug
21
comment Setup CNAME for multiple sub domains
A problem description that consists only of "nothing works" is really not helpful. How are you testing? What results are you getting?
Aug
20
comment GMail detecting mail as spam
109.98.21.30 is in UCEProtectL3. I doubt that matters.
Aug
20
comment Run sshd on multiple ports but different domains
@Tim That's impossible. How would the server know whether the domain was specified with or without the prefix? That's like trying to tell if someone calling you looked up your phone number in print or online when the listed number is the same in both cases. All you know is that your phone is ringing.
Aug
20
comment GMail detecting mail as spam
The Message-ID looks suspicious.
Aug
8
comment Can I have my DNS server and my web server on the same IP?
Short answer: yes.