Security Patterns
- M. Schumacher, E. Fernandez-Buglioni, D. Hybertson, F. Bushmann, and
- P. Sommerlad, Security Patterns: Integrating Security and Systems
Engineering, John Wiley and Sons Ltd., 2006
Security Patterns M. Schumacher, E. Fernandez-Buglioni, D. - - PowerPoint PPT Presentation
Security Patterns M. Schumacher, E. Fernandez-Buglioni, D. Hybertson, F. Bushmann, and P. Sommerlad, Security Patterns: Integrating Security and Systems Engineering, John Wiley and Sons Ltd., 2006 Lecture outline What is pattern? What is
Engineering, John Wiley and Sons Ltd., 2006
410 ¡
411 ¡
412 ¡
413 ¡
– Solution proposed by a particular pattern can often be implemented with help of other patterns
– Each pattern depends on the smaller patterns it contains and on the larger patterns in which it is contained
414 ¡
– Most widely known patterns Gang-of-Four book in 1995
workflow of application domain – Health Care, Corporate Finance
– Concurrent networked systems and programming – Server Components – Human-computer Interaction – .... Many other specific areas Security – interesting area
415 ¡
416 ¡
417 ¡
– a particular recurring security problem – that arises in a specific security context – presents a well-proven generic scheme for a security solution
418 ¡
419 ¡
420 ¡
421 ¡
422 ¡
423 ¡
424 ¡
425 ¡
426 ¡
– Authenticator – Controlled process creator – Controlled object factory – Controlled object monitor – Controlled virtual address space – Execution domain – Controlled execution environment – File authorization
427 ¡
– Risk events are violations that occur during operational activities. Decision makers need to be aware of the events that occur involving the assets
428 ¡
Proxy-based firewall Packet filter firewall Statefull firewall Address ¡filtering ¡ Keep ¡state ¡ Address ¡filtering ¡ Proxy ¡filtering ¡ Keep ¡state ¡ Firewall ¡pa3ern ¡relaDonship ¡
429 ¡
430 ¡
– Secure communication
– Cryptographic key generation – Session key exchange with public keys – Public key exchange – Public key database – Session key exchange with server-side certificate – Session key exchange with certificates – Certificate authority – Cryptographic smart card – Certificate revocation
Uzunov A. V., E. B. Fernandez, An Extensible Pattern-based Library and Taxonomy of Security Threats for Distributed Systems, Computer Standards & Interfaces, 2014
431 ¡
432 ¡
433
Understanding ¡work ¡pracDces ¡and ¡their ¡changes ¡
– Keyboard, ¡bar ¡code ¡reader, ¡ digital ¡camera ¡
– Wired-‑, ¡wireless-‑phone ¡
– Hard ¡disk, ¡memory ¡card, ¡ internet ¡
– From ¡any ¡storage ¡device ¡
– CalculaDons, ¡combinaDons ¡of ¡ data ¡
– Monitor, ¡printer ¡
¡434 ¡ ¡
435 ¡ ¡435 ¡ ¡
436 ¡ ¡436 ¡ ¡
437 ¡
438
[Ahmed and Matulevičius, 2014] ¡438 ¡ ¡
439 ¡
440 ¡
441
[Ahmed and Matulevičius, 2014] ¡441 ¡ ¡
442
[Ahmed and Matulevičius, 2014] ¡442 ¡ ¡
443
[Ahmed and Matulevičius, 2014] ¡443 ¡ ¡
444
[Ahmed and Matulevičius, 2014] ¡444 ¡ ¡
445
[Ahmed and Matulevičius, 2014] ¡445 ¡ ¡
446
[Ahmed and Matulevičius, 2014] ¡446 ¡ ¡
447
[Ahmed and Matulevičius, 2014] ¡447 ¡ ¡
448
[Ahmed and Matulevičius, 2014] ¡448 ¡ ¡
449
[Ahmed and Matulevičius, 2014] ¡449 ¡ ¡
450
[Ahmed and Matulevičius, 2014] ¡450 ¡ ¡
451
[Ahmed and Matulevičius, 2014] ¡451 ¡ ¡
452
[Ahmed and Matulevičius, 2014] ¡452 ¡ ¡
453
[Ahmed and Matulevičius, 2014] ¡453 ¡ ¡
454
[Ahmed and Matulevičius, 2014] ¡454 ¡ ¡
455
[Ahmed and Matulevičius, 2014] ¡455 ¡ ¡
456
[Ahmed and Matulevičius, 2014] ¡456 ¡ ¡
457
[Ahmed and Matulevičius, 2014] ¡457 ¡ ¡
458
[Ahmed and Matulevičius, 2014] ¡458 ¡ ¡
459
[Ahmed and Matulevičius, 2014] ¡459 ¡ ¡
460
[Ahmed and Matulevičius, 2014] ¡460 ¡ ¡
461
[Ahmed and Matulevičius, 2014] ¡461 ¡ ¡
462 ¡
463 ¡
464 ¡ ¡464 ¡ ¡
465 ¡ ¡465 ¡ ¡
466 ¡ ¡466 ¡ ¡
467 ¡
¡467 ¡ ¡
468 ¡
469 ¡
SecReq.1: Umpire should be able to update the GameReport.gameDetails. SecReq.2: FootballFederationEmloyee should be able to insert the GameReport (i.e., create a new instance of GameReport). SecReq.3: FootballFederationEmloyee should be able to update the GameReport.gameInfo, GameReport.gameDetails and GameReport.confirmation.
470 ¡ ¡470 ¡ ¡
471 ¡
¡471 ¡ ¡
SRP2: Securing data that flow between the business entities
472
SRP2: Securing data that flow between the business entities
473
474 ¡
¡474 ¡ ¡
475 ¡
SecReq.7: Update game details should filter the input (i.e., Initial game details and Updates game details). SecReq.8: Update game details should sanitise the input (i.e., Initial game details and Updates game details) to transform it to the required format. SecReq.9: Update game details should canonicalise the input (i.e., Initial game details and Updates game details) to verify against its canonical representation.
¡475 ¡ ¡
476 ¡
¡476 ¡ ¡
477 ¡
478 ¡
SecReq.10: Update game details should establish a rule base (i.e., a collection of constraints used by different firewalls) to communicate with Umpire. SecReq.11: Packet Filter Firewall should filter the Umpire’s address to determine if it is not a host used by the threat agent. SecReq.12: Proxy Based Firewall should communicate to the proxy which represents Update game details to determine the validity of request received from Umpire. SecReq.13: State Firewall should maintain the state table to check the Umpire’s request for additional conditions of established communication.
479 ¡
¡479 ¡ ¡
480 ¡
SecReq.14: The ERIS should audit the operations after the retrieval, storage or any other manipulation of data in the Game database. SecReq.15: The ERIS should perform operations to hide/unhide data when they are stored/retrieved to/from the Game database.
SecReq.1: Umpire should be able to update the GameReport.gameDetails. SecReq.2: FootballFederationEmloyee should be able to insert the GameReport (i.e., create a new instance
SecReq.3: FootballFederationEmloyee should be able to update the GameReport.gameInfo, GameReport.gameDetails and GameReport.confirmation. SecReq.4: ERIS should have unique identity in the form of key pairs (public key, private key) certified by a certification authority. SecReq.5: Umpire should encrypt and sign Initial game details (and other date communicated to ERIS) using keys before sending it to ERIS. SecReq.7: Update game details should filter the input (i.e., Initial game details and Updates game details). SecReq.8: Update game details should sanitise the input (i.e., Initial game details and Updates game details) to transform it to the required format. SecReq.9: Update game details should canonicalise the input (i.e., Initial game details and Updates game details) to verify against its canonical representation. SecReq.10: Update game details should establish a rule base (i.e., a collection of constraints used by different firewalls) to communicate with Umpire. SecReq.11: Packet Filter Firewall should filter the Umpire’s address to determine if it is not a host used by the threat agent. SecReq.12: Proxy Based Firewall should communicate to the proxy which represents Update game details to determine the validity of request received from Umpire. SecReq.13: State Firewall should maintain the state table to check the Umpire’s request for additional conditions of established communication. SecReq.14: The ERIS should audit the operations after the retrieval, storage or any other manipulation of data in the Game database. SecReq.15: The ERIS should perform operations to hide/unhide data when they are stored/retrieved to/from the Game database.
SecReq.1: Umpire should be able to update the GameReport.gameDetails. SecReq.2: FootballFederationEmloyee should be able to insert the GameReport (i.e., create a new instance
SecReq.3: FootballFederationEmloyee should be able to update the GameReport.gameInfo, GameReport.gameDetails and GameReport.confirmation. SecReq.4: ERIS should have unique identity in the form of key pairs (public key, private key) certified by a certification authority. SecReq.5: Umpire should encrypt and sign Initial game details (and other date communicated to ERIS) using keys before sending it to ERIS. SecReq.7: Update game details should filter the input (i.e., Initial game details and Updates game details). SecReq.8: Update game details should sanitise the input (i.e., Initial game details and Updates game details) to transform it to the required format. SecReq.9: Update game details should canonicalise the input (i.e., Initial game details and Updates game details) to verify against its canonical representation. SecReq.10: Update game details should establish a rule base (i.e., a collection of constraints used by different firewalls) to communicate with Umpire. SecReq.11: Packet Filter Firewall should filter the Umpire’s address to determine if it is not a host used by the threat agent. SecReq.12: Proxy Based Firewall should communicate to the proxy which represents Update game details to determine the validity of request received from Umpire. SecReq.13: State Firewall should maintain the state table to check the Umpire’s request for additional conditions of established communication. SecReq.14: The ERIS should audit the operations after the retrieval, storage or any other manipulation of data in the Game database. SecReq.15: The ERIS should perform operations to hide/unhide data when they are stored/retrieved to/from the Game database.
483 ¡
SecReq.2 ¡ SecReq.3 ¡ SecReq.1 SecReq.7 SecReq.10 ¡ SecReq.11 ¡ SecReq.4 ¡ SecReq.3 ¡ SecReq.3 ¡ SecReq.4 ¡ SecReq.13 ¡
¡483 ¡ ¡
484 ¡
Research questions
485 ¡
486 ¡
487 ¡
– Application of the SRP patterns
1. Agreement on definitions 2. Identification of security goals 3. Development of artefacts 4. Perform risk assessment 5. Select elicitation techniques 6. Elicit security requirements 7. Categorise requirements 8. Prioritize requirements 9. Inspect requirements
488 ¡
– Project offer, Project, Sample quality, Purchase
Process sample sheet, and Sample result
SREBP ¡ SQUARE ¡ ¡ ¡ ¡488 ¡ ¡
489 ¡
– Project offer, Project, Sample quality, Purchase
Process sample sheet, and Sample result
83 % versus 44 % SREBP results in more complete set of security requirements than SQUARE
SREBP ¡ SQUARE ¡ ¡ ¡
490 ¡
¡491 ¡ ¡ 491 ¡