Chapter 4 Logistic Security Approaches Logistic approaches are based on management techniques to provide the security measurements Typical approaches: password, Key management protocols, access control, convert channel, composing security, privileges and roles, security kernel 4.1 Passwords Is the only explicit protection used to authenticate identity for access to a computer system most common techniques are: user generated password computer generated password tunable password 4.1.1 User Generated Password Created by user for his own use selected passwords are normally pleasant or enjoyable images of their mind require no writing down of passwords more safe but is quite easy to guess can be cracked by electronic search because high percentage are words in Dictionary Example from Internet Attack 1988 with passwords start with ‘a’ Aaa Anything Airplane Arrow Andromache Aerobics Anvils Amorphous Albatross Ariadne Albert Atmosphere Aria Alexander Athen Ama Academia Arthur Alphabet Azure Anchor Albany aztecs animals analog answer Aliases Obvious Personal Attributes Spouse’s name, children’s name, pet name, birthday license plate number, telephone number initials year of marriage female surname or name (are sufficient to get into various account in Bell Labs) Keyboard Patterns Ghghgh bbbbb 123-09 qwppo 1qaz etc Re-used passwords Normal users with access to various systems will maintain the same password pattern if attacker crack a password in a less secured environment, this password may be used to crack some more secured system 4.1.2 Computer Generated Password Created by computer to be less predictable poor password can be removed from system normal a choice of password is provided to prevent possible attack, password aging technique is used, that is new password is generated periodically disadvantage: difficult to remember 4.1.3 Tunable Password Compromise approach for user and computer generated password allows system administrator to provide users with part of a password user can use this to construct a new password according to specified rules Example: computer generated w5G and user can provide prawn5GRAND or why55_Go60 advanatge: of both user and CG password 4.1.4 Dynamic Password Similar to tunable password the CG password part is generated by computer and a tag (portable device) and user part is the same require synchronization of Password Generation Advantage: prevent tapping the static password via the network 4.1.5 Password Cracking Critical consideration for selecting password protection scheme should be more difficult for a determined attacker in cracking the password with automatic assistance present state of computer (3-400 MIPS) is capable of cracking 4-char length of 128 character sets of ASCII data in few seconds. 4.1.6 Password Encryption Required if the attacker can simply steal the stored password use of encryption will help reducing the chance of being cracked can be attacked by using encrypted password as entry for electronic search instead of the raw password extracted from dictionary 4.1.7 Password salt Technique is based on adjusting the password by adding some random characters before encryption takes place this technique can confuse electronic search because a similar tunable password is applied Example : scrap is modified to scrap7^ for encryption 4.1.8 Example: Unix Password Management Allow user to define their password password is stored in file called etc/passwd the data stored are encrypted version with loging name and administrative information Example: root:vBbddfRT56x34,M.y8:0:0:admin:/:/bin/sh 4.2 Key Management Protocol Computer system requires to communicate remotely to other systems via communications network it may not be useful to type in password or use a smart card approaches are developed to identifying and authenticating the systems techniques are called key management protocols 4.2.1 Attacks to Remote Communications The most popular attacks are: disclosure to unauthorized listener receipt of message from a masquerading sender corruption or blocking of sent messages Disclosure to Unauthorized Listener When messages are passed by sending entity along some communications medium to a remote receiving entity, the possible emerges that a third malicious entity (an intruder) could read these messages by simply observing and interpreting the data traveling along the medium sender messages receiver “observe” intruder Attacks require that the intruder has the ability to decipher the information being transmitted along the tapped medium As a result, encryption will provide a useful means for mitigating the effect of this type of attack Key management protocols will ensure such an attack cannot occur by encrypting messages with keys that are only known by the appropriately authorized entities Receipt of Message from Masquerading Sender Some sending entity masquerading as another sender results bad messages were sent from an intruder sender receiver Bad messages intruder avoided by providing a mean for senders to uniquely identify themselves when messages are sent Corruption or blocking of sent messages This attack involves a message sent by a sender being corrupted or blocked by an intruder sender Good messages receiver Bad messages intruder difficult to encounter, possible to use check sum 4.2.2 Private Key Protocol A private key protocol involves a single key that is known by two entities who wish to communicate Advantages: provides solution for disclosure protection and authentication and work well with DES Disadvantages: entity needs to maintain a separate key for each remote entity and key distribution can be a problem too Send Message M [M]k Compute [M]k Compute [[M]k]k] Sender Private Key Protocol Receive message M Receiver 4.2.3 Public Key Protocol A public key protocol involves a key pair, i.e the secret and public keys, that are held separately by two entities who wish to communicate Advantages: allow system communications without the need for the storage and maintenance of many private keys Disadvantages: more complex and computational intensive Send Message M [[M]SB] PA Compute [[M]SB] PA Compute [[[[M]SB] PA]SA]PB] Sender(B) Receive message M Receiver(A) Public Key Protocol SA,PA = Secret and Public keys of A SB,PB = Secret and Public keys of B 4.2.4 Example: Secure Terminal/Host Communication System consists of a host that communicates with a collection of terminals in a manner that uses key managed encryption protocols to ensure secrecy of all information passed The host maintains a collection of session keys that dynamically generated for each communication session with a terminal and a collection of terminal keys that are fixed for the set of terminals Each terminal has its fixed terminal keys The host maintains a cryptographic facility that contains master keys to encrypt and decrypt terminal and session keys Each terminal maintains its own cryptographic facility Notation: Ek(cleartext) is cleartext encrypted using key K and Dk is ciphertext decrypted using key K Silent characteristics The terminal communicate directly with the host and a new session key is generated for each communication session Since the host and each terminal contain the terminal key, it is used in private key protocol to distribute the session key. Both the host and terminal can encrypt and decrypt the terminal key using the master terminal key or the specific terminal key at each terminal. Each session is established. Each time a new session is established, the host updates its session key table with a new encrypted entry Emsk(new session key) where msk is the secret master key for session keys communication between host and terminal can thus follow a simple key managed protocol using the session key, where messages sent from the host to a terminal i would be of the form Eski(message) [where ski is the session key for i] and messages received from a terminal i would be deciphered by computing Dski(message) Step 6: recover message Dski(Eski(Mih)) Step 4: Dmsk(Emsk(ski)) or Dtki(Etki(ski)) Step 1: transmission of msk or Tki via secure means Host hold: msk, Tk’s and sk’s Terminal i Tki or msk generate Step 2: Session key Step 6: recover message Dski(Eski(Mhi)) Step 3: Emsk(ski) or ETki(ski) Eski(Mhi) Eski(Mih) Step 5: Message M Secure Terminal/Host Communications (Repeat steps 2 to 6 for new transmission) 4.2.5 RSA Implementation Select two large prime numbers p and q each about 100 digits long compute n = pq and =(p-1)(q-1) chosse an integer E between 3 and which has no common factors with select an integer D, such that DE mod =1 Make E and n public and keep p,q,D and secret Example: P = 5 and q = 7 n = 35 and = 24 choose E = 11 since 3 < 7<24 and HCF(7, 24) = 1 select D = 7 where 7x7 =49 and 49 mod 24 =1 Let the message = 3, C = 37 mod 35 =2187 mod 35 = 17 P = 177mod 35 = 410338673 mod 35 = 3 4.2.6 Arbitrated Protocols with Third Party An alternative for point to point key management protocols between senders and receivers is an arbitrated protocol that utilizes a third party to ensure authentication between communication entities Two possible schemes arbitrated routing protocol arbitrated communication establishment protocol Arbitrated Routing Protocol This scheme requires that the routing not introduce any security problem such as routing a secret message through a party that should not have access to such information example: message is passed to a router and user associated with that router have access to the message Arbitrated Communication Establishment Protocol This involves the third party arbiter establishing authentication between the senders and receivers so that communication can proceed without continued involvement of the arbiter this scheme often involves the creation of tickets by the arbitrator that allows for subsequent secure communication Arbitrator A Message to C from A Routed message to C from A B C Arbitrated Routing Protocol Arbitrator (1) request communications from C A B (2) establish communications (3) communications between A and C Arbitrated Communications Establishment Protocol C 4.2.7 Key Distribution Key distribution is a key issue for the establishing of a secured key management protocol Key distribution is normally achieved via a Key Distribution Centre (KDC) via a secure channel Sender Encrypted Message Receiver key key KDC Secured channel normal channel Centralized Key Distributor 4.2.8 Digital Signatures Public Key Protocol is applied to “digital signatures” Digital Signature is useful for direct communication or as a third party authenticating systems DS can be included as part of the message protocol for identity purpose Concept Step 1: Sender A transmits the digitally signed message (H, M, [Checksum(M)]SA) to B where H is the ID, M is the message and [Checksum(M)]SA is encrypted checksum Step 2: Receiver computes the checksum and compared with the decrypted “encrypted checksum” [[Checksum(M)]SA ]PA if both checksum are equal, the sender must be H and no message was corrupted during delivery 4.3 Access Control Access control provide a degree of protection from malicious attacks it is defined as comprising those mechanisms that enforce mediation on subject requests for access to objects as specified in the security policy Two main types of access control: discretionary access control (DAC) mandatory access control (MAC) 4.3.1 Discretionary Access Control A DAC mechanism is defined as comprising those procedures and mechanisms that enforce the specified mediation at the discretion of individual users This provide users with flexibility to protect their files and resources by setting DAC parameters as they see fit However DAC parameters are easily changed and thus subject to Trojan Horse attack 4.3.2 Mandatory Access Control MAC is defined as comprising those procedure and mechanisms that enforce the specified mediation, not at the discretion of individual users but by the system administration Restriction imposed make it easier to establish an enforceable security policy Do not allow users to change access control parameters and thus helps to reduce Trojan Horse attacks 4.3.3 Access Matrices and permission mechanism Access matrices are used to define the access rights of the corresponding subjects (people) to the corresponding objects (resources) Subjects S1 . . . SN Access Right O1 02 … Objects OM Permission Mechanisms: e.g. owner/group/other in UNIX (rwx) (rwx) (rwx) all groups with read/write/execute permission (r-x) (r-x) (r-x) all groups with read/execute permission only special program setuid (set user identification) allows user to perform some task for which they would normally not have proper authorization 4.3.4 ACL and Capability Mechanism Another ways is by use of access control list (ACL) Example:Subjects X,Y, Z and objects A,B,C X: A,B Y:A Z:A,B,C Capacities are represented conceptually as the reverse of ACLs about the specific access 4.3.5 Examples - MAC Implementation user Invocation of command Open(a,b) Underlying open routine sequence System call interface Operation disallowed and sequence completes Call to MAC routine Operation allowed and sequence completes MAC routine 4.3.6 Attacks Countered by Access Control Attacks: Malicious attempts to attack certain resources inadvertent requests that could cause harm to resources on the system MAC provides a more effective means for countering such attacks 4.4 Covert Channel A covert channel is defined as existing whenever some computer system mechanism is used in an unexpected manner to provide a means by which information can flow to an unauthorized individual A perfect channel is defined as having a sender, a receiver and a perfect communication path that passes message between the two entities. Overt channel Sender Overt Information flow mechanism receiver Mechanisms Not Intended for Information Flow Covert Channel Overt and Covert Channels 4.4.1 Covert Storage Channel One type of covert channel exists is called covert storage channel. In covert storage channel, information are passed unexpected and unauthorized manner from a high (secure) user to a low (secure) user Example: ls commands in UNIX where low user can find out the name of the high user files and initial some attacks.. It can be avoided by hiding the filenames to low user 4.4.2 Covert Timing Channels Another is called a covert timing channel where some resources are shared between both high and low users Normally, a monitor program such as cpu_monitor is used to monitor the access control, auditing and authentication of the resources of both types of users. Attacker (low user) may remove the cpu_monitor program or introduce some noise in confusing the detection of states in order to prolong the processing time and initiate attacks 4.4.3 Resource Matrix Approach To analysis possible existence of covert channel, a resource matrix approach is used The matrix is composed of resources as row and lowest level operation as column. The contents of the matrix elements are M or/and R which denotes modification and read respectively The presence of M represents a high potential of establishing a covert channel. 4.4.5 Computers as the Weakest Link Because computer can be access by both high and low users, the establishment of covert channel is high. Normally cover channels are fixed if vulnerabilities exist. The simplest way to remove covert channel is by using hardcopy instead of electronic transfer which may not be viable in the IT age. 4.5 Composing Security When two or more secure systems are connected together, they may not compose into a secure system as expected. Because non-deducibility and noninterference security are normally not exist Compositional analysis must be carried out to ensure two/more systems are connected securely. The presence of covert channels will further weaken the security properties. 4.6 Privileges and Roles A privilege is defined as a collection of related computer system operations that can be performed by users of that systems. By operations, we mean low-level system activities. A role is defined as a collection of related privileges. Privileges can exist in multiple different roles. This implies that if a given privilege is required, then in some cases, a choice of which role should be allocated A role might contain only one privilege. A role might be defined to include every privilege. role role Priv Priv Priv Priv Priv role 4.6.1 Role based attacks Attacks arises when security is not considered in the allocation of roles to users Example a user was granted with a supervisor role in UNIX based system This will results a more potentially destructive power to a user then is desired An attack may occurs if some user is granted a role that contain certain privilege that the user should not have. The possibility is high if the number of roles is smaller and the associated privilege is larger. As a results, privileges and roles must be designed in a manner that maximizes the granularity of privilege allocation without so many roles that their administration and allocation becomes overly complex. 4.6.2 Principle of Least Privilege The principle of least privilege states that users should only be granted privileges to perform operation for which they have a legitimate need. Designer based on this rule should ensure the granularity of role is fine enough to allow for different types of allocations. 4.6.3 Transformation and Revocation By transformation, we imply that some change is being associated with the privileges allocated to a user. The transformation of privilege may occur internally to a single user in which certain roles and privilege are changed. Transformation may also occur externally to a single user in which a user transfer a role or privilege to another user. Usually, external transformation occurs when a user is associated with a role or privilege that allows for such transfer to another user. Privilege or role revocation is a special type of privilege transform that involves the timely removal of the ability to perform certain operations, presumably because of some event that changes the job requirements. Example: if a user associated with some privilege or role and is found to be a malicious intruder with motivation to harm the system, then immediate revocation of that user’s role and privilege may be necessary. Examples: commands in UNIX $ su $ su adduser $ su deluser 4.7 Security kernels A security kernel is defined as an isolated portion of a computer system that is designed to enforce the security policy of the system. Users and Application Operating System Security Kernel Hardware Security Kernel Organization 4.7.1 Principles of Kernel Design Avoidance of Tampering: must protect from malicious or inadvertent tampering.Explicit attention must be placed on ensuring the security kernel is tamper-proof. Avoidance of Bypass: Kernel must be designed in a manner that ensures complete avoidance of security kernel bypass by a subject requesting some service. Provision for Assurance: Convincing evidence is needed to assure a system is secure: demonstrated secure usage over a period of time full documentation on security mechanisms, development methods, relevant information to ensure proper attention is addressed results of security tests - ensure security results of penetration tests - ensure all possible attack Formal methods to prove evaluation, certification or accreditation from authority individual or agency Hardware Mechanisms: hardware to implement certain portions of security kernel functionality presents some advantages provide memory protection protect integrity of executing processes provide security support for I/O operations Minimization of Complexity: if system is large and complex, the formal proof will be hindered. Minimizing the size of kernel is critical. Fault tolerance: must designed to resist against any classes of faults because recovery from fault is always complicated and needs human intervention. References: Amoroso: chapters 19,21-26