The software, called Greyball, sought to identify officials trying to catch its drivers and deny them service, the New York Times reports.
Uber has frequently been at odds with governments - and with competitors.
Greyball was used to secure early access to cities where its operations had not been authorised.
In most cases, local officials wanted to make sure the company was subjected to the same conditions of service required by the legislation.
The New York Times said existence of the Greyball program was confirmed by four current and former Uber employees, who were not named.
Greyball identified regulators posing as ordinary passengers, by collecting data on the location used when ordering a taxi and determining whether this coincided with government offices.
It also checked credit card information to establish whether the user is linked to an institution or law enforcement authority.
Uber, the report adds, even visited phone shops to trace smartphones bought by city officials setting up multiple accounts in an effort to catch the company's drivers.
Once individuals suspected of attempting to entrap drivers were identified, they would be served a "fake" version of the Uber app, with fictitious cabs on view, and where they were successful in ordering a real one, they would have their booking cancelled. Local officials contend this is illegal.
"This program denies ride requests to fraudulent users who are violating our terms of service," Uber said in a statement.
"Whether that's people aiming to physically harm drivers, competitors looking to disrupt our operations, or opponents who collude with officials on secret 'stings' meant to entrap drivers," it added.
It comes in the same week that the chief executive of Uber, Travis Kalanick, was forced to apologise after a video emerged of him swearing at one of the company's drivers. Just two weeks earlier he apologised for "abhorrent" sexism at the company.