IP Library Granted Patent US 10,496,839
Granted Patent B2
US 10,496,839 · App. 15/835,630 · Granted Dec 3, 2019

Protecting sensitive data in software products and in generating core dumps

Inventors: Rui Feng (Beijing, CN); Shuang Shuang Jia (Beijing, CN); Da Fei Shi (Beijing, CN); Lijun Wei (Beijing, CN)
Assignee: International Business Machines Corporation
G06F21/6209G06F8/54G06F11/0706G06F11/0778G06F11/366G06F8/41
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 10,496,839
App. No.
15/835,630
Granted
Dec 3, 2019
Kind
B2
Abstract

Sensitive data is protected in a software product. A source file of the software product is compiled to generate an object file, in which the source file includes at least one piece of sensitive data marked with a specific identifier. The object file has a secure data section for saving storage information of the at least one piece of sensitive data at compile-time and run-time. The object file is linked to generate an executable file. The executable file updates the secure data section at run-time. Sensitive data is also protected when a core dump is generated.

Claims (41)

1. A method of protecting sensitive data when a core dump is generated, said method comprising:

updating, at run-time of an executable file, by one or more processors, a secure data section of a memory of a computer, to include storage information of sensitive data indicating a location of the sensitive data;

scanning, by the one or more processors, the memory of the computer to find the secure data section in the memory;

acquiring, by the one or more processors, the sensitive data, by utilizing the storage information to locate the sensitive data corresponding to the storage information;

processing, by the one or more processors, the sensitive data to hide the sensitive data, wherein hiding the sensitive data is not reversible; and

generating, by the one or more processors, a core dump file, wherein the core dump file does not comprise the sensitive data.

2. The method according to claim 1 , wherein the storage information includes at least a data type, a memory address and an address offset the sensitive data in the secure data section.

3. The method according to claim 1 , wherein the processing of the sensitive data to hide the sensitive data includes hiding the sensitive data by using at least one of a random replacement algorithm and an encryption algorithm.

4. The method according to claim 1 , wherein the secure data section includes a header and a record section, wherein a pointer to the secure data section is saved in a file header of an object file, wherein the executable file is generated from the object file, and the header includes an identifier of the secure data section, an amount of the storage information recorded in the record section and a back pointer to the file header.

5. The method according to claim 1 , further comprising:

prior to scanning the memory, determining by the one or more processors, that a software product executed by the one or more processors has failed.

6. The method according to claim 1 , wherein the processing of the sensitive data to hide the sensitive data includes obscuring the sensitive data by using an encryption algorithm.

7. The method according to claim 6 , wherein the encryption algorithm comprises a dynamic secret-key algorithm.

8. The method of claim 1 , wherein the executable file is generated from an object file, and the object file is generated by compiling a source file, wherein the source file includes the sensitive data, and the object file comprises the secure data section.

9. A system comprising:

a memory;

one or more processors in communication with the memory; and

program instructions executable by the processor via the memory to perform a method, the method comprising:

updating, at run-time of an executable file, by the one or more processors, a secure data section of a memory of a computer, to include storage information of sensitive data indicating a location of the sensitive data;

scanning, by the one or more processors, the memory of the computer to find the secure data section in the memory;

acquiring, by the one or more processors, the sensitive data, by utilizing the storage information to locate the sensitive data corresponding to the storage information;

processing, by the processor, the sensitive data to hide the sensitive data; and

generating, by the processor, a core dump file, wherein the core dump file does not comprise the sensitive data.

10. The system according to claim 9 , wherein the storage information includes at least a data type, a memory address and an address offset.

11. The system according to claim 9 , wherein the processing comprises hiding the sensitive data by using at least one of a random replacement algorithm and an encryption algorithm.

12. The system according to claim 9 , wherein the secure data section includes a header and a record section, wherein a pointer to the secure data section is saved in a file header of an object file, wherein the executable file is generated from the object file, and the header includes an identifier of the secure data section, an amount of the storage information recorded in the record section and a back pointer to the file header.

13. The system according to claim 9 , the method further comprising:

prior to scanning the memory, determining by the one or more processors, that a software product executed by the one or more processors has failed.

14. The system according to claim 9 , wherein the processing of the sensitive data to hide the sensitive data includes obscuring the sensitive data by using an encryption algorithm.

15. The system according to claim 14 , wherein the encryption algorithm comprises a dynamic secret-key algorithm.

16. The system of claim 9 , wherein the executable file is generated from an object file, and the object file is generated by compiling a source file, wherein the source file includes the sensitive data, and the object file comprises the secure data section.

17. A computer program product comprising:

a computer readable storage medium readable by one or more processors and storing instructions for execution by the one or more processors for performing a method comprising:

updating, at run-time of an executable file, by the one or more processors, a secure data section of a memory of a computer, to include storage information of sensitive data indicating a location of the sensitive data;

scanning, by the one or more processors, the memory of the computer to find the secure data section in the memory;

acquiring, by the one or more processors, the sensitive data, by utilizing the storage information to locate the sensitive data corresponding to the storage information;

processing, by the processor, the sensitive data to hide the sensitive data; and

generating, by the processor, a core dump file, wherein the core dump file does not comprise the sensitive data.

18. The computer program product of claim 17 , wherein the storage information includes at least a data type, a memory address and an address offset of the sensitive data in the secure data section.

19. The computer program product of claim 17 , wherein the processing of the sensitive data to hide the sensitive data includes hiding the sensitive data by using at least one of a random replacement algorithm and an encryption algorithm.

20. The computer program product of claim 17 , wherein the executable file is generated from an object file, and the object file is generated by compiling a source file, wherein the source file includes the sensitive data, and the object file comprises the secure data section.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2017
From: FENG, RUI; JIA, SHUANG SHUANG; SHI, DA FEI; WEI, LIJUN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044336/0647 →
Priority Claims (1)
CN 2014 1 0072282 · Feb 28, 2014 · national
Continuity (2)
Continuation 14632114 · Feb 26, 2015
Related Publication 20180101692A1 · Apr 12, 2018
Cited By (1)
US 12,299,154