Network Security Course. Sandrine VATON Professor Télécom Bretagne. Brest, France

Dimension: px
Commencer à balayer dès la page:

Download "Network Security Course. Sandrine VATON Professor Télécom Bretagne. Brest, France E-mail : sandrine.vaton@telecom-bretagne.eu"

Transcription

1 Sandrine VATON Professor Télécom Bretagne Brest, France Network Security Course Material for lectures, practicals and exercices November 2014

2

3 Table des matières Introduction to Cryptography Crypto Lab RSA Tutorial RSA Lab Public Key Cryptography Exercices Attack Lab Network Audit Lab Introduction to IDS IDS Lab VPN Lab

4

5 Introduction to Cryptography An Introduction to Network Security S. Vaton & C.Fontaine Télécom Bretagne November 2014 S. Vaton & C.Fontaine (TB) November / 62 Short Bio Dr Sandrine VATON Professor, Télécom Bretagne (Brest, France), dept of Computer Science As a lecturer I am teaching topics such as performance evaluation, statistical methods, cryptography and network security, algorithmics and programming... Research field : network monitoring traffic measurement and analysis (in particular, statistical methods) to discover threats in the traffic, to characterize the traffic (classification of the applications), to evaluate performance and dimension the network design of monitoring architectures (in particular, hardware acceleration on FPGA) long term collaboration with the group of P.Belzarena (2 PhD co-advised, several internships) ; agreement for a double degree (engineers, PhDs) between IIE and Télécom Bretagne ; sabbatical at IIE in 2010 (with my husband, Prof. Thierry Chonavel) S. Vaton & C.Fontaine (TB) November / 62 5

6 Sommaire 1 Introduction Requirements in terms of security Why cryptography? 2 Confidentiality through Encryption 3 Digital Signature 4 Trusting Public Keys... 5 Zero knowledge proofs 6 In practice Authentication : Kerberos Authentification et clé de session : SSL/TLS et SSH 7 Conclusion S. Vaton & C.Fontaine (TB) November / 62 Sommaire 1 Introduction Requirements in terms of security Why cryptography? 2 Confidentiality through Encryption 3 Digital Signature 4 Trusting Public Keys... 5 Zero knowledge proofs 6 In practice Authentication : Kerberos Authentification et clé de session : SSL/TLS et SSH 7 Conclusion 6 S. Vaton & C.Fontaine (TB) November / 62

7 Network Security Definition In the field of networking, the specialist area of Network Security consists of the provisions made in an underlying computer network infrastructure, policies adopted by the network administrator to protect the network and the network-accessible resources from unauthorized access, and consistent and continuous monitoring and measurement of its effectiveness (or lack) combined together. Network Security and Networking Protocols, A.K.Sharma and C.S.Lamba S. Vaton & C.Fontaine (TB) November / 62 The challenges of Information Systems Security Confidentiality : Only authorized people can access to information. Any undesirable access must be prohibited. [remark : here, access = access in terms of information] S. Vaton & C.Fontaine (TB) November / 62 7

8 The challenges of Information Systems Security Confidentiality : Only authorized people can access to information. Any undesirable access must be prohibited. [remark : here, access = access in terms of information] Availability : The system must operate without failures when it has been planned to operate, services and ressources must be accessible (within a good throughput and response time). S. Vaton & C.Fontaine (TB) November / 62 The challenges of Information Systems Security Confidentiality : Only authorized people can access to information. Any undesirable access must be prohibited. [remark : here, access = access in terms of information] Availability : The system must operate without failures when it has been planned to operate, services and ressources must be accessible (within a good throughput and response time). Integrity : Data must be consistent with what they should be, they should not be altered (by mistake or maliciously). 8 S. Vaton & C.Fontaine (TB) November / 62

9 The challenges of Information Systems Security Confidentiality : Only authorized people can access to information. Any undesirable access must be prohibited. [remark : here, access = access in terms of information] Availability : The system must operate without failures when it has been planned to operate, services and ressources must be accessible (within a good throughput and response time). Integrity : Data must be consistent with what they should be, they should not be altered (by mistake or maliciously). Authentication : Users identification is a cornerstone to manage the access to appropriate workspaces and to maintain confidence in the exchanges. S. Vaton & C.Fontaine (TB) November / 62 The challenges of Information Systems Security Confidentiality : Only authorized people can access to information. Any undesirable access must be prohibited. [remark : here, access = access in terms of information] Availability : The system must operate without failures when it has been planned to operate, services and ressources must be accessible (within a good throughput and response time). Integrity : Data must be consistent with what they should be, they should not be altered (by mistake or maliciously). Authentication : Users identification is a cornerstone to manage the access to appropriate workspaces and to maintain confidence in the exchanges. Non-repudiation and imputation : No user should be able to contest the operations he has realized in the framework of authorized actions, and no third party should be able to claim for himself the actions of another user. Source : Wikipedia S. Vaton & C.Fontaine (TB) November / 62 9

10 Confidentiality Definition Confidentiality has been defined by the International Organization for Standardization (ISO) in ISO as ensuring that information is accessible only to those authorized to have access" Related Attacks Passive attacks (e.g., eavesdropping) Possible solutions : cryptography, IPSec, SSL, TLS S. Vaton & C.Fontaine (TB) November / 62 Availability Definition The degree to which a system, subsystem, or equipment is operable and in a committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time. Simply put, availability is the proportion of time a system is in a functioning condition. Related Attacks Denial of Service (DoS, Distributed Denial of Service DDoS) 10 S. Vaton & C.Fontaine (TB) November / 62

11 Integrity Definition Data integrity is related to the state of data that, during their treatment, their storage, or their transmission, have not encountered any modification or destruction (be it voluntarily or not). Data must be in a state that permit their utilization, they should not have been modified. Data integrity covers four elements : precision, completeness, exactitude/authenticity and validty. Integrity can be guaranteed by several security mechanisms (e.g., hash function, data authentication, digital signature) Trivial examples : checksums, error detection codes such as CRC in packet/frame headers Related Attacks downloading a malware instead of the expected program, modification of the amount of a bank operation, etc. S. Vaton & C.Fontaine (TB) November / 62 Authenticity Definition Authentication is the act of establishing or confirming something (or someone) as authentic, that is, that claims made by or about the subject are true Attaques associées Man in the Middle, Masquerade, spoofing Authentication mechanisms : A difficult-to-reproduce physical artifact, such as a seal, signature, fingerprint. A shared secret such as a passphrase An electronic signature ; public key infrastructure is often used to cryptographically guarantee that a message has been signed by the holder of a particular private key. 11 S. Vaton & C.Fontaine (TB) November / 62

12 Non-répudiation Definition Non-repudiation is the concept of ensuring that a party in a dispute cannot repudiate, or refute the validity of a statement or contract The most common method of asserting the origin of data is through digital certificates, that can be considered as "digital ID cards". A certification authority is the trusted third party that ensures the correspondence between the physical identity and the digital identity. A common standard for digital certificates : X509. S. Vaton & C.Fontaine (TB) November / 62 Security triangle "It is very important to understand that in security, one simply cannot say "what s the best firewall?" There are two extremes : absolute security and absolute access. The closest we can get to an absolutely secure machine is one unplugged from the network, power supply, locked in a safe, and thrown at the bottom of the ocean. Unfortunately, it isn t terribly useful in this state." Network Security and Networking Protocols, A.K.Sharma and C.S.Lamba 12 S. Vaton & C.Fontaine (TB) November / 62

13 Sommaire 1 Introduction Requirements in terms of security Why cryptography? 2 Confidentiality through Encryption 3 Digital Signature 4 Trusting Public Keys... 5 Zero knowledge proofs 6 In practice Authentication : Kerberos Authentification et clé de session : SSL/TLS et SSH 7 Conclusion S. Vaton & C.Fontaine (TB) November / 62 What is cryptography useful for? to cipher messages (since Antiquity) : to protect the confidentiality of messages (against eavesdropping) to digitally sign messages (since 1978) : to authenticate the author of a message, i.e. to make sure that the author of the message is who he pretends to be to guarantee non repudiation i.e. to make sure that the author of a message cannot pretend not having built this message to guarantee the integrity of a message i.e. to make sure that the message has not been altered, that its content has not been modified to authenticate oneself with a system (since 1978) : to prove one s identity, by demonstrating that one holds a secret (such as a passphrase) that no one knows (except the owner), without letting this secret circulate as plaintext on the network and many other applications (since 1978) : key key exchange, Multi-Party Computation, electronic voting, oblivious transfer, anonymous digital money,... S. Vaton & C.Fontaine (TB) November / 62 13

14 Sommaire 1 Introduction Requirements in terms of security Why cryptography? 2 Confidentiality through Encryption 3 Digital Signature 4 Trusting Public Keys... 5 Zero knowledge proofs 6 In practice Authentication : Kerberos Authentification et clé de session : SSL/TLS et SSH 7 Conclusion S. Vaton & C.Fontaine (TB) November / 62 Basic concepts (1/2) Cryptography : conception of information protection systems. Different application fields : encryption = ciphering, digital signature, authentication. Cipher : algorithm used to perform encryption or decryption ; series of steps that transform a plain text, in a cipher text (and vice versa) Cryptosystem : any computer system that involves cryptography ; usually includes methods for digital signatures, key management techniques, cryptographic hash functions 14 S. Vaton & C.Fontaine (TB) November / 62

15 Basic concepts (2/2) Encrypt = encipher = encode, decrypt = decode = decipher : the sender encrypts the plain text m (with the encryption key) to produce the cipher text c ; the receiver decrypts the cipher text c (with the decryption key) and recovers the plain text m Eve (oreille indiscrète) Canal à jarretière Alice Message en clair chiffrement Message chiffré déchiffrement Message en clair Bob Clé de chiffrement Clé de déchiffrement Cryptanalysis : used to breach cryptographic security systems and gain access to the contents of encrypted messages even if the cryptographic key is unknown. How? By analyzing the flow of information in order to deduce hidden aspects (some bits of the key) ; in side channel attacks, by the analysis of physical parameters (such as power consumption for example). S. Vaton & C.Fontaine (TB) November / 62 History (1/6) Antiquity Scytale : tool to perform a transposition cipher (permutation of the letters of the message) ; easy to breach S. Vaton & C.Fontaine (TB) November / 62 15

16 History (2/6) Caesar cipher : it is a particular mono-alphabetic substitution cipher : each letter is replaced by a letter some fixed number of positions down the alphabet, the value of the shift is fixed by the key k : c i = m i + k mod [26] plain alphabet cipher alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ CDEFGHIJKLMNOPQRSTUVWXYZAB plain text cipher text LETRO ISJAN VIERA TREIZ EHEUR ESETD NGVTQ KULCP XKGTC VTGKB GJGWT GUGVF Easily breachable by analysis of the frequency of letters in the alphabet 250 Clair (français) 250 César (français) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z S. Vaton & C.Fontaine (TB) November / 62 History (3/6) 16th century : Vigenère cipher poly-alphabetic substitution cipher with periodicity c i = (m i + k i mod k ) mod [26] ex : with key k= LEROI 19th century plain alphabet cipher alphabet L cipher alphabet E cipher alphabet R cipher alphabet O cipher alphabet I ABCDEFGHIJKLMNOPQRSTUVWXYZ LMNOPQRSTUVWXYZABCDEFGHIJK EFGHIJKLMNOPQRSTUVWXYZABCD RSTUVWXYZABCDEFGHIJKLMNOPQ OPQRSTUVWXYZABCDEFGHIJKLMN IJKLMNOPQRSTUVWXYZABCDEFGH plain LETRO ISJAN VIERA TREIZ EHEUR ESETD key LEROI LEROI LEROI LEROI LEROI LEROI ciphered WIKFW TWAOV GMVFI EVVWH PLVIZ PWVHL cryptanalysis of the Vigenère cipher (Babbage, Kasiski and then coincidence index in 1920) 16 S. Vaton & C.Fontaine (TB) November / 62

17 History (4/6) 20th century 1st world war : Vernam cipher (1917, published in 1926) or "one-time pad" : c i = m i + k i mod [2], where the plain text m and the cipher text c are represented as a series of bits, and where the key k is a random bit stream, of the same length as the message, and used one and only one time. It can be seen as an extension of the Vigenère cipher with randomness and no period in the key. key stream plain text (encoding) cipher text (decoding) key stream plain text Rem : it is the only cipher that has been proved to be unconditionnally secure but it requires a key as long as the message itself (proven by C. Shannon in 1949). S. Vaton & C.Fontaine (TB) November / 62 History (5/6) 2nd world war : Enigma machine German electro-mechanical rotor cipher machine. German military texts enciphered on the Enigma machine were first broken by Polish cryptanalysts. Poles then initiated French and British cryptanalysts into their Enigma decryption techniques. During the war, British cryptologists decrypted a vast number of messages enciphered on Enigma : development by Claude Shannon of information theory. Theoretical framework to coding and information security. S. Vaton & C.Fontaine (TB) November / 62 17

18 History (6/6) 1977 : standardization of DES (Data Encryption Standard) by NIST (National Institute of Standards, USA), after a call for proposals 1987 : RC4 (Ronald Rivest) ; very popular cipher because of its speed and simplicity ; supported in SSL/TLS (for https) and WEP (for WiFi networks) 1999 : E0 (Bluetooth) 1999 : A5 (GSM) 2000 : standardization of the AES (Advanced Encryption Standard) by NIST in the US, after a call for proposals regular call for proposals for new algorithms and benchmarks (NIST, NoE ECRYPT) S. Vaton & C.Fontaine (TB) November / 62 Cipher Keys Kerckhoffs principle (1883) : the cipher (i.e. the algorithm used for encryption/decryption) is known by the cryptanalyst ; the security is based on the secret of the (decryption) key, standardization of the cipher in most cases the security cannot be perfect, the security is based on the tremendous computational burden of an attack that would attempt to retrieve decipher the cipher text without decryption key it must be "impossible" to do so, except for entities with an extremely large computational power the number of possible keys must be large enough to prevent brute force attacks constraints on minimum key lengths. 18 S. Vaton & C.Fontaine (TB) November / 62

19 Notion of Key : Symetric Cryptography vs. Public Key Cryptography Taxonomy of Ciphers Symetric Cryptography : the ssame (secret) key is used for encryption and decryption 1, Exemples : Caesar, Vigenère, Vernam, DES, RC4, RC6, Idea, Blowfish, AES, A5, E0, etc Remark : all the ciphers that we have mentioned up to now belong to this category Public Key Cryptography : each user in the system has a pair of keys (public key, private key), the public key is used for encryption and the private key is used for decryption in a context of signature, the private key is used for signing and the public key is used for verifying the signature Exemples : RSA, El Gamal, elliptic curve cryptography Remark : those ciphers have been developed after more precisely the decryption key can be deduced very easily from the encryption key ; ex : k et -k. S. Vaton & C.Fontaine (TB) November / 62 History (7) Public key cryptography 1977 : W. Diffie and M. Hellmann, key exchange protocol, first step towards public key cryptography 1978 : R. Rivest, A. Shamir et L. Adleman, RSA cipher (based on number theory, prime numbers) 1978 : Mc Eliece cipher Niederreiter cipher (both of them are based on error correcting codes theory) 1985 : El Gamal cipher (probabilistic) 1987 : first cipher based on elliptic curves 1994 : OAEP (Optimal Asymetric Encryption Padding), a way to use RSA in real life (probabilistic) S. Vaton & C.Fontaine (TB) November / 62 19

20 Keystone of public key cryptography : one way functions One way functions : functions which are easy to compute (polynomial time) but very difficult to reverse, except for the person who knows a particular secret ;-). In order to find out the secret key from the public key it is necessary to reverse a one way function, which is "impossible" except for the owner of the key who knows the secret S. Vaton & C.Fontaine (TB) November / 62 Keystone of public key cryptography : one way functions 20 One way functions : functions which are easy to compute (polynomial time) but very difficult to reverse, except for the person who knows a particular secret ;-). In order to find out the secret key from the public key it is necessary to reverse a one way function, which is "impossible" except for the owner of the key who knows the secret Examples : factorisation in a product of two very large prime numbers : N = p q. The security of the RSA cryptosystem is based on the difficulty of this problem. discret logarithm : x is the discrete logarithm of a in base g, denoted as log g (a), if a = g x mod [N] (where g is the generator of (Z/NZ) ). The security of cryptographic schemes such as Diffie Hellman or El Gamal is based on the difficulty of this problem. S. Vaton & C.Fontaine (TB) November / 62

21 RSA Cryptosystem (1/2) RSA : Rivest, Shamir, Adleman, 1977 ; one of the first public key cryptosystem and still the most important one S. Vaton & C.Fontaine (TB) November / 62 RSA Cryptosystem (1/2) RSA : Rivest, Shamir, Adleman, 1977 ; one of the first public key cryptosystem and still the most important one RSA Keys 2 large prime numbers p and q and their product N = p q, e, integer coprime to φ(n) = (p 1)(q 1) (and consequently e is invertible modulo φ(n)), The public key is the couple (e, N) (e : encryption exponent ; N : RSA modulus). let d be the inverse of e modulo φ(n) The private key is d (decryption exponent). The prime factors p and q of N have to remain private. S. Vaton & C.Fontaine (TB) November / 62 21

22 RSA Cryptosystem (1/2) RSA : Rivest, Shamir, Adleman, 1977 ; one of the first public key cryptosystem and still the most important one RSA Keys 2 large prime numbers p and q and their product N = p q, e, integer coprime to φ(n) = (p 1)(q 1) (and consequently e is invertible modulo φ(n)), The public key is the couple (e, N) (e : encryption exponent ; N : RSA modulus). let d be the inverse of e modulo φ(n) The private key is d (decryption exponent). The prime factors p and q of N have to remain private. RSA encryption and decryption the plain text is identified to an integer M such that 2 M N 1 encryption : C = M e mod [N] (modular exponentiation) decryption : C d mod [N] it can be proven, thanks to the Euler theorem, that C d mod [N] = M S. Vaton & C.Fontaine (TB) November / 62 RSA Cryptosystem (2/2) RSA Security 2 equivalent problems : factorize N = pq knowing e and N (public key) find out d (private key) RSA security is based on the difficulty ot the problem of large integers factorization Exercice 1 prove that C d mod [N] = M 2 prove that the 2 above mentioned problems are equivalent 22 S. Vaton & C.Fontaine (TB) November / 62

23 Pros and Cons (1/4) Symmetric Cryptography fast encryption and decryption Encryption and decryption are based on simple basic operations (permutations, substitutions, XOR, shifts, etc...) which are adapted to fast data processing and hardware acceleration. Perfect security for Vernam cryptosystem (One-Time Pad), computational security for other cryptosystems but requires a shared secret key ; how is it possible to share a secret key on an unsecure channel? S. Vaton & C.Fontaine (TB) November / 62 Pros and Cons (1/4) Symmetric Cryptography fast encryption and decryption Encryption and decryption are based on simple basic operations (permutations, substitutions, XOR, shifts, etc...) which are adapted to fast data processing and hardware acceleration. Perfect security for Vernam cryptosystem (One-Time Pad), computational security for other cryptosystems but requires a shared secret key ; how is it possible to share a secret key on an unsecure channel? Public key cryptography encryption and decryption are much slower (non trivial mathematical computations, such as modular exponentiation) computational security only, even if there are"arguments of proofs" of security does nt require a shared secret necessary to certify public keys (PKI, Public Key Infrastructures) S. Vaton & C.Fontaine (TB) November / 62 23

24 Pros and Cons (2/4) In practice : combination of public key and symmetric cryptography key exchange protocol (such as Diffie-Hellmann) to build a shared secret. This shared secret is then used as the key in a symmetric cryptosystem. OR : hybrid cryptosystem key encapsulation scheme : public key cryptography is used to cipher the key and share it between sender and receiver data encapsulation scheme : the shared secret key is used to encrypt and decrypt the data Alice m Pub(Bob) RSA K AES RSA(K) Priv(Bob) RSA 1 K AES(m) AES 1 Bob m S. Vaton & C.Fontaine (TB) November / 62 Pros and cons (3/4) Key lengths For an equivalent security level : Symmetric Cryptography smaller keys at least 128 bits for a good security level Public Key Cryptography in general, longer keys example : RSA modulus, at least 1024 bits other example : elliptic curve cryptography, smaller keys than RSA sums up recommandations about key lengths for different cryptosystems, different time horizons, and different security levels 24 S. Vaton & C.Fontaine (TB) November / 62

25 Pros and Cons (4/4) Example : recommandations of ECRYPT II (2012). S. Vaton & C.Fontaine (TB) November / 62 Sommaire 1 Introduction Requirements in terms of security Why cryptography? 2 Confidentiality through Encryption 3 Digital Signature 4 Trusting Public Keys... 5 Zero knowledge proofs 6 In practice Authentication : Kerberos Authentification et clé de session : SSL/TLS et SSH 7 Conclusion S. Vaton & C.Fontaine (TB) November / 62 25

26 Digital Signature (1/2) Digital Signature goals : authentification of the sender, integrity of the data, non repudiation (the sender cannot pretend not having signed the data because it is impossible to coin a valid signature without the secret key) Legal value : (France) law of march 2000, decree of march 2001 Digital signature is enabled by public key cryptography The private key is used to sign, the validity of the signature is checked with the public key. Examples : RSA (factorisation), El Gamal (discrete logarithm), DSA, Digital Signature Algorithm : variation of El Gamal ; developped by NIST and NSA (1994) ; governmental origin, doubts on the existence of backdoors S. Vaton & C.Fontaine (TB) November / 62 Naive implementation Alice Bob =? Priv(Alice) Pub(Alice) Problem : computation workload (public key cryptography on a big file). 26 S. Vaton & C.Fontaine (TB) November / 62

27 Implementation with a hash function Alice Hash Function Hash Bob Hash Function Hash Hash =? Priv(Alice) Pub(Alice) h : {0, 1} {0, 1} m fixed size hash value, easy to compute, difficult to reverse Examples : MD5 (128), SHA-1 (160), RIPE-MD 160, SHA-256,... The problem of computational burden has been solved. But possible collision problems! Cryptographic has functions must be used, sufficiently secure (not MD5!). S. Vaton & C.Fontaine (TB) November / 62 Sommaire 1 Introduction Requirements in terms of security Why cryptography? 2 Confidentiality through Encryption 3 Digital Signature 4 Trusting Public Keys... 5 Zero knowledge proofs 6 In practice Authentication : Kerberos Authentification et clé de session : SSL/TLS et SSH 7 Conclusion S. Vaton & C.Fontaine (TB) November / 62 27

28 Public Key Infrastructures (PKI) Public Key Infrastructures (PKI) : in charge of the management and distribution of keys for public key cryptography terminology : certification authority missions : generation for any entity that requires it of a pair of keys (public key, private key) after verification of the identity of this entity creation and management of digital certificates digital certificate : includes identity of the entity (institution, DNS server, adress...) value of the public key validity date and utilizations of the key identity of the authority that has delivered the certificate signature of the certificate NB : Only the certification authority is able to sign the public key (the private key of the certification authority is necessary to sign the certificate). The validity of the signature can be checked with the public key of the certification authority. S. Vaton & C.Fontaine (TB) November / 62 Digital Certificates X.509 Certificates X.509 : recommandation of the UIT (Int. Télécom. Union) X.509 certificates are used in many solutions such as S/MIME (digital signature of s), IPSec or SSL (secure tunnels) format des certificats X.509 Certificate Version Serial Number Algo. used to sign the certificate Name of the certification authority Validity Period Certificate s Owner Owner s Public Key Additional Information (on the owner or on the ciphers) Signature of the Certificate (algotithms used for signature, and signature) 28 S. Vaton & C.Fontaine (TB) November / 62

29 Example of X.509 certificate : emitted by "Direction des Impôts" during 2004 tax declaration S. Vaton & C.Fontaine (TB) November / 62 Digital certificates Example usage of a digital certificate : setting up a secure connection to an enterprise server 1 the client browser connects to the enterprise server to pick up the name of the PKI and the reference of the enterprise certificate (serial number) 2 the client connects to the PKI site and downloads the certificate 3 it checks the validity period 4 it checks the certificate authenticity ; for example : if the signature has been produced with MD5 hash followed by RSA encryption it decodes the RSA signature with the public key of the certification authority it hashes the public key of the enterprise server with MD5 if both quantities are equal then the certificate is authenticated S. Vaton & C.Fontaine (TB) November / 62 29

30 Certification authorities Hierarchy of certification authorities AC AC AC Panoramix AC ALICE BOB Limits of PKI infrastructures many certification autorithies : inter-operability problems lack of trust of users in the reliability of certification authorities ; example : fake Microsoft certificates emitted by Diginotar S. Vaton & C.Fontaine (TB) November / 62 Certification authorities : who are you trusting? Consciously or not S. Vaton & C.Fontaine (TB) November / 62

31 The PGP model PGP (Pretty Good Privacy ; Phil Zimmermann, 1991) used to sign data, to encode/decode s, folders, drive partitions, to ensure the security of s uses symmetric cryptography and public key cryptography (hybrid cryptography) encryption/decryption with a secret key IDEA the IDEA secret key is encrypted with the RSA public key of the receiver standard OpenPGP (IETF, RFC 4880) : initially, encryption and authentication of s ; extended to OpenSSH and to secure web (TLS) S. Vaton & C.Fontaine (TB) November / 62 The PGP model PGP (Pretty Good Privacy ; Phil Zimmermann, 1991) used to sign data, to encode/decode s, folders, drive partitions, to ensure the security of s uses symmetric cryptography and public key cryptography (hybrid cryptography) encryption/decryption with a secret key IDEA the IDEA secret key is encrypted with the RSA public key of the receiver standard OpenPGP (IETF, RFC 4880) : initially, encryption and authentication of s ; extended to OpenSSH and to secure web (TLS) Key certification in PGP digital seal that guarantees the authenticity of public keys trust is based on the notion of social proximity rather than on a central certification authority each user releases his own public key ; each user can sign the public key of another user ; trust in a public key signed by someone who is trusted S. Vaton & C.Fontaine (TB) November / 62 31

32 Sommaire 1 Introduction Requirements in terms of security Why cryptography? 2 Confidentiality through Encryption 3 Digital Signature 4 Trusting Public Keys... 5 Zero knowledge proofs 6 In practice Authentication : Kerberos Authentification et clé de session : SSL/TLS et SSH 7 Conclusion S. Vaton & C.Fontaine (TB) November / 62 Zero knowledge proofs (1/3) Zero-knowledge proof used for authentication principle : prove that one knows a secret without making possible for an eavesdropper to catch any information about this secret on the unsecure channel how? prove that one is capable to answer successfully to a particular "challenge" public key cryptography : uses one way functions ; examples : discrete logarithm, quadratic residues (Fiat-Shamir),... uses random masks 32 S. Vaton & C.Fontaine (TB) November / 62

33 Zero knowledge proofs (2/3) Proofs of knowledge of discrete logarithms Public values : p, prime integer and α, primitive root modulo p. The prover P needs to convince the verifier V that he knows the discrete logarithm s of I = α s mod [p] (without transmitting s as plain text on the channel) ; the prover P is identified by I in the eyes of V. 3 Steps Protocol 1 Commitment : P chooses r modulo p 1 randomly and transmits t = α r mod [p] to V. 2 Challenge : V chooses ɛ randomly in {0, 1} and communicates his choice ɛ to P. 3 Answer : P must provide to V : x = r mod [p 1] if ɛ = 0 x = r + s mod [p 1] if ɛ = 1 V then computes α x to It if ɛ = 1. mod [p] which must be equal to t if ɛ = 0 and S. Vaton & C.Fontaine (TB) November / 62 Zero knowledge proofs (3/3) Proof of knowledge of discrete logarithms Exercice 1 Is it possible for an intruder to authenticate oneself in the eyes of V without knowing the secret s? What is the probability that he is caught? And what if the same protocol is applied n times? 2 What is the quantity r useful for? 3 What happens if ɛ is taken off from the protocol? Is it possible for the intruder to authenticate himself? And what if the random number generator used to produce ɛ is not good? S. Vaton & C.Fontaine (TB) November / 62 33

34 Sommaire 1 Introduction Requirements in terms of security Why cryptography? 2 Confidentiality through Encryption 3 Digital Signature 4 Trusting Public Keys... 5 Zero knowledge proofs 6 In practice Authentication : Kerberos Authentification et clé de session : SSL/TLS et SSH 7 Conclusion S. Vaton & C.Fontaine (TB) November / 62 Sommaire 1 Introduction Requirements in terms of security Why cryptography? 2 Confidentiality through Encryption 3 Digital Signature 4 Trusting Public Keys... 5 Zero knowledge proofs 6 In practice Authentication : Kerberos Authentification et clé de session : SSL/TLS et SSH 7 Conclusion 34 S. Vaton & C.Fontaine (TB) November / 62

35 Authentication : particular case of Kerberos (1/2) Kerberos network authentication service, developped by MIT ; standard Kerberos v5 (RFC 1510 ) key distribution center : authentication server to identify distant clients, ticket delivery server to authorize them to use the network services based on symmetric cryptography (DES), and the usage of tickets (with limited validity) The Kerberos server knows some servers and clients who are in his domain. It shares a secret key with each client or server in his domain. Possibility of inter-domain authentification thanks to a dialog between Kerberos servers. S. Vaton & C.Fontaine (TB) November / 62 Authentication : particular case of Kerberos (2/2) Usage : a user wants to proceed to a transaction with a server the user sends its identifier to the authentication server the authentication checks the access rights of the user and sends him an initial ticket. The initial ticket is encrypted with a key derived from the client s password. It contains : a ticket for access to the ticket delivery service, a session key (used to cipher the next communications) the user decrypts the initial ticket with his password with this access ticket and his session key he sends an encrypted request to the ticket delivery service to ask for an access to a service there exists a mutual authentication system that enables the client and the server to identify each other Kerberos Security temporary validity of tickets, which limits the possibility of replay attacks sensitive to password cracking attacks vulnerability of Kerberos servers which must be very well secured S. Vaton & C.Fontaine (TB) November / 62 35

36 Sommaire 1 Introduction Requirements in terms of security Why cryptography? 2 Confidentiality through Encryption 3 Digital Signature 4 Trusting Public Keys... 5 Zero knowledge proofs 6 In practice Authentication : Kerberos Authentification et clé de session : SSL/TLS et SSH 7 Conclusion S. Vaton & C.Fontaine (TB) November / 62 SSL/TLS Protocol SSL/TLS SSL : Secure Socket Layer (originally developped by Netscape) then TLS = Transport Layer Security [TLS v1.1 = SSL v3.1]. (developped at IETF Internet Engineering Task Force) Goals of SSL/TLS authentication of both parties thanks to certificates confidentiality of exchanged data ; symmetric encryption : DES, 3-DES, RC4, AES OpenSSL integrity of data ; hash functions : MD5, SHA-1 open implementation of SSL/TLS encryption/decryption, signature, certificates management 36 S. Vaton & C.Fontaine (TB) November / 62

37 Operation of SSL/TLS (1/2) establishment of a secure tunnel (encrypted) between client and server after an authentication step independant from the used protocol (HTTP, FTP, POP, IMAP...) acts as an additional security layer between transport layer and application layer APPLICATIONS HTTP IMAP etc... APPLICATIONS HTTPS IMAPS etcs... SSL, TLS TCP/IP TCP/IP S. Vaton & C.Fontaine (TB) November / 62 Operation of SSL/TLS (2/2) Initial handshake Hello, can we talk? Hello, here is my certificate, and here are the ciphers that I support OK, (here is my certificate), we are going to talk in XXX, with key YYY secure tunnel S. Vaton & C.Fontaine (TB) November / 62 37

38 Operation of SSL/TLS HTTPS : secure Web URL starting by https :// and padlock Note : some servers use weak cryptography (40 bits) ; configure your browser to accept only what you consider as sufficient in terms of security! IMAPS same functionalities as IMAP with moreover encrypted identification S. Vaton & C.Fontaine (TB) November / 62 SSH Secure SHell SSH secure connection to a machine on an unsecure network (secure tunnel) handled functionalities : secure data communication (downloading), remote command-line login, remote command execution secure channel over an insecure network between two computers, a server and a client running SSH server and SSH client programs designed as a replacement for Telnet (and other insecure remote protocols) which send information, notably passwords, as plaintext Puts in operation : authentication (password, key, Kerberos token) encryption (symmetric cryptography, public key cryptography) signature, integrity (hashing) two versions of the protocol : SSH-1 : unsecure ; possible to gain root privileges SSH-2 : more secure (several session keys, client-server and server-client transactions are independent, certification, tokens to avoid replay...) 38 S. Vaton & C.Fontaine (TB) November / 62

39

40

41 Crypto Lab Network Security Course - November Crypto Lab Secure mail, Public-Key Cryptography and PKI 1 Overview The learning objective of this lab is for students to get familiar with the concepts in the Public-Key encryption and Public-Key Infrastructure (PKI). Furthermore, this lab is going to be illustrated with the help of secure mail exchange. After finishing the lab, students should be able to gain a first-hand experience on secure mail exchange, public-key encryption, digital signature, public-key certificate, certificate authority, authentication based on PKI. 2 Lab Environment and organization 2.1 Work organization 1. Work in a group of THREE people. 2. This Lab will be evaluated based on the reports you are going to submit. Please, see the last section regarding the submission and the format of the report. 2.2 Installing OpenSSL. In this lab, we will use openssl commands and libraries. They should be present on the computers of the university. If you wish to perform this lab on your own computer, you have to install it in addition. Note, that OpenSSL also exists under Windows, but some of the exercises may not function in the same way as under Linux, so if you chose to do it on your own computer under Windows, be prepared to spend some more time resolving the issues. 2.3 Some links you might find helpful This Lab requires a significant amount of autonomous work. Read the tasks and the provided supporting material very carefully. Do not hesitate to do your own research and to seek solutions to the problems you encounter on the web. Here is an example resource related to OpenSSL: 3 Lab Tasks A Certificate Authority (CA) is a trusted entity that issues digital certificates. The digital certificate certifies the ownership of a public key by the named subject of the certificate. A number of commercial CAs are treated as root CAs; VeriSign is the largest CA at the time of writing. Users who want to get digital certificates issued by the commercial CAs need to pay those CAs. For the first task we will be using a free, but not widely accepted CA. For the rest of the tasks we will be creating our own CA (which will be even less widely accepted). 41

42 Network Security Course - November Task 1: Obtain a personal certificate and send signed mails This task can be performed under Windows or Linux with no restrictions or differences. In this task we will see how to obtain free personal certificates and use them to sign our outgoing s. This task requires the configuration of a full client (or more formally a mail user agent (MUA)). There exist multiple MUAs for Linux, Windows and Mac OS X. We will be using the open-source, multiplatform client Mozilla Thunderbird, which is already installed on the university s computers client configuration We will be using our university accounts for this task. Configure Thunderbird to access your account by specifying the appropriate parameters: address: your at FING Incoming mail server (IMAPS): the FING IMAPS server Outgoing mail server (SMTPS): the FING SMTPS server Account name: user login Verify that you ve correctly configured your MUA by sending an to yourself and then receiving it. What is the difference between the protocols IMAP and IMAPS, and SMTP and SMTPS? Client certificate generation Obtain a free client certificate from the following provider for your school address. Please note, that the procedure may vary depending on your browser and OS. Use the information provided on the web site of CACert to generate the certificate. Thanks to a special code contained in the html page, the web site instructs the browser to generate a key pair. The private key of the user remains on the local disk. The public key is then sent to the authority that generates the certificate. Finally, the CA will send you an informing you when your certificate is ready. Describe the procedure you ve followed to generate your certificate and answer the following questions: 1. Why do we have to download and install the certificate of the Certificate Authority (CA) before installing our own certificate? 2. Which is the precise identity of the CA? 3. The certificate is valid from which date to which date? 4. In which field of the certificate you find your ? Your public key? The CA? When downloading the root certificate you are provided with several possible download formats and the checksum (also known as thumbprint in this context) with two algorithms (SHA1 and MD5). Answer the following questions: 1. What is the use of this information? 2. How can these checksums be verified? Try looking at the openssl package and related resources for help. 3. Is it possible for a dedicated attacker with unlimited resources to circumvent this protection mechanism? 42

43 Network Security Course - November If it is possible, why is this mechanism still in place? 5. Propose a way of distributing the root certificate that does not suffer the problems you ve pointed out Thunderbird has its own certificate store and does not share it with other applications. In order to be able to send signed and/or encrypted s, you have to import it to Thunderbird (and potentially export it first from the browser) by using a file in the format pkcs12. Import certificate to Thunderbird: Tools / Options / Privacy / Security / Show certificates / Authorities / Import Why do we need to install the certificates in the MUA and the web browser separately? Is there a system repository of certificates? Is it used by all browsers and all MUAs? Exchange of encrypted and/or signed s Exchange s with your teammate. Make a table containing the sizes of the different s: 1. raw content exchanged whenever you have a signed mail 2. signed and encrypted mail 3. an encrypted mail 4. a non-signed and non-encrypted mail You can access the raw content exchange via the menu View/Message Source. Describe your observation and analysis. 3.2 Task 2: Become a Certificate Authority (CA) In this lab, we need to create digital certificates, but we are not going to pay any commercial CA. We will become a root CA ourselves, and then use this CA to issue certificate for others (e.g. servers). In this task, we will make ourselves a root CA, and generate a certificate for this CA. Unlike other certificates, which are usually signed by another CA, the root CA s certificates are self-signed. Root CA s certificates are usually pre-loaded into most operating systems, web browsers, and other software that rely on PKI. Root CA s certificates are unconditionally trusted. Include all generated files (certificates, etc.) in your submission. The Configuration File openssl.conf. In order to use OpenSSL to create certificates, you have to have a configuration file. The configuration file usually has an extension.cnf. It is used by three OpenSSL commands: ca, req and x509. The manual page of it can be found at web/documentation/openssl/openssl_cnf.html. You can also get a copy of the configuration file from /usr/lib/ssl/openssl.cnf. After copying this file into your current directly, you need to create several sub-directories as specified in the configuration file (look at the [CA default] section): dir =./democa # Where everything is kept certs = $dir/certs # Where the issued certs are kept crl_dir = $dir/crl # Where the issued crl are kept new_certs_dir = $dir/newcerts # default place for new certs. 43

44 Network Security Course - November database = $dir/index.txt # database index file. serial = $dir/serial # The current serial number For the index.txt file, simply create an empty file. For the serial file, put a single number in string format (e.g. 1000) in the file. Once you have set up the configuration file openssl.cnf, you can create and issue certificates. Certificate Authority (CA). As we described before, we need to generate a self-signed certificate for our CA. This means that this CA is totally trusted, and its certificate will serve as the root certificate. You can run the following command to generate the self-signed certificate for the CA: $ openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf You will be prompted for information and a password. Do not lose this password, because you will have to type the passphrase each time you want to use this CA to sign certificates for others. You will also be asked to fill in some information, such as the Country Name, Common Name, etc. The output of the command are stored in two files: ca.key and ca.crt. The file ca.key contains the CA s private key, while ca.crt contains the public-key certificate. 3.3 Task 3: Create a Certificate for PKILabServer.com If you do this part on a university computer, please use the name of the computer you are currently working on (of the form pc-df-xxx.priv.enst-bretagne.fr ) instead of PKILabServer.com. Now, we become a root CA, we are ready to sign digital certificates for our customers. Our first customer is a company called PKILabServer.com. For this company to get a digital certificate from a CA, it needs to go through three steps. Step 1: Generate public/private key pair. The company needs to first create its own public/private key pair. We can run the following command to generate an RSA key pair (both private and public keys). You will also be required to provide a password to protect the keys. The keys will be stored in the file server.key: $ openssl genrsa -des3 -out server.key 1024 Step 2: Generate a Certificate Signing Request (CSR). Once the company has the key file, it should generates a Certificate Signing Request (CSR). The CSR will be sent to the CA, who will generate a certificate for the key (usually after ensuring that identity information in the CSR matches with the server s true identity). Please use PKILabServer.com as the common name of the certificate request. $ openssl req -new -key server.key -out server.csr -config openssl.cnf Step 3: Generating Certificates. The CSR file needs to have the CA s signature to form a certificate. In the real world, the CSR files are usually sent to a trusted CA for their signature. In this lab, we will use our own trusted CA to generate certificates: 44

45 Network Security Course - November $ openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key \ -config openssl.cnf If OpenSSL refuses to generate certificates, it is very likely that the names in your requests do not match with those of CA. The matching rules are specified in the configuration file (look at the [policy match] section). You can change the names of your requests to comply with the policy, or you can change the policy. The configuration file also includes another policy (called policy anything), which is less restrictive. You can choose that policy by changing the following line: "policy = policy_match" change to "policy = policy_anything". Include all generated files (certificates, etc.) in your submission. 3.4 Task 4: Use PKI for Web Sites If you do this part on a university computer, you will be unable to modify the hosts file. In this case, please take a look at it, but continue on without changing it. In this lab, we will explore how public-key certificates are used by web sites to secure web browsing. First, we need to get our domain name. Let us use PKILabServer.com as our domain name. To get our computers recognize this domain name, the following entry should be added to /etc/hosts; this entry basically maps the domain name PKILabServer.com to our localhost (i.e., ): PKILabServer.com In Windows, this file can be found under C:\Windows\System32\Drivers\etc\hosts Please, after adding this line to the file, make sure that it works: $ ping pkilabserver.com PING PKILabServer.com ( ): 56 data bytes 64 bytes from : icmp_seq=0 ttl=64 time=0.058 ms 64 bytes from : icmp_seq=1 ttl=64 time=0.103 ms 64 bytes from : icmp_seq=2 ttl=64 time=0.081 ms Next, let us launch a simple web server with the certificate generated in the previous task. OpenSSL allows us to start a simple web server using the s server command: # Combine the secret key and certificate into one file % cp server.key server.pem % cat server.crt >> server.pem # Launch the web server using server.pem % openssl s_server -cert server.pem -www By default, the server will listen on port You can alter that using the -accept option. If you are doing the lab on the university computers, please choose a port number between and 39999, and use it throughout the rest of the exercise instead of Now, you can access the server using the following URL: https://pkilabserver.com:4433/. Most likely, you will get an error message 45

46 Network Security Course - November from the browser. In your browser, you will see a message like the following: pkilabserver.com:4433 uses an invalid security certificate. The certificate is not trusted because the issuer certificate is unknown. Had this certificate been assigned by VeriSign, we will not have such an error message, because VeriSign s certificate is very likely preloaded into your browser s certificate repository already. Unfortunately, the certificate of PKILabServer.com is signed by our own CA (i.e., using ca.crt), and this CA is not recognized by the browser. There are two ways to get Firefox to accept our CA s self-signed certificate. 1. We can request Mozilla to include our CA s certificate in its Firefox software, so everybody using Firefox can recognize our CA. This is how the real CAs, such as VeriSign, get their certificates into Firefox. Unfortunately, our own CA does not have a large enough market for Mozilla to include our certificate, so we will not pursue this direction. 2. Load ca.crt into Firefox: We can manually add our CA s certificate to the Firefox browser by clicking the following menu sequence: Edit -> Preference -> Advanced -> View Certificates. You will see a list of certificates that are already accepted by Firefox. From here, we can import our own certifcate. Please import ca.crt, and select the following option: Trust this CA to identify web sites. You will see that our CA s certificate is now in Firefox s list of the accepted certificates. Now, point the browser to https://pkilabserver.com:4433. Please describe and explain your observations. Please also do the following tasks: 1. Modify a single byte of server.pem, and reload the URL. What do you observe? Make sure you restore the original server.pem afterward. 2. Since PKILabServer.com points to the localhost, if we use https://localhost:4433 instead, we will be connecting to the same web server. Please do so, describe and explain your observations. Include screenshots of your navigator showing the stages through which you have passed during this task. 3.5 Task 5: Performance Comparison: RSA versus AES In this task, we will study the performance of public-key algorithms. Please prepare a file (message.txt) that contains a 16-byte message. Please also generate an 1024-bit RSA public/private key pair. Then, do the following: 1. Encrypt message.txt using the public key; save the the output in message enc.txt. 2. Decrypt message enc.txt using the private key. 3. Encrypt message.txt using a 128-bit AES key. 4. Compare the time spent on each of the above operations, and describe your observations. If an operation is too fast, you may want to repeat it for many times, and then take an average. You might want to look at the Linux command time which measures the duration of the execution of a command. 5. Try running the tests over a significant number of repetitions, e.g or more executions of the command. Hint: use a script that runs the command the required number of times, and then use the command time to calculate the overall time of execution. 46

47 Network Security Course - November Submission You need to submit a detailed lab report to describe what you have done and what you have observed; you also need to provide explanation to the observations that are interesting or surprising. In your report, you need to answer all the questions listed in this lab. The rules for the submission are: 1. Submit an archive containing all generated files, along with your report. (except the certificates you generated from CACert, which you may wish to continue using afterwards). 2. Provide your report in PDF format. 3. Name the file of the archive you re submitting in the following way : NAME1 NAME2 NAME3- TP Crypto 4. Limit the size of your report to no more than 11 pages. Please, send your report by to This Lab is based on the Labs developed by Sylvain Gombault, TELECOM Bretagne and Wenliang Du, Syracuse University. 0 The development of this document is funded by three grants from the US National Science Foundation: Awards No and from TUES/CCLI and Award No from Trustworthy Computing. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation. A copy of the license can be found at 47

48

49 RSA Tutorial Tutorial sur l algorithme RSA Sandrine Vaton Télécom Bretagne, Département Informatique Juin 2013 S. Vaton (TB/INFO) RES201 Juin / 36 Sommaire 1 Description 2 Bases Arithmétique modulaire Preuve du RSA Inversion Modulaire Exponentiation Modulaire 3 Sécurité du RSA Factorisation d un grand entier Clés RSA 4 Tests de primalité S. Vaton (TB/INFO) RES201 Juin / 36 49

50 Algorithme RSA RSA : Rivest, Shamir, Adleman ; premier algorithme de chiffrement à clé publique et toujours le plus répandu très utilisé dans le commerce électronique, et plus généralement pour échanger des données confidentielles sur Internet. inventé en 1977, breveté par le MIT en 1983, brevet tombé dans le domaine public en 2000 sécurité basée sur la difficulté du problème de factorisation de grands entiers (en un produit de deux nombres premiers) : N = p q, avec p et q premiers le calcul de N à partir de p et q a une complexité polynômiale (multiplication) ; par contre, retrouver p et q premiers à partir de leur produit N est un problème NP-complet S. Vaton (TB/INFO) RES201 Juin / 36 Le RSA en bref (1/2) Génération de Clés 1 choisir 2 grands entiers premiers p et q et calculer leur produit N = p q. 2 calculer φ(n) = (p 1)(q 1) et choisir un entier e premier avec φ(n), 3 calculer à l aide de l algorithme d Euclide étendu l inverse d de e modulo φ(n) : d = e 1 mod φ(n). La clé publique est le couple (e, N) et la clé privée est d. Les facteurs premiers p et q de N doivent être maintenus privés. Exemple : p = 11 q = 23 N = p q = 253 φ(n) = (p 1)(q 1) = = 220 e = 3 d = S. Vaton (TB/INFO) RES201 Juin / 36

51 Chiffrement et déchiffrement avec RSA Chiffrement avec RSA Le message en clair est identifié à un entier M défini modulo N et premier avec N : 2 M N 1, M p, M q. Pour envoyer un message à Bob, Alice cherche la clé publique (e, N) de Bob (dans un annuaire approprié), et elle calcule le message chiffré C = M e mod [N] qu elle envoie à Bob. Déchiffrement avec RSA Pour déchiffrer le message C, Bob prend sa clé privée d et calcule C d mod[n]. On peut montrer que la valeur obtenue C d mod [N] est égale à M. mod [N] = (M e ) d N est le module RSA ; e est l exposant de chiffrement (clé publique) ; d est l exposant de déchiffrement (clé secrète) ; les facteurs p et q de N sont maintenus privés. S. Vaton (TB/INFO) RES201 Juin / 36 Sommaire 1 Description 2 Bases Arithmétique modulaire Preuve du RSA Inversion Modulaire Exponentiation Modulaire 3 Sécurité du RSA Factorisation d un grand entier Clés RSA 4 Tests de primalité S. Vaton (TB/INFO) RES201 Juin / 36 51

52 Bases pour le RSA Nous avons besoin de quelques bases pour présenter l algorithme RSA : bases sur l arithmétique modulaire tests de primalité (Fermat, Miller-Rabin) génération de la clé secrète algorithme d Euclide étendu génération de l exposant de déchiffrement à partir de l exposant de chiffrement algorithme d exponentiation rapide fonctions de chiffrement et déchiffrement fonction indicatrice d Euler, théorème d Euler preuve du RSA séance de Travaux Pratiques : implémentation de l algorithme RSA en langage C S. Vaton (TB/INFO) RES201 Juin / 36 Sommaire 1 Description 2 Bases Arithmétique modulaire Preuve du RSA Inversion Modulaire Exponentiation Modulaire 3 Sécurité du RSA Factorisation d un grand entier Clés RSA 4 Tests de primalité 52 S. Vaton (TB/INFO) RES201 Juin / 36

53 Arithmétique Modulaire Eléments de Z N : un entier a est dit équivalent à un autre entier b si la différence entre a et b est un multiple de N ceci définit une relation d équivalence entre nombres entiers la classe d équivalence de a est identifiée au reste de la division entière de a par N Opérations élémentaires dans Z N : somme : amod[n] + bmod[n] = (a + b)mod[n], différence : amod[n] bmod[n] = (a b)mod[n], produit : (amod[n]).(bmod[n]) = (a.b)mod[n]. A partir du produit modulaire on définit l exponentiation modulaire : a 0 mod[n] = 1, a 1 mod[n] = a, a 2 mod[n] = a.amod[n] et par récurrence a n mod[n] = a n 1 mod[n].amod[n]. S. Vaton (TB/INFO) RES201 Juin / 36 Inversion Modulaire Soit N un entier. Un entier a est inversible modulo N si et seulement si il existe un entier b tel que a b = 1 mod [N]. L entier b est appelé l inverse de a modulo N et est noté a 1 dans l arithmétique modulo[n] notée Z N. a est inversible modulo N si et seulement si a et N sont premiers entre eux. Exemples : N = 30, a = 17, a est inversible modulo N et son inverse est b = 23 car = 391 = 1 mod[n]. a = 18 n est pas inversible modulo N = 30 car 18 et 30 ne sont pas premiers entre eux. S. Vaton (TB/INFO) RES201 Juin / 36 53

54 Sommaire 1 Description 2 Bases Arithmétique modulaire Preuve du RSA Inversion Modulaire Exponentiation Modulaire 3 Sécurité du RSA Factorisation d un grand entier Clés RSA 4 Tests de primalité S. Vaton (TB/INFO) RES201 Juin / 36 Théorème d Euler Théorème d Euler : si N est un entier naturel et si a est premier avec N alors a φ(n) = 1 mod [N] où φ(n) est la fonction indicatrice d Euler. Rem1 : le théorème d Euler généralise le petit théorème de Fermat. Rem2 : ce théorème fonde le test de primalité dit test de Fermat. Rem3 : la preuve du RSA repose sur le théorème d Euler. 54 S. Vaton (TB/INFO) RES201 Juin / 36

55 Preuve du RSA La preuve repose sur le fait que ZN (ensemble des entiers plus petits que N, différents de p et q, pris modulo N et muni de la multiplication) est un groupe cyclique d ordre φ(n). Nous devons montrer que C d mod [N] = M quand C = M e mod [N] avec M différent de 1, p et q. C d mod [N] = (M e ) d mod [N] = M e d mod [N] e d = 1 mod [φ(n)] = 1 + k φ(n) M e d mod [N] = M 1+k φ(n) mod [N] = M (M φ(n) ) k mod [N] et d après le th. d Euler M φ(n) = 1 mod [N] donc C d mod [N] = M S. Vaton (TB/INFO) RES201 Juin / 36 Sommaire 1 Description 2 Bases Arithmétique modulaire Preuve du RSA Inversion Modulaire Exponentiation Modulaire 3 Sécurité du RSA Factorisation d un grand entier Clés RSA 4 Tests de primalité S. Vaton (TB/INFO) RES201 Juin / 36 55

56 Algorithme d Euclide (1/2) Entrées : deux nombres entiers N et K (N > K) Sortie : PGCD(N,K), le plus grand commun diviseur de N et K. N = K q 0 + r 0 K = r 0 q 1 + r 1 r 0 = r 1 q 2 + r 2. r m 2 = r m 1 q m + r m r m 1 = r m q m+1 L algorithme se termine quand le reste est nul. Le PGCD de N et de K est le dernier reste non nul r m. S. Vaton (TB/INFO) RES201 Juin / 36 Algorithme d Euclide (2/2) Exemple 1 : N = 72, K=54 72 = = 3 18 PGCD(N, K) = 18 Exemple 2 : N=1848, K=945, PGCD(N,K)=? Exemple 3 : N=4862, K=1320, PGCD(N,K)=? 56 S. Vaton (TB/INFO) RES201 Juin / 36

57 Algorithme d Euclide étendu (1/3) Entrées : deux entiers N et K (N > K) Sorties : PGCD(N,K) ainsi que les coefficients u et v de l identité de Bezout Principe : u N + v K = PGCD(N, K) construire récursivement des coefficients a i et b i tels que a i N + b i K = r i en combinant les égalités euclidiennes ; à terme on obtient u = a m et v = b m puisque pgcd(n, K) = r m (dernier reste non nul). S. Vaton (TB/INFO) RES201 Juin / 36 Algorithme d Euclide étendu (2/3) Egalités euclidiennes : en posant r i 2 = r i 1 q i + r i N = r 2, et K = r 1 Initialisation : r 2 = N donc a 2 = 1, b 2 = 0 r 1 = K donc a 1 = 0, b 1 = 1 Récursion : r i = r i 2 r i 1 q i = (a i 2 N + b i 2 K) (a i 1 N + b i 1 K)q i = (a i 2 a i 1 q i )N + (b i 2 b i 1 q i )K a i = a i 2 a i 1 q i b i = b i 2 b i 1 q i S. Vaton (TB/INFO) RES201 Juin / 36 57

58 Algorithme d Euclide étendu (3/3) Complexité à chaque itération la valeur du reste est au minimum divisée par 2 ; par conséquent le nombre d itérations est borné par 2 log 2 (N) ; chaque itération requiert une division, un reste, deux multiplications et deux soustractions sur des nombres de longueur au plus log 2 (N) bits ; par conséquent la complexité de chaque itération est bornée par C 1 (log 2 N) 2 au total la complexité de l AEE est bornée par C 2 (log 2 N) 3, donc complexité polynômiale. S. Vaton (TB/INFO) RES201 Juin / 36 Inversion Modulaire Soit un entier N et a, un entier premier avec N. L algorithme d Euclide étendu donne un moyen de calculer l inverse de a modulo N. En effet PGCD(a, N) = 1 et l identité de Bezout s écrit : u N + v a = 1 et donc v a = 1mod[N] Par conséquent le coefficient v de l identité de Bezout est l inverse de a modulo N : v = a 1 mod[n] Utilisé pour calculer l exposant de déchiffrement d qui doit vérifier d = e 1 mod φ(n). 58 S. Vaton (TB/INFO) RES201 Juin / 36

59 Sommaire 1 Description 2 Bases Arithmétique modulaire Preuve du RSA Inversion Modulaire Exponentiation Modulaire 3 Sécurité du RSA Factorisation d un grand entier Clés RSA 4 Tests de primalité S. Vaton (TB/INFO) RES201 Juin / 36 Algorithme d exponentiation rapide (1/2) Objectif : calculer rapidement m e mod [N] un calcul direct nécessiterait e multiplications modulaires Remarque : e peut aussi s écrire (représentation binaire pure) e = i e i 2 i e i {0, 1} et donc m e mod [n] = i/e i =1 m2i mod [n] Il suffit donc de calculer les facteurs m 2i mod [n] m ( )2 m 2 ( )2 22 ( )2 23 ( )2 m m log 2 (e) + 1 carrés modulaires au lieu de e multiplications modulaires S. Vaton (TB/INFO) RES201 Juin / 36 59

60 Algorithme d exponentiation rapide (2/2) Complexité log 2 (e) + 1 multiplications, chaque multiplication se fait sur des nombres de longueur au plus log 2 (N) + 1 bit donc la complexité de chaque multiplication est C 1 (log 2 (N)) 2 [si multiplication scolaire ], par conséquent la complexité de l algorithme d exponentiation rapide est C 2 (log 2 (N)) 2 log 2 (e). S. Vaton (TB/INFO) RES201 Juin / 36 Sommaire 1 Description 2 Bases Arithmétique modulaire Preuve du RSA Inversion Modulaire Exponentiation Modulaire 3 Sécurité du RSA Factorisation d un grand entier Clés RSA 4 Tests de primalité 60 S. Vaton (TB/INFO) RES201 Juin / 36

61 Sommaire 1 Description 2 Bases Arithmétique modulaire Preuve du RSA Inversion Modulaire Exponentiation Modulaire 3 Sécurité du RSA Factorisation d un grand entier Clés RSA 4 Tests de primalité S. Vaton (TB/INFO) RES201 Juin / 36 Sécurité du RSA (1/3) La sécurité du RSA repose sur la difficulté du problème de factorisation d un entier en produit de deux grands facteurs premiers. On peut montrer que les deux problèmes suivants sont équivalents : 1 connaissant e et N (clé publique) retrouver la valeur de d (clé privée) ; 2 trouver les facteurs p et q de N. S. Vaton (TB/INFO) RES201 Juin / 36 61

62 Sécurité du RSA (2/3) Si on connaît p et q alors on peut calculer φ(n) = (p 1).(q 1) et, à partir de e (clé publique), retrouver la valeur de d par inversion modulaire. Si on connaît (e, N) (clé publique) et d (clé privée) on peut retrouver raisonnablement facilement p et q. En effet si on connaissait non seulement N mais aussi φ(n) on trouverait p et q comme les racines de l équation du second degré : ( ) x 2 (N + 1 φ(n))x + N = 0 En effet le produit des racines de (*) est N = p.q et la somme des racines est p + q == N + 1 φ(n) puisque φ(n) = (p 1)(q 1) = p.q (p + q) + 1 = N (p + q) + 1. S. Vaton (TB/INFO) RES201 Juin / 36 Sécurité du RSA (3/3) Supposons connaître e et d. On sait que φ(n) divise e d 1 puisque e d = 1 mod φ(n) = 1 + k φ(n). e est généralement petit (rapidité du chiffrement), par ailleurs d < φ(n) par conséquent k est petit (de l ordre de quelques milliers) et φ(n) est grand. On explore les différentes valeurs possibles de k (en commençant par les plus petites), et pour chaque valeur φ(n) correspondante, on détermine si l équation (*) a des racines entières. Si (*) a des racines entières alors ces racines sont p et q. 62 S. Vaton (TB/INFO) RES201 Juin / 36

63 Sommaire 1 Description 2 Bases Arithmétique modulaire Preuve du RSA Inversion Modulaire Exponentiation Modulaire 3 Sécurité du RSA Factorisation d un grand entier Clés RSA 4 Tests de primalité S. Vaton (TB/INFO) RES201 Juin / 36 Construction de Clés en RSA (1/2) aujourd hui on considère que pour que l algorithme soit sûr il faut que N soit de longueur minimale 1024 bits ; les longueurs de clé sont habituellement comprises entre 1024 et 2048 bits. par ailleurs, pour éviter que l on puisse factoriser N il faut que chacun des facteurs p et q soit grand (longueur de l ordre de 512 bits au minimum) ; il faut que la différence entre p et q soit elle-même grande (longueur minimale de 500 bits c est-à-dire que p et q doivent présenter au moins une différence sur les 12 premiers bits). S. Vaton (TB/INFO) RES201 Juin / 36 63

64 Construction de Clés en RSA (2/2) Méthode de factorisation dûe à Fermat : Supposons par exemple que p > q et notons p = s + t et q = s t. Alors N = p.q = (s + t).(s t) = s 2 t 2. Si la différence 2t entre p et q est petite on retrouve facilement p et q. En effet on remarque que N + t 2 = s 2 et on retrouve s et t en testant une par une les valeurs de t de longueur faible (disons quelques millions de valeurs) et on cherche la valeur t pour laquelle l équation N + t 2 = s 2 possède une solution s entière. S. Vaton (TB/INFO) RES201 Juin / 36 Sommaire 1 Description 2 Bases Arithmétique modulaire Preuve du RSA Inversion Modulaire Exponentiation Modulaire 3 Sécurité du RSA Factorisation d un grand entier Clés RSA 4 Tests de primalité 64 S. Vaton (TB/INFO) RES201 Juin / 36

65 Tests de Primalité Pour pouvoir générer les facteurs p et q il faut être capable de générer un nombre au hasard : générateurs pseudo-aléatoires, de tester si ce nombre est un nombre premier : tests de primalité Les tests de primalité sont donc un sujet particulièrement important en cryptographie à clé publique. Dans le cadre de ce cours nous allons étudier deux tests de primalité (dits probabilistes) : le test de Fermat, le test de Miller-Rabin. S. Vaton (TB/INFO) RES201 Juin / 36 Test de Fermat (1/2) Théorème de Fermat : Soit p un entier premier. Alors pour tout nombre a 0 mod [p] on a le résultat suivant : a p 1 = 1 mod [p] Rem : Le théorème de Fermat est un cas particulier du théorème d Euler. Test de Fermat : C est un des tests de primalité les plus simples. Le test repose sur le principe suivant : choisir une base a au hasard (2 a p 1) et calculer a p 1 mod [p] ; si le résultat est différent de 1 alors p est composite ; si le résultat est 1 alors p est peut-être premier ; répéter la procédure un grand nombre de fois tant qu on n a pas trouvé de base a pour laquelle p ne passe pas le test. S. Vaton (TB/INFO) RES201 Juin / 36 65

66 Test de Fermat (2/2) Le test de Fermat est un test probabiliste : s il existe une base a 0 pour laquelle p ne passe pas le test alors p ne passe pas le test pour au moins la moitié des bases ; il est alors très peu probable que, quand on augmente le nombre de bases a, on n en trouve pas au moins une pour laquelle p ne passe pas le test ; par contre on ne peut jamais être sûr que p n est pas un nombre composite car il existe de (très rares) nombres composites p qui passent le test pour toute valeur de a ; ces nombres sont appelés nombres pseudo-premiers ou nombres de Carmichael ; le plus petit d entre eux est 561 = Malgré l existence de nombres de Carmichael, le standard RSA a utilisé le test de Fermat comme test de primalité jusqu en S. Vaton (TB/INFO) RES201 Juin / 36 Tests probabilistes de primalité Il existe différents tests probabilistes de primalité. Les plus connus d entre eux sont : test de Fermat test de Miller-Rabin test de Solovay-Strassen Voir la description de ces tests sur Wikipedia par exemple. 66 S. Vaton (TB/INFO) RES201 Juin / 36

67

68

69 RSA Lab Travaux Pratiques RSA Module F2B401B, Introduction à la Cryptographie janvier Algorithme d Euclide : cet algorithme fournit le plus grand commun diviseur de deux nombres (PGCD). Questions : Compléter la procédure PGCD dans le programme euclide.c Compiler et tester pour différents couples d entiers (A,B). Voir la description de l algorithme d Euclide en annexe. 2. Algorithme d Euclide étendu : cet algorithme fournit les coefficients (u, v, d) de l identité de Bezout où d = P GCD(A, B) et où u et v sont deux entiers tels que u A + v B = d. Utilisation : cet algorithme sert à déterminer l exposant de déchiffrement RSA d tel que e d = φ(n) où d, l exposant de chiffrement RSA, est premier avec φ(n) = (p 1)(q 1) (n = pq étant le module RSA). Principe : construire récursivement des coefficients u i et v i tels que u i A + v i B = r i où r i est le reste de la division euclidienne dans l algorithme d Euclide. Voir la description de l algorithme d Euclide étendu et de son implémentation en annexe. Dans le programme euclidee.c, La fonction Update réalise h = hh et hh = h hh k. A quoi va servir la fonction Update? Remarquer l utilisation des pointeurs dans la fonction Update. Quel est l intérêt de l utilisation de pointeurs? La procédure EuclideExtended calcule les coefficients (u, v, d) de l identité de Bezout. Cette procédure fait appel à la procédure Update. Compléter la procédure EuclideExtended. Compléter le main par un appel à la procédure EuclideExtended. Le main permet de calculer les coefficients de l identité de Bezout pour 2 entiers saisis au clavier. Compiler et tester avec différentes valeurs de A et B. 1 69

70 3. Inversion Modulaire. Lorsque A et N sont premiers entre eux l identité de Bezout s écrit u A + v N = 1 et donc u est l inverse de A modulo N puisque u A = 1 + v N = 1 mod [N]. Le programme invmod.c fournit l inverse modulo N de A si A et N sont premiers entre eux. Dans le programme invmod.c, compléter la procédure EuclideExtended compléter le main : appel à la procédure EuclideExtended, faire afficher l inverse de A modulo N. compiler et tester. 4. Exponentiation modulaire. mod [n] avec une com- L algorithme d exponentation rapide permet de calculer l exponentielle modulaire a x plexité numérique de l ordre de log 2 (x) au lieu de x pour la méthode directe. Le programme expmod.c permet de comparer la méthode directe et la méthode rapide. La méthode directe est donnée (fonction ModExp2). On vous demande : d implémeter la méthode rapide (compléter la fonction ModExp1), comparer les résultats donnés par ModExp1 et ModExp2. 5. Tests de primalité. De nombreux algorithmes cryptographiques nécessitent de générer des très grands nombres premiers. En particulier, le module RSA n est le produit de deux facteurs premiers p et q. Il est donc vital de savoir générer des nombres premiers avec un coût de calcul aussi faible que possible. Dans ce TP on propose de générer des nombres entiers aléatoires et de tester leur primalité par le test de Fermat. Le test de Fermat est exposé en Annexe. Dans primal.c : compléter la procédure Premier compléter et tester pour différentes valeurs de N 6. Chiffrement et Déchiffrement RSA. Ecrire votre propre programme qui : génère aléatoirement les facteurs p et q premiers génère aléatoirement l exposant de chiffrement e, premier avec φ(n) = (p 1)(q 1) calcule l exposant de déchiffrement correspondant d 2 70

71 produit aléatoirement un message (entier compris dans [1...N-1]), le chiffre, puis oublie ce message et le retrouve en déchiffrant le cryptogramme ; afficher les valeurs du message en clair, du chiffré et du message obtenu après déchiffrement à l écran. Question subsidiaire : densité des nombres premiers. On rappelle le théorème de Tchebichev : le nombre d entiers premiers plus petits que N est approximativement égal à N/ log(n). Vérifier par simulation le théorème de Tchebichev sur la densité des nombres premiers. 3 71

72 Chiffrement RSA n est un entier produit de deux nombres premiers p et q : n = p q n est appelé module RSA. L exposant de chiffrement e est un entier premier avec φ(n) = (p 1)(q 1) (φ(n) est l indicateur d Euler de n). L exposant de déchiffrement d est l inverse de e modulo φ(n) : d e = 1 mod φ(n) Le message m est un entier compris entre 1 et n 1, le chiffré c est également un entier compris entre 1 et n 1. Chiffrement Le chiffré c est obtenu par : c = m e mod [n] Déchiffrement Le message est obtenu par : m = c d mod [n] 4 72

73 Algorithme d Euclide L algorithme d Euclide permet de déterminer le p.g.c.d. de 2 entiers A et B (B < A) sans faire appel à leur factorisation. A = B q 0 + r 0 B = r 0 q 1 + r 1 r 0 = r 1 q 2 + r 2. r m 2 = r m 1 q m + r m r m 1 = r m q m+1 L algorithme se termine quand le reste est nul. Le pgcd de A et de B est le dernier reste non nul r m. 5 73

74 Algorithme d Euclide étendu Cet algorithme détermine, en plus de PGCD(A,B), 2 entiers u et v tels que u A + v B = P GCD(A, B). Comment? On construit récursivement, en combinant les égalités euclidiennes, des coefficients u i et v i tels que u ia + v ib = r i. A terme on obtient u = u m et v = v m puisque P GCD(A, B) = r m (dernier reste non nul). Egalités euclidiennes : r i 2 = r i 1q i + r i avec A = r 2, et B = r 1 Initialisation : Puis, par récurrence : Implémentation de l algorithme d Euclide étendu Initialisation : dividende = A diviseur = B u = 1 v = 0 uu = 0 vv = 1 Tant que (diviseur <> 0) faire quotient = dividende / diviseur (division entière) reste = dividende-diviseur*quotient dividende diviseur diviseur reste unew = = u-uu*quotient u uu uu unew vnew = v-vv*quotient v vv vv vnew r 2 = A donc u 2 = 1, v 2 = 0 r 1 = B donc u 1 = 0, v 1 = 1 r i = r i 2 r i 1q i = (u i 2A + v i 2B) (u i 1A + v i 1B)q i = (u i 2 u i 1q i) A + (vi 2 vi 1qi) {z } {z } B u i = u i 2 u i 1q i v i = v i 2 v i 1q i 6 74

75 Exponentiation modulaire Objectif : calculer m e mod [n]. Remarque : e peut aussi s écrire (représentation binaire pure) e = P i ei 2i e i {0, 1} et donc Il suffit donc de calculer les facteurs m 2i m e mod [n] = Q i/e i =1 m2i mod [n] mod [n] m ( )2 m 2 ( )2 22 ( )2 23 ( )2 m m log 2 (e) carrés modulaires au lieu de e multiplications modulaires 7 75

76 Rappels sur le test de Fermat Ce test repose sur le petit théorème de Fermat qui dit que : si N est premier, et si a 0 mod [N] alors a N 1 = 1 mod [N]. On sait aussi que : si N est premier on a toujours cette égalité (quelque soit la base a) si N n est pas premier il se peut que, pour certaines valeurs de la base a, cette égalité soit quand même vérifiée : mais rassurez-vous, c est quand même rare... Soit N un entier (impair). On cherche à déterminer, avec une probabilité d erreur aussi petite que possible, si N est premier. Test de Fermat : générer un nombre aléatoire a dans 2, 3,..., N 1 calculer a (N 1)/2 mod [n] si a (N 1)/2 mod [n] est différent de 1 et 1 alors N n est pas premier (et c est sr) si a (N 1)/2 mod [n] est égal à 1 ou 1 alors N a de grandes chances d être premier Bien sr, les grincheux vous diront que cela ne marche pas à tous les coups : il existe des nombres N non premiers pour lesquels l égalité a (N 1)/2 mod [N] {1, 1} est vérifiée pour certaines valeurs de la base a : ce sont les nombres pseudo premiers (qui portent aussi le joli nom de nombres de Poulet). Exemple : 341 est pseudo-premier pour la base 2. Il y en a même (les coquins) pour lesquels l égalité a (N 1)/2 mod [N] {1, 1} est toujours vraie, quelque soit la base a choisie! Ces nombres sont appelés nombres de Carmichaël, ou encore nombres pseudo premiers absolus. Exemple : le plus petit d entre eux est 561 (561 = ). Si on a l idée de se dire que le test de Fermat ne marche pas mais qu en essayant différentes valeurs de la base a, par recoupement on devrait y arriver, on a perdu puisque N peut très bien être un nombre de Carcmichaël. Cependant, les nombres de Carmichaël sont très rares. Ainsi la proportion de nombres pseudo premiers pour la base 2 est inférieure à 1 sur 1 million pour les entiers jusqu à 25 milliards, et cette proportion est encore plus petite pour N grand. Donc on peut appliquer le test de Fermat avec une fiabilité relativement grande. 8 76

77

78

79 Public Key Cryptography Exercices FORMULAIRE D EXERCICES DE CRYPTOGRAPHIE TELECOM Bretagne Novembre 2014 Question1 Chiffrement de César Le chiffrement de César est le schéma de chiffrement par substitution mono-alphabétique le plus simple. Il s agit d un chiffrement par décalage qui consiste simplement à décaler les lettres de l alphabet d un nombre de crans constant vers la droite. Décrypter le texte suivant qui a été obtenu en appliquant le chiffre de César sur un texte en langue française dans lequel les espaces ont été supprimés : Indice : l histogramme suivant vous donne la fréquence d apparition des lettres en français Question2 Algorithme d Euclide étendu Calculer l inverse de 7 modulo

80 Question3 Exponentiation modulaire Calculer 2 7 mod 55, puis mod 55. Question4 Echange de clé de Diffie Hellman 1. Vérifier que g = 2 est un générateur du groupe multiplicatif Z Quel est le secret commun qu établissent Alice et Bob en utilisant le protocole de Diffie-Hellman avec p = 11 et g = 2 si les nombres aléatoires qu ils ont choisi sont x A = 7 et x B = 8. Question5 RSA Soit p = 3, q = 13, n = pq = 39 et e = Calculer d tel que ed = 1modφ(n). 2. Chiffrer le message m = 2 et vérifi er le résultat en le déchiffrant. Question6 RSA Vous interceptez le cryptogramme c = 10 qui a été obtenu par chiffrement RSA avec la clé publique n = 35 et e = 5. Quel est le message clair? Question7 Où l on apprend qu il est dangereux de partager les modules RSA Supposons que dans un système de chiffrement RSA on attribue des couples (clé publique, clé secrète), (e 1, d 1 ) et (e 2, d 2 ), associés à un même module RSA N à deux utilisateurs différents. 1. Montrer qu un utilisateur peut facilement retrouver la factorisation de N à partir de son propre couple (e, d) et du module N. 2. Que peut-on en déduire quant à la sécurité du système? Supposons maintenant que dans le système on attribue le même module RSA à un groupe d utilisateurs qui se font mutuellement confiance. Nous allons voir qu une personne externe peut facilement attaquer ce système. Supposons qu on envoie un même message m, en le chiffrant, à deux utilisateurs dont les clés publiques e 1 et e 2 sont premières entre elles. L attaquant externe peut retrouver le clair m à partir des chiffrés c 1 et c Enoncer l identité de Bezout vérifiée par e 1 et e 2. Quel algorithme l adversaire peut-il utiliser pour retrouver les coefficients u et v de cette identité? 4. L attaquant externe calcule c u 1c v 2 modulo N. Pourquoi? Question8 Générateur de clés RSA Voici un générateur de clés RSA écrit en Java Page 2 80

81 import java.io.*; import java.math.biginteger; import java.util.random; class genrsa { dont voici une trace d exécution } public static void main(string arg[]) { BigInteger P,P1,Q,Q1,N,PHI,E,D; Random alea = new Random(); } E = BigInteger.valueOf(65537); do { P = new BigInteger(512,20,alea); P1 = P.subtract(BigInteger.ONE); } while (P1.gcd(E).equals(BigInteger.ONE) == false); do { Q = new BigInteger(512,20,alea); Q1 = Q.subtract(BigInteger.ONE); } while (Q1.gcd(E).equals(BigInteger.ONE) == false); N = P.multiply(Q); PHI = P1.multiply(Q1); D = E.modInverse(PHI); System.out.println("n = " + N.toString(16)); System.out.println("e = " + E.toString(16)); System.out.println("d = " + D.toString(16)); $ java genrsa n = b c17988f cbc39ffd5727dd7b16a065ddb84afa749e080d616b0a10ede6 19b8e698fb5d d2c94dde6500ccb543c6a50ba65269c6320a8db75da4aee8f09f49072 d413fb7d347c05ef6c5a427d4366f46d6b6f4f20bce39dc3f89b9bec805bb7251f2ddc994ce88af 4e646760b7802be3f049a81 e = d = 6d02a356e13bf6c4870d f483a43e4f790a74cd2085c0a0a b6796aedd933c3 be1acae977dbc a91a63df5e02d084ad2b456f d443012b6d18f1376d4a1a8ab 5af4e3f01cd22e3561f0f353b711a981d35ab45e b01d5e1e20f e4b f a6f5c8f1b485055e8a86f7d $ Voici un extrait de la spécification de la classe Random Page 3 81

82 public class Random extends Object implements Serializable An instance of this class is used to generate a stream of pseudorandom numbers. The class uses a 48-bit seed, which is modified using a linear congruential formula. (See Donald Knuth, The Art of Computer Programming, Volume 2, Section ) [...] Random public Random() Creates a new random number generator. Its seed is initialized to a value based on the current time: public Random() { this(system.currenttimemillis()); } Two Random objects created within the same millisecond will have the same sequence of random numbers. et un extrait de celle de BigInteger BigInteger public BigInteger(int bitlength, int certainty, Random rnd) Constructs a randomly generated positive BigInteger that is probably prime, with the specified bitlength. It is recommended that the probableprime method be used in preference to this constructor unless there is a compelling need to specify a certainty. Parameters: bitlength - bitlength of the returned BigInteger. certainty - a measure of the uncertainty that the caller is willing to tolerate. The probability that the new BigInteger represents a prime number will exceed (1-1/2certainty). The execution time of this constructor is proportional to the value of this parameter. rnd - source of random bits used to select candidates to be tested for primality. 1. D après vous que représente la variable E? Quel est le poids de Hamming de E (nombre de bits à 1)? Pourquoi avoir choisi cette valeur? 2. Que représentent les variables P et Q? Quel est le rôle des boucles do... while (...) qui les définissent? 3. Quelle est la taille des clés RSA générées? 4. Indiquez pourquoi ce générateur n offre pas une sécurité suffisante en proposant une méthode d attaque dont vous évaluerez la complexité. Question9 Monnaie numérique anonyme On propose un protocole cryptographique permettant de produire une monnaie numérique. Cette monnaie numérique doit avoir les mêmes propriétés que la monnaie papier, à savoir que : seule la banque est capable de forger des unités monétaires il n y a pas de traçabilité des transactions entre vendeur et acheteur Page 4 82

83 La Banque rend publiques une fonction à sens unique f( ) et une clé publique RSA (n, e). La clé d correspondante est gardée secrète. L Acheteur utilise les services de la Banque pour produire une unité monétaire (x, X) comme spécifié sur le schéma. Le Vendeur vérifie que l unité monétaire est valide, c est-à-dire s assure que l Acheteur a bien utilisé les services de la Banque pour produire cette unité. La méthode de vérification est donnée sur le schéma. Monnaie numérique anonyme. 1. Comment est garantie l anonymisation de la transaction? 2. Qu est-ce-qui garantit que la banque est la seule à pouvoir fabriquer de la monnaie? Page 5 83

84 Question10 3-coloriabilité d un graphe Soit G un graphe à k sommets. Le graphe possède des arêtes. Chaque arête relie deux sommets du graphe. D un sommet peut partir un nombre arbitraire d arêtes. Un graphe G est dit 3-coloriable si on peut affecter à chaque sommet de G une couleur parmi trois (par exemple, jaune, rouge et bleu) de telle façon qu aucune arête de G ne soit coloriée de la même couleur à ses deux sommets extrémité. Le problème général du 3-coloriage est un problème NP-complet : si G est un graphe quelconque, trouver un 3-coloriage de G (s il en a effectivement un) est un problème très difficile. On se propose de construire un protocole zero-knowledge en utilisant ce problème. On rappelle les trois principes d un protocole zero-knowledge : toute personne autorisée arrive toujours à s authentifier, une personne non autorisée finit toujours par se trahir, un espion qui observe une personne autorisée s authentifier ne doit rien apprendre qui lui permettrait de s authentifier. Dans cet exercice nous allons considérer quatres personnes : le Prouveur, le Vérifieur, le Tricheur et l Espion. Le Prouveur commence par générer un graphe 3-coloriable : par exemple, il génère k sommets auxquels il affecte aléatoirement une des trois couleurs. Ensuite il génère aléatoirement des paires de sommets (s1, s2) et il connecte s1 et s2 par une arête si s1 et s2 ne sont pas coloriés avec la même couleur. Il continue jusqu à ce que par exemple tous les sommets qu il a générés initialement soient connectés à au moins deux sommets et que le graphe soit connexe (il existe toujours un chemin entre deux sommets s1 et s2). Par construction le graphe qu il obtient est 3-coloriable et il en connaît un coloriage. Le Prouveur publie son graphe G qui devient alors public et garde son coloriage secret. Le coloriage secret est noté C, la couleur d un sommet s est C(s) et C(s) prend seulement les trois valeurs possibles : jaune, rouge ou bleu. On suppose en plus que l on a une fonction de hachage h à sens unique et connue de tout le monde. Le Prouveur veut s identifier auprès du Vérifieur. UN ROUND du protocole se déroule de la manière suivante : 1. Pour chaque sommet s de G, Prouveur tire un nombre aléatoire R s (différent à chaque round et pour chaque sommet) et envoie à Vérifieur tous les messages h(s, C(s), R s ) pour tous les sommets. 2. Vérifieur tire au hasard deux sommets de G, s1 et s2, reliés par une arête. 3. Prouveur envoie à Vérifieur les deux messages < s1, C(s1), R s1 > et < s2, C(s2), R s2 >. 4. Vérifieur calcule les hachés des deux messages et vérifie que ce sont bien les valeurs que Prouveur lui avait données à la première étape. Si en plus, C(s1) C(s2) alors le round s est bien passé. Avec un tel protocole, il est clair que Prouveur arrive toujours à s authentifier puisque il connaît la fonction C. Question a : A quoi servent les nombres aléatoires R s? Que se passe-t-il si on les retire systématiquement du protocole? Que se passe-t-il si le même nombre aléatoire R est utilisé pour tous les sommets s? On s intéresse maintenant au cas de Tricheur. Il ne connaît pas le secret de Prouveur (à savoir le 3- coloriage de G) mais va quand même essayer de se faire passer pour Prouveur. Il récupère donc le graphe G de Prouveur (qui est public) et essaye de le colorier en respectant la règle du 3-coloriage. Comme il ne sait pas comment le graphe a été construit et que le problème est NP-complet, il échoue. On suppose donc qu il arrive à colorier correctement G en partie. Sur la partie de G qu il n arrive pas à colorier sans conflits, Tricheur commet des erreurs (i.e. des arêtes ayant la même couleur aux deux extrémités). Pour simplifier, on considère qu il n y a qu une seule erreur sur le coloriage réalisé par Tricheur. Son coloriage est donc imparfait, on le note C dans ce qui suit. Tricheur décide d adopter l attitude suivante. Il envoie à Vérifieur le haché de son coloriage C á la première étape du protocole. Si Vérifieur le questionne sur une arête (s1,s2) qu il a réussi à colorier convenablement, il envoie les messages < s1, C (s1), R s1 > et < s2, C (s2), R s2 >. Si Vérifieur Page 6 84

85 le questionne sur l arête qu il n a pas réussi à colorier correctement, il va répondre par exemple < s1, jaune, R s1 > et < s2, rouge, R s2 >, du moment que les deux couleurs soient différentes. Question b : Est-ce que Tricheur peut donner le change de cette manière? On suppose que h est une fonction de hachage mal construite. En particulier, elle est vulnérable aux collisions. Soit s un sommet, c une couleur et r un nombre quelconque, alors on peut trouver assez facilement quelle que soit la couleur c, un nombre aléatoire r tel que h(s, c, r) = h(s, c, r ). Question c : Montrer en ce cas que Tricheur arrive toujours à s identifier même s il ne connaît pas le 3-coloriage de G. On suppose que h est une fonction de hachage sûre. Soit n le nombre d arêtes du graphe G. Question d : Quelle est la probabilité que Tricheur s authentifie correctement pendant un round? Montrer que si n est grand, la probabilité que Tricheur s authentifie correctement pendant n rounds est proche de 1/e. On voit donc qu en multipliant le nombre de rounds Tricheur finira toujours par se trahir. Nous allons maintenant nous intéresser au cas d Espion : il observe toutes les procédures d authentifications de Prouveur et espère en tirer les informations qu il faut pour se faire passer pour Prouveur. Question e : Montrer qu Espion finit par découvrir entièrement le coloriage de Prouveur si on utilise le protocole précédent. On modifie le protocole de la manière suivante. A la première étape de chaque round, avant toute autre opération, Prouveur modifie aléatoirement ses conventions de coloriage : il permute aléatoirement le nom des trois couleurs dans son coloriage initial. Prouveur dévoile des informations claires sur son coloriage uniquement dans la 3ème étape du protocole. Question f : Avec cette modification, quelle information Espion peut-il déduire du message? Question g : Quel est le principal désavantage de ce protocole par rapport à un protocole comme le Fiat-Shamir? Question11 Problème de sac à dos Soit a 1, a 2,..., a k des entiers positifs. Soit M un nombre entier avec M < k i=1 a i. On veut résoudre l équation M = k i=1 e i a i avec e i {0, 1}. Ce problème s appelle le problème du sac à dos et sa résolution dans le cas général est un problème NP-complet. 1. On suppose que a i > i 1 k=1 a i, i 2. On parle alors de sac-à-dos super croissant. Montrer que le problème est alors simple à résoudre. 2. Soit a 1, a 2,..., a k un sac à dos super-croissant. Soit N > k i=1 a i avec N premier avec tous les a i, i = 1, k. Soit A un entier premier avec N. On pose b i = a i A mod [N]. Soit C = k i=1 e ib i avec e i {0, 1}. Montrer que si on connaît A et les a i alors on peut retrouver les valeurs des e i au vu de C. 3. En déduire un protocole à clé publique permettant d encoder un message de k bits. 4. Calculer les clés pour un protocole permettant d encoder 1 octet. Quelle est la taille de la clé publique et la taille des messages? Comparer à un RSA permettant d encoder un octet. Conclusion? Rem : ce système de chiffrement est le premier algorithme de chiffrement à clé publique inventé (un an avant le RSA). Il a été abandonné car, avec des outils mathématiques adaptés, on peut le décoder même sans connaître A. Question12 Protocole de Fiat Shamir On admet dans ce qui suit le résultat suivant : soit p et q deux entiers premiers et soit N = p q alors il est impossible, au vu de Y = X 2 mod [N], de deviner la valeur de X. Ce problème dit des résidus quadratiques est à la base d un protocole d authentification sans transfert de connaissance, le protocole de Fiat-Shamir. Protocole de Fiat Shamir : Alice veut s identifier auprès de Bob. Elle choisit N = p q produit de deux nombres premiers et elle choisit X (0 < X < N). Elle calcule Y = X 2 mod [N]. Elle publie le couple (Y, N) que Bob garde Page 7 85

86 en mémoire, elle conserve X secret, elle détruit p et q. A chaque fois qu elle veut s identifier auprès de Bob il faut qu elle prouve à Bob qu elle détient X sans pour autant révéler la valeur de X. 1. Soit le protocole suivant : Alice génère un nombre aléatoire a (0 < a < N). Elle calcule y = a 2 Y mod [N] qu elle envoie à Bob. Bob accuse réception de y et Alice lui envoit alors x = a X. Bob vérifie alors que y = x 2 mod [N]. Montrer que Eve, sans connaître le secret X peut s authentifier à la place de Alice. On modifie alors le protocole de la façon suivante : Alice génère un nombre aléatoire a (0 < a < N) et transmet à Bob la quantité t = a 2 mod [N]. Bob tire une variable aléatoire ɛ qui vaut 0 ou 1 de manière équiprobable et communique ɛ à Alice. Si ɛ = 0 Alice transmet a à Bob qui vérifie t = a 2 mod [N]. Si ɛ = 1 alors Alice transmet a X mod [N] à Bob qui vérifie (a X) 2 mod [N] = t Y mod [N]. 2. A quoi sert le nombre a? A quoi sert la variable ɛ? 3. Eve veut s identifier à la place de Alice. Elle espionne au préalable les authentifications de Alice. On suppose de plus que le générateur aléatoire ɛ utilisé par Bob est connu par Eve. Montrer alors que Eve peut toujours s identifier à la place de Alice. 4. Eve ne connaît pas parfaitement le générateur aléatoire utilisé par Bob mais essaie de parier à l avance sur les valeurs que va lui proposer Bob. Elle est capable de déterminer avec probabilité p la valeur de ɛ. Quelle est la probabilité pour Eve de s authentifier correctement sur un round? sur k rounds? 5. On suppose maintenant que le générateur de Bob est uniformément réparti et secret. Par contre le générateur d Alice est mal conçu et une valeur de a sort avec une probabilité p nettement supérieure à 1/(N 1). Eve espionne toutes les authentifications. Combien d authentifications doit-elle espionner en moyenne pour être capable de s authentifier à la place de Alice? 6. Le protocole est modifié de la façon suivante : Alice connaît secrètement un ensemble de nombres X 1, X 2,..., X k et publie les nombres Y 1, Y 2,..., Y k correspondants. Bob au lieu d envoyer un bit ɛ unique, envoie K bits ɛ 1, ɛ 2,..., ɛ k. Alice doit alors lui fournir a i/ɛ i=1 X i. Quel est l intérêt de cette modification? Question13 Générateur de Geffe On considère 3 suites pseudo-aléatoires (a k ) k N, (b k ) k N et (c k ) k N couplées en parallèle au travers d un générateur de Geffe : s k = a k bk b k c k. Quelle est l information mutuelle entre a k et s k? On suppose que la suite a k a été produite par un LFSR dont la structure est connue (le polynome de rétroaction est connu). Le secret est la valeur d initialisation du LFSR (clé). Combien de valeurs successives de la séquence s k suffit-il de connaître pour, en théorie, être parfaitement en mesure de retrouver la valeur de la clé? Question14 Attaque par corrélation du générateur de Geffe On considère trois registres à décalage à rétroaction linéaire (LFSR) notés R 1, R 2 et R 3 de longueurs respectives l 1, l 2 et l 3 (nombres d éléments de mémoire). On note x 1 (t), x 2 (t) et x 3 (t) les sorties respectives des LFSR R 1, R 2 et R 3. Ces sorties sont combinées par un générateur de Geffe pour produire la suite chiffrante z(t) = x 1 (t)x 2 (t) x 2 (t)x 3 (t). La notation représente le "ou exclusif" (XOR) et la notation x 2 représente le complément à 1 de x En supposant que les valeurs x i (t) sont binaires équiprobables calculer les probabilités P(z(t) = x 1 (t), P(z(t) = x 2 (t) et P(z(t) = x 3 (t). 2. En déduire une attaque contre ce générateur. Commenter la complexité calculatoire de la mise en oeuvre de cette attaque. Question15 Contrefaçon existentielle sur le schéma de signature d El Gamal Une attaque de type contrefaçon existentielle contre un schéma de signature est un mécanisme par lequel l attaquant est capable d exhiber un couple message/signature valide. Dans ce type d attaque 86 Page 8

87 le message n est pas quelconque mais construit par l attaquant de façon à ce que ce dernier soit capable de produire la signature correspondante. Au contraire dans une attaque de type contrefaçon universelle l attaquant est capable de signer tous les messages. Nous allons montrer que le schéma de signature d El Gamal est sensible à une attaque de type contrefaçon existentielle. On rappelle tout d abord le schéma de signature d El Gamal. Génération des clés : le signataire choisit un entier premier p et un élément générateur g de Z p. Il tire uniformément aléatoirement x Z p 1 et calcule y = g x mod [p]. La clé publique est (p, g, y) et la clé secrète est x. Signature : pour signer un message m Z p 1 le signataire tire uniformément aléatoirement k Z p 1 et calcule r = g k mod [p]. Il calcule s = (m xr)/k mod [p 1] et la signature est le couple (r, s). Vérification : un couple (r, s) est une signature valide de m Z p 1 si et seulement si (r, s) Z p Z p 1 et g m = y r r s mod [p] Supposons que l attaquant pose r = g a y b mod [p] puis calcule ensuite s = r/b mod [p 1]. De quel message le couple (r, s) est-il une signature valide? Page 9 87

88

89 Attack Lab Network Security Course - November Lab Overview Attack Lab Attacks on TCP/IP Protocols Part I - Preparation (Homework) The learning objective of this lab is for students to gain the first-hand experience on the vulnerabilities of TCP/IP protocols, as well as on attacks against these vulnerabilities. The vulnerabilities in the TCP/IP protocols represent a special genre of vulnerabilities in protocol designs and implementations; they provide an invaluable lesson as to why security should be designed in from the beginning, rather than being added as an afterthought. Moreover, studying these vulnerabilities help students understand the challenges of network security and why many network security measures are needed. Vulnerabilities of the TCP/IP protocols occur at several layers. 1. This part of the Lab should be prepared before the Lab. 2. Work in a group of THREE people. 3. This Lab will be evaluated based on the reports you are going to submit. Please, see the last section regarding the submission and the format of the report. 2 Questions How does ARP work? In a few sentences describe what is ARP cache poisoning. What is the purpose of the following ICMP messages: ICMP Redirect ICMP Blind Connection-Reset ICMP Source-Quench How does TCP SYN flood work? How does SYN Cookie mechanism help address some of the aspects of TCP SYN flooding? 3 Submission You need to submit a report in which you answer the above questions. The rules for the submission are: 1. Provide your report in PDF format. 2. Name the file of the archive you re submitting in the following way : NAME1 NAME2 NAME3- TP TCPIP 3. Limit the size of your report to no more than 2 pages. Please, send your report by to 89

90 Network Security Course - November Part II - Practical 4 Lab Environment and Work Organization 4.1 Work Organization You will be working by yourself or in binôme, with a teammate of your choice. Try to structure your work and take notes based on the following aspects: Design: The design of your attacks, including the attacking strategies, the packets that you use in your attacks, the tools that you used, etc. Observation: Is your attack successful? How do you know whether it has succeeded or not? What do you expect to see? What have you observed? Is the observation a surprise to you? Explanation: Some of the attacks might fail. If so, you need to find out what makes them fail. You can find the explanations from your own experiments (preferred) or from the Internet. If you get the explanation from the Internet, you still need to find ways to verify those explanations through your own experiments. Note that you may be unable to demonstrate some of the attacks, e.g. due to protection mechanisms integrated in the OSes under study. If this is the case a given exercise, concentrate on describing what you want to achieve, how you planned achieving it, the result, and a hypothesis why it didn t work as expected. 4.2 Environment Setup Network Setup. To conduct this lab, you will have 3 virtual machines at your disposal. One computer is used for attacking (Machine1), the second computer is used as the victim (Machine3), and the third computer is used as the observer (Machine2). For this lab, we put all these three machines on the same LAN in the following configuration: Machine 1 Machine 2 Machine LAN (Virtual Network) The logins for these machines are the following: user/userpass root/rootpass The virtual machines are named RES411-TP3-Machine1, RES411-TP3-Machine2 and RES411-TP3- Machine3. 90

91 Network Security Course - November Tools For this Lab you will be using a tool called Netwox. You can look up the tutorials/documentation supplied on Moodle of the module. Netwox consists of a suite of tools, each having a specific number. You can run the command like the following (the parameters depend on which tool you are using). For some of the tool, you have to run it with the root privilege: # netwox number [parameters... ] If you are not sure how to set the parameters, you can look at the manual by issuing "netwox number --help". Wireshark Tool. You also need a good network-traffic sniffer tool for this lab. Although Netwox comes with a sniffer, you will find that another tool called Wireshark is a much better sniffer tool. 5 Lab Tasks In this lab you will to conduct attacks on the TCP/IP protocols by using Netwox. All the attacks are performed on Linux operating systems. To simplify the guess of TCP sequence numbers and source port numbers, we assume that attacks are on the same physical network as the victims. Therefore, you can use sniffer tools to get that information. The following is the list of attacks that need to be implemented. A short reminder - you are attacking Machine 3 and observing the attacks from Machine 2. Machine 1 is the attacker. 5.1 Task (1) : ARP cache poisoning The ARP cache is an important part of the ARP protocol. Once a mapping between a MAC address and an IP address is resolved as the result of executing the ARP protocol, the mapping will be cached. Therefore, there is no need to repeat the ARP protocol if the mapping is already in the cache. However, because the ARP protocol is stateless, the cache can be easily poisoned by maliciously crafted ARP messages. Such an attack is called the ARP cache poisoning attack. In such an attack, attackers use spoofed ARP messages to trick the victim to accept an invalid MAC-to- IP mapping, and store the mapping in its cache. There can be various types of consequences depending on the motives of the attackers. For example, attackers can launch a DoS attack against a victim by associating a nonexistent MAC address to the IP address of the victim s default gateway; attackers can also redirect the traffic to and from the victim to another machine, etc. In this task, you need to demonstrate how the ARP cache poisoning attack work. Several commands can be useful in this task. In Linux we can use command arp to check the current mapping between IP address and MAC. Hints: 1. Use Wireshark to observe the exchanged packets (on Machine 2) 2. Try checking the ARP table of the victim before sending any traffic to it (it should be empty) 3. Send some traffic (e.g. ping) from the attacker to the victim and check the ARP table again 4. Understand the way ARP spoofing works (request, response) 91

92 Network Security Course - November Task (2) : ICMP Redirect Attack The ICMP redirect message is used by routers to provide the up-to-date routing information to hosts, which initially have minimal routing information. When a host receives an ICMP redirect message, it will modify its routing table according to the message. Because of the lack of validation, if attackers want the victim to set its routing information in a particular way, they can send spoofed ICMP redirect messages to the victim, and trick the victim to modify its routing table. In this task, you should demonstrate how the ICMP redirect attack works, and describe the observed consequence. To check the routing information in Linux, you can use the command route. Hints: 1. Use Wireshark to observe the exchanged packets (on Machine 2) 2. Verify the routing table of the victim, both the kernels FIB routing table and the routing cache 3. Try to send an ICMP Redirect packet from the attacker to the victim indicating that the new default router is the attacker s IP address 4. In case the attack doesn t work, try looking for a way to disable secure redirect protection in the victim 5.3 Task (3) : SYN Flooding Attack SYN flood is a form of DoS attack in which attackers send many SYN requests to a victim s TCP port, but the attackers have no intention to finish the 3-way handshake procedure. Attackers either use spoofed IP address or do not continue the procedure. Through this attack, attackers can flood the victim s queue that is used for half-opened connections, i.e. the connections that has finished SYN, SYN-ACK, but has not yet got a final ACK back. When this queue is full, the victim cannot take any more connection. Figure 1 illustrates the attack. attacker SYN server user SYN SYN ACK server? server SYN ACK user SYN user ACK user? server oos server Normal TCP 3 way handshake between user and server SYN flood: attacker sends many SYN to server without ACK. The server is not able to process request from user. Figure 1: SYN Flood 92

93 Network Security Course - November The size of the queue has a system-wide setting. In Linux, we can check the system queue size setting using the following command: # sysctl -q net.ipv4.tcp_max_syn_backlog We can use command "netstat -na" to check the usage of the queue, i.e., the number of halfopened connection associated with a listening port. The state for such connections is SYN-RECV. If the 3-way handshake is finished, the state of the connections will be ESTABLISHED. In this task, you need to demonstrate the SYN flooding attack. You can use the Netwox tool to conduct the attack, and then use a sniffer tool to capture the attacking packets. While the attack is ongoing, run the "netstat -na" command on the victim machine, and compare the result with that before the attack. Please also describe how you know whether the attack is successful or not. SYN Cookie Countermeasure: If your attack seems unsuccessful, one thing that you can investigate is whether the SYN cookie mechanism is turned on. SYN cookie is a defense mechanism to counter the SYN flooding attack. The mechanism will kick in if the machine detects that it is under the SYN flooding attack. You can use the sysctl command to turn on/off the SYN cookie mechanism: # sysctl -a grep cookie (Display the SYN cookie flag) # sysctl -w net.ipv4.tcp_syncookies=0 (turn off SYN cookie) # sysctl -w net.ipv4.tcp_syncookies=1 (turn on SYN cookie) Please run your attacks with the SYN cookie mechanism on and off, and compare the results. Try to describe why the SYN cookie can effectively protect the machine against the SYN flooding attack. You can find how the SYN cookie mechanism works from the Internet. 5.4 Task (4) : TCP RST Attacks on telnet and ssh Connections The TCP RST Attack can terminate an established TCP connection between two victims. For example, if there is an established telnet connection (TCP) between two users A and B, attackers can spoof a RST packet from A to B, breaking this existing connection. To succeed in this attack, attackers need to correctly construct the TCP RST packet. In this task, you need to launch an TCP RST attack to break an existing telnet connection between A and B. After that, try the same attack on an ssh connection. Please describe your observations. To simply the lab, we assume that the attackers and the victims are on the same LAN, i.e., attackers can observe the TCP traffic between A and B. 5.5 Task (5) : ICMP Blind Connection-Reset and Source-Quench Attacks ICMP messages can also be used achieve the connection-reseting attack. To do this, attackers send an ICMP error message that indicates a hard error to either of the two endpoints of a TCP connection. The connection can be immediately torn down as RFC 1122 states that a host should abort the corresponding connection when receiving such an ICMP error message. RFC 1122 defines hard errors as ICMP error messages of type 3 (Destination Unreachable) with code 2 (protocol unreachable), 3 (port unreachable), or 4 (fragmentation needed and DF bit set). The ICMP source quench message is used by the congested routers to tell the TCP senders to slow down. Attackers can forge such messages to conduct the denial of services attacks on TCP senders. In this task, you need to launch the ICMP blind connect-reset attacks and the ICMP source quench attacks. You need to be noted that some systems may reasonably ignore this type of ICMP errors in certain TCP state. 93

94 Network Security Course - November Task (6) : TCP Session Hijacking The objective of the TCP Session Hijacking attack is to hijack an existing TCP connection (session) between two victims by injecting malicious contents into this session. If this connection is a telnet session, attackers can inject malicious commands into this session, causing the victims to execute the malicious commands. We will use telnet in this task. We also assume that the attackers and the victims are on the same LAN. client SYN, Seqence Number X server client Acknowledge Number X+1 server SYN ACK, Sequence Number Y Ack Number X+1 ACK, Acknowledge Number Y+1 Data: "A", Sequence Number X+1 attacker Data: "Z", Sequence Number X+2 Acknowledge Number X+2 Normal TCP 3 way handshake and sending data between client and server Attacker Hijack the TCP session and send data "Z" to server on behalf of client Figure 2: TCP Session Hijacking Note: If you use Wireshark to observe the network traffic, you should be aware that when Wireshark displays the TCP sequence number, by default, it displays the relative sequence number, which equals to the actual sequence number minus the initial sequence number. If you want to see the actual sequence number in a packet, you need to right click the TCP section of the Wireshark output, and select "Protocol Preference". In the popup window, uncheck the "Relative Sequence Number and Window Scaling" option. 5.7 Note It should be noted that because some vulnerabilities have already been fixed in Linux, some of the above attacks will fail in Linux, but they might still be successful against other operating systems. This Lab is based on the Labs developed by Wenliang Du, Syracuse University. 0 The development of this document is funded by three grants from the US National Science Foundation: Awards No and from TUES/CCLI and Award No from Trustworthy Computing. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation. A copy of the license can be found at 94

95

96

97 Network Audit Lab Network Security Course November Overview Network Audit Lab Perform an Audit of a Company Network Part I - Preparation (Homework) The learning objective of this lab is for students to get familiar with some of the fundamental mechanisms for network audit, including OS and service identification and network port scanning. At the end of this Lab you will have a working knowledge of these mechanisms. 1. This part of the Lab should be prepared before the Lab. 2. Work in a group of THREE people. 3. This Lab will be evaluated based on the reports you are going to submit. Warning - it is ILLEGAL to perform network scans and investigations on a network you do not own or on which you don t have the written permission to do so. You ISP (FAI) and/or the network/computer you are scanning can detect easily the fact that you are performing a scan, which can lead to serious legal consequences! 2 Protocols, techniques and tools for network auditing The purpose of this home preparation is to describe the functioning of the following protocols, tools and techniques used for basic network auditing: 1. DNS, DNS queries 2. Host and port scanning (ping, nmap) 3. Network mapping (traceroute) 2.1 DNS queries with dig The Domain Name System (DNS) is a hierarchical naming system built on a distributed database for computers, services, or any resource connected to the Internet or a private network 1. Often it is reasonable to have two DNS servers - one for the internal network and one for servicing the external requests. One of the most versatile utilities for sending DNS queries is dig which we will be using to query the DNS servers of the internal network. Every OS has a DNS resolver which finds the correspondence name IP address. Under normal circumstances all programs use the integrated OS resolver. However, it is possible to specify ANY opened DNS server on the Internet to perform the name resolution. When badly configured, an opened end-user 1 97

98 Network Security Course November DNS server can be instructed to perform a resolution for a third party domain, which is one of the ways to perform DNS cache poisoning attack (by responding before the third party DNS server). Questions : 1. What is the potential usage of a utility such as dig? 2. Give an example of an alternative utility which does a similar work, but is more popular than dig. 3. Give a brief description of the following types of DNS records: (a) A (b) AAAA (c) PTR (d) MX (e) NS 4. Find examples of the following DNS queries with dig for a given domain (e.g. example.com): (a) Get the MX record for a domain (b) Get the A record for a specific host in a given domain (e.g. ftp.example.com) (c) Get the NS record for a specific host in a given domain (e.g. ftp.example.com) (d) Get the A, AAAA and/or NS records for any record without a label (e) Get all records with no label for the domain (e.g. SOA, MX,... in addition to A, AAAA and NS) (f) Get all domain records if allowed (g) Specify the DNS server to be used for the query (h) Perform a reverse-lookup Example: Get the A, AAAA and/or NS records for any record without a label: dig example.com 2.2 Host and port scanning Nmap is a free and open source utility for network exploration or security auditing. Many systems and network administrators also find it useful for tasks such as network inventory, managing service upgrade schedules, and monitoring host or service uptime. Nmap uses raw IP packets in novel ways to determine what hosts are available on the network, what services (application name and version) those hosts are offering, what operating systems (and OS versions) they are running, what type of packet filters/firewalls are in use, and dozens of other characteristics. 2 You can find a very complete description of the available options and the techniques used by nmap in its Reference Guide

99 Network Security Course November Additionally, you can use the nmap cheat sheet containing a relatively long list of all possible options at the following address: html. Hint: Note that during a scan operation you can press ENTER to see the current progress and the remaining scan time. Questions : 1. What is the purpose of ping? How does it work? 2. What is the difference between host scanning and port scanning? 3. Why is it good to start with a simple -sn scan? 4. What are the default host discovery scan options? 5. What are the default port scan options? 6. What is the difference between TCP SYN Ping, TCP ACK Ping, UDP Ping, ICMP Ping, ARP Ping, TCP SYN scan, UDP scan and TCP ACK scan? 7. How does nmap classify a port as being opened, closed or filtered? 8. What does the -sv option do and how does it achieve it? 9. What does the -O option do and how does it achieve it? 10. Is it possible to disable DNS name resolution during nmap scans or to select a different DNS server? How? 11. Provide examples of the following nmap scans of a /24 network: (a) Scan the entire subnet with no port scanning (256 hosts between and ) (b) Perform TCP SYN Ping on the ports 22-25,80,113,1050,35000 of the following IP addresses: , , , and (c) Perform a scan of all IPs of the form , , ,..., , ; ,..., ; ,..., ; ; ,..., ; (d) TCP SYN scan on port 80 of scanme.nmap.org and name resolution via (e) (Bonus question - optional) Write a short description of the Idle scan (-si) technique and the usage of scan decoys (-D) Example: Scan the entire subnet with no port scanning (256 hosts between and ) nmap -sp /24 99

100 Network Security Course November Network topology mapping Traceroute is a utility used to determine the path a packet takes between two endpoints. Traceroute does this by sending a series of packets with particular TTL (Time To Live) values and examining the ICMP replies seen. Sometimes, when a packet filter firewall is configured incorrectly, an attacker can traceroute the firewall to gain knowledge of the network topology inside the firewall. This information may allow an attacker to determine trusted routers and other network information. 3 Questions : 1. Briefly describe the technique used by traceroute to map the routers traversed by packets going to a given destination. 2. Which option disables DNS name resolution? 3. What is the command for IPv6 route tracing? 4. Give an example how an intruder can determine the network topology of a badly configured corporate network. As an example, imagine that there are 3 routers - one facing the Internet which routes the traffic to the two others, assuming that you know the IP addresses of some of the hosts behind the 3 routers. 5. (Bonus question - optional) When tracerouting to a distant IP address on the Internet is it possible that we get different routes at different times? Explain why. 3 Submission You need to submit a report in which you answer the above questions. The rules for the submission are: 1. Provide your report in PDF format. 2. Name the file of the archive you re submitting in the following way : NAME1 NAME2 NAME3- TP Audit 3. Limit the size of your report to no more than 2 pages. Please, send your report to

101 Network Security Course November Part II - Practical 4 Lab Environment and Organization 4.1 Work organization You will be working by yourself or in binôme, with a teammate of your choice. For this Lab you will be using 2 virtual machines. You will be using the machine called Scanner which has all the necessary tools installed. You will be investigating the network created by the machine called ComputerNetworkAudit. 4.2 Running the Virtual Machines Run the virtual machines from the list of VMs (the link should be on your Desktop): First start the ComputerNetworkAudit virtual machine Then, start the Scanner virtual machine. The two machines are connected to each other with no connection to the outside world. In this Lab we have used IP addresses and domain names inspired by real addressing schemes, so be careful to perform your experiments ONLY in the virtual machines (e.g. pay attention not to use a wrong terminal by mistake and thus scan a real network). ComputerNetworkAudit Scanner Internet ISP (Routing and DNS services) You cannot login to the ComputerNetworkAudit machine. The logins for the Scanner are: Normal user: user/userpass Root: root/rootpass Login to the Scanner machine and make sure that the network is functioning correctly by pinging the IP of your ISP as it may take some time for the Network machine to start. The machine will have successfully started once it responds to pings. Note that because we are emulating real routers with real routing protocol implementations, it may take some time (up to 2 minutes) for to respond to ping requests after the Network machine has started (why?). 101

102 Network Security Course November Lab Tasks You have been invited to audit the network of a medium-sized company. The only piece of information that is available to you is the name of their website - Your job will be to try to obtain as much information as possible regarding their corporate network and if there are any problems to propose ways to secure the network. The major task of this Lab would be to draw a diagram of all routers and hosts in the network, the paths between them, their names, presumed functions and opened ports. Once you have done this, point the possible threats and propose changes to the network of the company. Follow the principle of going from less intrusive to more intrusive methods. For example, try first collecting all the information you can get from any DNS server you detect (e.g. reverse lookup of IP addresses (dig -x), mail servers (mx), other nameservers (ns), or even if you are lucky - domain transfer information (axfr)). Then, if you need to discover more hosts use host scanning, but limit the number of scanned hosts (e.g. max a /24 segment, or preferably smaller!). Finally, on some selected hosts perform port scan to determine the services, with OS identification for a subset of them. Whenever you find a new DNS server, or new IP subnet go through these steps from the beginning. Here are some questions that will guide you in your efforts to collect this information: What route is taken by the packets to arrive at the company s network. Do they follow the same path for all computers of the network? How about the IPv6 routes? Can you infer the approximate geographic location of the company network from the routers? What network services exist on each of the servers/computers? What is the topology of the network. How are the routers interconnected? And the machines? Can you obtain the netmask of each subnet? Observe the naming convention of the discovered computers. Can you guess what is the role of each of these equipments? You can use the following tools in order to gain the information you need: ping and ping6 - confirm the existence of a host (unless a firewall is filtering ICMP requests); traceroute and traceroute6 - map the route of the packets to a given destination, and thus help discovering the topology; dig - query a DNS server of your choice; nmap - scan for hosts and services, OS identification. Note that by default traceroute(6) and nmap perform DNS lookups for all matching IPs, so if you are scanning a private network segment you may want to provide a private DNS server or to disable the DNS lookup altogether. 102

103

104

105 Introduction to IDS Introduction aux Systèmes de Détection d Intrusion (IDS) Sandrine Vaton Télécom Bretagne Département INFO S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 1 / 78 Crédits Certains transparents sont issus de : KeyNote Speech sur la détection d intrusion de Dr. Christian Callegari (PhD, Université de Pise, Département d Ingénierie de l Information) à la conférence IWCMC 2012 (Limassol, Chypre, août 2012). S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 2 /

106 Crédits Certains transparents sont issus de : KeyNote Speech sur la détection d intrusion de Dr. Christian Callegari (PhD, Université de Pise, Département d Ingénierie de l Information) à la conférence IWCMC 2012 (Limassol, Chypre, août 2012). Cours sur la détection d intrusions, Prof. Ludovic Mé, Supélec, Rennes S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 2 / 78 Crédits Certains transparents sont issus de : KeyNote Speech sur la détection d intrusion de Dr. Christian Callegari (PhD, Université de Pise, Département d Ingénierie de l Information) à la conférence IWCMC 2012 (Limassol, Chypre, août 2012). Cours sur la détection d intrusions, Prof. Ludovic Mé, Supélec, Rennes Cours sur la détection d intrusions donné à Télécom Bretagne en 2010, Pierre Crégut (HDR), Orange Labs 106 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 2 / 78

107 Sommaire 1 Introduction 2 Vue d ensemble des IDS 3 Fonctionnement des IDS 4 Introduction à SNORT 5 IDS comportementaux S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 3 / 78 Sommaire 1 Introduction Besoins en sécurité Les différents types d intrusion 2 Vue d ensemble des IDS 3 Fonctionnement des IDS 4 Introduction à SNORT 5 IDS comportementaux S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 4 /

108 Sommaire 1 Introduction Besoins en sécurité Les différents types d intrusion 2 Vue d ensemble des IDS 3 Fonctionnement des IDS 4 Introduction à SNORT 5 IDS comportementaux S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 5 / 78 Sécurité des Réseaux Définition In the field of networking, the specialist area of Network Security consists of the provisions made in an underlying computer network infrastructure, policies adopted by the network administrator to protect the network and the network-accessible resources from unauthorized access, and consistent and continuous monitoring and measurement of its effectiveness (or lack) combined together. Network Security and Networking Protocols, A.K.Sharma and C.S.Lamba 108 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 6 / 78

109 Enjeux de la sécurité des systèmes d information Confidentialité : Seules les personnes autorisées ont accès aux informations qui leur sont destinées. Tout accès indésirable doit être empêché. S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 7 / 78 Enjeux de la sécurité des systèmes d information Confidentialité : Seules les personnes autorisées ont accès aux informations qui leur sont destinées. Tout accès indésirable doit être empêché. Disponibilité : Le système doit fonctionner sans faille durant les plages d utilisation prévues, garantir l accès aux services et ressources installées avec le temps de réponse attendu. S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 7 /

110 Enjeux de la sécurité des systèmes d information Confidentialité : Seules les personnes autorisées ont accès aux informations qui leur sont destinées. Tout accès indésirable doit être empêché. Disponibilité : Le système doit fonctionner sans faille durant les plages d utilisation prévues, garantir l accès aux services et ressources installées avec le temps de réponse attendu. Intégrité : Les données doivent être celles que l on s attend à ce qu elles soient, et ne doivent pas être altérées de façon fortuite ou volontaire. S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 7 / 78 Enjeux de la sécurité des systèmes d information Confidentialité : Seules les personnes autorisées ont accès aux informations qui leur sont destinées. Tout accès indésirable doit être empêché. Disponibilité : Le système doit fonctionner sans faille durant les plages d utilisation prévues, garantir l accès aux services et ressources installées avec le temps de réponse attendu. Intégrité : Les données doivent être celles que l on s attend à ce qu elles soient, et ne doivent pas être altérées de façon fortuite ou volontaire. Authentification : L identification des utilisateurs est fondamentale pour gérer les accès aux espaces de travail pertinents et maintenir la confiance dans les relations d échange. 110 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 7 / 78

111 Enjeux de la sécurité des systèmes d information Confidentialité : Seules les personnes autorisées ont accès aux informations qui leur sont destinées. Tout accès indésirable doit être empêché. Disponibilité : Le système doit fonctionner sans faille durant les plages d utilisation prévues, garantir l accès aux services et ressources installées avec le temps de réponse attendu. Intégrité : Les données doivent être celles que l on s attend à ce qu elles soient, et ne doivent pas être altérées de façon fortuite ou volontaire. Authentification : L identification des utilisateurs est fondamentale pour gérer les accès aux espaces de travail pertinents et maintenir la confiance dans les relations d échange. Non-repudiation et imputation : Aucun utilisateur ne doit pouvoir contester les opérations qu il a réalisées dans le cadre de ses actions autorisées, et aucun tiers ne doit pouvoir s attribuer les actions d un autre utilisateur. Source : Wikipédia S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 7 / 78 Confidentialité Definition Définition de la confidentialité par l International Organization for Standardization (ISO) dans le standard ISO comme le fait d assurer que l information est accessible uniquement à ceux qui sont autorisés à y avoir accès" Attaques associées Attaques passives (e.g., écoutes indiscrètes) Parades : cryptographie, IPSec, SSL, TLS S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 8 /

112 Disponibilité Définition Le degré auquel un système, un équipement est dans un état opérationnel pour une mission quand on veut y faire appel à un instant quelconque (aléatoire). C est une mesure de performance qu on obtient en divisant la durée durant laquelle ledit équipement ou système est opérationnel par la durée totale durant laquelle on aurait souhaité qu il le soit. Attaques associées Déni de Service (Denial of Service DoS, Distributed Denial of Service DDoS) S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 9 / 78 Integrité Définition L intégrité des données désigne l état de données qui, lors de leur traitement, de leur conservation ou de leur transmission, ne subissent aucune altération ou destruction volontaire ou accidentelle, et conservent un format permettant leur utilisation. L intégrité des données comprend quatre éléments : l intégralité, la précision, l exactitude/authenticité et la validité. L intégrité peut être garantie par différents méchanismes (e.g., fonctions de hachage, signature numérique) Exemples simples : Somme de contrôle (checksum), Code détecteur d erreur de type CRC dans l entête des paquets/trame Attaque associée Homme au Milieu (Man in the Middle) 112 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 10 / 78

113 Authenticité Definition L authentification est l action d établir ou de confirmer qu une entité (ou une personne) est authentique, c est-à-dire que son identité correspond bien à ce qu elle prétend être. Attaques associées Masquarade, spoofing Méchanismes d authentification : Un artefact physique difficile à reproduire comme une signature, une empreinte digitale (biométrie), du watermarking Un secret partagé comme un mot de passe Une signature électronique ; et l utilisation d un méchanisme de certification de clés (PKI)... S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 11 / 78 Non-répudiation Definition La non-répudiation est le fait de s assurer qu une des parties lors d un litige ne peut pas prétendre ne pas être à l origine d un certain message. Pour garantir l origine des données on utilise des certificats numériques qui peut être vu comme une carte d identité numérique. Un tiers de confiance atteste du lien entre l identité physique et l entité numérique. Exemple de standard utilisé pour la création de certificats numériques : X509 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 12 /

114 Le triangle de la sécurité "It is very important to understand that in security, one simply cannot say "what s the best firewall?" There are two extremes : absolute security and absolute access. The closest we can get to an absolutely secure machine is one unplugged from the network, power supply, locked in a safe, and thrown at the bottom of the ocean. Unfortunately, it isn t terribly useful in this state." Network Security and Networking Protocols, A.K.Sharma and C.S.Lamba S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 13 / 78 Sommaire 1 Introduction Besoins en sécurité Les différents types d intrusion 2 Vue d ensemble des IDS 3 Fonctionnement des IDS 4 Introduction à SNORT 5 IDS comportementaux 114 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 14 / 78

115 Pourquoi un système de détection d intrusions? La sécurité c est avant tout la PREVENTION Protection physique au niveau hardware Mots de passe et autres moyens d authentification Listes d accès pour gérer les autorisations Cryptographie pour la confidentialité Sauvegardes (backup) pour la restauration de données Filtrage (firewalls) pour limiter le trafic à celui autorisé Sensibilisation des utilisateurs (ingénierie sociale, maladresses...) etc MAIS la sécurité absolue n est JAMAIS garantie! S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 15 / 78 Qu est-ce-qu un IDS? IDS : Intrusion Detection System La prévention fonctionne lorsque : les utilisateurs internes du système sont des personnes de confiance il y a peu d interactions avec l extérieur (accès réseau, clés USB, disques externes...) Besoin d un système qui vienne compléter la prévention Intrusion Detection System Un système de détection d intrusions (IDS) est un dispositif logiciel ou matériel utilisé pour détecter les tentatives d accès non autorisées à un ordinateur ou à un réseau. S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 16 /

116 Taxonomie des intrus On distingue différents types d intrus (J.P.Anderson, Computer Security Threat Monitoring and Surveillance) : External penetrator : un individu non autorisé à utiliser un ordinateur qui réussit d une façon ou d une autre à contourner les mécanismes de contrôle d accès S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 17 / 78 Taxonomie des intrus On distingue différents types d intrus (J.P.Anderson, Computer Security Threat Monitoring and Surveillance) : External penetrator : un individu non autorisé à utiliser un ordinateur qui réussit d une façon ou d une autre à contourner les mécanismes de contrôle d accès Masquerador : intrus, interne ou externe, qui a pu avoir accès au système en utilisant l authentification d un utilisateur autorisé 116 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 17 / 78

117 Taxonomie des intrus On distingue différents types d intrus (J.P.Anderson, Computer Security Threat Monitoring and Surveillance) : External penetrator : un individu non autorisé à utiliser un ordinateur qui réussit d une façon ou d une autre à contourner les mécanismes de contrôle d accès Masquerador : intrus, interne ou externe, qui a pu avoir accès au système en utilisant l authentification d un utilisateur autorisé Misfeasor : utilisateur légitime qui outrepasse ses droits pour accéder à des données, programmes, ressources pour lesquelles l accès ne lui est normalement pas autorisé S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 17 / 78 Taxonomie des intrus On distingue différents types d intrus (J.P.Anderson, Computer Security Threat Monitoring and Surveillance) : External penetrator : un individu non autorisé à utiliser un ordinateur qui réussit d une façon ou d une autre à contourner les mécanismes de contrôle d accès Masquerador : intrus, interne ou externe, qui a pu avoir accès au système en utilisant l authentification d un utilisateur autorisé Misfeasor : utilisateur légitime qui outrepasse ses droits pour accéder à des données, programmes, ressources pour lesquelles l accès ne lui est normalement pas autorisé Clandestine User : type d intrus très difficile à détecter car il a réussi à accéder au système avec un très haut niveau de privilèges de sorte qu il peut supprimer les enregistrements d audit des actions qu il vient d accomplir S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 17 /

118 Taxonomie des intrusions Différents types d "intrusion" : EavesDropping (écoutes indiscrètes, "sniffing" du trafic) : interception passive du trafic sur une interface réseau (outils : TCPdump, WireShark) S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 18 / 78 Taxonomie des intrusions Différents types d "intrusion" : EavesDropping (écoutes indiscrètes, "sniffing" du trafic) : interception passive du trafic sur une interface réseau (outils : TCPdump, WireShark) Snooping and Downloading : récupération d informations personnelles comme des s, des données business, des mots de passe... (outils : keyloggers, écoute sur réseau WiFi...) 118 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 18 / 78

119 Taxonomie des intrusions Différents types d "intrusion" : EavesDropping (écoutes indiscrètes, "sniffing" du trafic) : interception passive du trafic sur une interface réseau (outils : TCPdump, WireShark) Snooping and Downloading : récupération d informations personnelles comme des s, des données business, des mots de passe... (outils : keyloggers, écoute sur réseau WiFi...) Tampering : attenter à l intégrité des données ; modification malicieuse de données, de logs... S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 18 / 78 Taxonomie des intrusions Différents types d "intrusion" : EavesDropping (écoutes indiscrètes, "sniffing" du trafic) : interception passive du trafic sur une interface réseau (outils : TCPdump, WireShark) Snooping and Downloading : récupération d informations personnelles comme des s, des données business, des mots de passe... (outils : keyloggers, écoute sur réseau WiFi...) Tampering : attenter à l intégrité des données ; modification malicieuse de données, de logs... Spoofing : vol d identité, se faire passer pour quelqu un d autre ; exemple : IP Spoofing (modification de l adresse source des paquets IP) S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 18 /

120 Taxonomie des intrusions Différents types d "intrusion" : EavesDropping (écoutes indiscrètes, "sniffing" du trafic) : interception passive du trafic sur une interface réseau (outils : TCPdump, WireShark) Snooping and Downloading : récupération d informations personnelles comme des s, des données business, des mots de passe... (outils : keyloggers, écoute sur réseau WiFi...) Tampering : attenter à l intégrité des données ; modification malicieuse de données, de logs... Spoofing : vol d identité, se faire passer pour quelqu un d autre ; exemple : IP Spoofing (modification de l adresse source des paquets IP) Flooding, Denial of Service : faire écrouler un système en le submergeant de requêtes ; exemple : TCP SYN flooding S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 18 / 78 Taxonomie des intrusions Différents types d "intrusion" : EavesDropping (écoutes indiscrètes, "sniffing" du trafic) : interception passive du trafic sur une interface réseau (outils : TCPdump, WireShark) Snooping and Downloading : récupération d informations personnelles comme des s, des données business, des mots de passe... (outils : keyloggers, écoute sur réseau WiFi...) Tampering : attenter à l intégrité des données ; modification malicieuse de données, de logs... Spoofing : vol d identité, se faire passer pour quelqu un d autre ; exemple : IP Spoofing (modification de l adresse source des paquets IP) Flooding, Denial of Service : faire écrouler un système en le submergeant de requêtes ; exemple : TCP SYN flooding Phishing (hameçonnage) : ingénierie sociale, exploiter la naïveté d utilisateurs autorisés 120 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 18 / 78

121 Taxonomie des intrusions Différents types d "intrusion" : EavesDropping (écoutes indiscrètes, "sniffing" du trafic) : interception passive du trafic sur une interface réseau (outils : TCPdump, WireShark) Snooping and Downloading : récupération d informations personnelles comme des s, des données business, des mots de passe... (outils : keyloggers, écoute sur réseau WiFi...) Tampering : attenter à l intégrité des données ; modification malicieuse de données, de logs... Spoofing : vol d identité, se faire passer pour quelqu un d autre ; exemple : IP Spoofing (modification de l adresse source des paquets IP) Flooding, Denial of Service : faire écrouler un système en le submergeant de requêtes ; exemple : TCP SYN flooding Phishing (hameçonnage) : ingénierie sociale, exploiter la naïveté d utilisateurs autorisés Injection de Code ; exemples : injections SQL S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 18 / 78 Taxonomie des intrusions Différents types d "intrusion" : EavesDropping (écoutes indiscrètes, "sniffing" du trafic) : interception passive du trafic sur une interface réseau (outils : TCPdump, WireShark) Snooping and Downloading : récupération d informations personnelles comme des s, des données business, des mots de passe... (outils : keyloggers, écoute sur réseau WiFi...) Tampering : attenter à l intégrité des données ; modification malicieuse de données, de logs... Spoofing : vol d identité, se faire passer pour quelqu un d autre ; exemple : IP Spoofing (modification de l adresse source des paquets IP) Flooding, Denial of Service : faire écrouler un système en le submergeant de requêtes ; exemple : TCP SYN flooding Phishing (hameçonnage) : ingénierie sociale, exploiter la naïveté d utilisateurs autorisés Injection de Code ; exemples : injections SQL Exploitation de failles d implémentation (e.g., buffer overflow) S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 18 /

122 Taxonomie des intrusions Différents types d "intrusion" : EavesDropping (écoutes indiscrètes, "sniffing" du trafic) : interception passive du trafic sur une interface réseau (outils : TCPdump, WireShark) Snooping and Downloading : récupération d informations personnelles comme des s, des données business, des mots de passe... (outils : keyloggers, écoute sur réseau WiFi...) Tampering : attenter à l intégrité des données ; modification malicieuse de données, de logs... Spoofing : vol d identité, se faire passer pour quelqu un d autre ; exemple : IP Spoofing (modification de l adresse source des paquets IP) Flooding, Denial of Service : faire écrouler un système en le submergeant de requêtes ; exemple : TCP SYN flooding Phishing (hameçonnage) : ingénierie sociale, exploiter la naïveté d utilisateurs autorisés Injection de Code ; exemples : injections SQL Exploitation de failles d implémentation (e.g., buffer overflow) Craquage de mots de passe et de clés S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 18 / 78 Etat de l art des attaques 122 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 19 / 78

123 Qui est vulnérable? Institutions financières, banques... Exemple : attaques contre PayPal par les Anonymous (DDoS) suite à la fermeture de MegaUpload S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 20 / 78 Qui est vulnérable? Institutions financières, banques... Exemple : attaques contre PayPal par les Anonymous (DDoS) suite à la fermeture de MegaUpload Institutions gouvernementales... Exemple : intrusion réussie sur l Intranet de l Elysée (hameçonnage), attaque (DoS) contre le site du Sénat (site de la députée UMP Valérie Boyer, proposition de loi sur les génocides dont l Arménie) S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 20 /

124 Qui est vulnérable? Institutions financières, banques... Exemple : attaques contre PayPal par les Anonymous (DDoS) suite à la fermeture de MegaUpload Institutions gouvernementales... Exemple : intrusion réussie sur l Intranet de l Elysée (hameçonnage), attaque (DoS) contre le site du Sénat (site de la députée UMP Valérie Boyer, proposition de loi sur les génocides dont l Arménie) Sites industriels... Exemple : perturbation de systèmes de commande industrielle (Iran) S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 20 / 78 Qui est vulnérable? Institutions financières, banques... Exemple : attaques contre PayPal par les Anonymous (DDoS) suite à la fermeture de MegaUpload Institutions gouvernementales... Exemple : intrusion réussie sur l Intranet de l Elysée (hameçonnage), attaque (DoS) contre le site du Sénat (site de la députée UMP Valérie Boyer, proposition de loi sur les génocides dont l Arménie) Sites industriels... Exemple : perturbation de systèmes de commande industrielle (Iran) Fournisseurs d accès 124 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 20 / 78

125 Qui est vulnérable? Institutions financières, banques... Exemple : attaques contre PayPal par les Anonymous (DDoS) suite à la fermeture de MegaUpload Institutions gouvernementales... Exemple : intrusion réussie sur l Intranet de l Elysée (hameçonnage), attaque (DoS) contre le site du Sénat (site de la députée UMP Valérie Boyer, proposition de loi sur les génocides dont l Arménie) Sites industriels... Exemple : perturbation de systèmes de commande industrielle (Iran) Fournisseurs d accès Fournisseurs de services (Over The Top OTT ; YouTube, FaceBook...) S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 20 / 78 Qui est vulnérable? Institutions financières, banques... Exemple : attaques contre PayPal par les Anonymous (DDoS) suite à la fermeture de MegaUpload Institutions gouvernementales... Exemple : intrusion réussie sur l Intranet de l Elysée (hameçonnage), attaque (DoS) contre le site du Sénat (site de la députée UMP Valérie Boyer, proposition de loi sur les génocides dont l Arménie) Sites industriels... Exemple : perturbation de systèmes de commande industrielle (Iran) Fournisseurs d accès Fournisseurs de services (Over The Top OTT ; YouTube, FaceBook...) Multinationales S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 20 /

126 Qui est vulnérable? Institutions financières, banques... Exemple : attaques contre PayPal par les Anonymous (DDoS) suite à la fermeture de MegaUpload Institutions gouvernementales... Exemple : intrusion réussie sur l Intranet de l Elysée (hameçonnage), attaque (DoS) contre le site du Sénat (site de la députée UMP Valérie Boyer, proposition de loi sur les génocides dont l Arménie) Sites industriels... Exemple : perturbation de systèmes de commande industrielle (Iran) Fournisseurs d accès Fournisseurs de services (Over The Top OTT ; YouTube, FaceBook...) Multinationales TOUT LE MONDE! S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 20 / 78 Sommaire 1 Introduction 2 Vue d ensemble des IDS Taxonomie Evolution historique 3 Fonctionnement des IDS 4 Introduction à SNORT 5 IDS comportementaux 126 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 21 / 78

127 Sommaire 1 Introduction 2 Vue d ensemble des IDS Taxonomie Evolution historique 3 Fonctionnement des IDS 4 Introduction à SNORT 5 IDS comportementaux S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 22 / 78 Taxonomie des IDS Les IDS peuvent être classés sur la base de différents critères : 1 Système surveillé IDS hôte (Host IDS, HIDS) IDS réseau (NIDS) 2 Architecture Centralisée Distribuée 3 Techniques d analyse Stateful Stateless 4 Techniques de détection IDS basé signature IDS basé anomalies S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 23 /

128 IDS hôte vs. IDS réseau IDS hôte A pour objet de détecter des tentatives d intrusion au niveau d un hôte particulier Dépend de l architecture de machine et du système d exploitation utilisé Traite des données haut niveau (par ex. des appels système) Utile pour détecter des intrusions venant de l "intérieur" IDS réseau A pour objet de détecter des attaques à destination de machines sur un réseau local Dépend des architectures de machines et des systèmes d exploitation Traite des données à un niveau de granularité très fin (paquets IP) Utile pour détecter des attaques venant de l "extérieur" S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 24 / 78 IDS centralisé vs. IDS distribué IDS centralisé Toutes les opérations sont réalisées au niveau d un seul point Plus simple à réaliser Un seul point de dysfonctionnement IDS distribué Constitué de plusieurs composants 128 Capteurs qui génèrent des événements de sécurité Console pour surveiller les événements et les alertes et contrôler les capteurs Moteur central qui enregistre/corrèle les événements et génère les alarmes Besoin de travailler avec différents formats de données Standards : IPFIX pour remonter des mesures de niveau flot des points de capture au collecteur centralisé IDMEF pour échanger des alarmes S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 25 / 78

129 Stateless IDS vs. Stateful IDS Stateless IDS Traite chaque événement indépendamment des autres Simple à concevoir Passe à l échelle en termes de vitesse de traitement Stateful IDS Maintient une information sur les événements précédents L interprétation d un événement dépend de sa position dans un flot d événements Plus complexe à concevoir Traitements lourds, problèmes potentiels de passage à l échelle S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 26 / 78 IDS basés signature vs. IDS basés anomalie IDS basés signature Identifient les intrusions en reconnaissant des patterns spécifiques supposément malicieux ("signatures") dans le trafic ou dans les données applicatives Base de données de signatures devant être mise à jour régulièrement Ne peuvent détecter que des attaques connues ; problèmes avec les attaques "zero day" IDS basés anomalie Identifient les intrusions en détectant des comportements inhabituels Nécessitent une phase préalable de calibration pour apprendre les comportements normaux Capables de détecter des attaques "nouvelles" Génèrent plus de fausses alarmes que les IDS basés signature S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 27 /

130 Caractéristiques des IDS L.Mé, Supélec La détection d'intrusions 9 Existe-t-il un meilleur choix? 130 Combiner l utilisation des deux : HIDS (pour les attaquants internes) & NIDS (pour les attaquants externes) IDS basé signature (taux de fausse alarme plus faible) & IDS basé anomalie (pour les attaques "zero day") Stateless IDS (traitement rapide et léger des données) & Stateful IDS (pour les attaques plus complexes ) Architecture de l IDS IDS distribué : Pas un seul point de fonctionnement Plus adapté pour la surveillance de grands réseaux FP7 DEMONS : DEcentralized, cooperative, and privacy-preserving MONitoring for trustworthiness surveillance collaborative de trafic en inter-domaine IDS centralisé : pas de problème d orchestration des mesures, de corrélation des alarmes mais vision "partielle" du réseau? S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 28 / 78

131 Sommaire 1 Introduction 2 Vue d ensemble des IDS Taxonomie Evolution historique 3 Fonctionnement des IDS 4 Introduction à SNORT 5 IDS comportementaux S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 29 / 78 Un peu d histoire On peut distinguer trois grandes époques dans l évolution des IDS 1 IDSs de Première Génération (fin des années 1970s) Apparition du concept d IDS à la fin des années 1970s, début des années 1980s (Anderson, Computer Security Monitoring and Surveillance, Tech Rep 1980) Audit de données sur une seule machine Traitement hors ligne des données (post processing) S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 30 /

132 Un peu d histoire On peut distinguer trois grandes époques dans l évolution des IDS 1 IDSs de Première Génération (fin des années 1970s) Apparition du concept d IDS à la fin des années 1970s, début des années 1980s (Anderson, Computer Security Monitoring and Surveillance, Tech Rep 1980) Audit de données sur une seule machine Traitement hors ligne des données (post processing) 2 IDSs de Seconde Génération (1987) Intrusion Detection Expert System (Denning, An intrusion Detection Model, IEEE Trans. on Soft. Eng., 1987) Analyse statistique de données S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 30 / 78 Un peu d histoire On peut distinguer trois grandes époques dans l évolution des IDS 1 IDSs de Première Génération (fin des années 1970s) Apparition du concept d IDS à la fin des années 1970s, début des années 1980s (Anderson, Computer Security Monitoring and Surveillance, Tech Rep 1980) Audit de données sur une seule machine Traitement hors ligne des données (post processing) 2 IDSs de Seconde Génération (1987) Intrusion Detection Expert System (Denning, An intrusion Detection Model, IEEE Trans. on Soft. Eng., 1987) Analyse statistique de données 3 IDSs de Troisième Génération (en cours) IDS réseau Détection et réaction en temps réel Intrusion Detection System Intrusion Prevention System 132 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 30 / 78

133 Programme d évaluation DARPA 1998/1999 DARPA/MIT IDS evaluation program : programme complet d évaluation des IDS (le plus complet à ce jour) Fournit un grand nombre de données pour le développement, l amélioration, l évaluation des IDS Différents types de données disponibles : logs au niveau système trafic réseau Simulations de trafic réseau (entre une base de l US Air Force et l Internet) pour la génération du trafic normal ; attaques expérimentales S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 31 / 78 Le réseau DARPA S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 32 /

134 Dataset DARPA/MIT 5 semaines de données semaines 1 et 3 : pas d attaques, utilisables pour l entraînement du système semaine 2 : attaques étiquetées ; peut être utilisé pour construire des bases de signature semaines 4 et 5 : différentes attaques ; peut être utilisé pour évaluer les performances en détection des IDS S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 33 / 78 Dataset DARPA/MIT 5 semaines de données semaines 1 et 3 : pas d attaques, utilisables pour l entraînement du système semaine 2 : attaques étiquetées ; peut être utilisé pour construire des bases de signature semaines 4 et 5 : différentes attaques ; peut être utilisé pour évaluer les performances en détection des IDS Différents types d attaques : Denial of Service (DoS), User to Root (U2R), Remote to Local (R2L),... ; 177 instances de 59 types différents d attaques 134 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 33 / 78

135 Dataset DARPA/MIT 5 semaines de données semaines 1 et 3 : pas d attaques, utilisables pour l entraînement du système semaine 2 : attaques étiquetées ; peut être utilisé pour construire des bases de signature semaines 4 et 5 : différentes attaques ; peut être utilisé pour évaluer les performances en détection des IDS Différents types d attaques : Denial of Service (DoS), User to Root (U2R), Remote to Local (R2L),... ; 177 instances de 59 types différents d attaques La vérité sur les attaques est fournie ("Attack Truth list") ce qui permet d évaluer le taux de fausse alarme (faux positifs) et de non détection (faux négatifs) des IDS testés S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 33 / 78 Dataset DARPA/MIT 5 semaines de données semaines 1 et 3 : pas d attaques, utilisables pour l entraînement du système semaine 2 : attaques étiquetées ; peut être utilisé pour construire des bases de signature semaines 4 et 5 : différentes attaques ; peut être utilisé pour évaluer les performances en détection des IDS Différents types d attaques : Denial of Service (DoS), User to Root (U2R), Remote to Local (R2L),... ; 177 instances de 59 types différents d attaques La vérité sur les attaques est fournie ("Attack Truth list") ce qui permet d évaluer le taux de fausse alarme (faux positifs) et de non détection (faux négatifs) des IDS testés MAIS... le jeu de données DARPA est considéré comme obsolète car trop ancien pour refléter la nature actuelle du trafic et des attaques. S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 33 /

136 Autres datasets KDD99 : autre trace publique étiquetée disponible pour l évaluation d IDS créée spécialement pour l évaluation d IDS lors du «Third International Knowledge Discovery and Data Mining Tools Competition» comme DARPA, KDD99 est jugée obsolète S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 34 / 78 Autres datasets KDD99 : autre trace publique étiquetée disponible pour l évaluation d IDS créée spécialement pour l évaluation d IDS lors du «Third International Knowledge Discovery and Data Mining Tools Competition» comme DARPA, KDD99 est jugée obsolète Autres données publiques : il existe différentes traces de trafic accessibles publiquement ; e.g. CAIDA, Abilene (Internet2), GEANT,... problème majeur : pas de "ground-truth"! 136 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 34 / 78

137 Autres datasets KDD99 : autre trace publique étiquetée disponible pour l évaluation d IDS créée spécialement pour l évaluation d IDS lors du «Third International Knowledge Discovery and Data Mining Tools Competition» comme DARPA, KDD99 est jugée obsolète Autres données publiques : il existe différentes traces de trafic accessibles publiquement ; e.g. CAIDA, Abilene (Internet2), GEANT,... problème majeur : pas de "ground-truth"! D une manière générale la recherche dans le domaine a besoin accéder à des mesures qui soient à la fois dans le domaine public et représentatives Problème récurrent, difficultés liées à la confidentialité des données opérateurs S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 34 / 78 Sommaire 1 Introduction 2 Vue d ensemble des IDS 3 Fonctionnement des IDS Types de données analysées Placement et configuration de l IDS IDS distribués 4 Introduction à SNORT 5 IDS comportementaux S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 35 /

138 Sommaire 1 Introduction 2 Vue d ensemble des IDS 3 Fonctionnement des IDS Types de données analysées Placement et configuration de l IDS IDS distribués 4 Introduction à SNORT 5 IDS comportementaux S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 36 / 78 Schéma fonctionnel 138 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 37 / 78

139 Données réseaux Sondes Sondes captant l information en «sniffant» le réseau (NIDS : Network IDS) Réassemblage des paquets fragmentés (IP et TCP) Extractions des entêtes et de la payload Analyse plus ou moins poussée dans les couches applicatives Avantages et incovénients Avantages : Couverture large Aucun impact sur le système (Sondes dédiées) Format standard de données de facto Travail en ligne possible (IPS, Intrusion Prevention Systems) Inconvénients : Réseaux switchés Montée en débit des réseaux Chiffrement S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 38 / 78 Données systèmes Sur la machine Collectées sur la machine hôte Audit C2 («Orange Book» (DoD)) Exemples : NT Event Log Solaris BSM Linux snare Techniques d acquisition dédiées SysLog : Service d audit fourni par le noyau à l usage des applications Bien intégré dans les outils de gestion réseau/système (standard IETF) Avantages et incovénients Avantages : Informations précises liées aux utilisateurs Granularité fine Un audit C2 est fourni avec tous les OS Inconvénients : Impact sur les performances de l hôte (CPU, disque) Quantité d infos importante Structure des données complexe Informations très bas niveau S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 39 /

140 Données Applicatives Données de niveau applicatif Logs fournis par les applications Serveurs web (très utilisé), SGBD (rare) Avantages et inconvénients Avantage : Quantité d infos modérée car données très ciblées Inconvénient : Données trop ciblées? Toutes les applications doivent être instrumentées Un analyseur par format de log d application est nécessaire S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 40 / 78 Sommaire 1 Introduction 2 Vue d ensemble des IDS 3 Fonctionnement des IDS Types de données analysées Placement et configuration de l IDS IDS distribués 4 Introduction à SNORT 5 IDS comportementaux 140 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 41 / 78

141 Ou placer l IDS? (1/3) Devant et derrière le firewall : Devant : beaucoup d alertes Derrière (dans la DMZ) : voir ce que le firewall a laissé passer S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 42 / 78 Ou placer l IDS? (2/3) Dans la DMZ : Protection minimale, cibles en première ligne Pas ou peu de données personnelles mais des serveurs IDS applicatifs Spécification du trafic autorisé assez simple (HTTP, DNS, mail) S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 43 /

142 Ou placer l IDS? (3/3) Dans le système d information : HIDS : pb de l impact sur les hôtes NIDS : pb des réseaux switchés Problème : données personnelles/privées/confidentielles Intégration à l OS? S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 44 / 78 Configuration de l IDS Configurer l IDS : une tâche complexe Commencer par une couverture large puis réduire progressivement Prendre en compte les caractéristiques du SI (machine, services, topologie), et la politique de sécurité Mesurer l impact/l intérêt de chaque signature, et éventuellement en désactiver certaines (mais attention aux faux négatifs!) Tester la configuration de l IDS : trafic réel, analyse des alertes (quantité de fausses alarmes) Assurer une maintenance de la configuration de l IDS 142 S. Vaton (Télécom Bretagne) UV F2B505 Dépt. INFO 45 / 78

Instructions Mozilla Thunderbird Page 1

Instructions Mozilla Thunderbird Page 1 Instructions Mozilla Thunderbird Page 1 Instructions Mozilla Thunderbird Ce manuel est écrit pour les utilisateurs qui font déjà configurer un compte de courrier électronique dans Mozilla Thunderbird et

Plus en détail

Smile Mobile Dashboard

Smile Mobile Dashboard Smile Mobile Dashboard 1. Magento Extension The iphone and Android applications require access to data from your Magento store. This data is provided through an extension, available on Magento Connect

Plus en détail

MPLS, GMPLS et NGN. Sécurité MPLS. Jacques BAUDRON ixtel octobre 2009 jacques.baudron@ixtel.fr. Ingénierie Conseils Services Télécommunications

MPLS, GMPLS et NGN. Sécurité MPLS. Jacques BAUDRON ixtel octobre 2009 jacques.baudron@ixtel.fr. Ingénierie Conseils Services Télécommunications MPLS, GMPLS et NGN Sécurité MPLS Jacques BAUDRON ixtel octobre 2009 jacques.baudron@ixtel.fr 1 Contents Treats Requirements VPN Attacks & defence 3 8 14 19 2 3 Threats Threats Denial of service Resources

Plus en détail

How To connect to TonVPN Max / Comment se connecter à TonVPN Max

How To connect to TonVPN Max / Comment se connecter à TonVPN Max How To connect to TonVPN Max / Comment se connecter à TonVPN Max Note : you need to run all those steps as an administrator or somebody having admin rights on the system. (most of the time root, or using

Plus en détail

MAT 2377 Solutions to the Mi-term

MAT 2377 Solutions to the Mi-term MAT 2377 Solutions to the Mi-term Tuesday June 16 15 Time: 70 minutes Student Number: Name: Professor M. Alvo This is an open book exam. Standard calculators are permitted. Answer all questions. Place

Plus en détail

Les licences Creative Commons expliquées aux élèves

Les licences Creative Commons expliquées aux élèves Les licences Creative Commons expliquées aux élèves Source du document : http://framablog.org/index.php/post/2008/03/11/education-b2i-creative-commons Diapo 1 Creative Commons presents : Sharing Creative

Plus en détail

WEB page builder and server for SCADA applications usable from a WEB navigator

WEB page builder and server for SCADA applications usable from a WEB navigator Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB WEB page builder and server for SCADA applications usable from a WEB navigator opyright 2007 IRAI Manual Manuel

Plus en détail

Date: 09/11/15 www.crmconsult.com Version: 2.0

Date: 09/11/15 www.crmconsult.com Version: 2.0 Date: 9/11/2015 contact@crmconsult.fr Page 1 / 10 Table des matières 1 SUGARPSHOP : SCHEMA... 3 2 PRESENTATION... 4 3 SHOPFORCE WITH SCREENSHOTS... 5 3.1 CLIENTS... 5 3.2 ORDERS... 6 4 INSTALLATION...

Plus en détail

Audio and Web Conferencing services. Orange Business Services. Web Conferencing

Audio and Web Conferencing services. Orange Business Services. Web Conferencing Audio and Web Conferencing services Orange Business Services Web Conferencing web conferencing completely integrated audio and web services conference availability 24hrs/7days up to 100 participants complete

Plus en détail

Accès au support technique produits et licences par le portail client MGL de M2Msoft.com. Version 2010. Manuel Utilisateur

Accès au support technique produits et licences par le portail client MGL de M2Msoft.com. Version 2010. Manuel Utilisateur Accès au support technique produits et licences par le portail client MGL de M2Msoft.com Version 2010 Manuel Utilisateur Access to M2Msoft customer support portal, mgl.m2msoft.com, 2010 release. User manual

Plus en détail

Voici un des développements récents en matière d arnaque tordue : l usurpation de compte Ebay

Voici un des développements récents en matière d arnaque tordue : l usurpation de compte Ebay Voici un des développements récents en matière d arnaque tordue : l usurpation de compte Ebay Pour résumer voici le type de procédure que nos arnaqueurs utilisent pour pirater votre compte : 1 Vous recevez

Plus en détail

Installation et compilation de gnurbs sous Windows

Installation et compilation de gnurbs sous Windows Installation et compilation de gnurbs sous Windows Installation de l environnement de développement Code::Blocks (Environnement de développement) 1. Télécharger l installateur de Code::Blocks (version

Plus en détail

eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME

eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME Agenda What do we have today? What are our plans? What needs to be solved! What do we have today?

Plus en détail

RESULTING FROM THE ANTI-SEMITIC LEGISLATION IN FORCE DURING THE OCCUPATION. (Decree 99-778 of September 10, 1999) QUESTIONNAIRE. Family Name...

RESULTING FROM THE ANTI-SEMITIC LEGISLATION IN FORCE DURING THE OCCUPATION. (Decree 99-778 of September 10, 1999) QUESTIONNAIRE. Family Name... COMMISSION FOR THE COMPENSATION OF VICTIMS OF SPOLIATION RESULTING FROM THE ANTI-SEMITIC LEGISLATION IN FORCE DURING THE OCCUPATION (Decree 99-778 of September 10, 1999) Case Number : (to remind in all

Plus en détail

Application Form/ Formulaire de demande

Application Form/ Formulaire de demande Application Form/ Formulaire de demande Ecosystem Approaches to Health: Summer Workshop and Field school Approches écosystémiques de la santé: Atelier intensif et stage d été Please submit your application

Plus en détail

openoffice 40 manual

openoffice 40 manual openoffice 40 manual Print and Online Should you be particular with knowing everything concerning this openoffice 40 manual, you have to look for these details. OPENOFFICE 40 MANUAL Here are one of the

Plus en détail

Assoumta Djimrangaye Coordonnatrice de soutien au développement des affaires Business development support coordinator

Assoumta Djimrangaye Coordonnatrice de soutien au développement des affaires Business development support coordinator 2008-01-28 From: [] Sent: Monday, January 21, 2008 6:58 AM To: Web Administrator BCUC:EX Cc: 'Jean Paquin' Subject: RE: Request for Late Intervenorship - BCHydro Standing Offer C22-1 Dear Bonnie, Please

Plus en détail

(Programme de formation pour les parents ~ Training program for parents)

(Programme de formation pour les parents ~ Training program for parents) PODUM-INFO-ACTION (PIA) La «carte routière» pour les parents, sur l éducation en langue française en Ontario A «road map» for parents, on French-language education in Ontario (Programme de formation pour

Plus en détail

LP ASUR - Sécurité. Introduction à la Sécurité des Systèmes d'information. Florent Autréau - florent@mataru.com 28 Mai 2013

LP ASUR - Sécurité. Introduction à la Sécurité des Systèmes d'information. Florent Autréau - florent@mataru.com 28 Mai 2013 LP ASUR - Sécurité Introduction à la Sécurité des Systèmes d'information Florent Autréau - florent@mataru.com 28 Mai 2013 PKI - Problèmes rencontrés Obstacles technologiques La théorie, les protocoles

Plus en détail

CONTRAT D ETUDES - LEARNING AGREEMENT

CONTRAT D ETUDES - LEARNING AGREEMENT CONTRAT D ETUDES - LEARNING AGREEMENT Règles générales La présence aux séances d enseignement des modules choisis est obligatoire. Chaque module comporte des séances de travail encadrées et non encadrées

Plus en détail

Installing the SNMP Agent (continued) 2. Click Next to continue with the installation.

Installing the SNMP Agent (continued) 2. Click Next to continue with the installation. DGE-530T 32-bit Gigabit Network Adapter SNMP Agent Manual Use this guide to install and use the SNMP Agent on a PC equipped with the DGE-530T adapter. Installing the SNMP Agent Follow these steps to install

Plus en détail

Please find attached a revised amendment letter, extending the contract until 31 st December 2011.

Please find attached a revised amendment letter, extending the contract until 31 st December 2011. Sent: 11 May 2011 10:53 Subject: Please find attached a revised amendment letter, extending the contract until 31 st December 2011. I look forward to receiving two signed copies of this letter. Sent: 10

Plus en détail

Control your dog with your Smartphone. USER MANUAL www.pet-remote.com

Control your dog with your Smartphone. USER MANUAL www.pet-remote.com Control your dog with your Smartphone USER MANUAL www.pet-remote.com Pet-Remote Pet Training Pet-Remote offers a new and easy way to communicate with your dog! With the push of a single button on your

Plus en détail

How to Login to Career Page

How to Login to Career Page How to Login to Career Page BASF Canada July 2013 To view this instruction manual in French, please scroll down to page 16 1 Job Postings How to Login/Create your Profile/Sign Up for Job Posting Notifications

Plus en détail

How to Deposit into Your PlayOLG Account

How to Deposit into Your PlayOLG Account How to Deposit into Your PlayOLG Account Option 1: Deposit with INTERAC Online Option 2: Deposit with a credit card Le texte français suit l'anglais. When you want to purchase lottery products or play

Plus en détail

2 players Ages 8+ Note: Please keep these instructions for future reference. WARNING. CHOKING HAZARD. Small parts. Not for children under 3 years.

2 players Ages 8+ Note: Please keep these instructions for future reference. WARNING. CHOKING HAZARD. Small parts. Not for children under 3 years. Linja Game Rules 2 players Ages 8+ Published under license from FoxMind Games NV, by: FoxMind Games BV Stadhouderskade 125hs Amsterdam, The Netherlands Distribution in North America: FoxMind USA 2710 Thomes

Plus en détail

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Rational ClearCase or ClearCase MultiSite Version 7.0.1 Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Product Overview IBM Rational

Plus en détail

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE Projet de semestre ITI soir 4ème année Résumé configuration OpenVpn sur pfsense 2.1 Etudiant :Tarek

Plus en détail

Sun ONE Application Server Platform Summary

Sun ONE Application Server Platform Summary Sun ONE Application Server Platform Summary Version 7, Update 3 Part Number 817-5602-10 February 2004 This document provides the specifics on supported platform components for the Sun Open Net Environment

Plus en détail

Annonce de voyage Concerne les voyages en Suisse par les transports publics Utilisation d un véhicule privé La demande d utilisation d un véhicule

Annonce de voyage Concerne les voyages en Suisse par les transports publics Utilisation d un véhicule privé La demande d utilisation d un véhicule Annonce de voyage Concerne les voyages en Suisse par les transports publics Utilisation d un véhicule privé La demande d utilisation d un véhicule privée ne doit plus être utilisée. Elle est remplacée

Plus en détail

Konstantin Avrachenkov, Urtzi Ayesta, Patrick Brown and Eeva Nyberg

Konstantin Avrachenkov, Urtzi Ayesta, Patrick Brown and Eeva Nyberg Konstantin Avrachenkov, Urtzi Ayesta, Patrick Brown and Eeva Nyberg Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire

Plus en détail

OpenEdge Chiffrage avec SSL

OpenEdge Chiffrage avec SSL OpenEdge Chiffrage avec SSL Paul Koufalis Président Progresswiz Consulting Your logo here Progresswiz Informatique Offre de l expertise technique Progress, UNIX, Windows et plus depuis 1999 Spécialisé

Plus en détail

plaquette 10/12/07 0:26 Page 3 *0,34 la minute, pour tout appel emis depuis la F ance métropoliatine. vos bagages, notre priorité.

plaquette 10/12/07 0:26 Page 3 *0,34 la minute, pour tout appel emis depuis la F ance métropoliatine. vos bagages, notre priorité. plaquette 10/12/07 0:26 Page 3 *0,34 la minute, pour tout appel emis depuis la F ance métropoliatine. vos bagages, notre priorité. plaquette 10/12/07 0:27 Page 4 Qui sommes-nous? Libertybag est un service

Plus en détail

Institut français des sciences et technologies des transports, de l aménagement

Institut français des sciences et technologies des transports, de l aménagement Institut français des sciences et technologies des transports, de l aménagement et des réseaux Session 3 Big Data and IT in Transport: Applications, Implications, Limitations Jacques Ehrlich/IFSTTAR h/ifsttar

Plus en détail

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces Micro-ordinateurs, informations, idées, trucs et astuces Utiliser une WebCam Auteur : François CHAUSSON Date : 8 février 2008 Référence : utiliser une WebCam.doc Préambule Voici quelques informations utiles

Plus en détail

DynDNS. Qu est-ce que le DynDNS?

DynDNS. Qu est-ce que le DynDNS? DynDNS. Qu est-ce que le DynDNS? Le DynDNS (Dynamic Domain Name Server) sert à attribuer un nom de domaine à une adresse ip dynamique. Chaque ordinateur utilise une adresse ip pour communiquer sur le réseau.

Plus en détail

GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables

GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables Can operational planning decrease distribution costs? - La gestion prévisionnelle pour diminuer les coûts de distribution?

Plus en détail

AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr)

AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr) AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr) Doc.No. : EUM/OPS/TEN/13/706466 Issue : v3 Date : 7 May 2014 WBS : EUMETSAT Eumetsat-Allee 1, D-64295 Darmstadt, Germany Tel: +49 6151 807-7 Fax: +49

Plus en détail

Practice Exam Student User Guide

Practice Exam Student User Guide Practice Exam Student User Guide Voir la version française plus bas. 1. Go to http://training.iata.org/signinup 2. Enter your username and password to access your student profile Your profile was created

Plus en détail

APPENDIX 2. Provisions to be included in the contract between the Provider and the. Holder

APPENDIX 2. Provisions to be included in the contract between the Provider and the. Holder Page 1 APPENDIX 2 Provisions to be included in the contract between the Provider and the Obligations and rights of the Applicant / Holder Holder 1. The Applicant or Licensee acknowledges that it has read

Plus en détail

Florida International University. Department of Modern Languages. FRENCH I Summer A Term 2014 FRE 1130 - U01A

Florida International University. Department of Modern Languages. FRENCH I Summer A Term 2014 FRE 1130 - U01A Florida International University Department of Modern Languages FRENCH I Summer A Term 2014 FRE 1130 - U01A Class time: Monday, Tuesday, Wednesday, Thursday; 6:20 P.M. - 9:00 P.M. Instructors: Prof. Jean-Robert

Plus en détail

Experiences TCM QUALITY MARK. Project management Management systems ISO 9001 ISO 14001 ISO 22000

Experiences TCM QUALITY MARK. Project management Management systems ISO 9001 ISO 14001 ISO 22000 TCM QUALITY MARK Jean-Marc Bachelet Tocema Europe workshop 4 Project management Management systems ISO 9001 ISO 14001 ISO 22000 + lead auditors for certification bodies Experiences Private and state companies,

Plus en détail

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7 Auteur : Charles-Alban BENEZECH

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7 Auteur : Charles-Alban BENEZECH 2012 Les tutos à toto CUPS server - install and configure Réalisée sur CentOS 5.7 Ecrit par Charles-Alban BENEZECH 2012 titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7

Plus en détail

Solution d hébergement de "SWIFTAlliance ENTRY R7" Politique de Sauvegarde et de Restauration

Solution d hébergement de SWIFTAlliance ENTRY R7 Politique de Sauvegarde et de Restauration Solution d hébergement de "SWIFTAlliance ENTRY R7" Politique de Sauvegarde et de Restauration Avril 2012 I- Introduction Le présent document présente la politique de sauvegarde et de restauration à adopter

Plus en détail

100004371 Social Finance Accelerator Initiative. July 10, 2015 Question:

100004371 Social Finance Accelerator Initiative. July 10, 2015 Question: 100004371 Social Finance Accelerator Initiative July 10, 2015 Question: Although I have not yet heard a response about my two prior questions, I have another question relating to the DOS Security Requirement.

Plus en détail

openoffice 40 manual

openoffice 40 manual openoffice 40 manual Reference Manual To find out which features to make use of and how to totally exploit openoffice 40 manual in your favor, there are several resources available for you. openoffice

Plus en détail

Rational Team Concert

Rational Team Concert Une gestion de projet agile avec Rational Team Concert Samira Bataouche Consultante, IBM Rational France 1 SCRUM en Bref Events Artifacts Development Team Source: Scrum Handbook 06 Décembre 2012 Agilité?

Plus en détail

GUIDE BOOK MARRAKECH RIAD VENTE MARRAKECH. Because of this guide book marrakech riad vente marrakech guides are far superior than the pdf guides.

GUIDE BOOK MARRAKECH RIAD VENTE MARRAKECH. Because of this guide book marrakech riad vente marrakech guides are far superior than the pdf guides. GUIDE BOOK MARRAKECH RIAD VENTE MARRAKECH Because of this guide book marrakech riad vente marrakech guides are far superior than the pdf guides. 2 guide book marrakech riad vente marrakech GUIDE BOOK MARRAKECH

Plus en détail

Compliance Sheet. Super Range 71. Product Description

Compliance Sheet. Super Range 71. Product Description Super Range 71 Model SR71-15 SR71-A SR71-C SR71-E SR71-X SR71-USB Product Description 802.11a/n, Mini PCI, 2x2 MIMO 802.11a/b/g/n, Mini PCI, 3x3 MIMO 802.11a/b/g/n, CardBus, 2x2 MIMO 802.11a/b/g/n, PCI

Plus en détail

Configuration Guide for realize the Qosmos log analysis with Click&DECiDE NSI

Configuration Guide for realize the Qosmos log analysis with Click&DECiDE NSI ig Configuration Guide for realize the Qosmos log analysis with Click&DECiDE NSI Or how quickly configure Qosmos log analysis With this document help, we will present the quick configuration of Qosmos

Plus en détail

RFP 1000162739 and 1000163364 QUESTIONS AND ANSWERS

RFP 1000162739 and 1000163364 QUESTIONS AND ANSWERS RFP 1000162739 and 1000163364 QUESTIONS AND ANSWERS Question 10: The following mandatory and point rated criteria require evidence of work experience within the Canadian Public Sector: M3.1.1.C / M3.1.2.C

Plus en détail

PC industriels et disques associés

PC industriels et disques associés Technical Service Bulletin PRODUIT DATE CREATION DATE MODIFICATION FICHIER PC INDUSTRIEL 23/03/2010 201005 REV A PC industriels et disques associés English version follows. SF01 (du 4 au 8 janvier 2010)

Plus en détail

Société de Banque et d Expansion

Société de Banque et d Expansion Société de Banque et d Expansion INTERNET BANKING DEMO AND USER GUIDE FOR YOUR ACCOUNTS AT NETSBE.FR FINDING YOUR WAY AROUND WWW.NETSBE.FR www.netsbe.fr INTERNET BANKING DEMO AND USER GUIDE FOR YOUR ACCOUNTS

Plus en détail

MODE D'EMPLOI USER MANUAL. MIDI MESSENGER version 1-2-3. MIDI MESSENGER version 1-2-3

MODE D'EMPLOI USER MANUAL. MIDI MESSENGER version 1-2-3. MIDI MESSENGER version 1-2-3 MIDI MESSENGER version 1-2-3 USER MANUAL MidiMessenger has been designed to help virtual organs users by sending Midi messages to the instrument. But MidiMessenger is also a general purpose tool for one

Plus en détail

150Mbps Micro Wireless N USB Adapter

150Mbps Micro Wireless N USB Adapter 150Mbps Micro Wireless N USB Adapter TEW-648UBM ŸGuide d'installation rapide (1) ŸTroubleshooting (5) 1.11 1. Avant de commencer Contenu de l'emballage ŸTEW-648UBM ŸCD-ROM (guide de l utilisateur et utilitaire)

Plus en détail

DOCUMENTATION MODULE FOOTERCUSTOM Module crée par Prestacrea

DOCUMENTATION MODULE FOOTERCUSTOM Module crée par Prestacrea DOCUMENTATION MODULE FOOTERCUSTOM Module crée par Prestacrea INDEX : DOCUMENTATION - FRANCAIS... 2 1. INSTALLATION... 2 2. CONFIGURATION... 2 3. LICENCE ET COPYRIGHT... 4 4. MISES A JOUR ET SUPPORT...

Plus en détail

Guide d'installation rapide TE100-P1U

Guide d'installation rapide TE100-P1U Guide d'installation rapide TE100-P1U V2 Table of Contents Français 1 1. Avant de commencer 1 2. Procéder à l'installation 2 3. Configuration du serveur d'impression 3 4. Ajout de l'imprimante sur votre

Plus en détail

Academic Project. B3 - Architecture. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA

Academic Project. B3 - Architecture. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA SUPINFO Academic Dept. Resit Project Academic Project 2012-2013 Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA Conditions d utilisations : SUPINFO International University vous

Plus en détail

Paxton. ins-20605. Net2 desktop reader USB

Paxton. ins-20605. Net2 desktop reader USB Paxton ins-20605 Net2 desktop reader USB 1 3 2 4 1 2 Desktop Reader The desktop reader is designed to sit next to the PC. It is used for adding tokens to a Net2 system and also for identifying lost cards.

Plus en détail

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION 1 12 rue Denis Papin 37300 JOUE LES TOURS Tel: 02.47.68.34.00 Fax: 02.47.68.35.48 www.herve consultants.net contacts@herve consultants.net TABLE DES MATIERES A Objet...1 B Les équipements et pré-requis...2

Plus en détail

ENGLISH WEDNESDAY SCHOOL ENTRY TEST ENROLMENT FORM 2015-2016

ENGLISH WEDNESDAY SCHOOL ENTRY TEST ENROLMENT FORM 2015-2016 CHECKLIST FOR APPLICATIONS Please read the following instructions carefully as we will not be able to deal with incomplete applications. Please check that you have included all items. You need to send

Plus en détail

How to? / Flash the ATMEGA32

How to? / Flash the ATMEGA32 How to? / Flash the ATMEGA32 Français La programmation du microcontrôleur n est pas très compliquée mais elle nécessite un minimum d attention. Elle peut se faire directement sur la platine du Monome grâce

Plus en détail

Section B: Receiving and Reviewing the Technician Inspection Report & Claims Decision Process

Section B: Receiving and Reviewing the Technician Inspection Report & Claims Decision Process Phoenix A.M.D. International Inc. - Claim Procedures, Timelines & Expectations Timelines & Expectations 1. All telephone messages and e-mail correspondence is to be handled and responded back to you within

Plus en détail

A propos de ce livre Ceci est une copie numérique d un ouvrage conservé depuis des générations dans les rayonnages d une bibliothèque avant d être numérisé avec précaution par Google dans le cadre d un

Plus en détail

ETABLISSEMENT D ENSEIGNEMENT OU ORGANISME DE FORMATION / UNIVERSITY OR COLLEGE:

ETABLISSEMENT D ENSEIGNEMENT OU ORGANISME DE FORMATION / UNIVERSITY OR COLLEGE: 8. Tripartite internship agreement La présente convention a pour objet de définir les conditions dans lesquelles le stagiaire ci-après nommé sera accueilli dans l entreprise. This contract defines the

Plus en détail

Gestion Intégrée des Stages et Emplois (GISE)

Gestion Intégrée des Stages et Emplois (GISE) Gestion Intégrée des Stages et Emplois (GISE) Internship and Employment Integrated Management System Company supervisor The CFTR provides an internship management service for both the students and the

Plus en détail

EOIS Service Provider Connect Service Provider User Guide. Chapter 4: Service Provider Management

EOIS Service Provider Connect Service Provider User Guide. Chapter 4: Service Provider Management EOIS Service Provider Connect Service Provider User Guide Chapter 4: Service Provider Management Version: 1.0 October, 2015 Document Versions Version # Date Description V 1.0 September 2015 First version

Plus en détail

Instruction Manual Manuel d instructions B00DQFGH80

Instruction Manual Manuel d instructions B00DQFGH80 Instruction Manual Manuel d instructions B00DQFGH80 English...3 Français...9 Instruction Manual English AmazonBasics USB 3.0 4-Port Hub Contents USB 3.0 4-Port Hub 5V 2.5A power adapter This instruction

Plus en détail

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 HFFv2 1. OBJET L accroissement de la taille de code sur la version 2.0.00 a nécessité une évolution du mapping de la flash. La conséquence de ce

Plus en détail

A provincial general election is underway. I am writing you to ask for your help to ensure that Ontarians who are homeless are able to participate.

A provincial general election is underway. I am writing you to ask for your help to ensure that Ontarians who are homeless are able to participate. Dear Administrator, A provincial general election is underway. I am writing you to ask for your help to ensure that Ontarians who are homeless are able to participate. Meeting the identification requirements

Plus en détail

French 2208A. French for Healthcare Le français de la santé

French 2208A. French for Healthcare Le français de la santé French 2208A French for Healthcare Le français de la santé Professeur : Heures de bureau : Iryna Punko disponible tous les jours par courriel, sauf le week-end. Préalable - Fr 1900 E ou Fr 1910, ou permission

Plus en détail

Editing and managing Systems engineering processes at Snecma

Editing and managing Systems engineering processes at Snecma Editing and managing Systems engineering processes at Snecma Atego workshop 2014-04-03 Ce document et les informations qu il contient sont la propriété de Ils ne doivent pas être copiés ni communiqués

Plus en détail

6. Les désastres environnementaux sont plus fréquents. 7. On ne recycle pas ses déchets ménagers. 8. Il faut prendre une douche au lieu d un bain.

6. Les désastres environnementaux sont plus fréquents. 7. On ne recycle pas ses déchets ménagers. 8. Il faut prendre une douche au lieu d un bain. 1. Notre planète est menacée! 2. Il faut faire quelque chose! 3. On devrait faire quelque chose. 4. Il y a trop de circulation en ville. 5. L air est pollué. 6. Les désastres environnementaux sont plus

Plus en détail

QUESTIONNAIRE DU PARTICIPANT

QUESTIONNAIRE DU PARTICIPANT QUESTIONNAIRE DU PARTICIPANT NOMS: PRÉNOM: DATE DE NAISSANCE: LIEU DE NAISSANCE: ADRESSE: TÉLÉPHONE FIXE: PORTABLE: COURRIER ÉLECTRONIQUE: PERSONNE À CONTACTER EN ESPAGNE EN CAS D URGENCE: TÉLÉPHONE EN

Plus en détail

Official Documents for 2015 Marathon des Sables

Official Documents for 2015 Marathon des Sables Official Documents for 2015 Marathon des Sables Please take care when completing these documents they may be rejected if incorrect. They must be printed in colour and completed by hand. They must be posted

Plus en détail

Web search. Course Organization. 4 July 2011. 1 / 7 Pierre Senellart Licence de droits d usage

Web search. Course Organization. 4 July 2011. 1 / 7 Pierre Senellart Licence de droits d usage Web search Course Organization 1 / 7 Pierre Senellart Course scope Introduction to the technologies of Web search engines Prerequisites: basic math and computer science Labs prerequisites: Java programming

Plus en détail

Etudiants entrants / Incoming students 2014-2015

Etudiants entrants / Incoming students 2014-2015 Etudiants entrants / Incoming students 2014-2015 Service Relations Internationales de l IAE Karine MICHELET, Bureau AF114 www.iae-toulouse.fr international@iae-toulouse.fr Tel: 05 61 63 57 10 Ce guide

Plus en détail

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne Online Applications Tutorial 1/4 Pour postuler aux Appels d Offres de l ENP, vous devez aller sur la plateforme : calls.parisneuroscience.fr.

Plus en détail

Exemple PLS avec SAS

Exemple PLS avec SAS Exemple PLS avec SAS This example, from Umetrics (1995), demonstrates different ways to examine a PLS model. The data come from the field of drug discovery. New drugs are developed from chemicals that

Plus en détail

Software Design Description

Software Design Description Software Design Description ABSTRACT: KEYWORDS: APPROVED: AUTHOR PROJECT MANAGER PRODUCT OWNER General information/recommendations A SDD provides a representation of a software system created to facilitate

Plus en détail

LA NETWORK MANAGER remote control software CUSTOM PRESET CREATION PROCEDURE

LA NETWORK MANAGER remote control software CUSTOM PRESET CREATION PROCEDURE LA NETWORK MANAGER remote control software CUSTOM PRESET CREATION PROCEDURE TECHNICAL BULLETIN - VERSION 1.0 Document reference: NWM-CUSTOM-PRS_TB_ML_1-0 Distribution date: July 21 st, 2010 2010 L-ACOUSTICS.

Plus en détail

NOTICE D UTILISATION Option USB 2-Ports USB FRANCAIS

NOTICE D UTILISATION Option USB 2-Ports USB FRANCAIS NOTICE D UTILISATION Option USB 2-Ports USB FRANCAIS Introduction Ce supplément vous informe de l utilisation de la fonction USB qui a été installée sur votre table de mixage. Disponible avec 2 ports USB

Plus en détail

RULE 5 - SERVICE OF DOCUMENTS RÈGLE 5 SIGNIFICATION DE DOCUMENTS. Rule 5 / Règle 5

RULE 5 - SERVICE OF DOCUMENTS RÈGLE 5 SIGNIFICATION DE DOCUMENTS. Rule 5 / Règle 5 RULE 5 - SERVICE OF DOCUMENTS General Rules for Manner of Service Notices of Application and Other Documents 5.01 (1) A notice of application or other document may be served personally, or by an alternative

Plus en détail

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past! > Le passé composé le passé composé C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past! «Je suis vieux maintenant, et ma femme est vieille aussi. Nous n'avons pas eu d'enfants.

Plus en détail

GCSE Bitesize Controlled Assessment

GCSE Bitesize Controlled Assessment GCSE Bitesize Controlled Assessment Model 2 (for A/A* grade) Question 4 Subject: Topic: French Speaking In this document you will find practical help on how to improve your grade. Before you start working

Plus en détail

UNCLASSIFIED//NON CLASSIFIÉ

UNCLASSIFIED//NON CLASSIFIÉ OpenSSL Heartbleed Vulnerability and Mitigating Measures (AV14-617, CVE-2014-1060, VU #720951) Purpose As per advice already provided via other means, this Alert outlines mitigation actions in response

Plus en détail

Utilisation de la brique LEGO EV3 avec Automgen. Using EV3 brick with Automgen (C)2014 IRAI. Lego EV3, Automgen

Utilisation de la brique LEGO EV3 avec Automgen. Using EV3 brick with Automgen (C)2014 IRAI. Lego EV3, Automgen Utilisation de la brique LEGO EV3 avec Automgen Using EV3 brick with Automgen (C)2014 IRAI 1 Ce manuel décrit l'utilisation de la brique LEGO Ev3 avec Automgen. This manual describes the use of EV3 LEGO

Plus en détail

Notice Technique / Technical Manual

Notice Technique / Technical Manual Contrôle d accès Access control Encodeur USB Mifare ENCOD-USB-AI Notice Technique / Technical Manual SOMMAIRE p.2/10 Sommaire Remerciements... 3 Informations et recommandations... 4 Caractéristiques techniques...

Plus en détail

Construire son projet : Rédiger la partie impacts (2/4) Service Europe Direction des Programmes et de la Formation pour le Sud

Construire son projet : Rédiger la partie impacts (2/4) Service Europe Direction des Programmes et de la Formation pour le Sud Construire son projet : Rédiger la partie impacts (2/4) Service Europe Direction des Programmes et de la Formation pour le Sud Sommaire Construire son projet : Rédiger la partie impacts (2/4) Comment définir

Plus en détail

LOGICIEL Crimp Control Software

LOGICIEL Crimp Control Software LOGICIEL Crimp Control Software PHOTOGRAPHIE NON CONTRACTUELLE - PHOTOGRAPH FOR ILLUSTRATION ONLY MANUEL D INSTALLATION / UTILISATION - Version utilisateur INSTALLATION / INSTRUCTION MANUAL User version

Plus en détail

Autres termes clés (Other key terms)

Autres termes clés (Other key terms) Carve-out method Autres termes clés (Other key terms) Norme Rapports d assurance sur les contrôles d une société de services extérieurs (, Assurance Reports on Controls at a Third Party Service Organization)

Plus en détail

Guide d'installation rapide TFM-560X YO.13

Guide d'installation rapide TFM-560X YO.13 Guide d'installation rapide TFM-560X YO.13 Table of Contents Français 1 1. Avant de commencer 1 2. Procéder à l'installation 2 Troubleshooting 6 Version 06.08.2011 16. Select Install the software automatically

Plus en détail

Gestion de la configuration et contrôle du code source

Gestion de la configuration et contrôle du code source MGL7460 Automne 2015 Gestion de la configuration et contrôle du code source Guy Tremblay Professeur Département d informatique UQAM http://www.labunix.uqam.ca/~tremblay 10 septembre 2015 Parmi les premières

Plus en détail

IPv6. Internet Control Message Protocol ICMPv6. Objectif: Comparer ICMPv4 avec ICMPv6

IPv6. Internet Control Message Protocol ICMPv6. Objectif: Comparer ICMPv4 avec ICMPv6 IPv6 Internet Control Message Protocol ICMPv6 Objectif: Comparer ICMPv4 avec ICMPv6 v.1b IPv6 Théorie et Pratique & Microsoft Introduction to IPv6 1 ICMPv6 (RFC 2463) Trois fonctions déjà présentes en

Plus en détail

POUR LA COMMUNAUTÉ. 1. Création d un compte «Elyxyr» (pour les nouveaux utilisateurs)

POUR LA COMMUNAUTÉ. 1. Création d un compte «Elyxyr» (pour les nouveaux utilisateurs) (Please note the English version starts at page 4) POUR LA COMMUNAUTÉ Procédure de location pour le Programme d utilisation communautaire des installations scolaires en dehors des heures de classe (excluant

Plus en détail

Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI. 9/12/2014 Cloud & Security

Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI. 9/12/2014 Cloud & Security Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI 9/12/2014 Cloud & Security Sommaire Rappel court de Cloud Pour quoi cette sujet est important? Données sensibles dans le Cloud Les risques Top

Plus en détail

Sécurité des systèmes d exploitation

Sécurité des systèmes d exploitation Sécurité des systèmes d exploitation Jean-Marc Robert Génie logiciel et des TI Plan de la présentation Systèmes d exploitation Microsoft XP, Vista, 7, Unix/Linux MAC Conclusion Jean-Marc Robert, ETS Sécurité

Plus en détail

2002 Maritime Mathematics Competition Concours de Mathématiques des Maritimes 2002

2002 Maritime Mathematics Competition Concours de Mathématiques des Maritimes 2002 2002 Maritime Mathematics Competition Concours de Mathématiques des Maritimes 2002 Instructions: Directives : 1 Provide the information requested below Veuillez fournir les renseignements demandés ci-dessous

Plus en détail

Zelio S2020 va SR2COM01

Zelio S2020 va SR2COM01 A. Introduction : A. Introduction : Zelio S2020 va SR2COM01 Communication modem via l interface de communication SR2COM01 Modem communication through the modem communication interface SR2COM01 L objectif

Plus en détail

Congo Democratic Republic Tourist visa Application for citizens of Hong Kong living in Alberta

Congo Democratic Republic Tourist visa Application for citizens of Hong Kong living in Alberta Congo Democratic Republic Tourist visa Application for citizens of Hong Kong living in Alberta Please enter your contact information Name: Email: Tel: Mobile: The latest date you need your passport returned

Plus en détail