Perlindungan Perangkat Lunak pada tahun 2025
Oh! Hari ini saya akhirnya mendapatkan Unity Studio baru saya!Dengan tangan gemetar, saya membongkar isi paket. Oh ya! kristal kecil, hanya setengah ukuran telapak tangan, dan di atasnya semuanya: prosesor, memori (cukup untuk fitur paling maksimal), prosesor video, prosesor audio, program itu sendiri.Hukum Moore keras dan tanpa ampun: menggandakan jumlah transistor setiap dua tahun. Berkat pengembangan berkelanjutan dari prosesor Intel (diikuti oleh NVidia, AMD, Samsung dan lainnya), ia berhasil menjejalkan isi unit sistem ke dalam satu prosesor, setelah itu prosesor tidak lagi disebut prosesor, tetapi menjadi kristal, dan mengurangi biaya sehingga ide itu sendiri menjadi mungkin. program kristal.Saya memasukkannya ke panel komputer saya: kristal memasuki slot dan mengunci sendiri, dan sebuah ikon muncul di desktop. Itu saja! Instalasi selesai! Sekarang tidak ada berjam-jam menunggu sesuatu di sana ... Penghapusan instalasi juga sederhana - mencabut kristal yang diinginkan di salah satu dari 256 sarang. Tapi ini adalah uninstall yang sulit, lunak - melalui menu yang sesuai di OS.Benar, ini kristal keempat dari ini, versi Studio ke-7 ... Nah, apa yang bisa Anda lakukan, pembaruan tidak menyebar di Internet, tidak bisa. Hanya karena situasi ini: setiap prosesor dengan basis kode sendiri. Yaitu, tim MOV EAX, EDX memiliki opcode bukan 8BC2, tapi ... tidak ada yang tahu yang mana. Himpunan opcode ditentukan secara acak di pabrik ketika plat dibakar. Dan kemudian kompilasi program berjalan di bawahnya.Perlindungan sempurna! Tidak ada yang bisa menulis virus jika perintah assembler berbeda! Saya ingat bahwa sepuluh tahun yang lalu ada bahasa dengan mesin virtual mereka sendiri ... Dan sekarang, c # dan java adalah bahasa yang dikompilasi.Sebenarnya, apa perbedaan OS yang digunakan pengguna, jika lingkungan hanya mentransfer ukuran jendela dan input / output perangkat yang terhubung ke program, dan program memberikan gambar yang sudah jadi? Pada saat yang sama, semua API input / output dari perangkat apa pun untuk OS apa pun secara ketat distandarisasi dan satu langkah ke kiri, langkah ke kanan - pelarian dipertimbangkan, dan lompatan di tempat adalah provokasi.Ya, ada kekurangannya - Anda harus mengirim program melalui surat, dan memesan "prosesor pengembang" untuk pengembangan.Itu disediakan secara terpisah dari lingkungan pengembangan. Omong-omong, lingkungan pengembangan itu sendiri meminta tabel kode opler kode assembler untuk prosesor spesifik pengembang, dan tidak mungkin untuk mendapatkannya untuk pemeriksaan - enkripsi, protokol keamanan, semua itu ... jika telah terbukti bahwa tabel kode dapat diperoleh dari lingkungan pengembangan ini - denda besar dan pembekuan batch rilis. Namun, Anda tidak dapat takut bahwa kode sumber akan "bocor ke jaringan" - mengapa perlu jika prosesor pengembang seperti mobil?Saya adalah satu dari sedikit yang mampu membeli prosesor pengembang ... Dan itu karena saya melakukan bagian terakhir dari programmer - pengembangan web.Omong-omong, ini bukan tugas yang mudah. Setiap dinamika - berjalan di sisi server dan dikompilasi. Dan tidak ada kode aktif yang dapat dikirimkan ke pengguna. Tetapi pengguna dapat mentransfer semua klik mouse dan input keyboard ... Ya, server harus menjadi lebih kuat ... Artinya, sekarang tidak mungkin untuk membedakan situs dari klien yang tipis. Saya ingat seberapa tinggi pengembang meningkat ketika presiden kita mengeluarkan dekrit seperti itu!Dan ke mana harus pergi? Di Amerika Serikat, dekrit serupa keluar setahun sebelumnya ... Tapi setidaknya mereka memiliki jaringan dan server untuk mengatasi beban ini ... dan kami memiliki segalanya seperti biasa ...Yah, semua omong kosong tentang standardisasi ini belum mencapai bahasa pemrograman! Ada upaya untuk memanggil bahasa 1C negara dan melarang sisanya ... Terima kasih Tuhan, 1C sendiri menentang - itu tidak akan pernah bisa mengejar semua kerangka yang ada dari semua bahasa yang ada. Ya, masyarakat berbicara ...Kegembiraan lain adalah sumber terbuka. Benar, dia harus dibayar. Bukan untuk pustaka dan kerangka kerja individual, tentu saja, tetapi untuk program dan OS individual. Kenapa harus begitu? Karena tidak ada yang dapat mengompilasi prosesor untuk sistem operasi Anda - tidak ada tabel kode prosesor. Dan pelepasan kristal sepadan dengan uang ... begitulah mereka berputar. OpenOffice yang sama secara berkala mengatur pengumpulan uang untuk masalah ini.Pembaruan: diasumsikan bahwa kapasitas prosesor setidaknya tidak berkurang, tetapi karena peningkatan maksimum. Yaitu jumlah opsi per opcode adalah 2 ^ 64 atau lebih.Dengan peningkatan jumlah transistor pada sebuah chip, produktivitas tidak serta merta meningkat: misalnya, Mafia terakhir "berbobot" 42 gigabyte dalam versi yang dikemas - dan semua ini harus berada pada chip. Yaitu built-in minimum 1TB (kami memiliki masa depan, kan?) flash drive + xs berapa banyak RAM.Upd2: Saya lupa menyebutkan bahwa setiap kristal adalah sistem yang serba lengkap yang tidak memiliki akses ke file pada drive internal. Yaitu Anda tidak dapat menyalin kalkulator, tekstur, atau latar belakang desktop yang dijahit ke dalam OS ke drive flash USB. Juga, Anda tidak dapat menyalin program Anda ke disk kristal dan menjalankannya dari sana. Satu-satunya pengecualian adalah prosesor pengembang - dapat menyimpan file yang dikompilasi ke disk eksternal (relatif terhadap chip) dan menjalankannya dari sana.Menurut hasil diskusi, ternyata 64 bit per opcode diretas dalam waktu yang dapat diterima. Jadi, saya, atas kehendak penulis sendiri, mengubah kedalaman bit kristal menjadi 128bit dan mengatakan bahwa jika opcode tidak aktif ditentukan, pengecualian dilemparkan untuk prosesor kristal dari jenis "serangan". Bagaimana program bereaksi pada sebuah chip tidak diketahui, tetapi kami akan mengambil opsi terburuk: dalam kasus serangan jaringan, blokir alamat IP, dalam kasus serangan lokal, program akan dihentikan dan permintaan harus dikirim / dikirim ke dukungan teknis.Source: https://habr.com/ru/post/id399781/
All Articles