BAB 15 - ANALISIS KEAMANAN
PENGANTAR BAB
Selamat datang di bab yang akan mengubah Anda dari pengetahuan teoritis menjadi praktisi keamanan. Bab 15 adalah jembatan antara memahami konsep keamanan dan mampu melakukan analisis keamanan secara nyata - seperti yang dilakukan oleh security analyst, penetration tester, dan security consultant di dunia profesional.
Menurut ISC² Cybersecurity Workforce Study 2023, kebutuhan global akan profesional keamanan siber mencapai 4 juta orang, dengan demand terbesar di area security analysis dan assessment. Ini adalah skill yang sangat dicari di industri.
Bab ini akan membawa Anda melalui seluruh siklus analisis keamanan: dari identifikasi aset, threat modeling, vulnerability assessment, risk assessment, information gathering, security scanning, log analysis, network traffic analysis, hingga dokumentasi temuan dan penulisan laporan keamanan profesional.
ISC² 2023
IBM 2023
IBM 2023
Ponemon 2023
- Memahami konsep dan jenis security assessment
- Melakukan identifikasi dan inventarisasi aset
- Mengidentifikasi threat menggunakan threat modeling
- Melakukan vulnerability assessment
- Menghitung dan memprioritaskan risiko
- Menggunakan OSINT tools untuk information gathering
- Menggunakan security scanning tools (Nmap, Nikto, dll)
- Menganalisis log dan network traffic
- Mendokumentasikan temuan dan evidence
- Menulis security report profesional
KONSEP SECURITY ASSESSMENT
Definisi
"Security assessment is the process of evaluating the security of an information system, application, or network to identify vulnerabilities, weaknesses, and potential risks."
Jenis Security Assessment
| JENIS | DESKRIPSI | TUJUAN | DURASI |
|---|---|---|---|
| Vulnerability Assessment | Identifikasi dan klasifikasi vulnerability | Menemukan kelemahan | 1-2 minggu |
| Penetration Testing | Simulasi serangan untuk eksploitasi vulnerability | Memvalidasi risiko nyata | 2-4 minggu |
| Risk Assessment | Evaluasi risiko secara komprehensif | Prioritas mitigasi | 2-4 minggu |
| Audit Keamanan | Evaluasi kepatuhan terhadap standar | Compliance | 4-8 minggu |
| Red Team Assessment | Simulasi adversary realistis | Uji detection & response | 4-12 minggu |
Siklus Security Assessment
Scope & rules
Info gathering
Vuln discovery
Validate risks
Document findings
Testing Methodologies
| METHODOLOGY | DESKRIPSI | USE CASE |
|---|---|---|
| Black Box | Tester tidak punya info internal | Simulasi external attacker |
| White Box | Tester punya akses penuh (source code, docs) | Thorough code review |
| Grey Box | Tester punya info terbatas | Balanced approach |
- Vulnerability Assessment = cek kesehatan umum (cek darah, tensi)
- Penetration Testing = tes stres jantung (memicu kondisi untuk lihat respons)
- Red Team = simulasi serangan nyata (seperti latihan perang)
- Risk Assessment = evaluasi risiko kesehatan berdasarkan gaya hidup
- Audit = verifikasi kepatuhan pada standar medis
- NIST SP 800-115 - Technical Guide to Information Security Testing
- PTES - Penetration Testing Execution Standard
- OWASP - Testing Guide v4
- OSSTMM - Open Source Security Testing Methodology Manual
IDENTIFIKASI ASET
Konsep Asset Identification
Identifikasi aset adalah langkah pertama dalam security assessment. Anda tidak bisa melindungi apa yang tidak Anda ketahui. Ini termasuk hardware, software, data, people, dan services.
Kategori Aset
| KATEGORI | CONTOH | IMPORTANCE |
|---|---|---|
| Information Assets | Database, dokumen, source code, data pelanggan | Critical |
| Software Assets | Aplikasi, OS, middleware, libraries | High |
| Hardware Assets | Server, workstation, network devices, mobile | High |
| Physical Assets | Data center, kantor, fasilitas | Medium |
| People | Employees, contractors, users | Critical |
| Services | Web services, email, DNS, authentication | Critical |
| Intangible Assets | Brand reputation, customer trust | Critical |
Praktik: Asset Discovery Tools
Bash - Asset Discovery # 1. Network discovery with Nmap $ nmap -sn 192.168.1.0/24 # Find all live hosts in subnet # 2. Detailed host discovery $ nmap -sV -O 192.168.1.100 # Service version detection + OS detection # 3. Find web servers $ nmap -p 80,443,8080,8443 192.168.1.0/24 # 4. Network scanning with masscan (faster) $ sudo masscan 192.168.1.0/24 -p1-65535 --rate=1000 # 5. DNS enumeration $ dig example.com ANY $ dnsrecon -d example.com # 6. Subdomain enumeration $ subfinder -d example.com $ amass enum -d example.com # 7. Asset inventory with Snipe-IT (open source) # Web-based asset management system # 8. Cloud asset discovery $ aws ec2 describe-instances --query 'Reservations[*].Instances[*]' $ az vm list --output table
Asset Inventory Template
Asset Inventory Template # ============================================ # ASSET INVENTORY REGISTER # Organization: Example Corp # Date: 2026-09-09 # ============================================ Asset ID: AST-001 Name: Production Web Server Type: Hardware / Server Owner: IT Operations Location: Data Center A, Rack 12 IP Address: 10.0.1.10 OS: Ubuntu 22.04 LTS Services: Nginx, Node.js, PostgreSQL Criticality: Critical CIA Impact: - Confidentiality: High - Integrity: High - Availability: Critical Data Classification: Confidential Last Updated: 2026-09-09 # ============================================ Asset ID: AST-002 Name: Customer Database Type: Information / Database Owner: Database Team Location: Cloud (AWS RDS) Data Type: Customer PII, Transaction Data Criticality: Critical CIA Impact: - Confidentiality: Critical - Integrity: Critical - Availability: High Data Classification: Restricted Compliance: GDPR, PCI-DSS
- Asset inventory = daftar semua harta di kapal bajak laut
- Classification = mana emas, perak, perhiasan
- Valuation = berapa nilai setiap harta
- Protection = bagaimana melindungi harta paling berharga
Anda tidak bisa melindungi apa yang tidak Anda ketahui ada. Inventory adalah langkah pertama.
- NIST SP 800-53 - CM-8 (Information System Component Inventory)
- ISO 27001 - A.8.1 (Inventory of Assets)
- CIS Controls v8 - Control 1 (Inventory of Enterprise Assets)
IDENTIFIKASI THREAT
Threat Identification
Threat identification adalah proses mengidentifikasi potensi ancaman terhadap aset. Ini termasuk threat actors, threat vectors, dan threat scenarios.
Jenis Threat
| JENIS | CONTOH | MOTIVASI |
|---|---|---|
| Adversarial | Hacker, insider threat, competitor | Financial, espionage, revenge |
| Accidental | Human error, misconfiguration | Unintentional |
| Structural | Hardware failure, software bug | System failure |
| Environmental | Fire, flood, earthquake | Natural disaster |
Threat Modeling
Threat modeling adalah pendekatan sistematis untuk mengidentifikasi threat. Metode populer:
STRIDE
Microsoft's threat model (Spoofing, Tampering, Repudiation, Info Disclosure, DoS, Elevation)
PASTA
Process for Attack Simulation and Threat Analysis
TRIKE
Risk-based approach to threat modeling
LINDDUN
Privacy threat modeling framework
STRIDE Methodology
| THREAT | DESKRIPSI | SECURITY PROPERTY | CONTOH |
|---|---|---|---|
| Spoofing | Memalsukan identitas | Authentication | Fake login page |
| Tampering | Memodifikasi data | Integrity | Man-in-the-middle |
| Repudiation | Menyangkal aksi | Non-repudiation | Deny transaction |
| Information Disclosure | Membocorkan informasi | Confidentiality | Data leak |
| Denial of Service | Membuat layanan tidak tersedia | Availability | DDoS attack |
| Elevation of Privilege | Mendapatkan hak akses lebih tinggi | Authorization | Privilege escalation |
Praktik: Threat Modeling Process
Threat Modeling Process # 1. Define scope # - What are we modeling? (web app, network, system) # - What are the boundaries? # 2. Create data flow diagram # - Identify components (users, servers, databases) # - Map data flows between components # - Identify trust boundaries # 3. Identify threats using STRIDE # - For each component, ask: # - Can it be spoofed? # - Can data be tampered? # - Can actions be repudiated? # - Can info be disclosed? # - Can it be DoS'd? # - Can privilege be elevated? # 4. Characterize and rank threats # - Use DREAD model (Damage, Reproducibility, # Exploitability, Affected users, Discoverability) # 5. Determine countermeasures # - For each threat, identify mitigation # 6. Validate and document # - Review with stakeholders # - Document in threat model report
- Scope = menentukan benteng mana yang akan dipertahankan
- Data flow = memetakan jalan masuk dan keluar benteng
- STRIDE = memikirkan semua cara musuh bisa menyerang
- Countermeasures = menentukan pertahanan untuk setiap serangan
- Microsoft - Threat Modeling Tool
- OWASP - Threat Modeling Cheat Sheet
- Shostack, A. (2014). Threat Modeling: Designing for Security
IDENTIFIKASI VULNERABILITY
Vulnerability Identification
Vulnerability adalah kelemahan dalam sistem yang bisa dieksploitasi oleh threat. Identifikasi vulnerability adalah proses menemukan kelemahan ini sebelum attacker menemukannya.
Jenis Vulnerability
| JENIS | CONTOH | SEVERITY |
|---|---|---|
| Software Vulnerabilities | Buffer overflow, SQL injection, XSS | Critical/High |
| Configuration Issues | Default passwords, open ports | Medium/High |
| Design Flaws | Weak authentication, broken access control | Critical |
| Operational Issues | Lack of monitoring, poor patching | Medium |
Vulnerability Databases
| DATABASE | URL | DESKRIPSI |
|---|---|---|
| CVE | cve.mitre.org | Common Vulnerabilities and Exposures |
| NVD | nvd.nist.gov | National Vulnerability Database |
| Exploit-DB | exploit-db.com | Public exploit database |
| OWASP | owasp.org | Web application vulnerabilities |
| CWE | cwe.mitre.org | Common Weakness Enumeration |
Praktik: Vulnerability Scanning
Bash - Vulnerability Scanning # 1. Nmap vulnerability scripts $ nmap -sV --script vuln 192.168.1.100 # Run all vuln scripts against target # 2. Nmap specific CVE check $ nmap -sV --script vulners 192.168.1.100 # Check for known CVEs # 3. OpenVAS (Open Vulnerability Assessment System) $ sudo apt install openvas $ sudo gvm-setup $ sudo gvm-start # Access web interface at https://localhost:9392 # 4. Nikto web scanner $ nikto -h http://example.com # Comprehensive web server scan # 5. OWASP ZAP (Zed Attack Proxy) $ zap.sh -cmd -quickurl http://example.com # Automated web app scan # 6. WPScan (WordPress scanner) $ wpscan --url http://example.com --api-token YOUR_TOKEN # 7. Nessus (commercial) # Professional vulnerability scanner # 8. Qualys (cloud-based) # Cloud vulnerability management
CVSS Scoring
CVSS v3.1 Vector Example # CVSS Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H # Breakdown: AV:N - Attack Vector: Network AC:L - Attack Complexity: Low PR:N - Privileges Required: None UI:N - User Interaction: None S:U - Scope: Unchanged C:H - Confidentiality Impact: High I:H - Integrity Impact: High A:H - Availability Impact: High # Base Score: 9.8 (Critical) # Example: SQL Injection vulnerability CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N # Base Score: 9.1 (Critical)
- Vulnerability = celah atau retakan di tembok benteng
- Severity = seberapa besar celahnya (kecil = low, besar = critical)
- Exploit = cara musuh memanfaatkan celah
- Patch = menambal celah
- FIRST - CVSS v3.1 Specification
- NIST - National Vulnerability Database
- MITRE - CVE and CWE Programs
RISK ASSESSMENT
Risk Assessment Concepts
Risk assessment adalah proses mengidentifikasi, menganalisis, dan mengevaluasi risiko untuk menentukan prioritas mitigasi. Risk = Threat × Vulnerability × Impact.
Risk Formula
Risk Calculation # Basic formula: Risk = Threat × Vulnerability × Impact # More detailed: Risk = Likelihood × Impact # Where: # Likelihood = Probability of threat exploiting vulnerability # Impact = Consequence if risk materializes # Quantitative approach: ALE = SLE × ARO # ALE = Annualized Loss Expectancy # SLE = Single Loss Expectancy # ARO = Annualized Rate of Occurrence # Example: # SLE = $100,000 (value of asset at risk) # ARO = 0.1 (10% chance per year) # ALE = $100,000 × 0.1 = $10,000/year
Risk Treatment Options
| OPTION | DESKRIPSI | CONTOH |
|---|---|---|
| Mitigate | Kurangi risiko dengan kontrol | Install firewall, patch software |
| Transfer | Pindahkan risiko ke pihak lain | Cyber insurance, outsourcing |
| Accept | Terima risiko (jika biaya mitigasi > risiko) | Documented acceptance |
| Avoid | Hindari aktivitas yang menyebabkan risiko | Don't use vulnerable software |
Praktik: Risk Assessment Template
Risk Assessment Template # ============================================ # RISK ASSESSMENT REPORT # Organization: Example Corp # Date: 2026-09-09 # ============================================ Risk ID: RISK-001 Asset: Production Web Server (AST-001) Threat: SQL Injection Attack Vulnerability: CVE-2024-1234 (CVSS 9.8) Likelihood: High (8/10) Impact: Critical (10/10) Risk Score: 80 (Critical) Risk Level: Critical Current Controls: - Web Application Firewall (WAF) - Input validation (partial) Recommended Controls: - Implement parameterized queries - Conduct code review - Deploy advanced WAF rules - Regular security testing Risk Treatment: Mitigate Timeline: 30 days Owner: Development Team Cost: $15,000 Residual Risk: Low (after mitigation)
- Risk assessment = evaluasi risiko sebelum beli asuransi
- Likelihood = seberapa mungkin rumah kebanjiran
- Impact = seberapa parah kerusakan jika banjir
- Risk treatment = beli asuransi, bangun tanggul, atau pindah rumah
- NIST SP 800-30 - Guide for Conducting Risk Assessments
- ISO 31000 - Risk Management Guidelines
- FAIR - Factor Analysis of Information Risk
INFORMATION GATHERING
Reconnaissance & OSINT
Information gathering (reconnaissance) adalah tahap pertama dalam security assessment. Tujuannya mengumpulkan informasi tentang target sebanyak mungkin menggunakan teknik OSINT (Open Source Intelligence).
Types of Reconnaissance
| TYPE | DESKRIPSI | TOOLS |
|---|---|---|
| Passive Recon | Mengumpulkan info tanpa kontak langsung | theHarvester, Maltego, Shodan |
| Active Recon | Berinteraksi langsung dengan target | Nmap, Nikto, Dirbuster |
Praktik: OSINT Tools
Bash - OSINT Tools # 1. WHOIS lookup $ whois example.com # Get domain registration info # 2. DNS enumeration $ dig example.com ANY $ dnsrecon -d example.com $ theHarvester -d example.com -b all # 3. Subdomain enumeration $ subfinder -d example.com -o subdomains.txt $ amass enum -d example.com $ sublist3r -d example.com # 4. Google dorking # site:example.com filetype:pdf # site:example.com inurl:admin # site:example.com intitle:"index of" # 5. Shodan search $ shodan init YOUR_API_KEY $ shodan search "hostname:example.com" # 6. Email harvesting $ theHarvester -d example.com -b linkedin $ hunter.io - find email patterns # 7. Social media OSINT # Sherlock - find usernames across social media $ sherlock username # 8. Metadata extraction $ exiftool image.jpg # Extract metadata from images # 9. Wayback Machine # Check historical versions of website # web.archive.org # 10. Maltego (GUI tool) # Visual OSINT investigation tool
Praktik: Google Dorking
Google Dorking Examples # Find sensitive files site:example.com filetype:pdf site:example.com filetype:xls site:example.com filetype:sql # Find admin panels site:example.com inurl:admin site:example.com inurl:login site:example.com intitle:"admin panel" # Find directory listings