security
play

Security 1 Recap: Protection Protection Prevent - PowerPoint PPT Presentation

Security 1 Recap: Protection Protection Prevent unintended/unauthorized accesses Protection domains Class hierarchy: root can to everything a normal user can do + alpha Access control matrix Domains (Users)


  1. Security 1

  2. Recap: Protection • Protection – Prevent unintended/unauthorized accesses • Protection domains – Class hierarchy: root can to everything a normal user can do + alpha • Access control matrix – Domains (Users)   Resources (Objects) – Resource oriented: Access control list – Domain oriented: Capability list 2

  3. Recap: Security • Stack and buffer overflow – Failure to check bounds on inputs, arguments – Write past arguments on the stack into the return address on stack – Unauthorized user or privilege escalation 3

  4. Recap: Code with Buffer Overflow #define BUFFER_SIZE 256 int process_args(char *arg1) { char buffer[BUFFER SIZE]; strcpy(buffer,arg1); ... } int main(int argc, char *argv[]) { process_args(argv[1]); ... } • What is wrong in this code? 4

  5. Recap: The Attack: Buffer Overflow Before After executing strcpy(buffer, arg1 ) the crafted string containing the illegitimate code 5

  6. Outline • Stack overflow defense • Some recent security bugs 6

  7. 7 Slide from Dr. Vitaly Shmatikov (Cornell)

  8. 8 Slide from Dr. Vitaly Shmatikov (Cornell)

  9. 9 Slide from Dr. Vitaly Shmatikov (Cornell)

  10. 10 Slide from Dr. Vitaly Shmatikov (Cornell)

  11. Goto Fail Bug iOS 7.0.6 Data Security Available for: iPhone 4 and later, iPod touch (5th generation), iPad 2 and later Impact : An attacker with a privileged network position may capture or modify data in sessions protected by SSL/TLS Description : Secure Transport failed to validate the authenticity of the connection . This issue was addressed by restoring missing validation steps. 11

  12. Goto Fail Bug err = 0 . . . hashOut.data = hashes + SSL_MD5_DIGEST_LEN; hashOut.length = SSL_SHA1_DIGEST_LEN; if ((err = SSLFreeBuffer(&hashCtx)) != 0) goto fail; if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &clientRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; MISTAKE! THIS LINE SHOULD NOT BE HERE if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail; err = sslRawVerify(...); // This code must be executed . . . fail: SSLFreeBuffer(&signedHashes); SSLFreeBuffer(&hashCtx); Return err; 12

  13. Heartbleed Bug • Synopsis – Due to a bug in OpenSSL (popular s/w for encrypted communication), web server’s internal memory can be dumped remotely 13

  14. Heartbleed Bug Image source: xkcd.com 14

  15. Heartbleed Bug Image source: xkcd.com 15

  16. Heartbleed Bug struct { HeartbeatMessageType type; Heartbeat uint16 payload_length; req. message opaque payload[HeartbeatMessage.payload_length]; opaque padding[padding_length]; } HeartbeatMessage int tls1_process_heartbeat(SSL *s) Heartbeat { Response function ... /* Read type and payload length first */ hbtype = *p++; n2s(p, payload ); // payload = recv_packet.payload_length pl = p; ... if (hbtype == TLS1_HB_REQUEST) { ... buffer = OPENSSL_malloc(1 + 2 + payload + padding); bp = buffer; memcpy(bp, pl, payload); r = ssl3_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, 3 + payload + padding); ... 16

  17. Shellshock Bug • Synopsis – You can remotely execute arbitrary programs on a server running a web server by simply sending a specially crafted http request. – Example curl -H "User-Agent: () { :; }; /bin/eject" http://example.com/ • The problem – Fail to check the validity of a function definition before executing it For detailed explanation: security.stackexchange.com 17

  18. Virtual Machines Disclaimer: some slides are adopted from book authors’ slides with permission 18

  19. Roadmap • CPU management • Memory management • Disk management • Network and security • Virtual machine 19

  20. Cloud Computing Image Source: http://btstrategy.com/wp-new/2013/10/18/is-everything-really-going-to-the-cloud-advice-for-business-owners/ 20

  21. Cloud Computing 21

  22. Virtual Machines • Enabling technology of cloud computing • Basic idea: Provide machine abstractions 22

  23. Virtual Machines • Benefits – Can run multiple OSes , each in its own virtual machine – Can copy a VM image and run it on a different machine – Can create a snapshot of the state and restore it later – Can create a customized VM with specific OS version and libraries to avoid version dependency problems – More efficient resource utilization is possible • Downsides ? – Overhead – Interference 23

  24. History • Late 1960s – IBM introduced first full VMM on mainframes • Late 1990s – Xen was developed for Intel PCs • Mid 2000s – Hardware support was introduced (e.g.,Intel VT-x) – Widely adopted in data centers. 24

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend