分类目录归档:Information Security

infomation and communication systems security

Diary for Principles of Computer Security

Darren’s Diary

Student Name: Huan Meng

Blog: http://mhuan.name/

E-mail: darren@mhuan.name

I hereby declare that the contents of my diary are my own words, unless otherwise clearly marked.

23 Sep 2010

               We talked about Access Control Policies, I’ll give my ideas and some questions about these polices.In Discretionary Access Control (DAC), although a system administrator controls the access, a user has the right to allow or refuse an access which he sets to an object. This control is based on the identities of both subject and object. That is why it is also called an identity-based access control (IBAC). A DAC based system has an Access Control List (ACL) on each resource object, which reflects the user has the allowed access to who he maps with. DAC is used in most desktop operating systems because of its flexibility, but there it also expands the risk and threats.

               Unlike DAC, Mandatory Access Control (MAC) is strict that the access is controlled by the system and can not be changed or altered by users. All the information between subjects and objects will be checked by the system which gives the permission for them. Compared with DAC, MAC is based on security label which contains a classification and a category to resource objects. When a user wants to access an object, these two pieces are always checked whether they are the same with the user’s certificate. So in the Bishop’s book, it is said that it is occasionally called a rule-based access control, but in which occasion can it be called this? In Rule Based Access Control (RBAC), access is also allowed or denied by the system, neither the subject nor the owner of the object. I think it’s the similarity of both policies; the difference is about the rules and the rules always exist in these policies. So can we say the security label has some rules for MAC? Furthermore what about the rules in ACL? If we can, what’s the difference between MAC and RBAC?

               In Originator Controlled Access Control (ORCON), the creator of an object has the right to control the object and the access to the object. So a subject can give another subject rights to an object only with the approval of the creator of that object. ORCON makes the originators of documents retain control over them even after those documents are disseminated. This is more advantageous than MAC/DAC in handling such environments.

               Role Based Access Control (RBAC), also known as Non discretionary Access Control, takes more of a real world approach to structuring access control. Access under RBAC is based on a user’s job function within the organization to which the computer system belongs. So it is an actual policy for each role in different circumstance.Although there may be few rights for the user acted as a role in a system, it is a good way to control the permissions appropriately and it is also effective to protect the whole system.

21 Sep 2010

               After the lecture, I studied the Bishop’s book about access control mechanisms-ACLS and Capabilities combined with the review of Access Control Matrix in Chapter 2.

               In my opinion, although ACM is the abstraction mechanism, its clearest and purest form can make us understand any expressible security policy. Considering that many systems have too many objects and subjects who need much space, the ACM give simple way to analyze the security problems.

              Access control mechanisms explain how to control the subjects and objects. In ACL which binds the data controlling access to the object,

I learned that:

It can limit network traffic and improve network performance. For example, ACL can specify the priority of the data packets according to the protocol of packets.

It provides means of communication traffic control. For example, ACL can restrict or simplify the length of the routing update information, thereby limit the communication flows in some network segments of a router.

ACL provides the basic means to secure the access to the network. E.g. ACL allows host A to access to the network of human resources, and refuses host B to access.

At the port of the router, ACL can decide which type of traffic is forwarded or blocked.

18 Sep 2010

               In lecture seven, we talk about some methods of password cracking and how to choose a good password as well as how to make it valid secretly. So I will explain about these topics with my conclusion and opinion.

Password cracking:

1、Exhaustive attack: A trial-and-error attempt to violate computer security by systematically attempting to use a very large number of possible passwords or keys.

2、Dictionary attack: A dictionary file (a text file full of dictionary words) is loaded into the crack applications (such as LophtCrack), which runs based on the user account targeted by the application. Because most passwords are usually simple, running a dictionary attack is often sufficient to achieve the purpose.

3、Hybrid attack: Hybrid attack will add numbers and symbols to the file name to crack the code successfully. Many people change the password just by adding a number after the current password. The model commonly used in this form: The password is “cat” first month; the password of next month is “cat1”; the next password is “cat2”, and so on.

4、Social engineering scam: It utilize small public trick to lead the victim into a trap. This technique usually achieves by talking, cheating, using forgery or spoken words to legitimate users in order to get user list, user passwords and network structure.

5、Sniffer: Network “sniffer” allows an attacker to view the network traffic in real time. From these movements, they can pick out interesting data, including password which is lack of protection. Using IPSec and Kerberos security protocols can protect valuable data from being decrypted so that the sniffer can only record useless information.

6、 Trojan horse: A Trojan horse software that looks harmless will induce users to allow them to run. Once these programs run, they can use the user’s context through a variety of ways to attack the network. It can be done including monitoring the user’s keyboard input and sending them to third parties. For example, when users access to non-domain resources required to enter a password to be authenticated, the Trojan can intercept the user’s password.

15 Sep 2010

               In today’s lecture, Alan gives us a question about the difference between authentication and identification. From the Bishop’s book, authentication is defined as the binding of an identity to a subject. As far as I’m concerned, it is like someone should prove who he is. So he must provide information to confirm his identity, maybe his face, voice, DNA, a key or a password. The information can be looked as his specific identities relatively, but they can also be counterfeited. Therefore, the process of recognizing the information is called identification and we must be sure that these identities are accurate and believable. Only when these identities are checked and verified in a process of an identification, we can say the authentication is OK. So this is my understanding of their difference, but it’s also hard to tell the difference between authentication and identification, so what’s the real difference of them? How to compare or contrast?


Comment by IoannisKakavas :

You can map the difference between identification and authentication as following Identification is the process when you say that you are Darren ( For instance providing a username ) Authentication is the process when you actually prove that you are Darren ( Providing the correct password that is associated with this username)


12 Sep 2010

               In One-Time Pad, the key string is chosen at random and we use the random key only once. It is difficult to break using large scale computer theoretically, but in practical, it is impossible to break. One-Time Pad idea has already been used as the safest key in some banks and game account. For example in BOC, we use E-token as our key for e-bank, the 6 digits key changes every minute irregularly, and the key can be used only once before it changes. However, it’s also a relatively safe way on the internet. Attackers can use “Phishing” website, Trojan horses to get users’ account information. These users also suffer from Stealing DC, bugs of ID authentication and so on.

               In the public key system e.g. RSA, we can use a pair of public key and private key to provide a type of nonrepudiation of origin, which is a kind of authentication to ensure that the message is from certain people e.g. digital signature. In the encryption of RSA, even though we can make the n large enough, there are some risks that the message can be changed or broken. The attacker often adopts “forward search” or “precomputation” to change the order of the blocks, which may lead to wrong information or get some simple message comparing the ciphertext he enciphers from a public key with that he intercepts from the originator.

8 Sep 2010

               We’ve talked about basic cryptography in this lecture. Alan presents Caesar cipher as an example to illustrate some aspects and elements in cryptography.

Enciphering functions: E = { Ek | k ∈ K and for all m ∈ M, Ek(m) = (m + k) mod 26 }

Deciphering functions: D = { Dk | k ∈ K and for all c ∈ C, Dk(c) = (26 + c k) mod 26 }

               Caesar cipher is so weak, because it is easy for others to find the key with only the ciphertext in a ciphertext only attack, with the ciphertext and the plaintext enciphered In a known plaintext attack or with specific plaintexts enciphered In a chosen plaintext attack. The keyspace is small,

               Cryptography has two common cryptographic algorithm for the symmetric cipher algorithm (single-key encryption algorithm) and non-symmetric encryption algorithm (public key encryption algorithm). DES and RSA represents each of the algorithms. But it is hard to say which is better. They have their own advantages in some aspects of algorithm, such as processing speed of algorithm, key allocation and so on.They are used in different kinds of field and the security of both of them is relatively high. There are lots of other algorithms in this area and which we should choose is based on our demands.

4 Sep 2010

               From yesterday to today, I read the book Introduction to Computer Security and put these three lectures and slides in order systematically in my mind.

               I read about CIA(Confidentiality,Integrity,Availability) again combined with the access control matrix model. Access control mechanisms support confidentiality by cryptography and other system-dependent mechanisms which can preserve confidentiality better than the former, when the controls work well based on an ideal good access control matrix model. I think this is the most important way to support confidentiality compared with cryptography or resource hiding. But the point is that the access control matrix model is an abstract model and there is no such a perfect particular implementation or system which never fails. From the the generality of the AC matrix, I’ve seen AC matrix example on a LAN and a program and how rights work as entries in this two AC matrix. The relationship between subjects and objects is hard to balance in AC matrix. The rights for both of them, such as “write”,”read”,”append” and “execute” between processes and files, depend on the instantiation of the model and you can never make sure these functions are always easy undertook.

There is also a question about Alan ‘s bank account balance: Balance(t)=B(y)+D(y)-W(y), how does it work and why?


Comment by Spyridon Dossis : Concerning your question about the bank account balance, i think you mention a characteristic example that is given to point out the importance of data integrity especially in commercial environments. The equation represents a normal operation that can happen in a bank system where the calculated Balance in the end of each day must be equal to the sum of previously deposited money plus the current’s day deposited one minus the withdrawn amount. Therefore e.g. when a program changes a value, the system must impose a rule that such a equation must always be valid, in order to ensure the consistency of the data. You can read more about this topic in the course book in the section of Clark-Wilson Integrity Model. A relevant topic from enterprise and database systems is the notion of transactions. There a complex operation consisting of a set of simpler one operations (like additions or subtractions as in the previous example) must either be performed successfully as a whole either in the case of even one failed intermediate step the whole process must be roll-backed and the initial state of the system recovered. See Transaction processing for more on this. The main aim of this is to preserve the integrity and consistency of system’s data.


2 Sep 2010

               I have found many information about this course on FirstClass and also understand how to get information, discuss with others, how to learn this course through this powerful tool. I’ve already cleared up my mind and made a study plan. I think this preparation is a good start for my study.

               I once compared some treats listed in the first lecture and found that DoS/DDoS do a great threat to those companies in China. A company based on IM which is called TX suffers from those attacks and threats. Because of the unripe network in china, the company invest much money and manpower on security for their data of custom and other secrets. There is no definition of security, the ideal model of security is to find threats prior, but it is impossible yet. Any defense is base on pre-existing knowledge or some caculation, there are little ways to discover potential threats actively. The criminals for security are always happening and the defense and fights against those attacks will never stop.

Reference

Bishop, Matt. Introduction to Computer Security, Addison Wesley, 2005.

Face Recognition Attack

        在KTH做的第一个比较有意思的实验,虽然个人觉得有点无聊,不过老师们貌似都挺感兴趣,和大家分享下,欢迎点评。

Keywords: Face Recognition,Masquerading, Filch, Counterfeit
Date: 2010-10-11
Status: Complete
Prerequisites: Computers with windows system, Ability of Image editing, Face recognition system, Camera, Printer
Person hours: To complete: 48 person-hours
To repeat: 30 person-hours
Educational value: *****_____
Booked by: Huan Meng ( huanm@kth.se ) & Jing Ba ( jingb@kth.se )

  Copyright: Huan Meng ( huanm@kth.se ) & Jing Ba ( jingb@kth.se )

Autumn Term 2010 Proposal

 

FaceRecognitionAttack

 

Summary

Now the face identification has been used in many security areas. We can get the pictures of victims from video chat, a photo and so on, then use these information to have a unauthorized access to a system with face identification mechanism.

Goals

Try to Invade a system with ASUS Smartlogon face identification by using a counterfeit of face recognition and analyze some feasible solutions.

Method

1.analyze the principle of operation about the face identification and ASUS Smartlogon system

2.filch the pictures of a familiar person’s(the victim) face(from video chat, photos or some samples from his computer).

3. process the images and make some facial image samples of victim.

4.access the victim’s system with a counterfeit face identification.

5.analyze the attack and some solutions to deal with the attack.

Introduction and Smartlogon analysis

Facial recognition is a digital application used to identify and verify the identity through digital images or videos.

In our this assignment,the target is the software called Smartlogon.In this software,it has used the feature-based recognition algorithms and appearance-based recognition algorithms.So the method of facial recognition it uses is mainly the method with geometrical character.Because of this method,the identification application has its deficiency,we can just use the image replacement to cheat it when we need to log on.According to this point,we can attack the identification application through stealing photos in victim’s PC and printing screen[1].

After checking the documents about the software,we can find a database in this software to reserve the users’ images.The database saved hundreds of the user’s images.And we find that it takes dozens of photos from user everytime,then the algorithm synthesizes these photos and makes a integrative image to be the identification standard.So we can intromit some our own images in order to diluting the standard.But there is one thing very important,it’s that we have to intromit enough images.

Traditional techniques

 

 The basic method:

1.Face recognition using geometrical character

This method uses the geometrical relationship between the facial organs such as the interval.

2.Method based on eigenface(PCA) [2]

This method is based on KL transformation which is the optimal orthogonal transformation about image compression.

3.Neural network method

This method uses the study capacity and classification ability of neural network.

4.Elastic graph matching method [2]

This method uses zeniths in topological diagram to express facial eigenvector,then records the information around the zeniths.

5.LHD method

This method uses distance of the line sets extracted from the facial grayscale images.It’s a better choise in some different light conditions.

The algorithms used in the facial recognition:

1.Feature-based recognition algorithms

2.Appearance-based recognition algorithms

3.Template-based recognition algorithms

4.Recognition algorithms using neural network

5.Illumination pretreatment based on Gammar gray-level registration[3]

3D-method:

This method uses not only the distance of the specific facial organs,but also the individual features of one organ such as the height and depth.So it could avoid the affection from the lighting.And it could finish the identification within different angles. [9]

ASUS Smartlogon Setup:

Click the link below to download ASUS Smartlogon:

http://asus-smartlogon.software.informer.com/

ASUS Smartlogon analysis:

 

Principles of Face recognition

1. Select a user name and enter a password. Your password is used when for some reason your face fail to logon to Windows.

2. You can change the security level using the slider in order to better protect your Notebook PC You can change the security level using the slider in order to better protect your Notebook PC from others logging on but may also block yourself if you change your appearance. (Your typed password can still be used to logon.)

3. Before a face is registered, question marks will appear above the head. The number 1 or 2 in the top right of the camera screen is the number of faces detected. This face recognition can capture several people’s faces simultaneously and identify the user.

4. After you registered a face, the user’s name (here is Darren Meng) will appear above the head.

Principles of Logon Process

 1. Users can view this log to check when someone tried to login with face detection on your computer.

2. There are three results “Success”, “Fail”, and “Learning”. Learning is gained when a user inputs a password to login and face captures are imported (red circle above).

Options

Camera Devices: The built-in camera is selected as default. Change if necessary.

Desktop Control: Check box and set timer to enable. See previous “Menu Items” for descriptions.

ASUS Smartlogon database

C:\Program Files (x86)\ASUS\SmartLogon\log\image

This file records the every image which is successful to logon Windows.

C:\Program Files (x86)\ASUS\SmartCore\gallery\d98cd74f-2f8a-44c1-b8ee-e5dde17ea6d2\imageThis file is used to store the captured images.

It is the Smartlogon database of all the user’s face images which are combined and analyzed with an algorism in order to provide the logon standard for a legitimate user.

Attack Details

 

Used Tools:

1. Photopaper and Camera FinePix HS11

We choose to use digital camera because of its excellent imaging and high resolution, which makes it possible to obtain photos with good quality and also makes it easier to extract clear face pictures from a photo. [5]

2. Laser Printer

Altough a laser printer has the advantages in speed and economy, we choose to use it mainly because of its precision. A printed picture is very different from developing the photos and the former one has low glossiness and definition. But if we use a high resolution picture with photopaper, the result of using a laser printer will change a lot. Make sure that your samples are enough to obtain a clear picture. [6]

Step1: Try to obtain a familiar victim’s face photos

Because the face recognition of Smart logon is based on the database of gallery and the rate of success logon depends on the light and PCA (Principle Components Analysis), we should use different ways to get victim’s different face samples to increase the rate matching the database and pass the logon detection. Here we adopt three methods to get picture samples in order to get proper counterfeit pictures, these methods are as below:

1. Obtain pictures from video chat with victim

We use an IM with video chat function to try to convince the victim using video chat. Then we capture several face pictures of victim during video chat. The image definition is based on the victim’s camera. The advantage of this method is that we can get the victim’s face picture directly, because we often use our head portrait during the process of video chat. Although the image definition may be low most of the time, we can edit and make them look better.

2. Obtain pictures from some victim’s life photos.

It is relatively easy to get a familiar victim’s life photos. When we go to travel or take some photos in daily life, we can get those pictures from camera. A digital camera and DSLR (Digital Single Lens Reflex) can make high quality photos, but they are usually not single face pictures, so we must extract the face pictures from those photos and the editing is also important.

3. Obtain some samples from the familiar victim’s computer

When we have the opportunity to use a familiar victim’s computer, we may find some samples of his or her face pictures (especially the picture database of SmartLogon). But the fact is that these pictures are always in small sizes and not clear enough to make a counterfeit photo. However we can refer to contrast level, brightness level and tones of pictures when we edit those face pictures.

Step2: Choose some good pictures and edit those victim’s face pictures

We will choose some face pictures from the three methods, combine them and edit them. By using Photoshop CS4, we can adjust the size, contrast level, brightness level, tones of pictures and so on, these are the most important elements for a picture, hence they also determine the rate of success logon. These are the most important elements for a picture, hence they also determine the rate of success logon.

So we give an editing scheme to those obtained pictures in order to cover more aspects of face pictures. By using this way, we can use the least samples to reach our goal. In consideration of the definition of the third method, we can not use these pictures to make a sample, but we can know some information about the database of the gallery which will help us make better samples. These are the editing methods we choose:

Editing for life photos

We cut the extra part of the photo first, what we need is just the head portrait. Notice that you should leave more space around the face rather than cut them all.

Because the picture from a digital camera has a good exposure and color, we mainly focus on changing the tone of the face picture.

As we know, the environment and the tone are very important for this kind of face recognition technique, so we should try to match the general situation considering of the different tones.

 

Editing for video chat photos

These photos are obtained from screenshots during video chat, so the quality is relatively low compared with a digital photo, but they have a more effective performance in the outline of face because of the direct captures on face. In this way, we may gain a higher rate of success logon when the face recognition system identifies the picture.

For these pictures, we should change the contrast, brightness and color saturation to make the captured pictures clearer and easier to be identified.

Step3: make some samples with these edited face pictures

After editing the obtained pictures, we need to print them by using a laser printer.

Note that the quality of a photo paper is very important to get verisimilar samples of face pictures, if you use a common paper to print those samples, the rate of success logon will be reduced much. One side of a photo paper is smooth and using a good photo paper will increase the brightness and color saturation of a picture, and it can gain the sense of layers, which makes those pictures more vivid. [4]

In the meantime, choose an advanced laser printer is also crucial.

Step4: invade the victim’s computer with a counterfeit face identification

Try to access the victim’s computer with those printed samples. This process is to cheat the Smartlogon and let it recognize our counterfeit face portrait. Use your samples carefully, when you pick up your samples, leave some space around the face pictures. If the computer can not identify the pictures quickly, don’t worry and just try to change the angles with patience. You should try to use every sample one by one to check which one can match most.

We have already uploaded the whole process to Youtube:

http://www.youtube.com/watch?v=Y6eKNV9foTo [8]

Conclusion

In this experiment, we attack the facial recognition software with counterfeit face pictures successfully. Finally, the optimum picture is the one edited from video chat. It shows that the video chat picture is more proper because the user adopts this way to set the logon. The key of the process is the image samples. If the attackers can easily get the images of a victim, they can use the photos to make counterfeit pictures to access the system unauthorized. And also, with a good design or editing ability, an attacker may create your samples more like yourself. ASUS Smartlogon uses the compound information of these photos set by a user in database and it also has an algorithm to identify the face when we try to access the system. Because of the limitation in the algorithm in plane identification and the technique Smartlogon adopts, it’s possible to invade the system by this way.Through this experiment, we can find that there are following keys in this kind of facial recognition.

1. Similarity: The faces and the facial organs of different people have similar structure, so software sometimes is hard to distinguishing the faces in details, which makes it possible to forge a face pictures.

2. Mutability: The lighting, expression and angles could affect the images of faces, so it can’t ensure that every time we log on the system, there are the totally same images appearing in front of the camera. The environment around a face can make a big difference.

Now with the fast development of the science, there have been some effectual methods approved. For example, the 3D method uses the depth and height of the facial organs to increase the characters for identification. So it can increase the security level of the facial recognition. Some more advanced methods include the elastic graph matching method which provides the treatment about the elastic deformation caused by expression change and the multiple light source method based on infrared ray which could deal with the affection from lighting and angles. [8]

Difficulties we face:

1. The lighting and angles

In the experiment, we can’t access the system protected by facial recognition just by the original photos because of the differences on lighting and angles between these photos and the source reserved in database. So we have to edit the photos to match the images, but how we edit is very crucial to determine the result.

2. Matching probability

In these attacks, although we invade the system successfully, we just used several photos. Because of the affection from the lightness, angles and expressions, the success rate is a little low. In fact, we are against our low matching probability by making more efforts on pictures editing in order to get a good result. However, if possible, we should consider of comprehensive factors.

Shortages in our attack

1. High level mechanism

In this experiment, we just attacked some lower security level recognition. If the system is protected by higher levels, the face identification will be strict. Generally, a user will not choose to use a high level security, because with that level, the user himself may hard to logon with the different logon environment. But if it does, we may need to use some techniques such as the three-dimensions and thermal imagery.

2. Sample space

Theoretically, we’d better use victim’s photos as many as possible in this method. Compared with a handful of photos we use a large number of samples will get a good result. Few pictures can’ not match the characters of the face enough because the application uses the compound results to identify. We think a large number samples should be made if possible.

Other possible improvement

Our attack is based on the face recognition detection when an attacker login. So our method is to make a counterfeit photo. But indeed, the logon identification is just one aspect of face recognition. There is an assumption and possible improvement we give to make further attack, which we think is supposed to be more exact. We can attack the database and find the short of algorithm in identification process. E.g. we can add an unauthorized people’s pictures into the Smartlogon’s gallery database so that the unauthorized people may access the system with Smartlgon by using his own face. If we do so, we should intromit the photos to the database of the identification application and this method needs enough images of attackers[9]. In the meantime, if we can find the algorithm of Smartlogon, we can also analyze the algorithm about how the Smartlogon identify these photos. However, this method has a shortage that victims can check the picture’s information in the database of the software, so the attacks can be found.

JPEGsnoop can identify a picture’s information, if we change or edit the picture, these elements of the picture will change so that we can use it to know if this picture is an original one. For a defender, this tool will help him know more about his pictures whether they are counterfeited, edited, modified or not.

Reference

[1]http://forums.whirlpool.net.au/archive/1127492

[2]http://en.wikipedia.org/wiki/Facial_recognition_system

[3]http://baike.baidu.com/view/246859.htm

[4]http://www.enet.com.cn/eschool/zhuanti/photo/

[5]http://electronics.howstuffworks.com/cameras-photography/digital/digital-camera.htm

[6]http://computer.howstuffworks.com/laser-printer.htm

[7]http://www.webopedia.com/TERM/L/laser_printer.html

Video

[8]http://www.youtube.com/watch?gl=AU&hl=en-GB&v=W_Qdag5FdE8

Paper

[9]http://www.biometrics.gov/Documents/FaceRec.pdf