Amit Klein

Associate Professor of Computer Science,
The Hebrew University of Jerusalem, Israel.

This is my academic website. For my non-academic website, click here.

Amit Klein

I research the security of network protocols and their implementations, web/application security and system security.

Email: aksecurity@gmail.com
(also: amitk@cs.huji.ac.il / amit.klein@mail.huji.ac.il)

Office: Rothberg C-502
(School of Computer Science and Engineering building)

ORCID ID: 0000-0002-8024-8756



I am an Associate Professor of Computer Science in the Hebrew University of Jerusalem, Israel (HUJI).

Research Interests

  • Security of network protocols (specifically layers 3-4 and auxiliary protocols) and their implementations.
  • Web/application security.
  • System security.
  • The security impact of unsafe (concurrency-wise) implementations of PRNG algorithms.


Short bio
Prior to the faculty position in HUJI, I was a post-doctoral researcher at HUJI's School of Computer Science and Engineering, where I was fortunate to be hosted by Prof. Michael Schapira. Prior to that, I completed a Ph.D. in Computer Science in Bar Ilan University. I had the honor and pleasure of having Prof. Benny Pinkas as my Ph.D. advisor. Prior to that, I spent more than 20 years in four cyber security startups, mostly in executive positions (VP Security Research for Safebreach, CTO of Trusteer, Chief Scientist for Cyota, Director of Security for Sanctum). I am a graduate of the IDF Talpiot Programme, with B.Sc. in Mathematics and Physics (double major), magna cum laude, from the Hebrew University.


Grants, Awards and Honors

  • Strage-BGU Award for Excellence in Cyber Security Research, 2023. The award is granted to an Israeli scientist for outstanding and potentially influential scientific achievements in cyber security research during the years 2018-2023.
  • ISF Personal Research Grant 2023-2027.
  • 1st Place, Cyber Security Awareness Week (CSAW) 2020 Applied Research Regional Competition for the paper “Flaw Label: Exploiting IPv6 Flow Label”, J. Berger, A. Klein, B. Pinkas.
  • 1st Place, Cyber Security Awareness Week (CSAW) 2019 Applied Research Regional Competition for the paper “From IP ID to Device ID and KASLR Bypass”, A. Klein, B. Pinkas.
  • INFOCOM 2017 “Best in Session” Award for the paper “Internet-wide study of DNS cache injections”, A. Klein, H. Shulman, M. Waidner.
  • Hebrew University Rector Prize, 1990.
  • Hebrew University Math and Sciences Dean Prize, 1989.


Academic Service

  • Program committee member, SYSTOR 2023.
  • Co-chair, Israeli Networking Day 2022.
  • Referee, Cyber Security Awareness Week (CSAW) 2018 Applied Research Regional Competition, 2018.
  • Program committee member, “Security, Privacy, Trust and Abuse” track, WWW2012, 2012.
  • Program committee member, WOOT’11 (5th USENIX Workshop on Offensive Technologies), 2011.


(see also in Google Scholar and DBLP)

Academic publications:


  • Moshe Kol, Amit Klein and Yossi Gilad. “Device Tracking via Linux's New TCP Source Port Selection Algorithm”. In 32nd USENIX Security Symposium (USENIX Security 2023). Extended version is available here.
  • Amit Klein. “Subverting Stateful Firewalls with Protocol States”. 29th Annual Network and Distributed System Security Symposium (NDSS 2022). Extended version is available here
  • Amit Klein. “Cross Layer Attacks and How to Use Them (for DNS Cache Poisoning, Device Tracking and More)”. 2021 IEEE Symposium on Security and Privacy (SP).
  • Amit Klein, Elias Heftrig, Haya Shulman, and Michael Waidner. “POSTER: Blackbox caches fingerprinting”. CoNEXT ’20: The 16th International Conference on emerging Networking EXperiments and Technologies.
  • Jonathan Berger, Amit Klein, and Benny Pinkas. “Flaw Label: Exploiting IPv6 Flow Label”. 2020 IEEE Symposium on Security and Privacy (SP).
  • Amit Klein and Benny Pinkas. “From IP ID to Device ID and KASLR Bypass”. 28th USENIX Security Symposium (USENIX Security 19). Extended version is available here.
  • Amit Klein and Benny Pinkas. “DNS Cache-Based User Tracking”. 26th Annual Network and Distributed System Security Symposium, NDSS 2019.
  • Markus Brandt, Tianxiang Dai, Amit Klein, Haya Shulman, and Michael Waidner. “Domain Validation++ For MitM-Resilient PKI”. 2018 ACM SIGSAC Conference on Computer and Communications Security. CCS ’18.
  • Amit Klein, Vladimir Kravtsov, Alon Perlmuter, Haya Shulman, and Michael Waidner. “POSTER: X-Ray Your DNS”. 2017 ACM SIGSAC Conference on Computer and Communications Security, CCS 2017.
  • Amit Klein, Haya Shulman, and Michael Waidner. “Counting in the Dark: Caches Discovery and Enumeration in the Internet”. IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).
  • Amit Klein, Haya Shulman, and Michael Waidner. “Internet-wide study of DNS cache injections”. 2017 IEEE Conference on Computer Communications, INFOCOM 2017.
  • Yonit Kesten, Amit Klein, Amir Pnueli, and Gil Raanan. “A Perfecto Verification: Combining Model Checking with Deductive Analysis to Verify Real-Life Software”. FM’99 - Formal Methods, World Congress on Formal Methods in the Development of Computing Systems.
  • Amit Klein. “Web Cache Poisoning Attacks”. Encyclopedia of Cryptography and Security.

Non-academic publications:




2022 – The Hebrew University of Jerusalem, Israel (HUJI)
Associate Professor of Computer Science.
Faculty position (tenure track).
2015 – 2022 Safebreach (enterprise security software).
Vice President, Security Research (part time).
Thought-leadership security research.
2013 – 2015 IBM Trusteer (acquired company).
Chief Technology Officer.
Product content expertise and innovation leadership.
2006 – 2013 Trusteer (financial malware fraud detection and prevention for banks, acquired by IBM for $650,000,000).
Chief Technology Officer.
Management of the security research group. Grew the research group from 0 to 20 researchers.
2005 – 2006 RSA Security, Cyota Division (acquired company).
Chief Scientist.
Innovation, patents and new technology.
2004 – 2005 Cyota (anti online-banking fraud SaaS startup, acquired by RSA for $145,000,000).
Chief Scientist.
Innovation, patents and new technology.
1997 – 2004 Sanctum (web application security startup, acquired by Watchfire which was in turn acquired by IBM).
Director of Security Research.
Management of the product security content team.
1995 – 1997 Israeli Ministry of Defense.
Software Project Manager.
Management of software and network security projects.
1991 – 1994 Israel Defense Forces.
Research officer (Captain) in the Signal Corps.
Research in applied computer science and mathematics.


  • Spring 2024: Lecturer (with Prof. Guy Katz), "Operating Systems" (67808), The Hebrew University.
  • Fall 2023: Lecturer, "Advanced topics in cyber security" (67607), The Hebrew University.
  • Fall 2023: Lecturer, "Distributed Algorithms, Networking and Secure Systems Seminar (DANSS)" (67861), The Hebrew University.
  • Spring 2023: Lecturer, “Seminar and Mini-Project in Cyber Security” (67855), The Hebrew University.
  • Fall 2021: Lecturer, “Securing Information Systems” (3004), Reichmann University (IDC).
  • Fall 2020: Teaching Assistant, “Cryptography Workshop” (89695), Bar Ilan University.

So you want to join my research team

Glad to hear that!
The information below is intended for MSc and PhD students of computer science/engineering in the Hebrew University (or to people about to enroll into one of these programs), pursuing a thesis under my supervision. In the following paragraphs, I will walk you through the prerequisites, my expectations from you, what you can expect from me, and how to proceed. Please read the entire text carefully and carry out the instructions at the bottom.
At this point, if you haven't already, I highly recommend that you watch Prof. Guy Katz's excellent video tutorial on finding an MSc thesis advisor (in the MSc program Moodle site). Go on, do that. I'll wait right here.

Prerequisites:

  • Near full-time commitment to research
  • Relevant hands-on experience (e.g. past militray service in relevant units, past employment in cyber-security companies, past research in systems/networks, etc.), OR: a lab under my supervision, in which you will gain some hands-on experience.

On relevant hands-on experience

The research projects I engage in require some hands-on work with systems and networks. Here are some recent examples of tasks my students had to carry out during their research:
  • Compile a modified kernel of a half-baked (pre-beta) version of an operating system kernel
  • Capture and generate network packets (TCP/UDP, IPv4/IPv6) in real-time (C/C++ code)
  • Add logs/measurements to a kernel to study its behavior
  • Build a small proof of concept website that uses some HTML5 APIs, and combine it with packet capturing
  • General Linux system programming (and also Windows and other operating systems) and operation, including in cloud VMs
  • Studying browser, OS kernel and OS utilities source code to understand how they work
  • Reverse engineering of small pieces of kernel code, in x64 and ARMv8 architectures
  • Measuring Internet behavior (noise, packet drops, filtering) from various locations
  • Preparing a security patch for the Linux kernel
Of course, no research project requires all these tasks, and of course, each research project may have its own set of interesting hands-on requirements, but if you (the prospective student) don't have any experience with at least a few such tasks (or similar ones), then you're probably not ready for the kind of research I conduct. But despair not. I designed a lab course in which you can gain a lot of relevant hands-on experience. Please consult me if you're interested!.

My expectations from you

In general, I expect the student to be committed to the research project. This is difficult to achieve if the student is also employed in a non-negligible capacity, and more so if the student also has to take courses in parallel (on top of the employment). I expect the student to be a self learner and to fulfill tasks (that we agree upon) quite independently. I expect the student to manage his/her own time. I expect the student to ask questions when he/she gets stuck (but only after he/she made a reasonable effort to solve the problem independently). I expect the student to exhibit perseverance -- in our research we sometimes face annoying/difficult obstacles (kernels don't compile out of the box, networks interfere with our measurements, etc.), but we do not give up. I expect students to communicate with me on a regular basis. I expect students to be responsive (i.e. respond to emails in a timely fashion).
My students are seated in the security research lab room, A316.

In terms of research project deliverables, the way I see it, there are 3 "products" from the research:
  • A thesis
  • A paper, accepted to a (ideally, top-tier) conference
  • A presentation, presented by the student at the above conference
It is important to stress that all three are needed, from my perspective. And while you may consider the thesis as the main product, if you want to pursue an academic career (or for an MSc student -- even a PhD) then an MSc thesis based on a top-tier conference paper is a good start. And presenting your research in a conference is a great way to become known academically and to jump-start your network of academic connections.
To be explicit: I expect the student to write all the above (in English), with my help of course. And delivering all three is mandatory for the completion of the degree. Typically, the thesis is derived from a paper version that got accepted to a conference.

What you can expect from me

I am genrally responsive to emails and other means of communication. You can ask me questions and I will usually relpy kindly and quickly. We work together on research directions (in most cases, I come up with the initial research direction/idea, but it can evolve; and you can always suggest new ideas). if you're stuck, I will do my very best to help. I will guide you in all things academia, and I will help you define and pursue your academic career.

What to do next?

If you read through all the above, and you'd like to proceed, then please send me:
  • CV
  • Academic status (how far are you into your degree, what's still left), employment status (are you employed? where?, in what capacity?)
  • A sample of a scientific (academic) text you wrote (all by yourself) in English. This can be a project or a term paper you submitted, etc.
  • Any additional info that you find relevant
Once you do, I will respond quickly. If I think you are potentially a good fit, I will set up an interview (Zoom or face-to-face), and if this phase is successful, we will probably proceed with a lab. This lets both of us work together and get an idea of whether we do that well. It is also a good opportunity for you to see if the topics I research are of interest to you, and for me to see how well you function as a researcher. At the end of the lab you will submit a lab report and get academic credit points.
If we're both satisfied at the end of the lab, I will register you as my student, and we can continue the research together.

General information

My students are seated in my lab, room A-316. We use my lab account under HUJI CSE's github to host our projects. We use my Overleaf account for papers, theses, etc. Most research projects involve writing low-level C/C++ code, combined with some scripting (typically Python). Most code is developed for Linux (we mostly use Ubuntu). We mostly use Azure for cloud services, though this may change in the future.