Keeping track of Time (and date)
There are many ways to implement software licensing but all of them rely on several attributes among them the date and time in which the software was first used (or activated) and today’s date and time.
Since it is possible to back date one’s computer’s date and time for the purpose of extending a trial period, licensing systems usually contain methods for detecting such change. Here are some of them:
Connecting to an NTP server
NTP stands for Network Time Protocol, and it is an Internet protocol used to synchronize the clocks of computers to some time reference. NTP is an Internet standard protocol originally developed by Professor David L. Mills at the University of Delaware. NTP is the most advanced method for obtaining Internet time. A licensing system would make periodic checks, typically during the time the end-user is connected to the Internet, and compare the internal date and time to the one returned by the NTP server of their choice. Wizdome does the same.
Check time-stamps of commonly used OS files
During the operation of any operating system, certain files are created and updated for the purpose of day to day operation.
For example, Windows has WindowsUpdate.log, bootstat.dat both in the Windows directory, and perfc009.dat in the System32 directory. All of them should contain today’s date, so if you find out that the local date and time are different than the modification date of these files, there might be a risk that the local date and time were tampered.
Keep your own track
Provided that a licensing mechanism keeps track of previous checks, it is possible to detect the moment when the most recent check shows an earlier date than a previous one. Since we can’t go back in time, that indicates a manual change in the local date and time. Further, if the licensing system measures the accumulated time in which the software is used, we can assume that today’s date minus first installation / activation date, can’t have a smaller value than the accumulated time in which the software has been used. An attempt to reset a trial / or other date tied license to an earlier date, might reveal such discrepancy.
Originally published on securedglobe.wordpress.com.