Patents by Inventor Sudha Anil Kumar Gathala
Sudha Anil Kumar Gathala has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10333965Abstract: Methods, and computing devices implementing the methods, that enable client computing devises to work in conjunction with a server device to identify and temporarily defend against non-benign applications (e.g., malware, etc.) and other threats before a more permanent solution or defense (e.g., a patch or software upgrade) becomes available and installed on the client computing device. The server device may be configured to receive reports from the client computing devices, receive threat feeds from third-party servers (e.g., threat intelligence servers, etc.), and use information included in the received threat feed and information included in the received reports to analyze, in the server computing device, a software application that is operating on a client device in multiple passes. The server may generate threat scores (e.g., one for each pass, etc.), and the threat scores to the client computing device for use in devising a customized security response.Type: GrantFiled: September 12, 2016Date of Patent: June 25, 2019Assignee: QUALCOMM IncorporatedInventors: Sudha Anil Kumar Gathala, Saumitra Mohan Das, Nayeem Islam, Dallas James Wiener, Hugo Romero, Harold Gilkey, Giridhar Mandyam
-
Patent number: 10255434Abstract: Various embodiments include methods for detecting software attacks on a process executing on a computing device. Various embodiment methods may include monitoring structural attributes of a plurality of virtual memory regions utilized by the process, and comparing the monitored structural attributes to the expected structural attributes of the plurality of VMRs. Various embodiment methods may further include determining whether the monitored structural attributes represent anomalous behavior of the process based on the comparison between the monitored structural attributes and the expected structural attributes.Type: GrantFiled: March 1, 2016Date of Patent: April 9, 2019Assignee: QUALCOMM IncorporatedInventors: Sudha Anil Kumar Gathala, Rajarshi Gupta, Nayeem Islam
-
Patent number: 10127018Abstract: Various embodiments include methods for dynamically modifying shared libraries on a client computing device. Various embodiment methods may include receiving a first set of code segments and a first set of code sites associated with a first application. Each code in the first set of code sites may include an address within a compiled shared library stored on the client computing device. The compiled shared library may include one or more dummy instructions inserted at each code site in the first set of code sites, and each code segment in the first set of code segments may be associated with a code site in the first set of code sites. The client computing device may insert each code segment in the first set of code segments at its associated code site in the compiled shared library.Type: GrantFiled: March 30, 2016Date of Patent: November 13, 2018Assignee: QUALCOMM IncorporatedInventors: Sudha Anil Kumar Gathala, Mihai Christodorescu, Mastooreh Salajegheh
-
Publication number: 20180314825Abstract: Embodiments include computing devices, apparatus, and methods implemented by the apparatus for time varying address space layout randomization. The apparatus may launch first plurality of versions of a system service and assign a random virtual address space layout to each of the first plurality of versions of the system service. The apparatus may receive a first request to execute the system service from a first application. The apparatus may randomly select a first version of the system service from the first plurality of versions of the system service, and execute the system service using data of the first version of the system service.Type: ApplicationFiled: July 2, 2018Publication date: November 1, 2018Inventors: Sudha Anil Kumar GATHALA, Gheorghe Calin CASCAVAL, Rajarshi GUPTA
-
Patent number: 10095305Abstract: Embodiments include computing devices, apparatus, and methods implemented by the apparatus for implementing wake lock aware scheduling. The apparatus may receive a wake lock request by a wake lock profiler and acquire wake lock information of a wake lock event associated with the wake lock request. The wake lock information may include a wake lock time parameter. The apparatus may send a hint having the wake lock time parameter. The apparatus may receive the hint, determine whether ready jobs can execute during the wake lock event, and send a request for permission to schedule the ready jobs for execution during the wake lock event in response to determining that the ready jobs can execute during the wake lock event.Type: GrantFiled: June 18, 2016Date of Patent: October 9, 2018Assignee: QUALCOMM IncorporatedInventors: Sriram Nandha Premnath, Sudha Anil Kumar Gathala, Saumitra Mohan Das
-
Publication number: 20180203996Abstract: Various embodiments include systems, methods and devices for reducing the burden on mobile devices of memory data collection for memory forensics. Various embodiments may include monitoring for changes sections or portions of memory within the computing device that been identified by a network device based on a prior memory snapshot. When changes are detected, the computing device may determine whether data changes in the monitored sections or portions of memory satisfy a criterion for transmitting an incremental snapshot of memory. Such criteria may be defined in information received from the network device. When the criteria are satisfied, the computing device may transmit an incremental memory snapshot to the network device. The computing device may transmit to the network device results of analysis of the data changes observed in the memory. Various embodiments may be performed in a secure environment or in a memory collection processor within the computing device.Type: ApplicationFiled: January 17, 2017Publication date: July 19, 2018Inventors: Sudha Anil Kumar Gathala, Mastooreh Salajegheh, Saumitra Mohan Das, Nayeem Islam
-
Patent number: 10013554Abstract: Embodiments include computing devices, apparatus, and methods implemented by the apparatus for time varying address space layout randomization. The apparatus may launch first plurality of versions of a system service and assign a random virtual address space layout to each of the first plurality of versions of the system service. The apparatus may receive a first request to execute the system service from a first application. The apparatus may randomly select a first version of the system service from the first plurality of versions of the system service, and execute the system service using data of the first version of the system service.Type: GrantFiled: March 31, 2016Date of Patent: July 3, 2018Assignee: QUALCOMM IncorporatedInventors: Sudha Anil Kumar Gathala, Gheorghe Calin Cascaval, Rajarshi Gupta
-
Patent number: 9965374Abstract: Embodiments include computing devices, apparatus, and methods implemented by the apparatus for implementing profile guided indirect jump checking on a computing device, including encountering an indirect jump location of implementing an indirect jump during execution of a program, identifying an indirect jump target of the indirect jump, determining whether the indirect jump location and the indirect jump target are associated in a profile guided indirect jump table, and determining whether the indirect jump location and the indirect jump target are associated in a compiler guided indirect jump table in response to determining that the indirect jump location and the indirect jump target are not associated in the profile guided indirect jump table.Type: GrantFiled: August 26, 2016Date of Patent: May 8, 2018Assignee: QUALCOMM IncorporatedInventors: Minjang Kim, Joel Galenson, Sudha Anil Kumar Gathala
-
Publication number: 20180077188Abstract: Methods, and computing devices implementing the methods, that enable client computing devises to work in conjunction with a server device to identify and temporarily defend against non-benign applications (e.g., malware, etc.) and other threats before a more permanent solution or defense (e.g., a patch or software upgrade) becomes available and installed on the client computing device. The server device may be configured to receive reports from the client computing devices, receive threat feeds from a third-party server (e.g., threat intelligence servers, etc.), and use information included in the received threat feed and information included in the received reports to analyze, in the server computing device, a software application that is operating on a client device in multiple passes. The server may generate one or more threat scores and send the one or more threat scores to the client computing device for use in devising a customized security response.Type: ApplicationFiled: September 12, 2016Publication date: March 15, 2018Inventors: Giridhar Mandyam, Sudha Anil Kumar Gathala, Saumitra Mohan Das, Nayeem Islam, Dallas James Wiener, Hugo Romero, Harold Gilkey
-
Publication number: 20180077195Abstract: Methods, and computing devices implementing the methods, that enable client computing devises to work in conjunction with a server device to identify and temporarily defend against non-benign applications (e.g., malware, etc.) and other threats before a more permanent solution or defense (e.g., a patch or software upgrade) becomes available and installed on the client computing device. The server device may be configured to receive reports from the client computing devices, receive threat feeds from third-party servers (e.g., threat intelligence servers, etc.), and use information included in the received threat feed and information included in the received reports to analyze, in the server computing device, a software application that is operating on a client device in multiple passes. The server may generate threat scores (e.g., one for each pass, etc.), and the threat scores to the client computing device for use in devising a customized security response.Type: ApplicationFiled: September 12, 2016Publication date: March 15, 2018Inventors: Sudha Anil Kumar Gathala, Saumitra Mohan Das, Nayeem Islam, Dallas James Wiener, Hugo Romero, Harold Gilkey, Giridhar Mandyam
-
Publication number: 20180063179Abstract: Various embodiments include methods and a memory data collection processor for performing online memory data collection for memory forensics. Various embodiments may include determining whether an operating system executing in a computing device is trustworthy. In response to determining that the operating system is not trustworthy, the memory data collection processor may collect memory data directly from volatile memory. Otherwise, the operating system to collect memory data from volatile memory. Memory data may be collected at a variable memory data collection rate determined by the memory data collection processor. The memory data collection rate may depend upon whether an available power level of the computing device exceeds a threshold power level, whether an activity state of the processor of the computing device equals a sleep state whether a security risk exists on the computing device, and whether a volume of memory traffic in the volatile memory exceeds a threshold volume.Type: ApplicationFiled: August 26, 2016Publication date: March 1, 2018Inventors: Mastooreh Salajegheh, Sudha Anil Kumar Gathala, Saumitra Mohan Das, Nayeem Islam
-
Publication number: 20180060568Abstract: Various embodiments enhance protections against stack buffer overflow attacks in a computing device by dynamically updating stack canaries. Canary values on the stack of a child process may be replaced with new canary values in response to determining that a condition for generating new canary values is satisfied. Canary values on the stack of a child process may be replaced with new canary values when a child process is forked following a crash of a previous child process of the parent process. Canary values on the stack of a child process may be replaced with new canary values in response to expiration of a canary timeout time. The locations of the canaries to replace may be determined by walking the stack to locate entries in each stack frame that match a previous value of the canary or by walking the stack according to a predefined stack frame format.Type: ApplicationFiled: August 23, 2016Publication date: March 1, 2018Inventors: Joel Galenson, Sudha Anil Kumar Gathala, Minjang Kim
-
Publication number: 20180060209Abstract: Embodiments include computing devices, apparatus, and methods implemented by the apparatus for implementing profile guided indirect jump checking on a computing device, including encountering an indirect jump location of implementing an indirect jump during execution of a program, identifying an indirect jump target of the indirect jump, determining whether the indirect jump location and the indirect jump target are associated in a profile guided indirect jump table, and determining whether the indirect jump location and the indirect jump target are associated in a compiler guided indirect jump table in response to determining that the indirect jump location and the indirect jump target are not associated in the profile guided indirect jump table.Type: ApplicationFiled: August 26, 2016Publication date: March 1, 2018Inventors: Minjang Kim, Joel Galenson, Sudha Anil Kumar Gathala
-
Publication number: 20180060569Abstract: Methods, systems, and devices detect and block execution of malicious shell commands requested by a software application. Various embodiments may include receiving a request from a software application to execute a shell command and simulating execution of the shell command to produce execution behavior information. The computing device may analyze system activities to produce execution context information and generate an execution behavior vector based, at least in part, on the execution behavior information and the execution context information. The computing device may use a behavior classifier model to determine whether the shell command is malicious. In response to determining that the shell command is malicious, the computing device may block execution of the shell command.Type: ApplicationFiled: August 26, 2016Publication date: March 1, 2018Inventors: Minjang Kim, Dong Li, Sudha Anil Kumar Gathala
-
Publication number: 20170364136Abstract: Embodiments include computing devices, apparatus, and methods implemented by the apparatus for implementing wake lock aware scheduling. The apparatus may receive a wake lock request by a wake lock profiler and acquire wake lock information of a wake lock event associated with the wake lock request. The wake lock information may include a wake lock time parameter. The apparatus may send a hint having the wake lock time parameter. The apparatus may receive the hint, determine whether ready jobs can execute during the wake lock event, and send a request for permission to schedule the ready jobs for execution during the wake lock event in response to determining that the ready jobs can execute during the wake lock event.Type: ApplicationFiled: June 18, 2016Publication date: December 21, 2017Inventors: Sriram Nandha Premnath, Sudha Anil Kumar Gathala, Saumitra Mohan Das
-
Publication number: 20170286674Abstract: Embodiments include computing devices, apparatus, and methods implemented by the apparatus for time varying address space layout randomization. The apparatus may launch first plurality of versions of a system service and assign a random virtual address space layout to each of the first plurality of versions of the system service. The apparatus may receive a first request to execute the system service from a first application. The apparatus may randomly select a first version of the system service from the first plurality of versions of the system service, and execute the system service using data of the first version of the system service.Type: ApplicationFiled: March 31, 2016Publication date: October 5, 2017Inventors: Sudha Anil Kumar Gathala, Gheorghe Calin Cascaval, Rajarshi Gupta
-
Publication number: 20170286066Abstract: Various embodiments include methods for dynamically modifying shared libraries on a client computing device. Various embodiment methods may include receiving a first set of code segments and a first set of code sites associated with a first application. Each code in the first set of code sites may include an address within a compiled shared library stored on the client computing device. The compiled shared library may include one or more dummy instructions inserted at each code site in the first set of code sites, and each code segment in the first set of code segments may be associated with a code site in the first set of code sites. The client computing device may insert each code segment in the first set of code segments at its associated code site in the compiled shared library.Type: ApplicationFiled: March 30, 2016Publication date: October 5, 2017Inventors: Sudha Anil Kumar GATHALA, Mihai CHRISTODORESCU, Mastooreh SALAJEGHEH
-
Patent number: 9607146Abstract: Methods, devices and systems for detecting suspicious or performance-degrading mobile device behaviors intelligently, dynamically, and/or adaptively determine computing device behaviors that are to be observed, the number of behaviors that are to be observed, and the level of detail or granularity at which the mobile device behaviors are to be observed. The various aspects efficiently identify suspicious or performance-degrading mobile device behaviors without requiring an excessive amount of processing, memory, or energy resources.Type: GrantFiled: September 18, 2013Date of Patent: March 28, 2017Assignee: QUALCOMM IncorporatedInventors: Vinay Sridhara, Sudha Anil Kumar Gathala, Rajarshi Gupta
-
Publication number: 20170083702Abstract: Various embodiments include methods for detecting software attacks on a process executing on a computing device. Various embodiment methods may include monitoring structural attributes of a plurality of virtual memory regions utilized by the process, and comparing the monitored structural attributes to the expected structural attributes of the plurality of VMRs. Various embodiment methods may further include determining whether the monitored structural attributes represent anomalous behavior of the process based on the comparison between the monitored structural attributes and the expected structural attributes.Type: ApplicationFiled: March 1, 2016Publication date: March 23, 2017Inventors: Sudha Anil Kumar GATHALA, Rajarshi Gupta, Nayeem Islam
-
Patent number: 9448859Abstract: Methods and devices for detecting suspicious or performance-degrading mobile device behaviors may include performing behavior monitoring and analysis operations to intelligently, dynamically, and/or adaptively determine the mobile device behaviors that are to be observed, the number of behaviors that are to be observed, and the level of detail or granularity at which the behaviors are to be observed. Such behavior monitoring and analysis operations may be performed continuously (or near continuously) in a mobile device without consuming an excessive amount of processing, memory, or energy resources of the mobile device by identifying hot application programming interfaces (APIs) and hot action patterns that are invoked or used most frequently by software applications of the mobile device and storing information regarding these hot APIs and hot action patterns separately and more efficiently.Type: GrantFiled: September 17, 2013Date of Patent: September 20, 2016Assignee: QUALCOMM IncorporatedInventors: Sudha Anil Kumar Gathala, Vinay Sridhara, Rajarshi Gupta