Dalam bidang keselamatan siber, terutamanya berkenaan keselamatan storan pada pelayan storan yang tidak dipercayai, penyelenggaraan log operasi yang konsisten dan boleh disahkan adalah yang terpenting. Keperluan ini berpunca daripada keperluan untuk memastikan integriti data, ketersediaan dan kerahsiaan dalam persekitaran di mana infrastruktur storan tidak boleh dipercayai sepenuhnya. Pelayan storan yang tidak dipercayai menimbulkan risiko yang besar, termasuk pengubahsuaian data yang tidak dibenarkan, pemadaman dan akses yang tidak dibenarkan. Oleh itu, log operasi yang konsisten dan boleh disahkan memainkan peranan penting dalam mengurangkan risiko ini.
Log operasi yang konsisten merujuk kepada rekod berurutan dan kronologi semua tindakan yang dilakukan pada data yang disimpan pada pelayan. Log ini hendaklah tidak boleh diubah dan jelas diusik, memastikan bahawa sebarang perubahan yang tidak dibenarkan dapat dikesan. Kepentingan log sedemikian terletak pada keupayaannya untuk menyediakan sejarah yang tepat dan boleh dipercayai bagi semua interaksi dengan data, yang penting untuk pengauditan, analisis forensik dan pematuhan kepada keperluan kawal selia.
Untuk mencapai log operasi yang konsisten dan boleh disahkan, beberapa teknik dan teknologi boleh digunakan. Ini termasuk kaedah kriptografi, mekanisme pengelogan selamat dan protokol konsensus. Di bawah, kami mempertimbangkan kaedah ini secara terperinci:
Kaedah Kriptografi
1. Rantaian Hash: Rantaian cincang ialah jujukan nilai cincang di mana setiap nilai cincang bergantung pada yang sebelumnya. Ini mewujudkan pautan antara setiap entri log, memastikan bahawa sebarang pengubahsuaian pada entri akan memutuskan rantaian. Sebagai contoh, jika entri log diwakili oleh , rantaian cincang boleh dibina seperti berikut:
di mana menandakan fungsi cincang kriptografi, dan
mewakili penggabungan. Struktur ini memastikan bahawa sebarang gangguan dengan kemasukan log
akan mengakibatkan ketidakpadanan dalam nilai cincang seterusnya, sekali gus mendedahkan gangguan tersebut.
2. Tandatangan Digital: Setiap entri log boleh ditandatangani secara digital oleh pihak yang dipercayai menggunakan kriptografi asimetri. Tandatangan digital memberikan ketulenan dan integriti, kerana ia boleh disahkan menggunakan kunci awam penandatangan. Sebagai contoh, jika entri log ditandatangani dengan kunci peribadi
, tandatangan
boleh disahkan oleh sesiapa sahaja yang mempunyai akses kepada kunci awam yang sepadan
. Kaedah ini memastikan bahawa sebarang perubahan kepada
akan membatalkan tandatangan.
3. Pokok Merkle: Pokok Merkle ialah pokok binari di mana setiap nod daun mewakili cincang entri log, dan setiap nod dalaman mewakili cincang nod anaknya. Akar pokok Merkle, yang dikenali sebagai akar Merkle, menyediakan nilai cincang tunggal yang mewakili keseluruhan set entri log. Struktur pokok Merkle membolehkan bukti kemasukan yang cekap dan boleh disahkan, bermakna seseorang boleh membuktikan sama ada kemasukan log tertentu adalah sebahagian daripada log tanpa mendedahkan keseluruhan log. Ini amat berguna untuk mengekalkan privasi sambil memastikan integriti.
Mekanisme Pembalakan Selamat
1. Tambah-Sahaja Log: Log tambahan sahaja ialah struktur log di mana entri hanya boleh ditambah dan tidak diubah suai atau dipadamkan. Ketidakbolehubahan ini memastikan bahawa sebaik sahaja entri direkodkan, ia kekal dalam log secara kekal. Melaksanakan log tambahan sahaja biasanya melibatkan penggunaan media storan tulis-sekali-baca-banyak (WORM) atau menggunakan mekanisme berasaskan perisian yang menghalang pengubahsuaian pada entri log sedia ada.
2. Teknologi Blockchain: Blockchain ialah teknologi lejar terpencar dan diedarkan yang sememangnya menyediakan log operasi yang konsisten dan boleh disahkan. Setiap blok dalam blockchain mengandungi senarai transaksi (entri log), cap masa dan cincang kriptografi blok sebelumnya. Rangkaian blok ini memastikan bahawa sebarang gangguan pada blok akan membatalkan blok berikutnya. Teknologi Blockchain juga menggunakan protokol konsensus untuk mencapai persetujuan antara nod yang diedarkan, seterusnya meningkatkan keselamatan dan kebolehpercayaan log.
3. Persekitaran Pelaksanaan yang Dipercayai (TEE): TEE, seperti Intel SGX atau ARM TrustZone, menyediakan enklaf selamat dalam pemproses di mana kod dan data boleh dilaksanakan dan disimpan dengan selamat. Dengan memanfaatkan TEE, seseorang boleh memastikan bahawa entri log direkodkan dan diselenggara dalam persekitaran yang selamat dan terpencil, dilindungi daripada gangguan oleh pelayan storan yang tidak dipercayai. TEE juga boleh digunakan untuk menjana dan menyimpan kunci kriptografi dengan selamat yang digunakan untuk menandatangani entri log.
Protokol Konsensus
Dalam sistem yang diedarkan, mencapai ketekalan dan pengesahan log selalunya memerlukan protokol konsensus untuk memastikan semua nod dalam sistem bersetuju dengan susunan dan kandungan entri log. Beberapa protokol konsensus yang biasa digunakan termasuk:
1. Paxos: Paxos ialah keluarga protokol konsensus yang direka untuk mencapai persetujuan antara nod yang diedarkan sekiranya berlaku kegagalan. Paxos memastikan bahawa semua nod yang tidak rosak bersetuju dengan urutan entri log yang sama, memberikan konsistensi dan toleransi kesalahan.
2. Rakit: Raft ialah satu lagi algoritma konsensus yang direka bentuk agar lebih mudah difahami dan lebih mudah untuk dilaksanakan daripada Paxos. Raft membahagikan proses konsensus kepada pemilihan pemimpin, replikasi log dan keselamatan, memastikan log yang diedarkan kekal konsisten dan boleh disahkan.
3. Toleransi Kesalahan Byzantine (BFT): Protokol BFT, seperti Toleransi Kesalahan Byzantine Praktikal (PBFT), direka bentuk untuk mencapai konsensus dalam sistem di mana nod mungkin menunjukkan kesalahan (Byzantine) sewenang-wenangnya, termasuk tingkah laku berniat jahat. Protokol BFT memastikan bahawa log kekal konsisten dan boleh disahkan walaupun dengan kehadiran nod berniat jahat.
Contoh Praktikal
Pertimbangkan senario di mana institusi kewangan menggunakan perkhidmatan storan awan yang tidak dipercayai untuk menyimpan log transaksi. Untuk memastikan integriti dan pengesahan log ini, institusi boleh melaksanakan langkah-langkah berikut:
1. Rantaian Hash: Setiap entri log transaksi dicincang dan dipautkan ke entri sebelumnya menggunakan rantaian cincang. Ini memastikan bahawa sebarang gangguan dengan entri log akan dapat dikesan.
2. Tandatangan Digital: Setiap entri log ditandatangani secara digital oleh kunci peribadi institusi. Ini memberikan ketulenan dan bukan penolakan, kerana tandatangan boleh disahkan menggunakan kunci awam institusi.
3. Pokok Merkle: Institusi secara berkala membina pokok Merkle bagi entri log dan menerbitkan akar Merkle pada papan buletin awam atau rantaian blok. Ini membenarkan sesiapa sahaja untuk mengesahkan integriti entri log tanpa mengakses keseluruhan log.
4. Blockchain: Institusi juga boleh merekodkan log urus niaga pada blockchain peribadi. Sifat terdesentralisasi blockchain memastikan log kekal konsisten dan boleh disahkan, walaupun dengan kehadiran pelayan storan yang tidak dipercayai.
5. TEE: Institusi boleh memanfaatkan TEE untuk merekod dan menyimpan entri log dengan selamat dalam enklaf yang selamat, melindungi mereka daripada diganggu oleh pelayan storan yang tidak dipercayai.
6. Protokol Konsensus: Jika institusi menggunakan sistem storan teragih, ia boleh menggunakan protokol konsensus seperti Raft atau PBFT untuk memastikan semua nod bersetuju dengan susunan dan kandungan log transaksi.
Dengan melaksanakan langkah-langkah ini, institusi kewangan boleh mengekalkan log operasi yang konsisten dan boleh disahkan, memastikan integriti, ketersediaan dan kerahsiaan log transaksinya, walaupun menggunakan pelayan storan yang tidak dipercayai.
Soalan dan jawapan terbaru lain mengenai Keselamatan Sistem Komputer Lanjutan EITC/IS/ACSS:
- Apakah beberapa cabaran dan pertukaran yang terlibat dalam melaksanakan mitigasi perkakasan dan perisian terhadap serangan pemasaan sambil mengekalkan prestasi sistem?
- Apakah peranan yang dimainkan oleh peramal cawangan dalam serangan pemasaan CPU, dan bagaimana penyerang boleh memanipulasinya untuk membocorkan maklumat sensitif?
- Bagaimanakah pengaturcaraan masa tetap boleh membantu mengurangkan risiko serangan masa dalam algoritma kriptografi?
- Apakah itu pelaksanaan spekulatif, dan bagaimanakah ia menyumbang kepada kelemahan pemproses moden terhadap serangan masa seperti Spectre?
- Bagaimanakah serangan pemasaan mengeksploitasi variasi dalam masa pelaksanaan untuk membuat kesimpulan maklumat sensitif daripada sistem?
- Bagaimanakah konsep ketekalan garpu berbeza daripada ketekalan pengubahsuaian ambil, dan mengapakah ketekalan garpu dianggap sebagai ketekalan terkuat yang boleh dicapai dalam sistem dengan pelayan storan yang tidak dipercayai?
- Apakah cabaran dan penyelesaian yang berpotensi untuk melaksanakan mekanisme kawalan capaian yang teguh untuk menghalang pengubahsuaian yang tidak dibenarkan dalam sistem fail kongsi pada pelayan yang tidak dipercayai?
- Bagaimanakah teknik kriptografi seperti tandatangan digital dan penyulitan boleh membantu memastikan integriti dan kerahsiaan data yang disimpan pada pelayan yang tidak dipercayai?
- Apakah pelayan Byzantine, dan bagaimana ia menimbulkan ancaman kepada keselamatan sistem storan?
- Bagaimanakah protokol seperti STARTTLS, DKIM dan DMARC menyumbang kepada keselamatan e-mel, dan apakah peranan masing-masing dalam melindungi komunikasi e-mel?
Lihat lebih banyak soalan dan jawapan dalam Keselamatan Sistem Komputer Lanjutan EITC/IS/ACSS