აპარატურა "სანიშნეები". აპარატურის ჩანართები მონაცემთა აპარატის აპარატურის ჩანართი

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

თავად IME პროცესორი არის System Hub Chip (PCH) ნაწილი. PCI Express პროცესორის სლოტების გამოკლებით, სისტემასა და გარესამყაროს შორის მთელი კომუნიკაცია გადის PCH– ით, რაც ნიშნავს, რომ IME– ს თითქმის ყველა მონაცემი აქვს წვდომა. მე -11 ვერსიამდე, ამ ვექტორის წინააღმდეგ შეტევა ნაკლებად სავარაუდო იყო: IME პროცესორმა გამოიყენა საკუთარი არქიტექტურა ARC ინსტრუქციების ნაკრებით, რომელიც ნაკლებად იყო ცნობილი მესამე მხარის დეველოპერებისთვის. მე -11 ვერსიაში მათ ცუდი ხუმრობა ითამაშეს ამ ტექნოლოგიასთან: ის გადაეცა x86 არქიტექტურას და შეცვლილ MINIX გამოიყენეს როგორც ოპერაციული სისტემა, რაც ნიშნავს, რომ ბინარული კოდის მესამე მხარის შესწავლა ბევრად გამარტივდა: არქიტექტურაც და ოპერაციული სისტემაც კარგად არის დოკუმენტირებული. რუსმა მკვლევარებმა დიმიტრი სკლიაროვმა, მარკ ერმოლოვმა და მაქსიმ გორიაჩიმ შეძლეს გაეშიფრათ IME 11-ის ვერსიის შესრულებადი მოდულები და დაიწყონ მათი საფუძვლიანი შესწავლა.

Intel AMT შეფასებულია 9,8 – დან 10 – დან დაუცველობით. სამწუხაროდ, თანამედროვე პლატფორმებზე IME– ს სრულად გამორთვა შეუძლებელია ზემოხსენებული მიზეზის გამო - ქვესისტემა მჭიდრო კავშირშია CPU– ს ინიციალიზაციასთან და გაშვებასთან, ასევე ენერგიის მენეჯმენტთან. მაგრამ თქვენ შეგიძლიათ წაშალოთ ყველა არასაჭირო ელემენტი ფლეშ მეხსიერების სურათზე, რომელიც შეიცავს IME მოდულებს, თუმცა ამის გაკეთება ძალიან რთულია, განსაკუთრებით მე -11 ვერსიაში. Me_cleaner პროექტი, პროგრამა, რომელიც საშუალებას გაძლევთ ამოიღოთ სურათის საერთო ნაწილი და დატოვოთ მხოლოდ სასიცოცხლო კომპონენტები, აქტიურად ვითარდება. მოდით მივცეთ მცირე შედარება: თუ IME ვერსიებში 11 მდე (Skylake– მდე) კომუნალური პროგრამამ წაშალა თითქმის ყველაფერი, დატოვა დაახლოებით 90 კბ კოდი, მაშინ ამჟამად საჭიროა 650 კბ კოდის შენახვა - შემდეგ ზოგიერთ შემთხვევაში სისტემამ შეიძლება გამორთოს ნახევარი საათის შემდეგ, ბლოკიდან IME შედის აღდგენის რეჟიმში.

ამასთან, არსებობს გარკვეული პროგრესი. მკვლევართა აღნიშნულმა ჯგუფმა მოახერხა გამოიყენოს განვითარების ნაკრები, რომელსაც უზრუნველყოფს თავად Intel და მოიცავს Flash Image Tool პროგრამულ უზრუნველყოფას IME პარამეტრების კონფიგურაციისათვის და Flash Programming Tool flasher, რომელიც მუშაობს ინტეგრირებული SPI კონტროლერის საშუალებით. Intel ამ პროგრამებს საჯაროდ არ აქცევს, მაგრამ ინტერნეტში მათი პოვნა არ არის რთული.

გაანალიზდა ამ ნაკრებით მიღებული XML ფაილები (ისინი შეიცავს IME firmware- ის სტრუქტურას და PCH სამაჯურის მექანიზმის აღწერას). ერთი ბიტი, სახელწოდებით "reserve_hap" (HAP), საეჭვო ჩანდა იმის გამო, რომ აღწერილია "მაღალი უსაფრთხოების პლატფორმის (HAP) ჩართვა". ვებ – ძიების შედეგად დადგინდა, რომ ეს არის მაღალი ნდობის პლატფორმის პროგრამის სახელი, რომელიც ასოცირდება აშშ – ს NSA– სთან. ამ ბიტის ჩართვამ მიუთითა, რომ სისტემაში შევიდა Alt გამორთვის რეჟიმი. IME ბლოკი არ რეაგირებს ბრძანებებზე და არ რეაგირებს ოპერაციული სისტემის გავლენაზე. ასევე არსებობს რამდენიმე უფრო დახვეწილი ნიუანსი, რომელიც შეგიძლიათ იხილოთ სტატიაში Habrahabr.ru, მაგრამ me_cleaner- ის ახალ ვერსიაში უკვე განხორციელებულია უმეტესი საშიში მოდულების მხარდაჭერა HAP ბიტის დაყენების გარეშე, რაც IME ძრავას აყენებს "TemperatDisable" მდგომარეობაში.

Me_cleaner- ის ბოლო მოდიფიკაცია ტოვებს მხოლოდ RBE, KERNEL, SYSLIB და BUP მოდულებს IME- ის მე -11 ვერსიაშიც კი, მათ ვერ იპოვნეს კოდი, რომელიც საშუალებას გაძლევთ ჩართოთ IME სისტემა. ამის გარდა, შეგიძლიათ გამოიყენოთ HAP ბიტი, რომ დარწმუნდეთ, რომ კომუნალური პროგრამითაც შეიძლება ამის გაკეთება. Intel– მა შეისწავლა კვლევა და დაადასტურა, რომ IME– ს მრავალი პარამეტრი ნამდვილად უკავშირდება მთავრობის საჭიროებებს გაძლიერებული უსაფრთხოების უზრუნველსაყოფად. ეს პარამეტრები დაინერგა აშშ-ს მთავრობის მომხმარებლების თხოვნით და განიცადა შეზღუდული ვალიდაცია და ოფიციალურად არ არის მხარდაჭერილი Intel- ის მიერ. კომპანია ასევე უარყოფს ე.წ უკანა კარების შემოტანას მის პროდუქტებში.

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

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

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

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

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

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

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

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

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

მე არ ვარ პროფესიონალი ინფორმაციული უსაფრთხოების სფეროში, ჩემი ინტერესის სფეროა მაღალხარისხიანი გამოთვლითი სისტემები. მე შემთხვევით მივედი ინფორმაციის უსაფრთხოების თემასთან დაკავშირებით, და ეს არის ის, რაც შემდგომ განხილვაზე იქნება. ვფიქრობ, ეს გამოგონილი ამბავი უკეთესად გაანათებს ვირტუალიზაციის აპარატთან დაკავშირებულ პრობლემებს, ვიდრე ფაქტების მშრალი გადმოცემა. მაშინაც კი, სანამ Intel- ის ახალი პროცესორები ოფიციალურად გამოცხადდებოდა ტექნიკის ვირტუალიზაციის მხარდაჭერით (2007 წლის დასაწყისში), მე ჩავფიქრდი, რომ ამ ჩიპების გამოყენებას შევქმენით ერთიანი გამოთვლითი სისტემა, რომელიც დაფუძნებული იქნებოდა რამდენიმე სერვერზე, რომელიც გახდებოდა ერთი გამოთვლითი ერთეული SMP- ის არქიტექტურით, OS და გამოყენებითი პროგრამებისთვის. ამისათვის საჭირო იყო კომპაქტური ჰიპერვიზორის დაწერა არასტანდარტული ფუნქციონირებით, რომლის მთავარი მახასიათებელი არ იქნებოდა ერთი გამოთვლითი ერთეულის რესურსების დაყოფა სხვადასხვა ოპერაციული სისტემისათვის, პირიქით, რამდენიმე კომპიუტერის რესურსების გაერთიანება ერთ კომპლექსში, რომელსაც გააკონტროლებდა ერთი ოპერაციული სისტემა. ამავდროულად, OS– ს არც კი უნდა ეცნო, რომ საქმე ჰქონდა არა ერთ სისტემასთან, არამედ რამდენიმე სერვერთან. ვირტუალიზაციის ტექნიკა ასეთ შესაძლებლობას იძლეოდა, თუმცა თავდაპირველად ეს არ იყო გამიზნული ამგვარი პრობლემების გადასაჭრელად. სინამდვილეში, ჯერ არ შექმნილა სისტემა, რომელშიც ვირტუალიზაციის აპარატურა გამოყენებული იქნებოდა მაღალკვალიფიციური კომპიუტერული პროგრამებისთვის, და მე იმ პერიოდისთვის მეც პიონერი ვიყავი ამ სფეროში. ამ ამოცანის ჰიპერვაიზერი, რა თქმა უნდა, თავიდან იყო დაწერილი. ფუნდამენტურად მნიშვნელოვანი იყო ოპერაციული სისტემის გაშვება ვირტუალიზებულ პლატფორმაზე ისე, რომ ოპერაციული სისტემის დამტვირთავი პირველი ბრძანებებიდან ყველაფერი იმუშავა ვირტუალურ გარემოში. ამისათვის ჩვენ უნდა მოვახდინოთ რეალური მოდელის და პროცესორის მუშაობის ყველა რეჟიმის ვირტუალიზაცია და პლატფორმის ინიციალიზაციისთანავე ვირტუალიზაციის დაწყება ოპერაციული სისტემის ჩატვირთვამდე. ვინაიდან ამ მიზნით ვირტუალიზაციის სისტემა არასტანდარტული აღმოჩნდა და სრულიად ავტონომიური კომპაქტური პროგრამული უზრუნველყოფის მოდულს ჰგავდა (კოდის ზომა არაუმეტეს 40-60 კბ), ენამ რატომღაც ვერ გაბედა და მას ჰიპერვიზორს უწოდებდა და მე დავიწყე ტერმინი "ჰიპერდრივერი", რადგან ეს უფრო ზუსტია გადმოსცა სისტემის ფუნქციური დანიშნულების არსი. იმ დროს სერიული მოწყობილობა ვირტუალიზაციის აპარატურით ჯერ არ იყო ხელმისაწვდომი, თუმცა Craftway– თან თანამშრომლობის წყალობით, მე მქონდა წვდომა პროცესორებისა და დედაპლატების წინასწარ წარმოებულ ნიმუშებზე ვირტუალიზაციის მხარდაჭერით, რომლებიც ოფიციალურად ჯერ არ გამოვიდა (ე.წ. ნიმუშები, რომლებსაც Intel გთხოვთ ბიზნეს პარტნიორები). ამიტომ, ამ "ნიმუშის" აღჭურვილობაზე მუშაობა დაიწყო. მაკეტი შეიკრიბა, ჰიპერდრივერი დაიწერა, ყველაფერი ისე მუშაობს, როგორც დანიშნულია. უნდა ითქვას, რომ იმ დროს ვირტუალიზაციის აპარატურა ძალიან "ნედლი" იყო, რის გამოც მან განმეორებით თქვა უარი დოკუმენტაციაში დაწერილზე. მე უნდა გამეკეთებინა სიტყვასიტყვით ყველა ასამბლეის ბრძანება და ბრძანებები ვირტუალიზაციის აპარატურისთვის უნდა ყოფილიყო დაწერილი მანქანების კოდებში, მას შემდეგ არ არსებობდა შემდგენლები, რომლებიც მხარს უჭერდნენ ვირტუალიზაციის ბრძანებებს. მე ვამაყობდი მიღებული შედეგებით, თითქმის ვირტუალურ სამყაროს მბრძანებლად ვგრძნობდი თავს ... მაგრამ ჩემი ეიფორია დიდხანს არ გაგრძელებულა, მხოლოდ ერთი თვე. იმ დროისთვის მე უკვე შევიკრიბე სერვერების საფუძველზე განლაგება ვირტუალიზაციის აპარატურით, რომელთა პირველი სერიული ნიმუშები ახლახან გამოჩნდა, მაგრამ განლაგება არ იმუშავა. დავიწყე ამის გარკვევა და მივხვდი, რომ ჩემი სისტემა ითიშება აპარატურის ვირტუალიზაციის ბრძანებების შესრულებისას. შეიქმნა შთაბეჭდილება, რომ ისინი ან საერთოდ არ მუშაობდნენ, ან რატომღაც ყუთის გარეთ მუშაობდნენ. გაყინვა მოხდა მხოლოდ მაშინ, როდესაც ვირტუალიზაციის აპარატურა რეალურ რეჟიმში მუშაობს, მაგრამ თუ ოპერაციული სისტემის ჩატვირთვის შემდეგ ჩემი სისტემა დაცული რეჟიმით დაიწყო, ყველაფერი კარგად იყო. პროფესიონალებმა იციან, რომ ადრეული შესწორებების დროს, Intel- ის ვირტუალიზაციის აპარატმა მხარი არ დაუჭირა პროცესორის რეალურ დროში მუშაობას. ამისათვის საჭიროა დამატებითი ფენა, რომელიც საკმარისად დიდია ვირტუალური x86- ის იმიტაციისთვის. მას შემდეგ, რაც ჰიპერდრივერი დაიწყო ოპერაციული სისტემის ჩატვირთვამდე, რათა მას სრულად დაეჯერებინა ახალი ვირტუალური კონფიგურაცია, ოპერაციული სისტემის ჩატვირთვის კოდის მცირე ნაწილი შესრულდა პროცესორის რეალურ რეჟიმში. სისტემა გარდაიცვალა ჰიპერდრივერში რეალურ რეჟიმში ემულაციის შემცველებზე. თავიდან მეგონა, რომ სადღაც შევცდი, რაღაც არ მესმოდა, რაღაც მავიწყდებოდა. ჩემს კოდში ბოლო ბოლომდე გადავამოწმე ყველაფერი, ვერ ვპოვე შეცდომები და ცოდვა დავიწყე არა საკუთარ თავზე, არამედ გორაკის უკნიდან ჩემს კოლეგებზე. პირველი რაც გავაკეთე იყო პროცესორების ჩანაცვლება, მაგრამ ამან არ უშველა. იმ დროს დედა დაფებზე ვირტუალიზაციის აპარატურა მხოლოდ BIOS– ში იყო, სადაც სერვერის ჩართვისას ის ინიციალიზებული იყო, ამიტომ დავიწყე ბიოების შედარება დედა დაფებზე (იგივე ტიპის დედაპლატები ნიმუშებთან) - ყველაფერი ემთხვეოდა ბაიტს და თავად BIOS– ის რაოდენობას. სტუპორში ჩავვარდი და, აღარ ვიცოდი რა გამეკეთებინა, უკანასკნელი ხერხი გამოვიყენე - "ხერხის მეთოდი". რა არ გავაკეთე, აღარ ვფიქრობდი, არამედ უბრალოდ ვაერთიანებდი და ბოლოს სულელურად გადმოვწერე ბიოსი Intel- ის ოფიციალური ვებსაიტიდან და გადავწერე დედაპლატებში, რის შემდეგაც ყველაფერი იმუშავა ... ჩემს გაოცებას საზღვარი არ ჰქონდა: BIOS ნომერი იგივე იყო , BIOS– ის სურათები ბაიტ – ბაიტს ემთხვეოდა, მაგრამ სერიული დედაპლატები რატომღაც მხოლოდ მაშინ დაიწყეს მუშაობამ, როდესაც ინტელის ვებსაიტიდან აღებული იგივე BIOS ავტვირთე მათში. ასე რომ, მიზეზი ისევ დედაპლატებშია? მათი განსხვავება მხოლოდ მარკირებაში იყო: სინჯებზე აწერილი იყო აწყობილი კანადა, ხოლო სერიულ დაფებზე აწყობილი ჩინეთი. ცხადი გახდა, რომ ჩინეთიდან დაფები შეიცავს დამატებით პროგრამულ მოდულებს, რომლებიც ჩაშენებულია BIOS– ში, მაგრამ სტანდარტული ანალიზის პროგრამებში ეს მოდულები არ ჩანს. მათ, როგორც ჩანს, ვირტუალიზაციის აპარატურაზეც მუშაობდნენ და, შესაბამისად, შეძლეს BIOS- ის ნამდვილი შინაარსის დამალვა. ცხადი გახდა ამ ჩინურ დაფებზე ჩემი ჰიპერდრივერის გაყინვის მიზეზიც: ორი პროგრამული სისტემა ერთდროულად მუშაობდა ერთსა და იმავე ვირტუალიზაციის აპარატთან, რაც არ იძლევა მათი რესურსების გაზიარების საშუალებას. მინდოდა ამ მავნე ბიოსთან გამკლავება და ყოველგვარი ფიქრის გარეშე ”სანიშნეები”, ”უკანა კარები”, ”დაუსაბუთებელი თვისებები”, იყო მხოლოდ აკადემიური ინტერესი და მეტი არაფერი. უნდა ითქვას, რომ ვირტუალიზაციის აპარატურის დანერგვის პარალელურად, Intel- მა რადიკალურად განაახლა ჩიპსეტი. ეს ჩიპსეტი, რომლის ნომერია 5000x, კვლავ მზადდება რამდენიმე მოდიფიკაციით. ამ ჩიპსეტის სამხრეთ ხიდი, 631xESB / 632xESB I / O Controller Hub, რომელთანაც დაკავშირებულია ფლეშ მიკროსქემები ბიოთი, პრაქტიკულად უცვლელი დარჩა 2007 წლიდან და გამოიყენება როგორც ბაზის ჩიპი თითქმის ყველა სერვერისთვის ორი სოკეტის ვერსიით. გადმოვწერე სამხრეთის ხიდის მონაცემთა ცხრილი, წავიკითხე აღწერა და გაოგნებული დავრჩი. აღმოჩნდა, რომ ამ ახალ სამხრეთ ხიდთან არის ჩართული სამი ფლეშ მეხსიერების ჩიპი: პირველი არის სტანდარტული BIOS, მეორე ეძღვნება ქსელის კონტროლერის პროცესორის პროგრამებს, ხოლო მესამე განკუთვნილია სამხრეთ ხიდში ინტეგრირებული BMC განყოფილებისთვის. სისტემის მართვის განყოფილება (BMC) არის კომპიუტერული ობიექტის დისტანციური მართვისა და მონიტორინგის საშუალება. ის შეუცვლელია დიდი სერვერების ოთახებისთვის, სადაც ხმაურის, ტემპერატურისა და ნახაზების გამო უბრალოდ შეუძლებელია დიდხანს დარჩენა. ის ფაქტი, რომ BMC დანაყოფებს აქვთ საკუთარი პროცესორი და, შესაბამისად, ფლეშ მეხსიერება მისი პროგრამებისთვის, რა თქმა უნდა, სიახლე არ არის, მაგრამ ამ პროცესორს და მეხსიერებას ცალკე დაფაზე ატარებდნენ, რომელიც დედაპლატთან იყო დაკავშირებული: თუ გინდა - განათავსე, არ გინდა - არ დააყენო. ახლა Intel- მა გამოიყენა ეს კომპონენტები სამხრეთ ხიდში, უფრო მეტიც, მან ეს მოწყობილობა დააკავშირა სისტემის ავტობუსთან და არ გამოიყენა სპეციალური ქსელის არხი (როგორც ეს მოცემულია IPMI სტანდარტით, რომელიც აღწერს BMC განყოფილების ფუნქციებს) მომსახურების ქსელის მუშაობისთვის, მაგრამ მთლიანი მომსახურების ქსელის ტრაფიკი ძირითადი ქსელისთვის გადამყვანები. შემდეგ დოკუმენტაციიდან შევიტყვე, რომ BMC განყოფილების ფლეშ მიკროსქემის პროგრამები დაშიფრულია და მათი განტვირთვისთვის გამოიყენება სპეციალური აპარატული კრიპტოგრაფიული მოდული, რომელიც ასევე არის სამხრეთ ხიდში ინტეგრირებული. საზღვაო ძალების ასეთი ქვედანაყოფები აქამდე არასდროს შემხვედრია. უსაფუძვლო რომ იყოს, გთავაზობთ ამ სამხრეთ ხიდის დოკუმენტაციის ამონარიდს:

  • ARC4 პროცესორი მუშაობს 62.5 მეგაჰერციან სიჩქარეზე.
  • ინტერფეისი Intel® 631xESB / 632xESB I / O Controller Hub– ის ორივე LAN პორტთან, რაც საშუალებას იძლევა პირდაპირ კავშირს გახდეს ქსელში და ჰქონდეს წვდომა ყველა LAN რეგისტრზე.
  • კრიპტოგრაფიული მოდული, AES და RC4 დაშიფვრის ალგორითმების და SHA1 და MD5 ავთენტიფიკაციის ალგორითმების მხარდაჭერით.
  • დატვირთული რეგულირებადი FW– ის უსაფრთხო მექანიზმი.
უცხო ქვეყნის კრიპტოგრაფიული საშუალებების გამოყენება, რომელთა ძირითადი სიგრძით 40 ბიტია, აკრძალულია რუსეთის ტერიტორიაზე კანონით, მაგრამ აქ - გთხოვთ! - თითოეულ Intel სერვერში არის კრიპტომოდული, უცნობი 256 ბიტიანი გასაღებით. უფრო მეტიც, ამ გასაღებებს იყენებდნენ წარმოების დროს დედაპლატის ჩიპებში ჩასმული პროგრამების დასაშიფრად. გამოდის, რომ ინტელის სერვერებზე რუსეთის საზღვაო ძალების შენაერთები, რომელშიც შედის 5000x ჩიპსეტი, უნდა გამორთონ. ამასთან, ეს ერთეულები, პირიქით, ყოველთვის მუშაობენ, მაშინაც კი, თუ გამომთვლელი ერთეული გამორთულია (სპირალის მუშაობისთვის, ლოდინის ძაბვა საკმარისია, ანუ სერვერის დენის კაბელი ჩასმული ბუდეში). ეს ყველაფერი მეორადი მნიშვნელობის მომენტში მეჩვენებოდა, რადგან პირველ რიგში უნდა გამერკვია, რომელი ფლეშ მიკროციკლი შეიცავს პროგრამული უზრუნველყოფის მოდულს, რომელიც მუშაობს ვირტუალიზაციის აპარატთან და ხელს უშლის ჩემს ჰიპერდრივერს და დავიწყე ექსპერიმენტი firmware- ზე. დოკუმენტაციის წაკითხვის შემდეგ, მე ფხიზლად ვიყავი და როდესაც აღმოვაჩინე, რომ ჰიპერდრივერის მუშაობის აღდგენა ხდება მხოლოდ სპირალის აპარატის ფლეშ ჩიპის ციმციმის შემდეგ, არც გამიკვირდა. შეუძლებელი იყო შემდგომი გაგება სპეციალური სტენდების გარეშე, რადგან კრიპტოგრაფიამ მთლიანად დაბლოკა საზღვაო ძალების საპირისპირო კოდის შესაძლებლობა. მე ვერ ვიპოვნე რაიმე დოკუმენტაცია ამ ინტეგრირებული სპირალის შიდა არქიტექტურის შესახებ; სამხრეთ ხიდის მონაცემთა ცხრილში, Intel- მა აღწერს მხოლოდ ინტერფეისის რეგისტრებს ამ ერთეულის კონტროლისთვის სტანდარტული წვდომის მეთოდების გამოყენებით, რამაც შექმნა კლასიკური "შავი ყუთი". ფაქტების მთლიანობამ შეაშფოთა და პარანოული აზრები გამოიწვია ჯაშუშური დეტექტივების სტილში. ამ ფაქტებმა ნათლად მიუთითეს შემდეგი:
  • Intel– ის ახალი 5000 სერიის სერვერების დაფები შეიცავს პროგრამებს, რომლებიც ჩანერგილია BMC განყოფილების ფლეშ მეხსიერებაში და მუშაობს ცენტრალურ პროცესორზე და ეს პროგრამები მუშაობს ცენტრალური პროცესორის ვირტუალიზაციის აპარატის გამოყენებით.
  • Intel ოფიციალური ვებსაიტის Flash სურათები არ შეიცავს პროგრამულ მოდულებს, შესაბამისად, პროგრამული უზრუნველყოფის მოდულები, რომლებიც ხელს უშლის ჩემში, უკანონოდ გაისროლეს დედა დაფებში წარმოების ეტაპზე.
  • BMC განყოფილების ფლეშ მეხსიერება შეიცავს დაშიფრულ პროგრამულ მოდულებს, რომელთა აწყობა და ჩაყრა არ შეიძლება ფლეშ მეხსიერებაში დაშიფვრის გასაღებების ცოდნის გარეშე, ამიტომ ვინც ამ ჩადეთ ეს არალეგალური პროგრამული მოდულები იცოდა დაშიფვრის გასაღებები, ანუ ჰქონდა რეალურად საიდუმლო ინფორმაცია.
Kraftway– ის მენეჯმენტს მე ვაცნობე საზღვაო ძალების განყოფილების ფლეშ მეხსიერების პრობლემის და საეჭვო ვითარების შესახებ ახალი ინტელის ჩიპსეტების კანონმდებლობის თვალსაზრისით, რაზეც საკმაოდ მოსალოდნელი პასუხი მივიღე ”ნუ ჩავურევ, ბიზნესში ხელი არ შეგიშალო”. დამშვიდება მომიწია, რადგან დამსაქმებლებს ვერ გაანადგურებ. ხელები ჰქონდა მიბმული, მაგრამ "ჩემი აზრები, ჩემი ცხენები" არ მაძლევდა მოსვენებას, გაუგებარი იყო, რატომ მოხდა ეს სირთულეები და როგორ გაკეთდა ეს ყველაფერი. თუ თქვენ გაქვთ შესაძლებლობა საკუთარი პროგრამული უზრუნველყოფა განათავსოთ საზღვაო ძალების ქვედანაყოფის მეხსიერებაში, რატომ გჭირდებათ მთელი ეს უბედურება ცენტრალურ პროცესორთან? ერთადერთი გონივრული მიზეზი შეიძლება იყოს ის, რომ პრობლემის გადაჭრა მოითხოვს ცენტრალური პროცესორის ამჟამინდელი გამოთვლითი კონტექსტის კონტროლს. აშკარაა, რომ შეუძლებელია მთავარ კომპიუტერულ სისტემაში დამუშავებული ინფორმაციის თვალის დევნება მხოლოდ პერიფერიული დაბალი სიჩქარით პროცესორის გამოყენებით, 60 მჰც სიხშირით. ამრიგად, როგორც ჩანს, ამ არალეგალური სისტემის ამოცანა იყო ვირტუალიზაციის აპარატურის გამოყენებით კომპიუტერის მთავარ ინსტალაციაზე დამუშავებული ინფორმაციის მიღება. რა თქმა უნდა, უფრო მოსახერხებელია მთლიანი არალეგალური სისტემის დისტანციური მართვა BMC განყოფილების პროცესორისგან, რადგან მას აქვს საკუთარი დამოუკიდებელი წვდომა დედაპლატაზე ქსელის გადამყვანებზე და საკუთარი MAC და IP მისამართები. კითხვა "როგორ ხდება ეს?" უფრო აკადემიური ხასიათის იყო, ვინაიდან ვიღაცამ მოახერხა ჰიპერვიზორის შექმნა, რომელსაც შეუძლია ვირტუალიზაციის აპარატურის რესურსების სხვა ჰიპერვიზორთან გაზიარება და ამას სწორად აკეთებს ყველა რეჟიმისთვის, CPU– ს რეალური რეჟიმის გარდა. ახლა თქვენ ვერავინ გააკვირვებთ ასეთი სისტემებით, მაგრამ შემდეგ, ხუთი წლის წინ, ისინი სასწაულად აღიქვეს, გარდა ამისა, ემულაციის სიჩქარე საოცარი იყო - მასპინძლის პროგრამულად იმიტაცია შეუძლებელი იყო მნიშვნელოვანი შესრულების დანაკარგების გარეშე. გასარკვევად, თქვენ ოდნავ უნდა ჩასწვდეთ თეორიას. Intel და AMD ვირტუალიზაციის სისტემების არქიტექტურა არ გულისხმობს პლატფორმაზე ერთდროულად რამდენიმე ჰიპერვიზორის არსებობას, თუმცა ჰიპერვიზერს, რომელიც პირველად დაიწყო, შეუძლია შექმნას რეალური ვირტუალიზაციის აპარატზე მუშაობა ჰიპერვიზორისთვის, რომელიც შემდეგ დაიწყო. ამ შემთხვევაში, ყველა ჰიპერვიზორი დაიწყო პირველი გაშვების შემდეგ ემულაციურ მასპინძელ გარემოში. ამ პრინციპს მე "პირველი ღამის უფლებას" ვუწოდებ. მისი მარტივად განხორციელება შესაძლებელია ძირეულ მასპინძელზე სპეციალური დამმუშავებლების გამოყენებით, ამოცანის რეჟიმის მნიშვნელოვნად შეცვლის გარეშე და ძირითადი ჰიპერვიზორის მასპინძლები, რომლებიც მუშაობენ ძირეული მასპინძლის დავალების რეჟიმში. ემულაციის რეჟიმის ორგანიზება არ არის რთული, მაგრამ წარმოდგენის პრობლემები არსებობს. ვირტუალიზაციის აპარატურა მუშაობს ძირითადად VMCB (VMCS) ბლოკთან, მასპინძელი პროგრამები მუდმივად ახდენენ წვდომას ამ ბლოკში და თითოეულ ასეთ წვდომას სჭირდება 0.4-0.7 მკმ. თითქმის შეუძლებელია ამ პროგრამული უზრუნველყოფის მასპინძლის ემულაციის დამალვა Intel ვირტუალიზაციის სისტემისთვის, ძალიან ბევრი ვირტუალიზაციის ბრძანება პროგრამულად უნდა გამოვიყენოთ შედეგების საშუალებით root მასპინძელზე, ნაცვლად მათი რეალური ტექნიკის გაშვებისა. ოდნავ მოგახსენებთ ვირტუალიზაციის არქიტექტურებს შორის არსებულ განსხვავებებს. აპარატების ვირტუალიზაციის სისტემები Intel და AMD– სგან სრულიად განსხვავდება ერთმანეთისგან. ამ სისტემებს შორის მთავარი არქიტექტურული განსხვავებაა ოპერაციის მასპინძელი რეჟიმი. AMD სისტემაზე მასპინძლობს ვირტუალიზაციის აპარატს გამორთული, რაც ნიშნავს რომ მისი პროგრამები მუშაობს რეალურ პროცესორზე. AMD სისტემებზე მეორადი მასპინძლის ვირტუალიზაცია მოითხოვს მხოლოდ VMRUN ბრძანების ვირტუალიზაციას (შეიძლება ვივარაუდოთ, რომ სხვა ბრძანებები არ არსებობს). AMD არქიტექტურაში VMCB საკონტროლო ბლოკთან მუშაობა ხდება ჩვეულებრივი წვდომის საშუალებით RAM– ზე წვდომისთვის, რაც საშუალებას აძლევს მეორად მასპინძელს გააკონტროლოს მხოლოდ VMRUN ბრძანებების შესრულება მეორადი მასპინძლის დახმარებით და შეასწოროს VMCB ბლოკი, საჭიროების შემთხვევაში, დავალების რეჟიმში შესვლამდე. ჯერ კიდევ შესაძლებელია ღონისძიების მარყუჟის ორჯერ გახანგრძლივება და AMD ემყარება პლატფორმას. Intel- ის ვირტუალიზაციის სისტემა გაცილებით რთულია. VMCB ბლოკზე შესასვლელად გამოიყენება სპეციალური ბრძანებები VMREAD და VMLOAD, რომლებიც ვირტუალიზებული უნდა იყოს. როგორც წესი, მასპინძელი დამმუშავებლები ათობითჯერ, თუ არა ასობითჯერ, აღწევენ VMCB ველებს და საჭიროა თითოეული ასეთი ოპერაციის იმიტაცია. ამავე დროს, შესამჩნევია, რომ სიჩქარე ეცემა სიდიდის ბრძანებით, ეს ძალიან არაეფექტურია. ცხადი გახდა, რომ უცნობმა კოლეგებმა ემულაციის განსხვავებული, უფრო ეფექტური მექანიზმი გამოიყენეს. და მინიშნებები იმის შესახებ, თუ რომელი ვიპოვნე დოკუმენტაციაში. Intel– ის მასპინძელი თავისთავად ვირტუალური გარემოა, ანუ არაფერი, სინამდვილეში, ამ მხრივ არ განსხვავდება დავალების შესრულების გარემოსგან და უბრალოდ კონტროლდება სხვა VMCB– ით (იხ. დიაგრამა). ამასთანავე, დოკუმენტაცია აღწერს "ორმაგი მონიტორის" კონცეფციას SMM რეჟიმის ვირტუალიზაციისთვის (სისტემის მართვის რეჟიმი), როდესაც ორი მასპინძელი ერთდროულად აქტიურია და, შესაბამისად, ორი VMСB ბლოკი, ხოლო სისტემის მართვის რეჟიმის ვირტუალიზაცია მასპინძლობს მთავარ მასპინძელს, როგორც ამოცანას. მაგრამ მხოლოდ სისტემის მენეჯმენტში შეწყვეტის ზარის წერტილები. ამ გარემოებითი მტკიცებულებების თანახმად, Intel ვირტუალიზაციის აპარატს, ალბათ, აქვს მექანიზმი, რომ გააკონტროლოს მრავალი მეორადი მასპინძელი, რომელსაც მართავს root მასპინძელი, თუმცა ეს მექანიზმი არსად არის აღწერილი. გარდა ამისა, ასე მუშაობდა ჩემი სისტემა, და მე ჯერ კიდევ არ მაქვს ახსნა ძირეული ჰიპერვიზორის თითქმის შეუმჩნეველი ქმედებების შესახებ. ეს კიდევ უფრო საინტერესო გახდა: როგორც ჩანს, ვინმეს ჰქონდა ხელი ამ დოკუმენტურ მახასიათებლებზე და ისინი პრაქტიკაში გამოიყენა. Craftway– სთან თანამშრომლობის დასრულებამდე დაახლოებით ექვსი თვით ადრე მე დავიწყე პასიური დამკვირვებლის პოზიცია, მიუხედავად ამისა, ვაგრძელებდი ჩემი სისტემის რეგულარულ გაშვებას ჩინეთის სერიული დედაპლატების ახალ პარტიებზე და ახალ ნიმუშებზე. ნიმუშებზე ყველაფერი სტაბილურად განაგრძობდა მუშაობას. როდესაც ჩინეთის დაფებზე გადავედი, სისტემაში უფრო და უფრო მეტი სასწაული გამოჩნდა. როგორც ჩანს, საზღვარგარეთელი კოლეგები აქტიურად აუმჯობესებდნენ თავიანთი ფესვების ჰიპერვიზორის მუშაობას. დაფების ბოლო საეჭვო ჯგუფები თითქმის ჩვეულებრივად იქცეოდნენ, ანუ ჩემი ჰიპერდრივერის პირველმა გაშვებამ გამოიწვია სისტემის გადატვირთვა ოპერაციული სისტემის დაწყების დროს, მაგრამ ჰიპერდრივერისა და ოპერაციული სისტემის ყველა მომდევნო გაშვება შეფერხდა. საბოლოოდ, მოხდა ის, რასაც დიდი ხანია ველოდი: ჩამოვიდა ახალი დედაქალაქის დედაპლატა, რომელმაც საერთოდ არ გაყინა ჩემი ჰიპერდრივერი. მე უკვე დავიწყე ჩემი პარანოული ეჭვების ეჭვის შეტანა, მაგრამ ახალმა ინციდენტმა გააძლიერა ისინი. უნდა აღინიშნოს, რომ Intel აქტიურად აუმჯობესებს ვირტუალიზაციის აპარატს. თუ აპარატურის პირველი გადახედვა, რომელთანაც დავიწყე მუშაობა, იყო ნომერი 7, მაშინ აღწერილი სიტუაცია მოხდა მე -11 შესწორებაზე, ანუ დაახლოებით ერთ წელიწადში გადასინჯვა განახლდა ორჯერ (რატომღაც, შესწორებებს მხოლოდ უცნაური ნომრები აქვთ). 11-ე გადასინჯვისას, მნიშვნელოვნად გაფართოვდა მასპინძელში შესვლის პირობები ვირტუალიზაციის აპარატურის ამოცანის მდგომარეობის შესაბამისად, რომლის მიხედვითაც ახალი კონტროლის ველი შემოვიდა კიდეც VMCB ბლოკში. როდესაც ვირტუალიზაციის აპარატურის ამ ვერსიის მქონე პროცესორების ნიმუში გამოჩნდა, მე მსურდა პრაქტიკაში ახალი შესაძლებლობების მოსინჯვა. ჰიპერდრივერი დავხვეწე ვირტუალიზაციის აპარატურის მე -11 შესწორების ახალი მახასიათებლების გამო, ჩინეთის სერიულ დაფაზე დავაინსტალირე პროცესორის ნიმუში, რომელშიც ყველაფერი უკვე მუშაობდა ყოველგვარი კომენტარის გარეშე და დავიწყე გამართვა. აღჭურვილობის ახალმა შესაძლებლობებმა არანაირად არ იჩინა თავი და მე ისევ ჩავვარდი სულისკვეთებით, ვცოდავდი ნიმუშის დამმუშავებელს და დოკუმენტაციას. გარკვეული დროის შემდეგ, დედაპლატა სხვა ამოცანისთვის იყო საჭირო და, ექსპერიმენტების განახლების შემდეგ, უსაფრთხოების მიზნით, მე გადავალაგე პროცესორები ვირტუალიზაციის აპარატურის მე -11 შესწორებით კანადის ნიმუშზე. წარმოიდგინეთ ჩემი სიურპრიზი, როდესაც ამ ნიმუშზე ყველაფერი მუშაობდა! თავიდან ვიფიქრე, რომ სადმე დამეზარავა სერიული დაფა, ვინაიდან მასპინძლის ახალ გამოცემებს დედაპლატთან საერთო არაფერი ჰქონდა, ეს მხოლოდ პროცესორის ფუნქცია იყო. ამის შესამოწმებლად, მე შევცვალე ნიმუშის პროცესორი სერიულ დაფაზე და ყველაფერი ისევ შეჩერდა. ეს ნიშნავს, რომ მე არ მიშლიდა არაფერი და პრობლემა იმაში მდგომარეობდა, რომ დედაპლატმა როგორღაც მოახდინა გავლენა პროცესორის ვირტუალიზაციის აპარატის ახალ შესაძლებლობებზე. ჩემი ეჭვების გათვალისწინებით, ერთადერთი დასკვნა მიჩნეულ იქნა - უცხოეთიდან ჩამოსული კოლეგების არალეგალური ფესვი, რომლებიც დედაპლატის ფლეშ მეხსიერებაში არიან ჩასმული, არ იცოდნენ ვირტუალიზაციის აპარატურის ახალი შესწორების შესახებ. როდესაც ამ უცნობმა ტექნიკურმა მოწყობილობამ დაიწყო მუშაობა, მან შეწყვიტა შედეგების სწორად გადაცემა ამოცანის მდგომარეობიდან ჩემს მეორად მასპინძელზე საკუთარი ღონისძიების დამმუშავებლის მეშვეობით. უკვე ვიცოდი, როგორ უნდა გავუმკლავებოდი ამ სატანჯველს, მე ატვირთა firmware BMC განყოფილებისთვის Intel ვებსაიტიდან სერიულ დაფაზე, ჩართო სისტემა ნდობით, რომ ყველაფერი უშუალოდ იმუშავებს და ისევ დავიწყე, რადგან ყინვები დარჩა. ეს რაღაც ახალი იყო. ჩემი თეორიის თანახმად, უკანონო ჰიპერვიზორი გახდა თავხედური და დარწმუნდა მის დაუცველობაში. როგორც ჩანს, მის ავტორებს მიაჩნდათ, რომ მათმა ჭკუამ ტესტირების ეტაპი გაიარა და აღარ იყო საჭირო გადაუჭრელი პროგრამული უზრუნველყოფის ნიღაბი BIOS– ის უკმარისობის გამო. მას შემდეგ, რაც ჩართულ იქნა ინიცირების კოდის ფლეშ მეხსიერებაში გადაწერასგან დაცვის ფუნქცია, სანიშნის წაშლა თითქმის შეუძლებელი გახდა. არ მჯერა ჩემი სიმართლის, მჭირდებოდა საკონტროლო ექსპერიმენტები. მე უნდა მომეფიქრებინა ჩემი მეთოდი ტექნიკის ჰიპერვიზორის დასადგენად. შემდეგ აღმოჩნდა, რომ ველოსიპედი გამოვიგონე. მეთოდი საშუალებას აძლევდა კონტროლიყო სისტემის ბრძანებების შესრულების დროზე, რომლებიც საჭიროებდა სავალდებულო ემულაციას ჰიპერვიზორის მასპინძელში. როგორც ტაიმერი, მე გამოვიყენე ციკლური ჩარჩო მრიცხველი USB კონტროლერის აპარატში და დავწერე პროგრამა რეალური მუშაობისთვის, რათა შეამციროდა ყალბი და უკონტროლო წყვეტები, რაც ნიღბავდა სისტემის ინსტრუქციების შესრულების ნამდვილ დროს. პირველი შემოწმება გავაკეთე იყო სუფთა სისტემა, რომელიც დაფუძნებული იყო კანადის დედაპლატების ნიმუშზე.
ფოტოზე ნაჩვენები შესრულების დრო არის გარკვეული პირობითი მნიშვნელობა, რომელიც დაახლოებით შეესაბამება პროცესორის ციკლს. შემდეგ იგივე ტესტი გავიარე სერიულ დედაპლატაზე და დავრწმუნდი ჩემს პარანოიდულ დაშვებებში - ბრძანების შესრულების ციკლი მნიშვნელოვნად გახანგრძლივდა.
ანუ, Intel- ის ეტიკეტების ქვეშ წარმოებული სერვერების დაფების BMC ბლოკის ფლეშ მეხსიერებაში, წარმოების ეტაპზე დაინსტალირებული იყო გამოცხადებული პროგრამული მოდული, რომელიც მუშაობს როგორც ჰიპერვიზორის მასპინძელი. ეს რჩება სხვების დარწმუნებაში ამაში. პირველი, რაც მე გავაკეთე, იყო რუსულ Intel– ის წარმომადგენელთან დაკავშირება. ეს სულაც არ იყო რთული, რადგან Craftway– ზე ხშირად ჩნდებოდნენ რუსეთის ოფისის თანამშრომლები. ყველაფერი ვუთხარი და ვაჩვენე, მაგრამ არ ვიყავი დარწმუნებული, ტექნიკოსს ყველაფერი ესმოდა თუ არა. ეს ე.წ. ტექნიკური სპეციალისტები კომპეტენციის მიხედვით მცირედ განსხვავდებიან მენეჯერებისაგან. ამასთან, მან პირობა დადო, რომ ყველაფერს მოახსენებდა მენეჯმენტს. არ ვიცი მან გააკეთა ეს, მაგრამ Intel- ის მხრიდან არანაირი რეაგირება არ ყოფილა, ყველაფერი ქვიშასავით წავიდა. იმ დროისთვის ჩემი ნამუშევარი Craftway– ში დასრულებული იყო და მე დავიწყე ახალი პროექტი კომპანიაში, რომელიც ეხებოდა ინფორმაციული უსაფრთხოების სისტემებს. ამ ფირმის ხელმძღვანელი, ვისთანაც ჩემს "აღმოჩენებს" ვუზიარებდი, სერიოზულად მიუახლოვდა ჩემს სიტყვებს. ამასთან დაკავშირებით, გადაწყდა, რომ დაუკავშირდეთ FSB- ს ინფორმაციული უსაფრთხოების და სპეციალური კომუნიკაციების ცენტრის ხელმძღვანელობას. ფსბ – ს ფარგლებში ეს სტრუქტურა მონაწილეობს ქვეყანაში ინფორმაციის უსაფრთხოების უზრუნველყოფაში და არეგულირებს სახელმწიფო და კომერციული ორგანიზაციების საქმიანობას, რომლებიც დაკავშირებულია ინფორმაციის დაცვასთან. იგი ასევე არეგულირებს ინფორმაციის დაცვის ზომებს სახელმწიფო უწყებებისა და კომერციული ფირმებისათვის, რომლებიც ამუშავებენ საიდუმლო და კონფიდენციალურ ინფორმაციას. კომპანია, რომელშიც იმ დროს ვმუშაობდი, ცენტრთან ოფიციალურ კონტაქტს ამყარებდა მათი კომერციული პროექტების სერტიფიცირებისა და ლიცენზირების მიზნით, ამიტომ სპეციალისტების დონეზე შეხვედრის ორგანიზება საკმაოდ მარტივი იყო. ივარაუდებოდა, რომ ცენტრის ექსპერტები თავიანთ აზრს გადასცემდნენ მენეჯმენტს და თუ ამის შემდეგ მენეჯმენტი ჩათვლის საჭიროდ მოგვისმინოს, შემდეგ ეტაპზე იქნება შეხვედრა უფრო მაღალ დონეზე. შეხვედრა შედგა, ვუთხარი და ვაჩვენე ყველაფერი, რისი გარკვევაც შემეძლო, შემდეგ ვაჩვენე არალეგალური პროგრამული მოდულის არსებობა კანადასა და ჩინეთის დაფების მაგალითებზე. სხვათა შორის, პირველად მესმოდა პროფესიული ტერმინი "სანიშნე", რაც ასეთ მოდულს ნიშნავს. როდესაც საუბარი საზღვაო ძალებს დაუბრუნდა, გაუგებრობა გაუჩნდა ცენტრის კოლეგებს. საგანმანათლებლო პროგრამის ჩატარება მომიწია. ამ პროცესში გაირკვა, რომ მათ არც კი იცოდნენ სამხრეთ მიკროპროცესორის არსებობა სამხრეთ ხიდზე ქსელის ადაპტერზე წვდომის შესახებ და საზღვაო დანაყოფში კრიპტოგრაფიული მოდულის არსებობის შესახებ, რომელიც არღვევს რუსეთის კანონმდებლობას. დასასრულს, ჩვენ ძალიან მოულოდნელად გავიგეთ, რომ საფრთხეების ეს მოდელი უკვე გამოიკვლია, მათთან მიმართებაში ხორციელდება კონტრზომების მთელი რიგი და ზოგადად, ჩვენ არ გვეშინია სანიშნეების, რადგან ჩვენს სისტემებს არ აქვთ ინტერნეტი. შემდგომმა გამოკვლევებმა არაფერი მოიტანა, ყველაფერი საიდუმლოებას ეყრდნობოდა, მაგალითად, ჩვენ ვართ ჭკვიანები და სუპერ წიგნიერები და თქვენ არ უნდა იცოდეთ არაფერი. ამასთან, მე ეჭვი მეპარებოდა მათ ტექნიკურ ცოდნაში, რადგან მათ უბრალოდ არ ესმოდათ ჩემი ნაამბობიდან და ნაჩვენებიდან უმეტესობა. ჩვენ დავშორდით იმ ფაქტს, რომ ისინი ანგარიშს გაუწევენ უფროსებს და მხოლოდ ისინი გადაწყვეტენ შემდგომ მოქმედებებს. მოგვიანებით გავიგე, თუ რა იყო მასპინძელი პროგრამების გამოვლენის ეს „საიდუმლო მეთოდი“. მე ეს შემთხვევით გავიგე კომპანიაში მოლაპარაკებების დროს - ცენტრის ლიცენზიატი, რომელსაც აქვს უფლებამოსილი შეამოწმოს BIOS სანიშნეებისთვის. ამ კომპანიის ტექნიკური სპეციალისტები, რომლებიც ატარებენ კვლევას BIOS– ზე, ამბობენ, რომ მისი პროგრამული მოდულები ვირტუალიზაციის აპარატურის გამოყენებით უნდა მოძებნოთ ვირტუალიზაციის ბრძანებების ხელმოწერებით. მართლაც, ვირტუალიზაციის აპარატურის პროცესორის ინსტრუქციები შეიცავს პროგრამის კოდში სამ-ოთხ ბაიტს, მაგრამ ვინ თქვა, რომ ისინი იპოვნიან ამ პროგრამის კოდს დაშიფრული სახით Flash მიკროცირტზე? როგორ სკანირებენ ისინი ამ კოდს RAM– ში, თუ მეხსიერების ეს უბნები დაცულია აპარატურის ნახვისგან? ზოგადად, პირველი შეხვედრის შედეგმა უსიამოვნო გემო დაატოვებინა და ყველაზე პირქუშ ხასიათზე ველოდი მოვლენების განვითარებას. თვენახევრის შემდეგ თავად ინფორმაციისა და სპეციალური კომუნიკაციების დაცვის ცენტრში მიგვიწვიეს, რომ ჩვენი აღმოჩენილი სანიშნეების დემონსტრირება შეგვეძლო. ამჯერად ჩვენ მოსასმენად არა რიგითი თანამშრომლები შეიკრიბნენ, არამედ მენეჯერები და წამყვანი სპეციალისტები (ყოველ შემთხვევაში, ასე წარმოადგინეს თავი). შეხვედრა ლექციად გადაიქცა, ისინი თითქმის სამი საათის განმავლობაში ყურადღებით მისმენდნენ ჩემთვის, აშკარა იყო, რომ პირველად ისმენდნენ რას ვეუბნებოდი. მე x86 პლატფორმაში ჩამოვთვალე ახალი სისუსტეები, ვაჩვენე სანიშნე და ვუთხარი როგორ უნდა აღენიშნოთ ის და ვუპასუხე ბევრ კითხვას. დასასრულს, მათ მადლობა გადავუხადეთ, გვითხრეს, რომ უნდა შემუშავდეს თემა სპეციალური კვლევითი პროექტების ფარგლებში და ამაზე დავშორდით. ეიფორია გაქრა, როდესაც არაოფიციალური არხებით ჩვენამდე მოვიდა ინფორმაცია, რომ მათ უბრალოდ არ სურდათ ჩვენი დაჯერება. ამასთან, ამან არ გამიგრილა ჩემი სურვილი დაემტკიცებინა ჩემი საქმე. როგორც მაშინ მომეჩვენა, გამოსავალი ზედაპირზე იდო: საჭირო იყო თვითონ დამეწერა სანიშნე პროგრამის მოდული. მე ვერ შევძლებდი სანიშნის ჩადებას საზღვაო ძალების ფლეშ მეხსიერებაში, მაგრამ კარგად შემეძლო მისი მთავარი BIOS- ში შეტანა. მე გადავწყვიტე ჰიპერვიზორის აღჭურვა საკუთარი უსაფრთხოების მოდულით მეხსიერების და ფლეშ მიკროსქემის დაფარვისთვის, ასევე ბლოკირების საშუალებით Flash მიკროსქემისთვის, სადაც განთავსდება სანიშნე კოდი, რის შემდეგაც შესაძლებელი იქნება მისი წაშლა მხოლოდ BIOS– ის განადგურებით და გარე პროგრამისტის გადაპროგრამებით. დარჩა მხოლოდ ”მუქარის” ფუნქციის გადაწყვეტა, რომელიც ჰიპერვიზორმა უნდა შეასრულოს. გამახსენდა FSB– ის ერთ – ერთი სპეციალისტის განცხადება, რომ მათ არ ეშინიათ სანიშნეების, რადგან მათი სისტემები გათიშულია გლობალურ ქსელთან. მაგრამ გარე სამყაროს ინფორმაცია გარკვეულწილად უნდა მოხვდეს ამ უსაფრთხო ადგილობრივ ქსელებში, თუნდაც ერთჯერადი ოპტიკური დისკების საშუალებით. ამრიგად, მე აშკარა დასკვნამდე მივედი და გადავწყვიტე გაეანალიზებინა ინფორმაცია შემოსული ინფორმაციის ნაკადის ჩანართში ჰიპერდრივერის საშუალებით, რომ ვთქვათ, განკითხვის დღის იარაღი განვახორციელო, ანუ გამოვიყენო ჩანართი კომპიუტერული სისტემის გასანადგურებლად გარე ბრძანებით, შეყვანილი ინფორმაციის ნაკადის მეშვეობით, სტეგანოგრაფიულად. ინფორმაციის ნაკადის გასაიდუმლოებლად, მუშაობის დაკარგვის გარეშე, მხოლოდ ვირტუალიზაციის აპარატს შეუძლია გაუმკლავდეს მას. სკანირების რომელ ეტაპზე ასევე ნათელია: დისკის სისტემების I / O ბუფერებზე და ქსელის ადაპტერზე. I / O ბუფერების სკანირება ვირტუალიზაციის აპარატურისთვის დიდი სირთულეა. ნათქვამია უფრო ადრე! ასეთი ჰიპერდრივერი, დაახლოებით 20 კბ KB, დარეგისტრირდა დედაპლატის ბიოსში და აღჭურვილია ანტი-გამოვლენის ფუნქციით. მან დაბლოკა BIOS– ის განახლებისას მისი გადაწერის მცდელობები და შეასრულა ერთადერთი ფუნქცია: მან აღადგინა BIOS ფლეშ მიკროციკლი, როდესაც განადგურების ბრძანება მიიღო. შესრულების გამარტივების მიზნით, თვით ბრძანება შეიკერა DOC ფორმატის ტექსტურ ფაილში პარამეტრების თეგებში. როდესაც ყველაფერი მზად იყო, კომპანიის მენეჯმენტი კვლავ FSB– სთან მივიდა წინადადებით, გაეცნო ჩვენი სანიშნეების მუშაობას და დარწმუნებულიყო, რომ ვირტუალიზაციის ტექნოლოგიები ნამდვილ საფრთხეს წარმოადგენს. მაგრამ ჩვენს სანიშნეს თვალიერება არავის სურდა. ზემოდან მოვიდა ბრძანება (არასდროს გავარკვიე ვისი ზუსტი შეკვეთა იყო) აღარ გვესაუბრებინა. ინფორმაციის უსაფრთხოების მთავარ მებრძოლებს არ სურდათ ჩვენი მოსმენა. ამის შემდეგ, უკვე არაფრის იმედი, სინამდვილეში, ჩვენი სინდისის გასუფთავება, შევეცადეთ ინფორმაციის მიწოდება პრობლემების შესახებ ინფორმაციის უსაფრთხოების სისტემის მომხმარებლებს. ჩვენ დაუკავშირდით გაზპრომს, რომ კომპანიის სპეციალისტებს განვაცხადოთ განაწილებული პროცესების მართვის სისტემებზე არსებული საფრთხეების შესახებ. ჩვენ შევძელით შეხვედრის მოწყობა კორპორატიული უსაფრთხოების მენეჯმენტთან და ამ კორპორაციის უსაფრთხოების რთული სისტემების მენეჯმენტთან. საგანგებოდ მათთვის მომზადებულია სანიშნის უფრო ვიზუალური ვერსია გამარტივებული ბრძანების ინტერფეისით. სანიშნე გააქტიურდა კომპიუტერში ტექსტური ფაილის ჩამოტვირთვის შემდეგ, რომლის შინაარსიც მოიცავდა ორ სიტყვას - "გაზპრომი" და "გაჩერება" - მოწყობილი შემთხვევითი თანმიმდევრობით. ამის შემდეგ კომპიუტერი გარდაიცვალა, მაგრამ არა მაშინვე, არამედ ხუთი წუთის დაგვიანებით. ბუნებრივია, შესაძლებელი იყო ერთი დღით დაგვიანება, მაგრამ მაშინ ჩვენ ვერ ვხვდებოდით დემონსტრაციისთვის გამოყოფილ დროს. "გაზპრომის" თანამშრომლებმა პრეტენზია გამოთქვეს ინფორმაციის უსაფრთხოების დაბალი დონის გამო და თქვეს, რომ ეს მათი საქმე არ არის, ვინაიდან ისინი ხელმძღვანელობენ FSB– ს მიერ დადგენილი მოთხოვნებით და წესებით. წრე დაიხურა, ცხადი გახდა, რომ ”ინფორმაციის უპასუხისმგებლობის” ამ მონოლითური სისტემის გარღვევა შეუძლებელია. მას შემდეგ სამ წელიწადზე მეტი ხნის განმავლობაში არასდროს მსმენია ვინმეს ლაპარაკი ვირტუალიზაციის აპარატზე, როგორც სამიზნე სისტემებში შეღწევის ინსტრუმენტზე. პარადოქსი? არა მგონია. თემის სპეციფიკა არის ის, რომ ჩვენ მხოლოდ წარუმატებელი ტექნოლოგიების შესახებ ვიგებთ. ჩვენ არ ვიცით აღმოჩენილი ტექნოლოგიების შესახებ და მათი ავტორები, რა თქმა უნდა, ჩუმად არიან. გასათვალისწინებელია, რომ BIOS– ში სანიშნეების საიმედო განთავსება შესაძლებელია მხოლოდ ქარხანაში. საოპერაციო პირობებში ეს მოითხოვს დედაპლატის კონკრეტულ მოდელზე ფოკუსირებას და ჰაკერებისათვის ასეთი ვარიანტები არც ისე საინტერესოა. მათ ესაჭიროებათ მასობრივი მასშტაბი, ისინი მუშაობენ, როგორც ამბობენ, "არეალით". ამასთან, არიან ისეთებიც, ვინც უმიზნოდ, "სნაიპერული სტილით" ესხმიან თავს. BIOS– ში სანიშნეების მოთავსების ტექნოლოგია და ვირტუალიზაციის აპარატურის გააქტიურებაც კი, რაც მათი ეფექტურად დამალვის საშუალებას გაძლევთ, რა თქმა უნდა, მოსახერხებელი იარაღია ასეთი "სნაიპერებისთვის". ერთხელ ისინი თითქმის დაიჭირეს და თითქმის შემთხვევით. მე ვფიქრობ, რომ ახლა ამის გაკეთება შეუძლებელი იქნება და არავინ არავის დაიჭიროს, როგორც თქვენ ალბათ მიხვდით.

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

სარეკლამო

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

უსაფრთხოების ექსპერტის, დემიენ ზამიტის გამოცემის თანახმად, თანამედროვე Intel ჩიპსეტებს აქვთ ინტეგრირებული ადგილობრივი და იზოლირებული Intel Management Engine (Intel ME) მიკროკონტროლის ჩიპი. ეს არის გამოსავალი საკუთარი firmware- ით, რომელიც არ არის შესამოწმებელი მესამე მხარის საშუალებებით და პროცესორზე, მეხსიერებაზე და მთლიან სისტემაზე სრული კონტროლით. უფრო მეტიც, კონტროლერს შეუძლია იმუშაოს გამორთულ კომპიუტერთან, სანამ მეხსიერებაში ენერგია მიეწოდება. რა თქმა უნდა, ოპერაციული სისტემა და კომუნალური პროგრამები არც სძინავთ და არც სულიერად იციან კონტროლერის საქმიანობის შესახებ და სიგნალს არ გასცემენ, როდესაც ის მუშაობს სისტემასთან და მონაცემებთან.

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

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

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

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

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

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

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

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

მხოლოდ ციფრულ ელემენტებზე დაფუძნებული სასურველი ქაოსის შექმნის მცდელობებს Intel- ის ინჟინრები 2008 წლიდან ატარებენ და წარმატებით შეამკო რამდენიმე წლის კვლევის შემდეგ. ნამუშევარი წარმოდგენილი იყო 2010 წელს VLSI საზაფხულო სიმპოზიუმზე ჰონოლულუში და მცირე რევოლუცია მოახდინა თანამედროვე კრიპტოგრაფიაში. პირველად, კომერციული ზოგადი დანიშნულების პროცესორში განხორციელდა სრულად ციფრული, სწრაფი და ენერგოეფექტური PRNG.

მისი პირველი სამუშაო სახელწოდება იყო Bull Mountain. შემდეგ მას დაერქვა Secure Key. ეს კრიპტოგრაფიული ბლოკი სამი ძირითადი მოდულისგან შედგება. პირველი წარმოქმნის შემთხვევითი ბიტების ნაკადს შედარებით ნელი სიჩქარით 3 Gbps. მეორე აფასებს მათ ვარიანტს და აერთიანებს მათ 256 ბიტიან ბლოკებად, რომლებიც გამოიყენება შემთხვევითი თესლის წყაროებად. მესამე ბლოკში მათემატიკური პროცედურების შემდეგ, შემთხვევითი რიცხვების 128 ბიტიანი ნაკადი უფრო მაღალი სიჩქარით წარმოიქმნება. მათ საფუძველზე, ახალი RdRand ინსტრუქციის გამოყენებით, საჭიროების შემთხვევაში, იქმნება საჭირო სიგრძის შემთხვევითი რიცხვები და თავსდება სპეციალურად დანიშნულ რეესტრში: 16, 32 ან 64 ბიტი, რომლებიც საბოლოოდ გადადის მათ მიერ მოთხოვნილ პროგრამაში.

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

ნებისმიერი კრიპტოგრაფიული სისტემისთვის PRNG– ების განსაკუთრებული მნიშვნელობის გამო, შეიქმნა ტესტები Secure Key– ში, შემოწმებული წარმოებული შემთხვევითი რიცხვების ხარისხის შესამოწმებლად და წამყვან ექსპერტთა ჯგუფები მონაწილეობდნენ სერთიფიცირებისთვის. მთელი დანადგარი აკმაყოფილებს ANSI X9.82 და NIST SP 800-90 სტანდარტების კრიტერიუმებს. გარდა ამისა, ეს არის NIST FIPS 140-2 დონის 2 სერტიფიკატი.

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

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

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

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

  1. სიგნალების ციფრული პოსტ-დამუშავება Intel Secure Key- დან;
  2. გამოიყენეთ გვერდითი არხი ჩანაცვლების ყუთის მეთოდის გამოყენებით.

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

საბორტო PRNG გამოყენების შესაძლებლობა RdRand ინსტრუქციის საშუალებით პირველად დაინერგა Intel Ivy Bridge პროცესორებში. Intel- მა დაწერა დეტალური სახელმძღვანელო პროგრამისტებისთვის. მათში აღწერილია კრიპტოგრაფიული ალგორითმების ოპტიმალური განხორციელების მეთოდები და მოცემულია ბმული, თუ როგორ მუშაობს Secure Key. დიდი ხნის განმავლობაში უსაფრთხოების ექსპერტების ძალისხმევა მიზნად ისახავდა პროგრამული უზრუნველყოფის ნაწილში მოწყვლადობის აღმოჩენას. შესაძლოა, პირველად, ტექნიკის დონეზე ფარული ჩარევა ბევრად უფრო საშიში და საკმაოდ განხორციელებადი ტექნოლოგია აღმოჩნდა.