Hi,

I have a completely untrusted remote (sand)box (stranger has root on it).
I'd like to "trigger" running a program on that box and like to get the
triggered program's output from that box. My problem is in trusting the
output of this program since it (or the layers above/below it) could have
been tampered with by the said root user. How can I trust something coming
from an untrusted box?

Context:

The stranger will be challenged to solve a problem on the box (say, apache
fails to start, we'd like the stranger to fix it). To measure whether the
stranger has solved the problem, I'd like to run something on the box (ex:
ps -ef | grep apache) to validate if the end state has been achieved.
However, such a naive 'ps' test can easily be cheated using a rootkit or
possibly using other simpler means of reverse engineering / cheating.

My current approach is to only extract part of the needed information from
the box and do the validation from outside (ex: by comparing against a
reference / control / ideal solution). But not all challenges will fit into
this scheme (the example outlined above cannot be done this way since we'd
like to actually see if such a process is running, however, for instance, I
can certainly challenge a person to write a fibonacci series generating
program on the machine and be able to confidently validate that program's
output from this machine. In this case, the "truth" being validated is
universal, whereas systems specific truth (such as whether mysqld has been
configured correctly or not) can be found out only by probing the machine).

Any solution that involves cryptography / signing / etc., or anything else
that is out of the box will be helpful.

Any tips / ideas?

Regards,

  -Suraj

-- 
Career Gear - Industry Driven Talent Factory
http://careergear.in/
_______________________________________________
ILUGC Mailing List:
http://www.ae.iitm.ac.in/mailman/listinfo/ilugc

Reply via email to