This may sound harsh, but here goes! Even if they don't like each other, you are boss and Sophie shouldn't be trying to kill Penny. You may decide not to keep both of them but there are steps you can take to make life much more pleasant.
1) Never let Sophie go through a door before you! As crazy as it sounds, it will improve your relationship, set you as top dog, and make it easier to break up her and Penny. Don't let her leave her kennel until you say so either. I've found grabbing the dogs nose and pushing them back gives you more control and gets through to them quicker.
2) Take her for walks regularly! Daily! If you are confident enough with both dogs on leash, take Penny. That way they are moving as a pack.
3) What provoked the attack? Possession of a toy? Food? Whatever it was, control it! Only let her have it when she's obedient and supervise. I still can't let my dogs eat alone if their food is in the dish (can't wait until they're fixed!)
4) Tether Sophia to you. Keep her with you at all times and randomly give commands, making her obey. I give my dogs two tries and then force them into what ever position on the third command ( push their bum on the ground, etc.) If Sophia is tethered to you, she can't get into trouble and you can quickly correct any aggression towards Penny.
Keep in mind when breaking up a fight (if you have too) pulling a dog backwards, away from the other dog, will cause more trouble as backing up is submitting. If you can, pull both back, just out of biting range of each other, and hold them until they calm. DO NOT let them go if they are standing and be absolutely positive both dogs are calm. If you get wound up and start yelling at them to "BREAK IT UP!", it will make it worse. Stay calm!
Do the same with Penny, minus step 4 (unless you want to).