CTF ჟეტონი - არასწორი csrf ჟეტონი - google ctf

CTF ტოკენები, CSRF შეცდომები და გაჟონილი საიდუმლოებები

სარჩევი

აუცილებლად წასაკითხი პოსტები

საინტერესო უახლესი პოსტები

რა უნდა იცოდნენ დეველოპერებმა ონლაინ რეჟიმში გასვლამდე

AppSec-ის შეცდომები მაინც იჩენს თავს წარმოებაში, განსაკუთრებით მაშინ, როდესაც ისინი თვალსაჩინო ადგილასაა დამალული. იქნება ეს CTF ტოკენის ნარჩენები, არასწორი CSRF ტოკენი თუ ღია კოდის პაკეტებში დამალული საიდუმლოებები, რისკები რეალურია. დეველოპერები ხშირად ვარაუდობენ, რომ ეს პრობლემები უვნებელია განვითარების გარემოში, მაგრამ თავდამსხმელებს უყვართ ადვილად გამოსაყენებელი შედეგები. აი, რა უნდა იცოდეთ, სანამ მათ ამუშავებას დაიწყებთ.

გადაზიდვის შეჩერების საიდუმლოებები: რატომ წარმოადგენს CTF ტოკენიც კი უსაფრთხოების რისკს

თუ ოდესმე დაგიტოვებიათ Google CTF ტოკენი ან ყალბი საიდუმლო საცავში და გიფიქრიათ, რომ „ეს მხოლოდ ტესტირებისთვისაა“, მარტო არ ხართ. თუმცა, ეს უსაფრთხო არ არის. საჯარო მაგალითები აჩვენებს, თუ როგორ გამოიყენებოდა დაუცველი ტოკენები, თუნდაც უსაფრთხოების გამოწვევების შედეგად, რეალურ სამყაროში დარღვევებში.

კოდში დარჩენილი საიდუმლოებები საშიშია:

  • ისინი ხშირად ხვდებიან შექმნის ჟურნალებში ან Docker-ის სურათებში.
  • ისინი სხვადასხვა გარემოში უფრო ხშირად გამოიყენება, ვიდრე წარმოგიდგენიათ.
  • რეპოს ხილვადობასთან ან CI არტეფაქტებთან შეწყვილებისას CTF ტოკენის ექსპლუატაციაც კი შესაძლებელია.

მაგალითი: GitHub Action-მა საჯარო ჟურნალებში ტესტის ავტორიზაციის მონაცემები გაჟონა დაწვრილებითი გამომავალი ინფორმაციის გამო. ეს არ იყო წარმოების საიდუმლო, მაგრამ ამან თავდამსხმელებს გეგმა მისცა.

არასწორი CSRF ტოკენი: ჩუმი აპლიკაციის გამტეხი

საიტებს შორის მოთხოვნის გაყალბება (CSRF) არის შეტევა, რომელიც მომხმარებლის ბრაუზერს ატყუებს და აიძულებს მას არასასურველი მოთხოვნები გაუგზავნოს ვებ-აპლიკაციას, სადაც ისინი ავტორიზებული არიან. CSRF დაცვა, როგორც წესი, მუშაობს ტოკენის გენერირებით, რომელიც უნდა გაიგზავნოს მდგომარეობის შეცვლის ნებისმიერ მოთხოვნასთან ერთად (მაგალითად, ფორმის გაგზავნა ან API გამოძახება). თუ ტოკენი დაკარგულია ან არასწორია, მოთხოვნა დაბლოკილია.

თანამედროვე აპლიკაციებში, განსაკუთრებით ერთგვერდიან აპლიკაციებში (SPA) ან API-first-ის ტიპის ბექენდებში, ამ პარამეტრმა შეიძლება ჩუმად შეწყვიტოს მუშაობა ან არაეფექტური გახდეს, თუ სწორად არ არის დანერგილი.

რა არღვევს CSRF დაცვას დღეს:

  • SameSite-ის ქუქი-ფაილების არასწორად კონფიგურირება.
  • ავტორიზაციის ნაკადები იყოფა დომენებს ან მიკროსერვისებს შორის.
  • ტოკენის განახლების არარსებობა შემდეგ login სახელმწიფო ცვლილებები.

CSRF-ის გასატეხად მავნე სკრიპტი არ გჭირდებათ. საკმარისია სესიის ცუდი დამუშავება. ერთმა აპლიკაციამ ვერ შეძლო SameSite ქუქი-ფაილის ხელახლა დადასტურება შემდეგ login, რაც ტოკენების შეუსაბამობებს შეუმჩნეველს ხდის მანამ, სანამ მომხმარებელი დაცულ მარშრუტს არ მოხვდება.

მნიშვნელოვანია, რომ არასწორი CSRF ტოკენის შეტყობინების გამოჩენა არ არის მხოლოდ მცირე ფრონტ-ენდის პრობლემა; მას შეუძლია მიუთითოს სესიის ნაკადში ან ტოკენების მართვაში რეალურ დაუცველობაზე. ეს ფართოდ გავრცელებული პრობლემაა საწარმოო სისტემებში და არა მხოლოდ ის, რაც CTF გარემოში ან დეველოპერების ტესტირებაში ვლინდება.

საიდუმლო გაჟონვები Pipelineს: რატომ CI/CD თქვენი პირველი შეტევის ზედაპირია – CTF ტოკენი

თქვენი CI pipeline ამუშავებს ყველაფერს: კოდს, კონფიგურაციებს, ტესტებსა და ჟურნალებს. სწორედ აქ ხდება ყველაზე ხშირად საიდუმლოებების გამჟღავნება.

გაჟონვის საერთო წერტილები:

  • მყარი კოდირებული საიდუმლოებები in .ენვ files.
  • დეტალური ინსტალაციის სკრიპტები (მაგ., npm ინსტალაცია) ინექციური ტოკენების ჟურნალირება.
  • არასწორად კონფიგურირებული მორბენლები ან მესამე მხარის ქმედებები, რომლებიც წვდომას ახდენენ ავტორიზაციის მონაცემებზე.

დეველოპერმა ერთხელ ინექცია მოახდინა CTF ტოკენი გამართვისთვის. ის სამ შერწყმას გადაურჩა, ჟურნალებში მოხვდა და საძიებო სისტემების მიერ ინდექსირების შემდეგ ავტომატიზირებულმა სკანერებმა შენიშნეს.

რეკომენდებული კონტროლი:

  • წარუმატებლობის სწრაფი პოლიტიკა .ენვ საიდუმლოებები commits.
  • ჟურნალის დეზინფექცია ნაგულისხმევად ჩართულია.
  • რეალურ დროში მომუშავე სკანერები, როგორიცაა Gitleaks, TruffleHog ან მშობლიური GitHub საიდუმლო დეტექცია.

დამოკიდებულებებიც შეიძლება გაჟონოს: ღია კოდის და მესამე მხარის პაკეტების რისკები

ღია კოდის პაკეტები საიდუმლოებების მიმართ იმუნიტეტი არ არის. ზოგიერთი მათგანი შეცდომით ჩასმულ ნამდვილ გასაღებსაც კი შეიცავს. ერთ-ერთი ბოლოდროინდელი Google-ის CTF გამოწვევამ ზუსტად ეს ვექტორი სიმულირება მოახდინა, რაც ნათლად აჩვენებს, თუ როგორ შეუძლიათ კეთილგანწყობილ პაკეტებსაც კი რისკის შეტანა.

მაგალითები ველურ ბუნებაში:

  • node_modules/example-creds.json რომელიც შეიცავს OAuth-ის სატესტო ტოკენებს, რომლებიც შეესაბამება წარმოების ფორმატს.
  • .env.debug ფაილები შემთხვევით გამოქვეყნდა API გასაღებებით ლოკალური დეველოპერის დროს.
  • ერთეულის ტესტირების მოწყობილობები, მათ შორის JWT-ები ან ღრუბლოვანი სერთიფიკატები, რომლებიც განკუთვნილია შიდა გარემოსთვის.
  • დარჩენილი სატესტო აღკაზმულობა, რომელშიც ჩამონტაჟებულია რეალური ტოკენები ან საიდუმლოებები ტესტის ორკესტრირებისთვის.

ეს იშვიათი გამონაკლისები არ არის; ისინი საკმარისად ხშირად ხდება, რომ სისტემურად ჩაითვალოს. საჯარო პაკეტებში არსებული საიდუმლოებები რეგულარულად ფიქსირდება სკანირების ინსტრუმენტებით და ხშირად გამოტოვებულია კოდის ხელით მიმოხილვისას.

რატომ არის მნიშვნელოვანი უწყვეტი სკანირება:

  • მესამე მხარის პაკეტები შეიძლება შეიცვალოს წინასწარი შეტყობინების გარეშე. ვერსიის მცირე განახლებამაც კი შეიძლება წარმოადგინოს ახალი ფაილი მგრძნობიარე მონაცემებით.
  • ხელით შემოწმება მასშტაბირებადი არ არის; ავტომატიზირებული ხელსაწყოები ჩაშენებული საიდუმლოებების მასშტაბურად აღმოჩენის ერთადერთი გზაა.
  • გამოიყენეთ ავტომატიზირებული პოლიტიკა, რომელიც დამოკიდებულებების რეკურსიული სკანირება საიდუმლოებების აღმოსაჩენად, შიგნითაც კი კვანძის_მოდულები, ტესტის მონაცემები, ან .ენვ არტეფაქტები.

შექმნის პოლიტიკა საჯარო პაკეტებს ისეთივე ყურადღებით უნდა მოეპყროს, როგორც შიდა კოდს, რადგან ერთი ჩაშენებული CTF ტოკენი ან ნარჩენი .ენვ ფაილია ყველაფერი რაც საჭიროა.

DevOps-ის საწინააღმდეგო ზომები: უსაფრთხო CI/CD მასშტაბის ნაგულისხმევი პარამეტრები

თქვენი pipeline საქმე მხოლოდ ინსტრუმენტებს არ ეხება; საქმე ეხება ავტომატიზირებული პოლიტიკის დანერგვას და guardrails რომლებიც სარისკო ნიმუშებს წარმოებაში მოხვედრამდე იჭერენ. რეალურ სამყაროში CI/CD ჰიგიენის მოითხოვს უწყვეტ აღსრულებას და მკაფიო ნაგულისხმევ პირობებს, რომლებიც პრიორიტეტს ანიჭებს პრევენციას.

გაფართოებული პრაქტიკა უსაფრთხოებისთვის pipelines:

  • საიდუმლო სკანირება at commit დრო: მონიშნეთ ყველა commitდა pull requests საიდუმლოებებისთვის, განსაკუთრებით .env ფაილები, config.js, YAML ფაილები და ტოკენების ნიმუშები, რომლებიც ჰგავს CTF ტოკენიდარღვევების აღმოჩენისას ბლოკი ავტომატურად ერთიანდება.
  • პოლიტიკის სწრაფი აღსრულებანუ დაელოდებით CI დავალების დასრულებას აწყობის წარუმატებლობისთვის. დააყენეთ პოლიტიკა, რომელიც ვადაზე ადრე შეწყდება საიდუმლოებების ან არასწორი კონფიგურაციების აღმოჩენის შემთხვევაში. ეს ზოგავს დროს და ხელს უშლის არასწორი კოდის შემდგომ პროგრესირებას. pipeline.
  • ჟურნალის შემოწმება და რედაქტირებალოგები გაჟონილი საიდუმლოებების გავრცელებული წყაროა. ისეთი მგრძნობიარე მნიშვნელობებისთვის, როგორიცაა: ლოგების გაწმენდა ან შენიღბვა, გამოიყენეთ ავტორიზაცია: სათაურები, ქუქი-ფაილები და API ტოკენები. აუდიტის ჟურნალები მსგავსი შაბლონებისთვის Google-ის CTF იდენტიფიკატორები ან შიდა ტოკენები.
  • CSRF-ის დაცვის დაფარვა: ინტეგრირებული ავტომატიზირებული ტესტები, რომლებიც ადასტურებენ სესიის ნაკადებს და უზრუნველყოფენ, რომ ქუქი-ფაილები და CSRF ტოკენები თანმიმდევრულად იმოქმედონ SameSite-ისა და ჯვარედინი წარმოშობის პირობებში. მონიშნეთ პრობლემები, სადაც სისტემამ შეიძლება წარმოქმნას ან მიიღოს არასწორი CSRF ტოკენი.
  • იძულებითი საიდუმლო როტაციასაიდუმლოებები და ტოკენები უნდა შეიცვალოს PR-ების გაერთიანების ან გაჟონვის აღმოჩენის შემთხვევაში. ავტომატიზირეთ გასაღებების როტაციის სამუშაო პროცესები, რათა თავიდან აიცილოთ მოძველებული საიდუმლოებების დარჩენა წარმოების ან CI გარემოში.
  • თავიდან აიცილეთ წითელი გუნდის სიმულაციები დეველოპერებშიმოერიდეთ კონკრეტული შეტევის ბრძანებების ან დატვირთვის ჩასმას dev ან CI ნაკადებში, თუნდაც ტესტირების მიზნით. თუ დეტექციის ლოგიკას აჩვენებთ, გამოიყენეთ ფსევდოკოდი (მაგ., // მაგალითის ჟეტონი=ABC123) და მონიშნეთ ის, როგორც არაფუნქციური ჩანაცვლების ველი. რეალური ექსპლოიტის სინტაქსის არასწორად გამოყენებამ, თუნდაც ტესტებში, შეიძლება უარყოფითად იმოქმედოს საჯარო ჟურნალებში ან აუდიტის დროს.

უსაფრთხოების შესახებ ცნობიერება რეალურ სიტუაციებში ჰიგიენის დაცვაზე უნდა იყოს ორიენტირებული: commit- დროის სკანირება, საიდუმლო ბლოკირება და სესიის ვალიდაცია და არა ხელოვნური შეტევის სიმულაციები. მიზანია, უსაფრთხოება თქვენი გუნდის შექმნის პროცესის ნაწილი გახდეს და არა კოდის განხილვის შემდგომი ნაბიჯი. ყველაფერი, ტოკენების სკანირებიდან დაწყებული CSRF ვალიდაციით დამთავრებული, ერთსა და იმავეში უნდა იყოს ინტეგრირებული. pipelines, რომლებიც ქმნიან და ამოწმებენ თქვენს კოდს.

რისკების მასშტაბური გამოვლენა: როგორ ეხმარება Xygeni DevSecOps-ის აღსრულებას

უსაფრთხო DevSecOps-ის ფარგლებში pipeline, ქსიგენი მოქმედებს როგორც აღსრულების ფენა, რომელიც ავტომატიზირებს აუცილებელ უსაფრთხოების შემოწმებებს მთელ სისტემაში CI/CD სასიცოცხლო ციკლი. მისი როლი არ არის კარგი პრაქტიკის ჩანაცვლება, არამედ იმის უზრუნველყოფა, რომ ისინი თანმიმდევრულად, მასშტაბურად, მრავალფეროვან გარემოში იქნას გამოყენებული.

Xygeni ავტომატიზირებს ძირითად კონტროლს მთელს pipeline, როგორიცაა:

  • სკანირება pull requests და აშენებს გამჟღავნებული საიდუმლოებებისთვის, მათ შორის ისეთი ნიშნებისთვის, რომლებიც CTF ტოკენი ან ტესტის არტეფაქტებში დამალული ავტორიზაციის მონაცემები.
  • განლაგების დაბლოკვა if .ენვ ფაილები ან ცნობილი მგრძნობიარე ნიმუშები გვხვდება commits, builds ან დამოკიდებულებები.
  • იძულებითი საიდუმლო როტაციის აღსრულება შერწყმისას, როდესაც საიდუმლო აღმოჩნდება, რაც უზრუნველყოფს, რომ მოძველებული ან კომპრომეტირებული ტოკენები არ დარჩეს.
  • CSRF-ის არასწორი კონფიგურაციების იდენტიფიცირება, მათ შორის ისეთი ნიმუშები, რომლებმაც შეიძლება გამოიწვიოს არასწორი CSRF ტოკენი შეცდომა, სესიის შეუსაბამობების მონიშვნა ან SameSite-ის პრობლემები.
  • CI-მშობლიური ინტეგრაცია პლატფორმებზე (GitHub, GitLab, Jenkins, Bitbucket), რაც საშუალებას აძლევს უსაფრთხოების პოლიტიკებს იმუშაონ არსებულ სამუშაო პროცესებში დეველოპერების შენელების გარეშე.

ეს კონტროლის მექანიზმები არა მხოლოდ სასიამოვნოა; ისინი ავსებენ ხარვეზს ხელით განხილვებსა და წარმოების უსაფრთხოებას შორის. უსაფრთხოების წესების უშუალოდ CI p-ში ჩასმით.იპელინში, გუნდები ამცირებენ „ბრმა ზონებს“ ხელსაწყოების ან ჩვევების შეცვლის გარეშე.

საბოლოო საკონტროლო სია: ონლაინ რეჟიმში გასვლამდე

გაშვებამდე უსაფრთხოების შემოწმება რა უნდა დადასტურდეს
არანაირი მყარი კოდირებული საიდუმლოება ან CTF ტოკენის ნარჩენები დარწმუნდით, რომ ყველა კოდი და ისტორია თავისუფალია ნებისმიერი სატესტო ტოკენისგან, CTF ტოკენისგან ან ავტორიზაციის მონაცემებისგან.
CSRF დაცვა სრულად დადასტურებულია ტესტი login/session ნაკადები ისეთი პრობლემებისთვის, როგორიცაა არასწორი CSRF ტოკენის შეცდომები ან SameSite-ის პრობლემები.
CI/CD pipeline გაწმენდილია .env ფაილის დაბლოკვა commits, ჟურნალების სკანირება და საიდუმლო გამჟღავნების თავიდან აცილება შექმნის ეტაპებზე.
ყველა დამოკიდებულება დასკანირებულია შეამოწმეთ მესამე მხარის პაკეტები და node_modules ჩაშენებული საიდუმლოებების ან სატესტო მონაცემების აღმოსაჩენად.
განლაგების შემდგომი მონიტორინგი აქტიურია თვალყური ადევნეთ ტოკენების ბოროტად გამოყენებას, განსაკუთრებით არალეგალურ ავტორიზაციის სათაურებს ან ტოკენების ხელახლა გამოყენებას.
CI პოლიტიკის მეშვეობით აღსრულება (Google CTF ჰიგიენა) საიდუმლოებების აღმოჩენის შემთხვევაში, გამოიყენეთ ავტომატიზირებული წესები PR-ების დაბლოკვისა და როტაციის იძულებით გადაადგილებისთვის.

რეალური AppSec რისკი მხოლოდ ექსპლოიტებს არ ეხება. ეს ეხება ყოველდღიურ შეცდომებს, რომლებსაც ვერ ვამჩნევთ. დაიწყეთ იქიდან, სადაც მნიშვნელოვანია: თქვენი კოდი და თქვენი pipeline.

sca-tools-software-composition-analysis-tools
თქვენი პროგრამული უზრუნველყოფის რისკების პრიორიტეტიზაცია, გამოსწორება და დაცვა
მიიღეთ თქვენი უფასო ანგარიში.
საკრედიტო ბარათი არ არის საჭირო.

უზრუნველყავით თქვენი პროგრამული უზრუნველყოფის შემუშავება და მიწოდება

Xygeni Product Suite-თან ერთად