CS 111Scribe Notes for 6/4/08by Sun Woo KimSecurity IIThreat modeling and classificationRomans did not build any castles or buildings to protect from threats, because the threats were internal. Just like Romans, before protecting the machine, one needs to know what kinds of threats there are and what type of structure the theats have. Below is the list of theat models and their classification.
General funtions needed in security mechanisms
AuthenticationAuthentication is designed to prevent masquerading(attempt of disguised access). There are two types of authentication, which are external and internal. While external authentication is used for initial access to the system, internal authentication is used for later access within system(internal authentication is also designed for efficiency of system). External and internal authentications various types and they both have goods and bads. External Authentication
However, external authentication may be vulnerable to fake fingerprints, password snooping and token stealing. Internal Authentication
Internal Authentication, too, is vulnerable to a bug in kernel system Therefore, best authentication would be combining all of them, although it may be complex Combined authentication
Authentication building blocks
Examples of authentication methodsExample 1.
Example 2.
Example 3.
Authentication a packet in a bulk transferHMAC algorithm(shared key K) Above methods provides two things: authentication, integrity AuthorizationWho has what permission?If you take a look at traditional linux file permission, it is divided into user,group, and others, represented in form of rwxrwxrwx. In the form rwxrwxrwx, the first three letter rwx would represent a permission for the user of the file, the second pattern of rwx would represent a permission for the group of the file, and the third pattern of rwx would represent a permission for the others. This is very typical type of authorization. This authorization is called ACL(Access Control Lists), where for each principal(e.g. user), for each object(e.g. file), and for each type of access(read, write, rename), the permission is simply defined as allowed, or not allowed. Below is example of using ACL
wantstar@wantstar-laptop:~$ getfacl wg
There is another type of ACL called Role-based ACL. For Role-based ACL, users(principals) can assume roles. For example, operators do backups and instructors issue grades. On Role-based ACL, permissions are associated with roles, not principals. Therefore, if a user assumes a role, the user get his roles. Also you can have multiple sessions with different roles Other threatsBesides, vulnerability in authentication and authorizaion, there are numerous types of threats remaining to be listed. One of them include "Covert Channel." Covert Channel is when a processor communicates with other processor in very sneaky way in order to sneak out sensitive information or data without being noticed. Covert ChannelThis is also known as Side channel attack, where the attack uses physical elements to exploit the machine, such as time, clock, and power consumption. Through those elements, the attacker is able to find out various information about the server, possibly a key to get access to the local files. Currently, there is no solution for this attack. Trusting TrustThis issue was brought up by one of unix system developer, Ken Thompson. It refelcts how developer can hide a back door on a system without letting users knowing. This is possible through modifying kernel code, or compiler. However, the compiler that compiles entire system has to be trusted in order to prevent the backdoor. That is why it is called Trusting Trust. More information about this vulnerability can be found at http://www.acm.org/classics/Sep95 This vulnerability too do not have a solution available currently. |