Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Bernhard J. Berger is active.

Publication


Featured researches published by Bernhard J. Berger.


international conference on engineering secure software and systems | 2010

Idea: towards architecture-centric security analysis of software

Karsten Sohr; Bernhard J. Berger

Static security analysis of software has made great progress over the last years. In particular, this applies to the detection of low-level security bugs such as buffer overflows, Cross-Site Scripting and SQL injection vulnerabilities. Complementarily to commercial static code review tools, we present an approach to the static security analysis which is based upon the software architecture using a reverse engineering tool suite called Bauhaus. This allows one to analyze software on a more abstract level, and a more focused analysis is possible, concentrating on software modules regarded as security-critical. In addition, certain security flaws can be detected at the architectural level such as the circumvention of APIs or incomplete enforcement of access control. We discuss our approach in the context of a business application and Androids Java-based middleware.


working conference on reverse engineering | 2011

An Android Security Case Study with Bauhaus

Bernhard J. Berger; Michaela Bunke; Karsten Sohr

Software security has made great progress, code analysis tools are widely-used in industry for detecting common implementation-level security bugs. However, given the fact that we must deal with legacy code we plead to employ the techniques long been developed in the research area of program comprehension for software security. In cooperation with a security expert, we carried out a case study with the mobile phone platform Android, and employed the reverse engineering tool-suite Bauhaus for this security assessment. During the investigation we found some inconsistencies in the implementation of the Android security concepts. Based on the lessons learned from the case study, we propose several research topics in the area of reverse engineering that would support a security analyst during security assessments.


conference on software maintenance and reengineering | 2013

Extracting and Analyzing the Implemented Security Architecture of Business Applications

Bernhard J. Berger; Karsten Sohr; Rainer Koschke

Security is getting more and more important for the software development process as the advent of more complex, connected and extensible software entails new risks. In particular, multi-tier business applications, e.g., based on the Service-Oriented Architecture (SOA), are vulnerable to new attacks, which may endanger the business processes of an organization. These applications consist often of legacy code, which is now exported via Web Services, although it has originally been developed for internal use only. The last years showed great progress in the area of static code analysis for the detection of common low level security bugs, such as buffer overflows and cross-site scripting vulnerabilities. However, there is still a lack of tools that allow an analyst to assess the implemented security architecture of an application. In this paper, we propose a technique that automatically extracts the implemented security architecture of Java-based business applications from the source code. In addition, we carry out threat modeling on this extracted architecture to detect security flaws. We evaluate and discuss our approach with the help of two commercial real-world case studies, one taken from the e-government domain and the other one from logistics.


engineering secure software and systems | 2016

Automatically Extracting Threats from Extended Data Flow Diagrams

Bernhard J. Berger; Karsten Sohr; Rainer Koschke

Architectural risk analysis is an important aspect of developing software that is free of security flaws. Knowledge on architectural flaws, however, is sparse, in particular in small or medium-sized enterprises. In this paper, we propose a practical approach to architectural risk analysis that leverages Microsofts threat modeling. Our technique decouples the creation of a systems architecture from the process of detecting and collecting architectural flaws. This way, our approach allows an software architect to automatically detect vulnerabilities in software architectures by using a security knowledge base. We evaluated our approach with real-world case studies, focusing on logistics applications. The evaluation uncovered several flaws with a major impact on the security of the software.


availability, reliability and security | 2013

The Transitivity-of-Trust Problem in Android Application Interaction

Steffen Bartsch; Bernhard J. Berger; Michaela Bunke; Karsten Sohr

Mobile phones have developed into complex platforms with large numbers of installed applications and a wide range of sensitive data. Application security policies limit the permissions of each installed application. As applications may interact, restricting single applications may create a false sense of security for end users, while data may still leave the mobile phone through other applications. Instead, the information flow needs to be policed for the composite system of applications in a transparent manner. In this paper, we propose to employ static analysis, based on the software architecture and focused on data-flow analysis, to detect information flows between components. Specifically, we aim to reveal transitivity-of-trust problems in multi-component mobile platforms. We demonstrate the feasibility of our approach with two Android applications.Mobile phones have developed into complex platforms with large numbers of installed applications and a wide range of sensitive data. Application security policies limit the permissions of each installed application. As applications may interact, restricting single applications may create a false sense of security for the end users while data may still leave the mobile phone through other applications. Instead, the information flow needs to be policed for the composite system of applications in a transparent and usable manner. In this paper, we propose to employ static analysis based on the software architecture and focused data flow analysis to scalably detect information flows between components. Specifically, we aim to reveal transitivity of trust problems in multi-component mobile platforms. We demonstrate the feasibility of our approach with Android applications, although the generalization of the analysis to similar composition-based architectures, such as Service-oriented Architecture, can also be explored in the future.


ieee international conference on software analysis evolution and reengineering | 2015

Taint analysis of manual service compositions using Cross-Application Call Graphs

Marc-André Laverdière; Bernhard J. Berger; Ettore Merloz

We propose an extension over the traditional call graph to incorporate edges representing control flow between web services, named the Cross-Application Call Graph (CACG). We introduce a construction algorithm for applications built on the Jax-WS standard and validate its effectiveness on sample applications from Apache CXF and JBossWS. Then, we demonstrate its applicability for taint analysis over a sample application of our making. Our CACG construction algorithm accurately identifies service call targets 81.07% of the time on average. Our taint analysis obtains a F-Measure of 95.60% over a benchmark. The use of a CACG, compared to a naive approach, improves the F-Measure of a taint analysis from 66.67% to 100.00% for our sample application.


information security conference | 2012

An Approach to Detecting Inter-Session Data Flow Induced by Object Pooling

Bernhard J. Berger; Karsten Sohr

Security tools, using static code analysis, are employed to find common bug classes, such as SQL injections and cross-site scripting vulnerabilities. This paper focuses on another bug class that is related to the object-pool pattern, which allows objects to be reused over multiple sessions. We show that the pattern is applied in a wide range of Java Enterprise frameworks and describe the problem of inter-session data flows, which comes along with the pattern. To demonstrate that the problem is relevant, we analyzed different open-source and a proprietary commercial software, with the help of a detection approach we introduce. We were able to show that the problem class occurred in these applications and posed a threat to the confidentiality of the closed-source software.


arXiv: Cryptography and Security | 2012

The Transitivity of Trust Problem in the Interaction of Android Applications

Steffen Bartsch; Karsten Sohr; Michaela Bunke; Oliver Hofrichter; Bernhard J. Berger


https://www.brucker.ch/bibliography/download/2014/sohr.ea-zertapps-2014.pdf | 2014

Zertifizierte Datensicherheit für mobile Anwendungen

Karsten Sohr; Steffen Bartsch; Melanie Volkamer; Bernhard J. Berger; Eric Bodden; Achim D. Brucker; Sönke Maseberg; Mehmet Kus; Jens Heider


Sicherheit | 2014

Zertifizierte Datensicherheit für Android-Anwendungen auf Basis statischer Programmanalysen

Steffen Bartsch; Bernhard J. Berger; Eric Bodden; Achim D. Brucker; Jens Heider; Mehmet Kus; Sönke Maseberg; Karsten Sohr; Melanie Volkamer

Collaboration


Dive into the Bernhard J. Berger's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Eric Bodden

University of Paderborn

View shared research outputs
Top Co-Authors

Avatar

Melanie Volkamer

Technische Universität Darmstadt

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ettore Merloz

École Polytechnique de Montréal

View shared research outputs
Researchain Logo
Decentralizing Knowledge