KEAMANAN WEB SERVER DAN SEJARAH PERKEMBANGAN SPYWARE
TUGAS Dibuat untuk memenuhi nilai mata kuliah keamanan jaringan komputer Program Diploma Tiga (DIII)
Novan Bagus Haryanto 18082243 Jurusan Manajemen Informatika Akademi Manajemen Informatika dan Komputer “BSI Bandung” Bandung 2011
KEAMANAN WEB SERVER
Pengertian Web Server Web server merupakan software yang memberikan layanan data yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman - halaman web yang umumnya berbentuk dokumen HTML Macam - macam Web Server diantanya: 1. 2. 3. 4. 5. 6.
Apache Tomcat Microsoft windows Server 2003 Internet Information Services (IIS) Lighttpd Sun Java System Web Server Xitami Web Server Zeus Web Server
Namun web yang terkenal dan yang sering digunakan adalah Apache dan Microsoft Internet Information Service (IIS). Cara kerja web server Cara kerja Web Server Web server merupakan mesin dimana tempat aplikasi atau software beroperasi dalam medistribusikan web page ke user, tentu saja sesuai dengan permintaan user. Hubungan antara Web Server dan Browser Internet merupakan gabungan atau jaringan Komputer yg ada di seluruh dunia. Setelah terhubung secara fisik, Protocol TCP/IP (networking protocol) yg memungkinkan semua komputer dapat berkomunikasi satu dengan yg lainnya. Pada saat browser meminta data web page ke server maka instruksi permintaan data oleh browser tersebut di kemas di dalam TCP yg merupakan protocol transport dan dikirim ke alamat yg dalam hal ini merupakan protocol berikutnya yaitu Hyper Text Transfer Protocol (HTTP). HTTP ini merupakan protocol yg digunakan dalam World Wide Web (WWW) antar komputer yg terhubung dalam jaringan di dunia ini. Untuk mengenal protocol ini jelas sangan mudah sekali dimana setiap kali anda mengetik http://… anda telah menggunakannya, dan membawa anda ke dunia internet. Data yg di passing dari browser ke Web server disebut sebagai HTTP request yg meminta web page dan kemudian web server akan mencari data HTML yg ada dan di kemas dalam TCP protocol dan di kirim kembali ke browser. Data yg dikirim dari server ke browser disebut sebagai HTTP response. Jika data yg diminta oleh browser tidak ditemukan oleh si Web server maka akan meninbulkan error yg sering anda lihat di web page yaitu Error : 404 Page Not Found. Hal ini memberikan cita rasa dari suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu
dokumen ke dokumen yang lain hanya dengan mengklik beberapa bagian dari halaman-halaman dokumen (web) itu. Proses yang dimulai dari permintaan webclient (browser), diterima web server, diproses, dan dikembalikan hasil prosesnya oleh web server ke web client lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang diperolehnya dari web clientnya. Celah Keamanan dan Pengamanan Web Server Open Web Application Security Project (OWASP) adalah project open source yang dibangun untuk menemukan penyebab dari tidak amannya sebuah software dan menemukan cara menanganinya. Ada 10 celah kemanan aplikasi web yang ditemukan dan rekomendasi mereka tentang menanganinya sebagai sebuah standard keamanan minimal dari aplikasi web. Berikut ini adalah 10 celah tersebut dan cara agar kita dapat mengatasi masalah tersebut. I. Unvalidated input Semua aplikasi web menampilkan data dari HTTP request yang dibuat oleh user dan menggunakan data tersebut untuk melakukan operasinya. Hacker dapat memanipulasi bagian - bagian pada request (query string, cookie information, header) untuk membypass mekanisme keamanan. Berikut ini tiga jenis penyerangan yang berhubungan dengan masalah ini: • Cross site scripting • Buffer overflows • Injection flaws Ada beberapa hal yang dapat dicatat ketika menangani validasi pada aplikasi kita. Pertama, adalah tidak baik pada aplikasi web untuk percaya pada client side scripting. Script tersebut biasanya menghentikan form submission apabila terdapat sebuah input yang salah. Akan tetapi, script tersebut tidak dapat mencegah hacker untuk membuat HTTP requestnya sendiri yang terbebas dari form. Menggunakan client side validation masih bisa membuat aplikasi web yang mudah diserang. Kedua, beberapa aplikasi menggunakan pendekatan "negative" (negative approach) pada validasinya : Aplikasi mencoba mendeteksi jika terdapat elemen yang berbahaya pada request parameter. Masalah dari jenis pendekatan ini adalah hanya bisa melindungi dari beberapa serangan yaitu hanya serangan yang dikenali oleh validation code yang dicegah. Ada banyak cara dimana hacker dapat membypass keamanan dari unvalidated input. Masih ada kemungkinan dimana cara yang baru tidak dikenali oleh aplikasi dapat
membypass validasi dan melakukan perusakan. Adalah cara yang lebih baik untuk menggunakan pendekatan "positive" (positive approach) yaitu membatasi sebuah format atau pola untuk nilai yang diijinkan dan memastikan input tersebut sesuai dengan format tersebut. II. Broken Access Control Banyak aplikasi yang mengkategorikan user-usernya ke dalam role yang berbeda dan level yang berbeda untuk berinteraksi dengan content yang dibedakan dari kategori-kategori tersebut. Salah satu contohnya, banyak aplikasi yang terdapat user role dan admin role : hanya admin role yang diijinkan untuk mengakses halaman khusus atau melakukan action administration. Masalahnya adalah beberapa aplikasi tidak efektif untuk memaksa agar otorisasi ini bekerja. Contohnya, beberapa program hanya menggunakan sebuah checkpoint dimana hanya user yang terpilih yang dapat mengakses untuk proses lebih lanjut, user harus membuktikan dirinya terotorisasi dengan menggunakan user name dan password. Akan tetapi, Mereka tidak menjalankan pengecekan dari checkpoint sebelumnya dimana apabila user berhasil melewati halaman login, mereka dapat bebas menjalankan operasi. Masalah lain yang berhubungan dengan access control adalah: •
•
Insecure Ids – Beberapa site menggunakan id atau kunci yang menunjuk kepada user atau fungsi. ID dapat juga ditebak, dan jika hacker dapat mudah menebak ID dari user yang terautorisasi, maka site akan mudah diserang. File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar dari user yang terotorisasi dan resources mana saja yang dapat dan/atau tidak dapat diakses. Apabila file ini dapat dibaca dari luar, maka hacker dapat memodifikasi dengan mudah untuk menambahkan dirinya pada daftar user yang diijinkan.
Langkah-langkah apa saja yang dapat dilakukan untuk mengatasinya? Pada contoh-contoh tadi, kita dapat mengembangkan filter atau komponen yang dapat dijalankan pada sensitive resources. Filter atau komponen tadi dapat menjamin hanya user yang terotorisasi dapat mengakases. Untuk melindungi dari insecure Ids, kita harus mengembangkan aplikasi kita agar tidak percaya pada kerahasiaan dari Ids yang dapat memberi access control. Pada masalah file permission, file-file tersebut harus berada pada lokasi yang tidak dapat diakses oleh web browser dan hanya role tertentu saja yang dapat mengaksesnya. III. Broken Authentication dan Session Management
Authentication dan session management menunjuk kepada semua aspek dari pengaturan user authentikasi dan management of active session. Berikut ini beberapa hal yang perlu diperhatikan :
•
•
Password strength – Aplikasi kita harus memberikan level minimal dari keamanan sebuah password, dimana dapat dilihat dengan cara melihat panjang dari password dan kompleksitasnya. Contohnya sebuah aplikasi dimana terdapat user baru yang akan mendaftar : aplikasi tidak mengijinkan password dengan panjang 3-4 karakter atau kata - kata simpel yang dapat mudah ditebak oleh hacker. Password use – Aplikasi kita harus membatasi user yang mengakses aplikasi melakukan login kembali ke sistem pada tenggang waktu tertentu. Dengan cara ini aplikasi dapat dilindungi dari serangan brute force dimana hacker bisa menyerang berulang kali untuk berhasil login ke sistem. Selain itu, log in yang gagal sebaiknya dicatat sebagai informasi kepada administrator untuk mengindikasikan kemungkinan serangan yang terjadi.
•
Password storage – password tidak boleh disimpan di dalam aplikasi. Password harus disimpan dalam format terenkripsi dan disimpan di file lain seperti file database atau file password. Hal ini dapat memastikan bahwa informasi yang sensitif seperti password tidak disebarkan ke dalam aplikasi. Issue lain yang berhubungan : password tidak boleh dalam bentuk hardcoded di dalam source code.
•
Session ID Protection – server biasanya menggunakan session Id untuk mengidentifikasi user yang masuk ke dalam session. Akan tetapi jika session ID ini dapat dilihat oleh seseorang pada jaringan yang sama, orang tersebut dapat menjadi seorang client. Salah satu cara yang dapat digunakan untuk mencegah terlihatnya session ID oleh seseorang pada suatu jaringan yang sama adalah menghubungkan komunikasi antara sever dan client pada sebuah SSL-protected channel.
IV. Cross site scripting Cross site scripting terjadi ketika seseorang membuat aplikasi web melalui script ke user lain. Hal ini dilakukan oleh penyerang dengan menambahkan content (seperti JavaScript, ActiveX, Flash) pada request yang dapat membuat HTML output yang dapat dilihat oleh user lain. Apabila ada user lain yang mengakses content tersebut, browser tidak mengetahui bahwa halaman tersebut tidak dapat dipercaya. Cara yang bisa digunakan untuk mencegah serangan cross site scripting adalah dengan melakukan validasi data masuk dari user request (seperti header, cookie, user parameter, ...). Cara negative
approach tidak digunakan : mencoba untuk memfilter active content merupakan cara yang tidak efektif. V. Buffer overflows Penyerang dapat menggunakan buffer overflows untuk merusak aplikasi web. Hal ini dilakukan karena penyerang mengirimkan request yang membuat server menjalankan kode-kode yang dikirimkan oleh penyerang. Kelemahan buffer overflow biasanya sulit dideteksi dan sulit dilakukan oleh hacker. Akan tetapi penyerang masih bisa mencari kelemahan ini dan melakukan buffer overflow pada sebagian aplikasi web. Untuk memastikan keamanan, cara yang paling baik adalah melakukan pengawasan apabila terdapat patch atau bug report dari produk server yang digunakan. VI. Injection flaws Salah satu kelemahan yang populer adalah injection flaw, dimana hacker dapat mengirimkan atau menginject request ke operating system atau ke external sumber seperti database. Salah satu bentuknya adalah SQL injection. Berikut ini salah satu contoh dari SQL injection : http://someServer/someApp/someAction?searchString=jedi URL diatas akan memproses pencarian dengan kata kunci 'jedi'. Implementasi dimana tidak ada validasi input adalah seperti SQL code berikut ini : select * from someTable where someField='value' dimana value adalah nilai dari parameter searchString yang ada pada HTTP request. Bagaimana jika, hacker melakukan input dari URL seperti ini : http://someServer/someApp/someAction?searchString=jedi'%20AND %20true; %20DROP%20DATABASE;' SQL query yang terbentuk adalah seperti ini : select * from someTable where someField='jedi' AND true; DROP DATABASE;'' Statement awal pasti akan diterima dimana terdapat klausa AND TRUE. Dan statement selanjutnya yaitu DROP DATABASE juga akan diekseskusi yang akan memberikan kerusakan pada aplikasi.
Serangan ini bisa mungkin terjadi karena input yang tidak divalidasi. Ada dua cara yang bisa dilakukan untuk mencegah serangan ini yaitu: •
Daripada menggunakan statement SELECT, INSERT, UPDATE dan DELETE statement, bisa dibuat fungsi yang melakukan hal serupa. Dengan menggunakan fungsi diharapkan ada pengamanan terhadap parameter. Selain itu dengan adanya fungsi, parameter yang masuk harus sama dengan tipe data dari parameter yang dideklarasikan.
•
Hak akses dalam aplikasi juga harus dibatasi. Contohnya, jika aplikasi hanya bertujuan untuk melihat data, tidak perlu diberikan hak akses untuk melakukan INSERT, UPDATE atau DELETE. Jangan menggunakan account admin pada aplikasi web untuk mengakases database. Hal ini juga dapat meminimailkan serangan dari hacker.
VIII. Insecure storage Aplikasi web biasanya perlu menyimpan informasi yang sensitif seperti password, informasi kartu kredit, dan yang lain. Dikarenakan item-item tersebut bersifat sensitif item-item tersebut perlu dienkripsi untuk menghindari pengaksesan secara langsung. Akan tetapi beberapa metode enkripsi masih lemah dan masih bisa diserang. Berikut ini beberapa kesalahan yang sering terjadi : • • • • • •
Kesalahan untuk mengenkripsi data penting Tidak amannya kunci, certificate, dan password Kurang amannya lokasi penyimpanan data Kurangnya penghitungan dari randomisasi Kesalahan pemilihan algoritma Mencoba untuk menciptakan algoritma enkripsi yang baru
Berdasarkan skenario berikut ini : Terdapat sebuah aplikasi, dimana terdapat password pada user object. Akan tetapi, aplikasi menyimpan user object ke dalam session setelah user login. Permasalahan yang akan muncul pada skenario ini adalah password dapat dilihat oleh seseorang yang dapat melihat session dari user tersebut. Salah satu cara yang dilakukan untuk menghindari kesalahan penyimpanan informasi yang sensitif adalah tidak membuat password sebagai atribut dari kelas yang mewakili informasi user. Daripada mengenkripsi nomor kartu kredit dari user, akan lebih baik untuk menanyakannya setiap kali dibutuhkan. Selain itu, menggunakan algoritma enkripsi yang sudah ada akan lebih baik daripada membuat algoritma sendiri. Anda cukup
memastikan algoritma yang akan digunakan telah diakui oleh public dan benar-benar dapat diandalkan. IX. Denial of Service Denial of Service merupakan serangan yang dibuat oleh hacker yang mengirimkan request dalam jumlah yang sangat besar dan dalam waktu yang bersamaan. Dikarenakan request-request tersebut, server menjadi kelebihan beban dan tidak bisa melayani user lainnya. Serangan DoS mampu menghabiskan bandwidth yang ada pada server. Selain itu dapat juga menghabiskan memory, koneksi database, dan sumber yang lain. Pada umumnya sangat sulit untuk melindungi aplikasi dari serangan ini. Akan tetapi masih ada cara yang dapat dilakukan seperti membatasi resource yang dapat diakses user dalam jumlah yang minimal. Merupakan ide / cara yang bagus untuk membuat load quota yang membatasi jumlah load data yang akan diakses user dari sistem. Salah satu contoh adalah pada implementasi bulletin board : adanya pembatasan user pada saat melakukan search, dimana operasi ini hanya dapat dilakukan setiap 20 detik. Dengan cara ini dapat dipastikan bahwa user tidak bisa menghabiskan koneksi dari database. Solusi yang lain adalah mendesain aplikasi web dimana user yang belum terotorisasi hanya memiliki akses yang sedikit atau tidak memiliki akses ke content web yang berhubungan dengan database. X. Insecure Configuration Management Biasanya kelompok (group) yang mengembangkan aplikasi berbeda dengan kelompok yang mengatur hosting dari aplikasi. Hal ini bisa menjadi berbahaya, dikarenakan keamanan yang diandalkan hanya dari segi aplikasi : sedangakan dari segi server juga memiliki aspek keamanan yang perlu diperhatikan. Adanya kesalahan dari konfigurasi server dapat melewati aspek keamanan dari segi aplikasi. Berikut ini adalah kesalahan konfigurasi server yang bisa menimbulkan masalah : • Celah keamanan yang belum dipatch dari software yang ada pada server • Celah keamanan server dimana bisa menampilkan list dari direktori • File-file backup atau file contoh, file-script, file konfigurasi yang tertinggal • Hak akses direktori atau file yang salah. • Adanya service remote administration & content management yang aktif.
• • • • • • •
Penggunaan default account dan default password. Fungsi administrative atau fungsi debug yang bisa diakses. Adanya pesan error yang informatif dari segi teknis. Kesalahan konfigurasi SSL certificate dan setting enkripsi. Penggunaan self-signet certificates untuk melakukan autentikasi. Penggunaan default certificate. Kesalahan autentikasi dengan sistem eksternal.
SEJARAH PERKEMBANGAN SPYWARE Pengertian Spyware Spyware adalah istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada salah satu bentuk perangkat lunak mencurigakan (malicious software/malware) yang menginstalasikan dirinya sendiri ke dalam sebuah sistem untuk mencuri data milik pengguna. Spyware merupakan turunan dari adware, yang memantau kebiasaan pengguna dalam melakukan penjelajahan Internet untuk mendatangkan "segudang iklan" kepada pengguna. Tetapi, karena adware kurang begitu berbahaya (tidak melakukan pencurian data), spyware melakukannya dan mengirimkan hasil yang ia kumpulkan kepada pembuatnya (adware umumnya hanya mengirimkan data kepada perusahaan marketing). Spyware merupakan jenis malware yang dapat diinstal pada komputer, dan yang mengumpulkan potongan kecil informasi tentang pengguna tanpa pengetahuan mereka. Kehadiran spyware biasanya disembunyikan dari pengguna, dan dapat sulit untuk dideteksi. Biasanya, spyware adalah diam-diam diinstal pada komputer pribadi pengguna. Kadang-kadang, bagaimanapun, spywares seperti keyloggers dipasang oleh pemilik komputer publik, perusahaan, atau publik pada tujuan untuk diam-diam memantau pengguna lain.
Spyware program berkisar dari mengganggu ke berbahaya, termasuk penebang keyboard dan aplikasi screen capture yang dapat mencuri password dan informasi sensitif lainnya. Program kadangkadang dibundel dengan shareware atau program freeware yang dapat didownload dari Internet. Sering kali mereka mengklaim sebagai utilitas berguna yang juga membawa sisi yang lebih jahat. Banyak program dipasarkan sebagai alat yang sah untuk menjaga tab pada anak-anak dan pasangan secara online. Salah satu program yang disebut Activity Logger, misalnya, terhubung ke Internet sendiri, catatan URL situs yang dikunjungi dan penekanan tombol dari e-mail dan aplikasi chatting. Ini juga akan menangkap screenshot yang dapat dibuat menjadi slide show. Spyware sering dikaitkan dengan perangkat lunak yang menampilkan iklan (adware disebut) atau software yang melacak informasi pribadi atau sensitif. Sebagai contoh, Anda mungkin mendaftar untuk layanan musik gratis, namun Anda "membayar" untuk layanan ini dengan menyetujui untuk menerima iklan bertarget. Jika Anda memahami persyaratan dan setuju untuk mereka, Anda mungkin telah memutuskan bahwa itu adalah tradeoff adil. Anda juga mungkin setuju untuk membiarkan perusahaan melacak aktivitas online Anda untuk menentukan iklan mana yang menunjukkan. Jenis lain dari spyware melakukan perubahan pada komputer anda yang dapat mengganggu dan dapat menyebabkan komputer Anda melambat atau crash. Program-program ini dapat mengubah halaman web browser Anda atau halaman pencarian, atau menambahkan komponen tambahan untuk browser Anda Anda tidak perlu atau inginkan. Mereka juga membuat sangat sulit bagi Anda untuk mengubah pengaturan Anda kembali dengan cara Anda memilikinya. spyware menunjukkan perangkat lunak yang diam-diam memonitor komputasi pengguna, fungsi dari spyware meluas melewati pemantauan sederhana. Program spyware dapat mengumpulkan berbagai jenis informasi pribadi, seperti kebiasaan surfing internet dan situs yang telah dikunjungi, tetapi juga dapat mengganggu kontrol pengguna dari komputer dengan cara lain, seperti menginstal software tambahan dan mengarahkan aktivitas web browser. Spyware dikenal untuk mengubah pengaturan komputer, sehingga kecepatan koneksi yang lambat, halaman rumah yang berbeda, dan / atau kehilangan koneksi internet atau fungsi dari program lain. Dalam upaya untuk meningkatkan pemahaman dari spyware, klasifikasi yang lebih formal termasuk jenis software-nya disediakan oleh perangkat lunak privasi-invasif panjang.
Sejarah dan Perkembangan Spyware
Penggunaan tercatat pertama dari istilah spyware terjadi pada tanggal 16 Oktober 1995 pada sebuah posting Usenet yang menyodok menyenangkan pada model bisnis Microsoft . Spyware pada perangkat lunak dinotasikan pertama dimaksudkan untuk tujuan spionase. Namun, pada awal 2000, pendiri Zone Labs, Gregor Freund, digunakan istilah dalam siaran pers untuk ZoneAlarm Personal Firewall . Sejak saat itu., "Spyware" telah diambil pada akal sekarang . Menurut sebuah riset 2005. studi oleh AOL dan National Cyber-Security Alliance, 61 persen dari komputer pengguna disurvei 'terinfeksi dengan bentuk spyware. 92 persen pengguna disurvei dengan spyware melaporkan bahwa mereka tidak mengetahui kehadirannya, dan 91 persen melaporkan bahwa mereka tidak diberikan izin untuk instalasi spyware. Pada 2006, spyware telah menjadi salah satu ancaman keamanan unggul ke komputer sistem yang menjalankan Microsoft sistem operasi Windows. Komputer yang Internet Explorer (IE) adalah browser utama sangat rentan terhadap serangan tersebut, tidak hanya karena IE adalah yang paling banyak digunakan, tetapi karena integrasi yang erat dengan Windows memungkinkan akses spyware ke bagian penting dari sistem operasi . Sebelum Internet Explorer 6 SP2 dirilis sebagai bagian dari Windows XP Service Pack 2, browser secara otomatis akan menampilkan jendela instalasi untuk setiap komponen ActiveX yang website ingin menginstal. Kombinasi dari malware pengguna naif tentang, dan asumsi oleh Internet Explorer yang semua komponen ActiveX yang jinak, dipimpin, sebagian, untuk penyebaran besar spyware. komponen spyware Banyak juga akan memanfaatkan eksploit Javascript, Internet Explorer dan Windows untuk menginstal tanpa sepengetahuan pengguna atau izin. Registry Windows berisi beberapa bagian mana modifikasi nilai kunci memungkinkan software yang akan dijalankan secara otomatis ketika boot sistem operasi. Spyware dapat memanfaatkan desain ini untuk menghindari upaya penghapusan. spyware biasanya akan menghubungkan diri dari setiap lokasi di registry yang memungkinkan eksekusi. Setelah berjalan, spyware secara berkala akan memeriksa jika ada link tersebut dihapus. Jika demikian, maka akan secara otomatis dikembalikan. Hal ini menjamin bahwa spyware akan mengeksekusi ketika sistem operasi di-boot, meskipun beberapa (atau sebagian besar) dari link di registri dihapus. Penyebaran Spyware Spyware tidak langsung menyebar dalam cara virus komputer atau worm, sistem yang terinfeksi tidak berusaha untuk menularkan infeksi ke komputer lain. Sebaliknya, spyware mendapat pada sistem melalui penipuan pengguna atau melalui eksploitasi kerentanan perangkat lunak. Kebanyakan spyware diinstal tanpa sepengetahuan pengguna. Karena mereka cenderung tidak untuk menginstal perangkat lunak jika
mereka tahu bahwa itu akan mengganggu lingkungan kerja mereka dan kompromi privasi mereka, spyware menipu pengguna, baik dengan membonceng sebuah software yang diinginkan seperti Kazaa, atau dengan menipu mereka ke menginstal itu (Trojan horse method). Beberapa "nakal" spyware program menyamar sebagai perangkat lunak keamanan. Distributor dari spyware biasanya menyajikan program sebagai utilitas yang berguna-misalnya sebagai "akselerator Web" atau sebagai agen perangkat lunak membantu. Pengguna download dan menginstal perangkat lunak tanpa segera menduga bahwa hal itu bisa menyebabkan kerusakan. Sebagai contoh, Bonzi Buddy, program dibundel dengan spyware dan ditujukan pada anak-anak, menyatakan bahwa: Ia akan menjelajahi Internet dengan Anda sebagai teman Anda sendiri dan sahabat karib! Dia bisa bicara, berjalan, bercanda, telusuri, cari, e-mail, dan download tidak seperti teman yang lain yang pernah Anda alami! Dia bahkan memiliki kemampuan untuk membandingkan harga pada produk yang Anda cintai dan membantu Anda menghemat uang! Terbaik semua, dia GRATIS! Spyware juga bisa datang digabungkan dengan perangkat lunak lain. Pengguna download dan menginstal sebuah program, dan installer tambahan menginstal spyware. Meskipun perangkat lunak yang diinginkan sendiri mungkin tidak membahayakan, spyware bundled tidak. Dalam beberapa kasus, penulis spyware telah membayar pengarang shareware untuk spyware bundel dengan perangkat lunak mereka. Dalam kasus lain, penulis spyware telah dikemas kembali diinginkan freeware dengan instalatir yang menanamkan spyware. Beberapa penulis spyware menginfeksi sistem melalui lubang keamanan di browser Web atau perangkat lunak lain. Ketika pengguna menavigasi ke halaman Web yang dikendalikan oleh penulis spyware, halaman tersebut berisi kode yang menyerang browser dan memaksa download dan instalasi spyware. Penulis spyware juga akan memiliki pengetahuan luas tersedia secara komersial-anti-virus dan software firewall. Hal ini telah menjadi dikenal sebagai "-download drive oleh", yang meninggalkan pengguna penonton malang untuk menyerang. Common browser exploits target kerentanan keamanan di Internet Explorer dan di runtime Java Sun Microsystems. Instalasi spyware sering melibatkan Internet Explorer. Popularitasnya dan sejarah masalah keamanan telah membuat target yang paling sering. integrasi yang mendalam Its dengan lingkungan Windows dan scriptability membuat titik jelas serangan ke Windows. Internet Explorer juga berfungsi sebagai titik lampiran untuk spyware dalam bentuk Browser Helper Objects, yang memodifikasi perilaku browser untuk menambahkan toolbar atau untuk mengarahkan lalu lintas.
Dalam beberapa kasus, sebuah worm atau virus telah memberikan muatan spyware. Beberapa penyerang menggunakan cacing Spybot untuk menginstal spyware yang menempatkan pornografi pop-up di layar sistem terinfeksi. Dengan mengarahkan lalu lintas ke iklan yang dibentuk untuk menyalurkan dana kepada para penulis spyware, mereka keuntungan pribadi. Contoh Program Spyware Program-program spyware yang umum menggambarkan keragaman perilaku yang ditemukan dalam serangan ini. Perhatikan bahwa dengan virus komputer, para peneliti memberi nama program spyware yang tidak dapat digunakan oleh pencipta mereka. Program dapat dikelompokkan ke dalam "keluarga" tidak didasarkan pada kode program bersama, tetapi pada perilaku umum, atau dengan "mengikuti uang" hubungan keuangan atau bisnis yang jelas. Sebagai contoh, sejumlah program spyware didistribusikan oleh Claria secara kolektif dikenal sebagai "Gator". Demikian juga, program yang sering dipasang bersama-sama dapat digambarkan sebagai bagian dari paket spyware sama, bahkan jika mereka berfungsi secara terpisah. CoolWebSearch, sekelompok program, mengambil keuntungan dari kerentanan Internet Explorer. Paket ini mengarahkan lalu lintas ke iklan di situs Web termasuk coolwebsearch.com. Ini menampilkan iklan pop-up, menulis ulang hasil pencarian mesin, dan mengubah host file komputer yang terinfeksi untuk mengarahkan DNS lookups ke situs tersebut. Internet Optimizer, juga dikenal sebagai DyFuCa, pengalihan kesalahan halaman Internet Explorer untuk iklan. Bila pengguna mengikuti link yang rusak atau memasukkan URL yang salah, mereka melihat halaman iklan. Namun, karena situs web yang dilindungi sandi (HTTP Basic otentikasi) menggunakan mekanisme yang sama seperti kesalahan HTTP, Internet Optimizer tidak memungkinkan bagi pengguna untuk mengakses situs yang dilindungi sandi. HuntBar, alias WinTools atau Adware.Websearch, dipasang oleh ActiveX drive-by download di situs web afiliasi, atau dengan iklan lain yang ditampilkan oleh spyware program contoh-an tentang bagaimana spyware dapat menginstal spyware lebih. Program-program ini menambahkan toolbar ke IE, melacak perilaku browsing agregat, referensi pengalihan afiliasi, dan menampilkan iklan. Movieland, juga dikenal sebagai Moviepass.tv dan Popcorn.net, adalah download film layanan yang telah menjadi subyek dari ribuan pengaduan ke Federal Trade Commission (FTC), Washington Negara Kejaksaan Agung, Better Business Bureau, dan lembaga lainnya. Konsumen mengeluh mereka disandera oleh siklus besar jendela popup menuntut pembayaran minimal $ 29,95, mengklaim bahwa mereka telah mendaftar untuk sebuah percobaan gratis selama tiga hari tetapi tidak dibatalkan sebelum masa percobaan selesai, dan dengan
demikian wajib untuk membayar [33] [34] FTC mengajukan keluhan, karena menetap, terhadap Movieland dan tergugat lainnya sebelas menuduh mereka memiliki "terlibat dalam skema nasional untuk menggunakan penipuan dan pemaksaan untuk mengambil pembayaran dari konsumen.". WeatherStudio memiliki plugin yang menampilkan jendelapanel di dekat bagian bawah jendela browser. Catatan situs resmi yang mudah untuk menghapus (uninstall) WeatherStudio dari komputer, dengan menggunakan sendiri-uninstall program, seperti di bawah C: \ Program Files \ WeatherStudio . Sekali WeatherStudio dihapus, browser kembali ke sebelumnya. tampilan layar, tanpa perlu memodifikasi pengaturan browser. Zango (sebelumnya 180 Solusi) mengirimkan informasi rinci kepada pengiklan tentang situs Web yang dikunjungi pengguna. Hal ini juga mengubah permintaan HTTP untuk iklan afiliasi link dari situs Web, sehingga iklan membuat ditangguhkan keuntungan bagi perusahaan Solusi 180. Ini membuka iklan pop-up yang menutupi situs Web perusahaan bersaing (seperti terlihat pada mereka [Zango Perjanjian Lisensi Pengguna Akhir]). Trojan Zlob, atau hanya Zlob, download sendiri ke komputer melalui sebuah codec ActiveX dan informasi laporan kembali ke Control Server [rujukan?]. Beberapa informasi dapat mencari-sejarah, Website dikunjungi, dan bahkan penekanan tombol. Baru-baru ini, Zlob telah dikenal untuk membajak router diatur ke default. Salah Satu Contoh Adware adalah Produk AddOns untuk Windows Live Messenger yaitu Windows Live Messenger Plus . Contoh Program Anti Spyware Banyak programmer dan beberapa perusahaan-perusahaan komersial telah merilis produk yang didedikasikan untuk menghapus atau memblokir spyware. Steve Gibson OptOut memelopori kategori berkembang. Program seperti PC Tools 'Spyware Doctor, Ad-Aware Lavasoft's SE (scan gratis untuk pengguna non-komersial, harus membayar untuk fitur lainnya) dan Patrick Kolla's Spybot - Search & Destroy (semua fitur gratis untuk penggunaan non-komersial) dengan cepat mendapatkan popularitas sebagai alat yang efektif untuk menghapus, dan dalam beberapa mencegat kasus, program spyware. Pada tanggal 16 Desember 2004, Microsoft mengakuisisi perangkat lunak GIANT AntiSpyware, rebranding sebagai AntiSpyware beta Windows dan melepaskannya sebagai download gratis untuk Genuine Windows XP dan Windows 2003 pengguna. Pada tahun 2006, Microsoft berganti nama perangkat lunak beta untuk Windows Defender (gratis), dan dirilis sebagai download gratis pada bulan Oktober 2006 dan termasuk sebagai standar dengan Windows Vista serta Windows 7.
Mayor anti-virus perusahaan-perusahaan seperti Symantec, PC Tools, McAfee dan Sophos telah datang kemudian ke meja, menambahkan fitur anti-spyware untuk produk yang ada anti-virus. Awal, anti-virus perusahaan menyatakan keengganan untuk menambahkan fungsi-fungsi anti-spyware, mengutip tuntutan hukum yang dibawa oleh penulis spyware terhadap penulis situs web dan program-program yang menggambarkan produk mereka sebagai "spyware". Namun, versi terbaru dari perusahaan-perusahaan besar rumah 'dan anti-virus produk bisnis sertakan fungsi anti-spyware, meskipun diperlakukan berbeda dari virus. Symantec Anti-Virus, misalnya, mengkategorikan program spyware sebagai "ancaman diperpanjang" dan sekarang menawarkan perlindungan real-time dari mereka (seperti halnya untuk virus). Baru-baru ini, Perusahaan anti-virus Grisoft, pembuat AVG Anti-Virus, anti-spyware mengakuisisi perusahaan Ewido Jaringan, relabel mereka Ewido program anti-spyware AVG Anti-Spyware Professional Edition. AVG juga menggunakan produk ini untuk menambahkan sebuah solusi anti-spyware terpadu untuk beberapa versi dari keluarga Anti-Virus AVG produk, dan sebuah freeware AVG Anti-Spyware Free Edition tersedia untuk penggunaan pribadi dan nonkomersial. Hal ini menunjukkan tren oleh perusahaan anti virus untuk meluncurkan solusi yang didedikasikan untuk spyware dan malware. Zone Labs, pencipta firewall Zone Alarm juga merilis program antispyware.