Trusted Knight Corp. v. International Business MacHines Corp.

681 F. App'x 898
CourtCourt of Appeals for the Federal Circuit
DecidedMarch 7, 2017
Docket2016-1510
StatusUnpublished
Cited by2 cases

This text of 681 F. App'x 898 (Trusted Knight Corp. v. International Business MacHines Corp.) is published on Counsel Stack Legal Research, covering Court of Appeals for the Federal Circuit primary law. Counsel Stack provides free access to over 12 million legal documents including statutes, case law, regulations, and constitutions.

Bluebook
Trusted Knight Corp. v. International Business MacHines Corp., 681 F. App'x 898 (Fed. Cir. 2017).

Opinion

Stoll, Circuit Judge.

Trusted Knight Corporation appeals from a stipulated judgment of invalidity from the United States District Court for the District of Delaware following adverse indefiniteness rulings against its asserted patent, U.S. Patent No. 8,316,445. We affirm.

Background

I.

Trusted Knight owns the ’445 patent, which generally discloses “systems and methods for protection against the operation of malware commonly used in identity-theft and cyber-fraud.” ’445 patent col. 111. 24-26. More specifically, the ’445 patent purports to protect against a type of mal-ware known as key logging.

According to the ’445 patent, key logging “is a method of capturing keyboard input to a computer or computing device” and “is a common technique for obtaining passwords and sensitive information using unauthorized software.” Id. at col. 111. 57- *900 60. There are many key-logging techniques, “including hooking various operating system Application Programming Interfaces (APIs) and system drivers, screen capture, and form grabbing and hook based keystroke logging.” Id. at col. 211.1-4. The ’445 patent describes in detail two types of key logging—hook-based key logging and form-grabbing key logging.

The ’445 patent describes hook-based key logging as the insertion of a system API hook into an API stack, which allows the key logger to record all keystroke data passing through an operating system driver. The logger saves this data to a text file, which can subsequently be sent to malefac-' tors at a remote location. Because this method of key logging indiscriminately records all of the keystroke data, it often results in a large volume of data that is burdensome to store. Additionally, this voluminous data can be “difficult to search for the purpose of extracting the very small percentage of data that represents credential and password information.” Id. at col. 2 11. 24-26. “As a result, malefactors have fine-tuned their malware to meet these challenges and better reduce the large take of useless data stolen by their malware.” Id. at col. 211.26-28.

One such fine-tuned version of key logging is form-grabbing key logging, which the ’445 patent describes as the insertion of a hook that captures form data solely from form data inputs. “The form information being stolen is, essentially, those forms used for online banking and other online commerce that require users to enter personal information, card data, passwords, reminder questions, and mother’s maiden names.” Id. at col. 2 11. 31-35. For example, “when a user submits data to a legitimate banking website using web forms, a form-grabbing key logger that is monitoring the web browser can grab the submitted data by injecting a hook and hooking API functions within the browser.” Id. at col. 2 11. 60-64. The patent further explains that sophisticated cyber criminals have come to prefer form-grabbing key loggers because: (1) they are resistant to detection and lack effective countermeasures; (2) they substantially reduce the volume of captured data; and (3) they capture the vast majority of credentials criminals want, since almost all credentials used for online transactions are inputted into a web form.

The ’445 patent describes various prior art methods used to counteract key logging malware. Many of these methods “are available to detect and/or disable hook-based key loggers.” Id. at col. 3 11. 15-16. For example, “[o]ne method used is the unhooking of API’s that insert themselves into the API stack.” Id. at col. 3 11. 17-19. The ’445 patent warns, however, that this method does not protect the user when the malware inserts a hook at the first instance in the API stack and it is also ineffective against form-grabbing key loggers.

Another method works by launching a new process when it detects a hook-based key logger, whereby the keystroke data is passed through the new process and bypasses the keystroke-logger hook. The ’445 patent warns, however, that this method can cause system. instability and can be counteracted by key loggers.

The invention, as described in the ’445 patent specification, allegedly improves upon the prior art by preventing the actions of form-grabbing and hook-based key loggers in a way that “does not depend on the detection of malware at all.” Id. at col. 3 11. 60-61. One embodiment of the invention prevents form-grabbing key logging. Specifically, the software: (1) identifies forms on a called web page; (2) connects to each form submission event; (3) clears all form inputs marked with INPUT or *901 PASSWORD; (4) provides the user-inputted data to the designated receiving party, such as a bank; and (5) ensures that all password form fields are cleared from the API chain.

Another embodiment of the invention prevents the actions of both hook-based and form-grabbing key loggers. The software hooks the kernel keyboard driver where it intercepts and encrypts the keystroke data received from the keyboard. This encrypted data is then sent to the intended application, such as a web browser, where the keystrokes are decrypted and presented to the web form for submission to the designated receiving entity.

The ’445 patent has three independent claims: claims 1, 22, and 23. Claim 1 of the ’445 patent recites:

1. A software program embedded in a non-transitory microprocessor-readable storage medium and executable by a microprocessor to prevent software key logging comprising:
a software module that inserts and executes predetermined software processes at a zero-ring level in an application programming interface (“API”) stack of a browser, said software processes including:
a process of detecting a browser form submission initiation call event at the zero-ring level, wherein the form submission initiation call event takes a form of an on Submit call or a BeforeNavigate' call;
a process of intercepting data inputs keyed in by a user at the zero-ring level; and
a process of (1) submitting the keyed-in data to a designated entity through the API stack while (2) clearing confidential data from intercepted data at the zero-ring level prior to a subsequent transmission, which does not contain said confidential data, in response to the software key logging through the API stack to an internet communication port.

Id. at col. 11 11. 33-53 (disputed claim term italicized). Claim 22 recites:

22. A software program embedded in a non-transitory microprocessor-readable storage medium and executable by a microprocessor to prevent software key logging comprising:
a software module that inserts and executes predetermined software processes at a zero-ring level in an application programming interface (“API”) stack of a browser, said software processes including:
a process of inserting an initial hook which works within the 0-Ring level and prevents any other hooks from inserting at the 0-Ring level;

Free access — add to your briefcase to read the full text and ask questions with AI

Related

Cite This Page — Counsel Stack

Bluebook (online)
681 F. App'x 898, Counsel Stack Legal Research, https://law.counselstack.com/opinion/trusted-knight-corp-v-international-business-machines-corp-cafc-2017.