  After a plethora of high-profile RowHammer attacks, CPU and DRAM vendors
scrambled to deliver what was meant to be the definitive hardware solution
against the RowHammer problem: Target Row Refresh (TRR). A common belief among
practitioners is that, for the latest generation of DDR4 systems that are
protected by TRR, RowHammer is no longer an issue in practice. However, in
reality, very little is known about TRR. In this paper, we demystify the inner
workings of TRR and debunk its security guarantees. We show that what is
advertised as a single mitigation mechanism is actually a series of different
solutions coalesced under the umbrella term TRR. We inspect and disclose, via a
deep analysis, different existing TRR solutions and demonstrate that modern
implementations operate entirely inside DRAM chips. Despite the difficulties of
analyzing in-DRAM mitigations, we describe novel techniques for gaining
insights into the operation of these mitigation mechanisms. These insights
allow us to build TRRespass, a scalable black-box RowHammer fuzzer. TRRespass
shows that even the latest generation DDR4 chips with in-DRAM TRR, immune to
all known RowHammer attacks, are often still vulnerable to new TRR-aware
variants of RowHammer that we develop. In particular, TRRespass finds that, on
modern DDR4 modules, RowHammer is still possible when many aggressor rows are
used (as many as 19 in some cases), with a method we generally refer to as
Many-sided RowHammer. Overall, our analysis shows that 13 out of the 42 modules
from all three major DRAM vendors are vulnerable to our TRR-aware RowHammer
access patterns, and thus one can still mount existing state-of-the-art
RowHammer attacks. In addition to DDR4, we also experiment with LPDDR4 chips
and show that they are susceptible to RowHammer bit flips too. Our results
provide concrete evidence that the pursuit of better RowHammer mitigations must
continue.
