The Verification Pipeline’s Blind Spot
The Silicon Heist study does not describe a cloud provider with no security controls. It describes a layered defense model whose controls inspect different artifacts at different moments. This chapter focuses on the failure between those moments: why a customer design can pass normal checks yet still acquire a configuration-engine capability after deployment. Understanding that timing lets readers distinguish the root cause—a gap in control ownership—from the many consequences that follow from it.
Four fences, four different assumptions
A cloud FPGA provider has to solve two problems at once. It must let a customer use programmable hardware, and it must stop that customer from changing the infrastructure that makes the service safe. The paper organizes Amazon’s defenses into four “fences.” The labels are useful not because every provider implements them identically, but because they show where the service expects control to exist.
The first fence is design verification. Before a customer image reaches the device, the provider examines the submitted design for security and functional violations. The paper gives examples such as combinatorial loops, unrouted connections, and access to restricted elements. This fence treats the customer design as an artifact that can be inspected before it runs. Its success condition is straightforward: a prohibited structure is identified and rejected before it becomes part of the deployed hardware.
The second fence keeps final bitstream generation with the provider. The customer may use a development kit and vendor tools to build a design checkpoint, but the provider-controlled backend creates the image that will actually program the cloud device. This protects the provider from accepting a customer-produced final bitstream whose contents it cannot meaningfully inspect. It also preserves an ownership boundary: the customer describes the work, while the provider controls the final encoding of the hardware state.
The third fence controls programming. The paper says that the provider’s hypervisor is the path allowed to program the FPGA, so the customer does not receive direct access to the final image or to the operation that loads it. This fence is aimed at a familiar cloud threat: a tenant should not be able to replace the infrastructure image merely because they can submit an application to run inside it. The expected sequence is that the hypervisor receives an approved artifact and invokes the provider’s programming machinery on the customer’s behalf.
The fourth fence watches the running device. The paper describes monitoring conditions such as power consumption and temperature, with the ability to gate the customer clock or shut down the FPGA when thresholds are crossed. This is a different kind of control from the first three. It does not ask whether the submitted design is allowed; it asks whether the physical device behaves acceptably while that design operates. Runtime monitoring is important because some harmful behavior appears only under load or depends on how a circuit interacts with the silicon.
Each fence addresses a real failure mode, but each also makes an assumption. Design verification assumes the inspected representation captures the hardware that will run.