Network


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

Hotspot


Dive into the research topics where Jason Oberg is active.

Publication


Featured researches published by Jason Oberg.


field programmable gate arrays | 2009

Fpga-based face detection system using Haar classifiers

Jung Uk Cho; Shahnam Mirzaei; Jason Oberg; Ryan Kastner

This paper presents a hardware architecture for face detection based system on AdaBoost algorithm using Haar features. We describe the hardware design techniques including image scaling, integral image generation, pipelined processing as well as classifier, and parallel processing multiple classifiers to accelerate the processing speed of the face detection system. Also we discuss the optimization of the proposed architecture which can be scalable for configurable devices with variable resources. The proposed architecture for face detection has been designed using Verilog HDL and implemented in Xilinx Virtex-5 FPGA. Its performance has been measured and compared with an equivalent software implementation. We show about 35 times increase of system performance over the equivalent software implementation.


field-programmable custom computing machines | 2010

Accelerating Viola-Jones Face Detection to FPGA-Level Using GPUs

Daniel Hefenbrock; Jason Oberg; Nhat Tan Nguyen Thanh; Ryan Kastner; Scott B. Baden

Face detection is an important aspect for biometrics, video surveillance and human computer interaction. We present a multi-GPU implementation of the Viola-Jones face detection algorithm that meets the performance of the fastest known FPGA implementation. The GPU design offers far lower development costs, but the FPGA implementation consumes less power. We discuss the performance programming required to realize our design, and describe future research directions.


international symposium on computer architecture | 2011

Crafting a usable microkernel, processor, and I/O system with strict and provable information flow security

Mohit Tiwari; Jason Oberg; Xun Li; Jonathan Valamehr; Timothy E. Levin; Ben Hardekopf; Ryan Kastner; Frederic T. Chong; Timothy Sherwood

High assurance systems used in avionics, medical implants, and cryptographic devices often rely on a small trusted base of hardware and software to manage the rest of the system. Crafting the core of such a system in a way that achieves flexibility, security, and performance requires a careful balancing act. Simple static primitives with hard partitions of space and time are easier to analyze formally, but strict approaches to the problem at the hardware level have been extremely restrictive, failing to allow even the simplest of dynamic behaviors to be expressed. Our approach to this problem is to construct a minimal but configurable architectural skeleton. This skeleton couples a critical slice of the low level hardware implementation with a microkernel in a way that allows information flow properties of the entire construction to be statically verified all the way down to its gate-level implementation. This strict structure is then made usable by a runtime system that delivers more traditional services (e.g. communication interfaces and long-living contexts) in a way that is decoupled from the information flow properties of the skeleton. To test the viability of this approach we design, test, and statically verify the information-flow security of a hardware/software system complete with support for unbounded operation, inter-process communication, pipelined operation, and I/O with traditional devices. The resulting system is provably sound even when adversaries are allowed to execute arbitrary code on the machine, yet is flexible enough to allow caching, pipelining, and other common case optimizations.


international symposium on computer architecture | 2013

SurfNoC: a low latency and provably non-interfering approach to secure networks-on-chip

Hassan M. G. Wassel; Ying Gao; Jason Oberg; Ted Huffmire; Ryan Kastner; Frederic T. Chong; Timothy Sherwood

As multicore processors find increasing adoption in domains such as aerospace and medical devices where failures have the potential to be catastrophic, strong performance isolation and security become first-class design constraints. When cores are used to run separate pieces of the system, strong time and space partitioning can help provide such guarantees. However, as the number of partitions or the asymmetry in partition bandwidth allocations grows, the additional latency incurred by time multiplexing the network can significantly impact performance. In this paper, we introduce SurfNoC, an on-chip network that significantly reduces the latency incurred by temporal partitioning. By carefully scheduling the network into waves that flow across the interconnect, data from different domains carried by these waves are strictly non-interfering while avoiding the significant overheads associated with cycle-by-cycle time multiplexing. We describe the scheduling policy and router microarchitecture changes required, and evaluate the information-flow security of a synthesizable implementation through gate-level information flow analysis. When comparing our approach for varying numbers of domains and network sizes, we find that in many cases SurfNoC can reduce the latency overhead of implementing cycle-level non-interference by up to 85%.


programming language design and implementation | 2011

Caisson: a hardware description language for secure information flow

Xun Li; Mohit Tiwari; Jason Oberg; Vineeth Kashyap; Frederic T. Chong; Timothy Sherwood; Ben Hardekopf

Information flow is an important security property that must be incorporated from the ground up, including at hardware design time, to provide a formal basis for a systems root of trust. We incorporate insights and techniques from designing information-flow secure programming languages to provide a new perspective on designing secure hardware. We describe a new hardware description language, Caisson, that combines domain-specific abstractions common to hardware design with insights from type-based techniques used in secure programming languages. The proper combination of these elements allows for an expressive, provably-secure HDL that operates at a familiar level of abstraction to the target audience of the language, hardware architects. We have implemented a compiler for Caisson that translates designs into Verilog and then synthesizes the designs using existing tools. As an example of Caissons usefulness we have addressed an open problem in secure hardware by creating the first-ever provably information-flow secure processor with micro-architectural features including pipelining and cache. We synthesize the secure processor and empirically compare it in terms of chip area, power consumption, and clock frequency with both a standard (insecure) commercial processor and also a processor augmented at the gate level to dynamically track information flow. Our processor is competitive with the insecure processor and significantly better than dynamic tracking.


design automation conference | 2011

Information flow isolation in I2C and USB

Jason Oberg; Wei Hu; Ali Irturk; Mohit Tiwari; Timothy Sherwood; Ryan Kastner

Flight control, banking, medical, and other high assurance systems have a strict requirement on correct operation. Fundamental to this is the enforcement of non-interference where particular subsystems should not affect one another. In an effort to help guarantee this policy, recent work has emerged with tracking information flows at the hardware level. This article uses a specific method known as gate-level information flow tracking (GLIFT) to provide a methodology for testing information flows in two common bus protocols, I2C and USB. We show that the protocols do elicit unintended information flows and provide a solution based on time division multiple access (TDMA) that provably isolates devices on the bus from these flows. This paper also discusses the overheads in area and simulation time incurred by this TDMA based solution.


field programmable logic and applications | 2012

Random decision tree body part recognition using FPGAs

Jason Oberg; Ken Eguro; Ray A. Bittner; Alessandro Forin

Random decision tree classification is used in a variety of applications, from speech recognition to Web search engines. Decision trees are used in the Microsoft Kinect vision pipeline to recognize human body parts and gestures for a more natural computer-user interface. Tree-based classification can be taxing, both in terms of computational load and memory bandwidth. This makes highly-optimized hardware implementations attractive, particularly given the strict power and form factor limitations of embedded or mobile platforms. In this paper we present a complete architecture that interfaces the Kinect depth-image sensor to an FPGA-based implementation of the Forest Fire pixel classification algorithm. Key performance parameters, algorithmic improvements and design trade-off are discussed.


design automation conference | 2010

Theoretical analysis of gate level information flow tracking

Jason Oberg; Wei Hu; Ali Irturk; Mohit Tiwari; Timothy Sherwood; Ryan Kastner

Understanding the flow of information is an important aspect in computer security. There has been a recent move towards tracking information in hardware and understanding the flow of individual bits through Boolean functions. Such gate level information flow tracking (GLIFT) provides a precise understanding of all flows of information. This paper presents a theoretical analysis of GLIFT. It formalizes the problem, provides fundamental definitions and properties, introduces precise symbolic representations of the GLIFT logic for basic Boolean functions, and gives analytic and quantitative analysis of the GLIFT logic.


IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems | 2011

Theoretical Fundamentals of Gate Level Information Flow Tracking

Wei Hu; Jason Oberg; Ali Irturk; Mohit Tiwari; Timothy Sherwood; Dejun Mu; Ryan Kastner

Information flow tracking is an effective tool in computer security for detecting unintended information flows. However, software based information flow tracking implementations have drawbacks in preciseness and performance. As a result, researchers have begun to explore tracking information flow in hardware, and more specifically, understanding the interference of individual bits of information through logical functions. Such gate level information flow tracking (GLIFT) can track information flow in a system at the granularity of individual bits. However, the theoretical basis for GLIFT, which is essential to its adoption in real applications, has never been thoroughly studied. This paper provides fundamental analysis of GLIFT by introducing definitions, properties, and the imprecision problem with a commonly used shadow logic generation method. This paper also presents a solution to this imprecision problem and provides results that show this impreciseness can be tolerated for the benefit of lower area and delay.


IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems | 2014

Leveraging gate-level properties to identify hardware timing channels

Jason Oberg; Sarah Meiklejohn; Timothy Sherwood; Ryan Kastner

Modern embedded computing systems such as medical devices, airplanes, and automobiles continue to dominate some of the most critical aspects of our lives. In such systems, the movement of information throughout a device must be tightly controlled to prevent violations of privacy or integrity. Unfortunately, bounding the flow of information can often present a significant challenge, as information can flow through channels that are difficult to detect, such as timing channels. As has been demonstrated by recent research in hardware security, information flow tracking techniques deployed at the hardware or gate level show promise at identifying these “timing flows” but provide no formal statements about this claim NOR mechanisms for separating out timing information from other types of flows. In this paper, we first prove that gate-level information flow tracking can in fact detect timing flows. In addition, we work to identify these timing flows separately from other flows by presenting a framework for identifying a different type of flow that we call functional flows. By using this framework to either confirm or rule out the existence of such flows, we leverage the previous work in hardware information flow tracking to effectively isolate timing flows. To show the effectiveness of this model, we demonstrate its usage on three practical examples: a shared bus (I2C), a cache in a MIPS-based processor, and an RSA encryption core, all of which were written in Verilog/VHDL and then simulated in a variety of scenarios. In each scenario, we demonstrate how our framework can be used to identify timing and functional flows and also analyze our models overhead.

Collaboration


Dive into the Jason Oberg's collaboration.

Top Co-Authors

Avatar

Ryan Kastner

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Mohit Tiwari

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Wei Hu

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ali Irturk

University of California

View shared research outputs
Top Co-Authors

Avatar

Dejun Mu

Northwestern Polytechnical University

View shared research outputs
Top Co-Authors

Avatar

Ben Hardekopf

University of California

View shared research outputs
Top Co-Authors

Avatar

Xun Li

University of California

View shared research outputs
Top Co-Authors

Avatar

Janarbek Matai

University of California

View shared research outputs
Researchain Logo
Decentralizing Knowledge