BSDのsumチェックサムを任意の値に衝突させるツールを作った
Colliding the Sum Checksum (2019)
BSDやGNU Coreutilsに含まれるsumコマンドは暗号学的に安全でない16ビットのチェックサムを出力する。筆者はこのアルゴリズムの可逆性を利用し、ファイルのsumを任意の値に設定するツールを開発。中間一致攻撃により、誕生日のパラドックスで2^16の探索空間を瞬時に突破。課題の改ざん検知などに使われるsumの脆弱性を実証した。
16ビットの出力は単純に十分な大きさではなく、ブルートフォースで衝突を見つけることができる。2^16 + 1個のファイルを合計すれば、衝突が見つかることが保証される。