SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Security
                                       Toshiharu Harada  Takaaki Matsumoto
                                             NTT DATA CORPORATION

     Abstract:    Mandatory Access Control (MAC) is a powerful guard against non-authorized access, but is vulnerable to
                 hackers logged in through proper procedure. This paper describes how to guard such case using MAC.
     Keywords:      Mandatory Access Control, MAC, Login Authentication, Anti-Spoofing


1.     Introduction
   The DAC (Discretionary Access Control), which                    2.     Vulnerabilities of Login Authentication
Microsoft Windows, Linux and many other operating                     The general method of login authentication used in
systems have built-in, holds vulnerabilities and there are          many computer systems is password authentication that
risks caused by DAC's vulnerabilities. To solve DAC's               uses password supplied by user. Typically, login
problem, MAC (Mandatory Access Control) was invented                authentication can be performed only once. Therefore,
[1]. At first, the MAC was implemented for the systems              login authentication always has threats such as password
that have special requirements including military use. But          cracking using dictionary attack or avoidance of login
LSM [2] (a framework to provide MAC to Linux) and                   authentication by attacking authentication program's
SELinux [3] (one of implementations that provides MAC               vulnerability (for example, buffer overflow).
using LSM) were introduced into Linux (the open sourced               Conventional login authentication has the following
operating system) on November 2004, and the MAC                     problems.
became closer to us at a stretch. While the environment to          ・ Login authentication can be performed only once.
build secure Linux system has been greatly improved, the            ・ Passwords are used in many systems.
purpose and meaning of security enhancement by                      ・ Have to worry password's secrecy because you can't
introducing the security enhanced OS are not very                        know the moment your password being cracked.
accurately known. According to a paper [4] by SELinux               ・ Have to worry vulnerability of authentication
development project, the following two are the merits of                 programs.
introducing SELinux.                                                  These problems are described below.
・ Handling of the threats posed by "Tampering" or
                                                                    2.1.    Login authentication can be performed only once.
     "Avoidance of security mechanisms at application
     level".                                                          Normally, the login authentication is performed only
・ Minimizing the damage caused by malicious or                      once before a user logs into the system, regardless of the
     vulnerable applications.                                       user is system administrator or not. Some security aware
   These are the exactly merits gained by security                  applications (for example, database software) enforce
enhancement at OS level. These are never excessive                  application specific authentications, but users can access
requirements and all computer systems should provide                to almost all resources if they passed the login
essentially. But you need to be careful that the                    authentication. There are some attempts to notify the
introduction of MAC itself doesn't promise protection               possibility of illegal logins (for example, displaying last
against all kinds of damage. On the systems that have               login time) after the user passed the login authentication.
MAC support, if MAC's policies are defined appropriately,           But even if the user can notice illegal logins, it's useless
the system won't get damaged indefinitely by invoking               because the system is already damaged and the user can't
shell with administrator's privilege even if some process is        respond. Moreover, the user even can't identify the
hijacked due to vulnerability such as buffer overflow. But          damaged range of the system after the fact.
since it is possible to log into the system through proper
                                                                    2.2.    Passwords are used in many systems.
procedure (for example, login authentication using valid
username and correct password), there is a threat that a               The only basis of password authentication is the
cracker logs into the system in case the password's secrecy         correctness of the ordering of password string. Therefore,
is broken. It is possible to define strict policies for routine     it is problematic that users have to keep their password's
tasks and functions. But it is difficult to define strict           secrecy. Possible risks are, cracked by dictionary attack,
policies for administration task that is done by                    stolen by eavesdropping or social engineering. It is
administrator logged into the system. In SELinux, it is             possible to reduce these risks by introducing special
possible to define policies that deactivate root privilege [5],     systems (for example, one-time passwords, biometrics),
but there remains an interface to modify and reflect                but they are costly because administrators have to
policies, and the interface is protected by conventional            introduce special devices or special software.
password authentication after all. This paper describes
                                                                    2.3.    Have to worry password's secrecy.
how to prevent crackers from logging in through proper
procedure using MAC, using TOMOYO Linux (one of MAC                   It is possible to detect that user's passwords are
implementations which the authors of this paper                     attacked (for example, using dictionary attack) by
(hereafter, we) have originally developed).                         monitoring authentication failure log. But you can't
answer to the following questions.                                MAC, but has significant points on OSes that support
  "How many days does the cracker need to find my                 MAC, for OSes that support MAC can enforce the
correct password?" (In other words, "When is the last day I       multiplexed login authentications.
can use my password safely?")
  "Changing my password ALWAYS makes things safer,                4.     Login Authentication Multiplexing
for I found an attempt to crack my password?" (In other
                                                                  4.1.    Image of multiplexing
words, "Changing my password ALWAYS makes the
cracker need more days to crack my password?")                      The Fig. 1 shows the conventional login authentication,
  There are discussions about "Password aut hentication           and the Fig. 2 shows the multiplexed login authentications.
and pass phrase authentication, which one is stronger?"[6],       The purpose of login authentication is to prevent crackers
but neither password authentication nor pass phrase               from reaching to the castle.
authentication can answer to these questions after all.             Fig. 1 creates a hole and places a guard. The guard
Operations that forces users to change their passwords so         means a program that performs authentication. There is
frequently makes their passwords easier and, as a result,         only one wall. Without MAC, the wall could be broken and
will lead to insecure system.                                     the cracker can reach to the castle without passing the
                                                                  guard (i.e. the cracker can log into the system without
2.4.    Have   to   worry   vulnerability   of   authentication
                                                                  passing login authentication).
        programs.                                                   By introducing MAC, the wall becomes unbreakable (i.e.
   Even if you introduced recently spreading special              the cracker can't log into the system without passing login
devices (such as fingerprint authentication, iris                 authentication). But since there is only one guard, the
verification), the authentication might be avoided if there       cracker can reach to the castle if the cracker could pass
is vulnerability (such as buffer overflow) in the program         the login authentication through proper procedure (using
that handles these devices.                                       valid username and correct password).

3.     Security Enhanced OS
3.1.    The concept of security enhancement at OS level.
   The MAC is capable to forbid execution of unnecessary
functions by controlling OS's behavior, although OSes are
originally made available for generic purpose. The MAC's
access control is applied to all processes and all users
without exception, and can precisely restrict resources
such as files and directories that processes and users can
                                                                                                                   Login
access. In normal Linux, DAC's access control is not                                                           Authentication
applied to the system administrator (i.e. root). In general,                                                     (Built-in)
an OS that supports MAC is called "Security Enhanced
OS"[3].
                                                                           Fig. 1 Conventional Login Authentication
   The reason why security enhanced OS is helpful is
described below with a simple example. Processes that
                                                                    Fig.2 inserts two walls between the original wall and
provide services over network (such as ftp server, samba)
                                                                  the castle, each wall has one hole and one guard. The
are always configured to accept request from network. The
                                                                  cracker has to pass all guards to reach to the castle.
crackers can hijack these processes and invoke shell with
administrator's privilege if vulnerability exists in these
programs. OSes that don't support MAC cannot prevent
the invocation of shells or invocation of malicious                              Second Extra
commands from the invoked shells. But if MAC is                                  Authentication
supported and appropriate policies are defined by
administrators, the OS can prevent the invocation of
shells that are essentially unnecessary for these processes
if the processes are hijacked.

3.2.    Reinforcement of login authentication using security                          First Extra
                                                                                      Authentication
        enhanced OSes                                                                                              Login
                                                                                                               Authentication
  In general, the security enhanced OSes are introduced
                                                                                                                 (Built-in)
to reduce the damage of hijacking and to ensure the data
integrity. But the login authentication can produce
unexpected pitfalls, as described above. However, it is                    Fig. 2 Multiplexed Login Authentications
possible to solve this problem using MAC that securit y
enhanced OSes support. The basic idea is "Multiplex the           4.2. Example programs for extra authentication
Login Authentications". The login authentication                    You need to place newly developed authentication
multiplexing itself is possible to OSes that don't support
programs for First and Second Extra Authentications
shown in Fig. 2. Some examples using shell scripts are           Typically, the system looses protections against crackers
shown below. But you should develop your programs using        when the cracker successfully passed conventional login
non-scripting (for example C) language for production          authentication. But you can counter this threat by
environment, for the content of shell script program is        introducing     extra   authentications     with    various
exposed if the environment variable "SHELLOPTS" is set         authentication rules and enforce them using MAC.
with "verbose" flag.
                                                               5.     Advantages of Login Authentication Multiplexing
(1) Simple password authentication                              The following merits are derived by login authentication
    This program (Fig. 3) requires "SAKURA" as                 multiplexing.
password. The authentication fails if the user entered
                                                               5.1.    You can enforce login authentication for arbitrary
wrong password for 3 times.
                                                                       times.
#! /bin/sh                                                       You can enforce login authentication for arbitrary times
for i in 1 2 3                                                 depending on the resource's importance. For example, you
do                                                             can allow access to trivial resources after passing only
  read -r -s -p 'Password: ' passwd                            conventional login authentication and allow access to
  echo                                                         critical resources after passing three extra login
  [ "$passwd" = "SAKURA" ] && exec $SHELL                      authentications.
done
                                                               5.2.    You   needn't   to   worry   about   vulnerability   of
echo 'Incorrect password.'
                                                                      authentication programs.
          Fig. 3 Simple password authentication                  The vulnerability of authentication program is critical if
                                                               the authentication can be performed only once. But since
(2) Non-password authentication                                you can enforce multiple different authentications, it
  This program (Fig. 4) authenticates the user by the          won't matter so much if one of the authentication
existence of the file /data/rootauth . This program prompts    programs has vulnerability.
users to enter password, but that is a dummy. The
                                                               5.3.    You can use everything for authentication
authentication always fails whatever passwords the
cracker guesses unless the file exists. The file needs to be      Regarding conventional login authentication, the
created (using touch commands, for example) prior to the       system can't know the process of supplying passwords and
execution of this program. (Since a terminal is supplied to    the authentication program authorizes the user using the
the user after the conventional login authentication, the      supplied passwords. But after the conventional login
user can execute necessary command if granted by the           authentication, a terminal (or a console) environment is
policy.)                                                       provided to the user. This means that the authentication
                                                               programs can know the user's behavior in great detail. You
#! /bin/sh                                                     can use not only password strings but also all elements for
for i in 1 2 3                                                 authentication, for the authentication programs can know
do                                                             (for example) the speed of key typing or the user's
  read -r -s -p 'Password: ' passwd                            behavior after the conventional login authentication and
  echo                                                         can use these elements for authentication.
  [ -f /data/rootauth ] && exec $SHELL                            Another example, you can use the existence of specific
done                                                           files (Fig. 4) or the contents of specific file as a password.
echo 'Incorrect password.'                                     You can use flags that always fail the authentication
                                                               request like /etc/nologin , last modified time of specific file
           Fig. 4 Non-password authentication                  to test "Whether this authentication is started within 1
                                                               minute from the previous authentication".
(3) Never succeeding authentication                               The programs that perform authentication even needn't
  This program (Fig. 5) prompts users to enter passwords,      to be recognized at a glance that the programs are used for
but never succeed. This program is not for legal users, but    authentication. For example, a screen like card games
for crackers who don't know how to pass this                   appear when the program is executed and actually users
authentication. This program will confuse crackers.            can play with, but the authentication succeeds only when
                                                               the specific key is pressed at the specific timing (like a
#! /bin/sh                                                     kind of trapdoor programs). The requirement is that
while :                                                        authentication programs are programs that only the legal
do                                                             users know the procedure how to pass that authentication.
  read -r -s -p 'Password: ' passwd                               You can create authentication programs in the same
  echo                                                         manner of developing normal application programs. Your
done                                                           idea makes strong authentication and the possible
                                                               combinations of elements are infinite.
         Fig. 5 Never succeeding authentication
user's behavior so that only operations that are necessary
5.4.    No damage unless all authentications are penetrated.
                                                                  to pass the next authentication are allowed using MAC's
  You can define policies that forbid access to critical          policy; to prevent subversive acts unless the cracker
resources unless the user passes all login authentications.       succeeds all login authentications. Therefore, programs
  Specifically define policies that allow users who passed        that invokes login shell in "batch mode" ("scp" connects to
one login authentication do minimum operations that are           remote host using "ssh" and invokes remote host's login
needed to pass the next login authentication. You may             shell with "-c scp arguments" options. "sftp" connects to
append policies that allow users to execute dummy                 remote host using "ssh" and invokes remote host's login
authentication program (like Fig. 5) to make penetration          shell with "-c /usr/libexec/openssh/sftp-server" options.)
more difficult.                                                   can't recognize the extra login authentications; i.e. you
                                                                  can't use login authentication multiplexing for "scp" and
5.5.    You can advise to legal users.
                                                                  "sftp". This means that resources that are accessible
  You can know which authentication program was                   become vulnerable if the cracker passes ssh's login
penetrated, and you can replace only the program that             authentication.
was penetrated.                                                     The solution is that restrict resources that are
  You can notify to users by sending mail like "The login         accessible to such programs. Specifically, define policy
authentication of host XXXXX was penetrated, but the              that limits reading/writing to specific temporal directory,
cracker was eliminated by extra authentication                    and move data between the specific temporal directory and
mechanism. To prevent another penetration, I changed              the other directories from shells that are invoked after all
your password to XXXXXXX."                                        extra authentication are succeeded.

6.     Practical Issues and Solutions                             7.      Implementation using TOMOYO Linux
6.1.    Login shell                                               7.1.      About TOMOYO Linux
   Login shell is a program that is executed when a user            TOMOYO Linux is one of MAC implementations that we
logs into the system, and is specified in the /etc/passwd file.   have developed based on vanilla Linux kernels, and has
In Linux, bash, ksh, tcsh, zsh etc. are available.                "accept mode" that helps administrators defining MAC
   Shell is provided to execute external programs, but most       policies. Please refer to document [7] for abstract, and
shells have their internal (built-in) commands.                   document [8] for implementation.
   An example of shell's internal commands is "kill", which         TOMOYO Linux defines DOMAIN (the unitary of
sends signals to processes. A cracker who passed the login        granting ACLs) based on the process's invocation history,
authentication can forcefully terminate arbitrary proce ss        and lists ACLs that are allowed to each DOMAIN. The
if appropriate privilege is given.                                ACL consists of the access mode (read/write/execute) and
   Of course, it is possible to restrict signal transmission      the pathnames. For example, define the following line to
using MAC's policy. But that is not enough.                       allow /bin/bash which are invoked by /usr/sbin/sshd (i.e. a
   A cracker can give high load using infinite loop using         user logged into the system using ssh) to read /etc/passwd
shell's internal command. For example, if the cracker             and execute /usr/bin/scp .
gives internal command "while : ; do echo ; done" to bash,
the system's response become slower. It is impossible to          <kernel> /usr/sbin/sshd /bin/bash
prevent this CPU consumption attack by infinite loop
using MAC's policy.                                               4 /etc/passwd
   Therefore, to apply this           login    authentication     1 /usr/bin/scp
multiplexing method, it is important that login shells
don't have unnecessary internal commands. The role of                The integer before pathnames corresponds to UNIX's
login shells is to provide interface to execute the next          permission. For example, "4" is "r--", "1" is "--x", "6" is
extra authentication. Less functional shells are better and       "rw-", and "7" is "rwx". The name of DOMAIN starts with
suitable. Of course, you can use normal shells to start           <kernel> , and the program's pathname is concatenated to
actual operations after passing all login authentications.        the name of DOMAIN where the program is invoked. For
                                                                  example, the name of DOMAIN for /bin/tcsh that is
6.2.    "scp" and "sftp"
                                                                  invoked by /bin/bash that is invoked by /usr/sbin/sshd (i.e.
   There are two commands that are frequently used for            a user logged into the system using ssh and invoked
server maintenance purpose, "scp" and "sftp". But it is           /bin/tcsh from the login shell) is represented as follows.
impossible to apply this login authentication multiplexing
method for these programs. The reason and solutions are                <kernel> /usr/sbin/sshd /bin/bash /bin/tcsh
described below.
   A shell has two operation modes, one is "interactive           The granularity of TOMOYO Linux's access mode is not
mode" that prompts and waits for user's input, the other is       high as SELinux. But since you can define policies using
"batch mode" that are invoked with "-c command list"              pathnames, it is easy to understand for administrators
command line parameter and process the given command              who have standard administration skill. And since
list and then terminates. The method this paper describes         DOMAIN is divided by invocation of a program and the
invokes login shells in "interactive mode" and restricts          ACLs are given for 1-file-at-a-time, you can specify more
precisely than SELinux.                                          1 /bin/candy

7.2.   Actual example policy
                                                                 <kernel> /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh
  This section describes an actual example policy of login       /bin/falsh /bin/candy
authentication multiplexing shown in Fig. 2. To help             1 /bin/falsh
understanding, miscellaneous files like library files are
omitted. The scenario for this policy is the following.          <kernel> /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh
・ Login using ssh and invoke (our custom made shell)             /bin/falsh /bin/candy /bin/falsh
    /bin/falsh as the login shell. /bin/falsh has no built -in   1 /bin/bash
    commands like "kill" or "while" to prevent attacks (for
    example, killing processes, infinite loop) using login       <kernel> /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh
    shells.                                                      /bin/falsh /bin/candy /bin/falsh /bin/bash
・ Invoke (our custom made authentication program)
    /bin/honey (which corresponds to First Extra                    In addition to this, register the DOMAIN "<kernel>
    Authentication in Fig. 2). /bin/honey prompts for            /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh /bin/falsh
    password input, but this program checks not only the         /bin/candy /bin/falsh /bin/bash" as trusted, and move data
    password string but also the time interval each              between /data/scp.tmp and other directories from this
    letters are typed. The authentication fails if either        trusted DOMAIN.
    password string or the time intervals (preset in this
                                                                 7.3.   Actual operation
    program) don't match.
・ Invoke (our custom made authentication program)                  This section describes the procedure for users. Fig. 6 is a
    /bin/candy (which corresponds to Second Extra                screenshot that a user is connecting to a Linux server
    Authentication in Fig. 2). /bin/candy prompts for            using ssh. In the screenshot, the user enters password
    password input, but this program checks not only the         strings to log in, as conventional.
    password string but also the elapsed time from the
    invocation of the parent process. The authentication
    fails if either password string doesn't match or the
    elapsed time is longer than 10 seconds. (It is difficult
    to start /bin/candy after the invocation of /bin/honey
    within 10 seconds, for /bin/honey needs a several
    seconds. Therefore, /bin/falsh is inserted between
    /bin/honey and /bin/candy to reset the invocation time
    of the parent process.)
・ Since "scp" and "sftp" need to be executed from login
    shell, the policy allows executing these programs from
    login shell, but these programs can access to only
    /data/scp.tmp directory.

<kernel> /usr/sbin/sshd /bin/falsh

1 /bin/honey
1 /usr/bin/scp
1 /usr/libexec/openssh/sftp-server
                                                                          Fig. 6 Conventional login authentication

<kernel> /usr/sbin/sshd /bin/falsh /usr/bin/scp
                                                                    After the user passed ssh's login authenticatio n, invoke
                                                                 "/bin/honey /bin/falsh /bin/candy" in this order (as defined
6 /data/scp.tmp/¥*
                                                                 in the policy) and precede the authentication. Fig. 7
<kernel>              /usr/sbin/sshd                /bin/falsh   contains authentication failures intently to show that the
/usr/libexec/openssh/sftp-server                                 extra login authentications aren't simple password
                                                                 authentications. Also, the passwords supplied are visible,
                                                                 for this is a demonstration.
6 /data/scp.tmp/¥*
                                                                    In the first attempt of /bin/honey , the user entered the
                                                                 correct password, but the authentication failed since the
<kernel> /usr/sbin/sshd /bin/falsh /bin /honey
1 /bin/falsh                                                     typing interval was inappropriate. In the second attempt
                                                                 of /bin/honey , the user entered the correct password with
                                                                 appropriate typing interval, and the authentication
<kernel> /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh
                                                                 succeeded.
1 /bin/falsh
                                                                    In the first attempt of /bin/candy , the authentication
                                                                 failed due to incorrect password. In the second attempt of
<kernel> /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh
/bin/falsh                                                       /bin/candy , the user entered the correct password, but the
authentication failed since /bin/candy has to be invoked
within 10 seconds after the shell (/bin/falsh) starts. In the
third attempt of /bin/candy , the user entered the correct
password, and the authentication succeeded since
/bin/candy is invoked within 10 seconds after /bin/falsh
starts.




                                                                        Fig. 8 Stuffing all passwords into one field

                                                                   On the contrary, the way of multiplexing needn't to
                                                                change the password field when the authentication
                                                                method changes, for passwords are supplied on each step
                                                                like Fig. 6 and Fig. 7. This means you needn't to change
                                                                existent protocols and PAM configurations.

                                                                8.2.   Elements available for authentication
             Fig. 7 Extra login authentications
                                                                  Regarding conventional login authentication, the
                                                                system can't know the process of supplying passwords and
  After the user passed /bin/candy (i.e. the user has
                                                                the authentication program authorizes the user using the
reached to the castle in Fig. 2), invoke /bin/bash and start
normal operations.                                              supplied    passwords.     But    by    introducing   login
                                                                authentication multiplexing, the authentication programs
                                                                can know (for example) the speed of key typing or the
8.     Discussion
                                                                user's behavior after the conventional login authentication.
8.1.    Comparison with PAM                                     This allows you to choose your favorite elements from
                                                                infinite number of elements to create customized login
  It is possible to perform multiple authentication
methods using PAM (Pluggable Authentication Modules)            authentication.
to reduce the risks of illegal login. But if PAM itself has     8.3.   Burden increment on users
vulnerability, the login shell could be started before
                                                                  It is acceptable to provide multiple information for
performing all authentication modules specified as
                                                                authentication on the systems that worth protecting from
"requisite".
                                                                penetration by providing extra information other than
  Also, there are typically only two input fields (username
and password) like Fig. 6, it is impossible to use multiple     password for authentication.
passwords using PAM provided by the system. Therefore,            Our method is just supplying one information on each
                                                                authentication instead of supplying all information at
people combine with other methods that use infor mation
                                                                once. In the view of users, only the timing of supplying
other than password; for example, hours checking
                                                                information is changed. There is no limitation for extra
(pam_time.so) and the name of terminal device
                                                                authentication program, so you can choose one that the
(pam_securetty.so).
  If you WANT to use multiple passwords, you have to            users feel minimum burden.
stuff all passwords into one input field, splitting by          8.4.   Price for paying for login authentication reinforcement
column number like Fig. 8. B ut the way of splitting
                                                                  Our method doesn't cause overall damage if there is
password field (the way of interpretation) changes
                                                                vulnerability in one of the authentication programs. You
whenever new elements are stuffed into password field.
                                                                can improve security for login authentication dramatically
This means you need to negotiate with all modules that
share password field.                                           with just tens of lines code in C language.

                                                                8.5.   Security Stadium 2004
                                                                  We attended at Security Stadium 2004 held by JNSA on
                                                                the defense side. We announced root's password so that
                                                                the offence side can login via ssh (without cracking sshd).
                                                                We received attacks by security experts, and turned out
that our method is very effective. Please refer to document   n.pdf
[9] for details.                                              [9] Security Stadium 2004 (Written in Japanese)
                                                                http://www.jnsa.org/active/press/vol12pdf/4_report4.pdf
8.6.    Applying to OSes that doesn't support MAC
  It   is   possible   to  perform    multiplexed    login    Notes
authentications for OSes that don't support MAC. But
since the behavior of authentication programs can't be          This is a translation of the original paper, which was
restricted from outside using MAC's policy, each              written in Japanese and published in Workshop on
authentication program has to restrict its behavior, and
                                                              Informatics 2005 held in Japan. You can obtain the
developers have to be very careful not to create security
loopholes. If MAC is supported, the behavior of               original paper from the following URL.
authentication programs are restricted from outside using
MAC's policy, and developers can easily develop                 http://sourceforge.jp/projects/tomoyo/document/winf200
authentication programs without worrying security             5.pdf
loopholes. Therefore, our method has significant points on
OSes that support MAC.                                          TOMOYO Linux was released on November, 11, 2005.
                                                              You can get more information at the following URLs.
9.     Conclusion
  The security enhanced OSes are invented to protect            http://tomoyo.sourceforge.jp/
from unauthorized access and leakage of information, and        http://sourceforge.jp/projects/tomoyo/
are getting to spread. It is possible to reduce the risk of
hijacking due to vulnerability such as buffer overflow and
improve system security by defining appropriate policy.
But how well access to system resources is controlled, the
dependence on the password login authentication can
produce unexpected pitfalls. The method of login
authentication multiplexing described in this paper is
easy to implement and doesn't require one-time passwords
or costly biometrics technology.
Acknowledgment:       We were supported from            the
technological study to implementation and evaluation on
TOMOYO Linux by Tetsuo Handa, NTT DATA
CUSTOMER SERVICE CORPORATION. We would like to
thank Mr. Handa.

Bibliography
[1] "A research on information systems for e-Government
based on OSes with well-considered security" (Written in
Japanese)
  http://www.bits.go.jp/inquiry/pdf/secure_os_2004.pdf
[2] Linux Security Modules
  http://lsm.immunix.org/
[3] National Security Agency, Security-Enhanced Linux
  http://www.nsa.gov/selinux/
[4]   “Meeting    Critical    Security   Objectives  with
Security-Enhanced Linux”
  http://www.nsa.gov/selinux/papers/ottawa01-abs.cfm
[5] SELinux Play Machines
  http://www.coker.com.au/selinux/play.html
[6] Pass Phrases vs. Passwords
  http://www.microsoft.com/technet/community/columns/s
ecmgmt/sm1004.mspx
[7] Toshiharu HARADA, Takashi HORIE and Kazuo
TANAKA, "Towards a manageable Linux security." Linux
Conference 2005
  http://sourceforge.jp/projects/tomoyo/document/lc2005-e
n.pdf
[8] Toshiharu HARADA, Takashi HORIE and Kazuo
TANAKA, "Task Oriented Management Obviates Your
Onus on Linux." Linux Conference 2004
  http://sourceforge.jp/projects/tomoyo/document/lc2004-e

Mais conteúdo relacionado

Mais procurados

Security & protection in operating system
Security & protection in operating systemSecurity & protection in operating system
Security & protection in operating systemAbou Bakr Ashraf
 
LogMeIn Security White Paper
LogMeIn Security White PaperLogMeIn Security White Paper
LogMeIn Security White PaperLogMeIn
 
Windows Vista and Trust Worthy Computing
Windows Vista and Trust Worthy ComputingWindows Vista and Trust Worthy Computing
Windows Vista and Trust Worthy Computingsamavedam_vijay
 
Atc ny friday-talk_slides_20080808
Atc ny friday-talk_slides_20080808Atc ny friday-talk_slides_20080808
Atc ny friday-talk_slides_20080808Todd Deshane
 
Operating System Security
Operating System SecurityOperating System Security
Operating System SecurityRamesh Upadhaya
 
UserLock 9 Technical Presentation
UserLock 9 Technical PresentationUserLock 9 Technical Presentation
UserLock 9 Technical PresentationIS Decisions
 
Windows Security in Operating System
Windows Security in Operating SystemWindows Security in Operating System
Windows Security in Operating SystemMeghaj Mallick
 
Security & Protection in Operating System
Security & Protection in Operating SystemSecurity & Protection in Operating System
Security & Protection in Operating SystemMeghaj Mallick
 
Seurity In Vista
Seurity In VistaSeurity In Vista
Seurity In VistaNetworking
 
Operating system security
Operating system securityOperating system security
Operating system securityRachel Jeewa
 
8 Holes in Windows Login Controls
8 Holes in Windows Login Controls8 Holes in Windows Login Controls
8 Holes in Windows Login ControlsIS Decisions
 
The hacker playbook: How to think and act like a cybercriminal to reduce risk...
The hacker playbook: How to think and act like a cybercriminal to reduce risk...The hacker playbook: How to think and act like a cybercriminal to reduce risk...
The hacker playbook: How to think and act like a cybercriminal to reduce risk...Paula Januszkiewicz
 
IT109 Microsoft Windows 7 Operating Systems Unit 07 lesson 10
IT109 Microsoft Windows 7 Operating Systems Unit 07 lesson 10IT109 Microsoft Windows 7 Operating Systems Unit 07 lesson 10
IT109 Microsoft Windows 7 Operating Systems Unit 07 lesson 10blusmurfydot1
 

Mais procurados (20)

Security & protection in operating system
Security & protection in operating systemSecurity & protection in operating system
Security & protection in operating system
 
OS Security 2009
OS Security 2009OS Security 2009
OS Security 2009
 
LogMeIn Security White Paper
LogMeIn Security White PaperLogMeIn Security White Paper
LogMeIn Security White Paper
 
Program Threats
Program ThreatsProgram Threats
Program Threats
 
Windows Vista and Trust Worthy Computing
Windows Vista and Trust Worthy ComputingWindows Vista and Trust Worthy Computing
Windows Vista and Trust Worthy Computing
 
Ch02 System Threats and Risks
Ch02 System Threats and RisksCh02 System Threats and Risks
Ch02 System Threats and Risks
 
Atc ny friday-talk_slides_20080808
Atc ny friday-talk_slides_20080808Atc ny friday-talk_slides_20080808
Atc ny friday-talk_slides_20080808
 
Os security issues
Os security issuesOs security issues
Os security issues
 
Operating System Security
Operating System SecurityOperating System Security
Operating System Security
 
UserLock 9 Technical Presentation
UserLock 9 Technical PresentationUserLock 9 Technical Presentation
UserLock 9 Technical Presentation
 
Windows Security in Operating System
Windows Security in Operating SystemWindows Security in Operating System
Windows Security in Operating System
 
Security
SecuritySecurity
Security
 
Security & Protection in Operating System
Security & Protection in Operating SystemSecurity & Protection in Operating System
Security & Protection in Operating System
 
Seurity In Vista
Seurity In VistaSeurity In Vista
Seurity In Vista
 
Hardening Database Server
Hardening Database ServerHardening Database Server
Hardening Database Server
 
Mimikatz
MimikatzMimikatz
Mimikatz
 
Operating system security
Operating system securityOperating system security
Operating system security
 
8 Holes in Windows Login Controls
8 Holes in Windows Login Controls8 Holes in Windows Login Controls
8 Holes in Windows Login Controls
 
The hacker playbook: How to think and act like a cybercriminal to reduce risk...
The hacker playbook: How to think and act like a cybercriminal to reduce risk...The hacker playbook: How to think and act like a cybercriminal to reduce risk...
The hacker playbook: How to think and act like a cybercriminal to reduce risk...
 
IT109 Microsoft Windows 7 Operating Systems Unit 07 lesson 10
IT109 Microsoft Windows 7 Operating Systems Unit 07 lesson 10IT109 Microsoft Windows 7 Operating Systems Unit 07 lesson 10
IT109 Microsoft Windows 7 Operating Systems Unit 07 lesson 10
 

Destaque

Time Management Talk
Time Management TalkTime Management Talk
Time Management Talkgurpreetmps
 
TWC Proj1 Presentation1&2
TWC Proj1 Presentation1&2TWC Proj1 Presentation1&2
TWC Proj1 Presentation1&2zsyoj
 
Aidsaware intro 2.0
Aidsaware intro 2.0Aidsaware intro 2.0
Aidsaware intro 2.0james chong
 
3º Trimestre 2015 Lição 06 Adultos
3º Trimestre 2015 Lição 06 Adultos3º Trimestre 2015 Lição 06 Adultos
3º Trimestre 2015 Lição 06 AdultosJoel Silva
 

Destaque (7)

Time Management Talk
Time Management TalkTime Management Talk
Time Management Talk
 
TWC Proj1 Presentation1&2
TWC Proj1 Presentation1&2TWC Proj1 Presentation1&2
TWC Proj1 Presentation1&2
 
Dance4life Int
Dance4life IntDance4life Int
Dance4life Int
 
World Aids Day
World Aids DayWorld Aids Day
World Aids Day
 
Aidsaware intro 2.0
Aidsaware intro 2.0Aidsaware intro 2.0
Aidsaware intro 2.0
 
3º Trimestre 2015 Lição 06 Adultos
3º Trimestre 2015 Lição 06 Adultos3º Trimestre 2015 Lição 06 Adultos
3º Trimestre 2015 Lição 06 Adultos
 
AIDS Awareness - #AIDS #HIV #statistics
AIDS Awareness - #AIDS #HIV #statisticsAIDS Awareness - #AIDS #HIV #statistics
AIDS Awareness - #AIDS #HIV #statistics
 

Semelhante a Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Security

Module 5 (system hacking)
Module 5 (system hacking)Module 5 (system hacking)
Module 5 (system hacking)Wail Hassan
 
1. Security and vulnerability assessment analysis tool - Microsoft.docx
1. Security and vulnerability assessment analysis tool - Microsoft.docx1. Security and vulnerability assessment analysis tool - Microsoft.docx
1. Security and vulnerability assessment analysis tool - Microsoft.docxpaynetawnya
 
Introduction To Exploitation & Metasploit
Introduction To Exploitation & MetasploitIntroduction To Exploitation & Metasploit
Introduction To Exploitation & MetasploitRaghav Bisht
 
systemhacking-170425062200.pdf
systemhacking-170425062200.pdfsystemhacking-170425062200.pdf
systemhacking-170425062200.pdfThasnimFathima
 
System hacking
System hackingSystem hacking
System hackingCAS
 
Running head Assignment 1 Identifying Potential Malicious Attack.docx
Running head Assignment 1 Identifying Potential Malicious Attack.docxRunning head Assignment 1 Identifying Potential Malicious Attack.docx
Running head Assignment 1 Identifying Potential Malicious Attack.docxsusanschei
 
Managing i.t security
Managing i.t securityManaging i.t security
Managing i.t securityOriginalGSM
 
Security and ethics
Security and ethicsSecurity and ethics
Security and ethicsArgie242424
 
Chapter 9 system penetration [compatibility mode]
Chapter 9 system penetration [compatibility mode]Chapter 9 system penetration [compatibility mode]
Chapter 9 system penetration [compatibility mode]Setia Juli Irzal Ismail
 
Exploits Attack on Windows Vulnerabilities
Exploits Attack on Windows VulnerabilitiesExploits Attack on Windows Vulnerabilities
Exploits Attack on Windows VulnerabilitiesAmit Kumbhar
 
Op Sy 03 Ch 61
Op Sy 03 Ch 61Op Sy 03 Ch 61
Op Sy 03 Ch 61 Google
 
Introduction To Ethical Hacking
Introduction To Ethical HackingIntroduction To Ethical Hacking
Introduction To Ethical HackingRaghav Bisht
 
Portakal Teknoloji Otc Lyon Part 1
Portakal Teknoloji Otc  Lyon Part 1Portakal Teknoloji Otc  Lyon Part 1
Portakal Teknoloji Otc Lyon Part 1bora.gungoren
 
Backdoor Entry to a Windows Computer
Backdoor Entry to a Windows ComputerBackdoor Entry to a Windows Computer
Backdoor Entry to a Windows ComputerIRJET Journal
 
OWASP top 10 - 2021 - Tryhackme cyber securit training
OWASP top 10  - 2021 - Tryhackme cyber securit trainingOWASP top 10  - 2021 - Tryhackme cyber securit training
OWASP top 10 - 2021 - Tryhackme cyber securit trainingpodimenk
 

Semelhante a Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Security (20)

Module 5 (system hacking)
Module 5 (system hacking)Module 5 (system hacking)
Module 5 (system hacking)
 
1. Security and vulnerability assessment analysis tool - Microsoft.docx
1. Security and vulnerability assessment analysis tool - Microsoft.docx1. Security and vulnerability assessment analysis tool - Microsoft.docx
1. Security and vulnerability assessment analysis tool - Microsoft.docx
 
Introduction To Exploitation & Metasploit
Introduction To Exploitation & MetasploitIntroduction To Exploitation & Metasploit
Introduction To Exploitation & Metasploit
 
systemhacking-170425062200.pdf
systemhacking-170425062200.pdfsystemhacking-170425062200.pdf
systemhacking-170425062200.pdf
 
System hacking
System hackingSystem hacking
System hacking
 
Running head Assignment 1 Identifying Potential Malicious Attack.docx
Running head Assignment 1 Identifying Potential Malicious Attack.docxRunning head Assignment 1 Identifying Potential Malicious Attack.docx
Running head Assignment 1 Identifying Potential Malicious Attack.docx
 
J0704055058
J0704055058J0704055058
J0704055058
 
Pentesting with linux
Pentesting with linuxPentesting with linux
Pentesting with linux
 
Managing i.t security
Managing i.t securityManaging i.t security
Managing i.t security
 
Security and ethics
Security and ethicsSecurity and ethics
Security and ethics
 
Chapter 9 system penetration [compatibility mode]
Chapter 9 system penetration [compatibility mode]Chapter 9 system penetration [compatibility mode]
Chapter 9 system penetration [compatibility mode]
 
Ch11
Ch11Ch11
Ch11
 
Ch11 system administration
Ch11 system administration Ch11 system administration
Ch11 system administration
 
Exploits Attack on Windows Vulnerabilities
Exploits Attack on Windows VulnerabilitiesExploits Attack on Windows Vulnerabilities
Exploits Attack on Windows Vulnerabilities
 
Op Sy 03 Ch 61
Op Sy 03 Ch 61Op Sy 03 Ch 61
Op Sy 03 Ch 61
 
Introduction To Ethical Hacking
Introduction To Ethical HackingIntroduction To Ethical Hacking
Introduction To Ethical Hacking
 
Portakal Teknoloji Otc Lyon Part 1
Portakal Teknoloji Otc  Lyon Part 1Portakal Teknoloji Otc  Lyon Part 1
Portakal Teknoloji Otc Lyon Part 1
 
Backdoor Entry to a Windows Computer
Backdoor Entry to a Windows ComputerBackdoor Entry to a Windows Computer
Backdoor Entry to a Windows Computer
 
OWASP top 10 - 2021 - Tryhackme cyber securit training
OWASP top 10  - 2021 - Tryhackme cyber securit trainingOWASP top 10  - 2021 - Tryhackme cyber securit training
OWASP top 10 - 2021 - Tryhackme cyber securit training
 
OSCh19
OSCh19OSCh19
OSCh19
 

Mais de Toshiharu Harada, Ph.D

Job's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation KitJob's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation KitToshiharu Harada, Ph.D
 
’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs says’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs saysToshiharu Harada, Ph.D
 
CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御Toshiharu Harada, Ph.D
 
The role of "pathname based access control" in security"
The role of "pathname based access control" in security"The role of "pathname based access control" in security"
The role of "pathname based access control" in security"Toshiharu Harada, Ph.D
 
振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策Toshiharu Harada, Ph.D
 
僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへ僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへToshiharu Harada, Ph.D
 
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」Toshiharu Harada, Ph.D
 
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」Toshiharu Harada, Ph.D
 
プロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムプロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムToshiharu Harada, Ph.D
 
使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指して使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指してToshiharu Harada, Ph.D
 

Mais de Toshiharu Harada, Ph.D (20)

20090703 tomoyo thankyou
20090703 tomoyo thankyou20090703 tomoyo thankyou
20090703 tomoyo thankyou
 
Job's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation KitJob's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation Kit
 
’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs says’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs says
 
CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御
 
TOMOYO Linuxのご紹介
TOMOYO Linuxのご紹介TOMOYO Linuxのご紹介
TOMOYO Linuxのご紹介
 
LSM Leaks
LSM LeaksLSM Leaks
LSM Leaks
 
The role of "pathname based access control" in security"
The role of "pathname based access control" in security"The role of "pathname based access control" in security"
The role of "pathname based access control" in security"
 
Tomoyo linux introduction
Tomoyo linux introductionTomoyo linux introduction
Tomoyo linux introduction
 
Your First Guide to "secure Linux"
Your First Guide to "secure Linux"Your First Guide to "secure Linux"
Your First Guide to "secure Linux"
 
振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策
 
僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへ僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへ
 
Why TOMOYO Linux?
Why TOMOYO Linux?Why TOMOYO Linux?
Why TOMOYO Linux?
 
Deep inside TOMOYO Linux
Deep inside TOMOYO LinuxDeep inside TOMOYO Linux
Deep inside TOMOYO Linux
 
ComSys2009
ComSys2009ComSys2009
ComSys2009
 
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
 
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
 
プロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムプロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システム
 
TOMOYO Linux
TOMOYO LinuxTOMOYO Linux
TOMOYO Linux
 
使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指して使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指して
 
TOMOYO Linuxへの道
TOMOYO Linuxへの道TOMOYO Linuxへの道
TOMOYO Linuxへの道
 

Último

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Security

  • 1. Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Security Toshiharu Harada Takaaki Matsumoto NTT DATA CORPORATION Abstract: Mandatory Access Control (MAC) is a powerful guard against non-authorized access, but is vulnerable to hackers logged in through proper procedure. This paper describes how to guard such case using MAC. Keywords: Mandatory Access Control, MAC, Login Authentication, Anti-Spoofing 1. Introduction The DAC (Discretionary Access Control), which 2. Vulnerabilities of Login Authentication Microsoft Windows, Linux and many other operating The general method of login authentication used in systems have built-in, holds vulnerabilities and there are many computer systems is password authentication that risks caused by DAC's vulnerabilities. To solve DAC's uses password supplied by user. Typically, login problem, MAC (Mandatory Access Control) was invented authentication can be performed only once. Therefore, [1]. At first, the MAC was implemented for the systems login authentication always has threats such as password that have special requirements including military use. But cracking using dictionary attack or avoidance of login LSM [2] (a framework to provide MAC to Linux) and authentication by attacking authentication program's SELinux [3] (one of implementations that provides MAC vulnerability (for example, buffer overflow). using LSM) were introduced into Linux (the open sourced Conventional login authentication has the following operating system) on November 2004, and the MAC problems. became closer to us at a stretch. While the environment to ・ Login authentication can be performed only once. build secure Linux system has been greatly improved, the ・ Passwords are used in many systems. purpose and meaning of security enhancement by ・ Have to worry password's secrecy because you can't introducing the security enhanced OS are not very know the moment your password being cracked. accurately known. According to a paper [4] by SELinux ・ Have to worry vulnerability of authentication development project, the following two are the merits of programs. introducing SELinux. These problems are described below. ・ Handling of the threats posed by "Tampering" or 2.1. Login authentication can be performed only once. "Avoidance of security mechanisms at application level". Normally, the login authentication is performed only ・ Minimizing the damage caused by malicious or once before a user logs into the system, regardless of the vulnerable applications. user is system administrator or not. Some security aware These are the exactly merits gained by security applications (for example, database software) enforce enhancement at OS level. These are never excessive application specific authentications, but users can access requirements and all computer systems should provide to almost all resources if they passed the login essentially. But you need to be careful that the authentication. There are some attempts to notify the introduction of MAC itself doesn't promise protection possibility of illegal logins (for example, displaying last against all kinds of damage. On the systems that have login time) after the user passed the login authentication. MAC support, if MAC's policies are defined appropriately, But even if the user can notice illegal logins, it's useless the system won't get damaged indefinitely by invoking because the system is already damaged and the user can't shell with administrator's privilege even if some process is respond. Moreover, the user even can't identify the hijacked due to vulnerability such as buffer overflow. But damaged range of the system after the fact. since it is possible to log into the system through proper 2.2. Passwords are used in many systems. procedure (for example, login authentication using valid username and correct password), there is a threat that a The only basis of password authentication is the cracker logs into the system in case the password's secrecy correctness of the ordering of password string. Therefore, is broken. It is possible to define strict policies for routine it is problematic that users have to keep their password's tasks and functions. But it is difficult to define strict secrecy. Possible risks are, cracked by dictionary attack, policies for administration task that is done by stolen by eavesdropping or social engineering. It is administrator logged into the system. In SELinux, it is possible to reduce these risks by introducing special possible to define policies that deactivate root privilege [5], systems (for example, one-time passwords, biometrics), but there remains an interface to modify and reflect but they are costly because administrators have to policies, and the interface is protected by conventional introduce special devices or special software. password authentication after all. This paper describes 2.3. Have to worry password's secrecy. how to prevent crackers from logging in through proper procedure using MAC, using TOMOYO Linux (one of MAC It is possible to detect that user's passwords are implementations which the authors of this paper attacked (for example, using dictionary attack) by (hereafter, we) have originally developed). monitoring authentication failure log. But you can't
  • 2. answer to the following questions. MAC, but has significant points on OSes that support "How many days does the cracker need to find my MAC, for OSes that support MAC can enforce the correct password?" (In other words, "When is the last day I multiplexed login authentications. can use my password safely?") "Changing my password ALWAYS makes things safer, 4. Login Authentication Multiplexing for I found an attempt to crack my password?" (In other 4.1. Image of multiplexing words, "Changing my password ALWAYS makes the cracker need more days to crack my password?") The Fig. 1 shows the conventional login authentication, There are discussions about "Password aut hentication and the Fig. 2 shows the multiplexed login authentications. and pass phrase authentication, which one is stronger?"[6], The purpose of login authentication is to prevent crackers but neither password authentication nor pass phrase from reaching to the castle. authentication can answer to these questions after all. Fig. 1 creates a hole and places a guard. The guard Operations that forces users to change their passwords so means a program that performs authentication. There is frequently makes their passwords easier and, as a result, only one wall. Without MAC, the wall could be broken and will lead to insecure system. the cracker can reach to the castle without passing the guard (i.e. the cracker can log into the system without 2.4. Have to worry vulnerability of authentication passing login authentication). programs. By introducing MAC, the wall becomes unbreakable (i.e. Even if you introduced recently spreading special the cracker can't log into the system without passing login devices (such as fingerprint authentication, iris authentication). But since there is only one guard, the verification), the authentication might be avoided if there cracker can reach to the castle if the cracker could pass is vulnerability (such as buffer overflow) in the program the login authentication through proper procedure (using that handles these devices. valid username and correct password). 3. Security Enhanced OS 3.1. The concept of security enhancement at OS level. The MAC is capable to forbid execution of unnecessary functions by controlling OS's behavior, although OSes are originally made available for generic purpose. The MAC's access control is applied to all processes and all users without exception, and can precisely restrict resources such as files and directories that processes and users can Login access. In normal Linux, DAC's access control is not Authentication applied to the system administrator (i.e. root). In general, (Built-in) an OS that supports MAC is called "Security Enhanced OS"[3]. Fig. 1 Conventional Login Authentication The reason why security enhanced OS is helpful is described below with a simple example. Processes that Fig.2 inserts two walls between the original wall and provide services over network (such as ftp server, samba) the castle, each wall has one hole and one guard. The are always configured to accept request from network. The cracker has to pass all guards to reach to the castle. crackers can hijack these processes and invoke shell with administrator's privilege if vulnerability exists in these programs. OSes that don't support MAC cannot prevent the invocation of shells or invocation of malicious Second Extra commands from the invoked shells. But if MAC is Authentication supported and appropriate policies are defined by administrators, the OS can prevent the invocation of shells that are essentially unnecessary for these processes if the processes are hijacked. 3.2. Reinforcement of login authentication using security First Extra Authentication enhanced OSes Login Authentication In general, the security enhanced OSes are introduced (Built-in) to reduce the damage of hijacking and to ensure the data integrity. But the login authentication can produce unexpected pitfalls, as described above. However, it is Fig. 2 Multiplexed Login Authentications possible to solve this problem using MAC that securit y enhanced OSes support. The basic idea is "Multiplex the 4.2. Example programs for extra authentication Login Authentications". The login authentication You need to place newly developed authentication multiplexing itself is possible to OSes that don't support
  • 3. programs for First and Second Extra Authentications shown in Fig. 2. Some examples using shell scripts are Typically, the system looses protections against crackers shown below. But you should develop your programs using when the cracker successfully passed conventional login non-scripting (for example C) language for production authentication. But you can counter this threat by environment, for the content of shell script program is introducing extra authentications with various exposed if the environment variable "SHELLOPTS" is set authentication rules and enforce them using MAC. with "verbose" flag. 5. Advantages of Login Authentication Multiplexing (1) Simple password authentication The following merits are derived by login authentication This program (Fig. 3) requires "SAKURA" as multiplexing. password. The authentication fails if the user entered 5.1. You can enforce login authentication for arbitrary wrong password for 3 times. times. #! /bin/sh You can enforce login authentication for arbitrary times for i in 1 2 3 depending on the resource's importance. For example, you do can allow access to trivial resources after passing only read -r -s -p 'Password: ' passwd conventional login authentication and allow access to echo critical resources after passing three extra login [ "$passwd" = "SAKURA" ] && exec $SHELL authentications. done 5.2. You needn't to worry about vulnerability of echo 'Incorrect password.' authentication programs. Fig. 3 Simple password authentication The vulnerability of authentication program is critical if the authentication can be performed only once. But since (2) Non-password authentication you can enforce multiple different authentications, it This program (Fig. 4) authenticates the user by the won't matter so much if one of the authentication existence of the file /data/rootauth . This program prompts programs has vulnerability. users to enter password, but that is a dummy. The 5.3. You can use everything for authentication authentication always fails whatever passwords the cracker guesses unless the file exists. The file needs to be Regarding conventional login authentication, the created (using touch commands, for example) prior to the system can't know the process of supplying passwords and execution of this program. (Since a terminal is supplied to the authentication program authorizes the user using the the user after the conventional login authentication, the supplied passwords. But after the conventional login user can execute necessary command if granted by the authentication, a terminal (or a console) environment is policy.) provided to the user. This means that the authentication programs can know the user's behavior in great detail. You #! /bin/sh can use not only password strings but also all elements for for i in 1 2 3 authentication, for the authentication programs can know do (for example) the speed of key typing or the user's read -r -s -p 'Password: ' passwd behavior after the conventional login authentication and echo can use these elements for authentication. [ -f /data/rootauth ] && exec $SHELL Another example, you can use the existence of specific done files (Fig. 4) or the contents of specific file as a password. echo 'Incorrect password.' You can use flags that always fail the authentication request like /etc/nologin , last modified time of specific file Fig. 4 Non-password authentication to test "Whether this authentication is started within 1 minute from the previous authentication". (3) Never succeeding authentication The programs that perform authentication even needn't This program (Fig. 5) prompts users to enter passwords, to be recognized at a glance that the programs are used for but never succeed. This program is not for legal users, but authentication. For example, a screen like card games for crackers who don't know how to pass this appear when the program is executed and actually users authentication. This program will confuse crackers. can play with, but the authentication succeeds only when the specific key is pressed at the specific timing (like a #! /bin/sh kind of trapdoor programs). The requirement is that while : authentication programs are programs that only the legal do users know the procedure how to pass that authentication. read -r -s -p 'Password: ' passwd You can create authentication programs in the same echo manner of developing normal application programs. Your done idea makes strong authentication and the possible combinations of elements are infinite. Fig. 5 Never succeeding authentication
  • 4. user's behavior so that only operations that are necessary 5.4. No damage unless all authentications are penetrated. to pass the next authentication are allowed using MAC's You can define policies that forbid access to critical policy; to prevent subversive acts unless the cracker resources unless the user passes all login authentications. succeeds all login authentications. Therefore, programs Specifically define policies that allow users who passed that invokes login shell in "batch mode" ("scp" connects to one login authentication do minimum operations that are remote host using "ssh" and invokes remote host's login needed to pass the next login authentication. You may shell with "-c scp arguments" options. "sftp" connects to append policies that allow users to execute dummy remote host using "ssh" and invokes remote host's login authentication program (like Fig. 5) to make penetration shell with "-c /usr/libexec/openssh/sftp-server" options.) more difficult. can't recognize the extra login authentications; i.e. you can't use login authentication multiplexing for "scp" and 5.5. You can advise to legal users. "sftp". This means that resources that are accessible You can know which authentication program was become vulnerable if the cracker passes ssh's login penetrated, and you can replace only the program that authentication. was penetrated. The solution is that restrict resources that are You can notify to users by sending mail like "The login accessible to such programs. Specifically, define policy authentication of host XXXXX was penetrated, but the that limits reading/writing to specific temporal directory, cracker was eliminated by extra authentication and move data between the specific temporal directory and mechanism. To prevent another penetration, I changed the other directories from shells that are invoked after all your password to XXXXXXX." extra authentication are succeeded. 6. Practical Issues and Solutions 7. Implementation using TOMOYO Linux 6.1. Login shell 7.1. About TOMOYO Linux Login shell is a program that is executed when a user TOMOYO Linux is one of MAC implementations that we logs into the system, and is specified in the /etc/passwd file. have developed based on vanilla Linux kernels, and has In Linux, bash, ksh, tcsh, zsh etc. are available. "accept mode" that helps administrators defining MAC Shell is provided to execute external programs, but most policies. Please refer to document [7] for abstract, and shells have their internal (built-in) commands. document [8] for implementation. An example of shell's internal commands is "kill", which TOMOYO Linux defines DOMAIN (the unitary of sends signals to processes. A cracker who passed the login granting ACLs) based on the process's invocation history, authentication can forcefully terminate arbitrary proce ss and lists ACLs that are allowed to each DOMAIN. The if appropriate privilege is given. ACL consists of the access mode (read/write/execute) and Of course, it is possible to restrict signal transmission the pathnames. For example, define the following line to using MAC's policy. But that is not enough. allow /bin/bash which are invoked by /usr/sbin/sshd (i.e. a A cracker can give high load using infinite loop using user logged into the system using ssh) to read /etc/passwd shell's internal command. For example, if the cracker and execute /usr/bin/scp . gives internal command "while : ; do echo ; done" to bash, the system's response become slower. It is impossible to <kernel> /usr/sbin/sshd /bin/bash prevent this CPU consumption attack by infinite loop using MAC's policy. 4 /etc/passwd Therefore, to apply this login authentication 1 /usr/bin/scp multiplexing method, it is important that login shells don't have unnecessary internal commands. The role of The integer before pathnames corresponds to UNIX's login shells is to provide interface to execute the next permission. For example, "4" is "r--", "1" is "--x", "6" is extra authentication. Less functional shells are better and "rw-", and "7" is "rwx". The name of DOMAIN starts with suitable. Of course, you can use normal shells to start <kernel> , and the program's pathname is concatenated to actual operations after passing all login authentications. the name of DOMAIN where the program is invoked. For example, the name of DOMAIN for /bin/tcsh that is 6.2. "scp" and "sftp" invoked by /bin/bash that is invoked by /usr/sbin/sshd (i.e. There are two commands that are frequently used for a user logged into the system using ssh and invoked server maintenance purpose, "scp" and "sftp". But it is /bin/tcsh from the login shell) is represented as follows. impossible to apply this login authentication multiplexing method for these programs. The reason and solutions are <kernel> /usr/sbin/sshd /bin/bash /bin/tcsh described below. A shell has two operation modes, one is "interactive The granularity of TOMOYO Linux's access mode is not mode" that prompts and waits for user's input, the other is high as SELinux. But since you can define policies using "batch mode" that are invoked with "-c command list" pathnames, it is easy to understand for administrators command line parameter and process the given command who have standard administration skill. And since list and then terminates. The method this paper describes DOMAIN is divided by invocation of a program and the invokes login shells in "interactive mode" and restricts ACLs are given for 1-file-at-a-time, you can specify more
  • 5. precisely than SELinux. 1 /bin/candy 7.2. Actual example policy <kernel> /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh This section describes an actual example policy of login /bin/falsh /bin/candy authentication multiplexing shown in Fig. 2. To help 1 /bin/falsh understanding, miscellaneous files like library files are omitted. The scenario for this policy is the following. <kernel> /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh ・ Login using ssh and invoke (our custom made shell) /bin/falsh /bin/candy /bin/falsh /bin/falsh as the login shell. /bin/falsh has no built -in 1 /bin/bash commands like "kill" or "while" to prevent attacks (for example, killing processes, infinite loop) using login <kernel> /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh shells. /bin/falsh /bin/candy /bin/falsh /bin/bash ・ Invoke (our custom made authentication program) /bin/honey (which corresponds to First Extra In addition to this, register the DOMAIN "<kernel> Authentication in Fig. 2). /bin/honey prompts for /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh /bin/falsh password input, but this program checks not only the /bin/candy /bin/falsh /bin/bash" as trusted, and move data password string but also the time interval each between /data/scp.tmp and other directories from this letters are typed. The authentication fails if either trusted DOMAIN. password string or the time intervals (preset in this 7.3. Actual operation program) don't match. ・ Invoke (our custom made authentication program) This section describes the procedure for users. Fig. 6 is a /bin/candy (which corresponds to Second Extra screenshot that a user is connecting to a Linux server Authentication in Fig. 2). /bin/candy prompts for using ssh. In the screenshot, the user enters password password input, but this program checks not only the strings to log in, as conventional. password string but also the elapsed time from the invocation of the parent process. The authentication fails if either password string doesn't match or the elapsed time is longer than 10 seconds. (It is difficult to start /bin/candy after the invocation of /bin/honey within 10 seconds, for /bin/honey needs a several seconds. Therefore, /bin/falsh is inserted between /bin/honey and /bin/candy to reset the invocation time of the parent process.) ・ Since "scp" and "sftp" need to be executed from login shell, the policy allows executing these programs from login shell, but these programs can access to only /data/scp.tmp directory. <kernel> /usr/sbin/sshd /bin/falsh 1 /bin/honey 1 /usr/bin/scp 1 /usr/libexec/openssh/sftp-server Fig. 6 Conventional login authentication <kernel> /usr/sbin/sshd /bin/falsh /usr/bin/scp After the user passed ssh's login authenticatio n, invoke "/bin/honey /bin/falsh /bin/candy" in this order (as defined 6 /data/scp.tmp/¥* in the policy) and precede the authentication. Fig. 7 <kernel> /usr/sbin/sshd /bin/falsh contains authentication failures intently to show that the /usr/libexec/openssh/sftp-server extra login authentications aren't simple password authentications. Also, the passwords supplied are visible, for this is a demonstration. 6 /data/scp.tmp/¥* In the first attempt of /bin/honey , the user entered the correct password, but the authentication failed since the <kernel> /usr/sbin/sshd /bin/falsh /bin /honey 1 /bin/falsh typing interval was inappropriate. In the second attempt of /bin/honey , the user entered the correct password with appropriate typing interval, and the authentication <kernel> /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh succeeded. 1 /bin/falsh In the first attempt of /bin/candy , the authentication failed due to incorrect password. In the second attempt of <kernel> /usr/sbin/sshd /bin/falsh /bin/honey /bin/falsh /bin/falsh /bin/candy , the user entered the correct password, but the
  • 6. authentication failed since /bin/candy has to be invoked within 10 seconds after the shell (/bin/falsh) starts. In the third attempt of /bin/candy , the user entered the correct password, and the authentication succeeded since /bin/candy is invoked within 10 seconds after /bin/falsh starts. Fig. 8 Stuffing all passwords into one field On the contrary, the way of multiplexing needn't to change the password field when the authentication method changes, for passwords are supplied on each step like Fig. 6 and Fig. 7. This means you needn't to change existent protocols and PAM configurations. 8.2. Elements available for authentication Fig. 7 Extra login authentications Regarding conventional login authentication, the system can't know the process of supplying passwords and After the user passed /bin/candy (i.e. the user has the authentication program authorizes the user using the reached to the castle in Fig. 2), invoke /bin/bash and start normal operations. supplied passwords. But by introducing login authentication multiplexing, the authentication programs can know (for example) the speed of key typing or the 8. Discussion user's behavior after the conventional login authentication. 8.1. Comparison with PAM This allows you to choose your favorite elements from infinite number of elements to create customized login It is possible to perform multiple authentication methods using PAM (Pluggable Authentication Modules) authentication. to reduce the risks of illegal login. But if PAM itself has 8.3. Burden increment on users vulnerability, the login shell could be started before It is acceptable to provide multiple information for performing all authentication modules specified as authentication on the systems that worth protecting from "requisite". penetration by providing extra information other than Also, there are typically only two input fields (username and password) like Fig. 6, it is impossible to use multiple password for authentication. passwords using PAM provided by the system. Therefore, Our method is just supplying one information on each authentication instead of supplying all information at people combine with other methods that use infor mation once. In the view of users, only the timing of supplying other than password; for example, hours checking information is changed. There is no limitation for extra (pam_time.so) and the name of terminal device authentication program, so you can choose one that the (pam_securetty.so). If you WANT to use multiple passwords, you have to users feel minimum burden. stuff all passwords into one input field, splitting by 8.4. Price for paying for login authentication reinforcement column number like Fig. 8. B ut the way of splitting Our method doesn't cause overall damage if there is password field (the way of interpretation) changes vulnerability in one of the authentication programs. You whenever new elements are stuffed into password field. can improve security for login authentication dramatically This means you need to negotiate with all modules that share password field. with just tens of lines code in C language. 8.5. Security Stadium 2004 We attended at Security Stadium 2004 held by JNSA on the defense side. We announced root's password so that the offence side can login via ssh (without cracking sshd). We received attacks by security experts, and turned out
  • 7. that our method is very effective. Please refer to document n.pdf [9] for details. [9] Security Stadium 2004 (Written in Japanese) http://www.jnsa.org/active/press/vol12pdf/4_report4.pdf 8.6. Applying to OSes that doesn't support MAC It is possible to perform multiplexed login Notes authentications for OSes that don't support MAC. But since the behavior of authentication programs can't be This is a translation of the original paper, which was restricted from outside using MAC's policy, each written in Japanese and published in Workshop on authentication program has to restrict its behavior, and Informatics 2005 held in Japan. You can obtain the developers have to be very careful not to create security loopholes. If MAC is supported, the behavior of original paper from the following URL. authentication programs are restricted from outside using MAC's policy, and developers can easily develop http://sourceforge.jp/projects/tomoyo/document/winf200 authentication programs without worrying security 5.pdf loopholes. Therefore, our method has significant points on OSes that support MAC. TOMOYO Linux was released on November, 11, 2005. You can get more information at the following URLs. 9. Conclusion The security enhanced OSes are invented to protect http://tomoyo.sourceforge.jp/ from unauthorized access and leakage of information, and http://sourceforge.jp/projects/tomoyo/ are getting to spread. It is possible to reduce the risk of hijacking due to vulnerability such as buffer overflow and improve system security by defining appropriate policy. But how well access to system resources is controlled, the dependence on the password login authentication can produce unexpected pitfalls. The method of login authentication multiplexing described in this paper is easy to implement and doesn't require one-time passwords or costly biometrics technology. Acknowledgment: We were supported from the technological study to implementation and evaluation on TOMOYO Linux by Tetsuo Handa, NTT DATA CUSTOMER SERVICE CORPORATION. We would like to thank Mr. Handa. Bibliography [1] "A research on information systems for e-Government based on OSes with well-considered security" (Written in Japanese) http://www.bits.go.jp/inquiry/pdf/secure_os_2004.pdf [2] Linux Security Modules http://lsm.immunix.org/ [3] National Security Agency, Security-Enhanced Linux http://www.nsa.gov/selinux/ [4] “Meeting Critical Security Objectives with Security-Enhanced Linux” http://www.nsa.gov/selinux/papers/ottawa01-abs.cfm [5] SELinux Play Machines http://www.coker.com.au/selinux/play.html [6] Pass Phrases vs. Passwords http://www.microsoft.com/technet/community/columns/s ecmgmt/sm1004.mspx [7] Toshiharu HARADA, Takashi HORIE and Kazuo TANAKA, "Towards a manageable Linux security." Linux Conference 2005 http://sourceforge.jp/projects/tomoyo/document/lc2005-e n.pdf [8] Toshiharu HARADA, Takashi HORIE and Kazuo TANAKA, "Task Oriented Management Obviates Your Onus on Linux." Linux Conference 2004 http://sourceforge.jp/projects/tomoyo/document/lc2004-e