Search

Cliff Biffle Phones & Addresses

  • 1208 Ordway St, Albany, CA 94706 (650) 862-5330
  • Berkeley, CA
  • Redwood City, CA
  • 5831 Dynamite Blvd, Cave Creek, AZ 85331 (480) 585-4099
  • Sunnyvale, CA
  • Mountain View, CA
  • Tempe, AZ
  • 5831 E Dynamite Blvd, Cave Creek, AZ 85331

Emails

Resumes

Resumes

Cliff Biffle Photo 1

Electron Acceptor

View page
Location:
1208 Ordway St, Berkeley, CA 94706
Industry:
Computer Software
Work:
Google, Inc. since Jan 2006
Staff Engineer

Choice Hotels International Mar 2004 - Dec 2005
Programmer/Analyst II

Global Internet Solutions, Inc. Mar 2003 - Dec 2003
Senior Developer

Extrasensory Applications, Inc. Mar 2002 - Mar 2003
Founding Partner, Senior Developer

AZSites LLC Aug 2001 - Mar 2002
Senior Developer, Systems Administrator
Education:
Arizona State University 1998 - 2003
BS, Psychology
Skills:
Software Engineering
Java
Thinking Outside the Box
Experimental Design
C++
Performance Tuning
Firmware Bringup
Functional Programming
Using Science As A Verb
Embedded Systems
Debugging
Acquiring New Skills and Expertise
Rust
Fault Isolation
Testing
Distributed Systems
Linux
Haskell
Team Building
Mentoring
Android
Python
People Management
Interests:
Coffee
Robotics
Machine Learning
Human Interface Design
Photography
Programming Languages
Compilers
Really Big Systems
Really Small Systems
Running Out of Space In This Little Box
Languages:
English
Esperanto
Cliff Biffle Photo 2

Cliff Biffle

View page

Publications

Us Patents

Dynamic Code Insertion For Static Analysis Based Sandboxes

View page
US Patent:
8621619, Dec 31, 2013
Filed:
Nov 30, 2010
Appl. No.:
12/956860
Inventors:
Bennet S. Yee - Mountain View CA, US
David C. Sehr - Cupertino CA, US
Cliff L. Biffle - Berkeley CA, US
Assignee:
Google Inc. - Mountain View CA
International Classification:
G06F 21/00
US Classification:
726 22, 726 26, 713188
Abstract:
Methods and apparatus for dynamically adding and deleting new code to previously validated application executing in a secured runtime. New code is written to a portion of secured memory not executable by application. New code is validated to ensure it cannot directly call operating system, address memory outside of secured memory, or modify secured memory state. Indirect branch instructions may only target addresses aligned on fixed size boundaries within the secured memory. Validated code is copied to portion of secured memory executable by application in two stage process that ensures partially copied segments cannot be executed. Validated new code can be deleted once all threads reach safe execution point, provided code was previously inserted as unit or contains no internal targets that can be called by code not also being deleted.

Dynamic Code Insertion And Removal For Static Analysis Based Sandboxes

View page
US Patent:
20110138474, Jun 9, 2011
Filed:
Dec 27, 2010
Appl. No.:
12/979122
Inventors:
Bennet S. Yee - Mountain View CA, US
David C. Sehr - Cupertino CA, US
Cliff L. Biffle - Berkeley CA, US
Assignee:
GOOGLE INC. - Mountain View CA
International Classification:
G06F 21/22
G06F 12/16
US Classification:
726 26
Abstract:
Methods and apparatus for dynamically adding and deleting new code to previously validated application executing in a secured runtime. New code is written to a portion of secured memory not executable by application. New code is validated to ensure it cannot directly call operating system, address memory outside of secured memory, or modify secured memory state. Indirect branch instructions may only target addresses aligned on fixed size boundaries within the secured memory. Validated code is copied to portion of secured memory executable by application in two stage process that ensures partially copied segments cannot be executed. Validated new code can be deleted once all threads reach safe execution point, provided code was previously inserted as unit or contains no internal targets that can be called by code not also being deleted.

Dynamic Code Insertion And Removal For Static Analysis Based Sandboxes

View page
US Patent:
20130333031, Dec 12, 2013
Filed:
Aug 15, 2013
Appl. No.:
13/967626
Inventors:
David C. Sehr - Cupertino CA, US
Cliff L. Biffle - Mountain View CA, US
Assignee:
Google Inc. - Mountain View CA
International Classification:
G06F 21/53
US Classification:
726 22
Abstract:
Methods and apparatus for dynamically adding and deleting new code to previously validated application executing in a secured runtime. New code is written to a portion of secured memory not executable by application. New code is validated to ensure it cannot directly call operating system, address memory outside of secured memory, or modify secured memory state. Indirect branch instructions may only target addresses aligned on fixed size boundaries within the secured memory. Validated code is copied to portion of secured memory executable by application in two stage process that ensures partially copied segments cannot be executed. Validated new code can be deleted once all threads reach safe execution point, provided code was previously inserted as unit or contains no internal targets that can be called by code not also being deleted.

Native Code Module Security For Arm Instruction Set Architectures

View page
US Patent:
20140013430, Jan 9, 2014
Filed:
Sep 10, 2013
Appl. No.:
14/022882
Inventors:
Karl Schmipf - Santa Cruz CA, US
David C. Sehr - Cupertino CA, US
Cliff L. Biffle - Berkeley CA, US
Assignee:
Google Inc. - Mountain View CA
International Classification:
G06F 21/53
US Classification:
726 22
Abstract:
Some embodiments provide a system that executes a native code module. During operation, the system obtains the native code module. Next, the system loads the native code module into a secure runtime environment. Finally, the system safely executes the native code module in the secure runtime environment by using a set of software fault isolation (SFI) mechanisms that constrain store instructions in the native code module. The SFI mechanisms also maintain control flow integrity for the native code module by dividing a code region associated with the native code module into equally sized code blocks and data blocks and starting each of the data blocks with an illegal instruction.

Balloon-Based Positioning System And Method

View page
US Patent:
20160154085, Jun 2, 2016
Filed:
Feb 9, 2016
Appl. No.:
15/019772
Inventors:
- Mountain View CA, US
Waleed KADOUS - Santa Clara CA, US
Eric Teller - Palo Alto CA, US
Cliff Biffle - Berkeley CA, US
Edward Allen Keyes - Mountain View CA, US
International Classification:
G01S 5/04
G01S 19/24
G01S 5/02
G01S 19/03
G01S 1/04
Abstract:
Disclosed herein are embodiments of a balloon-based positioning system and method. In one example embodiment, a system includes at least three balloons, with each balloon including a position-determining module (PDM) and a position-broadcasting module (PBM). Each PDM is configured for determining a position of the respective balloon and each PBM is configured for broadcasting a balloon signal containing balloon-positioning data of the respective balloon. The balloon-positioning data includes the determined position of the respective balloon and a corresponding time of broadcast.

Hands-Free Selection Using A Ring-Based User-Interface

View page
US Patent:
20160011724, Jan 14, 2016
Filed:
Mar 2, 2012
Appl. No.:
13/411070
Inventors:
Aaron Joseph Wheeler - San Francisco CA, US
Sergey Brin - Palo Alto CA, US
Thad Eugene Starner - Mountian View CA, US
Alejandro Kauffmann - San Francisco CA, US
Cliff L. Biffle - Berkeley CA, US
Liang-Yu (Tom) Chi - San Francisco CA, US
Steve Lee - San Francisco CA, US
Sebastian Thrun - Los Altos CA, US
Luis Ricardo Prada Gomez - Hayward CA, US
Assignee:
Google Inc. - Mountain View CA
International Classification:
G06F 3/0482
G06F 3/0481
G06F 3/01
G06F 3/0484
G06F 3/048
G02B 27/01
Abstract:
Methods and devices for providing a user-interface are disclosed. In one embodiment, the method comprises receiving data corresponding to a first position of a wearable computing device and responsively causing the wearable computing device to provide a user-interface. The user-interfaces comprises a view region and a menu, where the view region substantially fills a field of view of the wearable computing device and the menu is not fully visible in the view region. The method further comprises receiving data indicating a selection of an item present in the view region and causing an indicator to be displayed in the view region, wherein the indicator changes incrementally over a length of time. When the length of time has passed, the method comprises responsively causing the wearable computing device to select the item.

Address Pinning

View page
US Patent:
20150195106, Jul 9, 2015
Filed:
Dec 12, 2012
Appl. No.:
13/712675
Inventors:
- Mountain View CA, US
Cliff L. Biffle - Berkeley CA, US
Bennet S. Yee - Mountain View CA, US
International Classification:
H04L 12/58
Abstract:
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for memory address pinning. One of the methods includes loading a software module into a sandbox environment; receiving, a message from the software module to a recipient, the message includes a memory address; determining whether to pin the memory address; and passing the message to an address pinning unit which replaces at least a portion of the memory address with at least a portion of a specified replacement address, when it is determined to pin the memory address, and passes the modified message to be delivered to the recipient.

Native Code Module Security For Arm Instruction Set Architectures

View page
US Patent:
20150026803, Jan 22, 2015
Filed:
Aug 21, 2014
Appl. No.:
14/465407
Inventors:
- Mountain View CA, US
Karl M. Schimpf - Santa Cruz CA, US
David C. Sehr - Cupertino CA, US
Cliff L. Biffle - Berkeley CA, US
International Classification:
G06F 21/53
G06F 9/30
G06F 21/52
US Classification:
726 22
Abstract:
Some embodiments provide a system that executes a native code module. During operation, the system obtains the native code module. Next, the system loads the native code module into a secure runtime environment. Finally, the system safely executes the native code module in the secure runtime environment by using a set of software fault isolation (SFI) mechanisms that constrain store instructions in the native code module. The SFI mechanisms also maintain control flow integrity for the native code module by dividing a code region associated with the native code module into equally sized code blocks and data blocks and starting each of the data blocks with an illegal instruction.
Cliff L Biffle from Berkeley, CA, age ~43 Get Report