To remove a good majority of the artifacts that you're describing, you can use the
Dust & Scratches filter inside of Adobe Photoshop. It's an easy tool to work with. Simply open your photo in Photoshop, convert it to a
Smart Object and then open the Dust & Scratches filter by visiting the
Filter > Noise > Dust & Scratches menu item. Click that selection and when the
Dust & Scratches dialog box appears, click inside the preview window to move around the image to one of the areas in which you'd like to remove the artifacts. Then, click on the
Radius slider once to activate it and then use your up and down arrow keys on your keyboard to nudge the slider to the right. When you see the pieces of dust just begin to disappear, stop nudging. This tool is great for situations where you have an enormous amount of dust in a scanned image. It works better for removing dust that it does for scratches, but it does a good job with scratches too.
After nudging the Radius slider, click once on the
Threshold slider and do the same thing. This time though, nudge it to the right until you see the image start to become sharp again. When it gets to that point, back off a few clicks. When you're finished, click the
OK button to accept your changes. After that, you can use the
Spot Healing Brush Tool to continue removing anything you don't want in your image. You can also use the mask to mask out any soft areas in your image that you feel that you didn't need modified in the first place. Please refer to
my post on this filter for a more thorough explanation.