On Fri, Aug 14, 2009 at 7:18 PM, bradford cross
<bradford.n.cr...@gmail.com>wrote:

> Hi Chad, yep, that was me.  We do hope to open source some stuff soon.
>
> First will probably be our wrappers for cascading/hadoop and s3.
>
> Next might be some core language extensions which might be good in contrib
> or some other lib.
>
> If we release any basic stats or machine learning stuff we may try to merge
> into incanter if it seems like a fit but haven't had time to check out
> incanter as I'd like.
>

Very interesting.

Are you using

(binding [*read-eval* false]
  ...)

when reading Clojure data structures out of strings obtained over your
distributed node network? If you're not it's possible you have a security
hole that could be exploited by a hostile node masquerading as a legitimate
one. (Though likely an attacker would have to penetrate your firewall and
get loose in your LAN, gaining privileges on at least one of your machines,
to exploit it.)

Specifically, a #=() form in the stream would otherwise allow a sort of
injection attack. If you use the Clojure reader on other untrusted data,
such as fragments of web pages (to parse numbers, say), the same applies:
without that binding for those reads, you may be vulnerable in a similar
manner. If data from web forms, vulnerable in a very similar manner to SQL
injection.

Security becomes especially important if you figure to do big parallel
reductions on office PC spare cycles instead of dedicated hardware. Those
PCs might vary in how sensitive the information on them is, and in how
trustworthy their users are. You don't want a newly-hired clerk in sales
sending crafted network packets that give him privileges on the desktop
computer of the CFO or among the R&D department's boxes. The latter lets him
sell industrial espionage data to the highest bidder, likely a competitor;
the former, possibly do some insider trading or suchlike (and when the SEC
shows up to investigate some suspicious trades, they'll be looking at your
CFO, as he was the one nominally privy to the inside info). So a breach
could cause anything from embarrassment (porn popups during board meeting
Powerpoint presentations; intentional pranks) to competitive or legal
trouble.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to