TinEye tries to do that and the best part is that it mostly succeeds. The new image search engine, powered by Idée's technology and currently in private beta, has an index of 487 million images (Google's index is at least 12 times bigger) and manages to find identical versions of an image or alterations. According to the FAQ, "TinEye frequently returns image results with colour adjustments, added or removed text, crops, and slight rotations. TinEye can also detect images that are part of a collage or have been blended with another image."
And the FAQ doesn't lie: I uploaded a screenshot of Flickr's homepage that included a Flickr image in the top-left corner. TinEye returned 6 results: 5 of them were different versions of the featured image (including the original image hosted by Flickr) and another result showed Flickr's homepage with a different featured image.
Then I uploaded an image from my computer that shows fingers in a book scanned by Google and TinEye pointed to me to a TechCrunch article that included that image:
TinEye doesn't do a good job at ranking images, as it orders the images "by relevance i.e. how well the result image matches your query image". It can't figure out the most-likely original source of an image, so TinEye's algorithms could be combined with a traditional image search engine like Google's in order to determine the authority of each image. TinEye also doesn't recognizes faces or objects in an image, so it just looks for similar images.
How does it work then? "TinEye uses sophisticated pattern recognition algorithms to find your image on the web without the use of metadata or watermarks. TinEye instantly analyzes your query image to create a compact digital signature or 'fingerprint' for it. TinEye searches for your image on the web by comparing its fingerprint to the fingerprint of every single other image in the TinEye search index."
The search engine is in private beta, but you can request invite or watch this screencast: