rangka kerja pemodelan ancaman langkah

Model Ancaman STRIDE: Kerangka Kerja “Apa Yang Boleh Menjadi Salah?”

STRIDE ialah rangka kerja pemodelan ancaman yang dicipta oleh Microsoft yang menyusun risiko keselamatan kepada enam kategori: Penipuan, Pengubahan, Penolakan, Pendedahan Maklumat, Penafian Perkhidmatan dan Peningkatan Keistimewaan. Ia memberi pembangun cara yang boleh diulang untuk bertanya "apa yang boleh berlaku di sini?" pada mana-mana peringkat kitaran hayat perisian.

Mengapakah Pembangun Perlu Menggunakan Model Ancaman STRIDE dalam Projek Perisian?

Jika anda menghantar kod, mengurus pipelines, atau menyentuh CI/CD dalam apa jua cara, pemodelan ancaman STRIDE perlu menjadi sebahagian daripada kit alat anda. STRIDE bermaksud Spoofing (Penipuan), Tampering (Pengubahan), Repudiation (Penolakan), Information Disclosure (Pendedahan Maklumat), Denial of Service (Penafian Perkhidmatan) dan Elevation of Privilege (Ketinggian Keistimewaan), enam kategori ancaman keselamatan yang mesti dipertimbangkan oleh pembangun sepanjang kitaran hayat perisian.

Dicipta oleh Microsoft pada awal tahun 2000-an, rangka kerja pemodelan ancaman STRIDE mungkin kelihatan seperti pendekatan lama. Tetapi kekuatannya terletak pada kesederhanaannya yang abadi: ia membantu pasukan bertanya secara sistematik, "Apa yang boleh berlaku di sini?" Walaupun betapa banyak penyampaian perisian telah berkembang, dengan seni bina awan asli, pengkontenaan dan CI/CD pipelines, STRIDE kekal sangat relevan. Ia selaras dengan keperluan DevSecOps moden dengan menawarkan kaedah yang praktikal dan mesra pembangun untuk mengenal pasti dan menangani risiko keselamatan secara proaktif.

Ini bukanlah model teori yang dikhaskan untuk audit atau postmortem. Model ancaman STRIDE ialah peta anda untuk mencari titik lemah sebelum penyerang melakukannya. Sama ada anda menulis skrip penggunaan, menyemak pull request, atau menghubungkan perkhidmatan pihak ketiga, STRIDE mendedahkan sudut yang mungkin dieksploitasi oleh penyerang.

DevSecOps bermaksud membina perisian yang selamat dari awal. STRIDE bukan tentang memperlahankan anda; ia tentang mengurangkan kejutan kemudian dengan menyemak perkara yang betul sekarang. Penggunaan rangka kerja pemodelan ancaman STRIDE yang berterusan menguatkan keupayaan anda untuk menjangka dan menyelesaikan isu lebih awal.

Pecahan Ringkas: Kategori STRIDE yang Perlu Difahami oleh Pembangun

Model ancaman STRIDE membahagikan ancaman kepada enam kategori. Setiap satu memetakan titik masalah biasa dalam perisian dan infrastruktur.

S: Menipu Identiti (Berpura-pura Siapa Diri Anda) Risiko: Pengguna atau perkhidmatan yang tidak dibenarkan berpura-pura menjadi seseorang yang bukan diri mereka. Contoh: Pelancar CI yang terjejas berpura-pura menjadi penyebar yang dipercayai dan menolak perubahan yang tidak selamat. CI/CD Senario: Penyerang mendapat akses kepada ejen CI dan mencetuskan kerja yang nampaknya datang daripada ahli pasukan yang dipercayai.

T: Mengacau dengan Data atau Kod (Mengganggu Bahan Anda) Risiko: Penyerang mengubah kod, konfigurasi atau artifak tanpa disedari. Contoh: Skrip penyangak mengubah suai imej kontena semasa proses binaan. CI/CD Senario: Langkah binaan diubah secara senyap untuk menggunakan imej yang diubah suai daripada sumber yang tidak dibenarkan.

R: Penolakan (Tiada Bukti Siapa yang Melakukan Apa) Risiko: Kekurangan akauntabiliti atau jejak audit. Contoh: Penggabungan berlaku tanpa mengesahkan siapa yang meluluskan atau mengarangnya. CI/CD Senario: Binaan dan pelaksanaan dijalankan tanpa merekodkan siapa yang memulakannya, menjadikannya sukar untuk mengesan isu.

I: Pendedahan Maklumat (Rahsia Bocor) Risiko: Data sensitif bocor dalam log, binaan atau artifak. Contoh: Rahsia yang dicetak pada log semasa pelaksanaan skrip yang gagal. CI/CD Senario: Pembolehubah persekitaran dengan rahsia didedahkan dalam pipeline log atau mesej ralat.

D: Penafian Perkhidmatan (Membunuh Sumber Anda) Risiko: Proses atau perkhidmatan menjadi tidak tersedia disebabkan oleh logik yang lemah atau penyalahgunaan. Contoh: Gelung kerja yang tidak terhingga menyumbat barisan CI. CI/CD Senario: Konfigurasi yang salah pipeline tercetus terlalu kerap, menghabiskan semua kapasiti pelari yang ada.

E: Peningkatan Keistimewaan (Mendapatkan Akses Lebih Banyak Daripada Yang Dibenarkan) Risiko: Pengguna atau perkhidmatan mendapat kebenaran yang sepatutnya tidak mereka miliki. Contoh: A pipeline kerja berjalan dengan akses peringkat pengeluaran yang sepatutnya tidak ada. CI/CD Senario: Kerja penyumbang dilaksanakan dengan kebenaran yang tinggi disebabkan oleh kawalan akses yang salah konfigurasi.

Pemodelan Ancaman STRIDE dalam DevOps: Jadual Rujukan Pantas

kategoriRisiko DevOpsContoh Dunia Nyata
MenipuPenyamaran pengguna atau perkhidmatanPelari CI memalsukan pengerahkan pengeluaran
MengacauPerubahan kod atau konfigurasi yang tidak dibenarkanSkrip berniat jahat dalam pelaksanaan pipeline
PenolakanTiada log atau jejak audit untuk tindakanGabungkan dengan tiada commit tandatangan atau jejak audit
Maklumat PendedahanMembocorkan rahsia dalam balak atau binaanKelayakan dicetak pada log CI
Penafian PerkhidmatanKeletihan sumber atau gangguan aliran kerjaRekursif pipeline pekerjaan membebankan pelari
Peningkatan KeistimewaanKebenaran akses yang berlebihan untuk pengguna atau prosesdev pipeline token dengan akses prod

Mengaplikasikan STRIDE kepada Aliran Kerja DevOps

Penipuan dalam DevOps CI/CD Pipelines

Proses yang tidak dibenarkan menyamar sebagai dipercayai pipeline peringkat. Repos: Akaun penyumbang yang terjejas memasukkan kod berniat jahat di bawah nama pengguna yang sah. Kebergantungan: Pakej berniat jahat menggunakan nama yang serupa dengan pustaka popular (typosquatting) untuk kelihatan boleh dipercayai.

Pengubahan dalam DevOps CI/CD Pipelines

Skrip pelaksanaan yang diubah suai menukar bekas atau memasukkan arahan penyangak. Repos: Didorong secara paksa commitsemakan kod pintasan s, menyuntik pintu belakang. Kebergantungan: Kemas kini berniat jahat pada pustaka memperkenalkan fungsi tersembunyi.

Penolakan dalam DevOps CI/CD Pipelines

Pelaksanaan dicetuskan tanpa mencatat siapa yang memulakannya. Repos: Kekurangan commit penandatanganan menjadikannya mustahil untuk mengesahkan asal usul perubahan. Kebergantungan: Perubahan pakej ditarik tanpa sebarang log perubahan atau tandatangan yang boleh disahkan.

Pendedahan Maklumat dalam DevOps CI/CD Pipelines

Rahsia terdedah dalam output log disebabkan oleh penyahpepijatan verbose. Repos: fail .env atau rahsia konfigurasi secara tidak sengaja commitbergantung kepada kawalan sumber. Kebergantungan: Pakej dengan kebenaran yang salah konfigurasi mendedahkan fail sensitif.

Penafian Perkhidmatan dalam DevOps CI/CD Pipelines

Pelari yang terlebih beban disebabkan oleh gelung pencetus yang tidak terhingga. Repo: Sumbangan berniat jahat dengan fail yang sangat besar atau pencetus binaan yang kompleks. Kebergantungan: Pustaka rekursif atau yang dioptimumkan dengan buruk menggunakan sumber sistem yang berlebihan.

Peningkatan Keistimewaan dalam DevOps CI/CD Pipelines

Token kongsi membenarkan tugas bukan pentadbir melaksanakan tugas pentadbir. Repos: Git hooks atau skrip automasi dijalankan dengan keistimewaan yang tidak perlu. Kebergantungan: Pustaka pihak ketiga melaksanakan skrip pemasangan dengan akses root semasa binaan.

Contoh Sebaris: Sebelum dan Selepas Menggunakan STRIDE

Contoh Penolakan: Tidak Ditandatangani Commits

Apa yang sedang dibaiki: mencegah penggabungan yang tidak diaudit dengan mengesahkan commit tandatangan.

Sebelum Kesedaran STRIDE
// Anyone can commit and push, no verification of who or with what identity
git commit -m "update deploy config"
git push origin main

// No branch protection: unsigned, unverified commits merge freely
// .github/settings.yml (missing or absent)

Tiada tandatangan, tiada pengulas yang diperlukan dan tiada cara untuk membuktikan kemudian siapa yang mengarang perubahan ini atau sama ada ia telah diusik semasa transit.

Selepas Kesedaran STRIDE
// Commit signing enabled and enforced locally
git config commit.gpgsign true
git commit -S -m "update deploy config"
git push origin main

// Branch protection requires signed commits before merge
// .github/settings.yml
branches:
  - name: main
    protection:
      required_signatures: true
      required_pull_request_reviews:
        required_approving_review_count: 1

Sekarang setiap commit on main membawa tandatangan yang boleh disahkan, dan tidak ditandatangani commitditolak di peringkat cawangan, sekali gus merapatkan jurang penolakan.

Contoh Pendedahan Maklumat: Rahsia dalam Log

Apa yang sedang dibaiki: mencegah kebocoran rahsia dengan mengelakkan pencetakan langsung pembolehubah persekitaran sensitif.

Sebelum Kesedaran STRIDE
// CI job prints the secret directly to logs for "debugging"
steps:
  - name: Deploy
    run: |
      echo "Using API key: $API_KEY"
      curl -H "Authorization: Bearer $API_KEY" https://api.example.com/deploy

Jika kerja ini gagal atau rakan sepasukan mempunyai akses log, $API_KEY kini berada dalam teks biasa dalam sejarah CI, boleh dilihat oleh sesiapa sahaja yang mempunyai akses baca kepada pipeline.

Selepas Kesedaran STRIDE
// Secret is referenced, never printed, and CI masks it by default
steps:
  - name: Deploy
    run: |
      curl -H "Authorization: Bearer ${{ secrets.API_KEY }}" https://api.example.com/deploy
    env:
      API_KEY: ${{ secrets.API_KEY }}

Kunci ditarik dari stor rahsia CI semasa runtime, tidak pernah bergema ke stdout, dan kebanyakan platform CI akan menutupnya secara automatik dalam log walaupun ia muncul dalam output secara tidak sengaja.

Bagaimana Pembangun Boleh Menggunakan STRIDE Tanpa Latar Belakang Keselamatan

Jika anda bekerja dalam DevSecOps, pemodelan ancaman sepatutnya menjadi kebiasaan. Dengan menggunakan pemodelan ancaman STRIDE sebagai panduan semasa semakan dan persediaan automasi, anda boleh menjangkakan isu sebelum ia memasuki pengeluaran.

Anda tidak perlu menjadi pakar keselamatan. Hanya tanya soalan berasaskan STRIDE semasa aliran kerja biasa anda:

Semasa semakan kod:

  • Bolehkah seseorang memalsukan identiti di sini?
  • Bolehkah ini diusik?

Semasa CI/CD kajian:

  • Adakah rahsia terbongkar di mana-mana sahaja?
  • Adakah setiap tindakan boleh dikesan?

Semasa analisis kebergantungan:

  • Adakah kita mengambil daripada sumber yang disahkan?
  • Bolehkah kebergantungan ini meningkatkan kebenarannya?

Dan kemudian automasikan apa yang anda boleh:

  • Gunakan tandatangan commits
  • Laksanakan penandatanganan artifak
  • Sediakan pengimbasan rahsia
  • Pantau kemas kini kebergantungan

Langkah-langkah kecil ini mengoperasikan model ancaman STRIDE tanpa overhed tambahan.

Sebelum menggunakan pemodelan ancaman STRIDE secara konsisten, adalah berguna untuk mengetahui bila dan di mana ia sesuai dengan aliran kerja anda.

Panduan Terbaik untuk Melindungi Anda CI/CD Pipeline

Ketahui cara mengenal pasti, mencegah dan bertindak balas terhadap CI/CD risiko keselamatan.

Bacaan berkaitan:

Mengintegrasikan STRIDE ke dalam Proses Pemodelan Ancaman

STRIDE sesuai secara semula jadi dalam kitaran hayat pembangunan sebagai kanta yang ringan dan boleh diulang untuk mengenal pasti potensi ancaman keselamatan lebih awal. Ia paling berkesan apabila digunakan secara konsisten pada peringkat utama:

  • Semasa Semakan KodTanya soalan seperti “Bolehkah ini dipalsukan atau diusik?” atau “Adakah terdapat jejak audit untuk perubahan ini?”
  • Semasa Mengkonfigurasi CI/CD Pipelines: Nilaikan jika rahsia terbongkar, jika pekerjaan boleh dikesan atau jika skop kebenaran terlalu luas.
  • In Pengurusan KetergantunganSemak sama ada pakej pihak ketiga disahkan, ditandatangani dan bebas daripada skrip pemasangan berisiko atau akses berlebihan.
  • Apabila Merancang Ciri atau Perkhidmatan Baharu, gunakan rangka kerja pemodelan ancaman STRIDE sebagai senarai semak untuk memikirkan apa yang mungkin salah daripada setiap kategori ancaman.

Ini menjadikan pemodelan ancaman STRIDE sebagai bahagian praktikal dan boleh diambil tindakan dalam usaha keselamatan anda, bukan proses yang berat, tetapi pemikiran yang diterapkan dalam pembangunan harian dan aliran kerja DevOps anda.

Bagaimana Xygeni Memetakan kepada Setiap Kategori STRIDE

Xygeni bukan sahaja menandakan risiko, malah ia bertindak ke atasnya merentasi pipeline.

Ini caranya Xygeni's peta pengesanan kepada setiap kategori STRIDE dalam keadaan sebenar pipeline:

  • Penipuan: Bendera pengesanan anomali Xygeni CI/CD penyalahgunaan token dan pekerjaan yang menyamar sebagai identiti yang dipercayai, memberi amaran kepada pasukan supaya kelayakan boleh digilirkan sebelum pekerjaan dijalankan.
  • Mengganggu: Pengesanan gangguan kod Xygeni mengenal pasti perubahan tanpa kebenaran pada penggunaan YAML, fail binaan dan IaC templat, dan memaklumkan pasukan dengan maklumat khusus commit dan fail yang terjejas.
  • Penolakan: Bendera Xygeni tidak ditandatangani commitdan memaksa menolak yang memintas perlindungan cawangan, memberikan pasukan keterlihatan untuk menguatkuasakan yang ditandatangani-commit dasar sebelum penggabungan berlaku.
  • Pendedahan Maklumat: Pengimbasan rahsia Xygeni mengesan kelayakan yang terdedah dalam log, kod dan sejarah CI, mengesahkan sama ada ia masih aktif dan mencetuskan pembatalan automatik untuk jenis rahsia yang disokong.
  • Penafian Perkhidmatan: Pengesanan anomali Xygeni mengenal pasti yang luar biasa CI/CD aktiviti, seperti tempoh binaan yang tidak normal atau kekerapan kerja dan memaklumkan pasukan dalam masa nyata.
  • Peningkatan Keistimewaan: Pemantauan paling kurang keistimewaan Xygeni mengenal pasti pengguna yang terlalu bernasib baik atau tidak aktif dan CI/CD token, dan memaparkannya untuk pemulihan melalui Health Check ciri.

Kesimpulan: STRIDE Menjadikan Pemodelan Ancaman Praktikal untuk Pembangun

Rangka kerja pemodelan ancaman STRIDE memberikan pembangun kanta yang jelas dan boleh diambil tindakan untuk mengenal pasti risiko lebih awal. Jangan terlalu memikirkannya. Tanya sahaja, “Apa yang boleh berlaku di sini?” untuk setiap bahagian kod, repo, pipeline, atau kebergantungan.

Pemodelan ancaman STRIDE membantu anda membetulkan pepijat keselamatan sebelum ia diaktifkan. Dan alat seperti Xygeni membantu anda mengautomasikannya tanpa menambah geseran.

Jadikan model ancaman STRIDE sebahagian daripada cara anda menulis, menyemak dan menghantar kod. Pemodelan ancaman STRIDE yang berterusan membantu memastikan anda pipelineselamat, walaupun ia berskala dan berkembang.

Soalan Lazim

Apakah yang dimaksudkan dengan STRIDE?

Penipuan, Pengubahan, Penolakan, Pendedahan Maklumat, Penafian Perkhidmatan dan Peningkatan Keistimewaan, enam kategori yang dicipta oleh Microsoft untuk mengatur ancaman keselamatan.

Adakah saya memerlukan latar belakang keselamatan untuk menggunakan STRIDE?

Tidak. STRIDE berfungsi sebagai senarai semak soalan, seperti “bolehkah ini dipalsukan?” atau “adakah ini boleh dikesan?”, yang boleh digunakan oleh pembangun semasa semakan kod biasa dan CI/CD konfigurasi.

Adakah STRIDE masih relevan untuk pengguna awan asli dan CI/CD persekitaran?

Ya. Walaupun dicipta sebelum pengkontenaan dan CI/CD adalah standard, enam kategori STRIDE memetakan terus ke arah moden pipeline risiko seperti penyalahgunaan token, tidak ditandatangani commits, dan pendedahan rahsia.

alat-analisis-komposisi-perisian-alat-sca
Utamakan, pulihkan dan lindungi risiko perisian anda
Dapatkan Akaun Percuma anda.
Tiada kad kredit yang diperlukan.

Lindungi pembangunan dan penghantaran perisian anda

dengan Suit Produk Xygeni