Silverfish come out of special stone brick/smooth stone/cobble silverfish blocks. When attacked, silverfish call other nearby silverfish to come out of
their blocks. When no player is within a short distance, silverfish enter normal stone brick/smooth stone/cobble blocks, converting them to silverfish blocks, and effectively destroying - or leading to the destruction of - the new blocks.
Crushing them with gravel/sand, explosions from TNT and creepers and setting them on fire stop them calling other silverfish. Explosions are the only way to destroy a silverfish block without summoning its inhabitant.
Also, they can't be found in mossy or cracked stone blocks, but they can re-enter these blocks, converting them to the appearance of normal stone brick blocks.
Pest control will be... difficult, I fear.
I've done my homework!
