ტექნიკური FAQ. შუაში კაცის შეტევების გამოვლენა (კაცი შუაში, MitM თავდასხმები) რა არის ადამიანი შუაში

მთავარი / იყინება

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

იმის გაგება, თუ როგორ მუშაობს ინტერნეტი

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

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

სურათი 1. კლიენტ-სერვერის ურთიერთქმედება

კომუნიკაციის პროტოკოლის უზრუნველყოფა

უსაფრთხო კომუნიკაციის პროტოკოლს უნდა ჰქონდეს თითოეული შემდეგი თვისება:

  1. კონფიდენციალურობა- მხოლოდ სავარაუდო მიმღებს შეუძლია შეტყობინების წაკითხვა.
  2. ავთენტურობა- დადასტურდა მხარეთა ვინაობა.
  3. მთლიანობა- დადასტურება, რომ შეტყობინება არ შეცვლილა ტრანზიტის დროს.

თუ რომელიმე ამ წესს არ დაიცავთ, მთელი პროტოკოლი ირღვევა.

Man-in-the-Middle შეტევა HTTP პროტოკოლით

თავდამსხმელს შეუძლია მარტივად განახორციელოს თავდასხმა ადამიანის შუაგულში ტექნიკის გამოყენებით, რომელსაც ეწოდება ARP spoofing. ნებისმიერი თქვენს Wi-Fi ქსელებიშეიძლება გამოგიგზავნოთ გაყალბებული ARP პაკეტი, რის გამოც თქვენ გაუცნობიერებლად გაგზავნით მთელ თქვენს ტრაფიკს თავდამსხმელის მეშვეობით თქვენი როუტერის ნაცვლად.

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

ნახაზი 2. კაცი შუაში შეტევის ნიმუში


ასეთი შეტევების თავიდან ასაცილებლად შეიქმნა HTTP პროტოკოლის უსაფრთხო ვერსია. სატრანსპორტო ფენის უსაფრთხოება (TLS) და მისი წინამორბედი, Secure Socket Layer (SSL), არის კრიპტოგრაფიული პროტოკოლები, რომლებიც უზრუნველყოფენ მონაცემთა გადაცემის უსაფრთხოებას ქსელში. ამიტომ, უსაფრთხო პროტოკოლს დაერქმევა HTTPS. თქვენ შეგიძლიათ ნახოთ, თუ როგორ მუშაობს უსაფრთხო პროტოკოლი თქვენი ბრაუზერის მისამართის ზოლში აკრეფით (გაითვალისწინეთ S-ი https-ში).

Man-in-the-Middle შეტევა ცუდად განხორციელებულ SSL-ზე

თანამედროვე SSL იყენებს დაშიფვრის კარგ ალგორითმს, მაგრამ ამას არ აქვს მნიშვნელობა, თუ ის სწორად არ არის დანერგილი. თუ ჰაკერს შეუძლია მოთხოვნის ჩაჭრა, მათ შეუძლიათ შეცვალონ ის მოთხოვნილი URL-დან "S"-ის ამოღებით და ამით SSL-ის გვერდის ავლით.

შესამჩნევია მოთხოვნის ასეთი ჩარევა და მოდიფიცირება. მაგალითად, თუ თქვენ ითხოვთ https://login.yahoo.com/ და პასუხი არის http://login.yahoo.com/, ამან უნდა გააჩინოს ეჭვი. წერის დროს, ეს შეტევა რეალურად მუშაობს სერვისზე ელ Yahoo.

სურათი 3. მოითხოვეთ ჩარევა და მოდიფიკაცია


ასეთი თავდასხმის თავიდან ასაცილებლად, სერვერებს შეუძლიათ დანერგონ HTTP Strict Transport Security (HSTS), მექანიზმი, რომელიც უზრუნველყოფს იძულებით უსაფრთხო კავშირს HTTPS პროტოკოლზე. ამ შემთხვევაში, თუ თავდამსხმელი შეცვლის მოთხოვნას URL-დან "S"-ის ამოღებით, სერვერი კვლავ გადამისამართებს მომხმარებელს 302 გადამისამართებით უსაფრთხო პროტოკოლის მქონე გვერდზე.

სურათი 4. HSTS ოპერაციის დიაგრამა


SSL-ის დანერგვის ეს გზა დაუცველია სხვა ტიპის შეტევის მიმართ – თავდამსხმელი ქმნის SSL კავშირს სერვერთან, მაგრამ იყენებს სხვადასხვა ხრიკებს, რათა აიძულოს მომხმარებელი გამოიყენოს HTTP.

სურათი 5. HSTS შეტევის ნიმუში


ასეთი შეტევების თავიდან ასაცილებლად თანამედროვე ბრაუზერებიროგორიცაა Chrome, Firefox და Tor აკონტროლებენ საიტებს HSTS-ის გამოყენებით და აიძულებენ მათთან დაკავშირებას კლიენტის მხრიდან SSL-ის საშუალებით. ამ შემთხვევაში, თავდამსხმელს, რომელიც ახორციელებს შუაგულში შეტევას, უნდა შექმნას SSL კავშირი მსხვერპლთან.

სურათი 6. თავდასხმის ნიმუში, სადაც თავდამსხმელი ამყარებს SSL კავშირს მსხვერპლთან


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

SSL-ის გაგება

ჰაკერების თვალსაზრისით, ნებისმიერი საკომუნიკაციო პროტოკოლის კომპრომეტირება დამოკიდებულია ზემოთ ჩამოთვლილ კომპონენტებს შორის სუსტი კავშირის პოვნაზე (კონფიდენციალურობა, ავთენტურობა და მთლიანობა).

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

ასიმეტრიული დაშიფვრა მოიცავს 2 გასაღებს თითოეული მხარისთვის: საჯარო გასაღები, გამოიყენება დაშიფვრისთვის და პირადი გასაღები, რომელიც გამოიყენება მონაცემთა გაშიფვრისთვის.

სურათი 7. საჯარო და პირადი გასაღებები მუშაობს

როგორ უზრუნველყოფს SSL უსაფრთხო კომუნიკაციისთვის საჭირო სამ თვისებას?

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

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

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

სურათი 8. თავდასხმის ნიმუში, თუ თავდამსხმელს აქვს სერტიფიკატი


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

სერტიფიკატის უფლებამოსილების პრობლემები

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

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

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

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

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

სასამართლო ექსპერტიზა

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

მაგალითად, Windows OS-ზე შეგიძლიათ გამოიყენოთ ipconfig ბრძანება ბრძანების ხაზი(CMD) თქვენი ნაგულისხმევი კარიბჭის IP მისამართის სანახავად (ბოლო ხაზი):

სურათი 9. ipconfig ბრძანების გამოყენებით


შემდეგ გამოიყენეთ arp –a ბრძანება ამ კარიბჭის MAC მისამართის გასარკვევად:

სურათი 10. arp –a ბრძანების გამოყენებით


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

შენიშვნა: თუ თავდამსხმელი სწორად აფუჭებს MAC მისამართებს, მისი თვალყურის დევნება დიდ პრობლემად იქცევა.

დასკვნა

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

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

Man-in-the-Middle თავდასხმა არის ზოგადი სახელწოდება სხვადასხვა ტექნიკისთვის, რომელიც მიზნად ისახავს ტრაფიკზე, როგორც შუამავლის წვდომას. ამ ტექნიკის მრავალფეროვნების გამო, პრობლემატურია ამ თავდასხმების გამოსავლენად ერთი ინსტრუმენტის დანერგვა, რომელიც იმუშავებს ყველა შესაძლო სიტუაციისთვის. მაგალითად, ლოკალურ ქსელზე ადამიანის შუაგულში შეტევისას, ჩვეულებრივ გამოიყენება ARP გაყალბება (მოწამვლა). და მრავალი ადამიანი შუა რიცხვებში შეტევის აღმოჩენის ხელსაწყოები აკონტროლებს ცვლილებებს Ethernet მისამართების წყვილებში/ან აცნობებს საეჭვო ARP აქტივობას ARP მოთხოვნის/პასუხების პასიურად მონიტორინგის გზით. მაგრამ თუ ეს შეტევა გამოიყენება მავნე კონფიგურირებულ პროქსი სერვერზე, VPN ან სხვა ვარიანტებზე, რომლებიც არ იყენებენ ARP მოწამვლას, მაშინ ასეთი ხელსაწყოები უმწეოა.

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

1. მოძრაობის მოდიფიკაციის გამოვლენა

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

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

მაგალითები იმისა, თუ როგორ შეუძლია ზოგიერთ ინსტრუმენტს „მემკვიდრეობა“:

  • MITMf, ნაგულისხმევად, ცვლის ყველა HTTPS URL-ს HTML კოდში HTTP-ად. აღმოჩენილია HTTP კონტენტის შედარებით.
  • Zarp + MITProxy, MITProxy-ს აქვს ფუნქცია, რომელიც საშუალებას გაძლევთ გაასუფთავოთ HTTP შეკუმშვა, ეს გამოიყენება გადაცემული ტრაფიკის გამჭვირვალობისთვის, ეს კომბინაცია გამოვლინდება ადრე არსებული შეკუმშვის გაქრობით
  • პასუხისმგებელი, გამოვლენილი mDNS პასუხების ტრანსფორმაციის უეცარი ცვლილებებით: მოულოდნელი პასუხი; პასუხი შიდაა, მაგრამ მოსალოდნელია გარეგანი; პასუხი განსხვავდება მოსალოდნელი IP-სგან
  • MITMCanary vs MITMf:

  • MITMCanary vs Responder:

  • MITMCanary vs Zarp + MITProxy:

Sudo pip ინსტალაცია Cython sudo apt-get install python-kivy python-dbus sudo pip install plier uuid urlopen ანალიზის მოთხოვნა simplejson datetime git clone https://github.com/CylanceSPEAR/mitmcanary.git cd mitmcanary/

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

CD სერვისი/

და გაუშვით ფაილი setup_test_persistence.py:

Python2 setup_test_persistence.py

ამას გარკვეული დრო დასჭირდება - დაელოდეთ მის დასრულებას. არ უნდა იყოს შეცდომის შეტყობინებები (თუ ასეა, მაშინ თქვენ არ გაქვთ გარკვეული დამოკიდებულებები).

გამომავალი იქნება დაახლოებით ასეთი:

Mial@HackWare:~/bin/mitmcanary/service$ python2 setup_test_persistence.py აღმოჩენილია კონფიგურაციის ძველი ვერსია (14-ის ნაცვლად 0) მიმდინარეობს კონფიგურაციის განახლება. გაწმენდის ჟურნალი გასროლილი. ანალიზი... წმენდა დასრულდა!

ჩაწერეთ შესვლა /home/mial/.kivy/logs/kivy_16-11-01_0.txt v1.9.1 v2.7.12+ (ნაგულისხმევი, 2016 წლის 1 სექტემბერი, 20:27:38)

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

Python2 main.py

ამის შემდეგ გახსენით ახალი ტერმინალის ფანჯარა და გადადით ბოლო დირექტორიაში mitmcanary-ით. ჩემი დირექტორია არის bin/mitmcanary/, ამიტომ შევდივარ

Cd bin/mitmcanary/

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

და გააკეთე იქ:

პირველ ფანჯარაში გამოჩნდება მსგავსი რამ: Mial@HackWare:~/bin/mitmcanary/service$ python2 main.py ჩაწერეთ შესვლა /home/mial/.kivy/logs/kivy_16-11-01_1.txt v1.9.1 v2.7.12+ (ნაგულისხმევი, 2016 წლის 1 სექტემბერი, 20:27:38) გამოყენებით

ტუიოსთვის სოკეტის მოსმენისთვის 127.0.0.1:3000 ძილი 60 წამი ძილი 60 წამი ძილი 60 წამი ძილი 60 წამი ძილი 60 წამი ძილი 60 წამი

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

მეორე ფანჯარა ასევე შეიცავს გამომავალს + იხსნება მუქი ფანჯარა, ამ ფანჯარას პროგრამის ავტორები უწოდებენ "გრაფიკულ ინტერფეისს";

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

ettercap. მე ვიწყებ რეგულარულ MitM შეტევას ARP გაყალბებით. mitmcanary არ რეაგირებს თავად აკრავზე. mitmcanary ინსტრუმენტი თავად წარმოქმნის ტრაფიკს, ანუ მომხმარებლის მოქმედება არ არის საჭირო. გარკვეული პერიოდის შემდეგ ჩნდება ერთი გაფრთხილება, რომელიც არ დასტურდება შემდგომი შემოწმების დროს. მაგრამ მსგავსი გაფრთხილება ჩნდება რამდენიმე წუთის შემდეგ. დამატებითი ანალიზის გარეშე მიჭირს იმის თქმა, არის თუ არა ეს მაგალითი- ძალიან ჰგავს ამას. სავსებით შესაძლებელია, რომ ეს გაფრთხილება გამოწვეული იყოს კომუნიკაციის გაუმართაობით, ტრაფიკის დამატებითი მარშრუტების გავლის აუცილებლობის გამო, ან ჩემი უხარისხო ინტერნეტ კავშირის თავისებურებების გამო.

ვინაიდან შედეგი არ არის აშკარა (უფრო სავარაუდოა, რომ "არა", ვიდრე "დიახ", მოდით ვცადოთ Bettercap პროგრამა, რომელსაც აქვს მრავალფეროვანი მოდული. ეჭვი არ მეპარება სხვადასხვა Ettercap-ის და/ან დანამატების გამოყენებისას დამატებითი პროგრამებიფუნქციონირების გასაფართოვებლად, ჩვენ ასევე "გავანათებდით" mitmcanary-ს.

ექსპერიმენტის სისუფთავისთვის, მე გადატვირთავ აღჭურვილობას, ვატარებ mitmcanary-ს თავდასხმულ მანქანაზე და Bettercap-ზე შემტევზე. ამ შემთხვევაში, არ არის საჭირო ხელახლა საკონტროლო მოთხოვნის გაკეთება თავდასხმულ მანქანაზე - ისინი ინახება ფაილში პროგრამის შიგნით დირექტორიაში. იმათ. საკმარისია სერვისის დაწყება და გრაფიკული ინტერფეისი.

და შემტევ მანქანაში ჩვენ გავუშვით Bettercap პარსერებით ჩართული:

სუდო უკეთესი ქუდი -X

ჩნდება ინდივიდუალური გაფრთხილებები, რომლებიც ასევე უფრო ცრუ პოზიტივებს ჰგავს.

მაგრამ ამ ბრძანების გაშვება:

Sudo bettercap -X --პროქსი

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

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

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

2. ARP გაყალბების გამოვლენა (ARP ქეში მოწამვლა)

ძალიან ხშირად, ლოკალურ ქსელზე შეტევა ARP-ით იწყება. სწორედ ამიტომ MitM შეტევების აღმოსაჩენად შექმნილი მრავალი ინსტრუმენტი დაფუძნებულია ARP ქეში ცვლილებების მონიტორინგის მექანიზმზე, რომელიც ანიჭებს კორესპონდენციას Ethernet (MAC მისამართები) და IP მისამართებს შორის.

ასეთი პროგრამების მაგალითად შეგვიძლია გავიხსენოთ arpwatch, arpalert და ახალი პროგრამების დიდი რაოდენობა. ArpON პროგრამა არა მხოლოდ აკონტროლებს ARP ქეში ცვლილებებს, არამედ იცავს მას მათგან.

მაგალითად, მოდით გავუშვათ arpwatch გამართვის რეჟიმში, ჩანგლების შექმნისა და ფოსტით გაგზავნის გარეშე. ამის ნაცვლად, შეტყობინებები იგზავნება stderr-ზე (სტანდარტული შეცდომის გამომავალი).

სუდო /usr/sbin/arpwatch -d

მოდით გავუშვათ Ettercap შემტევ მანქანაზე და დავიწყოთ ARP გაყალბება. თავდასხმულ მანქანაზე ჩვენ ვაკვირდებით:

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

ARP გაყალბების რეალურ დროში გამოვლენის კიდევ ერთი ინსტრუმენტი არის Ettercap მოდული, რომელსაც ეწოდება arp_cop. თავდასხმულ მანქანაზე გაუშვით Ettercap შემდეგნაირად:

Sudo ettercap -TQP arp_cop ///

ხოლო თავდამსხმელზე დავიწყებთ ARP მოწამვლას. გაფრთხილებები დაუყოვნებლივ ჩნდება თავდასხმულ მანქანაზე:

3. DNS გაყალბების გამოვლენა

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

იმათ. თქვენ უნდა შეამოწმოთ ან დაშიფრული არხის საშუალებით (მაგალითად, Tor-ის საშუალებით), ან გამოიყენოთ არასტანდარტული პარამეტრები (სხვა პორტი, TCP UDP-ის ნაცვლად). დაახლოებით ამისთვის არის შექმნილი sans პროგრამა XiaoxiaoPu-დან (ყოველ შემთხვევაში, როგორც მე მესმის). მე შევძელი ამ პროგრამის გამოყენება DNS მოთხოვნების გადამისამართებისთვის Tor-ის მეშვეობით და არასტანდარტული პარამეტრების მეშვეობით ჩემსკენ DNS სერვერი. მაგრამ მე ვერ ვაიძულებდი მას მეჩვენებინა შეტყობინებები DNS პასუხის გაყალბების შესახებ. ამის გარეშე პროგრამის მნიშვნელობა იკარგება.

მეტი ღირსეული ალტერნატივებივერ ვიპოვე.

პრინციპში, იმის გათვალისწინებით, რომ DNS სპოფერები ჩვეულებრივ აკონტროლებენ მხოლოდ 53 პორტს და მხოლოდ UDP პროტოკოლს, თუნდაც ხელით საკმარისია უბრალოდ შეამოწმოთ DNS გაყალბების ფაქტი, თუმცა ამისათვის საჭიროა თქვენი საკუთარი DNS სერვერი არასტანდარტული კონფიგურაციით. მაგალითად, შემტევ მანქანაზე შევქმენი ფაილი dns.confშემდეგი შინაარსით:

ადგილობრივი mi-al.ru

იმათ. mi-al.ru ვებსაიტზე DNS ჩანაწერის მოთხოვნისას, რეალური IP-ის ნაცვლად თავდამსხმელის აპარატის IP იგზავნება.

მე დავრბივარ შემტევ მანქანაზე:

Sudo bettercap --dns dns.conf

და თავდასხმულზე ვაკეთებ ორ შემოწმებას:

Dig mi-al.ru # და dig mi-al.ru -p 4560 @185.117.153.79

შედეგები:

Mial@HackWare:~$ dig mi-al.ru ;<<>> DiG 9.10.3-P4-Debian<<>> mi-al.ru ;; გლობალური პარამეტრები: +cmd ;; მივიღე პასუხი: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51993 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;mi-al.ru. IN A ;; ANSWER SECTION: mi-al.ru. 86400 IN A 192.168.1.48 ;; Query time: 2 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed Nov 02 09:25:20 MSK 2016 ;; MSG SIZE rcvd: 42 mial@HackWare:~$ dig mi-al.ru -p 4560 @185.117.153.79 ; <<>> DiG 9.10.3-P4-Debian<<>> mi-al.ru -p 4560 @185.117.153.79 ;; გლობალური პარამეტრები: +cmd ;; მივიღე პასუხი: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 401 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;mi-al.ru. IN A ;; ANSWER SECTION: mi-al.ru. 3799 IN A 185.26.122.50 ;; Query time: 304 msec ;; SERVER: 185.117.153.79#4560(185.117.153.79) ;; WHEN: Wed Nov 02 09:25:27 MSK 2016 ;; MSG SIZE rcvd: 53

ჩანს, რომ "რეგულარული" DNS მოთხოვნისთვის გაიგზავნა ლოკალური IP 192.168.1.48, ხოლო ატიპიურ პორტზე DNS-ის მოთხოვნისას იგზავნება სწორი სერვერის IP.

თუ სერვერი კონფიგურირებული იყო TCP-ის (და არა UDP) გამოსაყენებლად, მაშინ ბრძანება ასე გამოიყურება:

Dig mi-al.ru -p 4560 +tcp @185.117.153.79

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

საკუთარი დისტანციური DNS-ის დაყენების თავიდან ასაცილებლად, შეგიძლიათ მიმართოთ სახელების სერვერს Tor-ის საშუალებით. ვინაიდან მთელი Tor ტრაფიკი დაშიფრულია, ამ გზით მიღებული DNS პასუხები შუამავლის შესაძლებლობებს სცილდება. თუ Tor უკვე არ არის დაინსტალირებული, დააინსტალირეთ.

Sudo apt-get install tor

სუდო პაკმანი -S tor

სერვისის დაწყება:

Sudo systemctl start tor

თუ ეს გჭირდებათ, დაამატეთ ეს სერვისი გაშვებას:

Sudo systemctl ჩართეთ tor

გახსენით ფაილი /etc/tor/torrcდა დაამატეთ შემდეგი ხაზები იქ:

DNSPort 530 AutomapHostsOnResolve 1 AutomapHostsSuffixes .exit,.onion

ყურადღება მიაქციეთ ნომერს 530. ეს არის პორტის ნომერი 530-ის ნაცვლად, შეგიძლიათ მიუთითოთ ნებისმიერი სხვა (გამოუყენებელი) პორტი. მთავარია დაიმახსოვროთ.

ჩვენ კვლავ ვამოწმებთ:

Dig mi-al.ru # და dig mi-al.ru -p 530 @localhost

ახლა ჩვენ ვაზუსტებთ როგორც სერვერს ლოკალჰოსტიდა ჩაწერეთ პორტის ნომერი, რომელიც მიუთითეთ /etc/tor/torrc პარამეტრებში.

როგორც შემდეგი სკრინშოტიდან ხედავთ, DNS-ის გაყალბების შეტევა განხორციელდა იმ აპარატზე, რომელზეც გაკეთდა შემოწმება:

4. მოძებნეთ ქსელური ინტერფეისები პრომისკუურ რეჟიმში

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

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

ნორმალურ მდგომარეობაში, Ethernet ინტერფეისი იყენებს ბმულის ფენის პაკეტის ფილტრაციას და თუ MAC მისამართი მიღებული პაკეტის დანიშნულების სათაურში არ ემთხვევა მიმდინარე ქსელის ინტერფეისის MAC მისამართს და არ არის გადაცემული, მაშინ პაკეტი გაუქმებულია. "პრომისკუურ" რეჟიმში, ქსელის ინტერფეისის ფილტრაცია გამორთულია და ყველა პაკეტი, მათ შორის, რომლებიც არ არის განკუთვნილი მიმდინარე კვანძისთვის, დაშვებულია სისტემაში.

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

ქსელური ინტერფეისების მოსაძიებლად პრომისკუურ რეჟიმში არის მოდული სახელწოდებით Ettercap Search_promisc.

მოდულის გაშვების მაგალითი:

Sudo ettercap -TQP search_promisc ///

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

დასკვნა

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

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


ფონდი ვიკიმედია.

2010 წელი.

    ნახეთ, რა არის „ადამიანი შუაში (შეტევა)“ სხვა ლექსიკონებში:

    კაცი შუა შეტევაში, MITM თავდასხმა (ინგლისური Man in the middle) არის ტერმინი კრიპტოგრაფიაში, რომელიც აღნიშნავს სიტუაციას, როდესაც კრიპტოანალიტიკოსს (თავდამსხმელს) შეუძლია სურვილისამებრ წაიკითხოს და შეცვალოს გაცვლილი შეტყობინებები... ... ვიკიპედია.

    - ... ვიკიპედია

    კრიპტოანალიზი (ბერძნულიდან κρυπτός დამალული და ანალიზი) არის მეცნიერება დაშიფრული ინფორმაციის ორიგინალური მნიშვნელობის მოპოვების მეთოდების შესახებ, ამისათვის საჭირო საიდუმლო ინფორმაციაზე (გასაღებაზე) წვდომის გარეშე. უმეტეს შემთხვევაში ეს ნიშნავს... ... ვიკიპედიას

    ჰაკერული თავდასხმა სიტყვის ვიწრო გაგებით, ამჟამად გაგებულია ფრაზით „უსაფრთხოების სისტემაზე მცდელობა“ და მიდრეკილია შემდეგი ტერმინის კრეკერის შეტევის მნიშვნელობისკენ. ეს მოხდა თვით სიტყვა „ჰაკერის“ მნიშვნელობის დამახინჯების გამო... ვიკიპედია

- (სხვა ბერძნული κρυπτός დამალული და ანალიზიდან) მეცნიერება დაშიფრული ინფორმაციის გაშიფვრის მეთოდების შესახებ ასეთი გაშიფვრისთვის განკუთვნილი გასაღების გარეშე. ტერმინი გამოიგონა ამერიკელმა კრიპტოგრაფმა უილიამ ფ. ფრიდმანმა 1920 წელს. არაფორმალურად... ... ვიკიპედია

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

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

შეტევის პრინციპი:

შეტევის განსახორციელებლად, "C" როგორც ჩანს, "A"-ს აპროტესტებს როგორც "B" და "B" -ს როგორც "A". ობიექტი "A", შეცდომით მიაჩნია, რომ ის აგზავნის ინფორმაციას "B"-ს, აგზავნის მას "C" ობიექტზე.

ობიექტი "C", რომელმაც მიიღო ინფორმაცია და შეასრულა მასთან გარკვეული მოქმედებები (მაგალითად, მისი გადაწერა ან მოდიფიცირება საკუთარი მიზნებისთვის), აგზავნის მონაცემებს თავად მიმღებს - "B"; ობიექტი „ბ“ თავის მხრივ თვლის, რომ ინფორმაცია უშუალოდ „ა“-დან იქნა მიღებული.

MitM შეტევის მაგალითი:

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

მაგრამ, ამ დროს, მისტერ X-მა, რომელმაც ტრაფიკის სნიფერის გამოყენებით ანალიზისას შენიშნა ეს შეტყობინება და სიტყვებმა „დაშიფვრის გასაღები“ ცნობისმოყვარეობა გამოიწვია. სწორედ ამიტომ მან გადაწყვიტა შემდეგი შეტყობინებების ჩაჭრა და მათი ჩანაცვლება მისთვის საჭირო მონაცემებით და როდესაც მიიღო შემდეგი შეტყობინება:
იოანე: აქ არის ჩემი გასაღები: 1111_D

მან შეცვალა ჯონის გასაღები თავისით და გაუგზავნა შეტყობინება ალისს:
იოანე: აქ არის ჩემი გასაღები: 6666_M

ალისა, არ იცის და ფიქრობს, რომ ეს ჯონის გასაღებია, პირადი გასაღების გამოყენებით 6666_მ, უგზავნის დაშიფრულ შეტყობინებებს ჯონს:
ალისა: ჯონ პრობლემა მაქვს და სასწრაფოდ მჭირდება ფული, გთხოვთ გადარიცხოთ 300$ ჩემს ანგარიშზე: Z12345. გმადლობთ. p.s. ჩემი გასაღები: 2222_A

შეტყობინების მიღების შემდეგ, მისტერ X შიფრავს მას თავისი გასაღების გამოყენებით, კითხულობს მას და, გახარებული, ცვლის ალისის ანგარიშის ნომერს და დაშიფვრის გასაღებს საკუთარზე, შიფრავს შეტყობინებას გასაღებით. 1111_დდა უგზავნის იოანეს შეტყობინებას:
ალისა: ჯონ პრობლემა მაქვს და სასწრაფოდ მჭირდება ფული, გთხოვთ გადარიცხოთ 300$ ჩემს ანგარიშზე: Z67890. გმადლობთ. p.s. ჩემი გასაღები: 6666_A

შეტყობინების მიღების შემდეგ ჯონი შიფრავს მას გასაღების გამოყენებით 1111_დდა უყოყმანოდ გადაირიცხავს ფულს ანგარიშზე Z67890...

და ამგვარად, მისტერ X-მა, მამაკაცის შუაგულში შეტევის გამოყენებით, გამოიმუშავა 300 დოლარი, მაგრამ ალისს ახლა მოუწევს ახსნას, რომ მას ფული არ მიუღია... და ჯონი? ჯონმა უნდა დაუმტკიცოს ალისს, რომ მან გაგზავნა ისინი...

განხორციელება:

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

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

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

ეტერკაპი- არის სნიფერი, პაკეტების ჩამწერი და ჩამწერი ლოკალური Ethernet ქსელებისთვის, რომელიც მხარს უჭერს მრავალი პროტოკოლის აქტიურ და პასიურ ანალიზს, ასევე შესაძლებელია საკუთარი მონაცემების „გადაგდება“ არსებულ კავშირში და გაფილტვრა „დაფრენისას“ კავშირის შეფერხების გარეშე. სინქრონიზაცია. პროგრამა საშუალებას გაძლევთ ჩაჭრათ SSH1, HTTPS და სხვა უსაფრთხო პროტოკოლები და იძლევა პაროლების გაშიფვრის შესაძლებლობას შემდეგი პროტოკოლებისთვის: TELNET, ftp, POP, RLOGIN, SSH1, icq, SMB, Mysql, HTTP, NNTP, X11, NAPSTER, IRC , RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.

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

AirJack- პროგრამების ნაკრები, რომელიც, WiFi-ის ჰაკერების დარგის ექსპერტების აზრით, საუკეთესო საშუალებაა სხვადასხვა 802.11 ფრეიმების გენერირებისთვის. AirJack მოიცავს უამრავ კომუნალურ პროგრამას, რომელიც შექმნილია ფარული ESSID-ების აღმოსაჩენად, ყალბი MAC-ით სესიის დასრულების ფრეიმების გაგზავნისთვის, MitM შეტევების განსახორციელებლად და მის შესაცვლელად.

კონტრაქცია:

ამ ტიპის თავდასხმების თავიდან ასაცილებლად, აბონენტებმა "A" და "B" მხოლოდ უნდა გადასცენ ერთმანეთს საჯარო დაშიფვრის გასაღებების ციფრული ხელმოწერები საიმედო არხის გამოყენებით. შემდეგ, დაშიფვრის სესიებში გასაღების ხელმოწერების შედარებისას, შესაძლებელი იქნება იმის დადგენა, თუ რომელი გასაღები იყო გამოყენებული მონაცემთა დაშიფვრისთვის და შეიცვალა თუ არა გასაღებები.

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

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

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

  • სესიის იდენტიფიკატორი - სესიის id;
  • შეტყობინების სიგრძე - შეტყობინების სიგრძე;

შენიშვნა 2:იხილეთ დამატებითი კომენტარები გამოყენებასთან დაკავშირებით და შეცვლილიასქემები

რატომ არ იყენებთ X [თქვენი ვარიანტი]

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

რატომ ეყრდნობით კლასიკურ კრიპტოალგორითმებს?

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

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

თქვენ შეგიძლიათ მიიღოთ მონაწილეობა ჩვენს კონკურსში: პაველ დუროვი სთავაზობს 200 000 დოლარს ბიტკოინში პირველ ადამიანს, ვინც გატეხავს MTProto-ს. შეგიძლიათ წაიკითხოთ განცხადება და კონკურსის FAQ. თუ თქვენ გაქვთ რაიმე სხვა კომენტარი, მოხარული ვიქნებით მოვისმინოთ მათ აქ [ელფოსტა დაცულია].

დაცვა ცნობილი შეტევებისგან

ცნობილი-პლაინტექსტური თავდასხმები

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

ადაპტირებადი მარტივი ტექსტის შეტევა

განმარტებით, ადაპტური ღია ტექსტის შეტევა არის კრიპტოანალიზის შეტევის სახეობა, რომლის დროსაც კრიპტოანალიტიკოსს შეუძლია აირჩიოს ჩვეულებრივი ტექსტი და მიიღოს შესაბამისი შიფრული ტექსტი. MTProto იყენებს AES-ს IGE რეჟიმში, რომელიც დაცულია ასეთი შეტევებისგან. ცნობილია, რომ IGE დაუცველია ბლოკის ადაპტაციის შეტევების მიმართ, მაგრამ MTProto აფიქსირებს ამას ქვემოთ აღწერილი წესით. დაშიფრული თითოეული ღია ტექსტური შეტყობინება შეიცავს შემდეგ მონაცემებს, რომლებიც დამოწმებულია გაშიფვრის დროს:

  • სერვერის მარილი (64-ბიტიანი);
  • შეტყობინების თანმიმდევრობის ნომერი;
  • შეტყობინების გაგზავნის დრო - დრო.

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

შესაბამისი შიფრატექსტის თავდასხმები

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

შეტევების გამეორება

განმეორებითი შეტევები შეუძლებელია, რადგან თითოეული ღია ტექსტური შეტყობინება შეიცავს სერვერის მარილს, შეტყობინების უნიკალურ ID-ს და რიგით ნომერს.

კაცი შუაში (MitM) შეტევა

Telegram-ს აქვს კომუნიკაციის ორი რეჟიმი: რეგულარული ჩეთები, რომლებიც იყენებენ კლიენტ-სერვერის დაშიფვრას და საიდუმლო ჩეთები, რომლებიც იყენებენ ბოლოდან ბოლომდე დაშიფვრას და დაცულნი არიან ადამიანების შუაგულში შეტევებისგან. მონაცემთა გადაცემა კლიენტსა და სერვერს შორის დაცულია ასეთი შეტევებისგან Diffie-Hellman გასაღების გენერირების დროს RSA საჯარო გასაღების ალგორითმის წყალობით, რომელიც ჩაშენებულია Telegram-ის კლიენტებში. ამის შემდეგ, თუ თანამოსაუბრეების კლიენტები ენდობიან სერვერის პროგრამულ უზრუნველყოფას, მათ შორის საიდუმლო ჩეთებს სერვერი იცავს კაცის შუაგულში შეტევებისგან. განსაკუთრებით მათთვის, ვინც არაენდობა სერვერს, აპლიკაციაში ხელმისაწვდომია საიდუმლო კოდების შედარება. გასაღებები ვიზუალურად არის გამოსახული. ვიზუალიზებული გასაღებების შედარებით, მომხმარებლებს შეუძლიათ დარწმუნდნენ, რომ შუა რიცხვებში შეტევა არ მომხდარა.

დაშიფვრა

იყენებ IGE-ს? გატეხილია!

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

ადაპტაციური შეტევები MTProto-ში თეორიულადაც კი არ არის შესაძლებელი, რადგან შეტყობინებების გაშიფვრისთვის ეს უკანასკნელი ჯერ სრულად უნდა იყოს აკრეფილი, რადგან შეტყობინების გასაღები დამოკიდებულია მის შინაარსზე. რაც შეეხება არაადაპტირებულ CPA შეტევებს, IGE დაცულია მათგან, ისევე როგორც CBC.

© 2024 ermake.ru -- კომპიუტერის შეკეთების შესახებ - საინფორმაციო პორტალი