note
papidave
One needs to consider relative risk when deciding what to remediate first. For a client-server app, I see four possible considerations:<p>
<ol>
<li>The client gets hacked</li>
<li>Someone listens on your network</li>
<li>Someone hacks the storage on your server</li>
<li>Someone hacks the server app itself</li>
</ol>
<p>
Risk 1 is minimized through strong authentication methods, and minimizing the amount of data that the client actually receives.
<p>
Risk 2 is minimized by encrypting traffic between systems; see [cpan://Crypt-SSLeay]
<p>
Risk 3 is minimized by encrypting the data store. I'm not enough of an expert to suggest a specific solution.
<p>
Risk 4 might be minimized by using a compiled language, and including code that checksums the binary when it first runs.
<p>
Personally, I think that the risk of 4 is so low, that everyone but government spy agencies can probably ignore it -- and they should be using a secure operating system that does that kind of thing automatically. For us mortals, risk #2 is the highest; if you are legitimately scared enough that you need to do more than #1 and #2, you probably shouldn't be using uncompiled Perl because of the risk that someone would read the source code and be able to reverse-engineer your data.
740068
740068