June 6, 2012 - Vol 2, Issue 10
SecureMyi.com Security Workshop

Invisible IBM i Data Access and Undetectable Data Theft

Have any of your sensitive database files been stolen today?   How can you tell?
By: Dan Riehl

Our great IBM i (iSeries and AS/400) has long been considered a security strongbox—a hacker's worst nightmare. Some even consider it to be unhackable. This perception has caused some of us to become complacent in our due diligence related to system security. But security through perceived obscurity is insufficient protection in a world of wily and well-financed cyber criminals and those malicious insiders.

According to the Open Security Foundation Year-to-Date 2011, a total of 126,749,634 people have had their personal information hacked, stolen, lost, or misplaced. Hundreds of computer-related data thefts occur every year—often one or more per day. To view those of public record, you can visit the OSF's Data Loss Database. According to their Data Loss Database's published list of compromised companies, we can tell that some of these incidents are occurring at IBM i shops, both large and small.

Securing the data on the IBM i is made especially difficult by our uniquitous tools(e.g. FTP, ODBC) that access our data but leave no footprints. How can you reasonably expect to protect the sensitive information in your care when it can be accessed without your knowledge?

Invisible Data Access Methods

When a thief steals your car, you know it: When you go out in the morning to start your car, it isn't where you left it. But how can you know when someone has stolen a sensitive database file? The file is still there and there are no traces of illegitimate activity, but that doesn't prove that the file hasn't been breached or stolen.

IBM ships the IBM i with a variety of data access tools, many of which access data invisibly. We often add third-party data query tools, and we even write our own data access methods using socket programs and the database APIs. Although non-IBM data access tools might reside on your systems, I want to focus on the built-in IBM-supplied tools that access data invisibly.

If I download a database file using FTP or the IBM i Access for Windows file transfer facility, there's no built-in audit trail of that activity. There is no FTP log for the FTP server and no logging or history of IBM i Access for Windows file transfers. These file transfers are invisible, even to the system administrator. If I use one of these common tools to download an employee personnel file, the payroll file, the customer file, or any other file to my PC, you can't know it. Neither the IBM FTP server nor the IBM-supplied file transfer facility makes or keeps a record of that activity.

What about using ODBC applications, Distributed Data Management (DDM), and other data access methods shipped as part of IBM i? All data movement using these services is invisible.
(Caveat: Database Journaling will produce an audit trail of add/change/delete record level activity. But, if the data is accessed for "read-only" in order to steal the file(e.g. FTP or ODBC download of a file), there is no record level activity recorded, and absolutely no footprints to follow.)

Let me ask you this: Have any of your sensitive database files been stolen today? For most of us, the honest answer is "I don't know." That's right—how could you possibly know?

What's the Worst That Can Happen?

Suppose my files are stolen by an insider or a hacker. Why do I care? What's the worst thing that could happen?

You could ask that question of companies that have had their data compromised. For example, ChoicePoint Asset Company, LLC, is reported to have spent more than $50 million on fines, legal fees and settlements, consumer notification, and other expenses related to the theft of about 163,000 consumer records. And that doesn't include revenue lost to diminished company goodwill or money spent on PR campaigns deployed in an attempt to mitigate the damage. ChoicePoint wasn't the first breach, nor the biggest so far, but it was the one that made most of us first realize that there is a huge market for our sensitive personal information.

Perhaps one of the largest breaches was at The TJX Companies, Inc. (TJX), where a ring of international hackers broke into the network and hijacked about 45.7 million customer credit card and debit card account numbers. TJX costs were reported to be in excess of $250 million.

Another consequence of your company appearing on the Data Breach Hit Parade is that you might very well be looking for alternate employment.

Is Your System Secure?

As I reviewed the data breaches listed on the Data Loss Database and other sources, it became abundantly clear that although some of the largest breaches are perpetrated by professional cyber criminals, most are initiated by company employees and contractors. The US Department of Justice estimates that over 80 percent of computer crimes are carried out by company insiders.

I often go to IBM i customer sites to teach technical classes and perform IBM i vulnerability assessments. Almost everywhere, I find a shocking indifference to system and data security. During an RPG class at a regional bank, class members didn't hesitate to volunteer that none of the bank's data was encrypted. Account numbers, Social Security and driver's license numbers, and even ATM PIN codes were stored as clear text in customer account files.

In another example, I was teaching an IBM i Security Workshop which was open to the public. During the workshop I referred to Payroll data as an example of data that must be secured from prying eyes. Two young men at the back of the classroom exchanged quizical glances. When I asked if there was a question, one of them piped up and asked, "How are we supposed to know what to ask for on our next review if we don't know what the other people are making?" I was floored. These gentlemen were a company's top IBM i security staffers, and they didn't understand that prying into company payroll records constituted a security breach.

Security Through User Ignorance

If your users don't know how to use FTP and file transfer and don't understand ODBC and DDM, you might reason that their ignorance protects you. Further, you might believe that outside hackers don't care about your data. Let's examine these rationales.

Most of us have employees who came from other IBM i shops. It's not unusual to have a user who, from prior employment, knows applications by J.D. Edwards, Infor/Infinium/S2K/Lawson Software or JDA Software. At their previous job, those employees might have learned the names of files and libraries for use with query tools or file upload and download tools. They might have routinely used FTP or IBM i Access for Windows file transfer. Many power users, such as data analysts and sales and marketing folks, are familiar with file names and libraries. In most schools today, students are taught tools such as Microsoft Excel and Microsoft Access and learn how to use ODBC to directly access data.

And let's not ignore the technical staff. Programmers and operators, Help Desk, and Technical support people know how to use FTP, ODBC, and file transfers, and they know the names of the sensitive files.

How many salespeople leave your company to go to work for a competitor? How difficult would it be for them to tuck a USB drive loaded with customer information and sales activity reports into their pocket as they leave? While they're at it, they might get the pricing files, too, and vendor cost files. Or instead of a USB drive, maybe they just download the files and email them to a buddy who works for the competitor.

If you work in the healthcare industry, what would happen if your patients' personal health information were stolen and published on the Internet? Company financial data such as a retailer's comparative store sales can drive a stock up or down. Stealing such information and making it public before the company formally reports its earnings can be hugely profitable. But, thankfully, it is also illegal.

You cannot rely on the technical ignorance of your employees and contractors to secure your sensitive data. They are likely not as ignorant as you might suspect.

Object-Level Security Will Protect Me

IBM and industry pundits have long embraced the concept of object-level security, which stipulates that every user be granted access only to the files, programs, and other objects necessary to perform his or her job and receives only the minimum permissions needed to each object. An accountant, for example, would have the authority to read only certain accounting files and to update only the files necessary to accomplish his or her work. The accountant would be unable to access any file or object that doesn't directly relate to the job and couldn't run any program that was outside the scope of his or her responsibility.

Many consider properly implemented object-level security to be the highest achievable level of security. If you believe the pundits, properly configured object-level security is all that's required to secure your system. However, the object-level authorities that are in place for Telnet access via the green screen are also in place when tools such as FTP, ODBC, and file transfer are used. If a user has the object-level authority to update a file, that user can also update the file by using ODBC and download the file by using FTP or file transfer.

Note: I am a firm believer in setting correct restrictive permissions on libraries, files, programs and other objects. But, I am also aware that very few companies have such a permission scheme in place. If a retrofit of your existing permissions is undertaken, I usually recommend an "Adopted Authority" scheme, in which no user has any permission to any data. But, the user temporarily acquires permission through an adopting program. This is sometimes referred to as "Application Only Access".

So What's the Answer?

This disparity in the access requirements for Telnet green-screen access and network access using tools such as FTP and ODBC has spawned several third-party security software products. These products provide network server exit programs that typically provide a custom level of object access control and also provide the sorely needed audit trail of the otherwise invisible access attempts by tools such as ODBC and FTP.

More than two dozen IBM-supplied network servers in the IBM i provide exit points that let you specify an exit program to be called on every data- and service-access request. You can write your own exit programs, but due to the complexity of network exit points and ongoing maintenance requirements, most organizations use one of several third-party products.

The typical activity of a 3rd party commercial exit program is as follows.
When a user attempts to use FTP to download a file, the supplied exit program intercepts the download request, records the activity in a secure log, and checks the request against your set of FTP rules to determine whether the download is permitted. If it is, the data transfer is allowed to proceed. But if the exit program's rules determine that the file transfer is not allowed, the file is not transferred and the user receives a message that the file transfer has been rejected. All FTP server activity is typically logged for your inspection, and if configured to do so, the exit program mayalso be able to send an intrusion alert message to a message queue, cell phone, or email address.

All the network server exit programs work in a similar fashion. When an access request is detected, the exit program is called. The exit program can record the request and decide whether the access should be allowed or denied.

Detecting the Undetectable

I've heard some people say that as long as you have strong object-level security, you don't need network exit-point programs. But, the only way to detect the activity of FTP, ODBC, file transfer, and the other network servers is by having an exit program for each server that logs the request. Without network exit programs, how do you get visibility of your network traffic and detect file transfers of your most sensitive data? And when a user has *USE or *CHANGE authority to all their files, how do you permit the user to download some files and not others?

Yes, you need a good security scheme. But you also need network exit programs. The two work hand-in-hand to secure your system and give you the visibility and control you need.

Dan Riehl
 is the president and security specialist for the IT Security and Compliance Group, LLC. Dan performs IBM i security assessments and provides customized security services for his customers. He also provides training in all aspects of IBM i security and other technical areas through the training company, The 400 School, Inc.