Selasa, 17 November 2015

Tugas Bahasa Inggris - Android Architecture 2

ANDROID ARCHITECTURE


Informasi : Dasar dari sebuah aplikasi

           Dasar dari semua aplikasi yang berarti adalah informasi, dan kita membentuk dan membangun aplikasi untuk menukar, mengubah, atau menyimpannya. Aplikasi ponsel tidaklah berbeda. Di bentangan ponsel yang terhubung saat ini, pertukaran informasi adalah nama dari permainan ini. Untuk mengilustrasikan di poin ini, bayangkan sebuah ponsel Android tanpa jaringan telepon atau cakupan WiFi. Sementara masih ada penggunaan telepon seperti itu, anda akan kehilangan akses ke beberapa banyak aplikasi penting di perangkat anda. Contohnya, surat elektronik, pesan singkat, penjelajahan jaringan, dan banyak aplikasi lainnya yang membutuhkan Internet sekarang akan menjadi tidak berfungsi.

Di bagian lainnya, kita akan memfokuskan usaha kita dalam memeriksa informasi saat pengangkutannya dan bagaimana mengamankannya. Di bagian ini, kita akan fokus sebagian besar pada apa yang terjadi pada informasi yang tersimpan
Mengamankan Aplikasi Anda dari Serangan
           Ketika dibuat atau diterima, data perlu disimpan di suatu tempat. Bagaimana informasi ini disimpan pada akhirnya akan merefleksikan apakah benar-benar aman. Merilis aplikasi Anda kepada publik harus  dengan pendekatan  yang  hati-hati  sebagaimana meluncurkan sebuah website di Internet. Anda harus mengasumsikan bahwa aplikasi Anda  baik secara langsung atau tidak langsung akan diserang dalam beberapa waktu dan bahwa satu-satunya hal yang berada diantara privasi dan perlindungan data pengguna akhir Anda adalah aplikasi Anda.

Serangan tidak langsung.
            Sedramatis kalimat terakhir yang terdengar, itu bukan tanpa dasar. Sebelum kita melangkah lebih jauh, mari kita lihat apakah saya takut mongering dibenarkan. Di bagian akhir 2010 dan awal 2011, dua kerentanan ditemukan di android versi 2.2 dan 2.3, masing masing. Kerentanan pada dasaranya adalah satu, dimana seorang penyerang dapat menyalin file yang disimpan pada perangkat SD
Card tanpa izin atau bahkan tanpa isyarat terlihat bahwa hal ini terjadi. kerentanan bekerja seperti pada gambar 2-1.

Berikut ini adalah poin yang paling penting:

  • Pengguna mengunjungi situs web berbahaya file hosting, misalnya evil.html.
  • Karena satu bagian dari kerentanan, file evil.html-download dan disimpan ke perangkat SD Card tanpa disuruh pengguna.
  • Karena bagian lain dari kerentanan, file yang disimpan dapat dibuat untuk mengeksekusi kode JavaScript secepat itu disimpan. sekali lagi, tidak ada desakan untuk pengguna akhir.
  • Karena bagian akhir dari kerentanan, JavaScript dijalankan dari titik sebelumnya, karena berjalan di bawah "lokal" konteks perangkat, akan memiliki akses penuh untuk meng-upload file yang tersimpan di SD Card ke situs web dari pilihan penyerang


           Untuk kepentingan argumen, mengasumsikan bahwa aplikasi anda memuat semua data yang tersimpan pada SD Card untuk penyimpanan dibawah petunjuk itu sendiri. Karena kerentanan hanya dilewatkan, data yang digunakan oleh aplikasi anda memiliki resiko untuk dicuri. Banyak perangkat android yang menjalankan aplikasi Anda dan kerentanan versi firmware menimbulkan resiko pencurian data ke pengguna akhir. ini adalah contoh dari serangan tidak langsung pada aplikasi anda.

          Seberapa rentan aplikasi Anda dengan serangan tidak langsung tersebut sangat bergantung pada berapa banyak usaha serangan tidak langsung Anda dalam mengarsitekkan dan mempertimbangkan aspek keamanan sebelum Anda menulis satu baris kode. Anda mungkin bertanya, "saya hanya seorang pengembang rancangan aplikasi kecil untuk menjual aplikasi saya dengan harga yang rendah, jadi apakah saya harus membuang-buang waktu untuk melakukan begitu banyak perencanaan terlebih dahulu?" dan saya akan menjawab dengan gemilang, "ya!" apakah Anda adalah bagian dari sebuah tim dari salah tiga puluh tim pengembang atau pekerja individu di rumah, sebuah aplikasi arsitek yang baik adalah sesuatu yang harus selalu anda usahakan untuk diciptakan. saya berharap bahwa ini adalah apa yang ingin anda pelajari dari buku ini.


Serangan langsung
         Serangan langsung berbeda secara signifikan dan dapat mengambil banyak bentuk yang berbeda.Sebuah serangan langsung dapat diklasifikasikan sebagai salah satu yang ditargetkan langsung di aplikasi Anda.Ini, penyerang mencari untuk memanfaatkan kelemahan dalam desain aplikasi Anda baik mengumpulkan informationon sensitif pengguna aplikasi Anda atau untuk menyerang server bahwa pembicaraan aplikasi Anda.Ambil, misalnya, aplikasi mobile banking. Seorang penyerang dapat pergi setelah aplikasi mobile milik bank tertentu.Jika desain aplikasi yang lemah misalnya, jika data sensitif pengguna disimpan dalam bentuk teks, atau komunikasi antara aplikasidan server tidak dijamin dengan SSLmaka penyerang dapat kerajinan serangan khusus yang hanya menargetkan thes kelemahan. Ini adalah serangan langsung pada aplikasi tertentu.Aku akan menutupi serangan langsung secara lebih rinci dalam Bab 9 dari buku ini.
Proyek 1 = “Proxin” dan penyimpan data
          Mari di mulai dengan contoh sderhana yg di sebut proxin. Saya telah di kontrak untuk menulis aplikasi yang bisa mengirim sms lebih spesifik, menetapkan kontak dmna pengguna untuk membuat proxi untuk mengatur kordinat gps untuk di sderhanakan dengan aplikasi ini, pengguna bisa menambahkan istrinya sebgai kontak dan mempunyai aplikasi sms setiap waktu 3 mile dari tempat kerja dan rumah dengan cara ini, istrinya dapat mengatahui kapan suaminya di dekat rumah dan di tempat kerja.

          Kamu bisa menmgunduh dan sumber kode untuk aplikasi proxim dari sumber kode atau mengunduh area dari apress jaringan halaman ( www.apress.com ) untuk kepentingan kejernihan, mari melihat area yang paling penting.

        Setiap kali pengguna memilih tombol lokasi simpan atau tombol simpan kontak. Ini memicu kode sebelumnya. mari kita lihat lokasi (lihat daftar 2-2) dan kontak (lihat daftar 2-3) di klasifikasikan  secara lebih rinci. sementara kita bisa menerapkan salah satu penyimpan rutin utama, saya menjaga ini terpisah dalam kasus yang kebutuhan untuk bertindak atas objek yang berbeda dengan cara yang berbeda.

Sabtu, 14 November 2015

Tugas Bahasa Inggris - Android Aarchitecture 1

ANDROID ARCHITECTURE
Apa itu Pemisahaan Hak Istimewa ?
Pemisahan Hak Isimewa adalah fitur keamanan yang penting karena fitur ini menolak satu dari bayak tipe umum serangan. Di banyak kasus, serangan yang dilakukakan pertama bukanlah serangan yang paling efektif. Ini biasanya batu loncatan atau pintu gerbang untuk serangan yang lebih besar. Biasanya, penyerang pertama kali akan mengeksploitasi satu komponen dari system, dan sekali ada, mereka akan mencoba untuk menyerang komponen yang lebih penting di system. Jika kedua komponen ini berjalan dengan satu hak istimewa yang sama, sehingga ini adalah tugas yang sangat sepele untuk penyerang untuk melompati dari satu kmponen ke komponen selanjutnya. Dengan pemisahaan hak istimewa, tugas penyerang menjadi sangat sulit. Dia bisa meningkatkan atau mengganti hak istimewanya kepada komponen yang ingin dia serang. Pada cara ini, penyerangan berhenti, jika tidak melambat.
Karena Kernel melaksanakan pemisahaan hak istimewa, ini adalah salah satu inti desain fitur android. Filosofi dibalik desain ini untuk memastikan tidak ada aplikasi yang dapat membaca atau menulis kode atau data dari aplikasi lain, pengguna perangkat, atau system operasinya sendiri. Demikian, aplikasi mungkin tidak dapat semena-mena menggunakan tumpukan perangkat jaingan untuk menghubungkan remot server. Satu aplikasi mungkin tidak membaca langsung dari daftar kontak perangkat atau kalender. Fitur ini juga dikenal sebagai sand boxing. Setelah dua proses yang berjalan di-sandboxes mereka masing – masing, cara satu – satu nya mereka harus berkomunikasi dengan satu sama lain adalah untuk meminta izin secara eksplisit unutk meminta data.
Perizinan
Mari kita ambil contoh sederhana. Kita mempunyai aplikasi yang merekam suara dari mikrofon bawaan dari perangkat. Agar aplikasi ini bekerja dengan baik, sang pengembang telah memastikan untuk menambahkan permintaan dari izin RECORD_AUDIO di file aplikasi AndroidManifest.xml. ini mengizinkan aplikasi kita untuk meminta izin untuk menggunakan komponen system yang menangani perekaman suara. Tetapi yang menentukan apakah untuk memberi atau menolak akses? Android mengizinkan pengguna akhir untuk menampilkan proses terakhir persetujuan ini. Ketika pengguna memasang apliksai kita, dia diminta dengan menampilkan layar di angka 1-4. Itu bermanfaat untuk mencatat cepat untuk perizinan yang akan berlangsung ketika mengeksekusi aplikasi. Sebagai gantinya, perizinan perlu diberikan pada waktu pemasangan.
Jika kita tidak secara ekspilisit mengatur kebutuhan kita untuk izin RECORD_AUDIO, atau jika pemilik perangkat tidak memberikanv kita izin setelah kita memintanya, kemudian sebuah pengecualian akan dilempar oleh VM dan aplikasi akan gagal. Ini terserah kepada sang pengembang untuk mengetahui permintaan izin dan menangani scenario dimana izin tidak diberikan dengan menangkap pengecualian yang terkait. Untuk meminta izin ini, label berikut harus dimasukan kedalam data AndroidManifest.xml dari proyek :
<uses-permission android:name=”android.permission.RECORD_AUDIO” />
Daftar penuh dari perizinan diberikan di buku lampiran ini.
Penandaan Kode Aplikasi
Banyak aplikasi yang dijalankan pada sistem operasi Android yang harus di tandatangani. Android menggunakan sertifikat pengembang individu dalam pemesanan untuk mengidentifikasi mereka dan mendirikan hubungan terpercaya di antara banyak aplikasi-aplikasi yang dijalankan dalam sistem operasi tersbut. Sistem operasi tidak akan mengijinkan sebuah aplikasi yang tidak tertandatangani untuk di kelola. Penggunaan sebuah sertifikat pewenang untuk menandai sertifikat tidak diperlukan, dan android akan dengan mudah menjalankan banyak aplikasi yang telah tertanda dengan
Seperti izin pemeriksaan, sertifikat pemeriksaan dilakukan hanya pada saat pemasangan aplikasi. Oleh karena itu, jika sertifikat pembangun anda sudah berakhir setelah aplikasi anda terpasang di perangkat, maka aplikasi itu akan terus dikelola. Yang membuat perbadaan pada poin ini hanyalah anda harus menghasilkan sertifikat baru sebelum anda dapat membubuhkan aplikasi baru lainnya. Android membutuhkan dia sertifikat terpisah untuk menelusuri versi dari aplikasi anda dan mengeluarkan versi dari aplikasi anda. Biasanya, lingkungan Eclipse yang menjalankan alat pengembangan android (APA) telaj disusun untuk membantu mengembangkan kunci anda dan memasang sertifikat anda, sehingga aplikasi anda dapat di bungkus dan ditandai secara otomatis. Program simulasi sistem android menunjukkan reaksi identik dengan perangkat fisik. Seperti perangkat fisik, itu hanya akan mengelola aplikasi tertanda. Kami akan menutupi kode aplikasi tertanda secara detail, sebaik penerbitan dan penjualan aplikasi anda secara online.
Rangkuman
Seperti yang kita lihat sejauh ini, Android menerima dorongan luar biasa dalam sumber daya dan perhatian berkat pengambilalihan Google terhadap Android. Perawatan dan perhatian yang sama ini telah membantu propel Android ke salah satu sistem operasi smartphone yang tumbuh paling cepat di dunia saat ini. Model open source Android telah membantu jumlahnya bertambah, terutama karena banyak produsen hardware yang berbeda yang dapat menggunakan sistem operasi di ponsel mereka.
Kita juga telah melihat bahwa inti dari Android didasarkan pada kernel Linux. Dua tugas utama kernel adalah (1) untuk melayani sebagai jembatan antara hardware dan sistem operasi, dan (2) untuk menangani keamanan, manajemen memori, dan jaringan. Kernel biasanya salah satu komponen utama yang akan diubah ketika produsen hardware yang berbeda mulai mengadopsi Android untuk bekerja dengan perangkat keras mereka.
lapisan berikutnya yang terjadi di sekitar kernel Android adalah lapisan runtime yang terdiri dari perpustakaan inti dan Dalvik mesin virtual. Dalvik VM adalah bagian mendasar dari pelaksanaan aplikasi Anda pada platform android. Karena Anda akan melihat dalam bab-bab berikutnya, Dalvik VM memiliki beberapa fitur unik ketika datang ke mengeksekusi aplikasi dengan aman dan efisien dalam lingkungan terbatas sumber daya
Lapisan atas berikutnya yang akan ditambahkan adalah kerangka kerja dan aplikasi, masing-masing. Anda dapat memikirkan lapisan kerangka seperti jembatan lain antara API Java dan kode asli dan sistem proses asli berjalan di bawah. Ini adalah di mana semua API Java Android hidup. Semua perpustakaan yang ingin Anda impor ke dalam program Anda diimpor dari sini. Lapisan aplikasi adalah di mana aplikasi Anda akhirnya akan hidup dan bekerja. Anda akan berbagi ruang ini dengan aplikasi pengembang lain dan aplikasi Android dibundel seperti telepon, kalender, e-mail dan pesan aplikasi.
Kita kemudian melihat sebentar di risiko keamanan, bagaimana Anda memiliki tanggung jawab untuk melindungi pengguna akhir Anda, dan beberapa cara di mana Android memfasilitasi ini. tiga daerah yang kita lihat adalah pemisahan hak istimewa, hak akses, dan kode aplikasi penandatanganan. Di bab-bab berikutnya, kita akan membahas apa yang dapat Anda lakukan tidak hanya untuk memanfaatkan fitur ini, tetapi juga menambahkan sendiri tingkat keamanan dan pengguna akhir perlindungan.

Rabu, 11 November 2015

Tugas Bahasa Inggris - Operating System

OPERATING SYSTEM
The operating system is the most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs and applications. Operating systems perform basic tasks, such as recognizing input from keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers.
For large systems, the operating system has even greaterresponsibilities and powers. It is like traffic cop – it makes sure that different programs and users running at the same time do not interfere with each other. The operating system is also responsible for securit, ensuring that unauthorized users do not access the system.
There are some categories of operating system :

  • Multi-user : Allows two ro more users to run programs at the same time.
  • Multi-processing : Supports running a program on more than one CPU.
  • Multi-tasking : Allows more than one program to run concurrently.
  • Multi-threading : Allows different parts of a single program to run concurrently
  • Real-time : Responds to input instantly. Genera-purpose operating systems, such as DOS and UNIX, are not real-time.
OPEN SOURCE
Open Source Software is computer software with its source code made available with a license in which the copyright holder provides the rights to study, change and distribute the software to anyone and for any purpose. Open Source Software is often developed in a publice, collaborative manner. Open Source Software is most prominent example of open-source development and oftem compared to (technically defined) user-generated content or (legally defined) open-content movements.

CLOSE SOURCE
Closed Source (or proprietary) is a type of computer program source code development. With closed source software, the source code is not shared with the public for anyone to look at or make changes to. Closed source is the opposite of open source. Consider a software platform as a threshold, you can go to higher levels of abstraction and use APIs, libraries and code native but if you can’t go and edit the way the language or program does something due to fact that the code is not available or you are not allowed legally then that’s closed source.

BIT and BYTE
Bit (short for binary digit) is the smallest unit of data in a computer. A bit has a single binary value, either 0 or 1. Although computers usually provide instructions that can test and manipulate bits, they generally are designed to store data and execute instructions. While Byte is abbreviation of binary term, a unit of storage capable of holding a single character, is formed from 8 digit of bit. Next, is how to calculate bit to byte
1 bit                       = 1 or 0
1 byte                   = 8 bits
1 kilobytes          = 1024 bytes
1 megabytes      = 1024 kilobytes
1 gigabytes         = 1024 megabytes