Search for a command to run...
Mobil Uygulamalarınız Kullanıcı Verilerini Sızdırıyor. Mobil uygulamaların %87'si yüksek riskli güvenlik açıkları içeriyor. Uygulamaların %95'inde OWASP Mobile Top 10 ihlalleri var. Uygulama mağazası reddi haftalık gecikmelerde $50K maliyet yaratıyor. Kullanıcı veri ihlalleri olay başına $4.88M maliyet yaratıyor.
Mobil Saldırı Yüzeyi
Statik kod analizi'nden güvenlik açığı yönetimine kadar mobil güvenlik iş akışınızı otomatikleştirin.
python analyze.py \
--name "mobile-banking-app" \
--owner "fintech-company" \
--output json \
--files ./mobile_files_to_scan.txt \
--config ./config/mobile_config.yaml
Plexalyzer, mobil'e özgü güvenlik araçlarını otomatik olarak orkestre eder:
{
"data": [
{
"id": "finding-mobile-001",
"type": "finding",
"attributes": {
"title": "Hardcoded Encryption Key in Mobile App",
"description": "AES encryption key hardcoded in iOS application source code",
"severity": "critical",
"file_path": "src/utils/CryptoManager.swift",
"original_line": 23,
"tool": "checkmarx",
"cve": "CWE-798",
"cvssv3_score": 8.9,
"false_positive": false,
"remediation_notes": "Use iOS Keychain for secure key storage and implement key rotation"
}
}
],
"meta": {
"total_findings": 38,
"critical": 7,
"high": 12,
"medium": 15,
"low": 4
}
}
Mobil güvenlik açıklarına karşı tam koruma
1// ✅ Secure iOS implementation 2import Security3 4func savePasswordSecurely(_ password: String) {5 let keychain = Keychain(service: "com.app.credentials")6 keychain["password"] = password7 print("Password securely saved to Keychain")8}9 10// Using iOS Keychain for secure storage11class SecureLoginManager {12 private let keychain = Keychain(service: "com.app.credentials")13 14 func storeCredentials(username: String, password: String) {15 keychain["username"] = username16 keychain["password"] = password17 UserDefaults.standard.set(true, forKey: "isLoggedIn")18 }19}
1// ❌ Vulnerable iOS implementation2func savePassword(_ password: String) {3 UserDefaults.standard.set(password, forKey: "user_password")4 print("Password saved to UserDefaults")5}6 7// Storing sensitive data in UserDefaults8class LoginManager {9 func storeCredentials(username: String, password: String) {10 UserDefaults.standard.set(username, forKey: "username")11 UserDefaults.standard.set(password, forKey: "password")12 UserDefaults.standard.set(true, forKey: "isLoggedIn")13 }14}
1// ✅ Secure Android implementation2EncryptedSharedPreferences encryptedPrefs = EncryptedSharedPreferences.create(3 "secure_prefs",4 MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC),5 this,6 EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,7 EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM8);9 10// Storing sensitive data encrypted11SharedPreferences.Editor editor = encryptedPrefs.edit();12editor.putString("credit_card", "4532-1234-5678-9012");13editor.putString("api_key", "sk_live_abc123def456");14editor.putString("user_token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...");15editor.apply();16 17// Reading encrypted data18String creditCard = encryptedPrefs.getString("credit_card", "");
1// ❌ Vulnerable Android implementation2SharedPreferences prefs = getSharedPreferences("app_prefs", MODE_PRIVATE);3SharedPreferences.Editor editor = prefs.edit();4 5// Storing sensitive data in plain text6editor.putString("credit_card", "4532-1234-5678-9012");7editor.putString("ssn", "123-45-6789");8editor.putString("api_key", "sk_live_abc123def456");9editor.putString("user_token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...");10editor.apply();11 12// Reading sensitive data13String creditCard = prefs.getString("credit_card", "");14String apiKey = prefs.getString("api_key", "");
1// ✅ Secure network implementation2val client = OkHttpClient.Builder()3 .certificatePinner(4 CertificatePinner.Builder()5 .add("api.bank.com", "sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=")6 .add("api.bank.com", "sha256/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=")7 .build()8 )9 .build()10 11// Implementing proper certificate validation12class SecureNetworkManager {13 private val certificatePinner = CertificatePinner.Builder()14 .add("*.mybank.com", "sha256/primary-cert-hash")15 .add("*.mybank.com", "sha256/backup-cert-hash")16 .build()17 18 private val client = OkHttpClient.Builder()19 .certificatePinner(certificatePinner)20 .connectTimeout(30, TimeUnit.SECONDS)21 .readTimeout(30, TimeUnit.SECONDS)22 .build()23}
1// ❌ Vulnerable network implementation2val client = OkHttpClient.Builder()3 .hostnameVerifier { _, _ -> true } // Accepts all certificates!4 .build()5 6// Disabling SSL verification completely7val trustAllCerts = arrayOf<TrustManager>(object : X509TrustManager {8 override fun checkClientTrusted(chain: Array<X509Certificate>, authType: String) {}9 override fun checkServerTrusted(chain: Array<X509Certificate>, authType: String) {}10 override fun getAcceptedIssuers(): Array<X509Certificate> = arrayOf()11})12 13val sslContext = SSLContext.getInstance("SSL")14sslContext.init(null, trustAllCerts, SecureRandom())15 16val client = OkHttpClient.Builder()17 .sslSocketFactory(sslContext.socketFactory, trustAllCerts[0] as X509TrustManager)18 .hostnameVerifier { _, _ -> true }19 .build()
Farklı mobil uygulama türleri için özel güvenlik çözümleri
Dağıtım Öncesi Mobil Güvenlik Doğrulaması
# Complete mobile app security validation before app store submission
python analyze.py \
--name "pre-release-security-scan" \
--repository_id "mobile-banking-v2.1" \
--output sarif \
--branch "release/v2.1" \
--auto
# Generates SARIF output for integration with:
# - Xcode security warnings
# - Android Studio security alerts
# - GitHub Advanced Security
# - App store security compliance reports
Uygulama mağazası gönderiminden önce tam mobil uygulama güvenlik doğrulaması:
{
"data": [
{
"id": "finding-mobile-api-001",
"type": "finding",
"attributes": {
"title": "Insecure Direct Object Reference in User API",
"description": "User can access other users' profiles without authorization",
"severity": "high",
"file_path": "src/api/UserController.js",
"original_line": 89,
"tool": "checkmarx",
"cve": "CWE-639",
"cvssv3_score": 7.5,
"false_positive": false,
"remediation_notes": "Implement proper authorization checks for user profile access"
}
},
{
"id": "finding-mobile-api-002",
"type": "finding",
"attributes": {
"title": "Missing Rate Limiting on Payment Endpoint",
"description": "Payment processing endpoint lacks rate limiting controls",
"severity": "medium",
"file_path": "src/api/PaymentController.js",
"original_line": 156,
"tool": "sonarqube",
"cve": "CWE-770",
"cvssv3_score": 6.5,
"false_positive": false,
"remediation_notes": "Implement rate limiting and transaction throttling on payment endpoints"
}
}
],
"meta": {
"total_findings": 22,
"critical": 3,
"high": 7,
"medium": 9,
"low": 3
}
}
Uygulama mağazaları ve gizlilik düzenlemeleri için kapsamlı uyumluluk doğrulaması
# iOS App Store compliance
ios_requirements:
data_protection: "ATS (App Transport Security) enforced"
encryption: "256-bit encryption for sensitive data"
permissions: "Minimal permission principle"
privacy_policy: "Required for data collection"
# Google Play Store compliance
android_requirements:
target_sdk: "API level 33+ required"
encryption: "Android Keystore usage mandatory"
permissions: "Runtime permission model"
security_metadata: "Safety section completion"
Veri minimizasyonu ve rıza
Kaliforniya tüketici gizlilik hakları
Çocukların çevrimiçi gizliliğinin korunması
Brezilya veri koruma yasası
Sürekli mobil güvenlik için geliştirme iş akışınızla sorunsuz entegrasyon
# Mobile security pipeline
name: Mobile Security Scan
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
mobile_security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Mobile SAST Scan
run: |
curl -X POST "{{ secrets.PLEXICUS_API_URL }}/plexalyzer/receive_plexalyzer_message" \
-H "Authorization: Bearer {{ secrets.PLEXICUS_TOKEN }}" \
-d '{
"request": "create-repo",
"extra_data": {
"repository_name": "{{ github.repository }}",
"platform": "mobile",
"branch": "{{ github.ref_name }}"
}
}'
Push ve pull isteklerinde otomatik tarama
Kritik güvenlik açıkları ile dağıtımları engelle
Akıllı düzeltme önerileri ve otomatik yamalama
Otomatik uyumluluk doğrulama ve raporlama
Üretim mobil uygulamalarında bulunan yaygın güvenlik sorunları
Mobil uygulama yığınınızda kapsamlı güvenlik testi
iOS ve Android uygulama güvenlik testi
Backend API güvenlik açığı değerlendirmesi
Statik ve dinamik kod incelemesi
Veritabanı ve depolama güvenliği
Mobil güvenlik maliyetlerinizi reaktif harcamalardan proaktif yatırımlara dönüştürün
Kapsamlı mobil uygulama güvenlik standartları ve çerçeveleri