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

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 sandrine.vaton@telecom-bretagne.eu 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: 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 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 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 sandrine.vaton@telecom-bretagne.eu 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 sandrine.vaton@telecom-bretagne.eu 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

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 sandrine.vaton@telecom-bretagne.eu

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Gestion des prestations Volontaire

Gestion des prestations Volontaire Gestion des prestations Volontaire Qu estce que l Income Management (Gestion des prestations)? La gestion des prestations est un moyen de vous aider à gérer votre argent pour couvrir vos nécessités et

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

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

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

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

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

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

Package Contents. System Requirements. Before You Begin

Package Contents. System Requirements. Before You Begin Package Contents DWA-125 Wireless 150 USB Adapter CD-ROM (contains software, drivers, and manual) Cradle If any of the above items are missing, please contact your reseller. System Requirements A computer

Plus en détail

BNP Paribas Personal Finance

BNP Paribas Personal Finance BNP Paribas Personal Finance Financially fragile loan holder prevention program CUSTOMERS IN DIFFICULTY: QUICKER IDENTIFICATION MEANS BETTER SUPPORT Brussels, December 12th 2014 Why BNPP PF has developed

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

Contents Windows 8.1... 2

Contents Windows 8.1... 2 Workaround: Installation of IRIS Devices on Windows 8 Contents Windows 8.1... 2 English Français Windows 8... 13 English Français Windows 8.1 1. English Before installing an I.R.I.S. Device, we need to

Plus en détail

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE :

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE : MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE : Housing system est un service gratuit, qui vous propose de vous mettre en relation avec

Plus en détail

Les techniques de la télémaintenance

Les techniques de la télémaintenance Les techniques de la télémaintenance 1. VNC Virtual Network Computer est un produit gratuit de prise de contrôle à distance; Sa particularité est de permettre le contrôle de l'interface graphique d'une

Plus en détail

Acce s aux applications informatiques Supply Chain Fournisseurs

Acce s aux applications informatiques Supply Chain Fournisseurs Acce s aux applications informatiques Supply Chain Fournisseurs Toujours plus de service pour vous ; rapide, pratique, sécurisé, écologique et gratuit! Vous vous connectez à notre site MESSIER BUGATTI

Plus en détail

Discours du Ministre Tassarajen Pillay Chedumbrum. Ministre des Technologies de l'information et de la Communication (TIC) Worshop on Dot.

Discours du Ministre Tassarajen Pillay Chedumbrum. Ministre des Technologies de l'information et de la Communication (TIC) Worshop on Dot. Discours du Ministre Tassarajen Pillay Chedumbrum Ministre des Technologies de l'information et de la Communication (TIC) Worshop on Dot.Mu Date: Jeudi 12 Avril 2012 L heure: 9h15 Venue: Conference Room,

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

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007 Mon Service Public - Case study and Mapping to SAML/Liberty specifications Gaël Gourmelen - France Telecom 23/04/2007 Agenda Brief presentation of the "Mon Service Public" project (main features) Detailed

Plus en détail

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI Cryptologie Algorithmes à clé publique Jean-Marc Robert Génie logiciel et des TI Plan de la présentation Introduction Cryptographie à clé publique Les principes essentiels La signature électronique Infrastructures

Plus en détail

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5) #45 #46 WiFi Security Camera Quick Start Guide Guide de départ rapide Caméra de surveillance Wi-Fi (P5) #47 Start Here 1 Is this you? TECH SUPPORT CTRL ALT DEL 2 If yes, turn to page three 1 3 If not,

Plus en détail

DOCUMENTATION - FRANCAIS... 2

DOCUMENTATION - FRANCAIS... 2 DOCUMENTATION MODULE SHOPDECORATION MODULE PRESTASHOP CREE PAR PRESTACREA INDEX : DOCUMENTATION - FRANCAIS... 2 INSTALLATION... 2 Installation automatique... 2 Installation manuelle... 2 Résolution des

Plus en détail

Practice Direction. Class Proceedings

Practice Direction. Class Proceedings Effective Date: 2010/07/01 Number: PD - 5 Title: Practice Direction Class Proceedings Summary: This Practice Direction describes the procedure for requesting the assignment of a judge in a proceeding under

Plus en détail

English Q&A #1 Braille Services Requirement PPTC 144918. Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

English Q&A #1 Braille Services Requirement PPTC 144918. Q1. Would you like our proposal to be shipped or do you prefer an electronic submission? English Q&A #1 Braille Services Requirement PPTC 144918 Q1. Would you like our proposal to be shipped or do you prefer an electronic submission? A1. Passport Canada requests that bidders provide their

Plus en détail

DOCUMENTATION - FRANCAIS... 2

DOCUMENTATION - FRANCAIS... 2 DOCUMENTATION MODULE CATEGORIESTOPMENU MODULE CREE PAR PRESTACREA INDEX : DOCUMENTATION - FRANCAIS... 2 INSTALLATION... 2 CONFIGURATION... 2 LICENCE ET COPYRIGHT... 3 SUPPORT TECHNIQUE ET MISES A JOUR...

Plus en détail

Academic Project. B2- Web Development. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA

Academic Project. B2- Web Development. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA SUPINFO Academic Dept. Resit Project Academic Project B2- Web Development 2012-2013 Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA Conditions d utilisations : SUPINFO International

Plus en détail

CEPF FINAL PROJECT COMPLETION REPORT

CEPF FINAL PROJECT COMPLETION REPORT CEPF FINAL PROJECT COMPLETION REPORT I. BASIC DATA Organization Legal Name: Conservation International Madagascar Project Title (as stated in the grant agreement): Knowledge Management: Information & Monitoring.

Plus en détail

CONVENTION DE STAGE TYPE STANDART TRAINING CONTRACT

CONVENTION DE STAGE TYPE STANDART TRAINING CONTRACT CONVENTION DE STAGE TYPE STANDART TRAINING CONTRACT 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

Plus en détail

Acronymes et abréviations. Acronymes / Abbréviations. Signification

Acronymes et abréviations. Acronymes / Abbréviations. Signification Acronymes et abréviations Acronymes / Abbréviations Signification AD CS Active Directory Certificate Services CA Certification Authority CRL Certificate Revocation List CDP Certificate Distribution Points

Plus en détail

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you.

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you. General information 120426_CCD_EN_FR Dear Partner, The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you. To assist navigation

Plus en détail

Compléter le formulaire «Demande de participation» et l envoyer aux bureaux de SGC* à l adresse suivante :

Compléter le formulaire «Demande de participation» et l envoyer aux bureaux de SGC* à l adresse suivante : FOIRE AUX QUESTIONS COMMENT ADHÉRER? Compléter le formulaire «Demande de participation» et l envoyer aux bureaux de SGC* à l adresse suivante : 275, boul des Braves Bureau 310 Terrebonne (Qc) J6W 3H6 La

Plus en détail

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on ONTARIO Court File Number at (Name of court) Court office address Applicant(s) (In most cases, the applicant will be a children s aid society.) Full legal name & address for service street & number, municipality,

Plus en détail

SSH, le shell sécurisé

SSH, le shell sécurisé , le shell sécurisé Objectifs : 1. Présenter le protocole et les outils associés Sébastien JEAN Pourquoi 1/2? Les services standards ne supportent que peu de propriétés de sécurité souvent l identification,

Plus en détail

INDIVIDUALS AND LEGAL ENTITIES: If the dividends have not been paid yet, you may be eligible for the simplified procedure.

INDIVIDUALS AND LEGAL ENTITIES: If the dividends have not been paid yet, you may be eligible for the simplified procedure. Recipient s name 5001-EN For use by the foreign tax authority CALCULATION OF WITHHOLDING TAX ON DIVIDENDS Attachment to Form 5000 12816*01 INDIVIDUALS AND LEGAL ENTITIES: If the dividends have not been

Plus en détail

Face Recognition Performance: Man vs. Machine

Face Recognition Performance: Man vs. Machine 1 Face Recognition Performance: Man vs. Machine Andy Adler Systems and Computer Engineering Carleton University, Ottawa, Canada Are these the same person? 2 3 Same person? Yes I have just demonstrated

Plus en détail

First Nations Assessment Inspection Regulations. Règlement sur l inspection aux fins d évaluation foncière des premières nations CONSOLIDATION

First Nations Assessment Inspection Regulations. Règlement sur l inspection aux fins d évaluation foncière des premières nations CONSOLIDATION CANADA CONSOLIDATION CODIFICATION First Nations Assessment Inspection Regulations Règlement sur l inspection aux fins d évaluation foncière des premières nations SOR/2007-242 DORS/2007-242 Current to September

Plus en détail

Sécurité des Web Services (SOAP vs REST)

Sécurité des Web Services (SOAP vs REST) The OWASP Foundation http://www.owasp.org Sécurité des Web Services (SOAP vs REST) Sylvain Maret Principal Consultant / MARET Consulting / @smaret OpenID Switzerland OWASP Switzerland - Geneva Chapter

Plus en détail

accidents and repairs:

accidents and repairs: accidents and repairs: putting the pieces together accidents et réparations : réunir le tout nobody can repair your Toyota like Toyota Unfortunately, accidents do happen. And the best way to restore your

Plus en détail

Dans une agence de location immobilière...

Dans une agence de location immobilière... > Dans une agence de location immobilière... In a property rental agency... dans, pour et depuis vocabulaire: «une location» et «une situation» Si vous voulez séjourner à Lyon, vous pouvez louer un appartement.

Plus en détail

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation THE CONSUMER PROTECTION ACT (C.C.S.M. c. C200) Call Centres Telemarketing Sales Regulation LOI SUR LA PROTECTION DU CONSOMMATEUR (c. C200 de la C.P.L.M.) Règlement sur le télémarketing et les centres d'appel

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

FCM 2015 ANNUAL CONFERENCE AND TRADE SHOW Terms and Conditions for Delegates and Companions Shaw Convention Centre, Edmonton, AB June 5 8, 2015

FCM 2015 ANNUAL CONFERENCE AND TRADE SHOW Terms and Conditions for Delegates and Companions Shaw Convention Centre, Edmonton, AB June 5 8, 2015 FCM 2015 ANNUAL CONFERENCE AND TRADE SHOW Terms and Conditions for Delegates and Companions Shaw Convention Centre, Edmonton, AB June 5 8, 2015 Early-bird registration Early-bird registration ends April

Plus en détail

Contrôle d'accès Access control. Notice technique / Technical Manual

Contrôle d'accès Access control. Notice technique / Technical Manual p.1/18 Contrôle d'accès Access control INFX V2-AI Notice technique / Technical Manual p.2/18 Sommaire / Contents Remerciements... 3 Informations et recommandations... 4 Caractéristiques techniques... 5

Plus en détail

ONTARIO Court File Number. Form 17E: Trial Management Conference Brief. Date of trial management conference. Name of party filing this brief

ONTARIO Court File Number. Form 17E: Trial Management Conference Brief. Date of trial management conference. Name of party filing this brief ONTARIO Court File Number at (Name of court) Court office address Form 17E: Trial Management Conference Brief Name of party filing this brief Date of trial management conference Applicant(s) Full legal

Plus en détail

Développement logiciel pour le Cloud (TLC)

Développement logiciel pour le Cloud (TLC) Table of Contents Développement logiciel pour le Cloud (TLC) 6. Infrastructure-as-a-Service Guillaume Pierre 1 Introduction 2 OpenStack Université de Rennes 1 Fall 2012 http://www.globule.org/~gpierre/

Plus en détail

POLICY: FREE MILK PROGRAM CODE: CS-4

POLICY: FREE MILK PROGRAM CODE: CS-4 POLICY: FREE MILK PROGRAM CODE: CS-4 Origin: Authority: Reference(s): Community Services Department Cafeteria Services and Nutrition Education Division Resolution #86-02-26-15B.1 POLICY STATEMENT All elementary

Plus en détail

Deadline(s): Assignment: in week 8 of block C Exam: in week 7 (oral exam) and in the exam week (written exam) of block D

Deadline(s): Assignment: in week 8 of block C Exam: in week 7 (oral exam) and in the exam week (written exam) of block D ICM STUDENT MANUAL French 2 JIC-FRE2.2V-12 Module Change Management and Media Research Study Year 2 1. Course overview Books: Français.com, niveau intermédiaire, livre d élève+ dvd- rom, 2ième édition,

Plus en détail

Frequently Asked Questions

Frequently Asked Questions GS1 Canada-1WorldSync Partnership Frequently Asked Questions 1. What is the nature of the GS1 Canada-1WorldSync partnership? GS1 Canada has entered into a partnership agreement with 1WorldSync for the

Plus en détail

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0 DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0 INDEX : DOCUMENTATION - FRANCAIS... 2 1. INSTALLATION... 2 2. CONFIGURATION... 2 3. LICENCE ET COPYRIGHT... 3 4. MISES

Plus en détail

LOGICIEL D'ADMINISTRATION POUR E4000 & G4000 MANAGEMENT SOFTWARE FOR E4000 & G4000

LOGICIEL D'ADMINISTRATION POUR E4000 & G4000 MANAGEMENT SOFTWARE FOR E4000 & G4000 LOGICIEL D'ADMINISTRATION POUR E4000 & G4000 MANAGEMENT SOFTWARE FOR E4000 & G4000 TABLE DES MATIÈRES TITRE PAGE Présentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 Le

Plus en détail

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32 THAT the proposed clause 6(1), as set out in Clause 6(1) of the Bill, be replaced with the following: Trustee to respond promptly 6(1) A trustee shall respond to a request as promptly as required in the

Plus en détail

APPENDIX 6 BONUS RING FORMAT

APPENDIX 6 BONUS RING FORMAT #4 EN FRANÇAIS CI-DESSOUS Preamble and Justification This motion is being presented to the membership as an alternative format for clubs to use to encourage increased entries, both in areas where the exhibitor

Plus en détail

Oracle FS Data Protection Manager. Release Notes. Part Number E50336-01 Oracle FS Data Protection Manager release 3.5.

Oracle FS Data Protection Manager. Release Notes. Part Number E50336-01 Oracle FS Data Protection Manager release 3.5. Oracle FS Data Protection Manager Release Notes Part Number E50336-01 Oracle FS Data Protection Manager release 3.5.0 2014 December Copyright 2005, 2014, Oracle and/or its affiliates. All rights reserved.

Plus en détail

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM 2015-2 APPLICATION FORM

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM 2015-2 APPLICATION FORM SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM 2015-2 APPLICATION FORM APPLICATION FORM / FORMULAIRE DE CANDIDATURE Note: If there is insufficient space to answer a question, please attach additional

Plus en détail

Plan. Department of Informatics

Plan. Department of Informatics Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise

Plus en détail

UML : Unified Modeling Language

UML : Unified Modeling Language UML : Unified Modeling Language Recommended: UML distilled A brief guide to the standard Object Modeling Language Addison Wesley based on Frank Maurer lecture, Univ. of Calgary in french : uml.free.fr/index.html

Plus en détail

Lesson Plan Physical Descriptions. belle vieille grande petite grosse laide mignonne jolie. beau vieux grand petit gros laid mignon

Lesson Plan Physical Descriptions. belle vieille grande petite grosse laide mignonne jolie. beau vieux grand petit gros laid mignon Lesson Plan Physical Descriptions Objective: Students will comprehend and describe the physical appearance of others. Vocabulary: Elle est Il est Elle/Il est Elle/Il a les cheveux belle vieille grande

Plus en détail

Group Projects B3 Architecture

Group Projects B3 Architecture SUPINFO Academic Dept. Project presentation Group Projects 2012-2013 Version 1.0 Last update: 18/10/2012 Use: Students Author: Samuel CUELLA Conditions d utilisations : SUPINFO International University

Plus en détail

Le Cloud Computing est-il l ennemi de la Sécurité?

Le Cloud Computing est-il l ennemi de la Sécurité? Le Cloud Computing est-il l ennemi de la Sécurité? Eric DOMAGE Program manager IDC WE Security products & Solutions Copyright IDC. Reproduction is forbidden unless authorized. All rights reserved. Quelques

Plus en détail

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

LP ASUR - Sécurité. Introduction à la Sécurité des Systèmes d'information. Florent Autréau - florent@mataru.com 28 Avril 2013 LP ASUR - Sécurité Introduction à la Sécurité des Systèmes d'information Florent Autréau - florent@mataru.com 28 Avril 2013 Firewall Communication Security Virtual Private Networks (ipsec, ssh, ssl) Firewall

Plus en détail

Principe de TrueCrypt. Créer un volume pour TrueCrypt

Principe de TrueCrypt. Créer un volume pour TrueCrypt Sommaire : Principe de TrueCrypt...1 Créer un volume pour TrueCrypt...1 Premier montage...6 Réglages...8 Save Currently Mounted Volumes as Favorite...8 Settings > Preferences...9 TrueCrypt Traveller pour

Plus en détail

GIGABIT PCI DESKTOP ADAPTER DGE-530T. Quick Installation Guide+ Guide d installation+

GIGABIT PCI DESKTOP ADAPTER DGE-530T. Quick Installation Guide+ Guide d installation+ GIGABIT PCI DESKTOP ADAPTER Quick Installation Guide+ Guide d installation+ Check Your Package Contents Quick Installation Guide Gigabit Ethernet PCI Adapter CD with Manual and Drivers DO NOT insert the

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 Objectif Introduction aux concepts, outils et méthodologies de déploiement et administration

Plus en détail

English version Legal notice

English version Legal notice English version Legal notice Legal information FCS Campus Paris-Saclay Espace Technologique - Bâtiment Discovery Route de l'orme aux Merisiers - RD 128 91190 Saint-Aubin Publication director : Dominique

Plus en détail

Nouveautés printemps 2013

Nouveautés printemps 2013 » English Se désinscrire de la liste Nouveautés printemps 2013 19 mars 2013 Dans ce Flash Info, vous trouverez une description des nouveautés et mises à jour des produits La Capitale pour le printemps

Plus en détail

PIB : Définition : mesure de l activité économique réalisée à l échelle d une nation sur une période donnée.

PIB : Définition : mesure de l activité économique réalisée à l échelle d une nation sur une période donnée. PIB : Définition : mesure de l activité économique réalisée à l échelle d une nation sur une période donnée. Il y a trois approches possibles du produit intérieur brut : Optique de la production Optique

Plus en détail

COUNCIL OF THE EUROPEAN UNION. Brussels, 18 September 2008 (19.09) (OR. fr) 13156/08 LIMITE PI 53

COUNCIL OF THE EUROPEAN UNION. Brussels, 18 September 2008 (19.09) (OR. fr) 13156/08 LIMITE PI 53 COUNCIL OF THE EUROPEAN UNION Brussels, 18 September 2008 (19.09) (OR. fr) 13156/08 LIMITE PI 53 WORKING DOCUMENT from : Presidency to : delegations No prev. doc.: 12621/08 PI 44 Subject : Revised draft

Plus en détail

Exercices sur SQL server 2000

Exercices sur SQL server 2000 Exercices sur SQL server 2000 La diagramme de classe : Exercices sur SQL server 2000 Le modèle relationnel correspondant : 1 Créer les tables Clic-droit on Tables et choisir «New Table» Créer la table

Plus en détail

Integrated Music Education: Challenges for Teaching and Teacher Training Presentation of a Book Project

Integrated Music Education: Challenges for Teaching and Teacher Training Presentation of a Book Project Integrated Music Education: Challenges for Teaching and Teacher Training Presentation of a Book Project L enseignement intégré de la musique: Un défi pour l enseignement et la formation des enseignants

Plus en détail

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES FORMULAIRE DE DEMANDE D AIDE / APPLICATION FORM Espace réservé pour l utilisation de la fondation This space reserved for foundation use

Plus en détail

THE LAW SOCIETY OF UPPER CANADA BY-LAW 19 [HANDLING OF MONEY AND OTHER PROPERTY] MOTION TO BE MOVED AT THE MEETING OF CONVOCATION ON JANUARY 24, 2002

THE LAW SOCIETY OF UPPER CANADA BY-LAW 19 [HANDLING OF MONEY AND OTHER PROPERTY] MOTION TO BE MOVED AT THE MEETING OF CONVOCATION ON JANUARY 24, 2002 2-aes THE LAW SOCIETY OF UPPER CANADA BY-LAW 19 [HANDLING OF MONEY AND OTHER PROPERTY] MOTION TO BE MOVED AT THE MEETING OF CONVOCATION ON JANUARY 24, 2002 MOVED BY SECONDED BY THAT By-Law 19 [Handling

Plus en détail

1. Formation F5 - Local Traffic Manager Configuring (LTM)

1. Formation F5 - Local Traffic Manager Configuring (LTM) Description F5 F5 Networks, Inc. (NASDAQ: FFIV) est une entreprise informatique américaine fondée en 1996 établie à Seattle qui commercialise des équipements réseau. Dans les années 1990, la société a

Plus en détail

Consultants en coûts - Cost Consultants

Consultants en coûts - Cost Consultants Respecter l échéancier et le budget est-ce possible? On time, on budget is it possible? May, 2010 Consultants en coûts - Cost Consultants Boulletin/Newsletter Volume 8 Mai ( May),2010 1 866 694 6494 info@emangepro.com

Plus en détail

Cours 14. Crypto. 2004, Marc-André Léger

Cours 14. Crypto. 2004, Marc-André Léger Cours 14 Crypto Cryptographie Définition Science du chiffrement Meilleur moyen de protéger une information = la rendre illisible ou incompréhensible Bases Une clé = chaîne de nombres binaires (0 et 1)

Plus en détail

Folio Case User s Guide

Folio Case User s Guide Fujitsu America, Inc. Folio Case User s Guide I N S T R U C T I O N S This Folio Case is a stylish, lightweight case for protecting your Tablet PC. Elastic Strap Pen Holder Card Holders/ Easel Stops Figure

Plus en détail

Vanilla : Virtual Box

Vanilla : Virtual Box Vanilla : Virtual Box Installation Guide for Virtual Box appliance Guide d'installation de l'application VirtualBox Vanilla Charles Martin et Patrick Beaucamp BPM Conseil Contact : charles.martin@bpm-conseil.com,

Plus en détail

Architectures PKI. Sébastien VARRETTE

Architectures PKI. Sébastien VARRETTE Université du Luxembourg - Laboratoire LACS, LUXEMBOURG CNRS/INPG/INRIA/UJF - Laboratoire LIG-IMAG Sebastien.Varrette@imag.fr http://www-id.imag.fr/~svarrett/ Cours Cryptographie & Securité Réseau Master

Plus en détail

iqtool - Outil e-learning innovateur pour enseigner la Gestion de Qualité au niveau BAC+2

iqtool - Outil e-learning innovateur pour enseigner la Gestion de Qualité au niveau BAC+2 iqtool - Outil e-learning innovateur pour enseigner la Gestion de Qualité au niveau BAC+2 134712-LLP-2007-HU-LEONARDO-LMP 1 Information sur le projet iqtool - Outil e-learning innovateur pour enseigner

Plus en détail

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par. École Doctorale d Informatique, Télécommunications et Électronique de Paris THÈSE présentée à TÉLÉCOM PARISTECH pour obtenir le grade de DOCTEUR de TÉLÉCOM PARISTECH Mention Informatique et Réseaux par

Plus en détail

Archived Content. Contenu archivé

Archived Content. Contenu archivé ARCHIVED - Archiving Content ARCHIVÉE - Contenu archivé Archived Content Contenu archivé Information identified as archived is provided for reference, research or recordkeeping purposes. It is not subject

Plus en détail

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public Communautés Numériques L informatique à la portée du Grand Public Initiation et perfectionnement à l utilisation de la micro-informatique Microsoft Document Connection pour Mac. Microsoft Document Connection

Plus en détail

INSTRUCTIONS. Comment compléter le formulaire. How to complete this form. Instructions

INSTRUCTIONS. Comment compléter le formulaire. How to complete this form. Instructions Instructions INSTRUCTIONS Objet du formulaire Ce formulaire vise à documenter l équivalence de stage d un candidat au permis de géologue par l obtention de diplômes de cycle supérieur. Une déclaration

Plus en détail

IDENTITÉ DE L ÉTUDIANT / APPLICANT INFORMATION

IDENTITÉ DE L ÉTUDIANT / APPLICANT INFORMATION vice Direction des Partenariats Internationaux Pôle Mobilités Prrogrramme de bourrses Intterrnattiionalles en Mastterr (MIEM) Intterrnattiionall Mastterr Schollarrshiip Prrogrramme Sorrbonne Parriis Ciitté

Plus en détail

Information Security Management Lifecycle of the supplier s relation

Information Security Management Lifecycle of the supplier s relation 1 Information Security Management Lifecycle of the supplier s relation VS Gery Mollers Conseiller en Sécurité du Système d Information 2 SUPPLIER GOVERNANCE Why? Undiable Partner for Infor. System Maintenance

Plus en détail