Ketika saya memikirkan perangkat lunak yang tidak aman saya pikir itu "terlalu berguna" dan dapat disalahgunakan oleh penyerang. Jadi dalam arti mengamankan perangkat lunak adalah proses membuat perangkat lunak kurang bermanfaat. Dalam Ilmu Komputer Teoritis Anda tidak bekerja dengan dunia nyata. Jadi, apakah ada masalah keamanan ketika bekerja dengan teori murni? Atau sisi lain dari koin, apakah Ilmu Komputer Teoretis memengaruhi dunia nyata orang yang diretas? Jika demikian, topik keamanan apa yang dianggap Teoritis?
cr.crypto-security
big-picture
Benteng
sumber
sumber
Jawaban:
Intuisi Anda bahwa "rasa tidak aman" disebabkan oleh perangkat lunak yang "terlalu berguna" adalah benar, dalam arti tertentu. Ada literatur teoritis yang besar dan terus berkembang tentang "privasi diferensial" yang memformalkan intuisi Anda. Lihat misalnya, di sini: research.microsoft.com/en-us/projects/databaseprivacy/dwork.pdf
Di sini, kami menganggap input ke suatu algoritma sebagai "basis data", dan algoritme itu "tidak aman" jika ia mengungkapkan terlalu banyak informasi tentang data seseorang dalam database. Algoritma adalah -differensial privat jika output algoritme tidak banyak bergantung pada satu input: khusus, mengubah entri tunggal dalam database input hanya akan mengubah probabilitas setiap output algoritma dengan paling banyak faktor e ϵ .ϵ eϵ
Tentu saja, menjadikan suatu algoritma pribadi membuatnya kurang bermanfaat: suatu algoritma privat -berbeda menghasilkan keluaran yang bahkan bukan fungsi dari input sama sekali! Tapi ternyata Anda bisa mencoba dan dengan hati-hati menyeimbangkan pertukaran antara privasi dan utilitas, dan bisa mendapatkan algoritma yang sangat pribadi yang bagaimanapun sangat berguna.0
sumber
Dalam beberapa cara:
sumber
Pertimbangkan contoh Wired Equivalent Privacy , yang tidak ada dalam kenyataan: karena dasar teori yang keliru (pdf), WEP dapat dipecahkan dalam hitungan menit.
Dalam "Mengapa Komputer Tidak Aman," gurau Bruce Schneier
sumber
Ada banyak motivasi dunia nyata untuk mempelajari algoritma streaming yang berasal dari deteksi intrusi jaringan. Makalah di bawah ini menggunakan algoritma streaming untuk entropi empiris untuk mendeteksi anomali dalam lalu lintas jaringan Anda.
Yu Gu, Andrew McCallum, dan Don Towsley. Mendeteksi anomali dalam lalu lintas jaringan menggunakan estimasi entropi maksimum. Dalam IMC '05: Prosiding konferensi ACM SIGCOMM ke-5 tentang pengukuran Internet, halaman 1-6, 2005
sumber
Tidak seperti jawaban lainnya, ini lebih sesuai dengan "hal-hal yang harus kita khawatirkan ketika mengatakan sesuatu 'terbukti aman'" sebagai lawan dari tempat-tempat di mana TCS telah digunakan dalam keamanan. Dengan demikian, ini membahas pertanyaan pertama tentang masalah keamanan ketika bekerja dengan teori.
Seperti yang dikatakan peretas, hasil teoretis seringkali bersinggungan dengan keamanan dunia nyata. Argumen semacam ini telah dibuat lebih teoretis, ilmiah, dan tepat oleh Alfred Menezes dan Neal Koblitz dalam seri makalah mereka ' Another Look ' (peringatan: situs ini tampaknya sedikit konfrontatif bagi saya, tapi saya pikir ide dasar mempertanyakan asumsi sangat penting). Mereka menunjukkan kelemahan dalam asumsi standar dalam kriptografi, bahkan dalam makalah mani.
Beberapa contoh (mengutip / memparafrasekan beberapa poin dari situs mereka):
sumber
Provers teorema telah digunakan sampai batas tertentu untuk membuktikan kebenaran perangkat lunak, perangkat keras dan protokol. Lihat, misalnya, di sini atau di sini .
Masalah data yang mengalir dengan cara yang tidak diinginkan melalui program (yang dengan demikian menyebabkan potensi kebocoran) telah dimodelkan secara teoritis menggunakan gagasan gangguan (non-); dapatkan petunjuk di sini .
sumber
Decidability adalah perhatian utama dalam penelitian bahasa pemrograman. Artinya, banyak upaya yang diinvestasikan dalam membangun bahasa pemrograman yang hanya menerima kode yang memenuhi properti tertentu. Bahasa statis yang khas hanya memberikan jaminan yang lemah, seperti menolak program jika metode tertentu tidak ada, tetapi bayangkan jika bahasa tersebut juga dapat membuang program yang, misalnya, tidak benar menggunakan mutex, atau mencoba membaca di luar wilayah memori. Jelas bahwa masalah decidability datang dengan cepat (skenario paling sederhana: tentukan bahwa kompiler Anda hanya boleh menerima program terminasi), dan tentu saja, ada masalah efisiensi (pemeriksa tipe ML memiliki kasus eksponensial ganda).
Bagaimanapun, komunitas riset PL sangat tertarik pada keamanan (apakah Anda percaya browser Anda menjalankan kode asing sewenang-wenang ?!), dan pertanyaan mereka mengarah ke banyak pertanyaan teori CS klasik.
sumber