VerificationTalk: A Verification and Security Mechanism for IoT Applications
Abstract
:1. Introduction
- BigraphTalk, which verifies IoT device configuration; and
- AFLtalk, which validates the network functions.
2. Related Work
- A directed forest, called a place graph, which represents the topological space in terms of node containment; and
- A hypergraph, called a link graph, which represents the interactions and non-spatial relations among nodes [16].
3. The IoTtalk/VerificationTalk Architecture
4. BigraphTalk
4.1. Integrating Bigraph with IoTtalk
4.2. Runtime Monitor
5. AFLtalk
5.1. Join Function Verification
5.2. Time Complexity of AFLtalk
6. Conclusions
- BigraphER supports parameterized entities that can be used to model device location. Such property can be used in BigraphTalk to enhance the definition of forbidden configuration. For example, some chemical substances should not be placed near a factory. With models of device location, VerificationTalk can support smart agriculture applications such as [49] better.
- BigraphTalk will provide the property of the device ownership. For instance, only the residents may access the data within their dormitory. We can ensure users’ privacy in intelligent medical applications similar to [50] with ownership properties.
Author Contributions
Funding
Institutional Review Board Statement
Data Availability Statement
Conflicts of Interest
References
- Villamil, S.; Hernández, C.; Tarazona, G. An overview of internet of things. TELKOMNIKA Telecommun. Comput. Electron. Control. 2020, 18, 2320–2327. [Google Scholar] [CrossRef]
- Pathak, S.; Pandey, M. Smart cities: Review of characteristics, composition, challenges and technologies. In Proceedings of the 6th International Conference on Inventive Computation Technologies (ICICT 2021), Coimbatore, India, 20–21 January 2021; pp. 871–876. [Google Scholar] [CrossRef]
- ThingsBoard: Open-Source IoT Platform. Available online: https://thingsboard.io/ (accessed on 26 January 2021).
- Lin, Y.-B.; Lin, Y.-W.; Huang, C.-M.; Chih, C.-Y.; Lin, P. IoTtalk: A management platform for reconfigurable sensor devices. IEEE Internet Things J. 2017, 4, 1552–1562. [Google Scholar] [CrossRef]
- Standards for M2M and the Internet of Things. Available online: https://www.onem2m.org/technical/published-specifications (accessed on 18 August 2021).
- CHT IoT Smart Platform. Available online: https://iot.cht.com.tw/iot/?lang=en (accessed on 3 November 2021).
- Coogle Cloud IoT Solutions. Available online: https://cloud.google.com/solutions/iot/ (accessed on 3 November 2021).
- AWS IoT. Available online: https://aws.amazon.com/iot/ (accessed on 3 November 2021).
- Azure IoT. Available online: https://azure.microsoft.com/en-us/overview/iot/ (accessed on 3 November 2021).
- Advantech WISE-PaaS. Available online: https://www.advantech.tw/products/wise-deviceon/sub_550836fd-a062-4780-8416-3b742bc7fb16 (accessed on 3 November 2021).
- Tudosa, I.; Picariello, F.; Balestrieri, E.; De Vito, L.; Lamonaca, F. Hardware security in IoT era: The role of measurements and instrumentation. In Proceedings of the 2019 IEEE International Workshop on Metrology for Industry 4.0 and IoT, Naples, Italy, 20–21 June 2019; pp. 285–290. [Google Scholar] [CrossRef]
- American Fuzzy Lop. Available online: https://lcamtuf.coredump.cx/afl/ (accessed on 30 June 2020).
- Formal Methods. Available online: https://shemesh.larc.nasa.gov/fm/fm-what.html (accessed on 10 April 2016).
- Thong, W.J.; Ameedeen, M.A. A survey of UML tools. In Proceedings of the Second International Conference on Advanced Data and Information Engineering (DaEng 2015), Bali, Indonesia, 25–26 April 2015; pp. 61–70. [Google Scholar] [CrossRef]
- Milner, R. The Space and Motion of Communicating Agents; Cambridge University Press: New York, NY, USA, 2009; ISBN 978-0521738330. [Google Scholar]
- Sevegnani, M.; Kabac, M.; Calder, M.; McCann, J.A. Modelling and verification of large-scale sensor network infrastructures. In Proceedings of the 23rd International Conference on Engineering of Complex Computer Systems (ICECCS 2018), Melbourne, VIC, Australia, 12–14 December 2018; pp. 71–81. [Google Scholar] [CrossRef] [Green Version]
- Benford, S.; Calder, M.; Rodden, T.; Sevegnani, M. On lions, impala, and bigraphs: Modelling interactions in physical/virtual spaces. ACM Trans. Comput. -Hum. Interact. 2016, 23, 1–56. [Google Scholar] [CrossRef] [Green Version]
- Archibald, B.; Shieh, M.-Z.; Hu, Y.-H.; Sevegnani, M.; Lin, Y.-B. BigraphTalk: Verified Design of IoT Applications. IEEE Internet Things J. 2020, 7, 2955–2967. [Google Scholar] [CrossRef] [Green Version]
- Sipser, M. Introduction to the Theory of Computation, 3rd ed.; Course Technology: Boston, MA, USA, 2013; pp. 201–210. ISBN 978-1133187790. [Google Scholar]
- Liang, J.; Wang, M.; Chen, Y.; Jiang, Y.; Zhang, R. Fuzz testing in practice: Obstacles and solutions. In Proceedings of the 25th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER 2018), Campobasso, Italy, 20–23 March 2018; pp. 562–566. [Google Scholar] [CrossRef]
- Bohm, M.; Pham, V.T.; Nguyen, M.D.; Roychoudhury, A. Directed greybox fuzzing. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (CCS 2017), Dallas, TX, USA, 30 October–3 November 2017; pp. 2329–2344. [Google Scholar] [CrossRef]
- Holler, C.; Herzig, K.; Zeller, A. Fuzzing with code fragments. In Proceedings of the 21st USENIX Security Symposium, Bellevue, WA, USA, 8–10 August 2012; pp. 445–458. [Google Scholar]
- Chen, J.; Diao, W.; Zhao, Q.; Zuo, C.; Lin, Z.; Wang, X.; Lau, W.C.; Sun, M.; Yang, R.; Zhang, K. IoTFuzzer: Discovering memory corruptions in IoT through app-based fuzzing. In Proceedings of the Network and Distributed System Security Symposium (NDSS 2018), San Diego, CA, USA, 18–21 February 2018. [Google Scholar] [CrossRef]
- Gui, Z.; Shu, H.; Kang, F.; Xiong, X. FIRMCORN: Vulnerability-oriented fuzzing of IoT firmware via optimized virtual execution. IEEE Access 2020, 8, 29826–29841. [Google Scholar] [CrossRef]
- Zhu, X.; Wen, S.; Jolfaei, A.; Sayad Haghighi, M.; Camtepe, S.; Xiang, Y. Vulnerability detection in SIoT applications: A fuzzing method on their binaries. IEEE Trans. Netw. Sci. Eng. 2020. [Google Scholar] [CrossRef]
- Chen, W.L.; Lin, Y.B.; Lin, Y.W.; Chen, R.; Liao, J.K.; Ng, F.L.; Chan, Y.Y.; Liu, Y.C.; Wang, C.C.; Chiu, C.H.; et al. AgriTalk: IoT for precision soil farming of turmeric cultivation. IEEE Internet Things J. 2019, 6, 5209–5223. [Google Scholar] [CrossRef]
- Chen, W.E.; Lin, Y.-B.; Chen, L.-X. PigTalk: An AI-based IoT platform for piglet crushing mitigation. IEEE Trans. Ind. Electron. 2021, 17, 4345–4355. [Google Scholar] [CrossRef]
- Lin, Y.-B.; Luo, H.; Liao, C.-C.; Huang, Y.-F. PuppetTalk: Conversation between glove puppetry and internet of things. IEEE Access 2021, 9, 6786–6797. [Google Scholar] [CrossRef]
- Lin, Y.-W.; Lin, Y.-B.; Yen, T.-H. SimTalk: Simulation of IoT Applications. Sensors 2020, 20, 2563. [Google Scholar] [CrossRef] [PubMed]
- Lorenz, M.; Rudolph, J.; Hesse, G.; Uflacker, M.; Plattner, H. Object-relational mapping revisited—A quantitative study on the impact of database technology on O/R mapping strategies. In Proceedings of the 50th Hawaii International Conference on System Sciences (HICSS 2017), Waikoloa, HI, USA, 4–7 January 2017. [Google Scholar] [CrossRef] [Green Version]
- Sevegnani, M.; Calder, M. BigraphER: Rewriting and analysis engine for bigraphs. In Proceedings of the 28th International Conference on Computer Aided Verification (CAV 2016), Toronto, ON, Canada, 17–23 July 2016; pp. 494–501. [Google Scholar] [CrossRef] [Green Version]
- Sevegnani, M.; Calder, M. Bigraphs with sharing. Theor. Comput. Sci. 2015, 577, 43–73. [Google Scholar] [CrossRef] [Green Version]
- Multiprocessing: Process-Based Parallelism. Available online: https://docs.python.org/3/library/multiprocessing.html (accessed on 16 March 2021).
- Zheng, Y.; Song, Z.; Sun, Y.; Cheng, K.; Zhu, H.; Sun, L. An efficient greybox fuzzing scheme for linux-based iot programs through binary static analysis. In Proceedings of the 38th IEEE International Performance Computing and Communications Conference (IPCCC 2019), London, UK, 29–31 October 2019; pp. 1–8. [Google Scholar] [CrossRef]
- Zhu, X.; Wen, S.; Jolfaei, A.; Camtepe, S.; Xiang, Y. Synthesised corpora to evaluate fuzzing for green internet of things programs. IEEE Trans. Green Commun. Netw. 2021, 5, 1041–1050. [Google Scholar] [CrossRef]
- Python AFL. Available online: https://github.com/jwilk/python-afl (accessed on 5 March 2021).
- Shivers, O. Control flow analysis in Scheme. ACM SIGPLAN Not. 1988, 23, 164–174. [Google Scholar] [CrossRef]
- Gold, R. Control flow graphs and code coverage. Int. J. Appl. Math. Comput. Sci. 2010, 20, 739–749. [Google Scholar] [CrossRef] [Green Version]
- Allen, F.E. Control flow analysis. SIGPLAN Not. 1970, 5, 1–19. [Google Scholar] [CrossRef] [Green Version]
- Ammann, P.; Offutt, J. Introduction to Software Testing, 2nd ed.; Cambridge University Press: New York, NY, USA, 2016; pp. 16–20. ISBN 978-1107172012. [Google Scholar]
- Gopinath, R.; Jenson, C.; Groce, A. Code coverage for suite evaluation by developers. In Proceedings of the 36th International Coference on Software Engineering (ICSE 2014), Hyderabad, India, 31 May–7 June 2014; pp. 72–82. [Google Scholar] [CrossRef] [Green Version]
- Li, N.; Praphamontripong, U.; Offutt, J. An experimental comparison of four unit test criteria: Mutation, edge-pair, all-uses and prime path coverage. In Proceedings of the 2009 International Conference on Software Testing, Verification, and Validation Workshops (ICST 2009), Denver, CO, USA, 1–4 April 2009; pp. 220–229. [Google Scholar] [CrossRef]
- Cai, X.; Lyu, M.R. The effect of code coverage on fault detection under different testing profiles. SIGSOFT Softw. Eng. Notes 2005, 30, 1–7. [Google Scholar] [CrossRef]
- Nagy, S.; Hicks, M. Full-speed fuzzing: Reducing fuzzing overhead through coverage-guided tracing. In Proceedings of the 40th IEEE Symposium on Security and Privacy (SP 2019), San Francisco, CA, USA, 20–22 May 2019; pp. 787–802. [Google Scholar] [CrossRef] [Green Version]
- Black, P. Dictionary of Algorithms and Data Structures. Available online: http://www.nist.gov/dads (accessed on 26 April 2021).
- Dwarakanath, A.; Jankiti, A. Minimum number of test paths for prime path and other structural coverage criteria. In Proceedings of the 26th IFIP International Conference on Testing Software and Systems (ICTSS 2014), Madrid, Spain, 23–25 September 2014; pp. 63–79. [Google Scholar] [CrossRef] [Green Version]
- Trautsch, F.; Grabowski, J. Are there any unit tests? An empirical study on unit testing in open source python projects. In Proceedings of the 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST 2017), Tokyo, Japan, 13–18 March 2017; pp. 207–218. [Google Scholar] [CrossRef]
- Scikit-Learn. Available online: https://github.com/scikit-learn/scikit-learn (accessed on 29 April 2021).
- Angin, P.; Anisi, M.H.; Göksel, F.; Gürsoy, C.; Büyükgülcü, A. AgriLoRa: A Digital Twin Framework for Smart Agriculture. J. Wirel. Mob. Netw. Ubiquitous Comput. Dependable Appl. 2020, 11, 77–96. [Google Scholar] [CrossRef]
- Shichkina, Y.A.; Kataeva, G.V.; Irishina, Y.A.; Stanevich, E.S. The use of mobile phones to monitor the status of patients with Parkinson’s disease. J. Wirel. Mob. Netw. Ubiquitous Comput. Dependable Appl. 2020, 11, 55–73. [Google Scholar] [CrossRef]
Prime Path Number | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
Average Full Code Coverage Time (s) | 1.06 | 1.12 | 1.55 | 2.27 | 3.19 | 4.66 | 6.55 | 8.19 |
Prime Path Number | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
Average Full Code Coverage Time (s) | 9.88 | 12.06 | 14.39 | 17.37 | 20.18 | 22.83 | 26.72 | 30.79 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Shieh, M.-Z.; Lin, Y.-B.; Hsu, Y.-J. VerificationTalk: A Verification and Security Mechanism for IoT Applications. Sensors 2021, 21, 7449. https://doi.org/10.3390/s21227449
Shieh M-Z, Lin Y-B, Hsu Y-J. VerificationTalk: A Verification and Security Mechanism for IoT Applications. Sensors. 2021; 21(22):7449. https://doi.org/10.3390/s21227449
Chicago/Turabian StyleShieh, Min-Zheng, Yi-Bing Lin, and Yin-Jui Hsu. 2021. "VerificationTalk: A Verification and Security Mechanism for IoT Applications" Sensors 21, no. 22: 7449. https://doi.org/10.3390/s21227449
APA StyleShieh, M. -Z., Lin, Y. -B., & Hsu, Y. -J. (2021). VerificationTalk: A Verification and Security Mechanism for IoT Applications. Sensors, 21(22), 7449. https://doi.org/10.3390/s21227449