[Seminar] [bertahan belakang Peranti: Keselamatan Permohonan Bimbit] [Chris Wysopal] [Universiti Harvard] [Ini adalah CS50.] [CS50.TV] Petang. Nama saya Chris Wysopal. Saya adalah Ketua Pegawai Teknikal dan pengasas bersama Veracode. Veracode adalah sebuah syarikat keselamatan aplikasi. Kami menguji semua jenis aplikasi yang berbeza, dan apa yang saya akan bercakap tentang hari ini adalah keselamatan aplikasi mudah alih. Latar belakang saya adalah saya telah melakukan penyelidikan keselamatan untuk masa yang panjang, mungkin kira-kira selagi sesiapa. Saya bermula pada pertengahan 90-an, dan ia merupakan masa yang agak menarik kerana kami mempunyai perubahan paradigma dalam pertengahan 90-an. Semua komputer semua orang tiba-tiba telah disambungkan ke internet, dan kemudian kita mempunyai permulaan aplikasi web, dan itulah yang saya memberi tumpuan kepada banyak maka. Ia menarik. Sekarang kita mempunyai satu lagi perubahan paradigma berlaku dengan pengkomputeran, yang merupakan peralihan kepada aplikasi mudah alih. Saya rasa ia adalah jenis masa yang sama maka ia adalah pada lewat tahun 90an apabila kita sedang menyiasat aplikasi web dan mencari kecacatan seperti ralat pengurusan sesi dan suntikan SQL yang benar-benar tidak wujud sebelum ini, dan tiba-tiba mereka di mana-mana dalam aplikasi web, dan sekarang banyak masa yang saya menghabiskan sedang meninjau aplikasi mudah alih dan melihat apa yang berlaku di luar sana di hutan. Aplikasi mudah alih benar-benar akan menjadi platform pengkomputeran dominan, jadi kita benar-benar perlu menghabiskan banyak masa jika anda berada dalam industri keselamatan memberi tumpuan kepada aplikasi web. Terdapat 29 bilion aplikasi mudah alih turun pada tahun 2011. Ia diramalkan menjadi 76 bilion aplikasi pada tahun 2014. Ada 686 juta peranti yang akan dibeli tahun ini, jadi ini adalah di mana orang yang akan melakukan  majoriti pengkomputeran pelanggan mereka pada masa depan. Saya telah berbincang dengan naib presiden Kesetiaan Pelaburan beberapa bulan yang lalu, dan beliau berkata, mereka hanya melihat lebih banyak lalu lintas melakukan transaksi kewangan daripada asas pelanggan mereka pada aplikasi mudah alih mereka daripada di laman web mereka, jadi penggunaan biasa untuk Web pada masa lalu telah memeriksa harga saham anda, menguruskan portfolio anda, dan kami benar-benar melihat bahawa pada tahun 2012 suis lebih untuk menjadi lebih dominan pada platform mudah alih. Sudah tentu jika ada akan menjadi apa-apa aktiviti jenayah, apa-apa aktiviti berniat jahat, ia akan mula memberi tumpuan kepada platform mudah alih dari masa ke masa sebagai orang beralih kepada yang. Jika anda melihat penggunaan di platform mudah alih, untuk melihat risiko platform ia berguna untuk memecahkan ia ke dalam lapisan yang berbeza, seperti anda akan melakukannya pada komputer desktop, dan anda berfikir tentang lapisan yang berbeza, perisian, sistem operasi, lapisan rangkaian, lapisan perkakasan, dan sudah tentu, ada kelemahan ke atas semua mereka lapisan. Perkara yang sama berlaku di telefon bimbit. Tetapi mudah alih, ia seolah-olah bahawa beberapa orang-orang lapisan lebih teruk. Untuk satu, lapisan rangkaian adalah lebih bermasalah di telefon bimbit kerana ramai orang telah di pejabat mereka atau di rumah sambungan berwayar atau mereka mempunyai sambungan yang selamat Wi-Fi, dan dengan banyak peranti mudah alih anda jelas di luar rumah atau di luar pejabat banyak, dan jika anda menggunakan Wi-Fi terdapat anda mungkin menggunakan sambungan Wi-Fi yang tidak selamat, sesuatu yang sambungan Wi-Fi awam, jadi apabila kita berfikir tentang aplikasi mudah alih kita perlu mengambil kira bahawa persekitaran rangkaian yang lebih berisiko bagi mereka aplikasi apabila Wi-Fi digunakan. Dan apabila saya masuk ke dalam lebih daripada risiko aplikasi mudah alih anda akan melihat mengapa yang lebih penting. Terdapat risiko di peringkat perkakasan pada peranti mudah alih. Ini adalah kawasan penyelidikan yang berterusan. Orang memanggil serangan jalur lebar atau jalur asas serangan mana anda hendak pergi menyerang firmware yang yang mendengar di radio. Ini adalah benar-benar serangan menakutkan kerana pengguna tidak perlu melakukan apa-apa. Anda boleh memukul banyak alat-alat dalam pelbagai RF sekali gus, dan ia seolah-olah seperti setiap kali kajian ini gelembung sehingga dengan cepat mendapat dikelaskan di mana orang menyambar di sekitar dan berkata, "Di sini, memberitahu kita tentang itu, dan sila berhenti bercakap mengenainya." Ada penyelidikan berlaku di kawasan jalur lebar, tetapi ia seolah-olah menjadi sangat diam diam. Saya rasa ia lebih daripada jenis negara bangsa penyelidikan yang sedang berlaku. Kawasan penyelidikan yang aktif, walaupun, adalah lapisan sistem operasi, dan sekali lagi, ini adalah berbeza daripada dalam dunia pengkomputeran desktop kerana dalam ruang yang mudah alih anda mempunyai ini pasukan orang yang dipanggil jailbreakers, dan jailbreakers adalah berbeza daripada penyelidik kelemahan biasa. Mereka cuba untuk mencari kelemahan dalam sistem operasi, tetapi sebab mereka cuba untuk mencari kelemahan bukan untuk memecah masuk ke dalam mesin orang lain dan bertolak ansur itu. Ia untuk memecah masuk ke dalam komputer mereka sendiri. Mereka mahu memecah masuk ke dalam telefon bimbit mereka sendiri, mengubah suai sistem operasi mudah alih mereka sendiri supaya mereka dapat menjalankan aplikasi pilihan mereka dan mengubah keadaan dengan kebenaran pentadbiran penuh, dan mereka tidak mahu memberitahu penjual tentang perkara ini. Mereka tidak suka seorang penyelidik keselamatan yang putih penyelidik keselamatan topi yang akan melakukan pendedahan bertanggungjawab dan memberitahu penjual mengenainya. Mereka mahu melakukan kajian ini, dan mereka mahu untuk benar-benar menyiarkannya dalam mengeksploitasi atau rootkit atau kod jailbreak, dan mereka mahu melakukannya secara strategik, seperti sejurus selepas kapal-kapal vendor sistem operasi yang baru. Anda mempunyai hubungan pertentangan ini dengan kelemahan OS-tahap di telefon bimbit itu, yang saya fikir agak menarik, dan satu tempat yang kita lihat ia menjadikan ia begitu bahawa ada baik kod diterbitkan mengeksploitasi luar sana untuk kelemahan kernel-peringkat, dan kami telah melihat orang-orang benar-benar digunakan oleh penulis-penulis malware. Ia sedikit berbeza daripada dunia PC. Dan kemudian lapisan akhir adalah lapisan atas, lapisan permohonan. Itulah apa yang saya akan bercakap tentang hari ini. Lapisan lain wujud, dan lapisan yang lain bermain ke dalamnya, tetapi saya kebanyakannya akan bercakap tentang apa yang berlaku di peringkat aplikasi mana kod sedang berjalan dalam kotak pasir. Ia tidak mempunyai keistimewaan pentadbiran. Ia mempunyai untuk menggunakan API peranti, tetapi masih, banyak aktiviti berniat jahat dan banyak risiko boleh berlaku pada lapisan yang kerana itulah lapisan di mana semua maklumat adalah. Apps boleh mengakses semua maklumat mengenai peranti jika mereka mempunyai keizinan yang betul, dan mereka boleh mengakses sensor yang berbeza pada peranti, Sensor GPS, mikrofon, kamera, golongan berada. Walaupun kita hanya bercakap tentang di peringkat aplikasi kita mempunyai banyak risiko di sana. Perkara lain yang yang berbeda persekitaran mudah alih adalah semua pemain sistem operasi, sama ada BlackBerry atau Android atau IOS atau Windows mudah alih, mereka semua mempunyai model kebenaran berbutir halus, dan ini adalah salah satu cara yang mereka dibina ke dalam sistem operasi idea bahawa ia bukan sebagai berisiko yang anda fikirkan. Walaupun anda mempunyai semua kenalan anda di sana, semua maklumat peribadi anda, anda mempunyai gambar-gambar anda, anda mempunyai lokasi anda di sana, anda menyimpan pin bank anda untuk log masuk auto di sana, ia adalah selamat kerana aplikasi perlu mempunyai kebenaran tertentu untuk mendapatkan di bahagian-bahagian tertentu maklumat pada peranti, dan pengguna perlu dibentangkan dengan kebenaran ini dan berkata okay. Masalah dengan ia merupakan pengguna selalu berkata okay. Sebagai orang keselamatan, saya tahu anda boleh segera pengguna, mengatakan sesuatu yang benar-benar buruk yang akan berlaku, adakah anda mahu ia berlaku? Dan jika mereka berada dalam tergesa-gesa atau ada sesuatu yang benar-benar menarik di sisi lain daripada itu, seperti permainan yang akan dipasang bahawa mereka telah menunggu, mereka akan klik okay. Itulah sebabnya saya katakan pada slaid saya di sini membiarkan saya melemparkan burung di babi sudah, dan anda boleh lihat pada slaid di sini ada contoh kotak kebenaran BlackBerry. Ia berkata "Sila tetapkan permohonan BlackBerry Perjalanan selepas menekan butang di bawah, "dan pada dasarnya pengguna hanya akan mengatakan menetapkan kebenaran dan menyelamatkan. Berikut adalah segera Android di mana ia menunjukkan perkara, dan ia sebenarnya meletakkan sesuatu yang hampir kelihatan seperti amaran. Ia mempunyai semacam tanda hasil terdapat komunikasi rangkaian berkata, panggilan telefon, tetapi pengguna akan klik memasang, bukan? Dan kemudian satu Apple benar-benar berbahaya. Ia tidak memberi apa-apa jenis amaran. Ia hanya Apple ingin menggunakan lokasi semasa anda. Sudah tentu anda akan klik okay. Terdapat model kebenaran halus ini, dan aplikasi perlu mempunyai fail yang nyata di mana mereka mengisytiharkan kebenaran yang mereka perlukan, dan yang akan mendapatkan dipaparkan kepada pengguna, dan pengguna akan katakan saya memberikan kebenaran ini. Tetapi mari kita bersikap jujur. Pengguna hanya akan selalu berkata okay. Mari kita lihat cepat pada keizinan yang aplikasi ini meminta dan beberapa kebenaran yang ada. Syarikat ini Pengawal Pertahanan lakukan kajian tahun lepas daripada 53,000 permohonan dianalisis dalam pasaran dan pihak ke-3 pasaran Android, jadi ini adalah semua Android. Dan aplikasi purata diminta 3 kebenaran. Sesetengah aplikasi meminta kebenaran 117, jadi jelas ini adalah sangat halus halus dan terlalu kompleks untuk pengguna untuk memahami jika mereka dipersembahkan dengan aplikasi ini yang memerlukan ini 117 kebenaran. Ia seperti pengguna akhir perjanjian lesen itu 45 muka surat yang panjang. Mungkin tidak lama lagi mereka akan mempunyai pilihan di mana ia seperti mencetak kebenaran dan menghantar e-mel saya. Tetapi jika anda lihat beberapa kebenaran yang menarik atas 24% daripada aplikasi yang mereka turun daripada 53,000 Maklumat GPS diminta daripada peranti. 8% membaca kenalan. 4% dihantar SMS, dan 3% menerima SMS. 2% yang dicatatkan audio. 1% diproses panggilan keluar. Saya tidak tahu. Saya tidak fikir 4% daripada aplikasi di kedai app benar-benar perlu untuk menghantar mesej teks SMS, jadi saya fikir itu adalah satu petunjuk bahawa sesuatu yang tidak diingini sedang berlaku. 8% daripada aplikasi perlu membaca senarai kenalan anda. Ia mungkin tidak perlu. Salah satu perkara yang menarik lain mengenai kebenaran adalah jika anda link di perpustakaan dikongsi ke dalam aplikasi anda mereka mewarisi kebenaran aplikasi, jadi jika aplikasi anda memerlukan senarai kenalan atau memerlukan lokasi GPS untuk berfungsi dan anda link di perpustakaan pengiklanan, misalnya, perpustakaan iklan juga akan dapat mengakses kenalan dan juga dapat mengakses lokasi GPS, dan pemaju app tahu apa-apa tentang kod yang berjalan di perpustakaan iklan. Mereka hanya menghubungkan bahawa dalam kerana mereka mahu untuk mendapatkan wang daripada aplikasi mereka. Ini adalah di mana-dan saya akan bercakap tentang beberapa contoh-contoh ini dengan permohonan dipanggil Pandora di mana pemaju aplikasi mungkin sengaja akan bocor maklumat daripada pengguna mereka kerana perpustakaan mereka telah dikaitkan masuk Ukur landskap di luar sana, melihat semua aplikasi yang berbeza yang telah dilaporkan dalam berita sebagai pengguna sesuatu yang berniat jahat atau melakukan tidak mahu dan kemudian memeriksa banyak aplikasi-kita melakukan banyak analisis binari statik pada aplikasi mudah alih, jadi kami telah diperiksa mereka dan melihat kod itu sendiri- kami datang dengan apa yang kita panggil senarai 10 atas kami tingkah laku yang berisiko dalam aplikasi. Dan ia dipecahkan kepada 2 bahagian, kod berniat jahat, jadi ini adalah perkara-perkara buruk yang aplikasi mungkin melakukan yang mungkin sesuatu yang individu yang berniat jahat telah secara khusus dimasukkan ke dalam permohonan itu, tetapi ia sedikit kabur. Ia boleh menjadi sesuatu yang pemaju yang difikirkan adalah baik, tetapi ia berakhir yang dianggap sebagai berniat jahat oleh pengguna. Dan kemudian bahagian kedua adalah apa yang kita panggil pengekodan kelemahan, dan ini adalah perkara-perkara di mana pemaju pada dasarnya membuat kesilapan atau hanya tidak memahami bagaimana untuk menulis aplikasi yang selamat,  dan itu meletakkan pengguna app berisiko. Saya akan pergi melalui secara terperinci dan memberi beberapa contoh. Untuk rujukan, saya mahu meletakkan mudah alih 10 teratas senarai OWASP. Ini adalah 10 isu-isu yang kumpulan di OWASP, Projek Open Web Permohonan Keselamatan, mereka mempunyai kumpulan kerja bekerja pada 10 senarai bimbit. Mereka mempunyai web top 10 senarai yang sangat terkenal, yang merupakan 10 teratas perkara paling berisiko anda boleh mempunyai dalam aplikasi web. Mereka melakukan perkara yang sama untuk mudah alih, dan senarai mereka adalah sedikit berbeza daripada kita. 6 daripada 10 adalah sama. Mereka mempunyai 4 yang berbeza. Saya fikir mereka mempunyai sedikit pandangan berbeza pada risiko dalam aplikasi mudah alih di mana banyak isu-isu mereka benar-benar bagaimana permohonan itu berkomunikasi dengan pelayan back-end atau apa yang berlaku pada pelayan back-end, tidak begitu banyak aplikasi yang mempunyai tingkah laku berisiko yang aplikasi pelanggan hanya terus-terang. Orang-orang yang dalam merah di sini adalah perbezaan antara 2 senarai. Dan beberapa pasukan penyelidikan saya telah benar-benar menyumbang kepada projek ini, jadi kita akan lihat apa yang berlaku dari masa ke masa, tetapi saya fikir Fleet di sini ialah kita tidak tahu apa senarai 10 teratas adalah dalam aplikasi mudah alih kerana mereka telah benar-benar hanya wujud selama 2 atau 3 tahun sekarang, dan tidak ada masa yang cukup untuk benar-benar penyelidikan sistem operasi dan apa yang mereka mampu, dan tidak ada masa yang cukup untuk masyarakat yang berniat jahat, jika anda akan, telah menghabiskan masa yang cukup cuba untuk menyerang pengguna melalui aplikasi mudah alih, jadi saya mengharapkan senarai ini untuk menukar sedikit. Tetapi untuk sekarang, ini adalah top 10 perkara yang perlu dibimbangkan. Anda mungkin tertanya-tanya di sebelah mudah alih di mana tidak mudah alih kod yang berniat jahat bagaimana ia mendapatkan ke alat ini? North Carolina State mempunyai projek yang dikenali sebagai Projek Genom Malware Bergerak di mana mereka mengumpul sebanyak malware mudah alih kerana mereka boleh dan menganalisis ia, dan mereka telah dipecahkan vektor suntikan bahawa malware mudah alih menggunakan, dan 86% menggunakan teknik yang dipanggil pembungkusan semula, dan ini hanya pada platform Android boleh anda benar-benar pembungkusan semula ini. Sebab ini Android kod dibina dengan kod bait Java dipanggil Dalvik yang mudah decompilable. Apa yang lelaki yang tidak baik boleh lakukan ialah mengambil aplikasi Android, menyusun ia, memasukkan kod berniat jahat mereka, susun semula ia, dan kemudian meletakkan ia di dalam kedai aplikasi yang berupa sebagai versi baru permohonan itu, atau hanya mungkin mengubah nama aplikasi. Jika ia adalah beberapa jenis permainan, menukar nama sedikit, dan sebagainya pembungkusan semula ini adalah bagaimana 86% daripada malware mudah alih mendapat diedarkan. Ada satu lagi teknik yang dipanggil update yang hampir sama dengan pembungkusan semula, tetapi anda benar-benar tidak meletakkan kod berniat jahat masuk Apa yang anda lakukan ialah anda dimasukkan ke dalam mekanisme kemas kini kecil. Anda menyahsusun, anda dimasukkan ke dalam mekanisme kemas kini, dan anda susun semula ia, dan kemudian apabila aplikasi sedang berjalan ia menarik ke bawah malware ke peranti. Setakat ini majoritinya adalah orang-orang 2 teknik. Tidak ada benar-benar lebih Muat turun drive-bys atau muat turun memandu-oleh di telefon bimbit, yang boleh menjadi seperti serangan phishing. Hei, lihat laman web benar-benar sejuk ini, atau anda perlu pergi ke laman web ini dan isi borang ini untuk menyimpan berterusan melakukan sesuatu. Mereka adalah serangan phishing. Perkara yang sama boleh berlaku pada platform mudah alih di mana mereka menunjuk kepada aplikasi mudah alih untuk memuat turun, berkata "Hi, ini adalah Bank of America." "Kami melihat anda menggunakan aplikasi ini." "Anda perlu memuat turun aplikasi ini yang lain." Secara teorinya, yang boleh bekerja. Mungkin ia hanya tidak digunakan mencukupi untuk menentukan sama ada ia berjaya atau tidak, tetapi mereka mendapati kurang daripada 1% daripada masa yang teknik yang digunakan. Majoriti masa yang ia benar-benar kod dipakej semula. Ada kategori dipanggil lain berdiri di mana seseorang hanya membina aplikasi jenama baru. Mereka membina satu aplikasi yang berupa sebagai sesuatu. Ia bukan satu pembungkusan semula sesuatu yang lain, dan yang mempunyai kod berniat jahat. Yang digunakan 14% daripada masa. Sekarang saya mahu bercakap tentang apa yang kod berniat jahat melakukan? Salah satu malware yang pertama di luar sana anda boleh mempertimbangkan spyware. Ia pada dasarnya pengintip kepada pengguna. Ia mengumpul e-mel, mesej SMS. Ia berpaling mikrofon. Ia menuai buku kenalan, dan ia menghantar ia kepada orang lain. Jenis ini spyware wujud pada PC, jadi ia masuk akal yang sempurna bagi orang-orang untuk cuba melakukan ini pada peranti mudah alih. Salah satu contoh yang pertama ini adalah program yang dikenali sebagai Rahsia SMS Replicator. Ia adalah di Marketplace Android beberapa tahun yang lalu, dan idea itu jika anda mempunyai akses kepada seseorang telefon Android yang anda mahu untuk mengintip, jadi mungkin ia pasangan anda atau penting lain dan anda mahu untuk mengintip mesej teks mereka anda, anda boleh memuat turun aplikasi ini dan install dan mengkonfigurasi untuk menghantar mesej teks SMS kepada anda dengan salinan setiap mesej teks SMS mereka mendapat. Ini jelas adalah dalam pelanggaran terma kedai aplikasi perkhidmatan, dan ini telah dibuang dari Pasaran Android dalam tempoh 18 jam ia berada di sana, jadi jumlah yang sangat kecil orang berisiko kerana ini. Sekarang, saya fikir jika program ini dipanggil sesuatu yang mungkin sedikit kurang provokatif seperti Rahsia SMS Replicator ia mungkin akan bekerja lebih baik. Tetapi ia adalah jenis jelas. Salah satu perkara yang boleh kita lakukan untuk menentukan jika aplikasi mempunyai tingkah laku ini yang kita tidak mahu adalah untuk memeriksa kod. Ini sebenarnya benar-benar mudah untuk dilakukan pada Android kerana kita boleh menyusun aplikasi. Pada IOS anda boleh menggunakan disassembler seperti IDA Pro untuk melihat apa API apl memanggil dan apa yang ia lakukan. Kami menulis penganalisis statik binari kita sendiri untuk kod kami dan kami melakukan ini, dan jadi apa yang anda boleh lakukan ialah anda boleh mengatakan adakah peranti berbuat apa-apa yang pada dasarnya mengintip saya atau mengesan saya? Dan saya mempunyai beberapa contoh di sini pada iPhone. Contoh pertama ialah bagaimana untuk mengakses UUID pada telefon. Ini sebenarnya sesuatu yang Apple baru sahaja diharamkan untuk permohonan baru, tetapi permohonan lama yang anda mungkin telah berjalan pada telefon anda masih boleh melakukan ini, dan supaya pengecam unik boleh digunakan untuk mengesan anda seluruh aplikasi yang berbeza. Pada Android, saya mempunyai contoh di sini untuk mendapatkan lokasi peranti. Anda boleh melihat bahawa jika itu panggilan API ada aplikasi yang mengesan, dan anda boleh melihat sama ada ia semakin lokasi denda atau lokasi kasar. Dan kemudian di bahagian bawah di sini, saya mempunyai satu contoh bagaimana pada BlackBerry permohonan mungkin mengakses mesej e-mel dalam peti masuk anda. Ini adalah jenis perkara yang anda boleh memeriksa untuk melihat jika aplikasi itu melakukan perkara-perkara. Kategori kedua besar tingkah laku yang berniat jahat, dan ini mungkin adalah kategori terbesar sekarang, adalah dail yang tidak dibenarkan, premium yang tidak dibenarkan mesej teks SMS atau bayaran yang tidak dibenarkan. Satu lagi perkara yang unik tentang telefon adalah peranti capaian akaun bil, dan apabila aktiviti berlaku di telefon ia boleh membuat tuduhan. Anda boleh membeli barangan melalui telefon, dan apabila anda menghantar mesej teks SMS premium anda sebenarnya memberi wang kepada pemegang akaun nombor telefon di sisi lain. Ini telah ditubuhkan untuk mendapatkan sebut harga saham atau mendapatkan horoskop harian anda atau perkara-perkara lain, tetapi mereka boleh ditubuhkan untuk memesan produk dengan menghantar teks SMS. Orang memberi wang kepada Palang Merah dengan menghantar mesej teks. Anda boleh memberi $ 10 dengan cara itu. Penyerang, apa yang mereka lakukan adalah mereka menubuhkan akaun di negara-negara asing, dan mereka membenamkan dalam malware bahawa telefon akan menghantar mesej teks SMS premium, berkata, beberapa kali sehari, dan pada akhir bulan anda menyedari bahawa anda telah menghabiskan puluhan atau mungkin juga beratus-ratus ringgit, dan mereka berjalan kaki dengan wang. Ini mendapat begitu buruk bahawa ini adalah perkara pertama yang Android Pasaran atau tempat-ia Google itu Pasaran Android pada masa itu, dan kini ia Google Play-perkara pertama yang Google mula memeriksa. Apabila Google mula mengedarkan aplikasi Android di kedai aplikasi mereka mereka berkata mereka tidak akan menyemak untuk apa-apa. Kami akan tarik aplikasi sebaik sahaja kami telah diberitahu mereka telah dipecahkan keperluan perkhidmatan kami, tetapi kita tidak akan untuk memeriksa apa-apa. Nah, kira-kira setahun yang lalu itu mendapat begitu buruk dengan ini SMS premium mesej teks malware bahawa ini adalah perkara yang pertama mereka mula memeriksa. Jika aplikasi boleh menghantar mesej teks SMS mereka lagi secara manual memeriksa permohonan itu. Mereka mencari API yang memanggil ini, dan kini sejak itu Google telah berkembang, tetapi ini adalah perkara pertama yang mereka mula mencari. Beberapa aplikasi lain yang melakukan beberapa mesej teks SMS, ini Android Qicsomos, saya rasa ia dipanggil. Terdapat peristiwa semasa ini di telefon bimbit di mana CarrierIQ ini keluar sebagai spyware memakai peranti oleh syarikat penerbangan, supaya orang mahu tahu sama ada telefon mereka adalah terdedah kepada ini, dan ini adalah aplikasi percuma yang diuji itu. Nah, sudah tentu, apa yang aplikasi ini lakukan ialah ia dihantar premium mesej teks SMS, jadi dengan menguji untuk melihat jika anda dijangkiti spyware anda dimuatkan malware pada peranti anda. Kami melihat perkara yang sama berlaku di Super Bowl lepas. Terdapat versi palsu daripada Madden permainan bola sepak yang menghantar premium mesej teks SMS. Ia benar-benar mencuba untuk mewujudkan satu rangkaian bot juga pada peranti. Di sini saya mempunyai beberapa contoh. Cukup menarik, Apple adalah cukup bijak, dan mereka tidak membenarkan permohonan untuk menghantar mesej teks SMS pada semua. Tiada aplikasi boleh melakukannya. Itulah cara yang baik untuk menghilangkan sebuah kelas kelemahan, tetapi pada Android anda boleh melakukannya, dan sudah tentu, pada BlackBerry anda juga boleh melakukannya. Ia adalah menarik bahawa pada BlackBerry semua yang anda perlukan adalah kebenaran internet untuk menghantar mesej teks SMS. Perkara lain yang benar-benar bahawa kita mencari apabila anda sedang mencari kita untuk melihat jika sesuatu yang berniat jahat sahaja apa-apa jenis aktiviti rangkaian yang tidak dibenarkan, seperti melihat aktiviti rangkaian app sepatutnya perlu mempunyai fungsi, dan melihat aktiviti rangkaian yang lain ini. Mungkin aplikasi, untuk bekerja, mempunyai untuk mendapatkan data melalui HTTP, tetapi jika ia melakukan perkara-perkara melalui e-mel atau SMS atau Bluetooth atau sesuatu seperti itu kini aplikasi yang berpotensi berniat jahat, jadi ini adalah satu lagi perkara yang anda boleh memeriksa untuk. Dan pada slaid ini di sini saya mempunyai beberapa contoh yang. Satu lagi perkara menarik yang kita lihat dengan malware berlaku pada tahun 2009, dan ia berlaku dengan cara yang besar. Saya tidak tahu jika ia berlaku begitu banyak sejak itu, tetapi ia adalah sebuah aplikasi yang menyamar sebagai aplikasi lain. Ada satu set aplikasi, dan ia digelar serangan 09Droid itu, dan seseorang memutuskan bahawa terdapat banyak kecil,, bank-bank serantau midsize yang tidak mempunyai aplikasi perbankan dalam talian, jadi apa yang mereka lakukan ialah mereka membina kira-kira 50 permohonan perbankan dalam talian bahawa semua yang mereka lakukan adalah mengambil nama pengguna dan kata laluan dan mengarahkan anda ke laman web ini. Dan supaya mereka meletakkan ini semua di dalam Marketplace Google, di Pasaran Android, dan apabila seseorang searched untuk melihat jika bank mereka mempunyai aplikasi mereka akan mendapati permohonan itu palsu, yang dikumpul kelayakan mereka dan kemudian diarahkan semula mereka ke laman web mereka. Cara ini sebenarnya menjadi-aplikasi berada di sana untuk beberapa minggu, dan terdapat beribu-ribu dan beribu-ribu muat turun. Cara ini datang kepada cahaya adalah seseorang menghadapi masalah dengan salah satu daripada aplikasi, dan mereka dipanggil bank mereka, dan mereka dipanggil garis sokongan pelanggan bank mereka dan berkata, "Saya menghadapi masalah dengan aplikasi perbankan mudah alih anda." "Bolehkah anda membantu saya keluar?" Dan mereka berkata, "Kami tidak mempunyai aplikasi perbankan mudah alih." Yang mula melakukan siasatan itu. Bank yang dipanggil Google, dan kemudian Google melihat dan berkata, "Wah, pengarang yang sama telah menulis 50 permohonan bank," dan membawa mereka semua ke bawah. Tetapi pastinya ini boleh berlaku lagi. Ada senarai semua bank-bank yang berbeza di sini yang merupakan sebahagian daripada penipuan ini. Perkara lain yang aplikasi boleh lakukan ialah hadir UI daripada aplikasi lain. Walaupun ia berjalan ia boleh muncul Facebook UI. Ia mengatakan anda perlu dimasukkan ke dalam nama pengguna dan kata laluan untuk meneruskan atau meletakkan apa-apa nama pengguna dan kata laluan UI untuk laman web bahawa mungkin pengguna menggunakan hanya untuk mencuba untuk menipu pengguna ke dalam meletakkan kelayakan mereka masuk Ini benar-benar selari lurus serangan e-mel phishing di mana seseorang menghantar mesej e-mel dan memberikan anda asasnya UI palsu untuk laman web bahawa anda mempunyai akses kepada. Perkara lain yang kita lihat dalam kod berniat jahat adalah sistem pengubahsuaian. Anda boleh melihat untuk semua panggilan API yang memerlukan keistimewaan akar untuk melaksanakan dengan betul. Menukar web proksi alat itu akan menjadi sesuatu bahawa suatu permohonan tidak akan dapat dilakukan. Tetapi jika permohonan tersebut mempunyai kod di sana untuk melakukannya anda tahu bahawa ia mungkin satu aplikasi berniat jahat atau sangat besar kemungkinan menjadi aplikasi berniat jahat, dan sebagainya apa yang akan berlaku ialah aplikasi akan mempunyai beberapa cara keistimewaan meningkat. Ia akan mempunyai beberapa keistimewaan balas mengeksploitasi dalam permohonan itu, dan kemudian sekali ia meningkat keistimewaan ia akan melakukan ini pengubahsuaian sistem. Anda boleh mendapatkan malware yang mempunyai keistimewaan balas di dalamnya walaupun tanpa mengetahui bagaimana maklum balas dari keistimewaan mengeksploitasi yang akan berlaku, dan itu, cara yang bagus mudah untuk mencari malware. DroidDream mungkin karya yang paling terkenal di Android malware. Saya rasa ia menjejaskan kira-kira 250,000 pengguna selama beberapa hari sebelum ia ditemui. Mereka dipakej semula 50 permohonan palsu, meletakkan mereka di kedai app Android, dan pada asasnya ia menggunakan kod jailbreak Android memuncak keistimewaan dan kemudian memasang arahan dan mengawal dan menjadikan semua mangsa menjadi bersih bot, tetapi anda boleh dikesan ini jika anda telah mengimbas permohonan dan hanya mencari API panggilan bahawa kebenaran akar diperlukan untuk melaksanakan dengan betul. Dan ada contoh di sini saya mempunyai yang berubah proksi, dan ini sebenarnya hanya boleh didapati pada Android. Anda boleh melihat saya memberi anda banyak contoh-contoh pada Android kerana ini adalah di mana ekosistem malware yang paling aktif adalah kerana ia benar-benar mudah untuk penyerang untuk mendapatkan kod yang berniat jahat ke dalam Pasaran Android. Ia tidak begitu mudah untuk melakukannya dalam Apple App Store kerana Apple memerlukan pemaju untuk memperkenalkan diri mereka dan menandatangani kod. Mereka sebenarnya memeriksa siapa anda, dan Apple sebenarnya meneliti permohonan itu. Kami tidak melihat banyak malware benar mana peranti semakin dikompromi. Saya akan bercakap tentang beberapa contoh di mana ia benar-benar privasi yang semakin terjejas, dan itulah yang benar-benar berlaku pada peranti Apple. Satu lagi perkara untuk mencari kod berniat jahat, kod berisiko dalam peranti logik atau masa bom, dan bom masa mungkin lebih mudah untuk mencari daripada bom logik. Tetapi dengan bom masa, apa yang anda boleh lakukan ialah anda boleh mencari tempat dalam kod di mana masa yang diuji atau masa yang mutlak adalah mencari sebelum fungsi tertentu dalam apl berlaku. Dan ini boleh dilakukan untuk menyembunyikan aktiviti yang dari pengguna, jadi ia berlaku lewat malam. DroidDream melakukan segala aktivitinya 11:00-08:00 waktu tempatan untuk cuba melakukannya ketika pengguna tidak mungkin menggunakan peranti mereka. Satu lagi sebab untuk melakukan ini adalah jika orang yang menggunakan analisis tingkah laku sesuatu permohonan, berjalan app dalam kotak pasir untuk melihat apa kelakuan permohonan itu adalah, mereka boleh menggunakan logik berasaskan masa untuk melakukan aktiviti yang apabila aplikasi itu tidak dalam kotak pasir. Sebagai contoh, kedai aplikasi seperti Apple berjalan permohonan itu, tetapi mereka mungkin tidak menjalankan setiap permohonan untuk, katakan, 30 hari sebelum meluluskan, jadi anda boleh meletakkan logik dalam permohonan anda yang berkata, okay, hanya melakukan perkara yang tidak baik selepas 30 hari telah berlalu atau selepas 30 hari selepas tarikh menerbitkan permohonan itu, dan yang boleh membantu menyembunyikan kod berniat jahat daripada orang memeriksa untuk itu. Jika syarikat-syarikat anti-virus menjalankan perkara dalam sandboxes atau kedai aplikasi sendiri adalah ini dapat membantu menyembunyikan bahawa daripada pemeriksaan itu. Sekarang, sebelah flip itu adalah ia mudah untuk mencari dengan analisis statik, jadi sebenarnya memeriksa kod yang anda boleh melihat untuk semua tempat-tempat yang jika permohonan itu menguji masa dan memeriksa dengan cara itu. Dan di sini saya mempunyai beberapa contoh pada 3 platform yang berbeza bagaimana masa boleh disemak oleh pembuat app supaya anda tahu apa yang perlu dicari jika anda memeriksa aplikasi secara statik. Saya hanya pergi melalui sejumlah besar aktiviti yang berbeza yang berniat jahat yang kita lihat dalam hutan, tetapi yang mana adalah yang paling lazim? Bahawa kajian yang sama dari North Carolina State Bergerak Projek Genom menerbitkan beberapa data, dan terdapat pada asasnya 4 bidang bahawa mereka melihat di mana terdapat banyak aktiviti. 37% daripada aplikasi lakukan keistimewaan balas, supaya mereka mempunyai beberapa jenis kod jailbreak di sana di mana mereka cuba untuk meningkat keistimewaan supaya mereka boleh jangan arahan API berjalan seperti sistem operasi. 45% daripada aplikasi di luar sana lakukan SMS premium, jadi itu peratusan yang besar yang cuba untuk mendapatkan wang secara langsung. 93% lakukan kawalan jauh, jadi mereka cuba untuk menubuhkan sebuah bersih bot, bersih bot bimbit. Dan 45% dituai maklumat yang mengenal pasti seperti nombor telefon, UUIDs, lokasi GPS, akaun pengguna, dan ini menambah sehingga lebih daripada 100 kerana kebanyakan malware cuba untuk melakukan beberapa perkara-perkara ini. Saya akan beralih kepada separuh kedua dan bercakap tentang kelemahan kod. Ini adalah separuh kedua aktiviti berisiko. Ini adalah di mana pada dasarnya pemaju yang membuat kesilapan. Pemaju sah menulis aplikasi yang sah adalah membuat kesilapan atau tidak mengetahui risiko platform mudah alih. Mereka hanya tidak tahu bagaimana untuk membuat aplikasi mudah alih yang selamat, atau kadang-kadang pemaju tidak mengambil berat tentang meletakkan pengguna berisiko. Kadang-kadang sebahagian daripada model perniagaan mereka mungkin menuai maklumat peribadi pengguna. Itulah jenis kategori yang lain, dan itulah sebabnya beberapa ini berniat jahat berbanding bermula sah berdarah lebih kerana ada perbezaan pendapat antara apa yang pengguna mahu dan apa yang pengguna menganggap berisiko dan apa yang pemaju permohonan yang difikirkan berisiko. Sudah tentu, ia bukan data pemaju aplikasi dalam kebanyakan kes. Dan akhirnya, satu lagi cara ini berlaku adalah pemaju mungkin mengandungi pautan dalam perpustakaan yang dikongsi yang mempunyai kelemahan atau tingkah laku berisiko ini di dalamnya Tanpa diketahui mereka. Kategori pertama ialah kebocoran data sensitif, dan ini adalah apabila app mengumpul maklumat seperti lokasi, maklumat buku alamat, maklumat pemilik dan menghantar yang luar peranti. Dan apabila ia matikan peranti, kita tidak tahu apa yang berlaku dengan maklumat tersebut. Ia boleh disimpan insecurely oleh pemaju permohonan. Kami lihat pemaju aplikasi mendapatkan terjejas, dan data yang mereka menyimpan mendapat diambil. Ini berlaku beberapa bulan lalu kepada seorang pemaju turun di Florida di mana sejumlah besar-itu UUIDs iPad dan nama peranti telah bocor kerana seseorang, saya fikir ia adalah tanpa nama, mendakwa untuk melakukan ini, memecah masuk ke pelayan ini pemaju dan mencuri berjuta-juta iPad UUIDs dan nama-nama komputer. Bukan maklumat yang paling berisiko, tetapi bagaimana jika itu adalah penyimpanan nama pengguna dan kata laluan dan alamat rumah? Ada banyak aplikasi yang menyimpan bahawa jenis maklumat. Risiko adalah di sana. Perkara lain yang boleh berlaku ialah jika pemaju tidak menjaga mengawal keselamatan channel data itu, dan bahawa adalah satu lagi kelemahan besar saya akan bercakap mengenai, data yang dihantar dalam jelas. Jika pengguna adalah pada rangkaian Wi-Fi awam atau seseorang itu menghidu internet di suatu tempat sepanjang jalan data yang terdedah. Satu kes yang sangat terkenal kebocoran maklumat ini berlaku dengan Pandora, dan ini adalah sesuatu yang kita dikaji di Veracode. Kami mendengar bahawa terdapat a-saya fikir ia adalah satu Suruhanjaya Perdagangan Persekutuan penyiasatan berlaku dengan Pandora. Kami berkata, "Apa yang berlaku di sana? Mari kita mula menggali ke dalam aplikasi Pandora." Dan apa yang kita ditentukan adalah aplikasi Pandora yang dikumpul jantina dan umur anda, dan ia juga diakses lokasi GPS anda, dan permohonan Pandora lakukan ini untuk apa yang mereka katakan adalah sebab-sebab yang sah. Muzik yang mereka bermain-Pandora adalah aplikasi-aliran muzik muzik yang mereka sedang bermain hanya dilesenkan di Amerika Syarikat, jadi mereka terpaksa memeriksa mematuhi perjanjian lesen mereka bahawa mereka mempunyai untuk muzik yang pengguna itu adalah di Amerika Syarikat. Mereka juga mahu mematuhi nasihat ibu bapa sekitar bahasa dewasa dalam muzik, dan oleh itu adalah satu program sukarela, tetapi mereka mahu mematuhi yang dan tidak bermain eksplisit lyrics kepada kanak-kanak 13 dan di bawah. Mereka mempunyai alasan yang sah untuk mengumpul data ini. Aplikasi mereka mempunyai kebenaran untuk melakukannya. Pengguna fikir ini adalah sah. Tetapi apa yang berlaku? Mereka dikaitkan dalam 3 atau 4 perpustakaan iklan yang berbeza. Sekarang tiba-tiba semua ini perpustakaan iklan mendapat akses kepada maklumat yang sama. Perpustakaan iklan, jika anda melihat kod di dalam perpustakaan iklan apa yang mereka lakukan adalah setiap perpustakaan iklan kata "Adakah aplikasi saya mempunyai kebenaran untuk mendapatkan lokasi GPS?" "Oh, ia? Okay, beritahu saya lokasi GPS." Setiap perpustakaan iklan tunggal tidak itu, dan jika aplikasi tersebut tidak mempunyai kebenaran GPS ia tidak akan dapat untuk mendapatkannya, tetapi jika ia berlaku, ia akan mendapatkannya. Ini adalah di mana model perniagaan perpustakaan iklan adalah bertentangan dengan privasi pengguna. Dan ada kajian yang di luar sana yang akan mengatakan jika anda tahu umur seseorang dan anda tahu lokasi mereka di mana mereka tidur pada waktu malam, kerana anda mempunyai koordinat GPS mereka manakala mereka mungkin tidur, anda tahu yang orang itu adalah kerana anda boleh menentukan ahli isi rumah yang orang itu. Betul ini mengenal pasti kepada pengiklan betul-betul yang anda berada, dan ia kelihatan seperti ia adalah sah. Saya hanya mahu aliran muzik saya, dan ini adalah satu-satunya cara untuk mendapatkannya. Nah, kita terdedah ini. Kami menulis ini sehingga dalam beberapa posting blog, dan ternyata bahawa seseorang dari majalah Rolling Stone membaca salah satu posting blog dan menulis blog mereka sendiri di Rolling Stone mengenainya, dan hari yang akan datang Pandora fikir ia adalah idea yang baik untuk menghapuskan perpustakaan iklan dari permohonan mereka. Setakat yang saya tahu mereka satu-satunya-mereka harus dipuji. Saya rasa mereka hanya jenis yang freemium aplikasi yang telah dilakukan ini. Semua aplikasi freemium lain mempunyai tingkah laku yang sama, jadi anda perlu berfikir tentang apa jenis data anda memberikan aplikasi freemium kerana itu semua akan pengiklan. Pengawal Pertahanan juga melakukan kajian mengenai perpustakaan dikongsi dan berkata, "Mari kita lihat apa yang dikongsi perpustakaan adalah perpustakaan dikongsi atas," dan ini adalah data. Mereka dianalisis 53,000 aplikasi, dan perpustakaan dikongsi nombor 1 adalah Admob. Ia sebenarnya di 38% daripada permohonan di luar sana, jadi 38% daripada aplikasi anda menggunakan adalah mungkin menuai maklumat peribadi anda dan menghantarnya kepada rangkaian iklan. Apache dan Android adalah 8% dan 6%, dan kemudian ini yang lain ke bawah di bahagian bawah, Iklan Google, keadaan tergesa-gesa, Mob City dan Milenium Media, semua ini adalah syarikat-syarikat iklan, dan kemudian, cukup menarik, 4% dikaitkan dalam perpustakaan Facebook mungkin untuk melakukan pengesahan melalui Facebook supaya aplikasi boleh mengesahkan Facebook. Tetapi itu juga bermakna perbadanan Facebook mengawal kod yang berjalan dalam 4% daripada Android aplikasi mudah alih di luar sana, dan mereka mempunyai akses kepada semua data yang aplikasi yang mempunyai kebenaran untuk mendapatkan sekurang-. Facebook pada dasarnya cuba untuk menjual ruang iklan. Itulah model perniagaan mereka. Jika anda melihat ekosistem keseluruhan dengan kebenaran ini dan perpustakaan dikongsi anda mula melihat bahawa anda mempunyai banyak risiko dalam permohonan yang kononnya sah. Perkara yang sama yang serupa yang berlaku dengan Pandora berlaku dengan permohonan dipanggil Path, dan jalan fikir mereka telah menjadi berguna, pemaju mesra. Mereka hanya cuba untuk memberi anda pengalaman pengguna yang hebat, dan ternyata bahawa tanpa menyebabkan pengguna atau memberitahu pengguna apa-apa- dan ini berlaku pada iPhone dan Android, aplikasi Pandora adalah pada iPhone dan Android bahawa permohonan jalan yang telah meraih keseluruhan buku alamat anda dan memuat naik ke jalan hanya apabila anda dipasang dan berlari permohonan itu, dan mereka tidak memberitahu anda tentang perkara ini. Mereka fikir ia adalah benar-benar berguna untuk anda dapat berkongsi dengan semua orang dalam buku alamat anda bahawa anda menggunakan aplikasi jalannya. Nah, jelas jalan fikir ini adalah besar untuk syarikat mereka. Tidak begitu besar kepada pengguna. Anda perlu berfikir bahawa itu satu perkara jika mungkin seorang remaja menggunakan permohonan ini dan berpuluh-puluh mereka kawan-kawan berada di sana, tetapi bagaimana jika ia adalah Ketua Pegawai Eksekutif sebuah syarikat yang memasang jalan dan kemudian tiba-tiba buku alamat keseluruhan mereka adalah di sana? Anda akan mendapat banyak maklumat hubungan berpotensi berharga untuk ramai orang. Seorang wartawan dari New York Times, anda mungkin boleh mendapatkan nombor telefon untuk presiden bekas daripada buku alamat mereka, jadi jelas banyak maklumat sensitif akan dipindahkan dengan sesuatu seperti ini. Terdapat seperti kepak besar tentang ini jalan yang memohon maaf. Mereka menukar aplikasi mereka, dan ia juga memberi kesan Apple. Apple berkata, "Kami akan memaksa vendor aplikasi untuk meminta pengguna jika mereka akan mengumpul keseluruhan buku alamat mereka. " Ia kelihatan seperti apa yang berlaku di sini ialah apabila ada satu pelanggaran privasi yang besar dan ia membuatkan akhbar kita melihat perubahan di luar sana. Tetapi sudah tentu, ada perkara-perkara lain di luar sana. Permohonan LinkedIn menuai entri kalendar anda, tetapi Apple tidak membuat pengguna digesa tentang itu. Entri kalendar boleh mempunyai maklumat sensitif di dalamnya juga. Mana anda hendak pergi untuk menarik garis? Ini benar-benar jenis tempat yang sentiasa berubah di mana ada sebenarnya tiada standard yang baik di luar sana bagi pengguna untuk memahami apabila maklumat mereka akan menghadapi risiko dan apabila mereka akan tahu ia diambil. Kami menulis aplikasi di Veracode dipanggil Adios, dan pada asasnya ia dibenarkan anda untuk menunjukkan aplikasi di direktori iTunes dan melihat semua aplikasi yang telah menuai buku alamat penuh anda. Dan seperti yang anda lihat dalam senarai ini di sini, Angry Birds, AIM, AroundMe. Mengapa Burung Marah perlu buku alamat anda? Saya tidak tahu, tetapi ia entah bagaimana. Ini adalah sesuatu yang banyak, banyak aplikasi lakukan. Anda boleh memeriksa kod untuk ini. Ada API yang jelas untuk iPhone, Android dan BlackBerry untuk mendapatkan sekurang-buku alamat. Anda boleh benar-benar mudah untuk memeriksa ini, dan ini adalah apa yang kita lakukan dalam permohonan Adios kami. Kategori seterusnya, tidak selamat Sensitif Penyimpanan Data, adalah sesuatu di mana pemaju mengambil sesuatu seperti pin atau nombor akaun atau kata laluan dan menyimpannya di jelas pada peranti. Lebih buruk lagi, mereka mungkin menyimpan ia di sesuatu kawasan di telefon yang boleh diakses secara global, seperti kad SD. Anda lihat ini lebih kerap pada Android kerana Android membolehkan kad SD. Peranti IPhone tidak. Tetapi kita juga melihat ini berlaku dalam permohonan Citigroup. Aplikasi perbankan dalam talian yang disimpan nombor akaun insecurely, hanya di jelas, jadi jika anda kehilangan peranti anda, pada dasarnya anda kehilangan akaun bank anda. Inilah sebabnya saya secara peribadi tidak melakukan perbankan di bawah saya. Saya rasa ia terlalu berisiko sekarang untuk melakukan aktiviti seperti ini. Skype melakukan perkara yang sama. Skype, sudah tentu, mempunyai baki akaun, nama pengguna dan kata laluan bahawa akses baki itu. Mereka menyimpan semua maklumat yang di jelas pada peranti mudah alih. Saya mempunyai beberapa contoh di sini mewujudkan fail yang tidak mempunyai kebenaran atau menulis kepada cakera dan tidak mempunyai apa-apa penyulitan berlaku untuk itu. Ini kawasan depan, tidak selamat Sensitif Penghantaran Data, Saya dirujuk kepada ini beberapa kali, dan kerana Wi-Fi awam ini adalah sesuatu yang benar-benar aplikasi perlu lakukan, dan ini mungkin apa yang kita lihat berlaku yang paling. Saya akan berkata-sebenarnya, saya fikir saya mempunyai data sebenar, tetapi ia dekat dengan separuh aplikasi mudah alih skru sehingga melakukan SSL. Mereka hanya tidak menggunakan API dengan betul. Maksud saya, semua yang anda perlu lakukan adalah mengikut arahan dan menggunakan API, tetapi mereka perkara-perkara seperti tidak memeriksa sama ada terdapat sijil tidak sah di hujung yang lain, tidak memeriksa jika hujung cuba untuk melakukan serangan protokol penurunan. Pemaju, mereka mahu mendapatkan kotak semak mereka, bukan? Keperluan mereka adalah untuk menggunakan ini untuk menjual. Mereka telah menggunakan ini untuk menjual. Keperluan tidak adalah dengan menggunakan ini untuk menjual dengan selamat, dan jadi ini adalah mengapa semua aplikasi yang menggunakan SSL untuk mendapatkan data kerana ia dihantar matikan peranti benar-benar perlu diperiksa memastikan bahawa telah dilaksanakan dengan betul. Dan di sini saya mempunyai beberapa contoh di mana anda boleh melihat permohonan mungkin menggunakan HTTP bukannya HTTPS. Dalam beberapa kes aplikasi akan jatuh kembali ke HTTP jika HTTPS yang tidak berfungsi. Saya mempunyai panggilan lain di sini pada Android di mana mereka telah dilumpuhkan cek sijil, jadi serangan lelaki-di-tengah-tengah boleh berlaku. Sijil tidak sah akan diterima. Ini semua adalah kes di mana penyerang akan dapat untuk mendapatkan di sambungan Wi-Fi yang sama seperti pengguna dan akses semua data yang yang yang dihantar melalui internet. Dan akhirnya, kategori terakhir saya ada di sini adalah kata laluan hardcoded dan kunci. Kami benar-benar melihat banyak pemaju menggunakan gaya pengekodan yang sama yang mereka lakukan apabila mereka membina aplikasi pelayan web, supaya mereka membina aplikasi pelayan Jawa, dan mereka hardcoding kunci. Nah, apabila anda membina sebuah aplikasi pelayan, yeah, hardcoding kunci tidak adalah idea yang baik. Ia menjadikannya sukar untuk berubah. Tetapi ia tidak begitu buruk di sebelah pelayan kerana yang mempunyai akses kepada sebelah pelayan? Hanya pentadbir. Tetapi jika anda mengambil kod yang sama dan anda mencurahkannya kepada aplikasi mudah alih kini semua orang yang mempunyai aplikasi mudah alih yang mempunyai akses kepada yang utama hardcoded, dan kita benar-benar melihat ini banyak kali, dan saya mempunyai beberapa statistik pada berapa kerap kita melihat ini berlaku. Ia sebenarnya adalah dalam kod contoh yang MasterCard diterbitkan mengenai cara untuk menggunakan perkhidmatan mereka. Kod contoh menunjukkan bagaimana anda hanya akan mengambil kata laluan dan memasukkannya ke dalam rentetan hardcoded di sana, dan kita tahu bagaimana pemaju suka copy dan paste kod coretan apabila mereka cuba untuk melakukan sesuatu, jadi anda copy dan paste kod yang dipilih bahawa mereka memberi kod contoh, dan anda mempunyai aplikasi yang tidak selamat. Dan di sini kita mempunyai beberapa contoh. Ini pertama adalah satu yang kita lihat banyak di mana mereka hardcode betul data ke URL yang akan dihantar. Kadang-kadang kita lihat rentetan kata laluan = kata laluan. Yang agak mudah untuk mengesan, atau kata laluan tali pada BlackBerry dan Android. Ini sebenarnya agak mudah untuk memeriksa kerana hampir selalu nama-nama pemaju pembolehubah yang yang memegang kata laluan beberapa perubahan kata laluan. Saya menyebut bahawa kita melakukan analisis statik pada Veracode, jadi kami telah dianalisis beberapa ratus Android dan IOS aplikasi. Kami telah membina model penuh dengan mereka, dan kami dapat mengimbas mereka untuk kelemahan yang berbeza, terutama kelemahan saya bercakap tentang, dan saya mempunyai beberapa data di sini. 68.5% daripada aplikasi Android kita melihat telah melanggar kod kriptografi, yang bagi kami, kami tidak dapat mengesan jika anda membuat rutin kripto anda sendiri, tidak bahawa yang adalah idea yang baik, tetapi ini adalah benar-benar menggunakan API diterbitkan yang pada platform tetapi melakukan mereka dalam apa-apa cara yang bahawa kripto yang akan terdedah, 68.5. Dan ini adalah untuk orang-orang yang menghantar kami permohonan mereka sebenarnya kerana mereka fikir ia adalah idea yang baik untuk melakukan ujian keselamatan. Ini adalah orang-orang yang sudah mungkin berfikir dengan selamat, jadi ia mungkin lebih buruk lagi. Saya tidak bercakap mengenai kawalan talian suntikan makanan. Ia sesuatu yang kita periksa, tetapi ia bukan yang berisiko isu. Kebocoran maklumat, ini adalah di mana data sensitif yang dihantar peranti. Kami mendapati bahawa dalam 40% daripada permohonan. Masa dan keadaan, mereka adalah bangsa isu jenis keadaan, biasanya agak sukar untuk mengeksploitasi, jadi saya tidak bercakap tentang itu, tetapi kita melihat ia. 23% mempunyai isu-isu suntikan SQL. Ramai orang tidak tahu bahawa banyak aplikasi menggunakan pangkalan data SQL kecil sedikit pada akhir belakang mereka untuk menyimpan data. Nah, jika data yang anda merebut melalui rangkaian mempunyai tali SQL suntikan serangan di dalamnya seseorang boleh berkompromi peranti itu melalui, dan saya fikir kita mendapati kira-kira 40% daripada aplikasi web mempunyai masalah ini, yang merupakan masalah wabak besar. Kami merasa 23% daripada masa dalam aplikasi mudah alih dan yang mungkin kerana banyak aplikasi web yang lebih menggunakan SQL daripada mudah alih. Dan kemudian kita masih melihat beberapa cross-site scripting, isu-isu kebenaran, dan kemudian pengurusan tauliah, itu di mana anda mempunyai kata laluan hardcoded anda. Dalam 5% daripada permohonan yang kita lihat itu. Dan kemudian kita mempunyai beberapa data pada IOS. 81% mempunyai isu-isu pengendalian ralat. Ini adalah lebih daripada masalah kualiti kod, tetapi 67% mempunyai isu-isu kriptografi, jadi tidak cukup seburuk Android. Mungkin API adalah sedikit lebih mudah, kod contoh yang sedikit lebih baik pada IOS. Tetapi masih peratusan yang sangat tinggi. Kami mempunyai 54% dengan kebocoran maklumat, kira-kira 30% dengan kesilapan pengurusan penampan. Itulah tempat di mana terdapat berpotensi menjadi isu rasuah ingatan. Ternyata itu bukan kerana banyak masalah untuk eksploitasi pada IOS kerana semua kod tersebut perlu ditandatangani, jadi agak sukar untuk penyerang untuk melaksanakan kod sewenang-wenangnya pada IOS. Kualiti kod, direktori traversal, tetapi kemudian pengurusan kelayakan di sini pada 14.6%, jadi lebih buruk dari pada Android. Kami mempunyai orang tidak mengendalikan kata laluan dengan betul. Dan kemudian kesilapan berangka dan buffer overflow, mereka lebih akan menjadi isu-isu kualiti kod pada IOS. Itu adalah untuk persembahan saya. Saya tidak tahu jika kita keluar dari masa atau tidak. Saya tidak tahu jika ada apa-apa soalan. [Male] Satu soalan yang cepat di seluruh pemecahan dan pasaran Android. Apple sekurang-kurangnya memiliki penampalan. Mereka melakukan kerja yang baik untuk mendapatkan ia di luar sana manakala yang kurang jadi dalam ruang yang Android. Anda hampir perlu jailbreak telefon anda untuk tinggal semasa dengan siaran semasa Android. Ya, itu satu masalah yang besar dan jadi jika anda berfikir kira-kira- [Male] Mengapa tidak boleh anda mengulangi itu? Oh, betul, jadi soalan itu apa yang kira-kira pemecahan sistem operasi pada platform Android? Bagaimana yang memberi kesan kepada sifat berbahaya daripada orang-orang peranti? Dan ia sebenarnya adalah satu masalah yang besar kerana apa yang berlaku ialah alat-alat yang lebih tua, apabila seseorang datang dengan jailbreak untuk peranti tersebut, dasarnya itulah keistimewaan balas, dan sehingga bahawa sistem operasi dikemaskini malware kemudiannya boleh menggunakan kelemahan itu untuk sama sekali berkompromi peranti, dan apa yang kita lihat pada Android adalah untuk mendapatkan sistem operasi yang baru Google telah meletakkan keluar sistem operasi, dan kemudian pengilang perkakasan mempunyai untuk menyesuaikan, dan kemudian pembawa mempunyai untuk menyesuaikan dan menyerahkannya. Anda mempunyai asasnya 3 bahagian bergerak di sini, dan ia beralih daripada bahawa pembawa tidak peduli, dan pengeluar perkakasan tidak peduli, dan Google tidak menyoalsiasat mereka cukup untuk berbuat apa-apa, jadi pada dasarnya lebih separuh daripada peranti di luar sana mempunyai sistem operasi yang mempunyai keistimewaan ini maklum balas dari kelemahan di dalamnya, dan jadi jika anda mendapat malware pada peranti Android anda itu lebih banyak daripada masalah. Okay, terima kasih banyak. [Tepuk tangan] [CS50.TV]