Data transferring method and system
A real-time data obfuscation mechanism addresses the challenge of securing sensitive data transfers by dynamically updating data in buffers based on application trust, ensuring secure and productive use of online tools.
Patent Information
- Application Number
- GB2024014554
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-03
- Publication Date
- 2026-04-29
AI Technical Summary
Existing systems fail to provide real-time protection for sensitive data against accidental exposure or unauthorized transfer to untrusted environments, particularly in the context of cloud services and AI integrations, leading to security vulnerabilities.
A real-time data obfuscation mechanism that monitors data buffers for sensitive information and dynamically updates it with placeholders based on the trust status of the target application, ensuring secure transfer only to trusted environments.
Ensures secure and productive use of online tools by automatically protecting sensitive data from unauthorized transfer, preventing data breaches and enhancing user productivity.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
FIELD The present invention relates in general to cybersecurity method and systems and more specifically the transferring of sensitive data. BACKGROUND Users of electronic systems are unable to safely interact with untrusted environments without risking data leakage through, for example, data copied to a buffer or temporary storage such as a clipboard. Clipboards are widely used to copy and paste sensitive information, including passwords, API keys, financial data, and confidential business details and the like. However, without proper protection, this data can be unintentionally shared across applications or websites, leading to security vulnerabilities. This is especially prevalent when working with, for example, cloud services. Typical systems lack the ability to dynamically protect clipboard data in real time before it is exposed to non-trusted applications and / or domains. With the advent of artificial intelligence such as large language models, programmers are increasingly at risk of passing sensitive information into untrusted environments such as cloud services and Al integrations through pasting from a clipboard. There is a desire to use such tools (e.g., to work more productively) but this requires manual editing of inputs so as not to accidentally reveal critical information. US9672366B1 describes a clipboard safety mechanism that focuses on monitoring and blocking users from pasting sensitive content from one application to another, flagging when a breach is carried out. The disclosed system may block a user’s action at the point of pasting, thus delaying the step of risk evaluation and imposing a blanket rule of blocking all clipboard content. CN112433871A describes encrypting the entire contents of a clipboard, and indiscriminately de-encrypting the clipboard contents upon a pasting action by the user, regardless of the pasting target. GB2537601 describes selective encryption of entire clipboard data when it contains sensitive information such as password or personal details. The disclosed system monitors clipboard usage and only allows decryption and pasting into trusted applications. Pasting into untrusted environments is blocked completely, i.e., a user is stopped from pasting any content when sensitive information is present. Accordingly, there is a desire to provide improved data transfer mechanisms that protect sensitive data whilst facilitating the use of tools such as large language models. Aspects of the present disclosure aim to address this technology gap by introducing a realtime data obfuscation and transfer mechanism which intelligently updates sensitive information, such as API keys or personal identifiers, based on a detected risk of a destination, or target, application or domain. The methods and systems disclosed herein provide a proactive security solution, ensuring that sensitive data is e.g., automatically replaced with safe placeholders before any unauthorized transfer occurs. SUMMARY In a first aspect, there is provided a data transferring method, the method comprising: monitoring the contents of a data buffer; determining that the contents of the data buffer comprise sensitive data; obfuscating the sensitive data to provide obfuscated data; monitoring the trust status of a target application, and transferring the data buffer contents including the obfuscated data to the target application when the target application is determined to be untrusted. In this way, it is ensured that sensitive information is not transferred to unsecure domains or applications, while allowing users to benefit from online tools such as Al helpers. In some examples, the method further comprises restoring the sensitive data to the data buffer and transferring the data buffer content including the sensitive data to the target application when the target application is determined to be trusted. In this way, a user may use trusted applications without obfuscation. In some examples, the step of obfuscating the sensitive data comprises replacing the sensitive data with a label, and storing the sensitive data. In some examples, the sensitive data is stored in ephemeral storage. The temporary nature of ephemeral storage enables safe storage of sensitive data. In some examples, the step of obfuscating the sensitive data comprises any of masking, encrypting and / or performing data reduction of the sensitive data. In some examples, the step of monitoring the contents of the data buffer comprises polling the data buffer. In some examples, the step of monitoring the data buffer is triggered by data being entered into the data buffer. In this way, either by polling or event driven triggering, sensitive data may be obfuscated as soon as it is entered into the data buffer. In some examples, the step of monitoring the trust status of the target application comprises polling the target application. In some examples, the trust status of the target application is determined based on a whitelist of trusted applications. Advantageously, said whitelist may be updated dynamically to maintain a list of trusted applications, allowing a user enhanced productivity in a secure manner. In some examples, the data buffer is a system level data buffer, for example a clipboard. The step of transferring the data buffer content to the target application may comprise pasting the data buffer content into the target application. In some examples, the step of determining that the data buffer contents comprises sensitive data comprises comparing the data buffer contents to a predetermined list of sensitive data types. In a second aspect, there is provided a data transferring system configured to: monitor the contents of a data buffer; determine that the contents of the data buffer comprise sensitive data; obfuscate the sensitive data to provide obfuscated data; monitor the trust status of a target application, and transfer the data buffer contents including the obfuscated data to the target application when the target application is determined to be untrusted. In some examples, the system is further configured to: restore the sensitive data to the data buffer and transfer the data buffer content including the sensitive data to the target application when the target application is determined to be trusted. In some examples, the system is further configured to replace the sensitive data with a label, and store the sensitive data. The sensitive data may be stored in ephemeral storage. In some examples, the system is further configured to perform masking, encryption, and / or data reduction of the sensitive data. In some examples, the system is configured to monitor the contents of the data buffer by polling the data buffer. In some examples, the system configured to monitor the contents of the data buffer when data is entered into the data buffer. In some examples, the system is configured to poll the target application to monitor the trust status of the target application. In some examples, the system is configured to determine the trust status of the target application based on a whitelist of trusted applications. In some examples, the data buffer is a system level data buffer. In some examples, the system is configured to determine that the data buffer content comprises sensitive data by comparing the data buffer contents to a predetermined list of sensitive data types In a third aspect, there is provided a computer readable medium comprising instructions stored thereon such that when executed by a computer cause the computer to perform any of the methods and examples described herein. BRIEF DESCRIPTION OF DRAWINGS Figure 1 depicts a system for transferring data in accordance with some embodiments; and Figure 2 depicts a method for transferring data in accordance with some embodiments. DETAILED DESCRIPTION Aspects of the present disclosure solve the technical problem of enhancing security by dynamically managing sensitive information across trusted and untrusted environments. Sensitive information may include any information that a threat actor may use for malicious purposes, for example to exploit or cause harm to an organization or individual's systems, networks, and / or data. Aspects of the present invention also provide for protection against data buffer hijacking, a type of cyber-attack where malware intercepts or modifies the contents of a data buffer (e.g., a clipboard) without the user’s knowledge. This technique is typically used to steal or replace sensitive information such as financial information. An example of this is ‘crypto shuffler’ malware which monitors clipboard data and replaces a legitimate wallet address with a fake address. When the user attempts to transfer cryptocurrency to the wallet address, it is instead sent to the attacker’s wallet. Similar malware exists for traditional banking methods. Aspects of the present disclosure work against this type of malware by obfuscating sensitive data with non-usable information, thus improving the security and functionality of a user’s computer. A real-time buffered data obfuscation process is provided herein, designed to protect sensitive information from accidental exposure or unauthorized sharing in non-trusted applications and domains. Disclosed is a system configured to monitor buffer activity and identify data patterns like API keys, access tokens, personally identifiable information (PH), and proprietary resource identifiers. Upon detection of sensitive data, the system applies obfuscation techniques, for example masking or replacing the sensitive data with placeholders, before it can be shared, e.g., uploaded or pasted. The presently disclosed system may be, for example, executed as a system level application that integrates with a user’s operating system and distinguishes between trusted (e.g., Amazon Web Services (AWS) Console, VS Code, a company’s proprietary tools) and untrusted environments (e.g., ChatGPT, Google, Gmail), allowing unobstructed data transfers in trusted applications while enforcing obfuscation for non-trusted applications. In a nonlimiting example, a user (e.g., a software engineer) may have a block of text containing an AWS database keys among other non-sensitive text. The user may desire to copy said text into an Al helper. When the user copies the block of text, the presently disclosed system replaces only the sensitive data (e.g., the AWS database key) with placeholder data (e.g., “[DYNAMOTABLEARN]”). Thus, when the user pastes the block of text into the Al helper window (i.e., an untrusted application), placeholder data is pasted rather than the AWS keys along with the non-sensitive data. This ensures that sensitive information is never transferred to unsecure domains or applications, while allowing users to benefit from online tools. With reference to Figure 1, a user may copy or otherwise transfer data to a data buffer 110 (e.g., temporary storage such as a clipboard used by some operating systems). In some cases, said data may comprise sensitive information such as API keys, access tokens, personally identifiable information (Pll), financial details, and proprietary resource identifiers. With reference to Figure 2, aspects of the present disclosure provide for a data transferring method 200. At step 210, the presently disclosed method comprises monitoring 210 the data buffer 110 content (i.e., the contents of data buffer 110). In some examples, the data buffer 110 content may be monitored by periodically polling the data buffer 110. In other examples, monitoring the data buffer 110 contents may be event driven (i.e., using interrupts), for example, monitoring may be triggered when a user loads data into the data buffer 110 (e.g., copying text to a clipboard). The method further comprises determining 220 that the data buffer 110 contents comprise sensitive data. In some examples, this may be achieved by comparing the data buffer 110 contents to a predetermined list of sensitive data types (i.e., pattern matching), for example stored on a file or database. Said predetermined list may be populated and / or updated by a user, administrator, service provider (i.e., a software company), and may be updated dynamically based on changing or emerging formats of sensitive data. For example, a user may wish to preserve the privacy of a project name or title, or a client or employee’s personal identifiable information (Pll). The user may update said list to include this type of information. In some examples, a machine learning model may be employed to facilitate the identification of sensitive data, i.e., to improve pattern matching and adapt to and / or identify emerging and / or modified types of sensitive data. Accordingly, in some examples, a user may define specific data patterns to obfuscate, allowing for a more adaptable system compared to rigid pre-defined patterns presented in other solutions. Upon determining 220 that the data buffer 110 comprises sensitive information, the method 200 further comprises obfuscating 230 the sensitive information in the data buffer 110 to provide obfuscated data, e.g., by replacing the sensitive information with a placeholder, or a label. In a non-limiting example, the data buffer 110 content may comprise the following text: EMAIL: SUBNET ID: “subnet-12345678" VPC ID: “vps-12345678” As described above, by e.g., pattern matching it can be determined that the email, subnet ID and VPC ID comprise sensitive information. The method 200 may comprise storing the values of the sensitive information and replacing the relevant data buffer 110 contents with values that appear structurally similar to the sensitive data but hide (i.e., mask) the sensitive data to provide obfuscated data. Once the sensitive information is replaced, the data buffer 110 contents may, for example, read: EMAIL: [EMAIL: SUBNET ID: “[SUBNET ID]” VPC ID: “[VPC ID]” In this way, the method 200 provides for the obfuscation of only the sensitive data. That is, other than the sensitive data being obfuscated, the contents of the data buffer 110 that are not sensitive data remain unchanged. The process of determining and obfuscating sensitive data may take place as soon as data is entered into the data buffer 100, subject to any polling time period and / or event trigger indicating that data has been entered into the buffer (e.g., owing to a copying action by a user). Accordingly, sensitive data is protected (i.e., obfuscated) as soon as it is entered into the data buffer 110 which may protect the user against data buffer hijacking and the like. In some examples, the method may comprise storing the data buffer contents including the sensitive data in ephemeral storage, which may be implemented in random access memory (RAM) or read only memory (ROM). Ephemeral storage may enable ad hoc data operations without the need for permanent storage. Storing data in ephemeral storage may comprise storing one string of data at a time, said string updating when a new value is written. Thus, the sensitive information is kept safe by virtue of the temporary nature of the ephemeral storage. Although the example above describes data masking (i.e., the replacing of sensitive data with values that appear structurally similar to the sensitive data but hide (i.e., mask) the sensitive data), the skilled person is aware of other methods of data obfuscation that may be applicable in the presently disclosed method. For example, data obfuscation may comprise any of tokenization, encryption, and / or data reduction. The method 200 may further comprise monitoring 240 at least one target application 130 (e.g., cloud services or Al helpers that a user may paste data into) and determine whether said at least one target application 130 is a trusted or an untrusted environment. For example, the at least one target application 130 may be polled to determine whether the at least one target application 130 is trusted or untrusted based on the target application 130 being included on a whitelist (i.e., a list of trusted applications and / or domains and the like). For local applications, the whitelist may include the names of trusted applications. For web domains, the URLs of trusted domains may be included on the whitelist. Similar to the predetermined list of sensitive information types, said whitelist may be populated and / or updated by a user, administrator, service provider (i.e., a software company), and the like, and may be updated dynamically based on changing or emerging applications and / or domains. For example, a user may wish to whitelist a particular application that is not currently named on the whitelist. The user may update said whitelist to include the name of the trusted application. In some examples, a machine learning model may be employed to facilitate the identification of secure target applications and / or domains, i.e., to improve pattern matching and adapt to and / or identify emerging and / or modified applications or domains. In this way, a blacklist may not be required (i.e., a list of untrusted applications). If the target application 130 is not on the whitelist, then the target application 130 is determined to be untrusted. In some examples, a user (e.g., a system administrator) may determine a blacklist of untrusted applications. This may be useful, for example, when a corporation imposes a blanket ban on the use of Al tools by its employees. In such an example, the trust status of a target application may be determined based on a whitelist of trusted applications and / or a blacklist of untrusted applications. If the target application 130 is determined to be an untrusted environment, the data buffer 110 contents may be transferred 250 into the target application 130 including both the obfuscated data and the unchanged non-sensitive data buffer 110 contents. In this way, the method 200 allows the use of untrusted environments, such as Al helpers, while safeguarding sensitive data. This is in contrast to typical methods that do not allow loading of entire data buffer 110 contents when sensitive information is comprised thereon. When the target application 130 is determined to be a trusted environment (e.g. software IDE, Notes), the method 200 may comprise restoring the obfuscated data in the data buffer 110 to its original format (i.e., un-obfuscated), and transferring 260 the un-obfuscated data including the sensitive data into the target application 130 from the data buffer 120. Accordingly, a dynamic sensitive data obfuscation and transferring process is realized based on a trust status of a target application 130. The method 200 provides for real-time monitoring, allowing users to engage with, for example, generative Al and other workplace tools without risking sensitive information, thereby allowing for greater productivity in a secure manner. In some examples, a user may define specific data patterns to obfuscate, allowing for a more adaptable system compared to rigid pre-defined patterns presented in other solutions. In a further aspect of the present disclosure, there is provided a data transferring system 120. The data transferring system 120 is configured to monitor the contents of a data buffer 110; determine that the contents of the data buffer 110 comprise sensitive data; obfuscate the sensitive data to provide obfuscated data; monitor a trust status of a target application 130, and transfer the data buffer 110 content including the obfuscated data to the target application 130 when the target application is determined to be untrusted. In some examples, the system 120 may be configured to restore the sensitive data and transfer the data buffer 110 content to the target application 130 when the target application is determined to be trusted. In some examples, the system 120 may be further configured to replace the sensitive data with a label, and store the sensitive data, for example in ephemeral storage. In some examples, the system 120 may be configured to perform masking, encryption, and / or data reduction of the sensitive data in order to provide said obfuscated data. In some examples, the system 120 may be configured to monitor the contents of the data buffer, for example by polling the data buffer 110. In other examples, the system 120 may be configured to monitor the data buffer based on events (e.g., interrupts). For example, the system 120 may be triggered to monitor the data buffer 110 contents when a user loads data into the data buffer 110 (e.g., copying text to a clipboard). In some examples, the system 120 may be further configured to poll the target application 130 to monitor the trust status of the target application, for example by monitoring a trust certificate of the target application. When the data buffer 110 comprises a clipboard, the system 120 may be configured to paste the data buffer 110 content to the target application 130 from the clipboard. In a further aspect, there is provided a computer readable medium comprising instructions stored thereon such that when executed by a computer cause the computer to perform the presently disclosed method. The description provided herein may be directed to specific implementations. It should be understood that the discussion provided herein is provided for the purpose of enabling a person with ordinary skill in the art to make and use any subject matter defined herein by the subject matter of the claims. It should be intended that the subject matter of the claims not be limited to the implementations and illustrations provided herein, but include modified forms of those implementations including portions of implementations and combinations of elements of different implementations in accordance with the claims. It should be appreciated that in the development of any such implementation, as in any engineering or design project, numerous implementation-specific decisions should be made to achieve a developers’ specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort may be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having benefit of this disclosure. Reference has been made in detail to various implementations, examples of which are illustrated in the accompanying drawings and figures. In the detailed description, numerous specific details are set forth to provide a thorough understanding of the disclosure provided herein. However, the disclosure provided herein may be practiced without these specific details. In some other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure details of the embodiments. It should also be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element. The first element and the second element are both elements, respectively, but they are not to be considered the same element. The terminology used in the description of the disclosure provided herein is for the purpose of describing particular implementations and is not intended to limit the disclosure provided herein. As used in the description of the disclosure provided herein and appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. The term “and / or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. The terms “includes,” “including,” “comprises,” and / or “comprising,” when used in this specification, specify a presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof. While the foregoing is directed to implementations of various techniques described herein, other and further implementations may be devised in accordance with the disclosure herein, which may be determined by the claims that follow. Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1. A data transferring method, the method comprising:monitoring the contents of a data buffer;determining that the contents of the data buffer comprise sensitive data;obfuscating the sensitive data to provide obfuscated data;monitoring the trust status of a target application, andtransferring the data buffer contents including the obfuscated data to the target application when the target application is determined to be untrusted.
2. The method of claim 1 further comprising:restoring the sensitive data to the data buffer and transferring the data buffer content including the sensitive data to the target application when the target application is determined to be trusted.
3. The method of claim 1 or claim 2, wherein the step of obfuscating the sensitive data comprises:replacing the sensitive data with a label, andstoring the sensitive data.
4. The method of claim 3, further comprising storing the sensitive data in ephemeral storage.
5. The method of any of claims 1 to 4, wherein in the step of obfuscating the sensitive data comprises any of masking, encrypting and / or performing data reduction of the sensitive data.
6. The method of any previous claim, wherein the step of monitoring the contents of the data buffer comprises polling the data buffer.
7. The method of any previous claim, wherein the step of monitoring the data buffer is triggered by data being entered into the data buffer.
8. The method of any previous claim, wherein the step of monitoring the trust status of the target application comprises polling the target application.
9. The method of any previous claim, wherein the trust status of the target application is determined based on a whitelist of trusted applications.
10. The method of any previous claim, wherein the data buffer comprises a system level data buffer.
11. The method of any previous claim, wherein the data buffer comprises a clipboard.
12. The method of claim 11, wherein the step of transferring the data buffer content to thetarget application comprises pasting the data buffer content.
13. The method of any previous claim, wherein the step of determining that the data buffer contents comprises sensitive data comprises comparing the data buffer contents to a predetermined list of sensitive data types.
14. A data transferring system configured to:monitor the contents of a data buffer;determine that the contents of the data buffer comprise sensitive data;obfuscate the sensitive data to provide obfuscated data;monitor the trust status of a target application, andtransfer the data buffer contents including the obfuscated data to the target application when the target application is determined to be untrusted.
15. The system of claim 14 further configured to:restore the sensitive data to the data buffer and transfer the data buffer content including the sensitive data to the target application when the target application is determined to be trusted.
16. The system of claim 14 or claim 15, further configured toreplace the sensitive data with a label, andstore the sensitive data.
17. The system of claim 16, further configured to store the sensitive data in ephemeral storage.
18. The system of claim 14 to 17, further configured to perform masking, encryption, and / ordata reduction of the sensitive data.
19. The system of any of claims 14 to 18 further configured to monitor the contents of the data buffer by polling the data buffer.
20. The system of any of claims 14 to 19, wherein the system configured to monitor the contents of the data buffer when data is entered into the data buffer.
21. The system of any of claims 14 to 20, further configured to poll the target application to monitor the trust status of the target application.
22. The system of any of claims 14 to 21, configured to determine the trust status of the target application based on a whitelist of trusted applications.
23. The system of any of claims 14 to 22, wherein the data buffer is a system level data buffer.5 24. The system of any of claims 14 to 23, configure to determine that the data buffercontent comprises sensitive data by comparing the data buffer contents to a predetermined list of sensitive data types25. A computer readable medium comprising instructions stored thereon such that when 10 executed by a computer cause the computer to perform the method of any of claims 1 to 13.s
Citation Information
Patent Citations
Method and device for protecting clipboard privacy
CN112287372A
Techniques for clipboard monitoring
US9672366B1
