{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T02:34:29Z","timestamp":1772159669956,"version":"3.50.1"},"reference-count":55,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"1","license":[{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"funder":[{"DOI":"10.13039\/501100001871","name":"Fundao para a Cincia e a Tecnologia","doi-asserted-by":"publisher","award":["PTDC\/CCI-INF\/29058\/2017"],"award-info":[{"award-number":["PTDC\/CCI-INF\/29058\/2017"]}],"id":[{"id":"10.13039\/501100001871","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001871","name":"Fundao para a Cincia e a Tecnologia","doi-asserted-by":"publisher","award":["UIDB\/50021\/2020"],"award-info":[{"award-number":["UIDB\/50021\/2020"]}],"id":[{"id":"10.13039\/501100001871","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IEEE Trans. Dependable and Secure Comput."],"published-print":{"date-parts":[[2023,1,1]]},"DOI":"10.1109\/tdsc.2021.3139472","type":"journal-article","created":{"date-parts":[[2021,12,31]],"date-time":"2021-12-31T15:41:35Z","timestamp":1640965295000},"page":"590-605","source":"Crossref","is-referenced-by-count":6,"title":["Sanare: Pluggable Intrusion Recovery for Web Applications"],"prefix":"10.1109","volume":"20","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6834-705X","authenticated-orcid":false,"given":"David R.","family":"Matos","sequence":"first","affiliation":[{"name":"INESC-ID, Instituto Superior T&#x00E9;cnico, Universidade de Lisboa, Lisboa, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2872-7300","authenticated-orcid":false,"given":"Miguel L.","family":"Pardal","sequence":"additional","affiliation":[{"name":"INESC-ID, Instituto Superior T&#x00E9;cnico, Universidade de Lisboa, Lisboa, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7873-5531","authenticated-orcid":false,"given":"Miguel","family":"Correia","sequence":"additional","affiliation":[{"name":"INESC-ID, Instituto Superior T&#x00E9;cnico, Universidade de Lisboa, Lisboa, Portugal"}]}],"member":"263","reference":[{"key":"ref1","article-title":"OWASP Top 10\u20132017 RCL - The ten most critical web application security risks","author":"van der Stock","year":"2017"},{"key":"ref2","article-title":"2020 cyber security report","year":"2020"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2002.1033782"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2010.5544951"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043567"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522725"},{"key":"ref7","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2015.72"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1145\/3135974.3135978"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1145\/1553374.1553453"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-74320-0_3"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1016\/j.comnet.2005.01.009"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1109\/DSNW.2011.5958858"},{"key":"ref13","article-title":"Using generalization and characterization techniques in the anomaly-based detection of web attacks","volume-title":"Proc. 13th Symp. Netw. Distrib. Syst. Secur.","author":"Robertson"},{"key":"ref14","volume-title":"MySQL","author":"DuBois","year":"1999"},{"key":"ref15","volume-title":"MongoDB: The Definitive Guide","author":"Chodorow","year":"2013"},{"key":"ref16","article-title":"MongoDB","year":"2018"},{"key":"ref17","article-title":"MongoDB Manual","year":"2016"},{"key":"ref18","volume-title":"WordPress Bible","author":"Brazell","year":"2011"},{"key":"ref19","volume-title":"GitLab Repository Management","author":"Hethey","year":"2013"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1016\/j.diin.2013.08.005"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1109\/MCC.2014.51"},{"key":"ref22","article-title":"Adding generic process containers to the Linux kernel","volume-title":"Proc. Linux Symp.","author":"Menage"},{"key":"ref23","volume-title":"POSIX. 4 Programmers Guide: Programming for the Real World","author":"Gallmeister","year":"1995"},{"key":"ref24","doi-asserted-by":"publisher","DOI":"10.1145\/1435417.1435432"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1145\/1502777.1502779"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1145\/3274808.3274817"},{"key":"ref27","volume-title":"Linux Firewalls: Attack Detection and Response With Iptables, Psad, and Fwsnort","author":"Rash","year":"2007"},{"key":"ref28","first-page":"1","article-title":"Implementation patterns for microservices architectures","volume-title":"Proc. 23rd Conf. Pattern Lang. Programs","author":"Brown"},{"key":"ref29","first-page":"41","article-title":"An empirical study of the naive bayes classifier","volume-title":"Proc. IJCAI Workshop Empir. Methods Artif. Intell.","volume":"3","author":"Rish"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1080\/00220670209598786"},{"issue":"1","key":"ref31","doi-asserted-by":"crossref","first-page":"5","DOI":"10.1023\/A:1010933404324","article-title":"Random forests","volume":"45","author":"Breiman","year":"2001","journal-title":"Mach. Learn."},{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2008.239"},{"issue":"1","key":"ref33","first-page":"1793","article-title":"Statistical normalization and back propagation for classification","volume":"3","author":"Jayalakshmi","year":"2011","journal-title":"Int. J. Comput. Theory Eng."},{"key":"ref34","first-page":"287","article-title":"Endo-testing: Unit testing with mock objects","author":"Mackinnon","year":"2000","journal-title":"Extreme Programming Examined"},{"key":"ref35","doi-asserted-by":"publisher","DOI":"10.1007\/BF01784024"},{"key":"ref36","volume-title":"PostgreSQL: Introduction and Concepts","volume":"192","author":"Momjian","year":"2001"},{"key":"ref37","doi-asserted-by":"crossref","DOI":"10.17487\/rfc5789","article-title":"Patch method for HTTP","author":"Dusseault","year":"2010"},{"key":"ref38","article-title":"Json merge patch, RFC 7386","author":"Snell","year":"2014"},{"key":"ref39","volume-title":"Building Microservices: Designing Fine-Grained Systems","author":"Newman","year":"2015"},{"issue":"1","key":"ref40","doi-asserted-by":"crossref","first-page":"116","DOI":"10.1109\/MS.2015.11","article-title":"Microservices","volume":"32","author":"Th\u00f6nes","year":"2015","journal-title":"IEEE Softw."},{"key":"ref41","volume-title":"Flask Web Development: Developing Web Applications With Python","author":"Grinberg","year":"2018"},{"key":"ref42","volume-title":"Nginx HTTP Server: Adopt Nginx for Your Web Applications to Make the Most of Your Infrastructure and Serve Pages Faster Than Ever","author":"Nedelcu","year":"2010"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1109\/CCWC.2019.8666479"},{"key":"ref44","doi-asserted-by":"publisher","DOI":"10.1145\/2398776.2398827"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4842-1004-8_4"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807152"},{"key":"ref47","doi-asserted-by":"publisher","DOI":"10.1145\/1133373.1133387"},{"key":"ref48","first-page":"1","article-title":"Undo for operators: Building an undoable E-mail store","volume-title":"Proc. USENIX Annu. Tech. Conf.","author":"Brown"},{"key":"ref49","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2004.1311910"},{"key":"ref50","first-page":"89","article-title":"Intrusion recovery using selective re-execution","volume-title":"Proc. 9th USENIX Conf. Oper. Syst. Des. Implementation","author":"Kim"},{"key":"ref51","doi-asserted-by":"publisher","DOI":"10.1145\/319344.319159"},{"key":"ref52","doi-asserted-by":"crossref","DOI":"10.1109\/FITS.2003.1264933","article-title":"Self-securing storage: Protecting data in compromised system","volume-title":"Proc. 4th USENIX Symp. Oper. Syst. Des. Implementation","author":"Strunk"},{"key":"ref53","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2003.1209932"},{"key":"ref54","doi-asserted-by":"publisher","DOI":"10.1145\/1095809.1095826"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1145\/1352592.1352603"}],"container-title":["IEEE Transactions on Dependable and Secure Computing"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/8858\/10016903\/09667254.pdf?arnumber=9667254","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,1,13]],"date-time":"2024-01-13T17:01:19Z","timestamp":1705165279000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/9667254\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,1,1]]},"references-count":55,"journal-issue":{"issue":"1"},"URL":"https:\/\/doi.org\/10.1109\/tdsc.2021.3139472","relation":{"has-preprint":[{"id-type":"doi","id":"10.36227\/techrxiv.13725991.v1","asserted-by":"object"},{"id-type":"doi","id":"10.36227\/techrxiv.13725991","asserted-by":"object"}]},"ISSN":["1545-5971","1941-0018","2160-9209"],"issn-type":[{"value":"1545-5971","type":"print"},{"value":"1941-0018","type":"electronic"},{"value":"2160-9209","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,1,1]]}}}