This is almost always caused by a lack of flexibility in the calves, soleus, and achilles tendon. Tightness in these muscles will restrict movement in the ankle joint, which is necessary to maintain your center of gravity over your base of support (feet).
When you squat, you have to keep your shoulders even with or ahead of your base of support in order to maintain your balance. As you descend, your ankles dorsiflex (the angle closes), in effect displacing your body forward and keeping your shoulders even with your feet. However, if your ankles stop dorsiflexing, there are only two ways to keep your shoulders even with your feet: a) you can bend forward at the trunk, which is dangerous; or, b) you can lift your heels of the ground, displacing your body forward.
Lifting your heels isn't bad for your back (it actually allows you to keep your back more straight and more vertrical), but it does cause a compensatory closing of the knee joint (you'll notice your quads working harder).
So, you need to increase the flexibility of your calves, and especially your soleus and achilles tendoin. In the meantime, you may be able to achieve a better squat by loosening these muscles with PNF (proprioceptive neuromuscular facilitation) stretching method:
1) stretch the muscle to it's maximum length
2) WITHOUT CAUSING ANY JOINT MOVEMENT, contract the stretched muscle for 6-10 seconds
3) relax the muscle. as you relax, the muscle should loosen significantly, allowing you to move farther into the stretch
4) hold the new stretch position for 30 seconds.
Do a quick search on "PNF stretching" or "contract-relax stretching" to yeild more detailed instructions.
If you do this before squatting, you should be able to descend further before your heels come off the ground.