If your device has been jailbroken, log into Cydia. You should see the SHSH available to you listed in the main screen. See if 4.3.3 is on there. If so, turn on Tinyumbrella 5.0.0.8 and go to advanced, tick "save SHSH from cydia" and unclick "set Hosts to Cydia on Exit (if you need a clean restore from apple uncheck this box)".
Press "Save SHSH", I have "update iPhone 4 baseband" ticked but that's because my phone is not locked.
Once you save SHSH, you should see 4.3.3 on your SHSH list.
Press "start TSS SERVER", set your device to DFU mode (don't use any jailbreak software to do that). Go into iTunes (it would ask to check the latest software, say "check". You should see restore, hold onto ALT and click "RESTORE" and select your 4.3.3 firmware.
It took me a day to figure this one out!