Fake News Detection problem
This is a very ambitious project. First it's important to realize that ML cannot really solve this kind of problem in general, it can only help detect the posts which are likely fake news (see for example this other post about measuring credibility, i.e. the same question seen the other way around).

Assuming you work on the text of the message (I'm not competent about images), the first step would be to collect a corpus of data from all your sources and manually label all of it as fake or not (you could also decide to use a score of "fakeness" for instance). From there you could train a model: at first I would suggest something simple like Naive Bayes (it's the traditional model used for spam detection).

In any case it's important to keep in mind that what the model would learn is not whether the input text is a fake news or not, it would only learn to recognize the tell tale signs: for instance fake news tend to use scary words whereas real news tend to be worded more neutrally. But of course there can real news using scary words and fake news using neutral language, so it's not going to be perfect. In order to really reach the goal the only way would be to have the potential fake news checked by humans, who would be able to give a more informed judgement. 

The last part of the question is more a legal question. As far as I know it's often very hard on social media to discover who is really the author, only the police can investigate this but they do it only in very serious cases.