1. Trang chủ
  2. » Công Nghệ Thông Tin

Security on the new platform potx

368 1,1K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 368
Dung lượng 866,78 KB

Nội dung

Essential .NET Security Security on the new platform 2 Introductions • What is your first name? • What sort of job do you do? • What does security mean to you? • What programming languages are you fluent in? • Do you have any particular expectations? 3 Goals of the class • Learn what threats are out there • Learn what it takes to design secure systems • Examine security features of the .NET platform • Learn how to use them correctly 4 Module Outline • Threats and Mitigation • Conventional Cryptography and Kerberos • Public Key Cryptography and SSL • Windows Security 101: Basics • Windows Security 102: Impersonation and Delegation • Code Access Security Part 1, Policy • Code Access Security Part 2, Enforcement • Securing Web Applications • Securing Web Services • Securing System.Runtime.Remoting • Securing COM+ • Dumb Code: avoid writing code with silly security holes 5 Logistics • Hours • Food • Facilities • Materials Threats and Mitigation 7 Objectives • What types of threats are out there? • Ways of mitigating those threats • A process for designing secure code • Some guiding principals for writing secure code • Authentication • Authorization • Other security techniques and technologies 8 The STRIDE Threat Model • STRIDE – Spoofing Identity – Tampering with data – Repudiation – Information Disclosure – Denial of Service – Elevation of Privilege 9 Spoofing identity • Attacker pretends to be someone he is not – there are two flavors of this attack • Spoofing client identity – access a server and pretend to be a legitimate user – gain access to sensitive data – run potentially dangerous queries/processes on the server – gain administrative access to the server • Spoofing server identity – pretend to be a legitimate server to unsuspecting clients – collect sensitive data from clients – provide false data to clients – often opens the door for other attacks 10 Mitigating the spoofing threat • Strong authentication is the best defense – authentication is a secure process for validating identity – clients can prove their identities to servers – servers can prove their identities to clients • Identity can be proved in several ways – something you have – something you know – something you are • Authenticating over a network requires cryptography – more on this later… [...]... reaction into your systems 33 Conventional Cryptography and Authentication Cryptography, passwords, and Kerberos Outline • • • • • • • Conventional cryptography Using passwords as keys Conventional crypto from NET Network authentication using passwords The Kerberos authentication protocol SSPI, the unmanaged interface to Kerberos Using Kerberos from managed code 35 Conventional cryptography • Conventional... Firewalls don’t ensure security 24 Security is a feature • • • • Security is a crosscutting feature – Similar to performance Impossible to bolt on security at the end of a project – Requires constant attention and iteration Be sure you have a security feature team Need to convince management you need security? – It’s amazing what a demonstration can do 25 Use least privilege • • • Run your code with only the. .. HFNETCHK.EXE + Baseline Security Analyzer • http://www.microsoft.com /security 20 Summary of STRIDE threats and mitigation • STRIDE – Spoofing Identity • strong authentication – Tampering with data • hash codes, digital signatures, encryption – Repudiation • audit logs, receipts, digital signatures, timestamps – Information Disclosure • strong authentication, access control, encryption, obscurity – Denial... Elevation of Privilege • robust code, least privilege, OS patches 21 The three components of a secure system • • • Just as with physical security, we need all three – protection – detection – reaction You don’t need unbreakable protection – you really can’t achieve this anyway – many developers throw up their hands if they can’t design a perfect solution (it feels frustrating) Design detection and reaction... choose a response • accept the risk as is • warn the user (transfer the risk) • remove the feature (remove the risk) • fix the problem (mitigate the risk) – revisit your security strategy with each iteration! 23 General principals to live by • • • • • • • Security is a feature Use least privilege Layer your defenses Pay attention to failure modes Prefer secure defaults Cryptography doesn’t ensure security. .. Mitigating the repudiation threat • Mitigation techniques are called nonrepudiation – audit actions in the OS and protect the audit logs – require receipts as acknowledgement – use timestamps – digital signatures can help with electronic transactions 14 Information disclosure • • Attacker sees data he shouldn’t be seeing – local files – data traveling between computers Attacker sees information about the. .. version – helps the enemy narrow down potential attacks 15 Mitigating the information disclosure threat • • • • • Use strong authentication and consistent access control Encryption might help – NTFS EFS, for example Turn off banners on publicly exposed services – or expose purposely misleading banners – obscurity is not security but sometimes it helps Disable tracing and debugging features in production... don’t need to run as SYSTEM – most desktop apps don’t need admin privileges Use WinXP and NET Server’s built in low-privilege accounts – NT Authority \ LocalService – NT Authority \ NetworkService Don’t be lazy – open kernel objects for only the permissions you really need – test your code in a non-administrative environment – or go one step further and WRITE your code in a nonadministrative environment!... addr on outgoing packets) – automate virus checking to avoid DDoS zombies 18 Elevation of privilege • Attacker finds a way to gain more privileges on the system – the ultimate goal is to gain administrative privileges – most common exploit is the buffer overflow (more on this later) – bugs in the operating system itself can allow this 19 Mitigating the elevation of privilege threat • Produce and consume... your defenses • Don’t assume someone else will save you – Consider your code the last bastion of defense – Validate input data 27 Pay attention to failure modes • • Developers focus on normal paths of execution Attackers focus on failure modes devote at least as much time to design, code, and test error handling paths as you do for normal paths of execution 28 Prefer secure defaults • • Don’t ship code . opens the door for other attacks 10 Mitigating the spoofing threat • Strong authentication is the best defense – authentication is a secure process for validating identity – clients can prove their. type and version – helps the enemy narrow down potential attacks 16 Mitigating the information disclosure threat • Use strong authentication and consistent access control • Encryption might help –. Mitigation • Conventional Cryptography and Kerberos • Public Key Cryptography and SSL • Windows Security 101: Basics • Windows Security 102: Impersonation and Delegation • Code Access Security

Ngày đăng: 03/07/2014, 07:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN