Derivasi Kunci Integritas NNE Database Oracle Lemah

  • Whatsapp
Derivasi Kunci Integritas NNE Database Oracle Lemah
Derivasi Kunci Integritas NNE Database Oracle Lemah

News.nextcloud.asia

ID Penasehat: SYSS-2021-062
Produk: Basis Data
Pabrikan: Oracle
Versi yang Terpengaruh: 12.1.0.2, 12.2.0.1, 19c
Versi yang Diuji: 18c
Jenis Kerentanan: Kekuatan Enkripsi Tidak Memadai (CWE-326)
Tingkat Risiko: Sedang
Status Solusi: Tetap
Pemberitahuan Pabrikan: 2021-03-17
Tanggal Solusi: 2021-08-07
Keterbukaan Informasi Publik: 2021-12-10
Referensi CVE: CVE-2021-2351
Penulis Penasehat: Moritz Bechler, SySS GmbH

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

Ringkasan:

Oracle Database adalah tujuan umum manajemen database relasional
sistem (RDMBS).

Pabrikan menjelaskan produk sebagai berikut (lihat [1]):

“Produk database Oracle menawarkan pelanggan dengan biaya yang dioptimalkan dan kinerja tinggi
versi Oracle Database, multi-model konvergensi terkemuka di dunia
sistem manajemen database, serta database dalam memori, NoSQL dan MySQL.
Oracle Autonomous Database, tersedia di tempat melalui Oracle [email protected]
atau di Oracle Cloud Infrastructure, memungkinkan pelanggan untuk menyederhanakan relasional
lingkungan database dan mengurangi beban kerja manajemen.”

Untuk melindungi komunikasi klien/server, protokol keamanan berpemilik
“Enkripsi Jaringan Asli” (NNE) digunakan.
Alternatif berbasis TLS dapat dikonfigurasi secara opsional.

Mekanisme perlindungan integritas NNE dengan sengaja melemahkan kunci yang digunakan
untuk menghitung kode otentikasi pesan per-paket (MAC).

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

Detail Kerentanan:

Saat menganalisis detail protokol, SySS menemukan bahwa tergantung pada
algoritma hash yang dipilih, salah satu dari dua skema pembangkitan kunci digunakan.
Keduanya diunggulkan dengan materi dari kunci sesi yang ditetapkan.
Namun, bahkan untuk generator kunci berbasis AES, yang digunakan saat modern
primitif kriptografi dipilih, kunci sesi dipotong menjadi
40 bit.

Untuk detail lebih lanjut tentang protokol dan perhitungan MAC, lihat
kertas [4].

Retak paksa kunci itu, misalnya jika hanya integritas tetapi tidak ada
enkripsi diaktifkan, kemungkinan mungkin dan memungkinkan berbahaya
manipulasi perintah atau data database yang ditransmisikan.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

Bukti Konsep (PoC):

Inisialisasi generator kunci, seperti yang diimplementasikan pada awalnya, dapat
dijelaskan dengan kode Python berikut, di mana SK adalah yang didirikan
kunci sesi, dan vektor inisialisasi (IV) dipertukarkan dalam
teks yang jelas selama negosiasi NNE.

mk = SK[0:5] + b’xFF’ + b’x00′ * 10
self.m = AES.new(mk, AES.MODE_CBC, iv=IV[0:16])
self.ms = b’x00’*32
self.ms = s = self.m.encrypt(self.ms)
self.m = AES.new(s[0:16], AES.MODE_CBC, iv=s[16:32])

k1 = s[0:5] + b’xB4′ + s[6:16]
self.s2c = AES.new(k1, AES.MODE_CBC, iv=s[16:32])
self.s2cs = b’x00′ * 32

k2 = s[0:5] + b’x5A’ + s[6:16]
self.c2s = AES.new(k2, AES.MODE_CBC, iv=s[16:32])
self.c2ss = b’x00′ * 32

Kunci per-paket “k” kemudian dibuat seperti

self.c2ss = k = self.c2s.encrypt(self.c2ss)

dan ditambahkan ke data paket serta hash menggunakan algoritma hash yang dipilih.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

Larutan:

Perbarui server dan klien Oracle Database ke versi yang ditambal.
Terapkan penggunaan versi protokol aman dengan menyetel opsi berikut:

SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS=FALSE (sisi server)
SQLNET.ALLOW_WEAK_CRYPTO=FALSE (sisi klien)

Atau gunakan keamanan transportasi berbasis TLS alih-alih Enkripsi Jaringan Asli.

Informasi lebih lanjut:
https://www.Oracle.com/security-alerts/cpujul2021.html
https://support.Oracle.com/rs?type=doc&id=2791571.1 (diperlukan akun pelanggan)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

Garis Waktu Pengungkapan:

2013-03-02: Kerentanan ditemukan
2021-03-17: Kerentanan dilaporkan ke pabrikan
2021-07-20: Rilis patch awal oleh pabrikan,
2021-08-07: Patch terakhir dirilis oleh pabrikan
2021-12-10: Pengungkapan kerentanan kepada publik

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

Referensi:

[1] Situs web produk untuk Oracle Database
https://www.Oracle.com/database/
[2] Penasihat Keamanan SySS SYSS-2021-062
https://www.syss.de/fileadmin/dokumente/Publicationen/Advisories/SYSS-2021-062.txt
[3] Kebijakan Pengungkapan Bertanggung Jawab SySS
https://www.syss.de/en/responsible-disclosure-policy
[4] Makalah “Enkripsi Jaringan Asli Oracle”
https://www.syss.de/fileadmin/dokumente/Publicationen/2021/2021_Oracle_NNE.pdf

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

Kredit:

Kerentanan keamanan ini ditemukan oleh Moritz Bechler dari SySS GmbH.

Surel: [email protected]
Kunci Publik: https://www.syss.de/fileadmin/dokumente/PGPKeys/Moritz_Bechler.asc
ID Kunci: 0x768EFE2BB3E53DDA
Sidik Jari Kunci: 2C8F F101 9D77 BDE6 465E CCC2 768E FE2B B3E5 3DDA

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

Penafian:

Informasi yang diberikan dalam nasihat keamanan ini diberikan “sebagaimana adanya”
dan tanpa jaminan apapun. Detail dari penasihat keamanan ini mungkin
diperbarui untuk memberikan informasi seakurat mungkin. Itu
versi terbaru dari penasihat keamanan ini tersedia di situs web SySS.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

Hak cipta:

Creative Commons – Atribusi (oleh) – Versi 3.0
URL: http://creativecommons.org/licenses/by/3.0/deed.en

Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *