ჩავარდნა სისტემის დიზაინში

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

სურათზე გამოსახულია სახანძრო განგაშის სასიგნალო მოწყობილობის მიერ “გამოჭერილი” ადამიანი.

დიზაინერებმა “გააუმჯობესეს” მოწყობილობა და დაამატეს მექანიზმი, რომელიც სიგნალის ჩამრთველის ხელს ითრევს (და ადამიანი იქნება ასე დაბმული სანამ პოლიციელი ან მეხანძრე არ გამოუშვებს).

ამით დიზაინერებმა თავიდან აიცილეს ცრუ განგაშის მიცემის შესაძლებლობა.

არ არის გენიალური გადაწყვეტილება? 😀

ვინც ვერ მიხვდით, დაფიქრდით, ხანძრის შემთხვევაში შეყოფდით აქ ხელს განგაშის ასატეხად?

ბლოკჩეინის უსაფრთხოება – ნაშრომები

ბლოკჩეინის უსაფრთხოებაზე ვეძებდი ნაშრომებს. რასაც მივაგენი, გამოვარჩევდი ორს: Security of Blockchain Technologies, რომელიც დაწერილია ციურიხის ETH-ში (სამაგისტრო ნაშრომი) და ENISA-ს კვლევას Distributed Ledger Technology & Cybersecurity.

Security of Blockchain Technologies-ში მიმოხილულია Proof of Work-ზე (PoW) დაფუძნებული ბლოკჩეინების (bitcoin, ethereum) უსაფრთხოება, შესაძლო შეტევების სცენარები და გაუმჯობესებები. ითვლება, რომ PoW ბლოკჩეინებში თაღლითობისთვის საჭიროა 50% გამოთვლითი რესურსის ქონა. რეალურად კი შეტევის წარმატებაზე გავლენის მოხდება შეუძლია ბლოკების დაგენერირების დროს, ბლოკების ზომას, ე.წ. ცარიელი ბლოკების პროპორციას (stale block rate; stale blocks არის ბლოკები, რომლებიც იქმნება ბლოკჩეინის წევრების მიერ, მაგრამ ვერასოდეს ხვდებიან მთავარ ჯაჭვში).

ნაშრომში განხილულია 2 შეტევა PoW ბლოკჩეინებზე: ორმაგი ხარჯვა (double spending; როდესაც თავდამსხმელი ცდილობს ერთი და იგივე ვირტუალური მონეტა ორჯერ დახარჯოს) და ხარბი მოპოვება (selfish mining; რომლის დროსაც თავდამსხმელი არა ფინანსური მოგებით, არამედ მთავარ ჯაჭვში რაც შეიძლება თავის მიერ გამოთვლილი ბლოკების მოხვედრით არის დაინტერესებული).

როგორც აღმოჩნდა, ბიტკოინი უფრო უსაფრთხო სისტემაა, ვიდრე ეთერეუმი (ეს უკანასკნელი იმითაა საინტერესო, რომ ბიტკოინისგან განსხვავებით აქვს ჭკვიანი კონტრაქტების (smart contracts) მხარდაჭერა). ეთერეუმის კრიტიკული სისუსტეა (CVSS ქულა 9.1) ის, რომ ბლოკჩეინის მონაწილე სინქრონიზაციას ახორციელებს მხოლოდ ერთ სხვა მონაწილესთან. თუ ეს სხვა მონაწილე არის თავდამსხმელი, მას (სხვადასხვა ტექნიკური მანიპულაციებით) შეუძლია გამოთიშოს მსხვერპლი “რეალური” მოვლენებისგან და გამოსათვლელად გაუგზავნოს ყალბი ბლოკები. ერთი მხრივ, შეტევის გავლენა შეიძლება იყოს როგორც Denial of Service, ისე ორმაგი ხარჯვა. იმდენად, რამდენადაც შეტევა მოითხოვს მცირე გამოთვლით რესურსებს და ეთერეუმის ბლოკჩეინში კი სულ რამდენიმე ათასი მონაწილეა, შეტევის (სულ მცირე Denial of Service) განხორციელება რეალურია.

ნაშრომში აგრეთვე განხილულია Stellar ბლოკჩეინი და მისი სისუსტე, რომელიც დაკავშირებულია კვორუმის მიღებასთან. დასკვნის მიხედვით, Stellar-ის ნოუდების ამჟამინდელი რაოდენობა (10) არ იძლევა ფინანსური სისტემისთვის საჭირო უსაფრთხოების დონეს.

რაც შეეხება, ENISA-ს კვლევას, ის უფრო ზოგადად ბლოკჩეინის ტექნოლოგიასთან დაკავშირებულ რისკებზეა. განხილულია ჭკვიან კონტრაქტებთან დაკავშირებული რისკები და შეტევები. ასევე მიმოხილულია ბლოკჩეინზე დაფუძნებულ სხვადასხვა პროექტებს (Ethereum, Ripple, Hyperledger, Sawtooth Lake/Intelledger, Corda).

ბლოკჩეინის უსაფრთხოებით დაინტერესების შემთხვევაში, გირჩევთ სწორედ ENISA-ს კვლევით დაიწყოთ.

უსაფრთხოების სტარტაპები – YC S16 Demo Day 1 & 2

სტარტაპ აქსელერატორ Y Combinator-ის პირველ და მეორე Demo დღის განმავლობაში ჯამში 92 სტარტაპი მონაწილეობდა. მათ შორის იყო რამდენიმე კომპანია, რომელიც ინფორმაციული უსაფრთხოების სფეროში მოღვაწეობს.

ZeroDB – დაშიფრული ქლაუდ სტორიჯი კომპანიებისთვის

https://zerodb.com/

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

კომპანიამ გამოაცხადა, რომ კონტრაქტს დებენ ერთ-ერთ ბრიტანულ ბანკთან, რაც მათ 1 წლის განმავლობაში 1 მილიონ დოლარ შემოსავალს მოუტანს.

ZeroDB

Wallarm – ვებ აპლიკაციების უსაფრთხოების ჭკვიანი სისტემა

https://wallarm.com/

Wallarm ვებ აპლიკაციებისა და API-ების ყოველდღიური მოხმარების პროფილებს ადგენს, რომელთაც შემდეგ შაბლონად იყენებს. სწორედ ამ შაბლონის მიხედვით უნდა განასხვავოს მომავალში ვეპ აპლიკაციისა და API-სთვის გამოგზავნილი მავნე რექვესტები. Wallarm-ს შეუძლია სწავლა და პროფილის “გაფართოება”, შესაბამისად კი false positive-ების 0-მდე დაყვანა.

Wallarm-ს უკვე ჰყავს 60 კლიენტი, რომელთაც ჯამში 100 მილიონი ვებ მომხმარებელი ჰყავთ. მხოლოდ Y Combinator-ის მიმდინარეობისას, კომპანიის ყოველთვიური შემოსავალი გაორმაგდა და 100,000 დოლარს მიაღწია.

Wallarm

Metapacket – კორპორატიული ფაიერვოლი მავნე პროგრამების აღმოსაჩენად

http://metapacket.com/

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

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

Y Combinator Demo Day 1 შეჯამებაTechCrunch-ზე

Y Combinator Demo Day 2 შეჯამება TechCrunch-ზე

Agile Security Manifesto

agile seurity manfiesto

2001 წელს 18-მა დეველოპერმა გამოაქვეყნა ე.წ. Agile მანიფესტი, რომელშიც ჩამოყალიბებული იყო პროგრამული უზრუნველყოფის განვითარების პრინციპები.

მანიფესტს თავისი საიტიც აქვს და ქართულადაც არის თარგმნილი (სიტყვა Agile-ის გარდა 😀 ).

2016 წელს კომპანია Cigital-მა, რომელიც მოღვაწეობს პროგრამული უზრუნველყოფის უსაფრთხოების სფეროში, გამოაქვეყნა Agile უსაფრთხოების მანიფესტი.

მანიფესტის სრული ტექსტის PDF იხილეთ Cigital-ის საიტზე, აქ კი გთავაზობთ ძირითად პრინციპებს:

  1. პროგრამული უზრუნველყოფის უსაფრთხოება, პირველ რიგში, უნდა იყოს დეველოპერებისა და ტესტერების, და არა უსაფრთხოების სპეციალისტების, საქმე და პასუხისმგებლობა;
  2. უსაფრთხოება ჩადებული უნდა იყოს დეველოპმენტის პროცესსა და საქმიანობაში და უსაფრთხოებაზე ზრუნვა არ უნდა იწყებოდეს პროგრამის დასრულების შემდეგ;
  3. უმჯობესია პროგრამის ფუნქციონალში იყოს გათვალისწინებული უსაფრთხოება, ვიდრე ცალკე უსაფრთხოების ფუნქციონალი ემატებოდეს პროგრამას; გარდა ამისა, პროგრამაში უნდა ჩაიდოს უსაფრთხოების გამოცდილი და დატესტილი იმპლემენტაცია და არა იმპროვიზაცია;
  4. ორიენტაცია უნდა იყოს რისკების მოგვარებაზე და არა ბაგების აღმოფხვრაზე – დეველოპმენტის პროცესში გათვალისწინებული უნდა იყოს რისკები და უსაფრთხოება არ ამოიწურებოდეს ბაგების ან სისუსტეების სიის აღმოფხვრით;

 

როგორი უნდა იყოს უკეთესი ინტერნეტი – მოსაზრებები 1988 და 2008 წლებიდან

MIT-ის პროფესორმა დევიდ კლარკმა 1988 წელს გამოაქვეყნა ნაშრომი ინტერნეტი განვითარების პრიორიტეტებზე. ნაშრომი შეგიძლიათ წაიკითხოთ აქ.

კლარკი ამბობს, რომ ინტერნეტის არქიტექტორების უპირველესი მიზანი იყო ერთმანეთთან დაკავშირებული კომპიუტერული ქსელების (ARPANET) მულტიპლექსური (კომუნიკაციის 1 მედიუმის გამოყენებით მრავალი სიგნალის (ერთდროული) გადაცემა)  გამოყენების ეფექტური საშუალების შექმნა.

ქართულად:

უკვე არსებული ქსელის ისე გარდაქმნა, რომ მას შეძლებოდა სხვადასხვა მხარის მიერ ერთმანეთთან ერთდროული კომუნიკაციის უზრუნველყოფა.

პ.ს. TCP/IP პროტოკოლი 1983 წელს დაინერგა.

იქვე კლარკს მოცემული აქვს ინტერნეტის განვითარების 7 პრიორიტეტი:

  1. ინტერნეტ კომუნიკაცია უნდა გაგრძელდეს მიუხედავად ზოგი ქსელის ან გეითვეის დაკარგვისა;
  2. ინტერნეტს უნდა გააჩნდეს კომუნიკაციის სხვადასხვა ტიპის სერვისის მხარდაჭერა;
  3. ინტერნეტის არქიტექტურა შესაძლებლობას უნდა იძლეოდეს მას მიუერთდნენ განსხვავებული და ახალ-ახალი ქსელები;
  4. ინტერნეტის არქიტექტურა რესურსების გადანაწილებით (distributed) მართვის საშუალებას უნდა იძლეოდეს;
  5. ინტერნეტის არქიტექტურა უნდა იყოს ფინანსურად ეფექტური (cost effective);
  6. ინტერნეტში ახალი სისტემის ჩართვა უნდა მოითხოვდეს მინიმალურ ძალისხმევას;
  7. ინტერნეტის არქიტექტურაში გამოყენებული რესურსები უნდა იყოს დაანგარიშებადი;

20 წლის შემდეგ, National Science Foundation-მა დევიდ კლარკის ხელმძღვანელობით დაიწყო ახალი პროექტი (რომელიც ისევ გრძელდება) ინტერნეტის გაუმჯობესებასთან დაკავშირებით (პროექტის საიტი: www.nets-fia.net)

დევიდ კლარკის პრიორიტეტი ახალი და უკეთესი ინტერნეტისთვის (2008):

SECURITY

ბოქლომი

მგზავრობისას ბარგს ბოქლომით იცავთ და გიჭირთ 3 ან 4 ციფრიანი კოდის დამახსოვრება?

სწორედ თქვენთვის ახალი ბოქლომი შექმნეს! მასზე შეგიძლიათ დააყენოთ თარიღი. მაგალითად, თქვენი დაბადების დღე, რომელსაც აეროპორტის პერსონალი თქვენი პასპორტიდან გაიგებს, თქვენი დაქორწინების თარიღი, რომელიც ფეისბუქის public პროფილზე გიწერიათ ან გამგზავრების დღის თარიღი, რომელსაც ნებისმიერი გამვლელი მიხვდება 😀

P.S. ამავე დროს არ დაგავიწყდეთ, ყველაზე ძვირფასი ნივთები ამ ბოქლომით დაცულ ჩემოდანში ჩაალაგოთ 🙂

Birthday Lock

P.S.S. მარტივი ანალიზი და შედარება 4-ციფრიან ბოქლომთან:

4 ციფრიან ბოქლომზე შეიძლება 10,000 სხვადასხვა კომბინაციის დაყენება (0000-დან 9999-ის ჩათვლით).

ამ ბოქლომზე შეიძლება დაყენდეს 48,000 სხვადასხვა თარიღი (მარცხნიდან პირველზე არის 4 ვარიანტი (0,1,2,3), მეორეზე – 10, მესამეზე – 12 (თვეები), მომდევნო 2-ზე კი 10-10; შესაბამისად: 4x10x12x4x10=48,000)

ერთი შეხედვით, თარიღიანი ბოქლომი უფრო “უსაფრთხო” ჩანს, თუ ჩავთვლით, რომ მასზე დადებული კოდი იქნება random და შესაძლებელი იქნება ავირჩიოთ 30 თებერვალი და 35 მაისი (ამის შესაძლებლობას იძლევა ბოქლომი).

თუმცა პრაქტიკაში, უფრო რთულად არის საქმე. დაბადების დღეზე დაფუძნებული კოდზე გაცილებით მეტი ინფორმაციის მოძიება შეიძლება ბოქლომის პატრონის ელემენტარული “დაგუგლვით”.

გარდა ამისა, დაბადების დღიანი ბოქლომის კოდი შედგება სხვადასხვა სიძლიერის ნაწილისგან და ერთი რომელიმე მათგანის გამოცნობამ შესაძლებელია ძლიერ შეამციროს ვარიანტების რაოდენობა. მაგალითად, მხოლოდ იმის გაგებით, რომელი თვეა არჩეული, შესაძლო ვარიანტები 48,000/12=4,000-მდე მცირდება (რაც 2.5-ჯერ ნაკლბია 4-ციფრიანი კოდის შესაძლო ვარიანტებზე).

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

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

UDP Amplification – გაძლიერების ფაქტორი სხვადასხვა პროტოკოლისთვის

Amplification (“გაძლიერება”) შეტევა დღესდღეობით DDoS-ის ერთ-ერთი ყველაზე გავრცელებული ტიპია და უმსხვილესი DDoS შემთხვევები სწორედ ასეთი იყო. ამ შეტევაში თავდასხმელისა და მსხვერპლის გარდა, ჩართულია მესამე მხარეც. ის არის ინტერნეტით ხელმისაწვდომი რაიმე სერვისი, რომელსაც ბოროტად იყენებს თავდამსხმელი. ბოროტად გამოყენებას კი, უმეტეს შემთხვევაში, ხელს უწყობს სერვისის არასწორი კონფიგურაცია.

Drawing1დიაგრამაზე წარმოდგენილია “გაძლიერების” ეფექტის მუშაობის გამარტივებული სქემა. ზოგიერთი UDP-based პროტოკოლის (მაგალითად, DNS) შემთხვევაში, შესაძლებელია რომ სერვერს გავუგზავნოთ რაიმე რექვესტი, პირობითად 1 კილობაიტის ზომის, პასუხად კი 5 კილობაიტინი response მივიღოთ. თავდასხმელი პაკეტში ცვლის source IP-ს და წერს მსხვერპლის IP მისამართს (რომ პასუხი მსხვერპლთან გაიგზავნოს).

გერმანელმა მკვლევარმა კრისტიან როსოუმ გამოთვალა სხვადასხვა UDP-ზე დაფუძნებული პროტოკოლების გაძლიერების ფაქტორი (ანუ მოცემულ რექვესტზე რამდენჯერ დიდი პასუხი შეიძლება მოგვივიდეს). მთლიანი კვლევის წაკითხვა შეგიძლიათ აქ, ქვემოთ მოცემული ცხრილი კი გვიჩვენებს სხვადასხვა პროტოკოლების გაძლიერების ფაქტორებს. თუ თქვენი ორგანიზაცია რომელიმე მათგანს იყენებს, გადაამოწმეთ არის თუ არა სერვისი ინტერნეტიდან ხელმისაწვდომი, რეალურად არის თუ არა საჭირო რომ ინტერნეტიდან იყოს ხელმისაწვდომი და თუ აუცილებელია, მაშინ დაგუგლეთ უსაფრთხო კონფიგურაციის გაიდლაინები, თორემ შეიძლება რიამე DDoS-ის თანამონაწილე აღმოჩნდეთ და სხვადასხვა ბლექლისტებშიც ამოყოთ თავი 🙂

პროტოკოლი გაძლიერების ფაქტორი სისუსტის მქონე ბრძანება/რექვესტი
DNS 28-დან 54-მდე US-CERT: TA13-088A
NTP 556.9 US-CERT: TA14-013A
SNMPv2 6.3 GetBulk
NetBIOS 3.8 Name resolution
SSDP 30.8 SEARCH
CharGEN 358.8 Character generation
QOTD 140.3 Quote
BitTorrent 3.8 ფაილის ძებნა
Kad 16.3 Peer list exchange
Quake Network Protocol 63.9 Server info exchange
Steam Protocol 5.5 Server info exchange
Multicast DNS (mDNS) 2-დან 10-მდე Unicast query
RIPv1 131.24 სპეციალურად დაგენერირებული რექვესტი
Portmap (RPCbind) 7-დან 28-მდე სპეციალურად დაგენერირებული რექვესტი

1.usa.gov – როგორ იყენებენ ჰაკერები ამერიკული სამთავრობო საიტების სისუსტეს

Open Redirect არის ვებ აპლიკაციის სისუსტე, რომელიც ჰაკერს საშუალებას აძლევს მსხვერპლს მიაწოდოს სანდო ვებსაიტის ბმული, რეალურად კი გადაამისამართოს სახიფათო საიტზე. მთავარი საფრთხე, რომელიც მომდინარეობს ამ სისუსტისგან არის ფიშინგი. სისუსტის მოგვარების გზაა, რომ გადამისამართების ფუნქცია საერთოდ მოვხსნათ ვებსაიტიდან. მაგრამ თუ გვჭირდება – მაშინ გადამისამართება მომხმარებლის input-ზე საერთოდ არ უნდა იყოს დამოკიდებული.

სისუსტის უკეთ გასაგებად, წარმოვიდგინოთ, რომ არსებობს ვებსაიტი example.com. თუ ამ საიტს გააჩნია მოცემული სისუსტე, მაშინ ქვემოთ მოცემულ ბმულზე შესვლისას example.com-ის ნაცვლად, mikheiloninfosec.com-ზე შემოხვალთ.

http://www.example.com?redirect=mikheiloninfosec.com

Note: ამ ბმულში redirect არის მოცემული ვებ საიტის პარამეტრი, რომელსაც სხვ ასახელი შეიძლება ერქვას

რამდენიმე დღის წინ ბრაიან კრებსმა დაწერა, რომ ამ სისუსტისა და bit.ly სერვისის გამოყენებით, ჰაკერები ახერხებენ ისეთი ბმულების შექმნას, რომელიც სანდოდ გამოიყურება – რეალურად კი იუზერი გადაჰყავს საიტზე, რომელიც ან ფიშინგია ან მალვეარს ავრცელებს. ამაში ჰაკერებს ეხმარება ზოგიერთ ამერიკულ სამთავრობო საიტზე არსებული open redirect სისუსტე.

საქმე ის არის, რომ ბმულების დამოკლების სერვისი bit.ly ბმულებს, რომელიც მთავრდება .gov-ით ან .mil-ით გარდაქმნის ბმულად, რომელიც იწყება 1.usa.gov-ით.

მაგალითად ავიღე თეთრი სახლის საიტზე გამოქვეყნებული რიგითი სტატიის ბმული:

თავდაპირველი ბმული: https://www.whitehouse.gov/blog/2016/03/30/asked-and-answered-11-year-old-daughter-incarcerated-individual-shares-her-story

დამოკლებული ბმული: http://1.usa.gov/1VUpDQf

აღმოჩნდა, რომ 2012 წლის მონაცემებით 1.usa.gov ბმულების 15% მომხმარებლების სახიფათო საიტებზე ამისამართებდა. აღმოჩნდა, რომ თავად bit.ly და ამერიკის მთავრობის შესაბამისი სამსახურები ცდილობენ ასეთი ბმულების აღმოჩენასა და გადადგურებას, მაგრამ პრობლემის რეალური მოგვარება სისუსტის მქონე ვებ აპლიკაციების გამოსწორებაა.

სანამ Open Redirect სისუსტეებისგან თავისუფალი ინტერნეტი გვექნება, იქამდე შეგიძლიათ გამოიყენოთ Unshorten.it სერვისი, რომელიც Chrome ბრაუზერშიც შეგიძლიათ ჩაამატოთ extension-ად. დასატესტად გთავაზობთ ზემოთ მოცემული 1.usa.gov ბმული გადაამოწმოთ მართლაც თეთრი სახლის საიტზე გამისამართებდათ თუ არა.

 

ნარჩევი ბრძანებები ტერმინალისთვის – old but gold

თუ გაინტერესებთ 1 ბრძანებით როგორ უნდა გააფუჭოთ, დაკიდოთ ან სრულიად გაანადგუროთ ლინუქსის სისტემა, განაგრძეთ კითხვა.

1.

ქვემოთ მოცემული პუნქტუაციის ნიშნების გროვა წარმოადგენს bash-ის ფუნქციას. ის არის .ე.წ. fork bomb შეტევის მაგალითი. ასეთ დროს, გარკვეული პროცესი საკუთარი თავის რეპლიკაციას ახდენს და უფრო და უფრო მეტ რესურსს მოიხმარს სისტემის საბოლოო დაკიდება/გათიშვამდე.

:(){ :|: & };:

უფრო უკეთ რომ ავხსნათ როგორ მუშაობს კონკრეტულად ეს ბრძანება, დავყოთ ის სამ ნაწილად :(){ :|: & };:

:() ქმნის ფუნქციას, რომელსაც ჰქვია :

{ :|: & }; უშვებს : ფუნქციას, მისი output-ს აწვდის ისევ : -ს, ხოლო & ნიშნავს, რომ ეს ყველაფერი მოხდეს background პროცესად

: უშვებს ფუნქციას ტერმინალში

გირჩევთ გატესტოთ ლინუქსის ვირტუალურ ინსტალაციაზე.

რაც მთავარია ამ ბრძანების გაშვებას root არ სჭირდება. შეინახეთ ეს პოსტი ბავშვებისთვის ხელმიუწვდომელ ადგილას!

2.

კიდევ ერთი შემზარავი ბრძანებაა

mv <folder_name> /dev/null

ეს ბრძანება, იღებს (cut) <folder>-ს და გადააქვს /dev/null-ში.

/dev/null წარმოადგენს სპეციალურ ფაილს, რომელსაც ხანდახან შავ ხვრელს უწოდებენ – ყველანაირ მონაცემს, რასაც კი გავუგზავნით, გადაყრის, მაგრამ არეპორტებს რომ write/copy ოპერაცია წარმატებით შესრულდა.

მეორეს მხრივ, ეს ბრძანება რომ გატესტოთ, შეძლება საერთოდ არ გაეშვას ტერმინალში (ერორებს ამოყრის). თუმცა უმჯობესია რაიმე ისეთი ფოლდერით გატესტოთ, რომელშიც მნიშვნელოვანი მონაცმეები არ გიყრიათ.

3.

ყველასათვის საყვარელი

rm -rf /

ეს ბრძანება შლის / (root) ფოლდერს.

/ არის მთავარი ფოლდერი ლინუქსში, რომელშიც სხვა ყველაფერი დანარჩენია განთავსებული. ანუ როგორც მიხვდით, ეს ბრძანება ოპერაციულ სისტემას თავისი იუზერების ფაილებიანად შლის (თუმცა გაშვებას root სჭირდება).

rm არის ფოლდერის/ფაილის წაშლის ბრძანება.

-r ნიშნავს, რომ sub-folder-ებსაც მიყვეს წაშაშლელად.

-f ნიშნავს force-ს, აუ იგნორირება გაუკეთოს ყვევა გაფრთხილებასა და შეცდომას და წაშალოს ყველაფერი.

ამ ბრძანების გაშვების შემდეგ, ლინუქსის სისტემისგან არაფერი დარჩება 🙂

4.

mkfs არის ბრძანება, რომელიც ფაილური სისტემების შესაქმნებლად/დასაფორმატებლად გამოიყენება.

mkfs-ს შემდეგ რა ფოლდერსაც ან დრაივსაც მივუთითებთ, დაფორმატდება და ცარიელი ფაილური სისტემით შეიცვლება.

5.

ლინუქსის ოპერაციულ სისტემაში შეიძლება გავაკეთოთ ბომბი!

უფრო კონკრეტულად კი ე.წ. tar ბომბი.

tar არქივია, რომელშიც შეიძლება მილიონობით ფაილი იყოს ჩაყრილი. ასეთი “ბომბი” შეიძლება ვინმემ ბოროტად გახუმრებისთვის გამოგიგზავნოთ. და თუ წინასწარ არ გავითვალისწინებთ და ცალკე გამოყოფილ ფოლდერში არ ჩავყრით, არქივის ფაილები სხვა ფაილებს შეერევა და მათგან ჩვენი ფაილების გამოხშირვა თივის ზვინში ნემს(ებ)ის ძებნას დაემსგავსება.

ცალკე გამოყოფილ ფოლდერში ჩაყრის გარდა, შეგვიძლია tar არქივს შევხედოთ -t ატრიბუტით და გამოარქივებამდე დავინახავთ რამდენი და რა ფაილები არის არქივში

tar -tf archive_name.tar.gz

tar ბომბის მსგავსი მეთოდია ე.წ. კომპრესირებული ბომბის გაგზავნა ვინმესთვის. შესაძლებელია, რომ ათობით გიგაბაიტი მონაცემი რამდენიმე ათეულ კილობაიამდე შევკუმშოთ. გამოაარქივებისას კი, იუზერს ფაილური სისტემა შეიძლება გადაევსოს.

როგორც გამოვაჩინოთ ვირუსისგან დამალული ფაილები “ფლეშკაზე”

ორიოდე დღის წინ, ერთ-ერთ უნივერსიტეტში, საჯაროდ ხელმისაწვდომ კომპიუტერში USB მეხსიერება მივაერთე და როგორც მოსალოდნელი იყო, დავირუსდა. მალვეარმა “ფლეშკაზე” არსებული ფაილები დამალა და გამოაჩინა ლინკი, რომელზე დაჭერითაც შეიძლებოდა ფაილებზე გადასვლა.

ვირუსის წაშლის შემდეგ ეს ლინკი გაქრა და ფაილების ინდექსი დაიკარგა, რაც იმას ნიშნავს, რომ ფაილები რეალურად USB მეხსიერებაზე იყო, თუმცა ოპერაციული სისტემა მათ ვერ ხედავდა. Folder Options-დან ვერც დამალული (hidden) ფაილების ჩვენების ჩართვამ უშველა.

საბოლოო ჯამში, ცოტაოდენი დაგუგლვის შემდეგ მოვახერხე ფაილების “დაბრუნება”:

მიაერთეთ USB მეხსიერება კომპიუტერში.

გახსენით cmd და გაუშვით შემდეგი ბრძანება:

attrib -h -r -s /s /d G:*.*

“G”-ს მაგივრად უნდა იყოს თქვენს კომპში “ფლეშკის” drive letter

ცოტაოდენ ხანში პროცესი უნდა დამთავრდეს და ფაილები ისევ ხილული  და ხელმისაწვდომი იქნება. თუ არ იმუშავა, cmd გაუშვით ადმინისტრატორის უფლებებით.

ბარემ აქვე ორი სიტყვით დავწერ attrib-ზე, რომელიც არის ფაილებსა და ფოლდერებზე ატრიბუტებით მანიპულირების პროგრამა ვინდოუსში და სასარგებლო თულია:

-h ფაილს/ფოლდერს მოუხსნის hidden ატრიბუტს (+h არის hidden ატრიბუტის გააქტიურება)

-r ფაილს/ფოლდერს მოუხსნის read-only ატრიბუტს (+r არის ატრიბუტის გააქტიურება)

-s ფაილს/ფოლდერს მოუხსნის system (სისტემური ფაილის აღმნიშვნელ) ატრიბუტს. აქაც +s არის ატრიბუტის ჩართვა.

/s უზრუნველყოფს, რომ attrib ბრძანება და მისი არგუმენტები გავრცელდეს ყველა შესაბამის ფაილზე

/d უზრუნველყოფს, რომ attrib ბრძანება და მისი არგუმენტები გავრცელდეს ყველა შესაბამის ფოლდერზე

ამას გარდა, attrib-ს აქვს კიდევ ერთი არგუმენტი:

-a ფაილს/ფოლდერს მოუხსნის archive ატრიბუტს (გააქტიურება არის +a)

უბრალოდ ფაილის ატრიბუტების საჩვენებლად:

attrib <filename>

ფაილის სახელი მიუთითეთ <> გარეშე.

კიდევ უფრო მეტი დეტალი იხილეთ მაიკროსოფტის technet რესურსზე.