Trail of Bits Blog
Trail of Bits explains that on-chain randomness drawn from block hashes, difficulty, or timestamps is manipulable by miners, and that verifiable delay functions (VDFs), defined by Boneh et al., impose a sequential computation delay so all inputs are...
Trail of Bits Blog
Trail of Bits open-sourced Slither, described as the first open-source static analysis framework for Solidity, which it says can find real vulnerabilities in a few seconds without user intervention. The core engine includes an intermediate representation...
Trail of Bits Blog
Trail of Bits explains that Shor's algorithm, developed by Peter Shor in 1994, runs integer factorization in polynomial time and would break RSA and all discrete log-based public key cryptography, including elliptic curves, if a quantum computer were...
Trail of Bits Blog
This is a Trail of Bits blog index page listing posts by Sophia D'Antoine, including a 2018 piece on automatically identifying weird machines in software, a 2015 writeup of FireEye's Flare-On reversing challenges, and a 2015 REcon talk on a hardware side...
Malware
Trail of Bits Blog
Trail of Bits describes "weird machines" as partially Turing-complete code snippets that arise from loose contracts, where a program undergoes more state changes than intended, and cites the ListItem::TrySetItem function as an example where an attacker who...
Trail of Bits Blog
Trail of Bits describes a two-step smart contract migration procedure: read data from a block before the incident, then write it to a newly deployed contract, with the Bancor and KICKICO hacks cited as cases where stolen private keys left deployed...
Trail of Bits Blog
Trail of Bits announced a new cryptographic services practice, led by principal engineer Paul Kehrer, a founding member of the Python Cryptographic Authority, alongside security engineers JP Smith and Ben Perez. The firm says it will publish tools, safe...
Trail of Bits Blog
Trail of Bits participated in Devcon IV through talks, a panel, and two trainings, including a workshop where Josselin Feist led 120 attendees through exercises using Manticore, its open-source symbolic execution engine, to verify smart contracts against...
Trail of Bits Blog
Trail of Bits is holding its second Empire Hacking event on December 12 at BuzzFeed's NYC offices, a half-day blockchain and smart contract security mini-conference with 10 speakers and a $2.00 entry fee for registered guests only. Talks cover Solidity's...
Trail of Bits Blog
The Web3 Foundation commissioned Trail of Bits to review cryptocurrency storage risks, and the firm published ten rules for secure hardware wallet use. The rules cover buying directly from manufacturers, initializing devices from a clean slate, testing...
Trail of Bits Blog
Trail of Bits contributed a CSAW CTF cryptography challenge in which a DSA signing server generated its nonce k with Python's Mersenne Twister via random.randrange, and a /forgotpass endpoint leaked 64-bit chunks of that same RNG state. Observing 624...
Trail of Bits Blog
Trail of Bits is accepting applications until January 15th for its SummerCon Fellowship, which funds emerging security researchers to pursue a project with mentorship and present findings at SummerCon 2019, with at least 50% of funding reserved for...
Trail of Bits Blog
Trail of Bits reran Barton P. Miller's original fuzzing tools and 1995 random inputs against modern Ubuntu Linux utilities and still found crashes and hangs, including a segmentation fault in f2c triggered via the f77 wrapper and a deadlock in spell when a...
Trail of Bits Blog
Trail of Bits contributed two cryptography challenges to CSAW CTF, including "Holywater," which implemented the HK17 post-quantum key exchange built on octonions and was solved by nine teams during the qualifiers. The finals portion, "Holywater 2: La...
Trail of Bits Blog
A Trail of Bits review of the chapter 'Fixing a Hole: The Labor Market for Bugs' reports that bug bounty payouts follow a Pareto distribution, with a small group of prolific researchers earning most of the money. In data from 61 HackerOne programs over 23...
Vulnerabilities & Patching
Trail of Bits Blog
Trail of Bits open-sourced KRF, a fault injection tool that intercepts system calls from inside the Linux kernel via a plain kernel module, rewriting the syscall table rather than relying on the dynamic loader. The post walks through retrieving...
Trail of Bits Blog
On December 12, over 150 attendees joined a half-day Empire Hacking event hosted at BuzzFeed's office to learn about pitfalls in smart contract security and how to avoid them. Speakers from Coinbase, PegaSys, Cornell Tech and The Zcash Foundation,...
Trail of Bits Blog
Trail of Bits published a January 21, 2019 post by Akshay Kumar describing how McSema, its binary lifter, handles C++ exceptions. The post notes that the non-local control-flow throw and catch operations in C++ source do not map neatly to straightforward...
Trail of Bits Blog
Trail of Bits researchers describe how McSema, their binary lifter, recovers C++ exception-based control flow by parsing the exception table stored in the .eh_frame and .eh_framehdr sections, including the language-specific data area with its call site and...
Trail of Bits Blog
Trail of Bits describes converting a handwritten red-black tree fuzzer into a DeepState test harness with minimal coding effort, gaining replay of regression tests, test-case reduction, and multiple data-generation back-ends including Manticore, angr,...
Trail of Bits Blog
Trail of Bits describes using the universalmutator tool to generate 2,602 mutants of a red-black tree, of which 1,120 compile, then measuring how many each fuzzer kills within a 60-second budget. The DeepState brute-force fuzzer killed 797 mutants...
Trail of Bits Blog
Trail of Bits hosted four winterns in its month-long 2019 winter internship program, who contributed to three projects. The first post in the series covers Vaibhav Sharma, a PhD student, and his work on symbolic path merging in Manticore, the firm's...
Trail of Bits Blog
A Trail of Bits wintern implemented opportunistic state merging in Manticore, a symbolic execution engine for X86, X64, and Ethereum binaries, merging states at the same program location when an isMergeable predicate finds equivalent input, output socket...
Trail of Bits Blog
TLS 1.3's 0-RTT (early data) feature lets a client encrypt data under a pre-shared key from a prior handshake and send it with the ClientHello, cutting a full round trip but making the request replayable and not forward secure. Trail of Bits shows that...
Trail of Bits Blog
Trail of Bits reproduced the 2000 NT Fuzz Report by Forrester and Miller, running the original fuzzer against 28 applications on 64-bit Windows 10 Pro version 1809 and finding that 93% still crash or freeze on malformed window messages, versus 100% of 33...
Trail of Bits Blog
A Trail of Bits intern built Sandshrew, a prototype concolic unit testing tool that uses Manticore and Unicorn to check equivalence between an unverified C cryptographic implementation and a benchmark verified one. Sandshrew concretizes calls to wrapped...
Trail of Bits Blog
Trail of Bits released Sienna Locomotive, an open-source fuzzer for Windows built for usability rather than speed or coverage gains. It configures a target with just an executable path and command line string, scans a running program for input-taking...
Supply Chain & AppSec
Trail of Bits Blog
Trail of Bits announced osql, a community-oriented fork of osquery, after Facebook spent months refactoring the codebase away from CMake and toward internal tooling, which dropped support for some architectures, operating systems, and developer tools and...
Trail of Bits Blog
Trail of Bits published a WETSEB/ICSE paper on Slither, its static analysis framework for smart contracts, reporting that its bug detection outperforms other tools in speed, robustness, and balance of detection and false positives. The evaluation compared...
Trail of Bits Blog
Trail of Bits announced new training offerings for automated reverse engineering with Vector35's Binary Ninja, citing praise from Binary Ninja co-founder Jordan Wiens, who called the instructor the tool's most knowledgeable user. The announcement describes...