NBA officials have always been this bad but with so many cameras and so much live sharing the fact simply can't be hidden anymore.
In the image KD is obviously breaking:
"Hand Checking:
A defender may not place and keep his hand on an opponent unless he is in the area near the basket and the offensive player has his back to the basket. A defender may momentarily touch an opponent with his hand anywhere on the court as long as it does not affect the opponent’s movement (speed, quickness, balance, rhythm). "
Ref: http://www.nba.com/nba101/misunderstood_0708.html
NBA Officials, mistake after mistake
In our era of recording and analyzing NBA games from a hundred different angles on court referee's are unnecessary and, I think, hurt the game. Yesterday's Christmas game between the Cleveland Cavs and the Golden State Warriors holds a great example of bad work by the officials possibly changing the outcome of a very important game.
One one particular drive late in the game KD fouled LeBron 2x and the image above is the worse of the 2 I think.
"The NBA admits Kevin Durant fouled Lebron 3x late in the game."
What to do
As a first step each game should have only 1 on court official and that official would not decide any foul except for maybe verbal technical fouls. All live game play fouls should be called real time by NBA officials in a computer lab instead. The on court official would be just relaying the message.
Maybe that's the only step needed I may edit this post later who knows.