AppSec itu Keras
Program keamanan aplikasi sulit. Ada banyak bagian yang bergerak. Tetapi penting untuk memastikan bahwa perangkat lunak dirancang, dibuat, dan digunakan dengan cara yang meminimalkan kerentanan keamanan, sehingga melindungi pengguna dan data mereka dari potensi serangan dunia maya. Program AppSec yang kuat akan memiliki pendekatan komprehensif yang melibatkan pengintegrasian berbagai praktik di seluruh proses pengembangan perangkat lunak untuk meminimalkan risiko kerentanan dan pelanggaran keamanan. Ini sama sekali bukan daftar lengkap, tetapi ini akan memberi Anda gambaran tentang cakupannya.
Pemodelan ancaman adalah proses mengidentifikasi dan menilai potensi ancaman keamanan dan kerentanan dalam perangkat lunak sebelum dapat dieksploitasi. Ini dapat dilakukan dengan menganalisis arsitektur dan desain perangkat lunak, mengidentifikasi data sensitif, dan mengidentifikasi vektor serangan potensial. Pemodelan ancaman berbasis tangkas adalah metodologi yang menggabungkan prinsip-prinsip pengembangan perangkat lunak tangkas dengan pemodelan ancaman. Pendekatan ini memungkinkan tim untuk mengidentifikasi dan mengatasi potensi ancaman dan kerentanan keamanan sejak awal dalam proses pengembangan, sambil tetap dapat merespons perubahan persyaratan dengan cepat.
Pengkodean yang aman adalah praktik penting lainnya dalam pengembangan perangkat lunak yang aman. Ini melibatkan penulisan kode yang bebas dari kelemahan dan kerentanan keamanan umum. Ini dapat dibantu melalui penggunaan pedoman pengkodean yang aman, seperti materi OWASP . Sumber daya semacam ini memberi pengembang serangkaian praktik terbaik untuk menulis kode aman dan membantu mereka menghindari kesalahan umum yang dapat menyebabkan kerentanan keamanan.
Menjaga agar perangkat lunak tetap ditambal adalah praktik penting lainnya. Ini tidak hanya mencakup perangkat lunak itu sendiri tetapi juga pustaka dan dependensi pihak ketiga. Ini memastikan bahwa setiap kerentanan keamanan yang diketahui ditangani secara tepat waktu, mengurangi risiko eksploitasi oleh penyerang.
Tentu saja, ada pengujian penetrasi dan pemindaian kerentanan adalah teknik yang digunakan untuk mengidentifikasi dan mengatasi kerentanan keamanan dalam perangkat lunak. Teknik-teknik ini mensimulasikan serangan dunia nyata pada perangkat lunak, memungkinkan pengembang untuk mengidentifikasi dan mengatasi setiap kerentanan sebelum dapat dieksploitasi oleh penyerang. Alat otomatis seperti analisis komposisi perangkat lunak (SCA), pengujian keamanan aplikasi statis (SAST), pengujian keamanan aplikasi dinamis (DAST), pengujian keamanan aplikasi interaktif (IAST), pengujian keamanan aplikasi seluler (MAST), dan perlindungan diri aplikasi runtime ( RASP) dapat digunakan untuk mengotomatisasi identifikasi dan perbaikan kerentanan keamanan. Selain itu, keamanan API merupakan aspek penting dari pengembangan perangkat lunak modern.
Aspek penting lainnya dari pengembangan perangkat lunak yang aman adalah pencegahan kehilangan data (DLP). Solusi DLP dapat digunakan untuk mendeteksi dan mencegah pemaparan data sensitif yang tidak sah, seperti informasi identitas pribadi (PII), rahasia, dan sebagainya.
Pendidikan dan pelatihan juga penting untuk pengembangan perangkat lunak yang aman. Program juara keamanan dan program pendidikan untuk pengembang dapat membantu memastikan bahwa semua anggota tim pengembangan memiliki pengetahuan dan keterampilan yang diperlukan untuk menulis kode yang aman. Ini termasuk memahami 10 Teratas OWASP, daftar risiko keamanan aplikasi web paling kritis, dan 25 Teratas Common Weakness Enumeration (CWE) , daftar kelemahan umum perangkat lunak.
Metodologi shift-kiri dan gerbang otomatis dalam saluran pipa juga penting untuk pengembangan perangkat lunak yang aman. Praktik-praktik ini memungkinkan pengembang untuk mengidentifikasi dan mengatasi potensi kerentanan sejak dini, sebelum mereka menjadi bagian dari basis kode dan diterapkan ke produksi dengan mengintegrasikan alat ke dalam pipeline continuous integration and delivery (CI/CD), serta mendapatkan output dari alat tersebut di suatu tempat di mana Anda dapat melacak Indikator Kinerja Utama (KPI), dan juga melakukan triase potensi kerentanan dengan mengintegrasikan sesuatu seperti JIRA untuk pengelolaan pekerjaan yang gesit.
Kait git pra-komitmen juga merupakan alat yang berguna untuk pengembangan perangkat lunak yang aman. Kait ini dapat digunakan untuk secara otomatis memeriksa kode untuk ketidakamanan ii sebelum dikomit ke repositori, atau mencegah Anda melakukan rahasia.
Aspek penting lainnya dari AppSec adalah melakukan triase kerentanan. Ini adalah proses mengidentifikasi dan memprioritaskan kerentanan berdasarkan tingkat keparahan dan potensi dampaknya. Pendekatan ini memungkinkan organisasi untuk memfokuskan sumber daya mereka pada kerentanan yang paling kritis dan menanganinya secara tepat waktu. Faktor-faktor seperti kemungkinan eksploitasi, potensi dampak, dan kemudahan eksploitasi dipertimbangkan saat melakukan triase kerentanan. Dalam beberapa kasus, penambalan mungkin bukan tindakan terbaik, dan alternatif seperti pemantauan, segmentasi jaringan, dan kontrol akses dapat dipertimbangkan.
Untuk mengelola program AppSec yang kuat, penting untuk memiliki alat dan platform yang tepat. Beberapa opsi populer termasuk Esno untuk mendapatkan visibilitas dan mengoordinasikan alat, orang, dan proses. Checkmarx dan Veracode menyediakan banyak cakupan fitur untuk pemindaian statis dan dinamis, dan Snyk terkenal dengan kemampuan keamanan sumber terbukanya, dan secara keseluruhan platform sangat disukai karena kemudahan penggunaan dan sentrisitas pengembangnya, tetapi Black Duck memiliki reputasi yang kuat di SCA. Invicti bagus untuk IAST, Wiz menjadi populer untuk CSPM. Aqua untuk keamanan kontainer telah dicoba dan benar, SpectralOpsuntuk DLP, NoName Security atau Salt untuk API Security, NowSecure untuk Mobile AppSec, Irius Risk untuk pemodelan ancaman, atau Bionic untuk pendekatan pemodelan ancaman dan manajemen postur yang lebih otomatis. Ada juga fuzzing, yang merupakan jenis pengujian berbasis perilaku dinamis yang menguji yang tidak diketahui dan mencoba menemukan kerentanan; contoh platform yang sangat modern di ruang ini adalah Mayhem .
Untuk menjaga pelacakan sumber terbuka dan risiko pihak ketiga, penting juga untuk menyimpan bill of material perangkat lunak (SBOM). Beberapa alat ini dapat membuatnya untuk Anda (Veracode, Black Duck, dll).
Beberapa orang mungkin tidak menganggap ini sebagai bagian dari program AppSec, tetapi saya yakin teknologi Rekayasa Penipuan harus menjadi bagian dari program Keamanan Produk yang lebih besar yang bertujuan untuk mencoba menyia-nyiakan sumber daya penyerang dan memaksa mereka beralih ke target yang lebih mudah dan lebih murah. Contoh terdepan di ruang ini adalah CounterCraft. Pikirkan teknologi honeypot tentang steroid.
Selain itu, pelatihan dan pendidikan sangat penting untuk pengembangan perangkat lunak yang aman. Opsi pelatihan Secure Code Review meliputi Secure Code Warrior , Security Journey , Immersive Labs, dan Avatao . Program Pengungkapan Kerentanan (VDP) dapat dikelola melalui platform seperti HackerOne dan Program Bug Bounty dapat diatur dan dikelola melalui platform seperti Intigriti.
Masih ada lagi yang bisa kita bahas seperti peran kebijakan sebagai kode dan cara mengotomatisasi gerbang sepenuhnya dan bagaimana alur kerja persetujuan harus bekerja dalam konteks yang sangat diatur, tetapi kita harus meninggalkannya di sini untuk saat ini.
Singkatnya, pengembangan perangkat lunak yang aman memerlukan pendekatan yang komprehensif dan multi-segi yang melibatkan pengintegrasian semua praktik yang disebutkan di atas selama proses pengembangan perangkat lunak. Dengan demikian, pengembang dapat memastikan keselamatan dan keamanan pengguna dan datanya, serta membuat perangkat lunak yang tangguh, andal, dan aman. Penting untuk dicatat bahwa lanskap keamanan terus berubah, oleh karena itu tinjauan dan penelitian berkelanjutan diperlukan untuk mengikutinya.

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































