Keamanan

Apa itu Keamanan Perangkat Lunak?

Apa itu Keamanan Perangkat Lunak?
Keamanan perangkat lunak adalah pembangunan perangkat lunak yang aman dengan pertahanan yang melekat sehingga terus berfungsi di bawah serangan berbahaya, untuk kepuasan pengguna dan pemilik perangkat lunak. Artikel ini menjelaskan ancaman dan solusi, dari sudut pandang umum. Kosakata standar dalam keamanan informasi juga dijelaskan. Anda harus melek komputer dan internet untuk memahami artikel ini; Anda juga harus mempelajari bahasa komputer, e.g., Perl, C, C++, PHP, dll.

Yang diamankan adalah informasi dan paket software (aplikasi dan dokumen). Informasi adalah setiap pesan yang berguna bagi siapa saja. "Informasi" adalah kata yang tidak jelas. Konteks di mana ia digunakan memberikan maknanya. Ini bisa berarti berita, kuliah, tutorial (atau pelajaran), atau solusi. Paket perangkat lunak biasanya merupakan solusi untuk beberapa masalah atau masalah terkait. Di masa lalu, semua informasi yang tidak diucapkan ditulis di atas kertas. Saat ini, perangkat lunak dapat dianggap sebagai bagian dari informasi.

Perangkat lunak dapat berada di komputer, atau dalam perjalanan dari satu komputer ke komputer lain. File, data, email, rekaman suara, rekaman video, program, dan aplikasi tersimpan di komputer. Saat berada di komputer, itu bisa rusak. Saat dalam perjalanan, itu masih bisa rusak.

Perangkat apa pun dengan prosesor dan memori adalah komputer. Jadi, dalam artikel ini, kalkulator, smartphone, atau tablet (mis.g., iPad) adalah komputer. Masing-masing perangkat ini dan media transmisi jaringannya memiliki perangkat lunak, atau perangkat lunak dalam perjalanan yang harus dilindungi.

Hak istimewa

Seorang pengguna dapat diberikan hak istimewa untuk mengeksekusi file di komputer. Seorang pengguna dapat diberikan hak istimewa untuk membaca kode file di komputer. Seorang pengguna dapat diberikan hak istimewa untuk memodifikasi (menulis) kode file di komputer. Seorang Pengguna dapat diberikan satu, dua, atau ketiga hak istimewa ini. Ada hak istimewa lain untuk sistem operasi atau database. Pengguna memiliki jumlah atau tingkat hak istimewa yang berbeda dalam suatu sistem.

Ancaman

Dasar Ancaman Perangkat Lunak

Untuk melindungi perangkat lunak, Anda harus mengetahui ancamannya. Perangkat lunak harus dilindungi dari orang yang tidak berwenang yang mengakses datanya. Itu harus dilindungi dari penggunaan yang melanggar hukum (untuk menyebabkan kerugian, misalnya). Perangkat lunak harus dilindungi dari pengungkapan kepada pesaing. Perangkat lunak tidak boleh rusak. Perangkat lunak tidak boleh dihapus secara tidak sengaja. Perangkat lunak tidak boleh terganggu. Perangkat lunak tidak boleh memiliki modifikasi apa pun yang tidak pantas. Data (perangkat lunak) tidak boleh diperiksa tanpa alasan yang jelas, terutama oleh orang yang tidak berwenang. Perangkat lunak tidak boleh disalin (bajakan).

Satu atau lebih dari pangkalan ini, menghasilkan jenis ancaman klasik tertentu.

Kelas Ancaman Perangkat Lunak

Serangan Spoofing

Ini adalah situasi di mana seseorang (atau program) berhasil mewakili orang lain (atau program) dalam beberapa aktivitas perangkat lunak. Ini dilakukan dengan menggunakan data palsu untuk mendapatkan keuntungan yang ilegal.

Penolakan

Ini adalah situasi di mana seseorang melakukan sesuatu yang salah, dan menolak bahwa dia bukan orang yang melakukannya. Orang tersebut dapat menggunakan tanda tangan orang lain untuk melakukan hal yang salah.

Pelanggaran Data

Pelanggaran data adalah ketika informasi yang aman atau pribadi dilepaskan secara sengaja atau tidak sengaja ke lingkungan yang tidak tepercaya.

Serangan Denial-of-Service

Jaringan komputer perangkat lunak memiliki perangkat lunak yang berjalan di komputer jaringan. Setiap pengguna biasanya menggunakan komputernya di depannya dan biasanya meminta layanan dari komputer lain dalam jaringan. Pengguna kriminal dapat memutuskan untuk membanjiri server dengan permintaan yang berlebihan. Server memiliki jumlah permintaan terbatas yang dapat ditangani dalam durasi. Dalam skema banjir ini, pengguna yang sah tidak dapat menggunakan server sesering yang seharusnya, karena server sibuk menanggapi permintaan penjahat. Ini membebani server, sementara atau tanpa batas waktu mengganggu layanan server. Dalam perjalanan ini, tuan rumah (server) melambat dalam operasi untuk pengguna yang sah, sementara pelaku melakukan kerusakannya, yang tidak terdeteksi, karena pengguna yang sah berdiri, menunggu layanan, tidak dapat mengetahui apa yang sedang terjadi di server. Pengguna yang baik ditolak layanannya, saat serangan sedang berlangsung.

Eskalasi Hak Istimewa

Pengguna yang berbeda dari sistem operasi atau aplikasi memiliki hak istimewa yang berbeda. Jadi, beberapa pengguna berakhir dengan nilai lebih dari yang lain, dari sistem. Mengeksploitasi bug perangkat lunak atau pengawasan konfigurasi untuk mendapatkan akses tinggi ke sumber daya atau informasi yang tidak sah adalah Privilege Eskalasi.

Skema klasifikasi di atas dapat digunakan untuk menyebabkan virus komputer dan worm.

Satu atau lebih skema klasifikasi di atas dapat digunakan untuk serangan perangkat lunak, yang meliputi: pencurian kekayaan intelektual, korupsi basis data, pencurian identitas, sabotase, dan pemerasan informasi. Jika seseorang menggunakan satu atau lebih skema untuk memodifikasi secara destruktif, sebuah situs web sehingga pelanggan situs kehilangan kepercayaan, itu adalah sabotase. Pemerasan informasi adalah pencurian komputer perusahaan atau mendapatkan informasi rahasia tentang perusahaan secara tidak benar. Komputer yang dicuri mungkin memiliki informasi rahasia. Hal ini dapat menyebabkan ransomware, di mana pencuri akan meminta pembayaran, sebagai imbalan atas properti atau informasi yang dicuri.

Pribadi

Ketika ada sesuatu yang sensitif atau secara inheren istimewa bagi Anda, maka hal itu bersifat pribadi bagi Anda. Ini juga berlaku untuk sekelompok orang. Seorang individu perlu mengekspresikan dirinya secara selektif. Untuk mencapai selektivitas tersebut, individu harus menjadwalkan dirinya sendiri atau menjadwalkan informasi tentang dirinya sendiri; itu privasi. Sekelompok orang perlu mengekspresikan diri mereka secara selektif. Untuk mencapai selektivitas tersebut, kelompok harus menjadwalkan diri mereka sendiri atau menjadwalkan informasi tentang diri mereka sendiri; itu privasi. Seorang individu perlu melindungi dirinya sendiri secara selektif. Untuk memperoleh perlindungan selektif tersebut, individu harus melindungi dirinya sendiri atau melindungi informasi tentang dirinya secara selektif; yaitu, privasi. Sekelompok orang perlu melindungi diri mereka sendiri secara selektif. Untuk mencapai perlindungan selektif tersebut, kelompok harus melindungi diri mereka sendiri atau melindungi informasi tentang diri mereka sendiri secara selektif; yaitu, privasi.

Identifikasi dan Otentikasi

Ketika Anda bepergian ke negara asing, Anda akan mencapai pelabuhan negara itu. Di pelabuhan, seorang petugas polisi akan meminta Anda untuk mengidentifikasi diri Anda. Anda akan menunjukkan paspor Anda. Petugas polisi akan mengetahui usia Anda (dari tanggal lahir), jenis kelamin Anda, dan profesi Anda dari paspor, dan dia akan melihat Anda (wajah Anda); itu adalah identifikasi. Petugas polisi akan membandingkan wajah asli Anda dan foto di paspor. Dia juga akan memperkirakan usia Anda dengan apa yang ada di paspor untuk mengetahui apakah itu Anda.

Melihat Anda dan mengaitkan usia, jenis kelamin, dan profesi Anda dengan Anda adalah identifikasi. Memverifikasi apakah wajah asli dan foto Anda sama, dan memperkirakan apakah presentasi Anda cocok dengan usia Anda, adalah otentikasi. Identifikasi adalah mengasosiasikan seseorang atau sesuatu dengan atribut tertentu. Menunjukkan identitas juga merupakan identifikasi. Otentikasi adalah tindakan membuktikan bahwa identitas (identifikasi) itu benar. Dengan kata lain, otentikasi adalah tindakan membuktikan pernyataan assert.

Dalam komputasi, cara otentikasi yang paling umum adalah penggunaan kata sandi. Sebuah server, misalnya, memiliki banyak pengguna. Saat login, Anda menunjukkan identitas Anda (identifikasi diri Anda) dengan nama pengguna Anda. Anda membuktikan identitas Anda dengan kata sandi Anda. Kata sandi Anda seharusnya hanya diketahui oleh Anda. Otentikasi dapat melangkah lebih jauh; dengan mengajukan pertanyaan kepada Anda, seperti “Di kota mana Anda dilahirkan you?”

Tujuan Keamanan

Sasaran keamanan dalam informasi adalah Kerahasiaan, Integritas, dan Ketersediaan. Ketiga fitur ini dikenal sebagai triad CIA: C untuk Kerahasiaan, I untuk Integritas, dan A untuk Ketersediaan.

Kerahasiaan

Informasi tidak boleh diungkapkan kepada individu yang tidak berwenang, atau entitas yang tidak berwenang atau proses yang tidak sah; ini adalah kerahasiaan informasi dalam keamanan informasi (serta keamanan perangkat lunak). Pencurian kata sandi atau pengiriman email sensitif ke individu yang salah adalah kerahasiaan yang dikompromikan. Kerahasiaan adalah komponen privasi yang melindungi informasi dari individu yang tidak berwenang, atau entitas yang tidak berwenang, atau proses yang tidak sah.

Integritas

Informasi atau data memiliki siklus hidup. Dengan kata lain, informasi atau data memiliki waktu mulai dan waktu berakhir.  Dalam beberapa kasus, setelah akhir siklus hidup, informasi (atau data) harus dihapus (secara hukum). Integritas terdiri dari dua fitur, yaitu: 1) pemeliharaan dan penjaminan keakuratan informasi (atau data) selama seluruh siklus hidup, dan 2) kelengkapan informasi (atau data) selama seluruh siklus hidup. Jadi, informasi (atau data) tidak boleh dikurangi atau diubah dengan cara yang tidak sah atau tidak terdeteksi.

Ketersediaan

Untuk setiap sistem komputer untuk melayani tujuannya, informasi (atau data) harus tersedia saat dibutuhkan. Ini berarti bahwa sistem komputer, dan media transmisinya, harus berfungsi dengan benar. Ketersediaan dapat dikompromikan oleh peningkatan sistem, kegagalan perangkat keras, dan pemadaman listrik. Ketersediaan juga dapat dikompromikan oleh serangan penolakan layanan.

Non-Penolakan

Ketika seseorang menggunakan identitas Anda dan tanda tangan Anda untuk menandatangani kontrak yang tidak pernah dia penuhi, non-repudiation adalah ketika Anda tidak dapat berhasil menyangkal di pengadilan bahwa Anda tidak menulis kontrak tersebut.

Di akhir kontrak, pihak yang menawarkan layanan harus telah menawarkan layanan; pihak yang membayar pasti sudah melakukan pembayaran.

Untuk memahami bagaimana non-repudiation berlaku untuk komunikasi digital, Anda harus terlebih dahulu mengetahui arti dari kunci dan arti dari tanda tangan digital. Kunci adalah sepotong kode. Tanda tangan digital adalah algoritma yang menggunakan kunci untuk menghasilkan beberapa kode lain yang disamakan dengan tanda tangan tertulis dari pengirim.

Dalam keamanan digital, non-penolakan disediakan (tidak harus dijamin) oleh tanda tangan digital. Dalam keamanan perangkat lunak (atau keamanan informasi), non-penolakan berkaitan dengan integritas data data. Enkripsi data (yang mungkin pernah Anda dengar) dikombinasikan dengan tanda tangan digital juga berkontribusi pada kerahasiaan.

Sasaran keamanan dalam informasi adalah Kerahasiaan, Integritas, dan Ketersediaan. Namun, non-penolakan adalah fitur lain yang harus Anda pertimbangkan ketika berhadapan dengan keamanan informasi (atau keamanan perangkat lunak).

Tanggapan terhadap ancaman

Ancaman dapat ditanggapi, dengan satu atau lebih dari tiga cara berikut:

- Pengurangan/mitigasi: Ini adalah penerapan pengamanan dan penanggulangan untuk menghilangkan kerentanan atau memblokir ancaman.

- Penugasan/Transfer: Ini menempatkan beban ancaman ke entitas lain, seperti perusahaan asuransi atau perusahaan outsourcing.

- Penerimaan: Ini mengevaluasi jika biaya penanggulangan melebihi kemungkinan biaya kerugian karena ancaman.

Kontrol akses

Dalam keamanan informasi di mana keamanan perangkat lunak merupakan bagiannya, kontrol akses adalah mekanisme yang memastikan bahwa hanya pengguna yang memenuhi syarat yang dapat mengakses sumber daya yang dilindungi dalam sistem tertentu, dengan hak istimewa yang berbeda.

Solusi Saat Ini untuk Keamanan Informasi

Cara saat ini dan populer untuk melakukan keamanan informasi adalah dengan menegakkan kontrol akses. Ini termasuk langkah-langkah seperti memvalidasi input ke aplikasi, menginstal antivirus, menggunakan firewall ke jaringan area lokal, dan menggunakan Transport Layer Security.

Saat Anda mengharapkan tanggal sebagai input ke aplikasi, tetapi pengguna memasukkan angka, input seperti itu harus ditolak. Itu adalah validasi input.

Antivirus yang terpasang di komputer Anda mencegah virus merusak file di komputer Anda. Ini membantu dalam ketersediaan perangkat lunak.

Aturan dapat dibuat untuk memantau dan mengontrol lalu lintas masuk dan keluar dari jaringan area lokal, untuk melindungi jaringan. Ketika aturan tersebut diimplementasikan sebagai perangkat lunak, di jaringan area lokal, itu adalah firewall.

Transport Layer Security (TLS) adalah protokol keamanan yang dirancang untuk memfasilitasi privasi dan keamanan data untuk transmisi melalui Internet. Ini melibatkan enkripsi komunikasi antara host pengirim dan host penerima.

Melakukan pengamanan informasi dengan memberlakukan kontrol akses disebut Security Software, yang berbeda dengan Software Security, seperti yang dijelaskan di bawah ini. Kedua pendekatan memiliki tujuan yang sama, tetapi mereka berbeda.

Keamanan Perangkat Lunak Tepat

Aplikasi, seperti yang ditulis hari ini, memiliki banyak kerentanan perangkat lunak yang semakin disadari oleh programmer selama 20 tahun terakhir. Sebagian besar serangan dilakukan dengan memanfaatkan kerentanan ini daripada mengatasi atau mengatasi kontrol akses.

Buffer seperti array tetapi tanpa panjang yang dipaksakan. Ketika seorang programmer menulis ke dalam buffer, dimungkinkan untuk secara tidak sadar menimpa melebihi panjangnya. Kerentanan ini adalah buffer overflow.

Perangkat lunak saat ini telah membelot dengan konsekuensi keamanan-termasuk bug implementasi seperti buffer overflows dan cacat desain seperti penanganan kesalahan yang tidak konsisten. Ini adalah kerentanan.

Anda mungkin pernah mendengar tentang cheat bahasa komputer seperti cheat PHP, cheat Perl, dan cheat C++. Ini adalah kerentanan.

Keamanan perangkat lunak, sebagai lawan dari perangkat lunak keamanan, mengatasi kerentanan ini dengan menulis kode defensif di mana kerentanan akan dicegah. Saat aplikasi sedang digunakan, karena lebih banyak kerentanan ditemukan, pengembang (pemrogram) harus mencari cara untuk mengkode ulang kerentanan, secara defensif.

Ancaman, serangan denial-of-service, tidak dapat dihentikan oleh kontrol akses, karena bagi pelaku untuk melakukannya, ia harus sudah memiliki akses ke host (server). Itu dapat dihentikan dengan memasukkan beberapa perangkat lunak internal yang memantau apa yang dilakukan pengguna di host.

Keamanan perangkat lunak adalah desain yang kuat dari dalam, yang membuat serangan perangkat lunak menjadi sulit. Perangkat lunak harus melindungi diri sendiri dan, pada batasnya, tidak memiliki kerentanan. Dengan cara ini, menjalankan jaringan yang aman menjadi lebih mudah dan hemat biaya.

Keamanan perangkat lunak merancang kode defensif dari dalam aplikasi sementara perangkat lunak keamanan memberlakukan (merancang) kontrol akses. Terkadang kedua masalah ini tumpang tindih, tetapi seringkali tidak.

Keamanan perangkat lunak sudah cukup berkembang, meskipun masih dalam pengembangan, belum berkembang seperti perangkat lunak keamanan. Peretas jahat mencapai tujuan mereka lebih banyak dengan memanfaatkan kerentanan dalam perangkat lunak daripada dengan mengatasi atau mengatasi perangkat lunak keamanan. Diharapkan kedepannya, keamanan informasi akan lebih kepada keamanan perangkat lunak daripada perangkat lunak keamanan. Untuk saat ini, keamanan perangkat lunak dan perangkat lunak keamanan harus berjalan.

Keamanan perangkat lunak tidak akan benar-benar efektif jika pengujian ketat tidak dilakukan pada akhir pengembangan perangkat lunak.

Pemrogram harus dididik dalam melakukan pemrograman kode defensif. Pengguna juga harus dididik tentang cara menggunakan aplikasi secara defensif.

Dalam keamanan perangkat lunak, pengembang harus memastikan bahwa pengguna tidak mendapatkan lebih banyak hak istimewa daripada yang layak dia dapatkan.

Kesimpulan

Keamanan perangkat lunak adalah perancangan aplikasi dengan pengkodean defensif terhadap kerentanan untuk membuat serangan perangkat lunak menjadi sulit. Perangkat lunak keamanan, di sisi lain, adalah produksi perangkat lunak yang memberlakukan kontrol akses. Keamanan perangkat lunak masih terus dikembangkan, tetapi lebih menjanjikan untuk keamanan informasi daripada perangkat lunak keamanan. Itu sudah digunakan, dan semakin populer. Di masa depan, keduanya akan dibutuhkan, tetapi dengan perangkat lunak, keamanan lebih dibutuhkan.

Game Baris Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar Anda saat menggunakan Linux-ini juga dapat menjadi sumber hiburan karena Anda dapat menggunakannya untuk me...
Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...
Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...