文章ini menunjukkan bagaimana gadget pelaksanaan spekulatif TIKTAG boleh membocorkan tag memori ARM MTE, membolehkan serangan rasuah memori praktikal terhadap Chrome dan Linux文章ini menunjukkan bagaimana gadget pelaksanaan spekulatif TIKTAG boleh membocorkan tag memori ARM MTE, membolehkan serangan rasuah memori praktikal terhadap Chrome dan Linux

研究详述可绕过Chrome和Linux中MTE保护的实际攻击

2025/12/24 17:00
阅读时长 13 分钟
如需对本内容提供反馈或相关疑问,请通过邮箱 [email protected] 联系我们。

Abstrak

1. Pengenalan

2. Latar Belakang

  • Sambungan Penandaan Memori
  • Serangan Pelaksanaan Spekulatif

3. Model Ancaman

4. Mencari Gadget Kebocoran Tag

  • Templat Kebocoran Tag
  • Fuzzing Kebocoran Tag

5. Gadget TIKTAG

  • TIKTAG-v1: Mengeksploitasi Pengecutan Spekulasi
  • TIKTAG-v2: Mengeksploitasi Pemajuan Store-ke-Load

6. Serangan Dunia Sebenar

6.1. Menyerang Chrome

7. Penilaian

8. Kerja Berkaitan

9. Kesimpulan Dan Rujukan

\

Serangan Dunia Sebenar

Untuk menunjukkan keboleheksploitasian gadget TIKTAG dalam mitigasi berasaskan MTE, bahagian ini membangunkan dua serangan dunia sebenar terhadap Chrome dan kernel Linux (Rajah 9). Terdapat beberapa cabaran untuk melancarkan serangan dunia sebenar menggunakan gadget TIKTAG. Pertama, gadget TIKTAG harus dilaksanakan dalam ruang alamat sasaran, memerlukan penyerang membina atau mencari gadget dari sistem sasaran. Kedua, penyerang harus mengawal dan memerhatikan keadaan cache untuk membocorkan hasil pemeriksaan tag. Dalam bahagian berikut, kami menunjukkan serangan dunia sebenar menggunakan gadget TIKTAG pada dua sistem dunia sebenar: pelayar Google Chrome (§6.1) dan kernel Linux (§6.2), dan membincangkan strategi mitigasi.

\ 6.1. Menyerang Chrome

Pelayar Web pelayar web adalah permukaan serangan utama untuk serangan berasaskan web kerana ia memproses kandungan web yang tidak dipercayai, seperti JavaScript dan HTML. Kami mula-mula mengulas model ancaman (§6.1.1) dan menyediakan gadget TIKTAG yang dibina dalam enjin JavaScript V8 (§6.1.2). Kemudian, kami menunjukkan keberkesanan gadget TIKTAG dalam mengeksploitasi pelayar (§6.1.3) dan membincangkan strategi mitigasi (§6.1.4).

\ ==6.1.1. Model Ancaman.== Kami mengikuti model ancaman tipikal serangan pelayar Chrome, di mana penyerang bertujuan untuk mengeksploitasi kerentanan rasuah memori dalam proses renderer. Kami menganggap pengguna mangsa melawat laman web yang dikawal penyerang, yang menyajikan halaman web berniat jahat. Halaman web tersebut termasuk HTML dan JavaScript yang direka khas, yang mengeksploitasi kerentanan rasuah memori dalam proses renderer mangsa. Kami menganggap semua teknik mitigasi terkini Chrome telah dilaksanakan, termasuk ASLR [18], CFI [15], pengasingan tapak [53], dan kotak pasir V8 [56]. Selain itu, sebagai pertahanan ortogonal, kami menganggap bahawa proses renderer membolehkan penandaan MTE rawak dalam PartitionAlloc [2].

\ ==6.1.2. Membina Gadget TIKTAG.== Dalam persekitaran JavaScript V8, TIKTAG-v2 berjaya dibina dan membocorkan tag MTE bagi mana-mana alamat memori. Walau bagaimanapun, kami tidak menemui gadget TIKTAG-v1 yang boleh dibina, kerana kekangan masa yang ketat antara BR dan CHECK tidak dapat dilaksanakan dalam teknik pelarian kotak pasir V8 spekulatif kami (§A).

Gadget V8 TikTag-v2. Rajah 8 adalah gadget TIKTAG-v2 yang dibina dalam enjin JavaScript V8 dan kod pseudo-C selepas kompilasi JIT. Dengan gadget ini, penyerang boleh mengetahui sama ada tag yang diteka Tg sepadan dengan tag Tm yang diberikan kepada target_addr. Penyerang menyediakan tiga array, slow, victim, probe, dan nilai idx. slow adalah Unit8Array dengan panjang 64 dan diakses dalam BR untuk mencetuskan salah ramalan cawangan. victim adalah Float64Array dengan panjang 64, yang diakses untuk mencetuskan pemajuan store-ke-load. probe adalah Uint8Array dengan panjang 512, dan diakses dalam

\ TEST untuk membocorkan hasil pemeriksaan tag. Nilai idx jenis Number digunakan dalam akses luar had victim. Nilai idx dipilih supaya victim[idx] menunjuk kepada targetaddr dengan tag yang diteka Tg (iaitu, (Tg«56)|targetaddr). Untuk mengakses target_addr secara spekulatif di luar kotak pasir V8, kami memanfaatkan teknik pelarian kotak pasir V8 spekulatif yang kami temui semasa penyelidikan kami, yang kami perincikan dalam §A. Baris 8 Rajah 8a adalah blok BR gadget TIKTAG-v2, mencetuskan salah ramalan cawangan dengan slow[0].

\ Baris 12-13 adalah blok CHECK, yang melaksanakan pemajuan store-ke-load dengan victim[idx], mengakses target_addr dengan tag yang diteka Tg. Apabila kod ini dikompilasi JIT (Rajah 8b), pemeriksaan had dilakukan, membandingkan idx dengan victim.length. Jika idx adalah indeks luar had, kod mengembalikan undefined, tetapi jika medan victim.length mengambil masa yang lama untuk dimuatkan, CPU secara spekulatif melaksanakan arahan store dan load berikutnya.

\ Selepas itu, baris 17 melaksanakan blok TEST, yang mengakses probe dengan nilai yang dimajukan val sebagai indeks. Sekali lagi, pemeriksaan had pada val terhadap panjang probe didahului, tetapi pemeriksaan ini berjaya kerana PROBEOFFSET lebih kecil daripada panjang array probe. Hasilnya, probe[PROBEOFFSET] di-cache hanya apabila pemajuan store-ke-load berjaya, iaitu apabila Tg sepadan dengan Tm.

\ ==6.1.3. Serangan pintasan MTE Chrome.== Rajah 9a menggambarkan serangan pintasan MTE keseluruhan pada pelayar Chrome dengan primitif kebocoran tag sewenang-wenangnya gadget TIKTAG. Kami menganggap kerentanan limpahan buffer dalam proses renderer, di mana mengeksploitasi kerentanan temporal (cth., use-after-free) sebahagian besarnya sama. Kerentanan tersebut melimpahkan penunjuk (iaitu, vuln_ptr) kepada objek yang terdedah (iaitu, objvuln), merosakkan objek bersebelahan (iaitu, objtarget).

\ Dengan penguatkuasaan MTE PartitionAlloc, dua objek mempunyai tag yang berbeza dengan kebarangkalian 14/15. Untuk mengelakkan pengecualian, penyerang perlu memastikan bahawa tag objvuln dan objtarget adalah sama. TIKTAG-v2 boleh digunakan untuk membocorkan tag objvuln ( 1 ) dan objtarget ( 2 ). Jika kedua-dua tag yang dibocorkan adalah sama, penyerang mengeksploitasi kerentanan, yang tidak akan menimbulkan kesalahan pemeriksaan tag ( 3 ). Jika tidak, penyerang membebaskan dan mengagihkan semula objtarget dan kembali ke langkah pertama sehingga tag sepadan.

\ ==Mencetuskan Saluran Sisi Cache.== Untuk berjaya mengeksploitasi gadget TIKTAG, penyerang perlu memenuhi keperluan berikut:

i) latihan cawangan,

ii) kawalan cache, dan

iii) pengukuran cache. Ketiga-tiga keperluan boleh dipenuhi dalam JavaScript.

Pertama, penyerang boleh melatih peramal cawangan dengan menjalankan gadget dengan slow[0] bukan sifar dan idx dalam had, dan mencetuskan salah ramalan cawangan dalam BR dengan nilai sifar dalam slow[0] dan idx luar had.

Kedua, penyerang boleh mengusir baris cache slow[0], victim.length, dan probe[PROBE_OFFSET] dengan teknik pengusiran cache JavaScript [8, 21, 70].

Ketiga, penyerang boleh mengukur status cache probe[PROBE_OFFSET] dengan pemasa resolusi tinggi berdasarkan SharedArrayBuffer [16, 58].

\ ==Mengeksploitasi Kerentanan Rasuah Memori.== Dengan tag MTE yang dibocorkan, penyerang boleh mengeksploitasi kerentanan rasuah memori spatial dan temporal dalam renderer. Strategi serangan sebahagian besarnya sama dengan serangan rasuah memori tradisional tetapi harus memastikan bahawa kerentanan tidak menimbulkan kesalahan pemeriksaan tag dengan menggunakan tag yang dibocorkan. Kami memperincikan lagi strategi serangan dalam §C.

\ ==6.1.4. Mitigasi.== Untuk mengurangkan serangan pintasan MTE berasaskan gadget TIKTAG dalam proses renderer pelayar, mitigasi berikut boleh digunakan:

i) Kotak pasir sedar pelaksanaan spekulatif: Untuk menghentikan penyerang daripada melancarkan serangan berasaskan TIKTAG dari persekitaran kotak pasir seperti kotak pasir V8, kotak pasir boleh diperkukuhkan dengan menghalang sebarang akses memori spekulatif di luar kawasan memori kotak pasir. Walaupun pelayar web moden menggunakan kotak pasir untuk mengasingkan kandungan web yang tidak dipercayai daripada renderer, mereka sering mengabaikan laluan spekulatif.

\ Sebagai contoh, kotak pasir Chrome V8 [56] dan kotak pasir Safari Webkit [1] tidak menjadi perantara sepenuhnya laluan spekulatif [27]. Berdasarkan teknik mampatan penunjuk semasa [64], laluan spekulatif boleh dihadkan kepada kawasan kotak pasir dengan menutup bit tinggi penunjuk.

\ ii) Penghalang spekulasi: Seperti yang dicadangkan dalam §5, meletakkan penghalang spekulasi selepas BR untuk gadget TIKTAG yang berpotensi boleh menghalang serangan kebocoran tag spekulatif. Walau bagaimanapun, mitigasi ini mungkin tidak boleh digunakan dalam persekitaran pelayar kritikal prestasi, kerana ia mungkin memperkenalkan overhed prestasi yang ketara.

\ iii) Pencegahan pembinaan gadget: Seperti yang dicadangkan dalam §5.2, gadget TIKTAG-v2 boleh dikurangkan dengan menambah arahan antara arahan store dan load. Gadget TIKTAGv1, walaupun kami belum menemui yang boleh dieksploitasi, boleh dikurangkan dengan menambah arahan antara cawangan dan akses memori, seperti yang diterangkan dalam §5.1.

\ 6.2. Menyerang Kernel Linux

Kernel Linux pada ARM digunakan secara meluas untuk peranti mudah alih, pelayan, dan peranti IoT, menjadikannya sasaran serangan yang menarik. Mengeksploitasi kerentanan rasuah memori dalam kernel boleh meningkatkan keistimewaan pengguna, dan oleh itu MTE adalah mekanisme perlindungan yang menjanjikan untuk kernel Linux. Serangan berasaskan TIKTAG terhadap kernel Linux menimbulkan cabaran unik yang berbeza daripada serangan pelayar (§6.1).

\ Ini kerana ruang alamat penyerang diasingkan daripada ruang alamat kernel di mana gadget akan dilaksanakan. Dalam bahagian berikut, kami mula-mula mengulas model ancaman kernel Linux (§6.2.1) dan menyediakan gadget TIKTAG bukti konsep yang kami temui dalam kernel Linux (§6.2.2). Akhir sekali, kami menunjukkan keberkesanan gadget TIKTAG dalam mengeksploitasi kerentanan kernel Linux (§6.2.3).

\ ==6.2.1. Model Ancaman.== Model ancaman di sini sebahagian besarnya sama dengan serangan peningkatan keistimewaan tipikal terhadap kernel. Secara khusus, kami memberi tumpuan kepada kernel Linux Android berasaskan ARM, yang diperkukuhkan dengan perlindungan kernel lalai (cth., KASLR, SMEP, SMAP, dan CFI). Kami seterusnya menganggap kernel diperkukuhkan dengan penyelesaian penandaan rawak MTE, serupa dengan penyelesaian MTE sedia pengeluaran, Scudo [3].

\ Secara khusus, setiap objek memori ditandai secara rawak, dan tag rawak diberikan apabila objek dibebaskan, dengan itu menghalang rasuah memori spatial dan temporal. Penyerang mampu menjalankan proses tanpa keistimewaan dan bertujuan untuk meningkatkan keistimewaan mereka dengan mengeksploitasi kerentanan rasuah memori dalam kernel. Diandaikan bahawa penyerang mengetahui kerentanan rasuah memori kernel tetapi tidak mengetahui sebarang tag MTE memori kernel. Mencetuskan rasuah memori antara objek kernel dengan

\ tag yang tidak sepadan akan menimbulkan kesalahan pemeriksaan tag, yang tidak diingini untuk eksploitasi dunia sebenar. Satu cabaran kritikal dalam serangan ini ialah gadget harus dibina dengan menggunakan semula kod kernel sedia ada dan dilaksanakan oleh panggilan sistem yang boleh dipanggil oleh penyerang. Memandangkan seni bina ARMv8 memisahkan jadual halaman pengguna dan kernel, gadget ruang pengguna tidak boleh mengakses memori kernel secara spekulatif. Persediaan ini sangat berbeza daripada model ancaman menyerang pelayar (§6.1), yang memanfaatkan kod yang disediakan penyerang untuk membina gadget. Kami mengecualikan pembinaan gadget berasaskan eBPF juga [17, 28], kerana eBPF tidak tersedia untuk proses Android tanpa keistimewaan [33].

\ ==6.2.2. Gadget TikTag Kernel==. Seperti yang diterangkan dalam §4.1, gadget TIKTAG harus memenuhi beberapa keperluan, dan setiap keperluan memerlukan cabaran dalam persekitaran kernel.

Pertama, dalam BR, salah ramalan cawangan harus dicetuskan dengan cond_ptr, yang harus boleh dikawal dari ruang pengguna. Memandangkan pemproses AArch64 terkini mengasingkan latihan ramalan cawangan antara pengguna dan kernel [33], latihan cawangan perlu dilakukan dari ruang kernel.

Kedua, dalam CHECK, guessptr harus dirujuk. guessptr harus direka dari ruang pengguna supaya ia memasukkan tag teka (Tg) dan menunjuk kepada alamat kernel (iaitu, target_addr) untuk membocorkan tag (Tm). Tidak seperti persekitaran JavaScript pelayar (§6.1), data yang disediakan pengguna sangat dibersihkan dalam panggilan sistem, jadi sukar untuk mencipta penunjuk kernel sewenang-wenangnya.

\ Sebagai contoh, accessok() memastikan bahawa penunjuk yang disediakan pengguna menunjuk kepada ruang pengguna, dan makro arrayindexnospec menghalang akses luar had spekulatif dengan indeks yang disediakan pengguna. Oleh itu, guessptr harus menjadi penunjuk kernel sedia ada, khususnya penunjuk terdedah yang menyebabkan rasuah memori. Sebagai contoh, penunjuk terumbang dalam use-after-free (UAF) atau penunjuk luar had dalam limpahan buffer boleh digunakan. Akhir sekali, dalam TEST, testptr harus dirujuk, dan testptr harus boleh diakses dari ruang pengguna. Untuk memudahkan pengukuran keadaan cache, test_ptr harus menjadi penunjuk ruang pengguna yang disediakan melalui argumen panggilan sistem.

\ ==Gadget yang Ditemui.== Kami menganalisis secara manual kod sumber kernel Linux untuk mencari gadget TIKTAG yang memenuhi keperluan yang disebutkan di atas. Hasilnya, kami menemui satu gadget TIKTAG-v1 yang berpotensi boleh dieksploitasi dalam sndtimeruserread() (Rajah 10). Gadget ini memenuhi keperluan TIKTAG-v1 (§5.1). Pada baris 10 (iaitu, BR), pernyataan switch mencetuskan salah ramalan cawangan dengan nilai yang boleh dikawal pengguna tu->tread (iaitu, condptr). Pada baris 14-17 (iaitu, CHECK), tread (iaitu, guessptr) dirujuk oleh empat arahan load. tread menunjuk kepada objek struct sndtimer_tread64 yang boleh diagihkan dan dibebaskan oleh penyerang secara sewenang-wenangnya.

\ Jika kerentanan temporal mengubah tread menjadi penunjuk terumbang, ia boleh digunakan sebagai guessptr. Pada baris 20, (iaitu, TEST), buffer penunjuk ruang pengguna (iaitu, testptr) dirujuk dalam copytouser. Memandangkan gadget ini tidak boleh dicapai secara langsung dari ruang pengguna, kami membuat pengubahsuaian sedikit pada kod kernel; kami mengeluarkan pulangan awal untuk kes lalai pada baris 6. Ini memastikan bahawa buffer hanya diakses dalam laluan spekulatif untuk memerhatikan perbezaan keadaan cache akibat pelaksanaan spekulatif.

\ Walaupun pengubahsuaian ini tidak realistik dalam senario dunia sebenar, ia menunjukkan potensi keboleheksploitasian gadget jika perubahan kod serupa dibuat. Kami menemui beberapa lagi gadget yang berpotensi boleh dieksploitasi, tetapi kami tidak dapat memerhatikan perbezaan keadaan cache antara padanan tag dan ketidakpadanan. Namun, kami fikir terdapat potensi yang kuat untuk mengeksploitasi gadget tersebut. Melancarkan serangan berasaskan TIKTAG melibatkan kejuruteraan yang kompleks dan sensitif, dan oleh itu kami tidak dapat bereksperimen dengan semua kes yang mungkin.

\ Terutamanya, TIKTAG-v1 bergantung pada pengecutan spekulasi pada peristiwa laluan salah, yang mungkin juga termasuk kesalahan terjemahan alamat atau pengecualian lain dalam laluan salah ramalan cawangan. Memandangkan panggilan sistem melibatkan aliran kawalan yang kompleks, pengecutan spekulasi mungkin tidak dicetuskan seperti yang dijangkakan. Selain itu, beberapa gadget mungkin menjadi boleh dieksploitasi apabila kod kernel berubah. Sebagai contoh, gadget TIKTAG-v1 dalam ip6mr_ioctl() tidak mempamerkan tingkah laku kebocoran tag MTE apabila dipanggil dari laluan panggilan sistemnya (iaitu, ioctl). Walau bagaimanapun, gadget mempunyai kebocoran tag apabila ia dipindahkan ke syscall lain (cth., write) dengan aliran kawalan yang mudah.

\ ==6.2.3. Serangan pintasan MTE Kernel.== Rajah 9b menggambarkan serangan pintasan MTE pada kernel Linux. Mengambil kerentanan use-afterfree sebagai contoh, kami menganggap penyerang telah mengenal pasti gadget TIKTAG yang sepadan, SysTikTagUAF(), yang mampu membocorkan hasil pemeriksaan tag penunjuk terumbang yang dicipta oleh kerentanan. Sebagai contoh, gadget TIKTAG-v1 dalam sndtimeruser_read() (Rajah 10) boleh membocorkan hasil pemeriksaan tag tread, yang boleh menjadi penunjuk terumbang oleh kerentanan use-after-free atau double-free.

\ Serangan berjalan seperti berikut: Pertama, penyerang membebaskan objek kernel (iaitu, objvuln) dan meninggalkan penunjuknya (iaitu, vuln_ptr) sebagai penunjuk terumbang ( 1 ). Seterusnya, penyerang mengagihkan objek kernel lain (iaitu, objtarget) pada alamat objvuln dengan SysAllocTarget() ( 2 ). Kemudian, penyerang memanggil SysTikTag() dengan buffer ruang pengguna (iaitu, ubuf) ( 3 ), dan membocorkan hasil pemeriksaan tag (iaitu, Tm == Tg) dengan mengukur latensi akses ubuf ( 4 ). Jika tag sepadan, penyerang mencetuskan SysExploitUAF(), panggilan sistem yang mengeksploitasi kerentanan use-after-free ( 5 ). Jika tidak, penyerang mengagihkan semula objtarget sehingga tag sepadan.

\ ==Mencetuskan Saluran Sisi Cache.== Seperti dalam §6.1.3, eksploitasi gadget TIKTAG yang berjaya memerlukan i) latihan cawangan, ii) kawalan cache, dan iii) pengukuran cache. Untuk latihan cawangan, penyerang boleh melatih peramal cawangan dan mencetuskan spekulasi dengan syarat cawangan yang dikawal pengguna dari ruang pengguna. Untuk kawalan cache, penyerang boleh membuang buffer ruang pengguna (iaitu, ubuf), manakala alamat memori kernel boleh diusir dengan lantunan baris cache [25]. Untuk pengukuran cache, latensi akses ubuf boleh diukur dengan pengira maya (iaitu, CNTVCT_EL0) atau pemasa berasaskan pengira memori (iaitu, resolusi kitaran CPU berhampiran).

\ ==Mengeksploitasi Kerentanan Rasuah Memori.== Gadget TIKTAG membolehkan melepasi MTE dan mengeksploitasi kerentanan rasuah memori kernel. Penyerang boleh memanggil gadget TIKTAG dalam kernel untuk mencetuskan rasuah memori secara spekulatif dan mendapatkan hasil pemeriksaan tag. Kemudian, penyerang boleh mendapatkan hasil pemeriksaan tag, dan mencetuskan rasuah memori hanya jika tag sepadan. Kami memperincikan proses serangan pintasan MTE kernel Linux dalam §D.

\ ==6.2.4. Mitigasi.== Untuk mengurangkan gadget TIKTAG dalam kernel Linux, pembangun kernel harus mempertimbangkan mitigasi berikut:

i) Penghalang spekulasi: Penghalang spekulasi boleh mengurangkan gadget TIKTAG-v1 dengan berkesan dalam kernel Linux. Untuk menghalang penyerang daripada membocorkan hasil pemeriksaan tag melalui buffer ruang pengguna, fungsi kernel yang mengakses alamat ruang pengguna, seperti copytouser dan copyfromuser, boleh diperkukuhkan dengan penghalang spekulasi. Seperti yang diterangkan dalam §5.1, membocorkan hasil pemeriksaan tag dengan akses store boleh dikurangkan dengan meletakkan penghalang spekulasi sebelum akses store (iaitu, TEST).

\ Sebagai contoh, untuk mengurangkan gadget yang memanfaatkan copytouser, penghalang spekulasi boleh dimasukkan sebelum panggilan copytouser. Untuk gadget yang menggunakan akses load ke buffer ruang pengguna, penghalang mengurangkan gadget jika dimasukkan antara cawangan dan akses memori kernel (iaitu, CHECK). Sebagai contoh, untuk mengurangkan gadget yang memanfaatkan copyfromuser, pembangun kernel harus menganalisis dengan teliti pangkalan kod kernel untuk mencari corak cawangan bersyarat, akses memori kernel, dan copyfromuser(), dan memasukkan penghalang spekulasi antara cawangan dan akses memori kernel.

\ ii) Pencegahan pembinaan gadget: Untuk menghapuskan gadget TIKTAG yang berpotensi dalam kernel Linux, kod sumber kernel boleh dianalisis dan ditampal. Memandangkan gadget TIKTAG juga boleh dibina oleh pengoptimuman pengkompil, analisis binari boleh dijalankan. Untuk setiap gadget yang ditemui, arahan boleh disusun semula atau arahan tambahan boleh dimasukkan untuk menghalang pembinaan gadget, mengikuti strategi mitigasi dalam §5.1 dan §5.2.

:::info Pengarang:

  1. Juhee Kim
  2. Jinbum Park
  3. Sihyeon Roh
  4. Jaeyoung Chung
  5. Youngjoo Lee
  6. Taesoo Kim
  7. Byoungyoung Lee

:::

:::info Kertas ini tersedia di arxiv di bawah lesen CC 4.0.

:::

\

免责声明: 本网站转载的文章均来源于公开平台,仅供参考。这些文章不代表 MEXC 的观点或意见。所有版权归原作者所有。如果您认为任何转载文章侵犯了第三方权利,请联系 [email protected] 以便将其删除。MEXC 不对转载文章的及时性、准确性或完整性作出任何陈述或保证,并且不对基于此类内容所采取的任何行动或决定承担责任。转载材料仅供参考,不构成任何商业、金融、法律和/或税务决策的建议、认可或依据。

您可能也会喜欢

专家:凭借XRP背后的技术,为什么人们看不到1,000美元或10,000美元?

专家:凭借XRP背后的技术,为什么人们看不到1,000美元或10,000美元?

加密货币评论员 XRP Avenger (@XRP_Avengers) 最近对 XRP 的潜力发表了大胆言论,声称这种加密货币的价值可能远超
分享
Timestabloid2026/03/15 14:03
Ripple的XRP价格本周可能走向何方?

Ripple的XRP价格本周可能走向何方?

围绕XRP的消息显示网络使用强劲且大型金融机构的兴趣日益增长,但并非社区中的每个人都同意Ripple的最新举措。高盛
分享
Captainaltcoin2026/03/15 14:43
印度迄今为止所有的国际艾美奖提名

印度迄今为止所有的国际艾美奖提名

帖子《印度迄今为止所有的国际艾美奖提名》发表在BitcoinEthereumNews.com。洛杉矶,加利福尼亚 - 9月11日:在2025年9月11日于洛杉矶加利福尼亚孔雀剧院举行的第77届黄金时段艾美奖新闻预览会上,可以看到艾美奖雕像的景象。(照片由Frazer Harrison/Getty Images拍摄)Getty Images 印度再次在国际艾美奖提名中展现了自己的存在感,通过Imtiaz Ali的《Amar Singh Chamkila》获得了两项国际艾美奖提名。这是印度在全球电视最负盛名的非美国奖项中存在(或缺席)的漫长而不平坦的故事中的最新篇章。虽然奥斯卡一直被视为印度电影的巅峰,但国际艾美奖已成为衡量印度电视和流媒体内容在世界舞台上接受程度的关键晴雨表。第一波:Nawazuddin和《神圣游戏》Netflix的《神圣游戏》官方海报。IMDb 印度在国际艾美奖上的突破始于2019年,当时Anurag Kashyap和Vikramaditya Motwane的写实犯罪剧《神圣游戏》第二季成为全球热门。Radhika Apte因在四部曲选集电影《欲望故事》中饰演Kalindi Gupta而获得最佳女演员提名。同年,Hossein Amini和James Watkins的英国犯罪剧《McMafia》(也有Siddiqui参演)赢得了国际艾美奖最佳剧情类剧集奖,展示了印度人才如何开始在国际合作制作中找到一席之地。不断增长的存在感:从《德里犯罪》到Vir Das 纽约,纽约 - 11月22日:Vir Das和Nawazuddin Siddiqui出席2021年11月22日在纽约市举行的第49届国际艾美奖。(照片由Arturo Holmes/Getty Images拍摄)Getty Images 这一势头随着《德里犯罪》(Netflix)在2020年获得最佳剧情类剧集奖而继续——这是印度首次获得国际艾美奖。Shefali Shah饰演DCP Vartika Chaturvedi的表演广受好评,为她赢得了后来的提名...
分享
BitcoinEthereumNews2025/09/30 04:34