ã¯ããã«
ãã®ç©èªã¯ãæªåé«ãéåœäŒæ¥ã®ã¢ãŒã±ãŒãã®ç 究ã«é¢ããèšäºãæžããçŽåŸã«å§ãŸããŸããïŒã¢ãŒã±ãŒããã·ã³ã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒ Namcoã®ããŒããã©ã€ãã«é害ãçºçããŸããïŒã¡ãŒã«ãŒããã·ã³ã«ä¿¡é Œæ§ã®ãªãSeagate 7200.12ãã€ã³ã¹ããŒã«ãããããé©ãããšã§ã¯ãããŸããïŒããã©ã€ãã¯ä»äºå ŽããåãåºãããWinHexãä»ããŠã³ããŒããããã®åŸã²ãŒã ã¯å®è¡ãåæ¢ããŸããã WinHexã®ãã£ã¹ã¯ã®ããŒã¿ç·šéãŠã£ã³ããŠã§ã®äžæ³šæãªããŒã¹ãããŒã¯ã«ãã£ãŠãã£ã¹ã¯ã®æŽåæ§ã䟵害ããããšä»®å®ãããšãå¥ã®äœæ¥ãã·ã³ããå¥ã®ãã£ã¹ã¯ãåãåºãããåæ§ã®æ¹æ³ã§ã³ããŒãããèµ·åãåæ¢ããŸããã ãã®ãšããã³ããŒä¿è·ãäœããã®åœ¢ã§ãã£ã¹ã¯ã«çµã¿èŸŒãŸããŠããããšãæããã«ãªããŸããããã ã³ã·ã¹ãã ES1
ã¢ãŒã±ãŒãã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒ 2009幎ã«ãªãªãŒã¹ãããTankïŒã¯ãIntel Q35ãããã»ãããæèŒããåœæã®æ®éã®ã³ã³ãã¥ãŒã¿ãŒã§ããSystem ES1ãã©ãããã©ãŒã ã§å®è¡ãããŸãã- ãã¶ãŒããŒãïŒSupermicro C2SBM-QïŒIntel Q35 + ICH9DOïŒ
- CPUïŒIntel Core2 Duo CPU E8400 @ 3.00GHz
- RAMïŒ2x512 MB DDR2800 MHz 1.8V
- ãããªïŒ512ã¡ã¬ãã€ãã®GDDR3ã¡ã¢ãªãæèŒããNVIDIA GeForce 9600 GT
- HDDïŒSeagate Barracuda 7200.12 160 GBïŒST3160318ASïŒãŸãã¯Hitachi Deskstar 7K1000.C 160 GBïŒHDS721016CLA382ïŒ
- ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒArcade LinuxïŒDebian 4.0ããŒã¹ïŒ
ãããã¯ãã¹ãŠããã蟌ã¿åŒ110Vé»æºãåãã倧èŠæš¡ãªã±ãŒã¹ãåããŠããŸãã
Dead Heatã«å梱ãããŠããSystem ES1ã®åçã Tankã®ES1ãªãã·ã§ã³ãšã¯ç°ãªããæ°Žå¹³ã«åãä»ããããŸãïŒ ã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒ
ES1ãã©ãããã©ãŒã ã§ã¯ãåèš9ã²ãŒã ããªãªãŒã¹ããããã®ãã¡4ã²ãŒã ã¯æ¥æ¬åœå åžå Žå°çšââã«èšèšãããŠããŸãã æåŸã®ã²ãŒã ã¯2014幎ã«ãªãªãŒã¹ãããããããã®ãã©ãããã©ãŒã ã«ã¯æ°ããã²ãŒã ã¯ãªããã®ãšæ³å®ã§ããŸãã ãã·ã¢ãšãŠã¯ã©ã€ãã®é åã§ãç§ã¯ãã£ã4ã€ã®ES1ã²ãŒã ã«äŒã£ãïŒã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒããããããŒãããããããŒãã©ã€ããŒãããªã³ã
ãã©ã¹ãããããŒããšTPM
ãã®ãã©ãããã©ãŒã ã®ç¹åŸŽã¯ããã¶ãŒããŒãã«çµã¿èŸŒãŸãããã©ã¹ããããã©ãããã©ãŒã ã¢ãžã¥ãŒã«ïŒTPMïŒæå·åãããããŒãžã§ã³1.2ã䜿çšããŠãã¹ã¿ãã£ãã¯ã«ãŒããªããã©ã¹ãïŒã¹ã¿ãã£ãã¯ã«ãŒããªããã©ã¹ãïŒã§ãããããã©ã¹ãããããŒãïŒTrusted BootïŒã䜿çšããããšã§ãã TPMã¯çŽ æŽããããã®ã§ããçç£æ®µéã§ã¡ãŒã«ãŒãé ç·ããRSAããŒãéã¶ã¹ããŒãã«ãŒãã®ãããªãã®ã§ãç¬èªã®ããŒãçæã§ããŸãããã®ãã©ã€ããŒãéšåã¯TPMããé¢ããããšã¯ãªããæ¢åã®ããŒãããŠã³ããŒãããŸããããŒãäžã®ä»»æã®ããŒã¿ïŒNVRAMïŒãä¹±æ°ãžã§ãã¬ãŒã¿ãŒããã®ä»å€æ°ã ããããTPMãæäŸããæãèå³æ·±ãã®ã¯ãä»»æã®ããŒã¿ã®SHA-1åèšã§æ¡åŒµã§ãããã©ãããã©ãŒã æ§æã¬ãžã¹ã¿ïŒPCRïŒã§ãã ãããã®ã¬ãžã¹ã¿ããªã»ããããããç®çã®å€ã«èšå®ãããããããšã¯ã§ããŸããããTPAèªäœãå€ãå€ãšæ°ããå€ã®é£çµããæ°ããSHA-1åèšãååŸããæ°ããSHA-1åèšã§ã®ã¿è£è¶³ã§ããããšã«æ³šæããããšãéåžžã«éèŠã§ãã ç°¡åã«èšãã°ãNEW_HASHãPCRã«éä¿¡ãããšãTPMã¯æ¬¡ã®ã³ãã³ããå®è¡ããŸããPCR[i] = SHA1(PCR[i] + NEW_HASH)
ãã¶ãŒããŒãã®BIOS / UEFIã¯ãTrusted Computing GroupïŒTCGïŒä»æ§ããµããŒãããŠããå Žåãã³ã³ãã¥ãŒã¿ãŒã®é»æºãå
¥ããŠããèµ·åã«é¢ä¿ãããã¹ãŠã®ãã®ã枬å®ïŒTPMããã·ã¥ã«éä¿¡ïŒããŸãïŒBIOS / UEFIããŒããããã¯ãBIOS / UEFIã UEFIãSMBIOSãµãŒãã¹ãACPIããŒãã«ããªãã·ã§ã³ROMããã€ã¹ïŒãããã¯ãŒã¯ã«ãŒããªã©ïŒãMBRãŸãã¯EFIããŒãããŒããŒããã£ã¹ã¯ããŒãã£ã·ã§ã³ãªã©ã
ïŒ Evil Maid Just Got Angrierãã ïŒ
BIOS / UEFIã¯ãMBRãŸãã¯UEFIããŒãããŒããŒãããŒããããåŸã«çºçãããã®ã枬å®ã§ããªããããLinuxã®å ŽåãããŒãå¯èœãªã«ãŒãã«ãšinitrdã¯PCRã§èæ ®ãããªããŸãŸã§ãã MBRã®åŸã«æž¬å®ãè¡ãã«ã¯ãTPMããµããŒãããéçãªä¿¡é Œã®ã«ãŒãã§ä¿¡é ŒãããããŒããå®è¡ããããŒããŒããããŸãïŒTrustedGRUBãTrustedGRUB2ãGRUB-IMAã åŸè ã¯System ES1ã§äœ¿çšãããŸãã ãããã®ããŒããŒã¯ãããã·ã¥ãTPMïŒGRUBã®å Žåã¯stage1ãšstage2ïŒã«ãèšå®ãšããŒãå¯èœãªã¢ãžã¥ãŒã«ïŒLinuxã®å Žåã¯ã«ãŒãã«ãã«ãŒãã«ã³ãã³ãã©ã€ã³ãinitrdïŒãéä¿¡ããŸãã
TPMã¯ãPCRå€ã«ãã€ã³ããããRSAããŒã䜿çšããŠä»»æã®ããŒã¿ãæå·åã§ããPCRå€ãäžèŽããå Žåã«ã®ã¿åŸ©å·åã§ããŸãã ãã®æ¹æ³ã§ããŒã¿ãæå·åãããšãBIOS / UEFIãããŒãããŒããŒãGRUBã¢ãžã¥ãŒã«ãã«ãŒãã«ãinitrdããŸãã¯ã«ãŒãã«ã®ã³ãã³ãã©ã€ã³ã®å€æŽã®å Žåã倧æåãšå°æåã®äžäžèŽã®ããã«ããŒã¿ã¯åŸ©å·åãããŸããã
ç§ã®ç¥ãéãã人æ°ã®ãããœãããŠã§ã¢ã®TPMã¯Microsoft BitLockerã§ã®ã¿äœ¿çšãããŠããŸãã TPMã¯ãããããçš®é¡ã®éè¡ã¯ã©ã€ã¢ã³ããVPNãSSHã¢ã¯ã»ã¹ã®èšŒææžã¹ãã¢ãšããŠäœ¿çšã§ããŸããã䜿çšãã人ããŠãããããã®ã³ã¹ãïŒâ10ãã«ãäžè¬çãªã¹ããŒãã«ãŒãããå®ãïŒãæ©èœãå€ãã®ã©ãããããã¢ãã«ãããã³Intelã®ææ°ã®ããã»ããµã«æ¢ã«ã€ã³ã¹ããŒã«ãããŠãããšããäºå®ã¯ãäžè¬ã«ãœãããŠã§ã¢ã¬ãã«ã§å®è£ ããã誰ã§ãå©çšã§ããŸãã
ES1ä¿è·
Namco System ES1ã«ã¯3ã€ã®ã³ããŒä¿è·ããããŸãã1ã€ç®ã¯ã ä¿¡é Œã§ããããŠã³ããŒãã®ååã§ããã²ãŒã ã®ãã¡ã€ã«ãšãªãœãŒã¹ã¯ãTPMã®ããŒã䜿çšããŠæå·åãããPCRå€ã«é¢é£ä»ããããŠããŸãã ã¡ãŒã«ãŒã¯ããã·ã³ããã€ã€ãŒã«éä¿¡ããåã«ããã·ã³äžã®ããŒã¿ã®æå·åããã»ã¹ãéå§ããŸãããã®åŸãã²ãŒã ãã£ã¹ã¯ã¯æåã«èµ·åãããã¢ãŒã±ãŒãã§ã®ã¿éå§ãããŸãã æå·åã§ã¯ãAES-256ãCBCã¢ãŒãã§äœ¿çšãããŸããããã¯ããããã¯ããã€ã¹äžã®ä»»æã®ããŒã¿ãæå·åããããã®ã«ãŒãã«ã¢ãžã¥ãŒã«ã§ããéåžžã«ã·ã³ãã«ã§çŸåšã¯å»æ¢ãããã«ãŒãAESã䜿çšããŠããŸãã ãã£ã¹ã¯ã«ã¯æå·åãããLUKSããŒãã£ã·ã§ã³ããããã²ãŒã ããŒã¿ã®ã³ããŒãæŽæ°ãä¿åããã®ä»ã®ããŒã¿ãä¿åãããŸãã
2çªç®ã®ä¿è·ã¬ãã«ã¯HDDä¿è·ã§ãã
ãã£ã¹ã¯ãã³ããŒããåŸã«ã²ãŒã ãéå§ããªãã®ã¯ãªãã§ããïŒ ããããã¡ãŒã«ãŒã¯ããã£ã¹ã¯ã®ã»ã¯ã¿ãŒããšã®ã³ããŒäžã«çºçããããã²ãŒã ãOSã«ãããã£ã¹ã¯ã®éåžžã®äœ¿çšäžã«çºçããªããã»ã¯ã¿ãŒã«ã¢ã¯ã»ã¹ãããšããŒã¿ãæ¶å»ãããã£ã¹ã¯ã³ã³ãããŒã©ãŒçšã®ãã¡ãŒã ãŠã§ã¢ãäœæããŸãããïŒ ãã ã³ãç¥ã£ãŠããã°ãPlayStation 2ïŒ ã·ã¹ãã 246 ïŒããã³3ïŒ ã·ã¹ãã 357 ïŒã«åºã¥ããŠããã€ã¹ãäœæããæ段ãå°é家ãããã³æéãããããã圌ãã¯ãã®ãããªäžæ©ãèžã¿åºãããšãã§ããŸãã
ããããããããã¹ãŠã¯åçŽã§éªæªãªå€©æã§ãããã£ã¹ã¯ã®ãã£ã¹ã¯MBRã§ã¯ããã£ã¹ã¯çœ²åãã£ãŒã«ãã«ãŒãã衚瀺ãããŸãã ãã®ãã£ã¹ã¯ãWindowsãå®è¡ããŠããã³ã³ãã¥ãŒã¿ãŒã«æ¥ç¶ãããšããã«ãŒããæ€åºãããŸãããWindowsã¯ãã£ã¹ã¯ã®äžæã®èå¥åãšããŠãã£ã¹ã¯çœ²åã䜿çšããã©ã³ãã ãªãã®ãçæããéãã«ãã£ã¹ã¯ã«æžã蟌ã¿ãŸãã ããã€ã¹ã®ãã¶ãŒããŒãã¯ãã²ãŒã ã®èªã¿èŸŒã¿äžã«MBRãèªã¿åãããã®ããã·ã¥ãTPMã«éä¿¡ããŸãã ããŒã¿ã®åŸ©å·åã«é¢ããŠã¯ãTPM PCRã¯äžèŽãããããŒã¿ã¯åŸ©å·åã§ãããã²ãŒã ã¯éå§ãããŸããã ããã¯æããã«æå³çã«è¡ãããŸãã-ãã¹ãŠã®LinuxããŒãã£ã·ã§ã³ç®¡çãŠãŒãã£ãªãã£ã¯ããŒãã§ã¯ãªãã©ã³ãã ãªãã£ã¹ã¯çœ²åãçæããŸãã
$ cmp -l mbr_working mbr_broken | gawk '{printf "%08X %02X %02X\n", $1-1, strtonum(0$2), strtonum(0$3)}' 000001B8 00 4B 000001B9 00 4D 000001BA 00 17 000001BB 00 CC
OSããŒã«ã䜿çšããŠããŒã¿ã埩å·åããããã ãã«äœ¿çšãããTPMã«å ããŠãã²ãŒã èªäœã¯USBãã³ã°ã«HASP HL Maxã䜿çšããŸã ã ããæ£ç¢ºã«ã¯ãããã¯äœ¿çšãããŸãããããã®ååšã®ã¿ããã§ãã¯ããããã®ãã§ãã¯ã¯1ã€ã®ãããã®ã¿ã§ãã€ãã¹ãããããäžè¬ã«æ§æãã¡ã€ã«ã§ç¡å¹ã«ãããŸãã ããã¯æãã§ç¡é§ã§ãããäžè¬çã«ããããªãå¿ èŠãªã®ãã¯æ確ã§ã¯ãããŸããã
ç¹çãã¹ãã¯ãBIOSãšGRUBã®ãã¹ã¯ãŒãã§ãããããã¯ãã«ãŒããã©ãŒã¹ã§ååŸã§ããŸã-ã²ãŒã ã«å¿ããŠ016ystnãŸãã¯ã¢ãŒã±ãŒã ã
æ»æãªãã·ã§ã³
ã ããç§ãã¡ã¯ïŒ- éå§ãããªããªã£ããã£ã¹ã¯ã€ã¡ãŒãž
- 2å°ã®äœæ¥æ©æ¢°
- 2å°ã®äœåäžèœãªãã·ã³
ç§ãã¡ã®ã¿ã¹ã¯ã¯ããã©ã€ããæ éããŠããåäœäžèœãªãã·ã³ã埩å ããããšã§ãã ãããè¡ãã«ã¯ãåäœäžã®ããã€ã¹ããæå·åãããŠããªã圢åŒã®æå·åãããã²ãŒã ããŒã¿ãååŸããå¿ èŠããããŸãããã®ããã«ã¯ããŸãäœããã®æ¹æ³ã§æå·åããŒãååŸããå¿ èŠããããŸãã
USBããã€ã¹ãä»ãããšã¯ã¹ããã€ã
2çªç®ã®ãªãã·ã§ã³ã¯CaiaqãµãŠã³ããšMIDIããã€ã¹ãã©ã€ããŒã§ããæ®å¿µãªãããç§ã䜿çšã§ããŸããã§ããã
ã³ãŒã«ãããŒãæ»æ
DMAæ»æ
ããŒã¿åŸ©å·å
ã¡ã¢ãªããŒã¿ã®ååŸã¯ãŸã æŠãã®ååã§ããAESããŒãèŠã€ããŠã²ãŒã ãã¡ã€ã«ã埩å·åããå¿ èŠããããŸãã æåã®ã¿ã¹ã¯ã§ã¯ãããªã³ã¹ãã³å€§åŠã®åªç§ãªäººã ãaeskeyfindãŠãŒãã£ãªãã£ãäœæããŸãããããã¯ãã€ã¡ãŒãžå šäœããã€ãåŠçããRAMã®ã©ã³ãã ããŒã¿ãAESããŒãšããŠååŸããã¡ã€ã³ããŒããååŸããŠAESã©ãŠã³ãã§äœ¿çšãããäžæçãªããŒãèŠã€ããããšããŸãããŒã¹ã±ãžã¥ãŒã«ãšåŒã°ããŸãïŒã ã¡ã¢ãªå ã«äŒŒããããªãã®ãèŠã€ãã£ãå Žå-çŽ æŽããããé©åãªæå·åããŒã®åè£ãèŠã€ãããŸããïŒ $ aeskeyfind memdump_0x0-0x100000000_20160524-172534.bin f322ee68145f5f32dea7252b2de00ff30003bb2775b7164f7211ba56fbe2012a 7523dfd705d26ce4f34ee872ec88f7ede80ac8ea0f104d3aba4a5d38bfa5849f 103687fef032a17e830b6709c29bd805
2ã€ã®256ãããããŒãš1ã€ã®128ãããããŒããããŸãã
loop-AESã§æå·åããããã¡ã€ã«ã埩å·åããããã«ãåçŽãªPythonã¹ã¯ãªãããäœæããŸããã æ¢åã®ãŠãŒãã£ãªãã£ã¯ãã¡ã€ã³ã¡ã¢ãªã§èŠã€ãã£ãããŒïŒãã¹ã¿ãŒããŒïŒã®æäœæ¹æ³ãç¥ããŸããããå ¥åãšããŠããã¹ã¯ãŒãããåãå ¥ããããããããŒçææ©èœã䜿çšããŠãã¹ã¿ãŒããŒãååŸããŸãã ããã¹ã¯ãŒãããæã£ãŠããªããããä»äººã®ãã¹ã¯ãŒããå€æŽãããããèªåã§æžãæ¹ãç°¡åã§ããããšãããããŸããã
é衚瀺ã®ããã¹ã
#!/usr/bin/env python3 import sys import struct from Crypto.Cipher import AES if len(sys.argv) < 3: print("Namco encrypted game file (.apps, LOOP-AES) decryptor.") print(sys.argv[0], "USAGE: ENCRYPTED_FILE KEY_FILE OUTPUT_FILE") print("KEY_FILE should be in binary format.") print("Use echo KEY_HERE | xxd -r -p") sys.exit(1) aesfile = open(sys.argv[1], 'rb') key = open(sys.argv[2], 'rb').read() output = open(sys.argv[3], 'wb') iv = 0 while True: enc_data = aesfile.read(512) if not enc_data: break cipher = AES.new(key=key, mode=AES.MODE_CBC, IV=struct.pack('LL', iv, 0)) output.write(cipher.decrypt(enc_data)) iv += 1
$ echo f322ee68145f5f32dea7252b2de00ff30003bb2775b7164f7211ba56fbe2012a | xxd -r -p > key $ ./decrypt.py v352us.apps key v352us.app $ file v352us.app v352us.app: Squashfs filesystem, little endian, version 3.1, 655177264 bytes, 6062 inodes, blocksize: 131072 bytes, created: Sat Nov 28 06:26:17 2009
æåã®ããŒãç»å ŽããŸããããã°ãããïŒ
å·¥å Žã§æåã«ãã·ã³ã®é»æºãå ¥ããåã®ç¶æ ã«ãã£ã¹ã¯ãäœæããããã«å¿ èŠãªãã®ã¯ãã¹ãŠæã£ãŠããŸããã€ãŸããã¡ãŒã«ãŒãšåãæ¹æ³ã§ãã¹ãŠã®Namco System ES1ãã·ã³ã埩å ã§ããŸãã
æåã®ã»ã¯ã·ã§ã³ã®ã¢ãŒã±ãŒããã£ã¬ã¯ããªãããæå·åããã* .appsãã¡ã€ã«ãš
sealkey
æå·å
sealkey
åé€ãã埩å·åããã* .appããŒã¿ãå«ããã¡ã€ã«ãã³ããŒãã空ã®
RECOVERY
ãã¡ã€ã«ãäœæããŠãã¹ã¯ãªãããèµ·åæã«åŸ©å·åããããã«ããŸãã 次ã®ãããªãã®ãåŸãããã¯ãã§ãã
p1/arcade % ls -lah total 626M drwxr-xr-x 2 root root 4.0K Jun 27 19:02 . drwxr-xr-x 7 root root 4.0K Nov 28 2009 .. -rw-r--r-- 1 root root 396 Nov 28 2009 config -rw-r--r-- 1 root root 75 Nov 28 2009 partab -rw-r--r-- 1 root root 0 Jun 27 19:02 RECOVERY -rw-r--r-- 1 root root 625M Nov 28 2009 v352us.app
2çªç®ã®ã»ã¯ã·ã§ã³ã«æ³šæããŠãã ãããããã¯ã²ãŒã ã®æŽæ°ãããã»ã¯ã·ã§ã³ã§ãã * .pkgãã¡ã€ã«ãããå Žåã¯ã
INITIALIZED
ãã¡ã€ã«ãåé€ããŠãã²ãŒã èªäœãæŽæ°ããå¿ èŠããããŸããããããªããšãå€ãããŒãžã§ã³ãååŸãããŸãã
ãã£ã¹ã¯ãSystem ES1ã«æ¥ç¶ãããã·ã³ã®é»æºãå ¥ããŠãã²ãŒã ãããèªäœãæå·åãããã¡ã€ã«ãLUKSããŒãã£ã·ã§ã³ã«ã³ããŒããæ¹æ³ã芳å¯ããŸãïŒ ãã£ãïŒ
å®éã®è©±ïŒ
Nirinãååãªç¡ç ããšã£ã2010幎ã«ã€ããŠéåžžã«æ²ãã話ããããæè¡è ãAkronisã®å©ããåããŠWindowsã§ã³ããŒãäœæããããã«å¥ã®ããã€ã¹ãã移åããŸããã 圌ã¯ã³ããŒãè¡ãããã¹ãŠãåé¡ãªãããšãå ±åããŸãã ããããã³ããŒãäœæããããšãããã£ã¹ã¯ã¯ãæ¥ç¶ãæ»ããšãæ»ã®ãã«ãŒã¹ã¯ãªãŒã³ãšããã£ã¹ã¯ã«åé¡ãããããšã瀺ããµã€ã³ã衚瀺ããŸãã é åºãªç·ã¯ããã§æ¢ãŸããã3çªç®ã®è£ 眮ã«ç»ããŸããã ç©èªã¯ç¹°ãè¿ãããŸããã ããããç§ãã¡ã®ç·ãæãããããã®ã¯äœããããŸããã圌ã¯å¥ã®éœåžã®ååã«é»è©±ããããããªã³ãããã£ã¹ã¯ãéãããã«éµéããããé Œã¿ãŸããã 4人ã®ã·ã¹ãã ãã¯å šå¡ããã³ãã³ïŒNamco European OfficeïŒã«åããŠåºçºããé åºããåã€ãšæã£ãŠããç·ããã¹ãŠç ç²ã«ããŠïŒ ãã¹ãŠã®è²»çšïŒä¿®çããã³åŸåŸ©ã®ããžã¹ãã£ã¯ã¹ïŒã«å¯ŸããŠã»ãŒ8,000ãŠãŒããé åºã§ãå®è¡å¯èœãªããã€ã¹ãæ®ã£ãŠããªãå Žåã¯ã©ããªããŸããïŒ é¢ä¿ãããŸããïŒ MBRã®ãã£ã¹ã¯èå¥åãã£ãŒã«ãã«ãŒããè¿ãã ãã§ååã§ãã ãªãã»ãã0x1B8ã«4ãã€ãã®ãŒããæžã蟌ã¿ãŸãã Linuxã§ã¯ãããã¯1ã€ã®ã³ãã³ãã§å®è¡ãããŸãã
# sudo dd if=/dev/zero of=/dev/sdX bs=1 count=4 seek=440
ãŸããWindowsã§ã¯ãããšãã°WinHexã䜿çšã§ããŸãã
ãã®åŸãã²ãŒã ãéå§ãããäžèšã®ãã¹ãŠã®æäœãå®è¡ããŠã埩å·åããããã¡ã€ã«ãååŸããæ®ãã®ããã€ã¹ã埩å ã§ããŸãã
06/25/2018 UPD ïŒæããã«ãNirinã¯System ES1ã®æåã®ã²ãŒã ã§ããããã ã³ã¯TPMã䜿çšããŠä¿è·ãæ£ããå®è£ ããæ¹æ³ãç¥ããŸããã§ããã ã²ãŒã ã¯TPMæå·åã䜿çšããŸããããTrusted Boot PCRå€ã®ç¶æ ãããã·ã¥ããããšã§ããŒãåãåããŸãã
filesystem.squashfs
ãã¡ã€ã«ãå€æŽããŠç¶æ
/sys/kernel/security/tpm0/binary_bios_measurements
ããã³
/sys/class/tpm/tpm0/pcrs
ããå ã®TPM PCRå€ãåæ§ç¯ããããšã«ãããæå·åããŒãååŸã§ããŸãã
PCRå€ãåæ§ç¯ããããã®ã¹ã¯ãªããïŒ github.com/ValdikSS/binary_bios_measurements_parser
ãããã«
Arcade Linuxã®ã¹ã¯ãªãããšãŠãŒãã£ãªãã£ã®ã¢ãŒããã¯ãã£ãšå質ã¯ãNamcoããã°ã©ããŒã«éåžžã«å¥œå°è±¡ãäžããMBRã®ãã£ã¹ã¯çœ²åããªãã¯ã¯äžè¬çã«æ²æé£è¡ã§ãã ãã¡ããããã匷åãªä¿è·ã®ããã«ãIOMMUããªã³ã«ããŠDMAæ»æãïŒã»ãŒïŒäžå¯èœã«ããæå·åããŒãRAMã§ã¯ãªãããã»ããµãããã°ã¬ãžã¹ã¿ã«æ ŒçŽããå¿ èŠããããŸãããNamco System ES1ã®ä¿è·ã¯å°ãªããšãèå³æ·±ããšæããŸããç 究ãšã¯ã©ãã¯ã¯éå±ã§ã¯ãããŸããã§ãããç»åãšåŸ©å·åãããã²ãŒã ãã¡ã€ã«ã¯ããã¿ãã©ãã«ãŒã§ããŠã³ããŒãã§ããŸãã
ã¢ãŒã±ãŒããœãããŠã§ã¢ã埩å ããå¿ èŠãããå Žåãã§ããéããæäŒãããŸã.Linuxçšã®ã¢ãŒã±ãŒãã²ãŒã ã®éçºè ïŒãã ããæã£ãŠããã®ã£ã³ãã«/ã®ã£ã³ãã«ãã·ã³ã§ã¯ãããŸããïŒïŒã®å Žåã¯ãéåžžã«è³¢ã人ã ããã¯ã©ãã¯ã§ããä¿¡é Œæ§ã®é«ãä¿è·ãæäŸã§ããããšãå¬ããæããŸãã
é衚瀺ã®ããã¹ã