2 Various Methods of File Transfer

advertisement
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
Project Team:
Sajid Sayed, Santvan Shah
Course:
CMPT585 – Computer and Data Security
Semester:
Fall 2004
Instructor:
Dr. Stefan Robila
Due Date:
Dec 10, 2004
Sajid Sayed
Santvan Shah
Final Project
Page 1 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
TABLE OF CONTENTS
1
INTRODUCTION ............................................................................................................................ 4
2
VARIOUS METHODS OF FILE TRANSFER ........................................................................ 5
3
MANUAL FILE TRANSFER ......................................................................................................... 6
3.1
3.2
3.3
3.4
4
FILE TRANSFER VIA EMAIL .................................................................................................... 8
4.1
4.2
4.3
4.4
5
HOW TO ......................................................................................................................................... 6
COMMON USES .............................................................................................................................. 6
TRANSFER MEDIA .......................................................................................................................... 6
SECURITY ANALYSIS ..................................................................................................................... 6
HOW TO ......................................................................................................................................... 8
COMMON USES .............................................................................................................................. 8
TRANSFER MEDIA .......................................................................................................................... 8
SECURITY ANALYSIS ..................................................................................................................... 8
REGULAR/ANONYMOUS FTP ................................................................................................10
5.1 HOW TO ........................................................................................................................................11
5.2 COMMON USES .............................................................................................................................12
5.3 METHOD OF TRANSPORT ..............................................................................................................12
5.4 SECURITY ANALYSIS AND RECOMMENDATIONS .........................................................................12
5.4.1
Setting up the anonymous FTP directories ............................................................................12
5.4.2
Using proper password and group files ................................................................................13
5.4.3
Providing writable directories in your anonymous FTP configuration .................................13
5.4.3.1 Modified FTP daemon .......................................................................................................14
5.4.3.2 Using protected directories ................................................................................................14
5.4.4
A Vulnerability Example ........................................................................................................15
5.4.5
Risks of using FTP transfers ..................................................................................................15
5.4.5.1 The Bounce Attack ............................................................................................................16
5.4.5.2 Restricted Access ...............................................................................................................16
5.4.5.3 Protecting Passwords .........................................................................................................16
5.4.5.4 Privacy ...............................................................................................................................17
5.4.5.5 Protecting Usernames ........................................................................................................17
5.4.5.6 Port Stealing ......................................................................................................................17
5.4.5.7 Software-Based Security Problems....................................................................................17
6
WUFTP ...............................................................................................................................................19
6.1
6.2
7
SAMPLE WUFTP CONFIGURATION ..............................................................................................19
A VULNERABILITY EXAMPLE .........................................................................................................19
FILE TRANSFER VIA SFTP ......................................................................................................22
7.1
7.2
7.3
7.4
HOW TO ........................................................................................................................................22
FINGERPRINTS ..............................................................................................................................22
OPENSSH .....................................................................................................................................22
NEED FOR SFTP ...........................................................................................................................23
7.4.1.1 Technology Background ....................................................................................................23
7.4.1.2 Problems with Standard FTP .............................................................................................23
7.5 SFTP FEATURES ...........................................................................................................................24
7.5.1
Strong Encryption ..................................................................................................................24
Sajid Sayed
Santvan Shah
Final Project
Page 2 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
7.5.2
X11 Forwarding ....................................................................................................................25
7.5.3
Port Forwarding ....................................................................................................................25
7.5.4
Strong Authentication ............................................................................................................25
7.5.5
Agent Forwarding..................................................................................................................25
7.5.6
Interoperability ......................................................................................................................26
7.5.7
Kerberos and AFS Ticket Passing .........................................................................................26
7.5.8
Data Compression .................................................................................................................26
7.6 SECURITY ANALYSIS ....................................................................................................................26
7.7 SFTP USAGE AND IMPLEMENTATIONS OVER TIME .....................................................................28
8
FTP SECURITY EXTENSIONS ................................................................................................29
8.1
8.2
8.3
8.4
9
GENERAL ISSUES ..........................................................................................................................29
SECURITY EXTENSIONS................................................................................................................30
LOGIN AUTHORIZATION ...............................................................................................................32
DATA CHANNEL ENCAPSULATION ................................................................................................32
SFTP RECOMMENDATIONS ....................................................................................................34
10
OTHER FTP IMPLEMENTATIONS .....................................................................................35
11
KEY CHALLENGES FOR NEW RESEARCH ....................................................................36
12
REFERENCES ..............................................................................................................................37
Sajid Sayed
Santvan Shah
Final Project
Page 3 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
1 Introduction
In this project, we will study and analyze various File Transfer Methods. As part of
this project, we will:




Analyze the methods in terms of how secure they are.
Try to find weaknesses and strengths of each method.
Try to make recommendations on which method to use in which situation.
Suggest improvements where possible.
Sajid Sayed
Santvan Shah
Final Project
Page 4 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
2 Various Methods of File Transfer
The following are various general methods of transferring files:







Manual File Transfers
File Transfer via e-Mail.
File Transfer via HTTP/HTTPS
File Transfer via Anonymous FTP
File Transfer via WU-FTP
File Transfer via SFTP/SCP
Other products of File Transfer Protocol.
Sajid Sayed
Santvan Shah
Final Project
Page 5 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
3 Manual File Transfer
This file transfer method is very primitive. This can be done through various
recording media.
3.1 How To
To transfer files through this method, a person needs to insert the media into the
drive of source system and copy the data to the media. After that, he/she should
take the media to the destination system and insert the media and copy to the
destination server or machine.
3.2 Common Uses
This is usually used between two systems, which are not connected to the network.
Very highly confidential data can be transferred through this way.
3.3 Transfer Media
This method of transferring files utilizes one or more of the following types of media:






Floppy Disk
CD/DVD
Tape
Zip Drive
USB Drives
Hard disk
3.4 Security Analysis
Weaknesses





Incompatibility of drives
Incompatibility of Media
Limited capacity of Media
If the media is lost, misplaced or damaged the data is gone. If the media is lost
or misplaced, then the data will be readily accessible to the finder.
Physical Access of source and destination systems is required.
Strengths

Even though it is an old method of file transfer it is very secure if done through
two trusted parties.
Sajid Sayed
Santvan Shah
Final Project
Page 6 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective


Since the data is not transferred through the wire there is no possibility of cyber
attack like (Packet sniffing, Man in the middle, hijacking, eavesdropping on the
network etc.)
This can be very useful for top-secret data transfer.
Sajid Sayed
Santvan Shah
Final Project
Page 7 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
4 File Transfer via Email
This is the most common method available since the advent of the Internet. This
method uses protocols like SMTP, POP, IMAP, etc.
4.1 How To
The user launches an e-mail client application, composes a new message, attaches
one or more files and sends the message with the attached files to a destination
email address. This process internally takes care of uploading the file to the server.
The recipient downloads his email from the mail server to the destination machine,
opens the email with another e-mail client application and saves the attachment to
the folder/directory of his choice.
4.2 Common Uses
This method is mostly used to transfer one or more files where security is not a
concern like simple documents, images, sound, music or AVI files. This method is
usually used at a personal or interoffice level.
4.3 Transfer Media
This method along with other methods uses the network to transfer data. Traffic can
be routed over wires, optical fibers or even satellite.
4.4 Security Analysis
Weaknesses







This method is mostly insecure unless the data is specifically encrypted.
It usually requires a third party mail server where a copy of information is always
stored.
There is a very high probability of the email being delivered to an unintended
recipient or of getting lost on the network.
There is no control over the destination folder or directory. To deliver the
document to the specific folder you require user intervention on the recipient
side.
It is highly vulnerable to man in the middle attack or session hijacking attack.
It is an extremely common and preferred method of spreading viruses.
There is a severe limitation on the size and number of file being transferred.
Sajid Sayed
Santvan Shah
Final Project
Page 8 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
Strengths




It is a very easy and economical way to transfer files. Even non-technical users
can easily transfer files.
Files can be sent in an encrypted manner if needed.
As compared to manual method of file transfer this method is extremely fast.
If the data is not confidential then this is the best way to transfer between
personal users.
Sajid Sayed
Santvan Shah
Final Project
Page 9 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
5 Regular/Anonymous FTP
What is FTP?
FTP refers to the File Transfer Protocol, one of the protocols within the TCP/IP
protocol suite used on the Internet. The File Transfer Protocol makes it possible to
transfer files from one computer (or host) on the Internet to another. In addition,
the FTP protocol implements commands to execute operations on a remote system,
e.g. view directories, change directories, make directories or delete files.
There are many FTP implementations built on the specification of the FTP protocol. A
user of an FTP program must log in to both hosts in order to transfer a file from one
to the other.
It is common for a user with files on more than one host to use the FTP program to
transfer files from one host to another. In this case, the user has an account on
both hosts involved, so he has passwords for both hosts.
However, Internet users may also take advantage of a wealth of information
available from archive sites by using a general-purpose account called "anonymous
FTP".
What is Anonymous FTP?
Anonymous FTP is a means by which archive sites allow general access to their
archives of information. These sites create a special account called "anonymous".
User "anonymous" has limited access rights to the archive host, as well as some
operating restrictions. In fact, the only operations allowed are logging in using FTP,
listing the contents of a limited set of directories, and retrieving files. Some sites
limit the contents of a directory listing an anonymous user can see as well. Note
that "anonymous" users are not usually allowed to transfer files TO the archive site,
but can only retrieve files from such a site.
Traditionally, this special anonymous user account accepts any string as a password,
although it is common to use either the password "guest" or one's electronic mail (email) address. Some archive sites now explicitly ask for the user's e-mail address
and will not allow login with the "guest" password. Providing an e-mail address is a
courtesy that allows archive site operators to get some idea of who is using their
services.
The objectives of FTP are
1) To promote sharing of files (computer programs and/or data),
2) To encourage indirect or implicit (via programs) use of remote computers,
3) To shield a user from variations in file storage systems among hosts, and
4) To transfer data reliably and efficiently.
FTP, though usable directly by a user at a terminal, is designed mainly for use by
programs.
Sajid Sayed
Santvan Shah
Final Project
Page 10 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
5.1 How To
THE FTP MODEL
With the above definitions in mind, the following model (shown in Figure 1) may be
diagrammed for an FTP service.
------------|/---------\|
||
User ||
-------||Interface|<--->| User |
|\----^----/|
----------------|
|
|
|/------\| FTP Commands |/----V----\|
||Server|<---------------->|
User ||
|| PI ||
FTP Replies ||
PI
||
|\--^---/|
|\----^----/|
|
|
|
|
|
|
-------|/--V---\|
Data
|/----V----\|
-------| File |<--->|Server|<---------------->| User
|<--->| File |
|System|
|| DTP ||
Connection
||
DTP
||
|System|
-------|\------/|
|\---------/|
----------------------------Server-FTP
USER-FTP
NOTES:
1. The data connection may be used in either direction.
2. The data connection need not exist all of the time.
Figure 1 Model for FTP Use
In the model described in Figure 1, the user-protocol interpreter initiates the control
connection. The control connection follows the Telnet protocol. At the initiation of
the user, standard FTP commands are generated by the user-PI and transmitted to
the server process via the control connection. (The user may establish a direct
control connection to the server-FTP and generate standard FTP commands
independently, bypassing the user-FTP process.) Standard replies are sent from the
server-PI to the user-PI over the control connection in response to the commands.
The FTP commands specify the parameters for the data connection (data port,
transfer mode, representation type, and structure) and the nature of file system
operation (store, retrieve, append, delete, etc.). The user-DTP or its designate
should "listen" on the specified data port, and the server initiates the data
connection and data transfer in accordance with the specified parameters. It should
be noted that the data port need not be in the same host that initiates the FTP
commands via the control connection, but the user or the user-FTP process must
ensure a "listen" on the specified data port. It ought to also be noted that the data
connection may be used for simultaneous sending and receiving.
Sajid Sayed
Santvan Shah
Final Project
Page 11 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
5.2 Common Uses
Generally used for software downloads, patches, trial versions or beta
versions. It is also used for information sharing and getting data from various
sources. It is one of the oldest methods using the ftp protocol.
5.3 Method of Transport
Files are transferred only via the data connection. The control connection is used for
the transfer of commands, which describe the functions to be performed, and the
replies to these commands. Several commands are concerned with the transfer of
data between hosts. These data transfer commands include the MODE command
which specify how the bits of the data are to be transmitted, and the STRUcture and
TYPE commands, which are used to define the way in which the data are to be
represented. The transmission and representation are basically independent but the
"Stream" transmission mode is dependent on the file structure attribute and if
"Compressed" transmission mode is used, the nature of the filler byte depends on
the representation type.
5.4 Security Analysis and Recommendations
Anonymous FTP can be a valuable service if correctly configured and administered.
Sites should ensure that they are using the most recent version of their FTP daemon.
5.4.1 Setting up the anonymous FTP directories
The anonymous FTP root directory (~ftp) and its subdirectories should not be owned
by the ftp account or be in the same group as the ftp account. This is a common
configuration problem. If any of these directories are owned by ftp or are in the
same group as the ftp account and are not write protected, an intruder will be able
to add files (such as a .rhosts file) or modify other files. Many sites find it acceptable
to use the root account. Making the ftp root directory and its subdirectories owned
by root, part of the system group, and protected so that only root has write
permission will help to keep your anonymous FTP service secure.
Here is an example of an anonymous FTP directory setup:
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x
7 root
25 root
2 root
2 root
10 root
system
system
system
system
system
512 Mar 1
512 Jan 4
512 Dec 20
512 Mar 12
512 Jun 5
15:17 ./
11:30 ../
15:43 bin/
16:23 etc/
10:54 pub/
Files and libraries, especially those used by the FTP daemon and those in ~ftp/bin
and ~ftp/etc, should have the same protections as these directories. They should not
be owned by ftp or be in the same group as the ftp account; and they should be
write protected.
Sajid Sayed
Santvan Shah
Final Project
Page 12 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
5.4.2 Using proper password and group files
We strongly advise that sites not use the system's /etc/passwd file as the password
file or the system's /etc/group as the group file in the ~ftp/etc directory. Placing
these system files in the ~ftp/etc directory will permit intruders to get a copy of
these files. These files are optional and are not used for access control.
We recommend that you use a dummy version of both the ~ftp/etc/passwd and
~ftp/etc/group files. These files should be owned by root. The dir command uses
these dummy versions to show owner and group names of the files and directories
instead of displaying arbitrary numbers.
Sites should make sure that the ~/ftp/etc/passwd file contains no account names
that are the same as those in the system's /etc/passwd file. These files should
include only those entries that are relevant to the FTP hierarchy or needed to show
owner and group names. In addition, ensure that the password field has been
cleared. The examples below show the use of asterisks (*) to clear the password
field.
Below is an example of a passwd file from the anonymous FTP area on cert.org:
ssphwg:*:3144:20:Site Specific Policy Handbook Working Group::
cops:*:3271:20:COPS Distribution::
cert:*:9920:20:CERT::
tools:*:9921:20:CERT Tools::
ftp:*:9922:90:Anonymous FTP::
nist:*:9923:90:NIST Files::
Here is an example group file from the anonymous FTP area on cert.org:
cert:*:20:
ftp:*:90:
5.4.3 Providing writable directories in your anonymous FTP
configuration
There is a risk to operating an anonymous FTP service that permits users to store
files. We strongly recommend that sites do not automatically create a "drop off"
directory unless thought has been given to the possible risks of having such a
service. There are many incidences where these directories have been used as "drop
off" directories to distribute bootlegged versions of copyrighted software or to trade
information on compromised accounts and password files. There have also been
incidents of file systems being maliciously filled causing denial of service problems.
This section discusses two ways to address these problems. The first is to use a
modified FTP daemon. The second method is to provide restricted write capability
through the use of special directories.
Sajid Sayed
Santvan Shah
Final Project
Page 13 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
5.4.3.1 Modified FTP daemon
If a site is planning to offer a "drop off" service, we suggest using a modified FTP
daemon that will control access to the "drop off" directory. This is the best way to
prevent unwanted use of writable areas. Some suggested modifications are:




Implement a policy where any file dropped off cannot be accessed until the
system manager examines the file and moves it to a public directory.
Limit the amount of data transferred in one session.
Limit the overall amount of data transferred based on available disk space.
Increase logging to enable earlier detection of abuses.
5.4.3.2 Using protected directories
If a site is planning to offer a "drop off" service and is unable to modify the FTP
daemon, it is possible to control access by using a maze of protected directories. This
method requires prior coordination and cannot guarantee protection from unwanted
use of the writable FTP area, but has been used effectively by many sites.
Protect the top level directory (~ftp/incoming) giving only execute permission to the
anonymous user (chmod 751 ~ftp/incoming). This will permit the anonymous user to
change directory (cd), but will not allow the user to view the contents of the
directory.
drwxr-x--x 4
root
system 512 Jun 11
13:29 incoming/
Create subdirectories in the ~ftp/incoming using names known only between your
local users and the anonymous users that you want to have "drop off" permission.
The same care used in selecting passwords should be taken in selecting these
subdirectory names because the object is to choose names that cannot be easily
guessed.
drwxr-x-wx 10
drwxr-x-wx 10
root
root
system 512 Jun 11
system 512 Jun 11
13:54 jAjwUth2/
13:54 MhaLL-iF/
This will prevent the casual anonymous FTP user from writing files in the anonymous
FTP file system. It is important to realize that this method does not protect a site
against the result of intentional or accidental disclosure of the directory names. Once
a directory name becomes public knowledge, this method provides no protection at
all from unwanted use of the area. Should a name become public, a site may choose
to either remove or rename the writable directory.
Sajid Sayed
Santvan Shah
Final Project
Page 14 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
5.4.4 A Vulnerability Example
Vulnerability has been detected in the anonymous FTP configuration in all versions of
IBM’s AIX.
IBM is aware of this problem and a fix is available as apar number "ix23944". This
patch is available for all AIX releases from "GOLD".
Description
Previous
versions
of
the
anonymous
FTP
installation
script,
/usr/lpp/tcpip/samples/anon.ftp, incorrectly configured various files and directories.
Impact
Remote users can execute unauthorized commands and gain access to the system if
anonymous FTP has been installed.
Solution
Obtain the fix from IBM Support.
5.4.5 Risks of using FTP transfers
Using the file transfer protocol is considered to be less secure, as a password is
required for transfers, which is transmitted without encryption via the web. FTP is
one of the oldest and most frequently used protocols on the web, however, there are
some considerations concerning security:

When logging into the server, the user name and password are transmitted in
plain text and can be detected easily.

When connecting to the FTP server the sent data can be ’kidnapped’ to a foreign
computer with the result that they will never arrive at the specified target
computer. From the foreign computer data can be transferred to the actual
computer as well as existing data can be viewed and edited. This can be a great
danger for companies transferring in-house information!

FTP can also be used to find out the passwords of the users, as the password is
transferred in plain text when logging in, so that a person having authorized
access to the web can find out the password.
Sajid Sayed
Santvan Shah
Final Project
Page 15 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
5.4.5.1 The Bounce Attack
The version of FTP specified in the standard [PR85] provides a method for attacking
well-known network servers, while making the perpetrators difficult to track down.
The attack involves sending an FTP "PORT" command to an FTP server containing the
network address and the port number of the machine and service being attacked. At
this point, the original client can instruct the FTP server to send a file to the service
being attacked. Such a file would contain commands relevant to the service being
attacked (SMTP, NNTP, etc.). Instructing a third party to connect to the service,
rather than connecting directly, makes tracking down the perpetrator difficult and
can circumvent network-address-based access restrictions.
5.4.5.2 Restricted Access
For some FTP servers, it is desirable to restrict access based on network address.
Note that restricting access based on network address leaves the FTP server
vulnerable to "spoof" attacks. In a spoof attack, for example, an attacking machine
could assume the host address of another machine inside an organization and
download files that are not accessible from outside the organization. Secure
authentication mechanisms should be used whenever possible.
5.4.5.3 Protecting Passwords
To minimize the risk of brute force password guessing through the FTP server, it is
suggested that servers limit the number of attempts that can be made at sending a
correct password. After a small number of attempts (3-5), the server should close
the control connection with the client. In addition, it is suggested that the server
impose a 5 second delay before replying to an invalid "PASS" command to diminish
the efficiency of a brute force attack.
An intruder can subvert the above mechanisms by establishing multiple, parallel
control connections to a server.
To combat the use of multiple concurrent
connections, the server could either limit the total number of control connections
possible or attempt to detect suspicious activity across sessions and refuse further
connections from the site. However, both of these mechanisms open the door to
"denial of service" attacks, in which an attacker purposely initiates the attack to
disable access by a valid user.
Standard FTP sends passwords in clear text using the "PASS" command. It is
suggested that FTP clients and servers use alternate authentication mechanisms that
are not subject to eavesdropping.
Sajid Sayed
Santvan Shah
Final Project
Page 16 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
5.4.5.4 Privacy
All data and control information (including passwords) is sent across the network in
unencrypted form by standard FTP. To guarantee the privacy of the information FTP
transmits, a strong encryption scheme should be used whenever possible.
5.4.5.5 Protecting Usernames
Standard FTP specifies a 530 response to the USER command when the username is
rejected. If the username is valid and a password is required FTP returns a 331
response instead. In order to prevent a malicious client from determining valid
usernames on a server, it is suggested that a server always return 331 to the USER
command and then reject the combination of username and password for an invalid
username.
5.4.5.6 Port Stealing
Many operating systems assign dynamic port numbers in increasing order. By
making a legitimate transfer, an attacker can observe the current port number
allocated by the server and "guess" the next one that will be used. The attacker can
make a connection to this port, thus denying another legitimate client the ability to
make a transfer. Alternatively, the attacker can steal a file meant for a legitimate
user. In addition, an attacker can insert a forged file into a data stream thought to
come from an authenticated client.
This problem can be mitigated by making FTP clients and servers use random local
port numbers for data connections, either by requesting random ports from the
operating system or using system dependent mechanisms.
5.4.5.7 Software-Based Security Problems
The emphasis in this document is on protocol-related security issues. There are a
number of documented FTP security-related problems that are due to poor
implementation as well. The following FTP features has been abused in the past and
should be treated with great care by future implementers:

Anonymous FTP
As discussed above, Anonymous FTP refers to the ability of a client to connect to
an FTP server with minimal authentication and gain access to public files.
Security problems arise when such a user can read all files on the system or can
create files.

Remote Command Execution
Sajid Sayed
Santvan Shah
Final Project
Page 17 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
An optional FTP extension, "SITE EXEC", allows clients to execute arbitrary
commands on the server. This feature should obviously be implemented with
great care.

Debug Code
Several previous security compromises related to FTP can be attributed to
software that was installed with debugging features enabled.
Strengths
This method satisfies the diverse needs of users with a simple, and easily
implemented protocol design.
Sajid Sayed
Santvan Shah
Final Project
Page 18 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
6 WUFTP
Wuarchive-ftpd, more affectionately known as WU-FTPD, is a replacement ftp
daemon for Unix systems developed at Washington University (*.wustl.edu) by Chris
Myers and later by Bryan D. O'Connor (who are no longer working on it or supporting
it!). WU-FTPD is the most popular ftp daemon on the Internet, used on many
anonymous ftp sites all around the world.
6.1 Sample WUFTP configuration
Here is a sample ftpaccess configuration file:
class
all
real,guest,anonymous
*
limit
all
10
/etc/msgs/msg.dead
readme
readme
README*
README*
Any
login
cwd=*
message /welcome.msg
message .message
login
cwd=*
compress
tar
all
all
yes
yes
log commands real
log transfers anonymous,real inbound,outbound
shutdown /etc/shutmsg
email user@hostname
6.2 A Vulnerability Example
Vulnerability exists with certain configurations of the SITE EXEC command in the
Washington University ftpd, also known as wu-ftpd. Exploitation of this vulnerability
may allow root access from any account on the system.
The vulnerable configuration is known to exist in numerous Linux distributions and is
currently being actively exploited by intruders.
It should be noted that this vulnerability is not necessarily limited to Linux but may
exist on any wu-ftpd installation. Thus, all users of the wu-ftpd program, not just the
Linux users, should take this opportunity to verify the configuration of their
daemons. Note that versions of wu-ftpd before the 2.4 release contain serious
security vulnerabilities and should be updated immediately.
Description
Sajid Sayed
Santvan Shah
Final Project
Page 19 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
There is a problem with the default configuration of the Washington University FTP
Server version 2.4 in major Linux distributions, including but not limited to
Slackware 2.0, 2.1, 2.2, 2.3, Yggdrasil Plug&Play Fall'94, and the Debian
Distribution. By exploiting this problem, any user who is able to log into a system
having the vulnerable configuration via FTP using their login, and not the anonymous
login, may gain root access.
Other systems besides Linux can be configured to be vulnerable although the
standard wu-ftpd 2.4 source code as distributed is not vulnerable.
The problem is that the variable _PATH_EXECPATH was set to "/bin" in the
configuration file src/pathnames.h when the distribution binary was built.
_PATH_EXECPATH should be set to "/bin/ftp-exec" or a similar directory that does
not contain a shell or command interpreter, for example. The source code shipped
with the Linux distributions contains the correct value ("/bin/ftp-exec") despite the
incorrect distribution binary. You should verify that _PATH_EXECPATH has the
correct value before recompiling.
Note that the documentation for wu-ftpd states that the directory defined by
_PATH_EXECPATH is relative to ~ftp, the ftp home directory as specified in the
password file. This is misleading. The pathname is relative to ~ftp for anonymous
users only. This pathname is relative to "/" for other user sessions.
Impact
Any user with a local account on a system offering FTP services with the vulnerable
configuration may gain root access. Support for anonymous FTP access is not
required to exploit this vulnerability.
How to determine if you are vulnerable
All systems running wu-ftpd should be checked to determine if the configuration is
vulnerable.
To test your configuration, access the FTP server using a legitimate user account
(not an anonymous FTP login) and login to your FTP server. For example:
srchost> ftp ftphost
Connected to ftphost
220 ftphost FTP server (Version wu-2.4(2) Mon Apr 18 09:135 [...]
ready.
Name (srchost:joe):
331 Password required for joe.
Password:
230 User joe logged in.
Then type:
ftp> quote site exec echo problem
Sajid Sayed
Santvan Shah
Final Project
Page 20 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
If you see the following response, then you are not vulnerable:
200-echo problem
200 (end of 'echo problem')
However, if you see this following response, then you are vulnerable (note the
additional '200-problem' entry):
200-echo problem
200-problem
200 (end of 'echo problem')
Solution
If you have the vulnerability, we recommend that you turn off ftpd immediately.
Once you have done that, you can then decide whether to rebuild or fetch a new ftpd
binary.
Sajid Sayed
Santvan Shah
Final Project
Page 21 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
7 File Transfer via SFTP
SFTP is a secure form of the ftp command. Whenever a user opens up a regular ftp
session or most other TCP/IP connections, the entire transmission made between the
host and the user is sent in plain text. Anyone who has the ability to snoop on the
network packets can read the data, including the password information. If an
unauthorized user can login, they have the opportunity to compromise the system.
When using ssh's SFTP instead of the ftp, the entire login session, including
transmission of password, is encrypted. It is therefore much more difficult for an
outsider to observe and collect passwords from a system using ssh/SFTP sessions.
Network engineers and systems administrators have been using FTP to send files
back and forth to and from remote systems since the early days of the Internet. FTP
is part of every reputable TCP/IP stack. Though we've all grown used to using FTP for
the bulk of our file transfer needs, using it securely is becoming more important
today than ever before. In this section we have provided information on Secure FTP
that will help people understand its practical application.
7.1 How To
SFTP is similar to ftp: SFTP username@ip_address at which point it will prompt you
for your password. Then you receive an SFTP prompt. For then on you use the same
commands as in an ftp session, i.e. dir, get, put, etc. Note that the commands bin,
ascii, prompt are not used in SFTP. Also, the transfer of multiple files with "mget"
and "mput" is not supported. If you want to transfer many files, use the "tar"
command to produce a single archive for SFTP. If you need a reminder which
commands are available type "help" at the SFTP> prompt.
7.2 Fingerprints
To make sure that you have exchanged data with the correct server during SFTP
connection, the SFTP server transmits cryptographic fingerprints of its official host
key before connecting. During the first connection the key is not known by the client
program and needs to be confirmed by the user. Once are you connected to a
remote server and you are sure that this is the server you wish to connect to, you
should save fingerprint information locally. For each new connection, you should
check, if the fingerprint information is the one you stored - to make sure that nobody
is in the "middle". Fingerprint information is almost unique for different servers and
is generated from the private key of the server.
7.3 OpenSSH
OpenSSH is a FREE version of the SSH protocol suite of network connectivity tools
that increasing numbers of people on the Internet are coming to rely on. Many users
of telnet, rlogin, ftp, and other such programs might not realize that their password
is transmitted across the Internet unencrypted, but it is. OpenSSH encrypts all traffic
Sajid Sayed
Santvan Shah
Final Project
Page 22 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
(including passwords) to effectively eliminate eavesdropping, connection hijacking,
and other network-level attacks. Additionally, OpenSSH provides a myriad of secure
tunneling capabilities, as well as a variety of authentication methods.
The OpenSSH suite includes the SSH program which replaces rlogin and telnet, SCP
which replaces rcp, and SFTP which replaces ftp. Also included is SSHD which is the
server side of the package, and the other basic utilities like ssh-add, ssh-agent, sshkeysign, ssh-keyscan, ssh-keygen and SFTP-server. OpenSSH supports SSH protocol
versions 1.3, 1.5, and 2.0.
7.4 Need for SFTP
SFTP stands for ‘Secure File Transfer Protocol’. The Secure File Transfer Protocol
provides secure file transfer functionality over any reliable data stream, SSH in this
case. It is the standard file transfer protocol to use with the SSH2 protocol.
SFTP protocol is designed to provide primarily file transfer, but also more general file
system access on the remote server - in secure manner. SFTP protocol assumes it is
running on secure channel, thus no plaintext passwords or file information is exposed
to the network.
7.4.1.1 Technology Background
Keeping the files on your intranet in top working order and keeping your e-business
alive seems to require moving files around endlessly to keep things organized.
System and network administrators use FTP to update DNS zone maps, update web
sites, transfer user data, move around database files, and endless other chores to
keep file systems and hard drives tidy. Moving files from here to there is the
heartbeat of the Internet. The nice thing about FTP is that it allows you to move files
easily between systems that use similar or different operating systems, file
structures, and character sets.
7.4.1.2 Problems with Standard FTP
FTP was originally defined in the early 1970s to transfer files to and from various
ARPANET nodes. However, there are a few problems with standard FTP that we all
grew up with in the early days of the Internet. First of all, it doesn't use strong
authentication. It is based on password logins which can be guessed, or discovered
by cyber criminals using a sniffer. Even if the password is not guessed or sniffed,
with standard FTP none of the files being transferred to and from their destinations
are encrypted. FTP sends files in clear plain-text exposing them to the plethora of
bad guys out there who have nothing better to do than violate the privacy of others,
pilfer confidential information such as credit card information, and attempt to obtain
classified information that could compromise national security.
Sajid Sayed
Santvan Shah
Final Project
Page 23 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
Files being transferred by FTP are also vulnerable to man-in-the-middle attacks
where data is intercepted and then altered before sending it back on its way. Another
scenario where using secure FTP is critical is during web site updates. Without secure
FTP, it is very easy to hack a web site and edit it with digital graffiti. All a hacker has
to do is find out the IP address of the web site using a reverse ping on the domain
name, and then set up a sniffer to run 24 hours a day on the IP address to sniff and
log the login connection. As soon as the web master logs in to update the site, the
hacker's sniffer can grab and record the password and login information. Using the
login information, hackers can then download the site's web pages onto their own
computer. After downloading the website, hackers then can use any number of HTML
editors to edit the website with graffiti, fraudulent news, or anything else, and then
FTP it back to its real home on the Web using the login and password they sniffed
earlier. The main reason that web sites get hacked is because they are being
updated with insecure FTP transfers. There are other ways that web sites can get
hacked (due to improper OS and incorrect server configurations) but using secure
FTP certainly reduces the probability of hacks due to insecure file transfers and
logins.
7.5 SFTP Features
SFTP runs over the SSH protocol suite providing encryption for network services like
remote login or remote file transfer.
The following is a list of SFTP features:

Strong Encryption (3DES, Blowfish, AES, Arcfour)

X11 Forwarding (encrypt X Window System traffic)

Port Forwarding (encrypted channels for legacy protocols)

Strong Authentication
Authentication)

Agent Forwarding (Single-Sign-On)

Interoperability (Compliance with SSH 1.3, 1.5, and 2.0 protocol Standards)

Kerberos and AFS Ticket Passing

Data Compression
(Public
Key,
One-Time
Password
and
Kerberos
7.5.1 Strong Encryption
OpenSSH supports 3DES, Blowfish, AES and arcfour as encryption algorithms. These
are patent free.
Triple DES is a time proven and well understood cipher that provides strong
encryption.
Sajid Sayed
Santvan Shah
Final Project
Page 24 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
Blowfish is a fast block cipher invented by Bruce Schneier that can be used by
people that require faster encryption.
AES is the US Federal Information Processing Standard (FIPS) Advanced Encryption
Standard developed as a replacement for DES. It is a fast block cipher.
Arcfour is a fast stream cipher. It is believed to be compatible with RC4[TM], a
proprietary cipher of RSA Security Inc. Encryption is started before authentication,
and no passwords or other information is transmitted in the clear. Encryption is also
used to protect against spoofed packets.
7.5.2 X11 Forwarding
X11 forwarding allows the encryption of remote X windows traffic, so that nobody
can snoop on your remote xterms or insert malicious commands. The program
automatically sets DISPLAY on the server machine, and forwards any X11
connections over the secure channel. Fake Xauthority information is automatically
generated and forwarded to the remote machine; the local client automatically
examines incoming X11 connections and replaces the fake authorization data with
the real data (never telling the remote machine the real information).
7.5.3 Port Forwarding
Port forwarding allows forwarding of TCP/IP connections to a remote machine over
an encrypted channel. Standard Internet applications like POP can be secured with
this.
7.5.4 Strong Authentication
Strong authentication protects against several security problems, e.g., IP spoofing,
fakes routes, and DNS spoofing. The authentication methods are: .rhosts together
with RSA based host authentication, pure RSA authentication, one-time passwords
with s/key, and finally authentication using Kerberos.
7.5.5 Agent Forwarding
An authentication agent, running in the user's laptop or local workstation, can be
used to hold the user's RSA or DSA authentication keys. OpenSSH automatically
forwards the connection to the authentication agent over any connections, and there
is no need to store the RSA or DSA authentication keys on any machine in the
network (except the user's own local machine). The authentication protocols never
reveal the keys; they can only be used to verify that the user's agent has a certain
key. Eventually the agent could rely on a smart card to perform all authentication
computations.
Sajid Sayed
Santvan Shah
Final Project
Page 25 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
7.5.6 Interoperability
OpenSSH versions before 2.0 support the SSH 1.3 and SSH 1.5 protocols permitting
communication with most UNIX, Windows and other commercial ssh
implementations.
As of OpenSSH 2.0, as well as supporting SSH 1.3 protocol and SSH 1.5 protocol,
OpenSSH also has support for the SSH 2.0 protocol. This protocol avoids using the
RSA algorithm. since at the time protocol 2.0 was invented the RSA patent was still
in effect and uses the freely useable DH and DSA algorithms instead.
Thus, OpenSSH gives you the best of both worlds. You can interoperate with both
types of ssh clients and servers!
7.5.7 Kerberos and AFS Ticket Passing
SFTP also passes tickets for Kerberos and AFS on to the remote machine. A user can
thus access all his Kerberos and AFS services without the need to type in a password
again.
7.5.8 Data Compression
Data compression before encryption improves the performance for slow network
links.
7.6 Security Analysis
SFTP is developed with very rigorous security processes for which it is famous for.
Strengths

SFTP is not vulnerable to the RC4 cipher password cracking, replay, or
modification attacks. At the time that SFTP was started, it was already known
that SSH 1 used the RC4 stream cipher completely incorrectly, and thus RC4
support was removed.

SFTP is not vulnerable to client forwarding attacks in unencrypted
connections, since unencrypted connection support was removed at SFTP
project start.

SFTP is not vulnerable to IDEA-encryption algorithm attacks on the last
packet, since the IDEA algorithm is not supported. The patent status of IDEA
makes it unsuitable for inclusion in SFTP.
Sajid Sayed
Santvan Shah
Final Project
Page 26 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective

SFTP does not treat localhost as exempt from host key checking, thus making
it not vulnerable to the host key authentication bypass attack.

SFTP is not vulnerable to uncontrollable X11 forwarding attacks because X11forwarding is disabled by default and the user can de-permit it.

New SFTP versions do not allow a remote attacker to execute arbitrary
commands with the privileges of sshd if UseLogin is enabled by the
administrator. UseLogin is disabled by default.

SFTP imposes limits on the connection rate, making the attack unfeasible.

SFTP does not allow malicious servers to access the client's X11 display or
ssh-agent.

SFTP does not allow users to delete files named "cookies" if X11 forwarding is
enabled. X11 forwarding is disabled by default.

SFTP does not allow users to pass environment variables to login if UseLogin
is enabled. The UseLogin option is disabled by default in all OpenSSH
releases.
Weaknesses

SFTP has the SSH 1 protocol deficiency that might make an insertion attack
difficult but possible. The CORE-SDI deattack mechanism is used to eliminate
the common case. Ways of solving this problem are being investigated, since
the SSH 1 protocol is not dead yet.

A buffer overflow in the CRC32 compensation attack detector can lead to
remote root access. This problem has been fixed in SFTP. However, older
versions were vulnerable.
Sajid Sayed
Santvan Shah
Final Project
Page 27 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
7.7 SFTP usage and implementations over time
SFTP Usage on the Internet over time
SFTP Implementations on the Internet over time
Sajid Sayed
Santvan Shah
Final Project
Page 28 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
8 FTP Security Extensions
8.1 General Issues
The File Transfer Protocol (FTP) currently defined in STD 9, RFC 959 and in place on
the Internet uses usernames and passwords passed in cleartext to authenticate
clients to servers (via the USER and PASS commands). Except for services such as
"anonymous" FTP archives, this represents a security risk whereby passwords can be
stolen through monitoring of local and wide-area networks. This either aids potential
attackers through password exposure and/or limits accessibility of files by FTP
servers who cannot or will not accept the inherent security risks.
Aside from the problem of authenticating users in a secure manner, there is also the
problem of authenticating servers, protecting sensitive data and/or verifying its
integrity. An attacker may be able to access valuable or sensitive data merely by
monitoring a network, or through active means may be able to delete or modify the
data being transferred so as to corrupt its integrity. An active attacker may also
initiate spurious file transfers to and from a site of the attacker's choice, and may
invoke other commands on the server. FTP does not currently have any provision for
the encryption or verification of the authenticity of commands, replies, or transferred
data. Note that these security services have value even to anonymous file access.
Current practice for sending files securely is generally either:
1. via FTP of files pre-encrypted under keys which are manually distributed,
2. via electronic mail containing an encoding of a file encrypted under keys which are
manually distributed,
3. via a PEM message, or
4. via the rcp command enhanced to use Kerberos.
None of these means could be considered even a de facto standard, and none are
truly interactive. A need exists to securely transfer files using FTP in a secure
manner which is supported within the FTP protocol in a consistent manner and which
takes advantage of existing security infrastructure and technology. Extensions are
necessary to the FTP specification if these security services are to be introduced into
the protocol in an interoperable way.
Although the FTP control connection follows the Telnet protocol, and Telnet has
defined an authentication and encryption option [TELNET-SEC], [RFC-1123] explicitly
forbids the use of Telnet option negotiation over the control connection (other than
Synch and IP).
Also, the Telnet authentication and encryption option does not provide for integrity
protection only (without confidentiality), and does not address the protection of the
data channel.
Sajid Sayed
Santvan Shah
Final Project
Page 29 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
8.2 Security Extensions
At the highest level, the FTP security extensions seek to provide an abstract
mechanism for authenticating and/or authorizing connections, and integrity and/or
confidentiality protecting commands, replies, and data transfers.
In the context of FTP security, authentication is the establishment of a client's
identity and/or a server's identity in a secure way, usually using cryptographic
techniques. The basic FTP protocol does not have a concept of authentication.
Authorization is the process of validating a user for login. The basic authorization
process involves the USER, PASS, and ACCT commands. With the FTP security
extensions, authentication established using a security mechanism may also be used
to make the authorization decision.
Without the security extensions, authentication of the client, as this term is usually
understood, never happens. FTP authorization is accomplished with a password,
passed on the network in the clear as the argument to the PASS command. The
possessor of this password is assumed to be authorized to transfer files as the user
named in the USER command, but the identity of the client is never securely
established.
An FTP security interaction begins with a client telling the server what security
mechanism it wants to use with the AUTH command. The server will either accept
this mechanism, reject this mechanism, or, in the case of a server which does not
implement the security extensions, reject the command completely. The client may
try multiple security mechanisms until it requests one which the server accepts. This
allows a rudimentary form of negotiation to take place. (If more complex negotiation
is desired, this may be implemented as a security mechanism.) The server's reply
will indicate if the client must respond with additional data for the security
mechanism to interpret.
If none is needed, this will usually mean that the
mechanism is one where the password (specified by the PASS command) is to be
interpreted differently, such as with a token or one-time password system.
If the server requires additional security information, then the client and server will
enter into a security data exchange. The client will send an ADAT command
containing the first block of security data. The server's reply will indicate if the data
exchange is complete, if there was an error, or if more data is needed. The server's
reply can optionally contain security data for the client to interpret. If more data is
needed, the client will send another ADAT command containing the next block of
data, and await the server's reply. This exchange can continue as many times as
necessary. Once this exchange completes, the client and server have established a
security association. This security association may include authentication (client,
server, or mutual) and keying information for integrity and/or confidentiality,
depending on the mechanism in use.
The term "security data" here is carefully chosen. The purpose of the security data
exchange is to establish a security association, which might not actually include any
authentication at all, between the client and the server as described above. For
instance, a Diffie-Hellman exchange establishes a secret key, but no authentication
Sajid Sayed
Santvan Shah
Final Project
Page 30 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
takes place. If an FTP server has an RSA key pair but the client does not, then the
client can authenticate the server, but the server cannot authenticate the client.
Once a security association is established, authentication, which is a part of this
association, may be used instead of or in addition to the standard
username/password exchange for authorizing a user to connect to the server. A
username specified by the USER command is always required to specify the identity
to be used on the server.
In order to prevent an attacker from inserting or deleting commands on the control
stream, if the security association supports integrity, then the server and client must
use integrity protection on the control stream, unless it first transmits a CCC
command to turn off this requirement. Integrity protection is performed with the
MIC and ENC commands, and the 63z reply codes. The CCC command and its reply
must be transmitted with integrity protection.
Commands and replies may be transmitted without integrity (that is, in the clear or
with confidentiality only) only if no security association is established, the negotiated
security association does not support integrity, or the CCC command has succeeded.
Once the client and server have negotiated with the PBSZ command an acceptable
buffer size for encapsulating protected data over the data channel, the security
mechanism may also be used to protect data channel transfers.
Policy is not specified by this document. In particular, client and server
implementations may choose to implement restrictions on what operations can be
performed depending on the security association which exists. For example, a server
may require that a client authorize via a security mechanism rather than using a
password, require that the client provide a one-time password from a token, require
at least integrity protection on the command channel, or require that certain files
only be transmitted encrypted. An anonymous ftp client might refuse to do file
transfers without integrity protection in order to insure the validity of files
downloaded.
No particular set of functionality is required, except as dependencies described in the
next section. This means that none of authentication, integrity, or confidentiality are
required of an implementation, although a mechanism which does none of these is
not of much use. For example, it is acceptable for a mechanism to implement only
integrity protection, one-way authentication and/or encryption, encryption without
any authentication or integrity protection, or any other subset of functionality if
policy or technical considerations make this desirable. Of course, one peer might
require as a matter of policy stronger protection than the other is able to provide,
preventing perfect interoperability.
Sajid Sayed
Santvan Shah
Final Project
Page 31 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
8.3 Login Authorization
The security data exchange may, among other things, establish the identity of the
client in a secure way to the server. This identity may be used as one input to the
login authorization process.
In response to the FTP login commands (AUTH, PASS, ACCT), the server may choose
to change the sequence of commands and replies specified by RFC 959 as follows.
There are also some new replies available.
If the server is willing to allow the user named by the USER command to log in based
on the identity established by the security data exchange, it should respond with
reply code 232.
If the security mechanism requires a challenge/response password, it should respond
to the USER command with reply code 336. The text part of the reply should contain
the challenge. The client must display the challenge to the user before prompting for
the password in this case. This is particularly relevant to more sophisticated clients
or graphical user interfaces which provide dialog boxes or other modal input. These
clients should be careful not to prompt for the password before the username has
been sent to the server, in case the user needs the challenge in the 336 reply to
construct a valid password.
8.4 Data Channel Encapsulation
When data transfers are protected between the client and server (in either direction),
certain transformations and encapsulations must be performed so that the recipient
can properly decode the transmitted file.
The sender must apply all protection services after transformations associated with
the representation type, file structure, and transfer mode have been performed. The
data sent over the data channel is, for the purposes of protection, to be treated as a
byte stream.
When performing a data transfer in an authenticated manner, the authentication
checks are performed on individual blocks of the file, rather than on the file as a
whole. Consequently, it is possible for insertion attacks to insert blocks into the data
stream (i.e., replays) that authenticate correctly, but result in a corrupted file being
undetected by the receiver. To guard against such attacks, the specific security
mechanism employed should include mechanisms to protect against such attacks.
The sender must take the input byte stream, and break it up into blocks such that
each block, when encoded using a security mechanism specific procedure, will be no
larger than the buffer size negotiated by the client with the PBSZ command. Each
block must be encoded, then transmitted with the length of the encoded block
prepended as a four byte unsigned integer, most significant byte first.
When the end of the file is reached, the sender must encode a block of zero bytes,
and send this final block to the recipient before closing the data connection.
Sajid Sayed
Santvan Shah
Final Project
Page 32 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
The recipient will read the four-byte length, read a block of data that many bytes
long, then decode and verify this block with a security mechanism specific procedure.
This must be repeated until a block encoding a buffer of zero bytes is received. This
indicates the end of the encoded byte stream.
Any transformations associated with the representation type, file structure, and
transfer mode are to be performed by the recipient on the byte stream resulting
from the above process.
When using block transfer mode, the sender's (cleartext) buffer size is independent
of the block size.
The server will reply 534 to a STOR, STOU, RETR, LIST, NLST, or APPE command if
the current protection level is not at the level dictated by the server's security
requirements for the particular file transfer.
If any data protection services fail at any time during data transfer at the server end
(including an attempt to send a buffer size greater than the negotiated maximum),
the server will send a 535 reply to the data transfer command (either STOR, STOU,
RETR, LIST, NLST, or APPE).
Sajid Sayed
Santvan Shah
Final Project
Page 33 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
9 SFTP Recommendations
The following are some of our recommendations for anyone considering a secure FTP
implementation

If you're a U.S. Federal Agency, you'll probably want to pick a secure FTP
product that is FIPS-140 Certified. If a vendor tells you their product is FIPS140 Certified, ask to see the FIPS-140 Validation Certificate.

If you don't want to manage and administer client side software, you'll want
to find an application service provider (ASP) model that offers secure FTP
functions.

If you want to use secure FTP for collaboration and file sharing, you may want
to consider using a digital vault with an address book that has built-in FTP
security. (A digital vault is a secure online storage receptacle typically set up
as an ASP service.)

If you are a web master updating a web site using a secure FTP product will
ensure that your website login and password information does not get
compromised.

If you are transferring any sort of financial information or credit card numbers
across public networks you should use a secure FTP product if you are not
protected by a VPN.
Sajid Sayed
Santvan Shah
Final Project
Page 34 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
10 Other FTP implementations
Here is a partial list of some other FTP software available:
Troll Ftpd, a free ftp-server, available from
<URL:http://www.troll.no/freebies/ftpd.html>
FileDrive, a commercial file-server which needs its own clients, available from
<URL:http://www.filedrive.com/>
NcFTPd server, commercial server (free for educational domains), available from
<URL:http://www.ncftpd.com/>
ProFTPD, a free ftpserver (GPL), available from <URL:http://www.proftpd.org/>
ftpd-BSD, a port of the OpenBSD ftpd, available from
<URL:http://www.eleves.ens.fr:8080/home/madore/programs/#prog_ftpd-BSD>
Net::FTPServer, written in Perl, available from
<URL:http://ftpserver.bibliotech.net/>
WFTPD, a commercial server for Windows with a Pro version for NT/2000/XP,
available from <URL:http://www.wftpd.com/>
Sajid Sayed
Santvan Shah
Final Project
Page 35 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
11 Key challenges for new research
One of the biggest challenges for IT decision makers is that they are not properly
educated on why they need to use secure FTP products, and under what
circumstance they should use them. In some cases using ordinary FTP is may not
pose much for a risk. For example, using ordinary FTP while on the inside of a VPN is
not that risky, but using it across the unsecured Internet creates increased risk.
To avoid liabilities, vendors who build standard FTP into their products should advise
and educate customers if no security measures have been implemented. By
qualifying whether or not products have built-in security, vendors will limit their
liabilities since customers will be forewarned of the risks involved. If these same
vendors license or build in a secure FTP product for integration into their product,
they will be able to achieve notable marketing leverage in advertising embedded file
transfer security features.
Vendors who sell secure FTP products need to educate prospective customers on why
they need to use these products. Many system and network administrators may not
understand the risks they are taking when using FTP products that do not offer
advanced security features.
In summary, some of the key challenges for new research in this field are:




Migrating the existing regular (anonymous) FTPs to a more secure version
Simplifying encryption for file transfers, so that ordinary users can use it
without any training or expertise.
Simplifying key setup, management, distribution and rotation.
Training and Awareness among users
Sajid Sayed
Santvan Shah
Final Project
Page 36 of 37
CMPT585 - Computer and Data Security - FALL 2004
File Transfer Methods: A Security Perspective
12 References
http://www.cert.org/
http://www.faqs.org/rfcs/rfc959.html
http://www.wu-ftpd.org/
http://www.wu-ftpd.org/rfc/rfc2228.html
http://www.landfield.com/wu-ftpd/
Sajid Sayed
Santvan Shah
Final Project
Page 37 of 37
Download