Pelaksanaan DDIO dalam cip Intel membolehkan serangan rangkaian untuk mengesan ketukan kekunci dalam sesi SSH

Sekumpulan penyelidik dari Vrije Universiteit Amsterdam dan ETH Zurich telah membangunkan teknik serangan rangkaian NetCAT (Network Cache ATtack), yang membolehkan, menggunakan kaedah analisis data melalui saluran pihak ketiga, untuk menentukan dari jauh kekunci yang ditekan oleh pengguna semasa bekerja dalam sesi SSH. Masalahnya hanya muncul pada pelayan yang menggunakan teknologi RDMA (Akses memori terus jauh) dan DDIO (Data-Terus I/O).

Intel berfikir, bahawa serangan itu sukar untuk dilaksanakan dalam amalan, kerana ia memerlukan akses penyerang ke rangkaian tempatan, keadaan steril dan organisasi komunikasi hos menggunakan teknologi RDMA dan DDIO, yang biasanya digunakan dalam rangkaian terpencil, contohnya, di mana pengkomputeran kluster beroperasi. Isu ini dinilai Kecil (CVSS 2.6, CVE-2019 11184-) dan cadangan diberikan untuk tidak mendayakan DDIO dan RDMA dalam rangkaian tempatan di mana perimeter keselamatan tidak disediakan dan sambungan pelanggan yang tidak boleh dipercayai dibenarkan. DDIO telah digunakan dalam pemproses pelayan Intel sejak 2012 (Intel Xeon E5, E7 dan SP). Sistem berdasarkan pemproses daripada AMD dan pengeluar lain tidak terjejas oleh masalah itu, kerana mereka tidak menyokong penyimpanan data yang dipindahkan melalui rangkaian dalam cache CPU.

Kaedah yang digunakan untuk serangan itu menyerupai kelemahan "Throwammerβ€œ, yang membolehkan anda menukar kandungan bit individu dalam RAM melalui manipulasi paket rangkaian dalam sistem dengan RDMA. Masalah baru adalah akibat kerja untuk meminimumkan kelewatan apabila menggunakan mekanisme DDIO, yang memastikan interaksi langsung kad rangkaian dan peranti persisian lain dengan cache pemproses (dalam proses memproses paket kad rangkaian, data disimpan dalam cache dan diambil daripada cache, tanpa mengakses memori).

Terima kasih kepada DDIO, cache pemproses juga termasuk data yang dijana semasa aktiviti rangkaian berniat jahat. Serangan NetCAT adalah berdasarkan fakta bahawa kad rangkaian secara aktif cache data, dan kelajuan pemprosesan paket dalam rangkaian tempatan moden adalah mencukupi untuk mempengaruhi pengisian cache dan menentukan kehadiran atau ketiadaan data dalam cache dengan menganalisis kelewatan semasa data pemindahan.

Apabila menggunakan sesi interaktif, seperti melalui SSH, paket rangkaian dihantar serta-merta selepas kekunci ditekan, i.e. kelewatan antara paket berkorelasi dengan kelewatan antara ketukan kekunci. Menggunakan kaedah analisis statistik dan mengambil kira bahawa kelewatan antara ketukan kekunci biasanya bergantung pada kedudukan kekunci pada papan kekunci, adalah mungkin untuk mencipta semula maklumat yang dimasukkan dengan kebarangkalian tertentu. Sebagai contoh, kebanyakan orang cenderung untuk menaip "s" selepas "a" lebih cepat daripada "g" selepas "s".

Maklumat yang disimpan dalam cache pemproses juga membolehkan seseorang menilai masa tepat paket yang dihantar oleh kad rangkaian semasa memproses sambungan seperti SSH. Dengan menjana aliran trafik tertentu, penyerang boleh menentukan masa apabila data baharu muncul dalam cache yang dikaitkan dengan aktiviti tertentu dalam sistem. Untuk menganalisis kandungan cache, kaedah digunakan Prime+Probe, yang melibatkan mengisi cache dengan set rujukan nilai dan mengukur masa akses kepada mereka apabila diisi semula untuk menentukan perubahan.

Pelaksanaan DDIO dalam cip Intel membolehkan serangan rangkaian untuk mengesan ketukan kekunci dalam sesi SSH

Ada kemungkinan teknik yang dicadangkan boleh digunakan untuk menentukan bukan sahaja ketukan kekunci, tetapi juga jenis data sulit lain yang disimpan dalam cache CPU. Serangan itu berpotensi dilakukan walaupun RDMA dilumpuhkan, tetapi tanpa RDMA keberkesanannya berkurangan dan pelaksanaan menjadi lebih sukar. Anda juga boleh menggunakan DDIO untuk mengatur saluran komunikasi rahsia yang digunakan untuk memindahkan data selepas pelayan telah dikompromi, memintas sistem keselamatan.

Sumber: opennet.ru

Tambah komen