Security - Institut für Informatik
Download
Report
Transcript Security - Institut für Informatik
Information Security of
Embedded Systems
2.12.2009: Foundations of Security II
Prof. Dr. Holger Schlingloff
Institut für Informatik
und
Fraunhofer FIRST
Structure
1. Introductory example
2. Embedded systems
engineering
1. definitions and terms
2. design principles
3. Foundations of security
1. threats, attacks, measures
2. construction of safe systems
4. Design of secure systems
1. design challenges
2. safety modelling and
assessment
3. cryptographic algorithms
Embedded Security © Prof. Dr. H. Schlingloff 2009
5. Communication of
embedded systems
1.
2.
remote access
sensor networks
6. Algorithms and
measures
1.
2.
3.
4.
digital signatures
key management
authentification
authorization
7. Formal methods for
security
1.
2.
protocol verification
logics and proof methods
2.12.2009
2
Security – Basic Terms
• System, computational system
ownership of information
• RAMS
• Safety vs. security
• Threats, attacks, security holes
Modelling system, stakeholders, boundaries, intentions
• Example: Internet Thermostat
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
3
More Basic Terms
• Access (Zugriff)
interaction between a subject (with intentions) and an object (a
computational system)
If the access modifies the object, it is a write access, otherwise a
read access
in embedded systems, read access to sensor values, write access to
actuator values, read/write access to internal data
An access is authorized, if the owner of the information appreciates
it at the time it occurs (the access is in the intent of the owner)
• Security (Informationssicherheit)
ability of a system to inhibit or restrict unauthorized access to the
system (No threats from outside subjects for the system’s information)
confidentiality (Vertraulichkeit): no unauthorized read access
integrity (Integrität): no unauthorized write access
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
4
Communication Threats
• e.g., TCP/IP protocol stack
• Example packet
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
5
Homework: Monitor your connections!
• e.g.,
Microsoft
Network
Monitor
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
6
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
7
Link layer attacks
Security hole via physical access to a wired network
(hardware monitoring devices)
• e.g. ARP masquerading: rerouting of information
send unrequested ARP-reply which associates own HW-id
with IP-address of victim
server “updates” cache information
• WLAN, bluetooth, zigbee security?
embedded devices communicate wireless
security measures in increasing sophistication
cf. ch. 5.2
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
8
Network layer attacks (1)
• Address spoofing: Attacker pretends to be
somebody else (via manipulated IP-headers)
Flooding attacks
- direct: SYN-Flooding
- indirect: Smurf
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
9
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
10
Network layer attacks (2)
• Eavesdropping of IP-packets (tcpdump)
IP provides unencrypted communication
(no confidentiality, integrity, authenticity, ...)
routing nondeterministic
- strict source routing attack
- RIP (routing inf. protocol) and redirect attack
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
11
Transport layer attacks (1)
• Access via faked packets
TCP: sequence numbering / acknowledgement
upon receipt of a connection request, the server generates a new
sequence number, sends it back, and waits for an acknowledgement
“guessing” of ack numbers allows write access blocking of receipt at
victim’s site
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
12
Transport layer attacks (2)
• “session hijacking”
eavesdrop communication
kill client
use false packets to continue communication, e.g.,
install backdoor on server
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
13
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
14
Application Layer Threats (1)
• Web Applications, E-Mail: viruses, worms, trojans, …
responsible for 90% of present-day security problems
mobile code, e.g. ActiveX, VB Scripts
MIME-threats: attachments, links, …
no security guaranteed (esp. authenticity)
• ftp, telnet, rlogin, rsh
password encryption?
anonymous FTP: write access?
• NFS: false mounting of exported files
NFS masquerading: UID on untrusted hosts can be arbitrarily
manipulated
faking of NFS file handles (replay attack)
similar problems with NetBIOS
(workgroup or password-level access)
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
15
Application Layer Threats (2)
• NIS
supplies password information to outside
password shadowing
• HTTP Cookies: Write access
“permission assumed”
personal data, e.g., passwords, user profiles
disallow by default!
• CGI-scripts
execution of arbitrary commands on server
errors in scripts can open security holes
minimal rights principle!
• DNS poisoning: Attacker fudges IP number / name
assignment
system access via .rhosts and rlogin
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
16
General Construction Principles
• Fail-safe defaults principle
access denied if not explicitly allowed
• Complete mediation principle
each access hat to be supervised
• Need-to-know principle
each subject has exactly the rights needed for its tasks
• Open design principle
security does not depend on design knowledge
“no security by obscurity”
• Economy of mechanisms principle
measures must be efficient and easy to use
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
17
System Construction Phases (1)
“Design for security”: respect security issues in each phase,
enrich life cyle by special (sub-) phases
1. System requirements analysis
System environment, functionality, use scenarios
necessary components, available resources
2. Threat and risk analysis
list vulnerabilities and possible attacks
estimate potential damage and occurrence probability
3. Security strategy and security model
derive and classify necessary security mechanisms
-
effort, cost, importance, ...
build a model of the system and prove properties
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
18
System Construction Phases (2)
4. System architecture (coarse-grained design)
Realisation of the model
Interface definitions, services and protocols, module decomposition
5. Module definition (fine-grained design)
algorithms, data and control structures, ...
adaption or extension of existing architectures and modules
6. Module and system implementation
Coding and integration of components
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
19
System Construction Phases (3)
7. Validation, testing and evaluation
code-inspection, module testing, integration testing
-
(e.g., find logical time bombs, security holes, hidden channels)
testing of security measures
validation of implementation of security model
8. Security classification
according to different criteria catalogues (TCSEC, ITSEC, ...)
certification authorities, e.g., TÜV, BSI
9. Installation, maintenance
establishment of security infrastructure
assert that security policy is being followed, fixing of known security
holes etc.
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
20
Construction of Secure Systems
• Security engineering: “The effort to achieve and maintain
optimal security and survivability of a system throughout its
life cycle” [InfoSec 1999]
Integration with the SW-engineering process
New phases: Threat and risk analysis, security strategy; Security
classification, infrastructure
• Lit.:
Ross Andersen, Security Engineering; Addison-Wesley, 2001 (Case
Studies)
Nancy G. Leveson, Safeware; Addison-Wesley 1995 (Safety)
Ed Amoroso, Fundamentals of Computer Security Technology
Embedded Security © Prof. Dr. H. Schlingloff 2009
2.12.2009
21