IP Library Granted Patent US 8,713,686
Granted Patent B2
US 8,713,686 · App. 11/339,659 · Granted Apr 29, 2014

System and method for reducing antivirus false positives

Inventor: John P. Kane (Saint James, NY)
Assignee: CA, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,713,686
App. No.
11/339,659
Granted
Apr 29, 2014
Kind
B2
Abstract

A method for detecting a malicious program infection includes scanning data to determine whether the data exhibits one or more particular symptoms of being infected with a malicious program and, in response to determining that the scanned data exhibits the symptoms of being infected with a malicious program, comparing the scanned data to known-good data. The method also includes initiating remedial action in response to determining that the scanned data does not match the known-good data.

Claims (99)

1. A computer-implemented method for detecting a malicious program infection, comprising:

determining whether data exhibits one or more particular symptoms of being infected with a malicious program by scanning the data;

in response to determining that the scanned data exhibits the symptoms of being infected with a malicious program, verifying that the scanned data is infected with a malicious program by comparing the scanned data to known-good data;

if the scanned data does not match the known-good data and if the scanned data exhibits symptoms of being infected with the malicious program, initiating remedial action on the scanned data; and

if the scanned data does match the known-good data and if the scanned data exhibits symptoms of being infected with the malicious program, determining not to initiate remedial action on the scanned data.

2. The method of claim 1 , wherein the malicious program comprises at least one of a computer virus, a Trojan horse, a worm, spyware, and adware.

3. The method of claim 1 , wherein determining whether the data exhibits one or more particular symptoms of being infected with a malicious program comprises:

comparing the data with one or more known virus signatures; and

determining that the data exhibits particular symptoms of being infected with a malicious program in response to determining that the data matches one or more of the known virus signatures.

4. The method of claim 1 , wherein determining whether the data exhibits particular symptoms of being infected with a malicious program comprises performing a heuristic scan on the data to determine whether the data exhibits particular symptoms of being infected with a malicious program.

5. The method of claim 1 , wherein the known-good data comprises a copy of the scanned data that is known to be clean, and wherein comparing the scanned data to the known-good data comprises performing a bit-by-bit comparison of the scanned data to the copy of the data known to be clean.

6. The method of claim 1 , wherein the known-good data comprises a compressed copy of the data that is known to be clean, and wherein comparing the scanned data to the known-good data comprises:

compressing the scanned data; and

performing a bit-by-bit comparison of the compressed data to the compressed copy of the data known to be clean.

7. The method of claim 1 , wherein the known-good data comprises a checksum of the data that is known to be clean, and wherein comparing the scanned data to the known-good data comprises:

calculating a checksum of the scanned data; and

comparing the calculated checksum of the scanned data to the checksum of the data that is known to be clean.

8. The method of claim 1 , wherein the known-good data comprises a cyclic redundancy check (CRC) of the data that is known to be clean, and wherein comparing the data to the known-good data comprises:

calculating a CRC of the scanned data; and

comparing the calculated CRC of the scanned data to the CRC of the data that is known to be clean.

9. The method of claim 1 , wherein the known-good data comprises a hash value of the data that is known to be clean, and wherein comparing the data to the known-good data comprises:

calculating a hash value of the scanned data; and

comparing the hash value of the scanned data to the hash value of the data that is known to be clean.

10. The method of claim 1 , wherein the known-good data comprises a digital signature of the data that is known to be clean, and wherein comparing the data to the known-good data comprises:

calculating a digital signature of the scanned data; and

comparing the digital signature of the scanned data to the digital signature of the data that is known to be clean.

11. The method of claim 1 , wherein the known-good data comprises a cryptographic hash function message digest of the data that is known to be clean, and wherein comparing the scanned data to the known-good data comprises:

calculating a cryptographic hash function message digest of the scanned data; and

comparing the cryptographic hash function message digest of the scanned data to the cryptographic hash function message digest of the data that is known to be clean.

12. The method of claim 11 , wherein comparing the cryptographic hash function message digest of the scanned data to the cryptographic hash function message digest of the data that is known to be clean comprises attempting to match the cryptographic hash function message digest of the scanned data to one or more entries in a list of cryptographic hash function message digests of data that is known to be clean.

13. The method of claim 12 , wherein attempting to match the cryptographic hash function message digest of the scanned data to entries in a list of cryptographic hash function message digests of data that are known to be clean comprises performing a binary search of the list of cryptographic hash function message digests of data that is known to be clean for the cryptographic hash function message digest of the scanned data.

14. The method of claim 1 , wherein the remedial action is chosen from the group consisting of: deleting the data and quarantining the data.

15. The method of claim 1 , wherein initiating the remedial action comprises initiating the remedial action without further scanning the scanned data.

16. The method of claim 1 , wherein the remedial action comprises repairing the data based on the known-good data.

17. The method of claim 1 , wherein comparing the scanned data to known-good data comprises comparing the scanned data to known-good data as part of executing a runtime extension to an antivirus program.

18. The method of claim 1 , wherein comparing the scanned data to known-good data in response to determining that the scanned data exhibits particular symptoms of being infected with a malicious program comprises:

in response to determining that the scanned data exhibits particular symptoms of being infected, determining whether the scanned data comprises critical data;

comparing the scanned data to known-good data in response to determining that the scanned data exhibits particular symptoms of being infected with a malicious program and that the scanned data comprises critical data.

19. The method of claim 18 , wherein determining whether the scanned data comprises critical data comprises determining whether the scanned data is listed within a list of critical data.

20. A system for detecting a malicious program infection, comprising at least one hardware processor configured to:

determine whether the data exhibits one or more particular symptoms of being infected with a malicious program by scanning the data;

in response to determining that the scanned data exhibits the symptoms of being infected with a malicious program, verify that the scanned data is infected with a malicious program by comparing the scanned data to known-good data;

if the scanned data does not match the known-good data and if the scanned data exhibits symptoms of being infected with the malicious program, initiate remedial action on the scanned data; and

if the scanned data does match the known-good data and if the scanned data exhibits symptoms of being infected with the malicious program, determine not to initiate remedial action on the scanned data.

21. The system of claim 20 , wherein the malicious program comprises at least one of a computer virus, a Trojan horse, a worm, spyware, and adware.

22. The system of claim 20 , wherein determining whether the data exhibits one or more particular symptoms of being infected with the malicious program comprises:

performing a virus signature scan on the data to compare the data with one or more known virus signatures; and

determining that the data exhibits particular symptoms of being infected with a malicious program in response to the data matching one or more of the one or more known virus signatures.

23. The system of claim 20 , wherein determining whether the data exhibits one or more particular symptoms of being infected with the malicious program comprises performing a heuristic scan on the data.

24. The system of claim 20 , wherein the known-good data comprises a copy of the scanned data that is known to be clean, and wherein comparing the scanned data to the known-good data comprises performing a bit-by-bit comparison of the scanned data to the copy of the scanned data known to be clean.

25. The system of claim 20 , wherein the known-good data comprises a compressed copy of the data that is known to be clean, and wherein comparing the scanned data to the known-good data comprises:

compressing the scanned data; and

performing a bit-by-bit comparison of the compressed data to the compressed copy of the data that is known to be clean.

26. The system of claim 20 , wherein the known-good data comprises a checksum of data that is known to be clean, and wherein comparing the scanned data to the known-good data comprises:

calculating a checksum of the scanned data; and

comparing the calculated checksum of the scanned data to the checksum of the data that is known to be clean.

27. The system of claim 20 , wherein the known-good data comprises a cyclic redundancy check (CRC) of the data that is known to be clean, and wherein comparing the scanned data to the known-good data comprises:

calculating a CRC of the scanned data; and

comparing the calculated CRC of the scanned data to the CRC of the data that is known to be clean.

28. The system of claim 20 , wherein the known-good data comprises a hash value of the data that is known to be clean, and wherein comparing the scanned data to the known-good data comprises:

calculating a hash value of the scanned data; and

comparing the hash value of the scanned data to the hash value of the data that is known to be clean.

29. The system of claim 20 , wherein the known-good data comprises a digital signature of the data that is known to be clean, and wherein comparing the scanned data to the known-good data comprises:

calculating a digital signature of the scanned data; and

comparing the digital signature of the scanned data to the digital signature of the data that is known to be clean.

30. The system of claim 20 , wherein the known-good data comprises a cryptographic hash function message digest of the data that is known to be clean, and wherein comparing the scanned data to the known-good data comprises:

calculating a cryptographic hash function message digest of the scanned data; and

comparing the cryptographic hash function message digest of the scanned data to the cryptographic hash function message digest of the data that is known to be clean.

31. The system of claim 30 , wherein comparing the cryptographic hash function message digest of the scanned data to the cryptographic hash function message digest of the data that is known to be clean comprises attempting to match the cryptographic hash function message digest of the scanned data to one or more entries in a list of cryptographic hash function message digests of data that is known to be clean.

32. The system of claim 31 , wherein comparing the cryptographic hash function message digest of the scanned data to the cryptographic hash function message digest of the data that is known to be clean comprises performing a binary search of the list of cryptographic hash function message digests of data that is known to be clean for the cryptographic hash function message digest of the scanned data.

33. The system of claim 20 , wherein the remedial action is chosen from the group consisting of: a deleting unit for deleting the data and a quarantining unit for quarantining the data.

34. The system of claim 20 , wherein initiating the remedial action comprises initiating the remedial action without further scanning of the scanned data.

35. The system of claim 20 , wherein the remedial action comprises repairing the data based on the known-good data.

36. The system of claim 20 , wherein comparing the scanned data to known-good data comprises comparing the scanned data to known-good data as part of a runtime extension to an antivirus program.

37. The system of claim 20 , wherein the at least one hardware processor is further configured to:

determine whether the scanned data comprises critical data in response to determining that the scanned data exhibits particular symptoms of being infected with a malicious program, and

wherein comparing the scanned data to the known-good data comprises comparing the scanned data to the known-good data in response to determining that the scanned data exhibits particular symptoms of being infected with a malicious program and determining that the scanned data comprises critical data.

38. The system of claim 37 , wherein determining whether the scanned data comprises critical data by determining whether the scanned data is listed within a list of critical data.

39. A computer system comprising:

a processor; and

a program storage device readable by the processor, embodying computer executable code, the processor operable when executing the code to:

determine whether the data exhibits one or more particular symptoms of being infected with a malicious program by scanning the data;

in response to determining that the scanned data exhibits the symptoms of being infected with a malicious program, verify that the scanned data is infected with a malicious program by comparing the scanned data to known-good data;

if the scanned data does not match the known-good data and if the scanned data exhibits symptoms of being infected with the malicious program, initiate remedial action on the scanned data; and

if the scanned data does match the known-good data and if the scanned data exhibits symptoms of being infected with the malicious program, determine not to initiate remedial action on the scanned data.

40. The computer system of claim 39 , wherein:

the processor is operable to compare the scanned data to known-good data in response to determining that the scanned data exhibits particular symptoms of being infected with a malicious program by:

determining, in response to determining that the scanned data exhibits particular symptoms of being infected, whether the scanned data comprises critical data;

comparing, in response to determining that the scanned data exhibits particular symptoms of being infected with a malicious program and that the scanned data comprises critical data, the scanned data to known good data without further scanning the scanned data.

41. A non-transitory computer readable medium including computer executable code for detecting a malicious program infection, comprising:

code for determining whether the data exhibits one or more particular symptoms of being infected with a malicious program by scanning the data;

code for verifying that the scanned data is infected with a malicious program by comparing the scanned data to known-good data in response to a determination that the scanned data exhibits the symptoms of being infected with a malicious program;

code for initiating, if the scanned data does not match the known-good data and if the scanned data exhibits symptoms of being infected with the malicious program, remedial action on the scanned data; and

code for determining, if the scanned data does match the known-good data and if the scanned data exhibits symptoms of being infected with the malicious program, not to initiate remedial action on the scanned data.

42. A system for detecting a malicious program infection, comprising:

means for determining whether the data exhibits one or more particular symptoms of being infected with a malicious program by scanning the data;

means for verifying that the scanned data is infected with a malicious program by comparing the scanned data to known-good data in response to a determination that the scanned data exhibits the symptoms of being infected with a malicious program;

means for initiating, if the scanned data does not match the known-good data and if the scanned data exhibits symptoms of being infected with the malicious program, remedial action on the scanned data; and

means for determining, if the scanned data does match the known-good data and if the scanned data exhibits symptoms of being infected with the malicious program, not to initiate remedial action on the scanned data.

Assignments (2)
MERGER Recorded Feb 5, 2014
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 032143/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2006
From: KANE, JOHN P.
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 017490/0349 →
Continuity (1)
Related Publication 20070180528A1 · Aug 2, 2007