Recently, there was
a
presentation at the annual meeting of
Chaos
Computer Club in Berlin.
As the presentation describes DTrace at some length,
several have asked the question: is DTrace a security risk? The answer
is an emphatic "no" -- quite the contrary in fact -- but it merits some
explanation.
1 I hasten to add that the author's techniques for evading DTrace won't actually work completely. They will successfully evade one form of instrumentation, but they leave the nefarious module completely exposed to several other forms of instrumentation and detection by DTrace. A more devilish rootkit would completely replace DTrace with some sort of Bizarro DTrace that knew how to completely deny the existence of its cohorts...
DTrace can only be used by users on the system that have the appropriate privileges (as discussed in the Security chapter of the DTrace documentation). By default, the only user with sufficient privileges to use DTrace is root -- the super-user. The techniques described in the paper and in the presentation are only for use on a system that one has already compromised. Of course, once a system is compromised, all bets are off; a nefarious user can:
-
Load their own daemons to act as
trojan
horses, potentially sniffing
passwords and compromising subsequent machines
-
Examine /etc/shadow and crack it to obtain cleartext for
every password on the system
-
Use the
pre-existing Solaris observability tools
(truss(1), gcore(1), mdb(1), etc.)
to observe and modify arbitrary processes
- Crash and/or destroy the system beyond repair
- Load their own kernel modules to spoof arbitrary parts of the system
1 I hasten to add that the author's techniques for evading DTrace won't actually work completely. They will successfully evade one form of instrumentation, but they leave the nefarious module completely exposed to several other forms of instrumentation and detection by DTrace. A more devilish rootkit would completely replace DTrace with some sort of Bizarro DTrace that knew how to completely deny the existence of its cohorts...
Posted by Chris on March 04, 2005 at 01:07 PM PST #
Posted by Bryan Cantrill on March 04, 2005 at 01:57 PM PST #
Posted by Chris on March 04, 2005 at 03:03 PM PST #
# dtrace -n io:::start'{@[zonename] = count()}'And so on...Posted by Bryan Cantrill on March 04, 2005 at 08:31 PM PST #
Posted by Wee Yeh on March 07, 2005 at 04:56 PM PST #
Posted by David Neal on March 10, 2005 at 11:27 AM PST #
Posted by Bryan Cantrill on March 11, 2005 at 03:06 AM PST #
Posted by David Neal on March 13, 2005 at 08:39 PM PST #
Posted by David Neal on March 13, 2005 at 08:43 PM PST #
Posted by Bryan Cantrill on March 14, 2005 at 09:31 AM PST #
Posted by 阀门 on May 30, 2007 at 02:14 AM PDT #
Posted by 阀门 on May 30, 2007 at 02:14 AM PDT #
Posted by 阀门 on May 30, 2007 at 02:15 AM PDT #
Posted by 阀门 on May 30, 2007 at 02:15 AM PDT #
Posted by 阀门 on May 30, 2007 at 02:15 AM PDT #
Posted by ad on July 15, 2007 at 11:38 PM PDT #
Posted by ADD on July 15, 2007 at 11:38 PM PDT #
Posted by ADD on July 15, 2007 at 11:39 PM PDT #
Posted by 专业注册香港公司 on July 15, 2007 at 11:40 PM PDT #
Posted by 专业注册香港公司 on July 15, 2007 at 11:40 PM PDT #
Posted by ADD on July 15, 2007 at 11:41 PM PDT #
Posted by ADD on July 15, 2007 at 11:41 PM PDT #
Posted by ad on July 15, 2007 at 11:42 PM PDT #