Abstract:
A method includes, using a static analysis performed on code, analyzing the code to determine a set of unchanged objects and modifying the code to exercise a singleton-pattern technique for one or more members of the set of unchanged objects. The method also includes outputting the modified code. Apparatus and program products are also disclosed. Another method includes accessing code from a client, and in response to any of the code being source code, compiling the source code into object code until all the code from the client comprises object code. The method further includes, using a static analysis performed on the object code, analyzing the object code to determine a set of unchanged objects and modifying the object code to exercise a singleton-pattern technique for one or more members of the set of unchanged objects. The method additionally includes returning the modified object code to the client.
Abstract:
A system, method and computer program product for identifying security authorizations and privileged-code requirements; for validating analyses performed using static analyses; for automatically evaluating existing security policies; for detecting problems in code; in a run¬ time execution environment in which a software program is executing. The method comprises: implementing reflection objects for identifying program points in the executing program where authorization failures have occurred in response to the program's attempted access of resources requiring authorization; displaying instances of identified program points via a user interface, the identified instances being user selectable; for a selected program point, determining authorization and privileged-code requirements for the access restricted resources in real-time; and, enabling a user to select, via the user interface, whether a required authorization should be granted, wherein local system, fine-grained access of resources requiring authorizations is provided.
Abstract:
Ein Verfahren beinhaltet, unter Verwenden einer statischen Analyse, die an Code ausgeführt wird, Analysieren des Codes zum Ermitteln eines Satzes von nicht geänderten Objekten und Modifizieren des Codes, um eine Singleton-Muster-Technik für ein oder mehrere Mitglieder des Satzes von nicht geänderten Objekten anzuwenden. Das Verfahren enthält auch Ausgeben des modifizierten Codes. Vorrichtungen und Programmprodukte werden ebenfalls offenbart. Ein weiteres Verfahren beinhaltet Zugreifen auf Code von einem Client aus und in Reaktion darauf, dass der gesamte Code Quellcode ist, Kompilieren des Quellcodes in Objektcode, bis der gesamte Code von dem Client Objektcode aufweist. Das Verfahren beinhaltet des Weiteren, unter Verwenden einer statischen Analyse, die an dem Objektcode ausgeführt wird, Analysieren des Objektcodes zum Ermitteln eines Satzes von nicht geänderten Objekten und Modifizieren des Objektcodes, um eine Singleton-Muster-Technik für ein oder mehrere Mitglieder des Satzes von nicht geänderten Objekten anzuwenden. Das Verfahren beinhaltet außerdem Zurückgeben des modifizierten Objektcodes an den Client.
Abstract:
Richtlinien zur Zugriffskontrolle und Integrität von Informationsflüssen werden in einem Computersystem durchgesetzt, indem sicherheitsrelevante Senken im Software-Code für eine Anwendung ermittelt werden, die auf dem Computersystem ausgeführt wird, und eine Richtlinie zur Zugriffskontrolle aus einer Datenbank abgerufen wird, auf die das Computersystem zugreifen kann. Die Richtlinie zur Zugriffskontrolle bildet einen Satz von Zugriffsberechtigungen in dem Computersystem auf jeden einer Vielzahl von Prinzipalen ab. Für jede ermittelte sicherheitsrelevante Senke werden alle Prinzipale ermittelt, die diese sicherheitsrelevante Senke beeinflussen, und jeder sicherheitsrelevanten Senke wird eine umfassende Zugriffsberechtigung zugeordnet, indem die Schnittmenge der Zugriffsberechtigungssätze für alle Einfluss nehmenden Prinzipale dieser sicherheitsrelevanten Senke gebildet wird. Wenn dieser Berechtigungssatz nicht ausreicht, wird eine Verletzung der Integrität gemeldet. Darüber hinaus werden jedem Wert von Variablen, die in den sicherheitsrelevanten Senken verwendet werden, Berechtigungslabels zugeordnet. Jedes Berechtigungslabel ist ein Berechtigungssatz.
Abstract:
Access-control and information-flow integrity policies are enforced in a computing system by detecting security-sensitive sinks in software code for an application running on the computing system and retrieving an access-control policy from a database accessible to the computing system. The access-control policy maps a set of access permissions within the computing system to each one of a plurality of principals. For each detected security-sensitive sink, all principals that influence that security-sensitive sink are detected and an overall access permission is assigned to each security-sensitive sink by taking the intersection of the access permission sets for all influencing principals of that security-sensitive sink. If this permission set is inadequate, an integrity violation is reported. In addition, permission labels are assigned to each value of variables used in the security-sensitive sinks. Each permission label is a set of permissions.