Про особливості впровадження методу адаптивного логування
Анотація
Актуальність цієї роботи полягає в тому, що розуміння причин чому певний код виконується певним чином, як протягом нормального циклу виконання, так і у випадку помилок, є важливою частиною хорошого дизайну програмного забезпечення. Оскільки комп’ютерні системи стають складнішими, запит на рішення, що дозволяють глибше поглянути в процес виконання коду, лишається на високому рівні. Метою даної роботи є формалізація програмного інструменту, здатного забезпечити кращу спостережність програми. Основними методами роботи є: аналіз поширених підходів, таких як моніторинг та логування, формалізація основних компонентів та моделювання прикладу реалізації на основі патерну програмування Singleton. В результаті було проаналізовано логгінг на основі «тільки критичність» і аналогічним чином описано основні частини «методу адаптивного логування». Є дві відмінні риси цього методу: тегування лог повідомлень і подальше введення схеми конфігурації, яка здатна адаптуватися до мінливих вимог під час виконання програми. Системи, що використовують такий підхід, мають можливість отримувати більш точну інформацію про хід виконання, а також можуть зосередитися на певних компонентах, які можуть поводитися некоректно. Оскільки таке перемикання відбувається без перезапуска програми, за якою спостерігають, має бути можливість налагоджувати та досліджувати деякі проблеми без необхідності намагатися відтворити з нуля стан середовища, в якому вони виникли. Також представлено приклад формального опису на основі патерну програмування Singleton, який описує методи та їхні сигнатури, необхідні для створення базового варіанту адаптивного методу логування. Цей підхід може бути використаний різними програмами та мовами програмування, оскільки він розроблений в загальних рисах і всі необхідні абстракції повинні бути присутніми в різних середовищах
Ключові слова
кібератаки; безпека інформації; спостережність; дебагінг; адаптивний підхід; прикладна модель
Використані джерела
[1] Alenezi, M.N., Alabdulrazzaq, H., Alshaher, A.A., & Alkharang, M.M. (2020). Evolution of malware threats and techniques: A review. International Journal of Communication Networks and Information Security (IJCNIS), 12(3), 326-337. doi: 10.17762/ijcnis.v12i3.4723.
[2] Application logging: Definition, examples, and best practices. (n.d.). Retrieved from https://coralogix.com/guides/application-performance-monitoring/application-logging-best-practices/.
[3] Bispham, M., Creese, S., Dutton, W.H., Esteve-González, P., & Goldsmith, M. (2021). Cybersecurity in working from home: An exploratory study. In TPRC49: The 49th research conference on communication, information and internet policy (pp. 1-43). Oxford: University of Oxford. doi: 10.2139/ssrn.3897380.
[4] Chioteli, E., Ioannis, B., & Diomidis, S. (2022). Does unit-tested code crash? A case study of eclipse. In PCI '21: Proceedings of the 25th pan-hellenic conference on informatics (pp. 260-264). New York: Association for Computing Machinery. doi: 10.1145/3503823.3503872.
[5] Corradini, I. (2020). Building a cybersecurity culture in organizations. Cham: Springer.
[6] Dawes, J.H., Shin, D., & Bianculli, D. (2023). Towards log slicing. In International conference on fundamental approaches to software engineering (pp. 249-259). Cham: Springer.
[7] Digital 2023: Global overview report. (2023). Retrieved from https://datareportal.com/reports/digital-2023-global-overview-report.
[8] Gerhards, R. (2009). RFC 5424 – the syslog protocol. Fremont: Internet Engineering Task Force. doi: 10.17487/RFC5424.
[9] Joyce, C., Roman, F.L., Miller, B., Jeffries, J., & Miller, R.C. (2021). Emerging cybersecurity threats in radiation oncology. Advances in Radiation Oncology, 6(6), article number 100796. doi: 10.1016/j.adro.2021.100796.
[10] Kabamba, H.M., Khouzam, M., & Dagenais, M. (2023). Advanced strategies for precise and transparent debugging of performance issues in in-memory data store-based microservices. arXiv – Computer Science, article number arXiv:2311.11230. doi: 10.48550/arXiv.2311.11230.
[11] Karpowicz, M.P. (2021). Covid-19 pandemic and internet traffic in Poland: Evidence from selected regional networks. Journal of Telecommunications and Information Technology, 3, 86-91. doi: 10.26636/jtit.2021.154721.
[12] Khan, N.A., Brohi, S.N., & Zaman, N. (2020). Ten deadly cyber security threats amid Covid-19 pandemic. TechRxiv, 1-7. doi: 10.36227/techrxiv.12278792.v1.
[13] Landauer, M., Wurzenberger, M., Skopik, F., Hotwagner, W., & Höld, G. (2023). AMiner: A modular log data analysis pipeline for anomaly-based intrusion detection. Digital Threats: Research and Practice, 4(1), 1-16. doi: 10.1145/3567675.
[14] Li, H., Shang, W., Adams, B., Sayagh, M., & Hassan, A.E. (2021). A qualitative study of the benefits and costs of logging from developers’ perspectives. IEEE Transactions on Software Engineering, 47(12), 2858-2873. doi: 10.1109/TSE.2020.2970422.
[15] Liang, F., Hatcher, W., Liao, W., Gao, W., & Yu, W. (2019). Machine learning for security and the internet of things: The good, the bad, and the ugly. IEEE Access, 7, 158126-158147. doi: 10.1109/ACCESS.2019.2948912.
[16] Ma, H., Pljonkin, A., & Singh, P.K. (2022). Design and implementation of Internet-of-Things software monitoring and early warning system based on nonlinear technology. Nonlinear Engineering, 11(1), 355-363. doi: 10.1515/nleng-2022-0036.
[17] Marin-Castro, H.M., & Tello-Leal, E. (2021). Event log preprocessing for process mining: A review. Applied Sciences, 11(22), article number 10556. doi: 10.3390/app112210556.
[18] Observability vs. monitoring: What’s the difference? (2022). Retrieved from https://www.ibm.com/blog/observability-vs-monitoring/.
[19] Shaukat, K., Luo, S., Varadharajan, V., Hameed, I.A., & Xu, M. (2020). A survey on machine learning techniques for cyber security in the last decade. IEEE Access, 8, 222310-222354. doi: 10.1109/ACCESS.2020.3041951.
[20] Sombatruang, N., Omiya, T., Miyamoto, D., Sasse, M.A., Kadobayashi, Y., & Baddeley, M. (2020). Attributes affecting user decision to adopt a virtual private network (VPN) app. In W. Meng, D. Gollmann, C.D. Jensen & J. Zhou (Eds.), Lecture notes in computer science (pp. 223-242). Cham: Springer. doi: 10.1007/978-3-030-61078-4_13.
[21] Torres Martínez, J., Iglesias Comesaña, C., & García-Nieto, P.J. (2019). Review: Machine learning techniques applied to cybersecurity. International Journal of Machine Learning and Cybernetics, 10, 2823-2836. doi: 10.1007/s13042-018-00906-1.
[22] Trautsch, F., Herbold, S., & Grabowski, J. (2020). Are unit and integration test definitions still valid for modern Java projects? An empirical study on open-source projects. Journal of Systems and Software, 159, article number 110421. doi: 10.1016/j.jss.2019.110421.
[23] Wang, J., Liu, B.J., He, W., Xue, J.K., & Han, X.Y. (2021). Research on computer application software monitoring data processing technology based on NLP. IOP Conference Series: Materials Science and Engineering, 1043, article number 032021. doi: 10.1088/1757-899X/1043/3/032021.
[24] Winston – a logger for just about everything. (2024). Retrieved from https://www.npmjs.com/package/winston.
[25] Yadav, R. (2021). Cyber security threats during Covid-19 pandemic. International Transaction Journal of Engineering, Management, & Applied Sciences & Technologies, 12(3), 1-7. doi: 10.14456/ITJEMAST.2021.59.
[26] Zhylin, A.V., Shapoval, O.M., & Uspensky, O.A. (2020). Information security technologies in information and telecommunication systems. Kyiv: Polytechnica.