Saya seorang insinyur dengan pelatihan, tetapi saya lebih banyak berkomunikasi dengan pengusaha dan direktur produksi. Beberapa waktu lalu, pemilik perusahaan industri meminta nasihat. Terlepas dari kenyataan bahwa perusahaan itu besar, dan dibuat pada tahun 90-an, manajemen dan akuntansi bekerja dengan cara lama di jaringan lokal.
Ini adalah konsekuensi dari keprihatinan terhadap bisnis mereka dan peningkatan kontrol oleh negara. Hukum dan peraturan dapat ditafsirkan oleh lembaga inspeksi dengan sangat luas. Contohnya adalah amandemen Kode Pajak,
menghilangkan undang-undang pembatasan untuk pelanggaran pajak, perusakan aktual dari
rahasia perbankan dan audit .
Akibatnya, pemilik perusahaan mulai mencari solusi untuk penyimpanan informasi yang andal dan transfer dokumen yang aman. Virtual "aman".
Kami mengerjakan tugas dengan administrator sistem penuh waktu: kami membutuhkan analisis mendalam terhadap platform yang ada.
- layanan tidak boleh keruh, dalam arti kata klasik, yaitu tanpa menabung di fasilitas organisasi pihak ketiga. Hanya server Anda;
- Diperlukan enkripsi yang kuat untuk data yang dikirim dan disimpan;
- kemampuan untuk segera menghapus konten dari perangkat apa pun dengan satu sentuhan tombol diperlukan;
- Solusinya dikembangkan di luar negeri.
Saya menyarankan menghapus poin keempat, karena Aplikasi Rusia memiliki sertifikat resmi. Direktur secara eksplisit mengatakan apa yang harus dilakukan dengan sertifikat tersebut.
Pilih opsi
Saya memilih tiga solusi (semakin banyak pilihan, semakin banyak keraguan):
Pemilik perusahaan kurang berpengalaman dalam seluk-beluk teknis, jadi saya merancang laporan dalam bentuk daftar pro dan kontra dari setiap opsi.
Ringkasan Analisis
Sinkronkan
Pro :
- Sumber terbuka
- Aktivitas pengembang utama;
- Proyek ini sudah ada sejak lama;
- Gratis.
Cons:
- Tidak ada klien untuk shell iOS;
- Slow Turn server, (mereka gratis, karena itu mereka melambat). Bagi mereka yang
tidak tahu, Giliran digunakan ketika tidak mungkin untuk terhubung langsung; - Konfigurasi antarmuka yang kompleks (bertahun-tahun pengalaman pemrograman diperlukan);
- Kurangnya dukungan komersial yang cepat.
Resilio
Kelebihan: dukungan untuk semua perangkat dan server Turn yang gesit.
Cons: Satu dan sangat penting adalah pengabaian lengkap oleh layanan dukungan panggilan apa pun. Tidak ada reaksi, bahkan jika Anda menulis dari alamat yang berbeda.
Pvtbox
Pro:
- Dukungan untuk semua perangkat;
- Server Putar Cepat;
- Kemampuan untuk mengunduh file tanpa menginstal aplikasi;
- Layanan dukungan yang memadai, termasuk. melalui telepon.
Cons :
- Proyek muda (beberapa ulasan dan ulasan bagus);
- Antarmuka situs yang sangat "techie" tidak selalu jelas;
- Tidak ada dokumentasi yang terperinci, banyak masalah harus menarik dukungan.
Apa yang pelanggan pilih
Pertanyaan pertamanya adalah: apa gunanya mengembangkan sesuatu secara gratis? Sinkronisasi segera ditinggalkan. Argumen tidak berfungsi.
Setelah beberapa hari, pelanggan dengan tegas menolak Resilio Sync karena kurangnya dukungan tidak jelas ke mana harus pergi dalam keadaan darurat. Ditambah lagi ketidakpercayaan terhadap pendaftaran perusahaan di Amerika.
Untuk analisis lebih lanjut, Brankas Elektronik Pvtbox tetap ada. Kami melakukan audit teknis penuh atas platform ini dengan penekanan pada kemungkinan intersepsi, dekripsi data dan entri tanpa izin ke penyimpanan informasi.
Proses audit
Kami melakukan analisis senyawa pada awal program, dalam proses kerja dan dalam keadaan tenang. Lalu lintas menurut standar modern awalnya dienkripsi. Mari kita coba melakukan serangan MITM dan mengganti sertifikat dengan cepat menggunakan
Linux (Xubuntu Linux 18.04), Wireshark ,
Mitmproxy . Untuk melakukan ini, kami akan menerapkan perantara antara aplikasi Pvtbox dan server pvtbox.net (ada pertukaran data dengan server pvtbox.net melalui koneksi https).
Kami meluncurkan aplikasi untuk memastikan bahwa sinkronisasi program dan file berfungsi di dalamnya. Di Linux, Anda dapat segera mengamati logging jika Anda menjalankan program dari terminal.

Kami mematikan aplikasi dan mengganti alamat host pvtbox.net di file
/ etc / hosts dengan hak superuser. Alamat diganti dengan alamat server proxy kami.

Sekarang kami akan menyiapkan server proxy kami untuk serangan MITM di komputer dengan alamat 192.168.1.64 di jaringan lokal kami. Untuk melakukan ini, instal paket mitmproxy versi 4.0.4.
Buka server proxy pada port 443:
$ sudo mitmproxy -p 443Kami memulai program Pvtbox di komputer pertama, lihat output mitmproxy dan log aplikasi.
Mitmproxy melaporkan bahwa klien tidak mempercayai sertifikat spoof dari server proxy. Dalam log aplikasi, kami juga mengamati bahwa sertifikat server proxy tidak lulus verifikasi dan program menolak untuk bekerja.
Instal sertifikat proksi
mitmproxy di komputer dengan aplikasi Pvtbox untuk membuat sertifikat βtepercayaβ. Di komputer, instal paket ca-sertifikat. Kemudian salin sertifikat mitmproxy-ca-cert.pem dari direktori .mitmproxy dari server proxy ke komputer dengan aplikasi Pvtbox di direktori / usr / local / share / ca-sertifikat.
Kami menjalankan perintah:
$ sudo openssl x509 -dalam mitmproxy-ca-cert.pem -beritahu PEM-out mitmproxy-ca-cert.crt$ sudo update-ca-sertifikat
Luncurkan aplikasi Pvtbox. Sertifikat gagal lagi, program menolak untuk bekerja. Aplikasi tersebut mungkin menggunakan mekanisme keamanan
pinning sertifikat .
Serangan serupa dilakukan pada host
signalerver.pvtbox.net, serta pada koneksi peer-2-peer antara node. Pengembang menunjukkan bahwa aplikasi untuk membangun koneksi peer-2-peer menggunakan protokol webrtc terbuka yang menggunakan enkripsi ujung-ke-ujung menggunakan protokol
DTLSv1.2.Kunci dihasilkan untuk setiap pemasangan koneksi dan dikirim melalui saluran terenkripsi melalui
signalerver.pvtbox.net.Secara teoritis, akan mungkin untuk mencegat menawarkan dan menjawab pesan webrtc, mengganti kunci enkripsi di sana dan dapat mendekripsi semua pesan yang datang melalui webrtc. Tetapi itu tidak mungkin untuk melakukan serangan mitm pada signalerver.pvtbox.net, oleh karena itu tidak ada kemungkinan untuk mencegat dan mengganti pesan yang dikirim melalui sinyalerver.pvtbox.net.
Oleh karena itu, serangan ini tidak mungkin dilakukan pada koneksi peer-2-peer.
Ditemukan juga file dengan sertifikat yang disertakan dengan program. File ini terletak di path /opt/pvtbox/certifi/cacert.pem. File ini telah diganti dengan file yang berisi sertifikat tepercaya dari server proxy mitmproxy kami. Hasilnya tidak berubah - program menolak untuk terhubung ke sistem, kesalahan yang sama diamati pada log,
bahwa sertifikat tidak lulus verifikasi.
Hasil Audit
Saya tidak dapat mencegat atau mengganti lalu lintas. Nama file, dan terlebih lagi isinya ditransmisikan dalam bentuk terenkripsi, enkripsi ujung-ke-ujung digunakan. Aplikasi ini mengimplementasikan sejumlah mekanisme perlindungan yang mencegah penyadapan dan implementasi.
Akibatnya, perusahaan membeli dua server khusus (secara fisik di tempat yang berbeda) untuk akses permanen ke informasi. Server pertama digunakan untuk menerima, memproses dan menyimpan informasi, yang kedua - untuk cadangan.
Terminal kerja direktur dan ponsel iOS terhubung ke cloud individu yang diterima. Karyawan lain dihubungkan oleh administrator sistem reguler dan dukungan teknis Pvtbox.
Selama waktu yang lalu, tidak ada keluhan dari seorang teman. Saya berharap ulasan saya akan membantu pembaca Habr dalam situasi yang sama.