Apa cara terbaik untuk belajar bagaimana mengembangkan aplikasi yang aman?

8

Saya ingin masuk ke keamanan komputer dalam karir saya. Apa cara terbaik untuk mempelajari cara memprogram dengan aman?

Bagi saya, selain buku teks dan mengambil mata pelajaran, mungkin belajar cara "meretas" akan menjadi salah satu cara terbaik untuk belajar. Alasan saya untuk berpikir ini adalah pemikiran bahwa cara terbaik untuk belajar bagaimana mencegah seseorang melakukan apa yang tidak Anda inginkan adalah mempelajari apa yang mampu mereka lakukan.

Jika ini masalahnya, maka ini menimbulkan pertanyaan lain: Bagaimana Anda belajar meretas secara etis? Saya jelas tidak ingin melanggar hukum atau membahayakan pencarian saya.

Kenneth
sumber
Semua orang membenarkan peretasan dengan menambahkan "etis". Mengapa tidak mengunduh saja porcupine.org/satan dan bersenang-senanglah tanpa mengklaim itu "etis"?
S.Lott
Tidak berusaha membenarkannya. Sepertinya itu untuk menghentikan seorang peretas, Anda perlu tahu bagaimana mereka bisa meretas. Menurut saya, pada tingkat tertentu ini hampir membutuhkan pengalaman dengan peretasan. Pada akhirnya peretasan bukanlah tujuan utama saya. Jika Anda memiliki alternatif yang lebih baik, saya terbuka untuk saran yang merupakan tujuan dari posting ini. Terima kasih!
Kenneth
"Jika Anda memiliki alternatif yang lebih baik"? Saya yakin saya memberikan jawaban. Apakah Anda memerlukan informasi lebih lanjut? Juga, apakah Anda sadar bahwa sebagian besar peretas menggunakan Setan?
S.Lott
untuk informasi tentang cara mereka dapat meretas, berikut ini tautan ke 10 lubang keamanan teratas di 2010. owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202010.pdf
Evan
@ SLott - sebagian besar menggunakan SETAN? Hmmmm - Saya akan terkejut, karena kami melihat mereka menggunakan alat yang jauh lebih baik!
Rory Alsop

Jawaban:

5

Ada banyak hal di luar sana tentang "peretasan etis" - satu kata yang sering muncul adalah "pengujian penetrasi". Ada juga kode etik di luar sana tentang cara melakukannya - tetapi satu aturan praktis saya akan sama dengan aturan TK - jangan hal-hal sulit yang bukan milik Anda.

Jika Anda tertarik pada kedua sisi mata uang, saya sarankan proyek rumahan - buat aplikasi sederhana lalu coba untuk meretasnya. Kemudian Anda memiliki kode yang tersedia sehingga Anda dapat memecahkannya dan memperbaikinya sesuka hati Anda.

Yang lain adalah situs-situs seperti OWASP (lihat jawaban lain). Ada banyak kelemahan yang diketahui di luar sana. Mempelajari tentang mereka dan mempelajari cara mencegahnya adalah langkah besar yang mempersingkat percobaan dan kesalahan peretasan DIY. Juga belajar tentang mekanisme kerahasiaan, integritas, identifikasi, dan ketersediaan untuk perangkat lunak, jaringan, dan komputer secara umum adalah langkah yang bagus. Memiliki pengalaman dalam menerapkan mekanisme ini dalam bahasa Anda / pilihan penyebaran adalah cara yang bagus untuk membangun keterampilan keamanan perangkat lunak.

bethlakshmi
sumber
2

Salah satu caranya adalah dengan melihat alat yang dapat digunakan untuk menguji penetrasi suatu sistem. Anda dapat mengunduh beberapa distribusi Linux uji penetrasi khusus untuk memulai.

Bagian lain dari pencarian pembelajaran Anda adalah membaca literatur di luar sana. OWASP seperti yang disarankan oleh @ S.Lott adalah sumber yang luar biasa untuk keamanan aplikasi web. SafeCode adalah sumber yang lebih umum, tetapi jelas jauh lebih rinci.

Dan McGrath
sumber