[Seminar] [Membela Dibalik Device: Security Mobile Application] [Chris Wysopal] [Harvard University] [Ini adalah CS50.] [CS50.TV] Selamat siang. Nama saya Chris Wysopal. Saya CTO dan co-founder dari Veracode. Veracode adalah sebuah perusahaan keamanan aplikasi. Kami menguji semua jenis aplikasi yang berbeda, dan apa yang akan saya bicarakan hari ini adalah keamanan aplikasi mobile. Latar belakang saya adalah saya telah melakukan penelitian keamanan untuk waktu yang sangat lama, mungkin sekitar selama orang. Saya mulai di pertengahan tahun 90an, dan itu adalah waktu yang cukup menarik karena kami memiliki perubahan paradigma di pertengahan tahun 90an. Semua komputer semua orang tiba-tiba yang tersambung ke internet, dan kemudian kami memiliki awal dari aplikasi web, dan itulah yang saya terfokus pada banyak maka. Ini menarik. Sekarang kita memiliki perubahan paradigma lain terjadi dengan komputasi, yang merupakan pergeseran untuk aplikasi mobile. Saya merasa itu semacam waktu yang sama maka itu di akhir tahun 90an ketika kita sedang menyelidiki aplikasi web dan menemukan cacat seperti kesalahan manajemen sesi dan injeksi SQL yang benar-benar tidak ada sebelumnya, dan tiba-tiba mereka di mana-mana dalam aplikasi web, dan sekarang banyak waktu yang saya habiskan adalah melihat aplikasi mobile dan melihat apa yang terjadi di luar sana di alam liar. Aplikasi mobile benar-benar akan menjadi platform komputasi yang dominan, jadi kita benar-benar perlu untuk menghabiskan banyak waktu jika Anda berada di industri keamanan berfokus pada aplikasi web. Ada 29 miliar aplikasi download ponsel pada tahun 2011. Ini diperkirakan menjadi 76 miliar aplikasi pada 2014. Ada 686 juta perangkat yang akan dibeli tahun ini, jadi ini adalah di mana orang akan melakukan  sebagian besar komputasi klien mereka ke depan. Saya sedang berbicara dengan seorang wakil presiden di Fidelity Investments beberapa bulan yang lalu, dan katanya mereka hanya melihat lebih banyak lalu lintas melakukan transaksi keuangan dari basis pelanggan mereka pada aplikasi mobile mereka dari situs web mereka, sehingga penggunaan umum untuk Web di masa lalu telah memeriksa harga saham Anda, mengelola portofolio Anda, dan kita benar-benar melihat bahwa pada tahun 2012 beralih atas untuk lebih dominan pada platform mobile. Tentu saja jika ada akan menjadi kegiatan kriminal, aktivitas berbahaya, itu akan mulai difokuskan pada platform mobile dari waktu ke waktu sebagai orang-orang beralih ke itu. Jika Anda melihat platform mobile, untuk melihat risiko dari platform ini berguna untuk memecahnya ke dalam lapisan yang berbeda, seperti kamu akan melakukannya pada komputer desktop, dan Anda berpikir tentang lapisan yang berbeda, perangkat lunak, sistem operasi, lapisan jaringan, lapisan hardware, dan tentu saja, ada kerentanan pada semua lapisan tersebut. Hal yang sama terjadi pada ponsel. Tapi mobile, tampaknya bahwa beberapa dari mereka lapisan yang lebih buruk. Untuk satu, lapisan jaringan yang lebih bermasalah pada ponsel karena banyak orang di kantor atau di rumah kabel koneksi atau mereka memiliki aman koneksi Wi-Fi, dan dengan banyak perangkat mobile Anda jelas di luar rumah atau di luar kantor banyak, dan jika Anda menggunakan Wi-Fi ada Anda mungkin menggunakan koneksi Wi-Fi yang tidak aman, sesuatu yang koneksi Wi-Fi publik, jadi ketika kita berpikir tentang aplikasi mobile kita harus memperhitungkan bahwa lingkungan jaringan lebih berisiko untuk aplikasi tersebut ketika Wi-Fi sedang digunakan. Dan ketika saya masuk ke lebih dari risiko aplikasi mobile Anda akan melihat mengapa itu lebih penting. Ada risiko di tingkat hardware pada perangkat mobile. Ini adalah area dari penelitian yang sedang berlangsung. Orang menyebut serangan broadband ini atau serangan baseband di mana Anda menyerang firmware yang mendengarkan di radio. Ini benar-benar serangan menakutkan karena pengguna tidak perlu melakukan apapun. Anda dapat menekan banyak perangkat dalam jangkauan RF sekaligus, dan sepertinya setiap kali penelitian ini gelembung up dengan cepat akan diklasifikasikan mana orang menukik dalam sekitar dan berkata, "Di sini, memberitahu kami tentang hal itu, dan silahkan berhenti berbicara tentang hal itu." Ada beberapa penelitian terjadi di area broadband, tetapi tampaknya menjadi hush hush sangat. Saya pikir itu lebih dari jenis negara bangsa penelitian yang sedang terjadi. Sebuah bidang penelitian aktif, meskipun, adalah lapisan sistem operasi, dan sekali lagi, ini berbeda daripada di dunia komputer desktop karena dalam ruang mobile Anda memiliki tim-tim dari orang-orang yang disebut jailbreakers, dan jailbreakers yang berbeda dari peneliti kerentanan biasa. Mereka mencoba untuk menemukan kerentanan dalam sistem operasi, tetapi alasan mereka berusaha untuk menemukan kerentanan bukan untuk masuk ke mesin orang lain dan kompromi itu. Ini untuk masuk ke komputer mereka sendiri. Mereka ingin masuk ke ponsel mereka sendiri, memodifikasi sistem operasi mobile mereka sendiri sehingga mereka dapat menjalankan aplikasi pilihan mereka dan mengubah sesuatu dengan hak akses administratif penuh, dan mereka tidak ingin memberitahu vendor tentang hal ini. Mereka tidak seperti seorang peneliti keamanan yang merupakan seorang peneliti keamanan topi putih yang akan melakukan pengungkapan yang bertanggung jawab dan memberitahu vendor tentang hal itu. Mereka ingin melakukan penelitian ini, dan mereka ingin benar-benar mempublikasikannya dalam mengeksploitasi atau rootkit atau kode jailbreak, dan mereka ingin melakukannya strategis, seperti tepat setelah kapal vendor sistem operasi baru. Anda memiliki hubungan bermusuhan ini dengan kerentanan OS-level pada ponsel, yang saya pikir cukup menarik, dan satu tempat kita melihatnya apakah itu membuatnya begitu bahwa ada baik yang diterbitkan memanfaatkan kode di luar sana untuk kerentanan kernel-level, dan kita telah melihat orang-orang benar-benar digunakan oleh penulis malware. Ini sedikit berbeda dari dunia PC. Dan kemudian lapisan terakhir adalah lapisan atas, lapisan aplikasi. Itulah apa yang akan saya bicarakan hari ini. Lapisan lain ada, dan lapisan lainnya bermain ke dalamnya, tapi aku kebanyakan akan berbicara tentang apa yang terjadi pada lapisan aplikasi di mana kode berjalan dalam sandbox. Ia tidak memiliki hak administratif. Hal ini untuk menggunakan API dari perangkat, tapi tetap saja, banyak aktivitas berbahaya dan banyak risiko yang dapat terjadi pada lapisan yang karena itulah lapisan di mana semua informasi tersebut. Apps dapat mengakses semua informasi pada perangkat jika mereka memiliki izin yang tepat, dan mereka dapat mengakses sensor yang berbeda pada perangkat, Sensor GPS, mikrofon, kamera, apa yang telah Anda. Meskipun kita hanya berbicara tentang pada lapisan aplikasi kami memiliki banyak risiko di sana. Hal lain yang berbeda tentang lingkungan mobile adalah semua pemain sistem operasi, baik itu BlackBerry atau Android atau iOS atau Windows mobile, mereka semua memiliki model izin berbutir halus, dan ini adalah salah satu cara yang mereka dibangun ke dalam sistem operasi gagasan bahwa itu tidak berisiko seperti yang Anda pikirkan. Meskipun Anda memiliki semua kontak Anda di sana, semua informasi pribadi Anda, Anda memiliki foto Anda, Anda memiliki lokasi Anda di sana, Anda menyimpan pin bank Anda untuk login otomatis di sana, itu aman karena apps harus memiliki izin tertentu untuk mendapatkan bagian-bagian tertentu dari informasi pada perangkat, dan pengguna harus disajikan dengan izin ini dan mengatakan apa-apa. Masalah dengan itu adalah pengguna selalu mengatakan baik-baik saja. Sebagai orang keamanan, saya tahu Anda dapat meminta pengguna, mengatakan sesuatu yang sangat buruk akan terjadi, apakah Anda ingin hal itu terjadi? Dan jika mereka terburu-buru atau ada sesuatu yang sangat menarik di sisi lain itu, seperti permainan akan diinstal bahwa mereka tunggu-tunggu, mereka akan klik oke. Itulah mengapa saya katakan pada slide saya di sini biarkan aku melemparkan burung di babi sudah, dan Anda dapat melihat pada slide di sini ada contoh kotak izin BlackBerry. Ia mengatakan "Silakan mengatur hak akses aplikasi BlackBerry Travel setelah mengklik tombol di bawah ini, "dan pada dasarnya pengguna hanya akan mengatakan mengatur hak akses dan menyimpan. Berikut prompt Android di mana itu menunjukkan hal-hal, dan itu benar-benar menempatkan sesuatu yang hampir terlihat seperti peringatan. Itu punya semacam yield tanda sana mengatakan komunikasi jaringan, panggilan telepon, namun pengguna akan klik install, kan? Dan kemudian satu Apple benar-benar berbahaya. Ini tidak memberikan peringatan apapun. Hanya saja Apple ingin menggunakan lokasi Anda saat ini. Tentu saja Anda akan klik oke. Ada model izin halus ini, dan aplikasi harus memiliki file manifest di mana mereka menyatakan hak akses yang mereka butuhkan, dan yang akan mendapatkan ditampilkan kepada pengguna, dan pengguna akan harus mengatakan saya memberikan izin tersebut. Tapi mari kita jujur. Pengguna hanya akan selalu mengatakan baik-baik saja. Mari kita cepat melihat izin yang aplikasi ini meminta dan beberapa hak akses yang ada. Perusahaan ini Praetorian melakukan survei tahun lalu dari 53.000 aplikasi dianalisis di pasar dan pihak ke-3 pasar Android, jadi ini adalah semua Android. Dan aplikasi rata-rata meminta izin 3. Beberapa aplikasi meminta izin 117, jadi jelas ini sangat berbutir halus dan terlalu kompleks bagi pengguna untuk memahami jika mereka disajikan dengan aplikasi ini yang perlu ini 117 izin. Ini seperti pengguna akhir perjanjian lisensi yang 45 halaman. Mungkin segera mereka akan memiliki pilihan di mana itu seperti mencetak perizinan dan mengirim saya email. Tapi jika Anda melihat beberapa izin yang menarik atas 24% dari aplikasi yang mereka download dari 53.000 Informasi GPS diminta dari perangkat. 8% membaca kontak. 4% mengirim SMS, dan 3% menerima SMS. 2% rekaman audio. 1% diproses panggilan keluar. Saya tidak tahu. Saya tidak berpikir 4% dari aplikasi di toko app benar-benar perlu untuk mengirim pesan teks SMS, jadi saya pikir itu adalah petunjuk bahwa sesuatu yang tak diinginkan terjadi. 8% dari aplikasi perlu membaca daftar kontak Anda. Ini mungkin tidak diperlukan. Salah satu hal menarik lainnya tentang izin adalah jika Anda link di shared library ke dalam aplikasi Anda mereka mewarisi hak akses dari aplikasi, jadi jika aplikasi Anda membutuhkan daftar kontak atau kebutuhan lokasi GPS berfungsi dan Anda link dalam perpustakaan iklan, misalnya, bahwa perpustakaan iklan juga akan dapat mengakses kontak dan juga dapat mengakses lokasi GPS, dan pengembang app tahu apa-apa tentang kode yang berjalan di perpustakaan iklan. Mereka hanya menghubungkan bahwa dalam karena mereka ingin menguangkan aplikasi mereka. Sinilah-dan saya akan berbicara tentang beberapa contoh ini dengan sebuah aplikasi bernama Pandora di mana pengembang aplikasi mungkin tanpa disadari akan membocorkan informasi dari pengguna mereka karena perpustakaan mereka telah dihubungkan masuk Survei lanskap di luar sana, melihat semua aplikasi yang berbeda yang telah dilaporkan dalam berita sebagai pengguna sesuatu yang berbahaya atau melakukan tidak ingin dan kemudian memeriksa banyak aplikasi-kami melakukan banyak analisis biner statis pada aplikasi mobile, jadi kami telah diperiksa mereka dan melihat kode itu sendiri- kami datang dengan apa yang kita sebut top 10 daftar perilaku berisiko dalam aplikasi. Dan itu dipecah menjadi 2 bagian, kode berbahaya, jadi ini adalah hal buruk yang aplikasi mungkin melakukan itu cenderung menjadi sesuatu yang individu yang berbahaya secara khusus dimasukkan ke dalam aplikasi, tapi itu sedikit kabur. Bisa jadi sesuatu yang pengembang berpikir baik-baik saja, tetapi akhirnya menjadi dianggap sebagai berbahaya oleh pengguna. Dan kemudian bagian kedua adalah apa yang kita sebut coding kerentanan, dan ini adalah hal-hal di mana pengembang pada dasarnya adalah membuat kesalahan atau hanya tidak mengerti bagaimana menulis aplikasi aman,  dan yang menempatkan pengguna app beresiko. Aku akan pergi melalui ini secara rinci dan memberikan beberapa contoh. Untuk referensi, saya ingin memasang OWASP ponsel daftar top 10. Ini adalah 10 isu bahwa kelompok di OWASP, Proyek Terbuka Keamanan Aplikasi Web, mereka memiliki kelompok kerja bekerja pada ponsel daftar 10 besar. Mereka memiliki web top 10 daftar yang sangat terkenal, yang merupakan top 10 hal paling berisiko Anda dapat memiliki dalam aplikasi web. Mereka melakukan hal yang sama untuk ponsel, dan daftar mereka adalah sedikit berbeda dari kita. 6 dari 10 adalah sama. Mereka memiliki 4 yang berbeda. Saya pikir mereka memiliki sedikit pandangan berbeda tentang risiko dalam aplikasi mobile di mana banyak masalah mereka benar-benar bagaimana aplikasi ini berkomunikasi dengan server back-end atau apa yang terjadi pada server back-end, tidak begitu banyak aplikasi yang memiliki perilaku berisiko yang hanya mudah aplikasi klien. Yang merah di sini adalah perbedaan antara 2 daftar. Dan beberapa dari tim penelitian saya telah benar-benar memberikan kontribusi untuk proyek ini, jadi kita akan melihat apa yang terjadi dari waktu ke waktu, tapi saya pikir takeaway di sini adalah kita tidak benar-benar tahu apa daftar top 10 adalah dalam aplikasi mobile karena mereka sudah benar-benar hanya ada selama 2 atau 3 tahun sekarang, dan belum ada cukup waktu untuk benar-benar penelitian sistem operasi dan apa yang mereka mampu, dan belum ada cukup waktu bagi masyarakat berbahaya, jika Anda mau, telah menghabiskan cukup waktu mencoba untuk menyerang pengguna melalui aplikasi mobile, jadi saya berharap daftar ini untuk mengubah sedikit. Tetapi untuk sekarang, ini adalah 10 hal yang perlu dikhawatirkan. Anda mungkin bertanya-tanya di sisi ponsel mana apakah ponsel-kode berbahaya bagaimana cara mendapatkan ke perangkat? North Carolina State memiliki sebuah proyek yang disebut Mobile Malware Genome Project di mana mereka mengumpulkan sebanyak malware ponsel yang mereka bisa dan menganalisanya, dan mereka telah dipecah vektor injeksi yang menggunakan malware mobile, dan 86% menggunakan teknik yang disebut pengemasan ulang, dan ini hanya pada platform Android dapat Anda benar-benar melakukan pengemasan ulang ini. Alasannya adalah kode Android dibangun dengan kode byte Java disebut Dalvik yang mudah decompilable. Apa orang jahat bisa lakukan adalah mengambil aplikasi Android, mendekompilasi, memasukkan kode jahat mereka, ulang itu, dan kemudian memasangnya di toko app mengaku menjadi versi baru dari aplikasi itu, atau mungkin saja mengubah nama aplikasi. Jika itu adalah semacam permainan, mengubah nama sedikit, dan sebagainya repackaging ini adalah bagaimana 86% dari malware ponsel akan didistribusikan. Ada teknik yang disebut pembaruan lain yang sangat mirip dengan pengemasan ulang, tapi Anda benar-benar tidak memasukkan kode berbahaya masuk Apa yang Anda lakukan adalah Anda masukkan ke dalam mekanisme update kecil. Anda menguraikan, Anda masukkan ke dalam sebuah mekanisme update, dan Anda mengkompilasi ulang itu, dan kemudian ketika aplikasi sedang berjalan itu menarik ke bawah malware ke perangkat. Sejauh mayoritas adalah orang-2 teknik. Ada benar-benar banyak men-download drive-bys atau drive-by download di ponsel, yang bisa seperti serangan phishing. Hei, memeriksa situs web benar-benar keren, atau Anda perlu pergi ke website ini dan mengisi formulir ini untuk tetap terus melakukan sesuatu. Mereka adalah serangan phishing. Hal yang sama dapat terjadi pada platform mobile di mana mereka menunjukkan aplikasi mobile untuk men-download, mengatakan "Hai, ini adalah Bank of America." "Kami melihat Anda menggunakan aplikasi ini." "Anda harus mendownload aplikasi lain ini." Secara teoritis, yang bisa bekerja. Mungkin itu hanya tidak digunakan cukup untuk menentukan apakah itu berhasil atau tidak, tetapi mereka menemukan bahwa kurang dari 1% dari waktu teknik yang digunakan. Sebagian besar waktu itu benar-benar kode repackaged. Ada kategori yang disebut lain standalone di mana seseorang hanya membangun aplikasi baru. Mereka membangun sebuah aplikasi yang dimaksudkan untuk menjadi sesuatu. Ini bukan pengemasan ulang dari sesuatu yang lain, dan yang memiliki kode berbahaya. Yang digunakan 14% dari waktu. Sekarang saya ingin berbicara tentang apa yang kode berbahaya lakukan? Salah satu malware pertama di luar sana Anda dapat mempertimbangkan spyware. Pada dasarnya mata-mata pada pengguna. Ini mengumpulkan email, pesan SMS. Ternyata pada mikrofon. Ini panen buku kontak, dan mengirimkannya kepada orang lain. Jenis spyware ada di PC, sehingga masuk akal bagi orang untuk mencoba melakukan hal ini pada perangkat mobile. Salah satu contoh pertama ini adalah sebuah program yang disebut Rahasia SMS Replicator. Itu di Android Marketplace beberapa tahun yang lalu, dan ide itu jika Anda memiliki akses ke seseorang ponsel Android bahwa Anda ingin memata-matai, jadi mungkin itu pasangan Anda atau Anda penting lainnya dan Anda ingin memata-matai pesan teks mereka, Anda bisa men-download aplikasi ini dan menginstalnya dan mengkonfigurasinya untuk mengirim pesan teks SMS kepada Anda dengan salinan setiap pesan teks SMS yang mereka punya. Hal ini jelas merupakan pelanggaran dari ketentuan app store layanan, dan ini telah dihapus dari Marketplace Android dalam waktu 18 jam itu berada di sana, sehingga sejumlah kecil orang yang beresiko karena ini. Sekarang, saya pikir jika program ini disebut sesuatu mungkin sedikit kurang provokatif seperti Rahasia SMS Replicator itu mungkin akan bekerja jauh lebih baik. Tapi itu agak jelas. Salah satu hal yang dapat kita lakukan untuk menentukan apakah aplikasi memiliki perilaku ini yang tidak kita inginkan adalah untuk memeriksa kode. Hal ini sebenarnya sangat mudah dilakukan pada Android karena kita bisa mendekompilasi aplikasi. Pada iOS Anda dapat menggunakan disassembler seperti IDA Pro untuk melihat apa Apis aplikasi yang menelepon dan apa yang dilakukannya. Kami menulis analisa statis biner kita sendiri untuk kode kita dan kami melakukan hal ini, dan jadi apa yang dapat Anda lakukan adalah Anda bisa mengatakan apakah perangkat melakukan sesuatu yang pada dasarnya memata-matai saya atau pelacakan saya? Dan aku punya beberapa contoh di sini pada iPhone. Contoh pertama ini adalah bagaimana untuk mengakses UUID di telepon. Ini sebenarnya sesuatu yang Apple baru saja dilarang untuk aplikasi baru, tapi aplikasi lama yang Anda mungkin telah berjalan pada ponsel Anda masih bisa melakukan hal ini, dan sehingga pengenal unik dapat digunakan untuk melacak Anda di berbagai aplikasi yang berbeda. Pada Android, saya memiliki contoh di sini untuk mendapatkan lokasi perangkat. Anda dapat melihat bahwa jika panggilan API ada aplikasi yang pelacakan, dan Anda dapat melihat apakah itu mendapatkan lokasi yang baik atau lokasi kasar. Dan kemudian pada bagian bawah di sini, saya memiliki contoh bagaimana di BlackBerry aplikasi dapat mengakses pesan email dalam kotak masuk Anda. Ini adalah jenis hal yang dapat Anda memeriksa untuk melihat jika app adalah melakukan hal-hal. Kategori kedua besar perilaku berbahaya, dan ini mungkin adalah kategori terbesar sekarang, adalah panggilan yang tidak sah, pesan teks SMS premium yang tidak sah atau pembayaran yang tidak sah. Hal lain yang unik tentang ponsel adalah perangkat dihubungkan ke rekening penagihan, dan ketika aktivitas terjadi di telepon dapat menciptakan biaya. Anda dapat membeli barang-barang melalui telepon, dan ketika Anda mengirim pesan teks SMS premium Anda benar-benar memberikan uang kepada pemegang rekening nomor telepon di sisi lain. Ini dibentuk untuk mendapatkan harga saham atau mendapatkan horoskop harian Anda atau hal-hal lain, namun mereka dapat diatur untuk memesan produk dengan mengirimkan teks SMS. Orang-orang memberikan uang kepada Palang Merah dengan mengirimkan pesan teks. Anda dapat memberikan $ 10 seperti itu. Para penyerang, apa yang mereka lakukan adalah mereka mendirikan rekening di luar negeri, dan mereka menanamkan dalam malware bahwa ponsel akan mengirim pesan teks SMS premium, mengatakan, beberapa kali sehari, dan pada akhir bulan Anda sadar bahwa Anda telah menghabiskan puluhan atau bahkan mungkin ratusan dolar, dan mereka pergi dengan uang. Hal ini menjadi sangat buruk bahwa ini adalah hal pertama yang Android Marketplace atau Google tempat-itu Marketplace Android pada saat itu, dan sekarang Google Play-hal pertama yang Google mulai memeriksa. Ketika Google mulai mendistribusikan aplikasi Android di toko aplikasi mereka mereka mengatakan mereka tidak akan memeriksa untuk apa pun. Kami akan menarik aplikasi setelah kami telah diberitahu mereka telah melanggar persyaratan layanan kami, tapi kami tidak akan memeriksa untuk apa pun. Nah, sekitar satu tahun yang lalu itu menjadi sangat buruk dengan SMS premium ini malware pesan teks bahwa ini adalah hal pertama yang mereka mulai memeriksa. Jika sebuah aplikasi dapat mengirim pesan teks SMS mereka lebih lanjut secara manual memeriksa aplikasi tersebut. Mereka mencari API yang menyebutnya, dan sekarang sejak saat itu Google telah diperluas, tapi ini adalah hal pertama yang mereka mulai mencari. Beberapa aplikasi lain yang melakukan beberapa pesan teks SMS, ini Qicsomos Android, saya kira itu disebut. Ada peristiwa saat ini di mobile di mana CarrierIQ ini keluar sebagai spyware memakai perangkat oleh operator, sehingga orang ingin tahu apakah ponsel mereka rentan terhadap hal ini, dan ini adalah sebuah aplikasi gratis yang diuji itu. Nah, tentu saja, apa aplikasi ini lakukan adalah itu mengirim pesan teks SMS premium, sehingga dengan menguji untuk melihat apakah Anda terinfeksi dengan spyware Anda dimuat malware ke perangkat Anda. Kami melihat hal yang sama terjadi pada yang terakhir Super Bowl. Ada versi palsu dari permainan sepak bola Madden yang mengirim pesan teks SMS premium. Ini benar-benar mencoba untuk membuat jaringan bot juga pada perangkat. Di sini saya memiliki beberapa contoh. Yang cukup menarik, Apple cukup pintar, dan mereka tidak memungkinkan aplikasi untuk mengirim pesan teks SMS sama sekali. Tidak ada app bisa melakukannya. Itu cara yang bagus untuk menyingkirkan seluruh kelas kerentanan, tetapi pada Android Anda bisa melakukannya, dan tentu saja, pada BlackBerry Anda dapat melakukannya juga. Sungguh menarik bahwa pada BlackBerry Anda butuhkan adalah izin internet untuk mengirim pesan teks SMS. Hal lain yang benar-benar bahwa kita mencari ketika kita sedang mencari untuk melihat apakah ada sesuatu yang berbahaya hanya jenis aktivitas jaringan yang tidak sah, seperti melihat aktivitas jaringan app yang seharusnya harus memiliki fungsinya, dan melihat kegiatan ini jaringan lainnya. Mungkin sebuah aplikasi, untuk bekerja, harus mendapatkan data melalui HTTP, tetapi jika itu melakukan hal-hal di atas email atau SMS atau Bluetooth atau sesuatu seperti itu sekarang aplikasi yang berpotensi menjadi berbahaya, jadi ini adalah hal lain Anda dapat memeriksa untuk. Dan pada slide ini di sini saya memiliki beberapa contoh dari itu. Hal lain yang menarik kita lihat dengan malware terjadi kembali pada tahun 2009, dan itu terjadi di jalan besar. Saya tidak tahu apakah itu terjadi begitu banyak sejak saat itu, tapi itu sebuah aplikasi yang menyamar aplikasi lain. Ada satu set aplikasi, dan itu dijuluki serangan 09Droid, dan seseorang memutuskan bahwa ada banyak kecil, regional, bank menengah yang tidak memiliki aplikasi perbankan online, jadi apa yang mereka lakukan adalah mereka dibangun sekitar 50 aplikasi perbankan online bahwa semua yang mereka lakukan adalah mengambil nama pengguna dan kata sandi dan mengarahkan Anda ke situs web. Dan mereka menaruh semua ini di Google Marketplace, di Pasar Android, dan ketika seseorang mencari untuk melihat apakah bank mereka memiliki aplikasi mereka akan menemukan aplikasi palsu, yang dikumpulkan identitasnya dan kemudian diarahkan ke situs web mereka. Cara yang ini benar-benar menjadi-aplikasi berada di sana selama beberapa minggu, dan ada ribuan dan ribuan download. Cara ini terungkap adalah seseorang sedang mengalami masalah dengan salah satu aplikasi, dan mereka disebut bank mereka, dan mereka disebut garis dukungan pelanggan bank mereka dan berkata, "Saya mengalami masalah dengan aplikasi mobile banking Anda." "Bisakah Anda membantu saya keluar?" Dan mereka berkata, "Kami tidak memiliki aplikasi mobile banking." Itu mulai penyelidikan. Bank yang disebut Google, dan kemudian Google tampak dan berkata, "Wow, penulis yang sama telah menulis 50 aplikasi perbankan," dan membawa mereka semua turun. Namun yang pasti ini bisa terjadi lagi. Ada daftar semua bank yang berbeda di sini yang merupakan bagian dari penipuan ini. Hal lain sebuah aplikasi yang dapat Anda lakukan adalah saat ini UI dari aplikasi lain. Sementara itu berjalan bisa pop up Facebook UI. Ia mengatakan Anda harus memasukkan nama pengguna dan password untuk melanjutkan atau memasang setiap nama pengguna dan password UI untuk sebuah situs web bahwa mungkin pengguna menggunakan hanya untuk mencoba untuk mengelabui pengguna ke dalam menempatkan identitasnya masuk Ini benar-benar lurus sejajar dari serangan phishing email di mana seseorang mengirim pesan email dan memberi Anda pada dasarnya UI palsu untuk situs Web bahwa Anda memiliki akses ke. Hal lain yang kami cari dalam kode berbahaya adalah modifikasi sistem. Anda dapat mencari semua panggilan API yang membutuhkan hak istimewa root untuk mengeksekusi dengan benar. Mengubah perangkat web proxy yang akan menjadi sesuatu yang aplikasi seharusnya tidak mampu melakukannya. Tetapi jika aplikasi memiliki kode di sana untuk melakukan itu Anda tahu bahwa itu mungkin aplikasi berbahaya atau sangat sangat mungkin menjadi aplikasi berbahaya, dan jadi apa yang akan terjadi adalah bahwa aplikasi akan memiliki beberapa cara untuk meningkat hak istimewa. Ini akan memiliki beberapa hak istimewa eskalasi mengeksploitasi dalam aplikasi, dan kemudian setelah itu meningkat hak istimewa itu akan melakukan modifikasi sistem tersebut. Anda dapat menemukan malware yang memiliki hak istimewa eskalasi di dalamnya bahkan tanpa mengetahui bagaimana eskalasi hak istimewa mengeksploitasi yang akan terjadi, dan itu bagus, cara mudah untuk mencari malware. DroidDream mungkin adalah bagian yang paling terkenal dari malware Android. Saya pikir itu mempengaruhi sekitar 250.000 pengguna selama beberapa hari sebelum ditemukan. Mereka repackaged 50 aplikasi palsu, menempatkan mereka di toko app Android, dan pada dasarnya dulu kode jailbreak Android untuk meningkatkan hak-hak istimewa dan kemudian menginstal perintah dan mengontrol dan mengubah semua korban menjadi jaring bot, tapi Anda bisa mendeteksi ini jika Anda memindai aplikasi dan hanya mencari API panggilan yang izin root dibutuhkan untuk menjalankan dengan benar. Dan ada contoh di sini saya memiliki yang mengubah proxy, dan ini benar-benar hanya tersedia di Android. Anda dapat melihat Aku memberimu banyak contoh di Android karena ini adalah di mana ekosistem malware yang paling aktif adalah karena itu benar-benar mudah bagi penyerang untuk mendapatkan kode berbahaya ke Android Marketplace. Ini tidak begitu mudah untuk melakukannya di Apple App Store karena Apple membutuhkan pengembang untuk mengidentifikasi diri dan menandatangani kode. Mereka benar-benar memeriksa siapa Anda, dan Apple sebenarnya meneliti aplikasi. Kami tidak melihat banyak malware yang benar di mana perangkat semakin terancam. Aku akan berbicara tentang beberapa contoh di mana itu benar-benar privasi yang semakin terancam, dan itulah apa yang sebenarnya terjadi pada perangkat Apple. Hal lain untuk mencari kode berbahaya, kode berisiko dalam perangkat adalah logika atau bom waktu, dan bom waktu mungkin jauh lebih mudah untuk mencari dari bom logika. Tapi dengan bom waktu, yang dapat Anda lakukan adalah Anda dapat mencari tempat di kode di mana waktu diuji atau waktu mutlak mencari sebelum fungsionalitas tertentu di app terjadi. Dan ini bisa dilakukan untuk menyembunyikan aktivitas yang dari pengguna, sehingga terjadi larut malam. DroidDream melakukan semua aktivitasnya 11:00-08:00 waktu setempat untuk mencoba melakukannya sementara pengguna tidak mungkin menggunakan perangkat mereka. Alasan lain untuk melakukan ini adalah jika orang yang menggunakan analisis perilaku aplikasi, menjalankan aplikasi di bak pasir untuk melihat apa perilaku aplikasi tersebut, mereka dapat menggunakan logika berbasis waktu untuk melakukan kegiatan ketika aplikasi tidak di kotak pasir. Sebagai contoh, sebuah toko aplikasi seperti Apple menjalankan aplikasi, tetapi mereka mungkin tidak menjalankan setiap aplikasi untuk, katakanlah, 30 hari sebelum menyetujui hal itu, sehingga Anda dapat menempatkan logika dalam aplikasi Anda yang mengatakan, oke, hanya melakukan hal yang buruk setelah 30 hari telah berlalu atau setelah 30 hari setelah mempublikasikan tanggal aplikasi, dan yang dapat membantu menyembunyikan kode berbahaya dari orang-orang memeriksa untuk itu. Jika perusahaan anti-virus menjalankan hal-hal dalam kotak pasir atau toko aplikasi sendiri ini dapat membantu menyembunyikan bahwa dari pemeriksaan itu. Sekarang, sisi lain dari itu adalah sangat mudah untuk menemukan dengan analisis statis, jadi sebenarnya memeriksa kode Anda dapat mencari semua tempat dimana aplikasi tes waktu dan memeriksa seperti itu. Dan di sini saya memiliki beberapa contoh tentang ini 3 platform yang berbeda bagaimana waktu dapat diperiksa oleh pembuat app sehingga Anda tahu apa yang harus dicari jika Anda memeriksa aplikasi statis. Aku hanya pergi melalui sejumlah kegiatan berbahaya yang berbeda bahwa kita telah melihat di alam liar, tetapi mana yang paling umum? Bahwa penelitian yang sama dari North Carolina State Ponsel Genome Project menerbitkan beberapa data, dan ada dasarnya 4 daerah bahwa mereka melihat di mana ada banyak kegiatan. 37% dari aplikasi melakukan eskalasi hak istimewa, sehingga mereka memiliki beberapa jenis kode jailbreak di sana di mana mereka mencoba untuk meningkatkan hak istimewa sehingga mereka bisa jangan perintah API berjalan sebagai sistem operasi. 45% dari aplikasi di luar sana melakukan SMS premium, jadi itu persentase besar yang sedang mencoba untuk langsung menghasilkan uang. 93% melakukan remote control, sehingga mereka mencoba untuk membuat jaring bot, jaring bot mobile. Dan 45% dipanen informasi identitas seperti nomor telepon, UUIDs, lokasi GPS, account pengguna, dan ini menambahkan hingga lebih dari 100 karena kebanyakan malware mencoba untuk melakukan beberapa hal-hal ini. Aku akan beralih ke babak kedua dan berbicara tentang kerentanan kode. Ini adalah paruh kedua aktivitas berisiko. Di sinilah pada dasarnya pengembang membuat kesalahan. Seorang pengembang yang sah menulis sebuah aplikasi yang sah membuat kesalahan atau tidak mengetahui risiko dari platform mobile. Mereka hanya tidak tahu bagaimana untuk membuat aplikasi mobile yang aman, atau kadang-kadang pengembang tidak peduli menempatkan pengguna pada risiko. Kadang-kadang bagian dari model bisnis mereka mungkin panen informasi pribadi pengguna. Itu semacam kategori lainnya, dan itulah mengapa beberapa dari ini berbahaya dibandingkan mulai sah berdarah lebih karena ada perbedaan pendapat antara apa yang pengguna ingin dan apa yang user menganggap berisiko dan apa pengembang aplikasi menganggap berisiko. Tentu saja, itu bukan data aplikasi pengembang dalam banyak kasus. Dan akhirnya, cara lain ini terjadi adalah pengembang mungkin link di shared library yang memiliki kerentanan atau perilaku berisiko ini di dalamnya tanpa sepengetahuan mereka. Kategori pertama adalah kebocoran data sensitif, dan ini adalah ketika app mengumpulkan informasi seperti lokasi, informasi buku alamat, informasi pemilik dan mengirimkan dari perangkat. Dan setelah itu off perangkat, kita tidak tahu apa yang terjadi dengan informasi tersebut. Hal ini dapat disimpan insecurely oleh pengembang aplikasi. Kami telah melihat pengembang aplikasi bisa dikompromikan, dan data yang mereka menyimpan akan diambil. Hal ini terjadi beberapa bulan yang lalu untuk pengembang di Florida di mana sejumlah besar-itu iPad UUIDs dan nama perangkat bocor karena seseorang, saya pikir itu anonim, mengaku melakukan hal ini, masuk ke server ini pengembang dan mencuri jutaan iPad UUIDs dan nama komputer. Bukan informasi yang paling berisiko, tapi bagaimana jika itu adalah penyimpanan nama pengguna dan password dan alamat rumah? Ada banyak aplikasi yang menyimpan informasi semacam itu. Risiko ini ada. Hal lain yang bisa terjadi adalah jika pengembang tidak mengurus untuk mengamankan saluran data, dan itu kerentanan besar lain saya akan berbicara tentang, Data yang sedang dikirim dalam jelas. Jika pengguna pada publik jaringan Wi-Fi atau seseorang mengendus internet di suatu tempat sepanjang jalan data yang sedang terkena. Salah satu kasus yang sangat terkenal dari kebocoran informasi ini terjadi dengan Pandora, dan ini adalah sesuatu yang kita meneliti di Veracode. Kami mendengar bahwa ada-saya pikir itu adalah Federal Trade Commission investigasi terjadi dengan Pandora. Kami berkata, "Apa yang terjadi di sana? Mari kita mulai menggali ke dalam aplikasi Pandora." Dan apa yang kita ditentukan adalah aplikasi Pandora dikumpulkan jenis kelamin dan usia Anda, dan juga diakses lokasi GPS Anda, dan aplikasi Pandora melakukan ini untuk apa yang mereka katakan sebagai alasan yang sah. Musik yang mereka bermain-Pandora adalah aplikasi-streaming musik musik mereka bermain hanya berlisensi di Amerika Serikat, sehingga mereka harus memeriksa untuk mematuhi perjanjian lisensi mereka bahwa mereka telah untuk musik bahwa pengguna berada di Amerika Serikat. Mereka juga ingin mematuhi penasehat orangtua sekitar bahasa orang dewasa dalam musik, dan jadi ini adalah program sukarela, tetapi mereka ingin mematuhi itu dan tidak bermain lirik eksplisit bagi anak-anak 13 dan di bawah. Mereka memiliki alasan yang sah untuk mengumpulkan data ini. App mereka memiliki izin untuk melakukannya. Pengguna pikir ini adalah sah. Tapi apa yang terjadi? Mereka terkait dalam 3 atau 4 perpustakaan iklan yang berbeda. Sekarang semua dari semua tiba-tiba perpustakaan iklan ini mendapatkan akses ke informasi yang sama. Perpustakaan iklan, jika Anda melihat kode dalam perpustakaan iklan apa yang mereka lakukan adalah setiap perpustakaan ad mengatakan "Apakah aplikasi saya memiliki izin untuk mendapatkan lokasi GPS?" "Oh, itu? Oke, katakan padaku lokasi GPS." Setiap perpustakaan iklan tunggal melakukan itu, dan jika app tidak memiliki izin GPS tidak akan bisa mendapatkannya, tetapi jika tidak, ia akan mendapatkannya. Di sinilah model bisnis perpustakaan iklan menentang privasi pengguna. Dan sudah ada penelitian di luar sana yang akan mengatakan jika Anda tahu usia seseorang dan Anda tahu lokasi mereka di mana mereka tidur di malam hari, karena Anda memiliki koordinat GPS mereka sementara mereka mungkin sedang tidur, Anda tahu persis siapa orang tersebut karena Anda dapat menentukan anggota rumah tangga yang orang itu. Benar-benar ini adalah mengidentifikasi ke pengiklan persis siapa Anda, dan sepertinya itu sah. Aku hanya ingin streaming musik saya, dan ini adalah satu-satunya cara untuk mendapatkannya. Yah, kita terkena ini. Kami menulis ini di beberapa posting blog, dan ternyata bahwa seseorang dari majalah Rolling Stone membaca salah satu posting blog kita dan menulis blog mereka sendiri di Rolling Stone tentang hal itu, dan keesokan harinya Pandora pikir itu ide yang baik untuk menghapus perpustakaan iklan dari aplikasi mereka. Sejauh yang saya tahu mereka hanya-mereka harus dipuji. Saya pikir mereka hanya jenis freemium dari aplikasi yang telah melakukan ini. Semua aplikasi freemium lain memiliki perilaku yang sama, jadi Anda harus berpikir tentang apa jenis data Anda memberikan aplikasi freemium karena itu semua akan pengiklan. Praetorian juga melakukan studi tentang shared library dan berkata, "Mari kita lihat apa yang shared library adalah perpustakaan terbagi atas," dan ini adalah data. Mereka menganalisis 53.000 aplikasi, dan nomor 1 shared library adalah Admob. Itu benar-benar di 38% dari aplikasi di luar sana, sehingga 38% dari aplikasi yang Anda gunakan cenderung panen informasi pribadi Anda dan mengirimkannya ke jaringan iklan. Apache dan Android adalah 8% dan 6%, dan kemudian ini yang lain turun di bagian bawah, Google Ads, kebingungan, Mob Kota dan Millenial Media, ini semua perusahaan iklan, dan kemudian, cukup menarik, 4% terkait di perpustakaan Facebook mungkin untuk melakukan otentikasi melalui Facebook sehingga aplikasi bisa mengotentikasi Facebook. Tapi itu juga berarti korporasi Facebook mengontrol kode yang berjalan di 4% dari aplikasi mobile Android di luar sana, dan mereka memiliki akses ke semua data bahwa aplikasi yang memiliki izin untuk mendapatkan. Facebook pada dasarnya mencoba untuk menjual ruang iklan. Itulah model bisnis mereka. Jika Anda melihat seluruh ekosistem ini dengan izin ini dan shared library Anda mulai melihat bahwa Anda memiliki banyak risiko dalam aplikasi dianggap sah. Hal serupa yang sama yang terjadi dengan Pandora terjadi dengan sebuah aplikasi bernama Path, dan Jalur pikir mereka sedang membantu, ramah pengembang. Mereka hanya mencoba untuk memberikan pengalaman pengguna yang luar biasa, dan ternyata bahwa tanpa dorongan pengguna atau memberitahu pengguna apa- dan ini terjadi pada iPhone dan Android, Pandora app pada iPhone dan Android- bahwa aplikasi jalan itu meraih seluruh buku alamat Anda dan meng-upload ke jalan hanya saat Anda menginstal dan menjalankan aplikasi, dan mereka tidak memberitahu Anda tentang hal ini. Mereka pikir itu benar-benar membantu bagi Anda untuk dapat berbagi dengan semua orang dalam buku alamat Anda bahwa Anda menggunakan aplikasi Path. Yah, jelas Jalur pikir ini adalah besar untuk perusahaan mereka. Tidak begitu besar kepada pengguna. Anda harus berpikir bahwa itu satu hal apakah mungkin seorang remaja menggunakan aplikasi ini dan puluhan teman-teman mereka ada di sana, tetapi bagaimana jika itu adalah CEO dari sebuah perusahaan yang menginstal Jalur dan kemudian semua buku alamat seluruh mereka tiba-tiba ada di atas sana? Anda akan mendapatkan banyak informasi kontak yang mungkin berharga untuk banyak orang. Seorang reporter dari New York Times, Anda mungkin bisa mendapatkan nomor telepon untuk presiden ex dari buku alamat mereka, jadi jelas banyak informasi sensitif akan ditransfer dengan sesuatu seperti ini. Ada seperti flap besar tentang ini jalan yang meminta maaf. Mereka mengubah aplikasi mereka, dan bahkan berdampak Apple. Apple mengatakan, "Kita akan memaksa vendor aplikasi untuk mendorong pengguna jika mereka akan mengumpulkan seluruh buku alamat mereka. " Sepertinya apa yang terjadi di sini adalah ketika ada satu pelanggaran privasi besar dan itu membuat pers kita melihat perubahan di luar sana. Tapi tentu saja, ada hal-hal lain di luar sana. Aplikasi LinkedIn panen entri kalender, tetapi Apple tidak membuat pengguna akan diminta tentang itu. Entri kalender dapat memiliki informasi sensitif di dalamnya juga. Di mana Anda akan menarik garis? Ini benar-benar jenis tempat berkembang di mana ada benar-benar tidak ada standar yang baik di luar sana bagi pengguna untuk memahami ketika informasi mereka akan berada pada risiko dan ketika mereka akan tahu itu diambil. Kami menulis sebuah aplikasi di Veracode disebut Adios, dan pada dasarnya itu memungkinkan Anda untuk mengarahkan aplikasi di direktori iTunes Anda dan melihat semua aplikasi yang sedang memanen buku alamat lengkap Anda. Dan seperti yang Anda lihat pada daftar ini di sini, Angry Birds, AIM, AroundMe. Mengapa Angry Birds membutuhkan buku alamat Anda? Aku tidak tahu, tapi itu entah bagaimana. Ini adalah sesuatu yang banyak, banyak aplikasi lakukan. Anda dapat memeriksa kode untuk ini. Ada API yang didefinisikan dengan baik untuk iPhone, Android dan BlackBerry untuk mendapatkan buku alamat. Anda dapat benar-benar mudah memeriksa untuk ini, dan ini adalah apa yang kita lakukan dalam aplikasi Adios kami. Kategori berikutnya, tidak aman Sensitif Penyimpanan Data, adalah sesuatu di mana pengembang mengambil sesuatu seperti pin atau nomor rekening atau kata sandi dan menyimpannya di jelas pada perangkat. Lebih buruk lagi, mereka mungkin menyimpannya di suatu daerah di telepon yang dapat diakses secara global, seperti kartu SD. Anda melihat hal ini lebih sering pada Android karena Android memungkinkan untuk kartu SD. Perangkat iPhone tidak. Tapi kami bahkan melihat hal ini terjadi dalam aplikasi CitiGroup. Aplikasi perbankan online mereka menyimpan nomor rekening insecurely, hanya di jelas, jadi jika Anda kehilangan perangkat Anda, dasarnya Anda kehilangan rekening bank Anda. Ini adalah mengapa saya pribadi tidak melakukan transaksi perbankan pada iPhone. Saya pikir itu terlalu berisiko sekarang untuk melakukan jenis-jenis kegiatan. Skype melakukan hal yang sama. Skype, tentu saja, memiliki saldo rekening, nama pengguna dan kata sandi yang mengakses keseimbangan itu. Mereka menyimpan semua informasi di jelas pada perangkat mobile. Saya punya beberapa contoh di sini menciptakan file yang tidak memiliki izin yang tepat atau menulis ke disk dan tidak memiliki enkripsi apapun terjadi untuk itu. Daerah ini berikutnya, tidak aman Sensitif Transmisi Data, Saya sudah menyinggung hal ini beberapa kali, dan karena Wi-Fi publik ini adalah sesuatu yang benar-benar apps perlu melakukan, dan ini mungkin apa yang kita lihat salah paling. Aku akan mengatakan-benar, saya pikir saya memiliki data aktual, tapi itu dekat dengan setengah aplikasi mobile mengacaukan melakukan SSL. Mereka hanya tidak menggunakan API dengan benar. Maksudku, semua yang Anda harus lakukan adalah mengikuti petunjuk dan menggunakan API, tetapi mereka melakukan hal-hal seperti tidak memeriksa apakah ada sertifikat yang tidak valid di ujung lain, tidak memeriksa apakah ujung yang lain mencoba untuk melakukan serangan protokol downgrade. Para pengembang, mereka ingin mendapatkan checkbox mereka, kan? Kebutuhan mereka adalah untuk menggunakan ini untuk menjual. Mereka telah menggunakan ini untuk menjual. Persyaratannya adalah untuk tidak menggunakan ini untuk menjual aman, dan jadi ini adalah mengapa semua aplikasi yang menggunakan SSL untuk mengamankan data seperti itu sedang dikirim dari perangkat benar-benar harus diperiksa memastikan bahwa telah diterapkan dengan benar. Dan di sini saya memiliki beberapa contoh di mana Anda dapat melihat aplikasi mungkin menggunakan HTTP bukan HTTPS. Dalam beberapa kasus aplikasi akan jatuh kembali ke HTTP jika HTTPS tidak bekerja. Aku punya panggilan lain di sini di Android di mana mereka telah menonaktifkan cek sertifikat, sehingga serangan man-in-the-middle bisa terjadi. Sertifikat yang tidak valid akan diterima. Ini semua adalah kasus di mana penyerang akan bisa mendapatkan pada sama koneksi Wi-Fi sebagai pengguna dan mengakses semua data yang sedang dikirim melalui internet. Dan akhirnya, kategori terakhir yang saya miliki di sini adalah password hardcoded dan kunci. Kami benar-benar melihat banyak pengembang menggunakan gaya pengkodean yang sama bahwa yang mereka lakukan ketika mereka sedang membangun aplikasi web server jadi mereka membangun sebuah server aplikasi Java, dan mereka hardcoding kunci. Nah, ketika Anda sedang membangun aplikasi server, yeah, hardcoding kuncinya adalah bukan ide yang baik. Itu membuat sulit untuk berubah. Tapi itu tidak begitu buruk pada sisi server karena yang memiliki akses ke sisi server? Hanya administrator. Tetapi jika Anda mengambil kode yang sama dan Anda menuangkannya ke aplikasi mobile sekarang setiap orang yang memiliki bahwa aplikasi mobile memiliki akses ke kunci hardcoded, dan kita benar-benar melihat ini banyak kali, dan saya memiliki beberapa statistik pada seberapa sering kita melihat hal ini terjadi. Sebenarnya itu dalam contoh kode yang MasterCard diterbitkan tentang cara menggunakan layanan mereka. Contoh kode menunjukkan bagaimana Anda hanya akan mengambil password dan memasukkannya ke dalam string hardcoded di sana, dan kita tahu bagaimana pengembang suka copy dan paste potongan kode ketika mereka mencoba untuk melakukan sesuatu, sehingga Anda copy dan paste potongan kode bahwa mereka berikan sebagai contoh kode, dan Anda memiliki aplikasi yang tidak aman. Dan di sini kita memiliki beberapa contoh. Pertama ini adalah salah satu kita melihat banyak di mana mereka hardcode data langsung ke URL yang akan dikirim. Kadang-kadang kita melihat string password = password. Itu cukup mudah untuk mendeteksi, atau string password di BlackBerry dan Android. Ini sebenarnya cukup mudah untuk memeriksa karena hampir selalu nama-nama pengembang variabel yang memegang password beberapa variasi password. Saya menyebutkan bahwa kami melakukan analisis statis di Veracode, jadi kami telah menganalisis beberapa ratus aplikasi Android dan iOS. Kami telah membangun model penuh dengan mereka, dan kami mampu untuk memindai mereka untuk kerentanan yang berbeda, terutama kerentanan yang saya bicarakan, dan saya memiliki beberapa data di sini. 68,5% dari aplikasi Android kita melihat telah melanggar kode kriptografi, yang bagi kita, kita tidak dapat mendeteksi jika Anda membuat rutin kripto Anda sendiri, Bukankah itu itu adalah ide yang baik, tapi ini benar-benar menggunakan API yang diterbitkan yang berada di platform tetapi melakukannya sedemikian rupa bahwa kripto akan rentan, 68,5. Dan ini adalah untuk orang-orang yang mengirimkan aplikasi mereka sebenarnya karena mereka pikir itu ide yang baik untuk melakukan pengujian keamanan. Ini sudah orang-orang yang mungkin berpikir aman, jadi mungkin bahkan lebih buruk. Saya tidak berbicara tentang kontrol injeksi line feed. Ini sesuatu yang kita memeriksa, tapi itu bukan yang berisiko masalah. Kebocoran informasi, ini adalah di mana data sensitif sedang dikirim dari perangkat. Kami menemukan bahwa dalam 40% dari aplikasi. Waktu dan negara, yaitu ras masalah jenis kondisi, biasanya cukup sulit untuk mengeksploitasi, jadi saya tidak bicara tentang itu, tapi kami melihat itu. 23% memiliki masalah injeksi SQL. Banyak orang tidak tahu bahwa banyak aplikasi menggunakan database SQL kecil kecil di belakang mereka untuk menyimpan data. Nah, jika data yang Anda meraih melalui jaringan memiliki string serangan injeksi SQL di dalamnya seseorang bisa kompromi perangkat melalui itu, dan jadi saya pikir kami menemukan sekitar 40% dari aplikasi web memiliki masalah ini, yang merupakan masalah epidemi besar. Kami menemukan 23% dari waktu dalam aplikasi mobile dan itu mungkin karena banyak aplikasi web lebih menggunakan SQL dari mobile. Dan kemudian kita masih melihat beberapa cross-site scripting, masalah otorisasi, dan kemudian manajemen credential, itulah di mana Anda memiliki password hardcoded Anda. Pada 5% dari aplikasi yang kita lihat itu. Dan kemudian kita memiliki beberapa data pada iOS. 81% memiliki masalah penanganan error. Ini lebih dari masalah kualitas kode, tetapi 67% memiliki masalah kriptografi, sehingga tidak seburuk Android. Mungkin API yang sedikit lebih mudah, kode contoh sedikit lebih baik pada iOS. Tapi tetap persentase yang sangat tinggi. Kami memiliki 54% dengan kebocoran informasi, sekitar 30% dengan kesalahan manajemen buffer. Itulah tempat di mana ada berpotensi menjadi masalah korupsi memori. Ternyata itu tidak banyak masalah bagi eksploitasi pada iOS karena semua kode harus ditandatangani, jadi sulit bagi penyerang untuk mengeksekusi kode arbitrary pada iOS. Kualitas kode, direktori traversal, tapi kemudian kredensial manajemen di sini di 14,6%, jadi lebih buruk dari pada Android. Kami memiliki orang-orang tidak menangani password dengan benar. Dan kemudian kesalahan numerik dan buffer overflow, mereka lebih akan menjadi masalah kualitas kode pada iOS. Itu bagi presentasi saya. Saya tidak tahu apakah kita kehabisan waktu atau tidak. Saya tidak tahu apakah ada pertanyaan. [Pria] Sebuah pertanyaan singkat sekitar fragmentasi dan pasar Android. Apel setidaknya memiliki patch. Mereka melakukan pekerjaan yang baik mendapatkan itu di luar sana sedangkan kurang begitu dalam ruang Android. Anda hampir perlu jailbreak telepon Anda untuk tinggal saat ini dengan rilis saat ini dari Android. Ya, itu masalah besar dan jadi jika Anda berpikir tentang- [Pria] Mengapa kamu tidak bisa mengulanginya? Oh, benar, jadi pertanyaannya adalah bagaimana fragmentasi dari sistem operasi pada platform Android? Bagaimana yang mempengaruhi resiko dari alat-alat? Dan itu benar-benar merupakan masalah besar karena apa yang terjadi adalah perangkat yang lebih tua, ketika seseorang datang dengan jailbreak untuk perangkat tersebut, dasarnya itu eskalasi hak istimewa, dan sampai sistem operasi diperbarui malware kemudian dapat menggunakan kerentanan yang untuk benar-benar kompromi perangkat, dan apa yang kita lihat pada Android adalah dalam rangka untuk mendapatkan sistem operasi baru Google telah mengeluarkan sistem operasi, dan kemudian produsen hardware harus menyesuaikan, dan kemudian operator harus menyesuaikan dan mengirimkannya. Anda pada dasarnya memiliki 3 bagian yang bergerak di sini, dan itu mematikan bahwa operator tidak peduli, dan produsen perangkat keras tidak peduli, dan Google tidak dorongan mereka cukup untuk melakukan sesuatu, jadi pada dasarnya lebih dari setengah dari perangkat luar sana memiliki sistem operasi yang memiliki kerentanan eskalasi hak istimewa ini di dalamnya, dan jadi jika Anda mendapatkan malware pada perangkat Android Anda itu jauh lebih dari masalah. Oke, terima kasih banyak. [Tepuk tangan] [CS50.TV]