Arquitetura para injeção de falhas em protocolos de comunicação segura em aplicações críticas
Resumo
Em aplicações industriais críticas, falhas podem provocar a morte de pessoas ou danos irreparáveis ao meio ambiente. Devido ao ambiente hostil, a comunicação é um dos elos mais frágeis do sistema. A comunicação através de protocolos TCP/IP ou barramentos de campo apresenta taxas de defeito incompatíveis com os requisitos impostos a aplicações críticas. Quando o risco de acidentes fatais é muito alto, protocolos de comunicação segura, tais como o PROFIsafe, openSafety e o Safety-over-EtherCAT, devem ser empregados. Entretanto, para cada novo equipamento, o protocolo deve ser implementado e validado obedecendo estritamente às recomendações de normas de segurança como a IEC 61508 e a IEC 61784-3. As normas exigem injeção de falhas em todas as fases de teste. Para facilitar a aplicação destas normas por parte dos desenvolvedores e testadores, o artigo propõe a arquitetura de um ambiente de injeção de falhas para validação de protocolos de comunicação sugeridos pelas normas de segurança. Para atender aos requisitos de baixo custo e alta precisão, a arquitetura proposta baseia-se no uso de hardware genérico, com o emprego eventual de adaptadores de hardware, e de software específico.
Referências
Bell, Ron. 2006. "Introduction to IEC 61508." In Proceedings of the 10th Australian Workshop on Safety Critical Systems and software-Volume 55, 3-12. Australian Computer Society, Inc.
Bell, Ron. 2011. "Introduction and Revision of IEC 61508." In Advances in Systems Safety, edited by Chris Dale and Tom Anderson, 273-91. Springer London.
Bilich, Carlos, and Zaijun Hu. 2009. "Experiences with the Certification of a Generic Functional Safety Management Structure According to IEC 61508." In Computer Safety, Reliability, and Security, edited by Bettina Buth, Gerd Rabe, and Till Seyfarth, 5775:103-17. Lecture Notes in Computer Science. Springer Berlin / Heidelberg.
Carvalho, José, Adriano Carvalho, and Paulo Portugal. 2005. "Assessment of PROFIBUS Networks Using a Fault Injection Framework." Proceedings of 10th IEEE Conference on Emerging Technologies and Factory Automation, ETFA 2005, 415-23.
Cotroneo, Domenico, and Roberto Natella. 2013. "Fault Injection for Software Certification." Security & Privacy, IEEE 11 (4): 38-45.
Dawson, S., F. Jahanian, T. Mitton, and T. L. Tung. 1996. "Testing of Fault-tolerant and Real-time Distributed Systems via Protocol Fault Injection." In Fault Tolerant Computing, 1996., Proceedings of Annual Symposium On, 404-14.
Dobler, R.J. 2016. "FITT: Uma Ferramenta de Injeção de Falhas para Validar Protocolos de Comunicação Seguros". Dissertação de mestrado. UFRGS.
Drebes, R.J., Gabriela Jacques-Silva, Joana Matos Fonseca Da Trindade, and Taisy Silva Weber. 2006. "A Kernel-based Communication Fault Injector for Dependability Testing of Distributed Systems." In 1st International Haifa Verification Conference on Hardware and Software, Verification and Testing, November 13, 2005 - November 16, 2005, 3875 LNCS:177-90. Lecture Notes in Computer Science. Haifa, Israel: Springer Verlag.
Dunn, W.R. 2003. "Designing Safety-critical Computer Systems." Computer 36 (11): 40- 46.
Esposito, Christian, Domenico Cotroneo, and Nuno Silva. 2011. "Investigation on Safety-Related Standards for Critical Systems." In Software Certification (WoSoCER), 2011 First International Workshop On, 49-54. IEEE.
Fowler, Derek, and Phil Bennett. 2000. "IEC 61508 - A Suitable Basis for the Certification of Safety-Critical Transport-Infrastructure Systems??" In Computer Safety, Reliability and Security, edited by Floor Koornneef and Meine van der Meulen, 1943:250-63. Lecture Notes in Computer Science. Springer Berlin / Heidelberg.
Gall, Heinz, and Joachim Wen. 2010. "Functional Safety IEC 61508 and Sector Standards for Machinery and Process Industry the Impact to Certification and Users Including IEC 61508 2nd Edition." In 23rd International Congress on Condition Monitoring and Diagnostic Engineering Management, COMADEM 2010, June 28, 2010 - July 2, 2010, 73-81. Nara, Japan: Sunrise Publishing Limited.
Gessner, D., M. Barranco, A. Ballesteros, and J. Proenza. 2014. "sfiCAN: A Star-Based Physical Fault-Injection Infrastructure for CAN Networks." IEEE Transactions on Vehicular Technology 63 (3): 1335-49.
Hardy, Terry L. 2014. "Case Studies in Process Safety: Lessons Learned from Software related Accidents." Process Safety Progress 33 (2): 124-30.
Hsueh, Mei-Chen, T.K. Tsai, and R.K. Iyer. 1997. "Fault Injection Techniques and Tools." Computer 30 (4): 75-82.
Hurtig, Per, and Anna Brunstrom. 2008. "Enhancing SCTP Loss Recovery: An Experimental Evaluation of Early Retransmit." Computer Communications 31 (16): 3778-88.
Lloyd, M. H., and P. J. Reeve. 2009. "IEC 61508 and IEC 61511 Assessments-some Lessons Learned." 4th IET International Conference on Systems Safety, 2A1.
Mayr, Alois, Reinhold Plosch, and Matthias Saft. 2011. "Towards an Operational Safety Standard for Software: Modelling IEC 61508 Part 3." In 18th IEEE International Conference and Workshops on Engineering of Computer-Based Systems, ECBS 2011, April 27, 2011 - April 29, 2011, 97-104. Las Vegas, NV, United states: IEEE Computer Society.
Natella, Roberto, Domenico Cotroneo, and Henrique S. Madeira. 2016. "Assessing Dependability with Software Fault Injection: A Survey." ACM Computing Surveys (CSUR) 48 (3): 44.
Neumann, Peter. 2007. "Communication in Industrial automation - What Is Going On?" Control Engineering Practice 15 (11): 1332-47.
Pintard, Ludovic, Jean-Charles Fabre, Karama Kanoun, Michel Leeman, and Matthieu Roy. 2013. "Fault Injection in the Automotive Standard ISO 26262: An Initial Approach." In Dependable Computing, edited by Marco Vieira and João Carlos Cunha, 126-33. Lecture Notes in Computer Science 7869. Springer Berlin Heidelberg.
Schirmeier, H., M. Hoffmann, R. Kapitza, D. Lohmann, and O. Spinczyk. 2012. "Fail #x2217;: Towards a Versatile Fault-injection Experiment Framework." In ARCS Workshops (ARCS), 2012, 1-5.
Siqueira, Torgan, Bruno Fiss, Raul Weber, Sergio Cechin, and Taisy Weber. 2009. "Applying FIRMAMENT to Test the SCTP Communication Protocol Under Network Faults." In 2009 10th Latin American Test Workshop, LATW 2009, March 2, 2009 - March 5, 2009. Rio de Janeiro, Brazil: Inst. of Elec. and Elec. Eng. Computer Society.
Vidal, William, Rodrigo Dobler, Sérgio Cechin, Taisy Weber, and João Netto. 2014. "Aplicação Da IEC 61508 Na Prototipação de Protocolos Seguros de Comunicação." In Workshop de Testes e Tolerância a Falhas, 147-59. Florianópolis: Sociedade Brasileira de Computação.
Zhivich, Michael, and Robert K. Cunningham. 2009. "The Real Cost of Software Errors." Security & Privacy, IEEE 7 (2): 87-90.