The Dangers
of Global Development
Overview
Software development is now a global process. Hundreds of U.S. corporations
are turning to offshore software outsourcers to maintain their core systems
as well as develop new applications. India alone exported over $7.8 billion
dollars of software in FY 2001, over 65 percent of this went to the United
States. Software outsourcing companies have set up offshore development
centers (ODC) in many other Asian countries such as Pakistan, Malaysia,
China, and the Philippines. Other popular destinations include Israel,
Ireland, Mexico, Russia, and Chile. These countries offer low costs, valuable
trained personnel, and English language capabilities. Their facilities
employee thousands of programmers who develop software applications for
U.S. companies.
Good illustrations of such facilities are the technology parks that India
has developed to aid software-exporting companies. Software Technology
Parks of India (STPI), headquartered in New Delhi, is an umbrella organization
with eleven facilities throughout the country. Each technology park provides
for a software company's infrastructure needs by guaranteeing a supply
of electricity, high-speed telecommunications links, and even hardware
and network capabilities. STPI provides services for more than 450 companies.
Software exports from these parks grew at an annual rate of 65 percent
during the nineties. Each STPI houses multiple offshore development centers.
An ODC may be a dedicated facility for one client or it may produce software
for multiple clients. Analysts working at the client company develop system
requirements and specifications and then send them for coding by programmers
at an ODC. The ODC is usually connected to the client's host system through
leased lines, through a Virtual Private Network (VPN), or sometimes directly
through the Internet. The link to the ODC creates several potential vulnerabilities
for the client's system. Vulnerabilities include Trojans or viruses embedded
in the software, unauthorized access by ODC personnel into parts of the
client network, and intrusion of the client system by a hacker who has
penetrated the ODC defenses.
At the same time that software development has become a global industry,
there are growing incidents of cyber warfare. After the emergency landing
of a U.S. surveillance plane on Hainan Island, Chinese and American hackers
declared war on each other, attacking Websites in opposing countries.
Such attacks increased from two or three incidents per day before the
incident to 40 to 50 immediately following it. In October 2000, a wave
of denial of service attacks and network penetrations has spread through
the Middle East. Hackers attacked both the Israeli Defense Forces and
the Foreign Ministry Websites. The Foreign Ministry site crashed and the
Defense Forces shut down their website as a defensive measure. U.S. organizations
that support Israel were also attacked.
US government and private security consultants warned that such attacks
could spill over to other American companies. On September 11, 2001, the
unthinkable happened to the physical security of our nation. Given our
country's newly heightened security consciousness, there is greater attention
to network security. Still, U.S. corporations are struggling to establish
effective security practices within their own companies. When a company
outsourced a software project in the past, it rarely examined the security
practices of the offshore outsourcing company. Whether this will change
in the future depends on education of the security community, consumers
and producers of offshore software, and our political leaders.
There is resistance to examining the security of the outsourcing option
because of the cost factor. One of the great attractions of offshore outsourcing
is the comparative price advantage compared to on-site development. Improved
security will add to costs and both clients and vendors may be tempted
to cut corners, despite the recent upsurge in terrorism. Few analysts
have examined the security implications of global software development.
The topic deserves in depth research, analysis, and increased visibility.
The Dangers of Global Development
Whether engaged in global software outsourcing or not, each company
must assess the threats to their computer systems. Threats include viruses,
denial of service attacks, network intrusions, fraud, and sabotage by
disgruntled employees. It is, of course, impossible to defend against
all possible threats and therefore each company must analyze its level
of risk. Risk analysis must take into account the likelihood of the threat
actually compromising the company system and the costs of such a compromise.
The investment in computer and network security must be commensurate with
the actual risks. Appropriate counter-measures must then be developed
to meet the risks.
Risk analysis and determining appropriate counter-measures is necessary
for all companies. However, the picture becomes much more complicated
for a company that is using an offshore software development facility.
There are several complicating factors:
Loss of control - By outsourcing, a client loses control
over the conditions under which its software is developed. A link with
an ODC opens a broadband communications channel directly into the client
system. The company's security personnel lose the ability to regulate
authentication of users at the ODC.
Network complexity - Network configuration management
in an expanding and ever-changing environment is a challenge for most
security departments. Maintaining an understanding of normal traffic patterns
becomes almost impossible when an ODC is thrown into the mix. If the development
center produces software for multiple clients and does not isolate the
networks connected to each client's system, configuration management becomes
an impossible task.
Clashing security policies and procedures - The client
and the ODC may take varying approaches regarding known vulnerabilities,
intrusion detection, perimeter defense, or other security issues. These
discrepancies could easily create vulnerabilities for both the client
and the offshore vendor.
Threats to a company's intellectual property - Offshore
development creates risks to a company's intellectual property because
trade secrets, customer data, and financial information are often made
available to a foreign company whose employees are not subject to U.S.
laws. The offshore developer or its employees may also be doing work for
a competitor. A company's worst nightmare is losing their intellectual
property when they go offshore since it would require international litigation,
a process that could take years of effort while the damage is immediate.
Legal issues - As mentioned, different laws govern offshore
vendors. The issue is not contract enforcement as much as data security
because most vendors contracts are enforceable in U.S. courts. However,
the laws applying to protection of data are often non-existent in the
offshore country. Another legal complication is presented by the new U.S.
data privacy laws such as Graham-Leach-Bliley that requires U.S. financial
corporations to protect the data of their customers. Few measures are
required to ensure that offshore development centers are abiding by these
laws.
Loss of control over code
When a company has its software produced in an ODC, it defines the performance
requirements but it gives control over how the software is developed to
the overseas vendor. Clients spend hundreds of thousands of dollars testing
software applications to ensure that they meet requirements. Rarely, however,
do security departments inspect the code for designer Trojans, viruses,
or embedded Easter eggs - code that performs unspecified or even illicit
activities. Virus scanners identify and sanitize widely known viruses,
but they will not find code specifically designed to sabotage or provide
particular information. Given the sophistication with which terrorists
have infiltrated the aviation industry in the United States, it is highly
likely that such attacks will occur in the future. In December of 2001,
there was a spike in attacks against electric utility networks and the
source of the attacks were IP addresses located in the Middle East. It
would be much easier to penetrate the security of an offshore development
center and implant some code time bombs that would later cause chaos for
a U.S. company. Therefore, embedded malware in programs is a real risk
that security departments must now guard against.
Loss of perimeter control
Clients establish direct links between an ODC and their host system for
a number of reasons. Some offshore teams carry beepers and provide real-time
applications support. Other teams log-on to the host system during the
night to code and test programs. These programmers have authorization
to update data files and system libraries needed to maintain the applications
they support. In either case, the ODC network has direct access to the
host computer. Some companies use development centers in foreign countries
for critical operations. These companies include many leading American
railroads and airlines. The vast majority of offshore developers are honest
IT professionals happy to have the opportunity to work for a U.S. company.
However, the catastrophic events at the World Trade Center and the Pentagon,
show to what lengths terrorists have gone to cause damage to U.S. interests.
Companies using offshore vendors need to know exactly what the vendor's
perimeter defenses are. They need to know when perimeters have been breached
and should be able to monitor intrusion detection systems. Vendor security
policies must be examined for issues such as connecting to the Internet
at the same time they are logged on to the client host system.
Lack of authentication controls
A client company also loses control over authentication of users logging
in from the ODC. Software developers normally have user IDs with broad
authority. The same is true for offshore developers. However, the client
company has no control over the physical security of the ODC. Could people
off the street or from another office or a team working on a competitor's
system walk in and start using a workstation? Company security personnel
have no way of knowing if the offshore developers are sharing passwords.
The primary defense against unauthorized intrusion is authentication based
on passwords and authorization rules. Password cracking tools such as
LophtCrack can resolve most passwords within a few minutes.
Network complexity - The challenge to configuration management
When security admin knows the configuration of a network, they can determine
the normal traffic patterns and automate monitoring of routine activities.
Security administrators can correct known vulnerabilities and deploy regular
anti-virus updates, website blocking, intrusion detection systems, appropriate
firewalls, and other defensive measures. If a network is constantly changing,
then it is very difficult to determine a normal baseline, even when the
changes are known. Linking the host computer network with an ODC exponentially
increases the complexity of the task. The ODC can change its configuration
and host security services will know nothing of the changes.
An ODC link often means that an unknown network is linked into the heart
of the client computer system.An ODC connection bypasses much of the host
perimeter defenses and opens multiple channels for hostile penetration
of the host system. A developer in an ODC may conscientiously be doing
his job. Still, while he is coding and testing he could also chatting
on a website that would be off limits to an on-site programmer. An attacker
could use the open http connection to the workstation to implant a Trojan
in the host system or map the corporate network.
Isolation levels within the ODC
Offshore development centers are often large complexes involving 500 or
more programmers. They often work for a variety of clients. ODC management
often moves network resources and software technicians from one project
and from one client to another as the need arises. When people move from
one company to another, they carry important knowledge with them. In the
United States, most companies execute legal agreements protecting the
company's intellectual property when they leave the country. This is not
standard practice in many of the countries, which host ODCs. In addition,
it is our experience in India that there is even less awareness of intellectual
property issues when a programmer moves from working for one client to
another within the same outsourcing vendor.
Lack of isolation of network resources is another critical issue. Sometimes
hard-drives or servers are shared between projects for different clients.
Even when resources are not directly shared, there are rarely perimeters
established between LANs dedicated to different clients. In addition,
depending on the configuration, it is possible for someone on a host network
of one ODC client can use the development center as a means to connect
to the network of another ODC client.
It is essential that the client ensures that their data and resources
are isolated from that of other ODC clients. There are however different
levels of isolation. Development for a project can take place on LANs
that are completely isolated from the Internet and the rest of the ODC's
networks with fully dedicated personnel. Alternatively, some resources
can be shared between projects or even clients. Sharing of resources creates
economies of scale and enables the vendor to pass on cost savings to the
client. Applications are not all equally as critical and isolation does
create additional costs. Therefore, the level of isolation of a project
must be commensurate with its security requirements.
Security policies & procedures - Security reviews
A vigorous security reviews should be required before an offshore development
contract is signed. Too often, the assumption has been that the vendor
has an effective security policy. Even if the vendor has a good policy
on paper, potential clients must ask how rigorously it is implemented.
A security review is the only valid way to answer this question. As with
all security investments, the extent of the review or audit should be
commensurate with the risks involved. At a minimum, the review should
consist of a thorough examination of the security policies and procedures.
It should assess how well the ODC actually implements the policy and procedures.
The client should either send a member of their corporate security team
or hire an independent security analyst who is able to conduct the review
on site. Questions to the vendor sales team are, of course, completely
inadequate. An important factor of such a review is an investigation into
how the vendor has dealt with known vulnerabilities. In addition to a
security review of the ODC, it is critical that the client company involves
its own network security personnel in all technical decisions regarding
connectivity between the ODC network and the client's system. In addition,
a security development life cycle should be part of the methodology for
offshore projects.
Policy compatibility
Clients should analyze the security policy of the ODC for compatibility
with their own policies and procedures. Issues such as passwords, virus
protection, and business continuity should be reviewed for compatibility.
Where there are conflicts between the two policies, a common approach
should be spelled out and a common policy defined. The common policy can
refer to the existing policies where there are no discrepancies. This
process should be part of the master contract between outsourcing vendor
and the client.
Security cooperation
The common policy should include a framework for cooperation between the
network security departments of the vendor and client. Policy reviews
and security audits are only snapshots at a particular time. It is critical
that security cooperation includes appropriate monitoring, reporting,
and incident handling procedures. Where this puts undue strain on vendor
and client security departments, an independent security company can be
hired to provide coordination.
Security ROI
Effectively implementing and monitoring additional security procedures
costs money and money must be spent wisely. Not every application or every
enhancement to an application need equally secure treatment. While certain
principles such as isolation of LANs by client are essential, it is important
for clients to analyze the security needs of each application being developed
offshore.
Authority for offshore developers
System admin normally grants developers authority to update system libraries
and a variety of files related to their applications. Production run-time
libraries are often common across systems, especially for emergency updates
to programs. Offshore programmers are routinely treated as remote developers.
Once they pass through a perimeter firewall, they have the same access
as on-site developers. However, there is a much higher level of risk for
developers working thousands of miles away. The client will interact with
a handful of project managers or lead personnel but know nothing about
dozens of programmers doing the actual work. Therefore, their security
classification of offshore personnel should be stricter than on-site developers.
In general, authority to update files should be based on a person's functionality.
Developers who support production systems need wide-ranging authority
in order to fix unforeseen problems that occur in off-hours. Project leaders
and analysts need greater access to client system resources. For the majority
of offshore developers, however, file authority must restricted to what
they need to perform their jobs.
Legal and intellectual property issues
The protection of intellectual property is primarily the duty of a company's
legal department. Still, network security must also take an active role
since theft of a company's trade secrets is now likely to occur using
digital media. The main security goals here are in one sense the reverse
of the normal approach of protecting the host from attack. When protecting
intellectual property the first task is to identify the data files that
must be protected and then access must be restricted. Next, the means
by which this information can be removed from either the host site or
the offshore development facility must be analyzed. Such information can
be uploaded to a website, transferred through a modem connection, written
onto a floppy disk or a CD.
It is essential for a company to analyze the risks that offshore relationships
may pose to its intellectual property. The risks vary depending on the
software application under development, the character of the relationship
with the offshore vendor, and the nature of the corporation's intellectual
property. Competitors can quickly use certain trade secrets, such as chemical
formulae or industrial processes. Such information is critical to protect.
Both client and vendor must employ the strictest security measures in
software development projects that involve easily replicable trade secrets.
Some projects relating to critical and easily replicated intellectual
property ought not to be outsourced at all. Other intellectual property
is not as easily stolen. For example, a trade process such as a financial
planning methodology, takes a considerable time to master. Companies can
develop appropriate steps to protect these processes from competitors.
Security measures for offshore projects should fit the risks to a company's
intellectual property.
In addition to trade secrets, customer data, and financial information
are often exposed during a software development project. Customer data
can easily be used for fraudulent purposes and the incident of international
Internet credit card fraud is rising rapidly. In a tightly interconnected
world financial system, information on the finances of large corporations
can be used for insider trading and manipulation of stock prices. The
employees of a foreign company are not subject to U.S. laws. Some countries
such as India are aware of cyber crime and are beginning to take a few
initial steps. However, the criminal justice systems of most Third World
countries, lack the technical and legal framework to investigate and prosecute
system break-ins or data theft.
Developing a knowledge transfer policy
As is the case in all projects with contract employees, the client will
lose experience and knowledge that the employee has gained when she or
he leaves the project. Some of this knowledge, especially that which constitutes
critical intellectual property of the company represents a serious security
risk. This situation is more critical in global development situations
by legal factors, cultural differences, and international competition.
While human beings are not machines and contract employee knowledge cannot
be erased, it is important to keep track of contract resources that are
exposed to critical knowledge. It is also important that this knowledge
is retained within access of the client, to the extent this is possible.
The client company should develop a knowledge transfer policy to cover
these situations.
Physical Security
Whether a data center is in Delhi or Denver, physical security is essential
for network security. However, in India and other ODC host-countries,
physical security takes on cultural and physical nuances not present in
the U.S. For example, on December 14, 2001, five men penetrated the heavily
guarded perimeter of the Indian Parliament building with a car loaded
with explosives and automatic weapons. Seven people were killed including
the terrorist and only the sacrifice of an unarmed bailiff prevented a
massacre of India's political leaders.
The terrorists gained access through social engineering. They drove a
sedan similar to that used by all Indian officials and wore the uniforms
of high ranking security officials. When the guard challenged them they
threatened him with the loss of his job and he let them pass. The next
day CNN filmed the British Prime Minister entering the grounds of a castle
where a European summit meeting was being held. The guards searched the
Prime Ministers car for bombs the same as any other vehicle. There is
a lesson in these two events that the IT security community must keep
in mind. In cultures where there is a rigid hierarchy, those on the lower
echelons are brought up to be subservient to those above them. This means
that many people who work as data center guards are susceptible to intimidation
and manipulation by intruders who wear the mantle of authority.
Another example is a TerraFirma employee who worked for one of India's
leading technology companies. He repeatedly entered the facility by saying
he had forgotten his pass. Within the ODC, he had complete access to computers
and files, even on projects that he knew nothing about, including a secure
project for British Gas that developed refinery software.
These two examples illustrate the weaknesses in physical security at
some ODCs. While the scheduled security audits examine physical security,
the real issue is how is security maintained when auditors are not on
the scene.
Conclusions
The threats to America's IT infrastructure from offshore outsourcing are
very real but there are means to combat them. International firms can
be become secure suppliers of reliable software and services. However,
the standards by which they are judged must be set by the companies buying
the software and acceptable to the U.S. government agencies charged with
protecting the country's infrastructure. Overseas vendors should be judged
by how they compare to U.S. companies and this rating should be conducted
by American security companies. The rating methodology should include
the following:
A thorough review of the vendor's security policy. The policy must be
address issues such as isolation of resources by client and security cooperation
with the client.
A rigorous network vulnerability assessment of the offshore development
center, including its ability to protect client intellectual property.
Evaluation of the application security development life cycle being used
by the ODC. Application security must go far beyond password authentication
and network firewalls. It must be built into the software application
from the beginning.
Ongoing monitoring and reporting of the ODC's client anti-virus, intrusion
detection, and perimeter protection systems.
However, the responsibility for secure outsourcing does not lie with
the vendors alone. U.S. companies themselves must be ready to meet the
challenges presented by global software development. In addition to holding
their vendors accountable on the above issues, U.S. buyers of outsourced
software (including the U.S. government) should:
Implement an independent review of their outsourcing security policy
Conduct security testing of newly developed systems. (This applies to
systems developed in-house as well as overseas.)
Submit their own data centers to a security rating to evaluate where they
stand compared to industry standards.
|