There is a quick fix, but unfortunately it is only temporary and your problem will resurface at a later date for sure. You can attempt a manual re-learn procedure for the theft deterrent system. I will have our Admin post a link to the procedure in this thread...
Impala Theft Relearn Procedure
But, now on to your real problem. If you want this problem fixed permanently you will need to replace the ignition cylinder and Passlock housing. This comes as a complete unit, after being properly coded by your dealer, and would also require a re-learn procedure after replacement.
What is happening here is that the Passlock or Theft Deterrent system on your Impala is losing the electronic 'password' that the computer learns to know that is should start the car when you turn the ignition. This will usually set a trouble code in the Body Control Module and is very common for your car.
If you replace the ignition cylinder, and then re-learn the theft deterrent, your problem will be fixed.