Tag Archive for Unix

70s Glitch Could Hit Every Computer On Earth

70s Glitch Could Hit Every Computer On The PlanetRebecca Borison at the BusinessInsider asks who remembers the 1999 panic about the Y2K crisis. In 1999, Y2K looked as if it might derail modern life when computers because the glitch would reset computers to Jan 1. 1900, rather than Jan. 1, 2000, because computers only used two digits to represent a year in their internal clocks.

déjà vu all over againNow it déjà vu all over again, BI reports there’s a new, even bigger global software coding fiasco looming.  A huge amount of computer software could fail around the year 2038 because of issues with the way the code that runs them measures time.

Once again, just like with Y2K every single piece of software and computer code on the planet must now be checked and updated again. That is not a trivial task according to the author. In 2000, we bypassed the Y2K problem by recoding the software explains Ms. Borison. All the software — a fantastically laborious retrospective global software patch.

Disruption to the tech industry

Y2K problemAlthough Y2K was not a disaster, it was a massive disruption to the tech industry at the time. Virtually every company on the planet running any type of software had to find their specific Y2K issue and hire someone to fix it. Ultimately, Y2K caused ordinary people very few problems — but that’s only because there was a huge expenditure of time and resources within the tech business.

The 2038 problem will affect software that uses what’s called a signed 32-bit integer for storing time. The problem arises because 32-bit software can only measure a maximum value of 2,147,483,647 seconds. This is the biggest number you can represent using a 32-bit system.

time is represented as a signed 32-bit integerWhen a bunch of engineers developed the first UNIX computer operating system in the 1970s, they arbitrarily decided that time would be represented as a signed 32-bit integer (or number), and be measured as the number of milliseconds since 12:00:00 a.m. on January 1, 1970.

Glitch says it’s 1970 again

On January 19, 2038 — 2,147,483,647 seconds after January 1, 1970 — these computer programs will exceed the maximum value of time expressible by a 32-bit system using a base 2 binary counting system, and any software that hasn’t been fixed will then wrap back around to zero, thinking that it’s 1970 again.

UNIX time coding has since been incorporated widely into any software or hardware system that needs to measure time.

BI spoke with Jonathan Smith, a Computer and Information Science professor at the University of Pennsylvania for confirmation. The professor confirmed the Year 2038 is a real problem that will affect a specific subset of software that counts on a clock progressing positively. He elaborated:

Most UNIX-based systems use a 32-bit clock that starts at the arbitrary date of 1/1/1970, so adding 68 years gives you a risk of overflow at 2038 … Timers could stop working, scheduled reminders might not occur (e.g., calendar appointments), scheduled updates or backups might not occur, billing intervals might not be calculated correctly

The article concludes that we all need just to switch to higher bit values like 64 bits, which will give a higher maximum. In the last few years, more personal computers have made this shift, especially companies that have already needed to project time past 2038, like banks that need to deal with 30-year mortgages.

64 bitsApple (AAPL) claims that the iPhone 5S is the first 64-bit smartphone. But the 2038 problem applies to both hardware and software, so even if the 5S uses 64 bits, an alarm clock app on the phone needs to be updated as well. (If it’s using a 32-bit system in 2038 it will wake you up in 1970, so to speak.) So the issue is more of a logistical problem than a technical one.

HowStuffWorks reports that some platforms have different dooms-days.

  • IBM (IBM) PC hardware suffers from the Year 2116 problem. For a PC the beginning of time starts at January 1, 1980, and increments by seconds in an unsigned 32-bit integer in a way like UNIX time. By 2116, the integer overflows.
  • Hardware and softwareMicrosoft (MSFT) Windows NT uses a 64-bit integer to track time. However, it uses 100 nanoseconds as its increment and the beginning of time is January 1, 1601, so NT suffers from the Year 2184 problem.
  • On this page, Apple states that the Mac is okay out to the year 29,940!

rb-

The tech industry’s response to Y2K suggests that they will mostly ignore the 2038 issue until the very last minute when it becomes to ignore.  Another example of the pace of global software updates is that a majority of ATM cash machines were still running Windows XP, and thus vulnerable to hackers even though Microsoft discontinued the product in 2007.

Dont worryFortunately, the 2038 problem is somewhat easier to fix than the Y2K problem. Well-written programs can simply be recompiled with a new version of the C-library that uses 8-byte values for the storage format. This is possible because the C-library encapsulates the whole time activity with its own time types and functions (unlike most mainframe programs, which did not standardize their date formats or calculations). So the Year 2038 problem should not be nearly as hard to fix as the Y2K problem was.

Related articles

 

Ralph Bach has been in IT long enough to know better and has blogged from his Bach Seat about IT, careers, and anything else that catches his attention since 2005. You can follow him on LinkedInFacebook, and Twitter. Email the Bach Seat here.

Fannie Mae – What Ails America

Fannie Mae - What Ails AmericaComputerWorld reports that an Indian national Rajendrasinh Babubhai Makwana, in an outsourced contract job as a Unix engineer is accused of planting malicious code on his employer’s network. Makwana was employed by the Federal National Mortgage Association, better known as Fannie Mae. He has been accused of planting malicious code on the corporation’s network that was to “destroy and alter” all the data on the company’s servers on 01-31-09, court documents show.

H-1B VisaMakwana, 35, was indicted on 01-27-2009 by a federal court on a single charge of computer intrusion, according to documents released yesterday. Reports are unclear about the attacker’s employer or his employment status. According to the AP, Makwana has lived in the United States since at least 2001.

According to the complaint sworn by FBI Special Agent Jessica Nye, Makwana was let go from his outsourced contract position at Fannie Mae’s Urbana, Md., datacenter on Oct. 24, 2008. He was fired after he had “erroneously created a computer script that changed the settings on the Unix servers without the proper authority of his supervisor,” Makwana had created that settings-changing script on Oct. 10 or Oct. 11, as much as two weeks before he was fired, Nye said.

Fannie Mae data centerWithin 90 minutes of being told he was terminated on Oct. 24, and several hours before his access to the Fannie Mae network was disabled later that evening, Makwana embedded a malicious script in a legitimate script that ran on Fannie Mae’s network every morning, Nye said in her affidavit.

The logic bomb would have “caused millions of dollars in damage and reduced if not shutdown [sic] operations at [Fannie Mae] for at least one week” if it had not been found before Saturday’s trigger date, the complaint said. “this script would power off all servers, disabling the ability to remotely turn on a server,” said the government’s complaint. “Subsequently, the only way to turn the servers back on was physically getting to a data center.”

rb-

I agree with Dvorak’s piece on MarketWatch which asks the rhetorical question, why was Makwana working at Fannie Mae in the first place?  Are you telling me no American citizen could have done his job? 

It has long been believed that in most cases H-1B visas in technology have been exploited by companies such as Fannie Mae only because programmers coming from India work cheaper. Over the years, companies like Fannie Mae have been begging for more and more H-1B visas to outsource more jobs.. That means more people working cheaper than the going rate. You get what you pay for.

This episode also is further evidence that Fannie Mae is still a poorly run company. Is it really so hard to turn off someone’s network access when you take their ID card?. A good place to start is that when a person is meeting with their boss and HR, to be terminated, their access to all systems is to be suspended. There is no reason to allow access to remote systems. In this case, based on the papers filed, Just more of my tax dollars at waste work.

 

Ralph Bach has been in IT long enough to know better and has blogged from his Bach Seat about IT, careers, and anything else that catches his attention since 2005. You can follow him on LinkedInFacebook, and Twitter. Email the Bach Seat here.