-
2025-07-15
17/963,390
2022-10-11
US 12,361,116 B1
2025-07-15
-
-
Brian Whipple
2043-02-02
Smart Summary: A new method helps keep software program audit and log messages safe during their creation and use. It separates these messages from the main software code and represents them as pairs of identifiers and message texts. To stop anyone from easily accessing the message texts, the method uses the identifiers during software development and when creating executable files. While the software is running, it protects the message texts by storing them in a fixed-size storage system. Additionally, it ensures that these messages are not lost by continuously saving their content in a secure way. 🚀 TL;DR
This present processor-implemented method provides a solution that protects software program audit/log messages during: development of software programs, generation of software program executables, and runtime execution of software program executables. The method separates audit/log messages from software programs, and represents audit/log messages as id=value pairs, where the id is an identifier and the value is an audit/log message string text. To protect and prevent extraction of string text, the method uses the id elements in the development of software programs and generation of software program executables. The method protects and stores string text in a fixed size storage during runtime execution. During runtime execution the method uses the string text to identify and extract audit/log message arguments, protects, and stores them in fixed size circular queues storage. To prevent loss of audit/log messages the method continuously saves the content of fixed size storage and fixed size circular queues storage.
Get notified when new applications in this technology area are published.
G06F21/52 » CPC main
Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity; Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
G06F8/77 » CPC further
Arrangements for software engineering; Software maintenance or management Software metrics
G06F21/60 » CPC further
Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity Protecting data
G06F2221/033 » CPC further
Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity; Indexing scheme relating to , monitoring users, programs or devices to maintain the integrity of platforms Test or assess software
Not Applicable
This present invention relates to the field of computing, and, more particularly, to protecting software program audit/log messages.
Software programs often use application programming interface (API) functions to generate audit/log messages that contain critical and sensitive information about the execution flow of the software program and the data it uses during execution. To reduce the exposure of critical and sensitive information, the audit/log messages should be protected during the development of the software programs, during the generation of software program executables, and during runtime execution of executables.
Current approaches to protect software program audit/log messages have been limited to protecting audit/log messages after the software program has generated the audit/log messages and saved to external storage, such as files on disk devices. Current approaches do not provide an integrated solution to protect audit/log messages during the development of software programs, during the generation of software program executables, and during runtime execution of software program executables. With current approaches, software program audit/log messages can be easily identified and extracted from software program source code during development. In addition, during the generation of software program executables, audit/log messages are embedded in the executables and can be reversed engineered and extracted from software program executables, and during the runtime execution of software program executables.
This present invention comprises of a novel approach for software processor-implemented method such that, when used and integrated with software programs, the audit/log messages are protected during software program source code development, while embedded in software program executables, and during runtime execution of executables.
This invention can improve the confidentially of software audit/log messages and hence prevent the disclosure of software program critical and sensitive information associated with audit/log messages.
FIG. 1 provides some embodiments of the present invention as illustrated as examples to represent audit/log message in terms of id=value pairs, to show how software programs can use an API function with audit/log message id, text argument and integer argument, and to show how a method can generate a readable and formatted audit/log message output.
FIG. 2 comprises a processor-implemented method that shows the data flow: for software programs that use API functions to read/store configuration data; for API functions used in software program executables to read/store fixed size storage data, to read/store fixed size circular queues storage data, and to store Output Storage data; and for a method (e.g., Browser) to read/store readable output data.
This description covers:
Referring to FIG. 1, the following describes possible examples of the processor-implement method:
As shown in FIG. 2 and described in detail below, the processor-implemented method comprises of methods to: initialize configuration data, separate the id=value pair so that the id and value elements can be used independently, initialize the fixed size storage data and the fixed size circular queues storage data to be used during runtime execution of software program executable, continuously store fixed size storage data and fixed size circular queues data to Output Storage, and generate readable and formatted audit/log messages.
1. A processor-implemented method for ensuring the protection of a plurality of software program log messages during the development of software programs, the generation of software program executables, and the runtime execution of the software program executables, comprising of the following steps:
represent the plurality of software program log messages in terms of a plurality of id=value pairs and arguments;
decompose the plurality of id=value pairs and arguments;
protect the plurality of id=value pairs and arguments;
use a plurality of id elements and arguments to generate the plurality of software program log messages;
use a plurality of value elements to extract arguments from the plurality of software program log messages; and
prevent loss of the plurality of software program log messages.
2. The method of claim 1, wherein the plurality of id elements are alphanumeric, the plurality of value elements are string text, and the arguments are text or numeric; and
wherein the string text is derived from the C-Programming Language printf( ) style string format specification that comprises string texts and string format specifiers.
3. The method of claim 2, further comprising:
decomposing the plurality of id=value pairs and arguments into separate id elements, value elements, and arguments text and numeric.
4. The method of claim 3, further comprising:
storing the plurality of id=value pairs and arguments as protected configuration data to be used during the development of software programs.
5. The method of claim 3, further comprising:
storing the plurality of id elements, the plurality of value elements, and the arguments text and numeric as encoded unique non-duplicate data in a protected fixed size storage to be used during the runtime execution of the software program executables.
6. The method of claim 5, further comprising:
using id elements to identify a corresponding value elements string, and arguments text and numeric, during the runtime execution of the software program executables.
7. The method of claim 6, further comprising:
parsing the corresponding value elements string to identify the printf ( ) style string format specifier types associated with a corresponding software program log message and arguments text and numeric.
8. The method of claim 7, further comprising:
extracting the value element associated with the id element from the corresponding software program log message and arguments text and numeric.
9. The method of claim 8, further comprising:
storing the id element, the value element associated with the id element, and arguments text and numeric in a protected fixed size circular queue storage during the runtime execution of the software program executables.
10. The method of claim 9, further comprising:
establishing a threshold value that represents the expected amount of data stored.
11. The method of claim 10, further comprising:
continuously monitoring when the amount of data currently stored reaches the threshold value.
12. The method of claim 11, further comprising:
saving data to ensure that the plurality of software program log messages are not lost.
13. The method of claim 3, further comprising:
using the plurality of id elements and the arguments text and numeric during the development of software programs.
14. The method of claim 13, further comprising:
using the developed software programs during the generation of the software program executables.