threads / discuss / 29235

Warning from AV software about kill.exe

Subject: Warning from AV software about kill.exe

## tl;dr

6 messages between Dec 22, 2011 and Jan 6, 2012.

replies: 5people: 4as markdown or json

Erik Blake· Dec 22, 2011, 07:47 UTC · lore

I'm running git under Win7 64. As I selected "Repository|Visualize all branch history" in the git gui, my AV software (Trustport) trapped the bin\kill.exe program for "trying to modify system global settings (time, timezone, registry quota, etc.)"

Does anyone know the details of this process and what it's function is? First time I've seen it, though I'm a relatively new user.

Cheers, e.

Thomas Rast· Dec 22, 2011, 08:45 UTC · re: Erik Blake · lore

Re: Warning from AV software about kill.exe

Erik Blake <erik@icefield.yk.ca> writes:
Show 7 quoted lines
> I'm running git under Win7 64. As I selected "Repository|Visualize all
> branch history" in the git gui, my AV software (Trustport) trapped the
> bin\kill.exe program for "trying to modify system global settings
> (time, timezone, registry quota, etc.)"
>
> Does anyone know the details of this process and what it's function
> is? First time I've seen it, though I'm a relatively new user.

'kill' is a standard unix utility that sends signals to processes, in particular signals that cause the processes to exit or be killed forcibly by the kernel, hence the name. (I don't know how the windows equivalent works under the hood, but presumably it's something similar.)

git-gui and gitk use kill to terminate background worker processes that are no longer needed because you closed the window their output would have been displayed in, etc.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Pat Thoyts· Dec 22, 2011, 18:19 UTC · re: Thomas Rast · lore

Re: Warning from AV software about kill.exe

Thomas Rast <trast@student.ethz.ch> writes:
Show 18 quoted lines
>Erik Blake <erik@icefield.yk.ca> writes:
>
>> I'm running git under Win7 64. As I selected "Repository|Visualize all
>> branch history" in the git gui, my AV software (Trustport) trapped the
>> bin\kill.exe program for "trying to modify system global settings
>> (time, timezone, registry quota, etc.)"
>>
>> Does anyone know the details of this process and what it's function
>> is? First time I've seen it, though I'm a relatively new user.
>
>'kill' is a standard unix utility that sends signals to processes, in
>particular signals that cause the processes to exit or be killed
>forcibly by the kernel, hence the name.  (I don't know how the windows
>equivalent works under the hood, but presumably it's something similar.)
>
>git-gui and gitk use kill to terminate background worker processes that
>are no longer needed because you closed the window their output would
>have been displayed in, etc.

You might try replacing the command in the tcl scripts with 'exec taskkill /f /pid $pid' and see if that avoids the error. taskkill is present on XP and above as part of the OS distribution so shouldn't suffer any AV complaints.

-- 
Pat Thoyts                            http://www.patthoyts.tk/
PGP fingerprint 2C 6E 98 07 2C 59 C8 97  10 CE 11 E6 04 E0 B9 DD
Erik Blake· Jan 4, 2012, 09:15 UTC · re: Pat Thoyts · lore

Re: Warning from AV software about kill.exe

Another way to implement this (on Windows) would be for the git programs to tag themselves with a mutex. Then the "kill" program can determine which git programs are running and send them user-defined windows messages to shut themselves down. Alternatively, you could send the programs the standard windows WM_CLOSE message, but the OS or an AV program might still be troubled by that behaviour.

This is how we implement this type of behaviour in our windows programs. It does not raise the ire of the OS or AV since you do not have one process trying to shut down another. It also bypasses all issues with process privileges etc.

Erik
On 2011-12-22 19:19, Pat Thoyts wrote:
Show 24 quoted lines
> Thomas Rast<trast@student.ethz.ch>  writes:
>
>> Erik Blake<erik@icefield.yk.ca>  writes:
>>
>>> I'm running git under Win7 64. As I selected "Repository|Visualize all
>>> branch history" in the git gui, my AV software (Trustport) trapped the
>>> bin\kill.exe program for "trying to modify system global settings
>>> (time, timezone, registry quota, etc.)"
>>>
>>> Does anyone know the details of this process and what it's function
>>> is? First time I've seen it, though I'm a relatively new user.
>> 'kill' is a standard unix utility that sends signals to processes, in
>> particular signals that cause the processes to exit or be killed
>> forcibly by the kernel, hence the name.  (I don't know how the windows
>> equivalent works under the hood, but presumably it's something similar.)
>>
>> git-gui and gitk use kill to terminate background worker processes that
>> are no longer needed because you closed the window their output would
>> have been displayed in, etc.
> You might try replacing the command in the tcl scripts with 'exec
> taskkill /f /pid $pid' and see if that avoids the error. taskkill is
> present on XP and above as part of the OS distribution so shouldn't
> suffer any AV complaints.
>
Erik Faye-Lund· Jan 5, 2012, 16:33 UTC · re: Erik Blake · lore

Re: Warning from AV software about kill.exe

On Wed, Jan 4, 2012 at 10:15 AM, Erik Blake <erik@icefield.yk.ca> wrote:
Show 41 quoted lines
> On 2011-12-22 19:19, Pat Thoyts wrote:
>> Thomas Rast<trast@student.ethz.ch>  writes:
>>> Erik Blake<erik@icefield.yk.ca>  writes:
>>>
>>>> I'm running git under Win7 64. As I selected "Repository|Visualize all
>>>> branch history" in the git gui, my AV software (Trustport) trapped the
>>>> bin\kill.exe program for "trying to modify system global settings
>>>> (time, timezone, registry quota, etc.)"
>>>>
>>>> Does anyone know the details of this process and what it's function
>>>> is? First time I've seen it, though I'm a relatively new user.
>>>
>>> 'kill' is a standard unix utility that sends signals to processes, in
>>> particular signals that cause the processes to exit or be killed
>>> forcibly by the kernel, hence the name.  (I don't know how the windows
>>> equivalent works under the hood, but presumably it's something similar.)
>>>
>>> git-gui and gitk use kill to terminate background worker processes that
>>> are no longer needed because you closed the window their output would
>>> have been displayed in, etc.
>>
>> You might try replacing the command in the tcl scripts with 'exec
>> taskkill /f /pid $pid' and see if that avoids the error. taskkill is
>> present on XP and above as part of the OS distribution so shouldn't
>> suffer any AV complaints.
>>
>
> Another way to implement this (on Windows) would be for the git programs to
> tag themselves with a mutex. Then the "kill" program can determine which git
> programs are running and send them user-defined windows messages to shut
> themselves down. Alternatively, you could send the programs the standard
> windows WM_CLOSE message, but the OS or an AV program might still be
> troubled by that behaviour.
>
> This is how we implement this type of behaviour in our windows programs. It
> does not raise the ire of the OS or AV since you do not have one process
> trying to shut down another. It also bypasses all issues with process
> privileges etc.
>
> Erik
>

No thanks. A process is allowed to terminate another process on Windows (as long as they are running as the same user, and the access token has not been messed with). If your AV detects this and prevents it, then your AV is broken. Re-building a kind of cooperative process termination for that reason is not the way forward.

But the problem might be that MSYS' kill does more than it's supposed to (or misbehaves in some other way). This is, however, something you should take up with the MSYS developers, not the git development community.

I would take this up with Trustport support. Overly eager AV heuristics is a fairly common problem, and usually gets fixed quickly.

Erik Blake· Jan 6, 2012, 13:51 UTC · re: Erik Faye-Lund · lore

Re: Warning from AV software about kill.exe

On 2012-01-05 17:33, Erik Faye-Lund wrote:
Show 53 quoted lines
> On Wed, Jan 4, 2012 at 10:15 AM, Erik Blake<erik@icefield.yk.ca>  wrote:
>> On 2011-12-22 19:19, Pat Thoyts wrote:
>>> Thomas Rast<trast@student.ethz.ch>    writes:
>>>> Erik Blake<erik@icefield.yk.ca>    writes:
>>>>
>>>>> I'm running git under Win7 64. As I selected "Repository|Visualize all
>>>>> branch history" in the git gui, my AV software (Trustport) trapped the
>>>>> bin\kill.exe program for "trying to modify system global settings
>>>>> (time, timezone, registry quota, etc.)"
>>>>>
>>>>> Does anyone know the details of this process and what it's function
>>>>> is? First time I've seen it, though I'm a relatively new user.
>>>> 'kill' is a standard unix utility that sends signals to processes, in
>>>> particular signals that cause the processes to exit or be killed
>>>> forcibly by the kernel, hence the name.  (I don't know how the windows
>>>> equivalent works under the hood, but presumably it's something similar.)
>>>>
>>>> git-gui and gitk use kill to terminate background worker processes that
>>>> are no longer needed because you closed the window their output would
>>>> have been displayed in, etc.
>>> You might try replacing the command in the tcl scripts with 'exec
>>> taskkill /f /pid $pid' and see if that avoids the error. taskkill is
>>> present on XP and above as part of the OS distribution so shouldn't
>>> suffer any AV complaints.
>>>
>> Another way to implement this (on Windows) would be for the git programs to
>> tag themselves with a mutex. Then the "kill" program can determine which git
>> programs are running and send them user-defined windows messages to shut
>> themselves down. Alternatively, you could send the programs the standard
>> windows WM_CLOSE message, but the OS or an AV program might still be
>> troubled by that behaviour.
>>
>> This is how we implement this type of behaviour in our windows programs. It
>> does not raise the ire of the OS or AV since you do not have one process
>> trying to shut down another. It also bypasses all issues with process
>> privileges etc.
>>
>> Erik
>>
> No thanks. A process is allowed to terminate another process on
> Windows (as long as they are running as the same user, and the access
> token has not been messed with). If your AV detects this and prevents
> it, then your AV is broken. Re-building a kind of cooperative process
> termination for that reason is not the way forward.
>
> But the problem might be that MSYS' kill does more than it's supposed
> to (or misbehaves in some other way). This is, however, something you
> should take up with the MSYS developers, not the git development
> community.
>
> I would take this up with Trustport support. Overly eager AV
> heuristics is a fairly common problem, and usually gets fixed quickly.
>

Either solution should work, but "trying to modify system global settings (time, timezone, registry quota, etc.)" suggests kill.exe is overstepping the requirements for terminating another process. As you suggest, I'll send a note to the MSYS developers. Maybe also ask Trustport for details on that triggers this message.

e.

← back to recent threads