Students with excellent academic results have the opportunity to take part in a paid summer internship in the Maryland Cybersecurity Center (MC2), to conduct cutting-edge research in computer security.
If you are passionate about Computer Science, a research internship can be an amazing experience that will give you a deep knowledge of security and will prepare you for a global career. Nicknamed Summer@MC2, our internship program attracts some of the best undergraduate students from around the world.
MC2 is part of the University of Maryland, College Park. The center and the university are located in the metropolitan area of Washington, DC, a city with a vibrant social and cultural life. MC2 is one of the world's top 10 research centers in computer security, a group that accounts for more than 80% of the research that appears in our field's most prestigious publication venues. Results from Summer@MC2 projects are often published in these venues.
Participating students work closely with MC2 researchers, typically to solve problems that are part of larger research projects. Our group works on a range of topics, including measurement studies (e.g. malware behavior, the code-signing PKI, online black markets), applications of data science (e.g. machine learning, natural language processing, graph mining) in security, systems security (e.g. Rowhammer attacks) and adversarial machine learnig (e.g. poisoning attacks, adversarial examples). For example, here is a selection of our recent papers: [USENIX Security’19] [ICML’19] [NeurIPS’18] [CCS’18] [USENIX Security’18(a)] [USENIX Security’18(b)] [USENIX Security’18(c)] [CACM’18] [CCS’17] [NDSS’17] [CCS’16] [CCS’15] [USENIX Security’15] [OAKLAND’15].
Several former interns are now pursuing Ph.D. degrees in MC2.
In our paper 'When Does Machine Learning FAIL? Generalized Transferability for Evasion and Poisoning Attacks' we proposed realistic adversary models for attacks on machine learning. The paper was published at USENIX Security 2018 (a top-tier security conference).
The paper was written by three former interns: Octavian Suciu (2014-2015), Yiğitcan Kaya (2016) and Radu Mărginean (2017). Major parts of the paper were actually developed as internship projects.
The photo shows Radu reviewing the state-of-the-art in adversarial machine learning, during his internship.
Who should apply
Research internships are unlike other Computer Science internships, where you are given a well defined task and where you are expected to apply textbook solutions. Researchers work on open ended problems and use their knowledge and creativity to imagine new approaches that have not been tried before. Some students find this intimidating; research internships are the best fit for students driven by curiosity and by a desire to work at the cutting edge of knowledge. You must be self-motivated and willing to learn new things, and you must experiment with new ideas on your own, without being afraid of failures.
The typical applicants are undergraduate students in Computer Science or a closely related field, who are close to graduation or have recently graduated and who wish to complement their academic education with hands-on experience in computer security. For these students, working in a research lab is a great opportunity to acquire new skills and to interact with people who share their passion; prior research experience is also an important factor for admission in a top M.S. or Ph.D. program. Nevertheless, we will carefully consider all internship applications.
The main prerequisites for a research internship in MC2 are strong academic results and an interest in the research experience. We expect interns to have mathematical maturity and strong programming skills. Preferential consideration will be given to applicants with implementation experience in security, cryptography, operating systems, databases, distributed systems, data mining or machine learning.
Interns will be paid a salary, commensurate with skills and experience, and the cost of travel expenses.
Internships are assigned competitively to the top applicants.
The application process has two steps. In the first step, fill the application form linked below. The following information is required:
- Your CV
- Your unofficial transcript
- Make sure your CV includes evidence of past research experience (e.g. papers published), systems programming experience (e.g., Github account info), interesting projects you worked on, etc.
- Contact information for one person who can serve as a reference.
If you are selected to advance to the second step, you will be given a take-home test, which will include reading assignments and open-ended questions, and you will have two weeks to solve it. You may choose the date when you will receive the test, so select two weeks when you have enough time to work on the test.
- Application (step 1) deadline: February 1st
- Acceptance notification: March
- Internship duration: At least 12 weeks, usually June to September but flexible.
If you have any questions about the application process, email us at email@example.com.