Track This Job
Add this job to your tracking list to:
- Monitor application status and updates
- Change status (Applied, Interview, Offer, etc.)
- Add personal notes and comments
- Set reminders for follow-ups
- Track your entire application journey
Save This Job
Add this job to your saved collection to:
- Access easily from your saved jobs dashboard
- Review job details later without searching again
- Compare with other saved opportunities
- Keep a collection of interesting positions
- Receive notifications about saved jobs before they expire
AI-Powered Job Summary
Get a concise overview of key job requirements, responsibilities, and qualifications in seconds.
Pro Tip: Use this feature to quickly decide if a job matches your skills before reading the full description.
As computer architecture evolves and new instructions are added, some instructions are encoded as architectural hint instructions (ARM terminology). The use of this instruction set space in some sense guarantees backwards compatibility: When run in a new architecture version the new commands operate as defined, but the same instruction executed in an earlier version of the architecture executes as a NOP instruction rather than trapping the executing program with a bad instruction interrupt to the kernel. One example of instructions encoded in this space are some of the pointer authentication instructions (ARM 8.2-ARM 8.3), and it is possible to construct a compiler that emits a single binary that runs on older devices (with no authentication for pointers) and when the very same binary is run on newer devices “adds” the pointer authentication feature.
In this work we will explore this principle of selectively applied instructions, but explicitly during a single program run-time. We want to apply hint/real instructions that controls pointer tagging in a selective way, where we can turn the functionality on/off e.g. based on system registers. This project will contain two independent tasks – to construct hardware emulation for this feature (using FPGA and/or hardware emulation software like GEM5 or Olympia) and to construct compiler support in e.g. LLVM. The tasks can both be done by the intern – but more likely the internship will concentrate on one or the other, and lab experts (or potentially another intern) could handle the left-over engineering task.
If selected, the intern will be working with experienced security experts in the Helsinki System Security Laboratory, and plan, design and implement the work under their guidance. The outcome of the work can be a M.Sc thesis, but also may include technical reports, research publications and system implementation. If this is a M.Sc work, we will conduct the project under open IP so that the thesis result can be published in its entirety.
We are looking for:
- A student who has completed most of their M.Sc. courses, in the field of CS/E.Eng
- System / embedded coding experience in C
- An understanding of low-level (system / OS) architecture
- Prior engagement with compiler modification or compiler theory considered a plus.
- Sufficient skills to work and interact in English
- Good team-working skills
- Interest to do research and explore new challenges.
- Background (courses) in platform security, cryptography or equivalent
- An interest to do research and explore new challenges.
The Helsinki Systems Security Laboratory in Huawei Finland (HSSL) drives renewal and mastery in the field of platform / device related security technologies for the mobile device. Our topical expertise lies in hardware-assisted isolation and system protection (hypervisor, TEE, kernel hardening) as well as functions like device key management, attestation and integrity.
Key Skills
Ranked by relevanceReady to apply?
Join Huawei and take your career to the next level!
Application takes less than 5 minutes

