1. A computer implemented method of tracking sensitive data through a target application running on a computer system, the method comprising: marking input data associated with a sensitive data indicator as tainted data when the input data is provided to the target application; tracking propagation of the tainted data as the target application executes and the tainted data is read from and written to memory locations in the computer system, wherein tracking propagation of the tainted data comprises tracking propagation of the tainted data for system calls to an operating system kernel; and monitoring at least one output channel of the computer system to determine if the tainted data is propagated to the at least one output channel.