Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
winbootibft [2006/09/19 13:11]
mcb30
winbootibft [2006/09/20 06:17] (current)
mcb30
Line 1: Line 1:
 ====== Decoding the iSCSI Boot Firmware Table ====== ====== Decoding the iSCSI Boot Firmware Table ======
  
-Microsoft ​has recently raised objections to the publication of information describing the iSCSI Boot Firmware Table (iBFT).  ​They believe that the definition of this table is confidential informationand that anyone who knows how it is constructed can have obtained such information only by signing a non-disclosure agreement.+Representatives of Microsoft ​have recently raised objections to the publication of information describing the iSCSI Boot Firmware Table (iBFT).  ​The iBFT is a data structure used when Windows is booted from an iSCSI disk hosted on a remote computeror on an iSCSI network-attached storage (NAS) box; a high-level overview ​is published ​by Microsoft at http://​download.microsoft.com/​download/​5/​b/​9/​5b97017b-e28a-4bae-ba48-174cf47d23cd/​STO026_WH06.ppt.
  
-This document exists solely ​to prove that this belief is false.+The Microsoft representatives seem to have taken the position ​that the details of this table are confidential,​ and that anyone with knowledge of its structure must have been privy to information covered by a non-disclosure agreement.
  
-Without revealing any information about the structure ​of the iSCSI Boot Firmware Table, we will demonstrate that it is trivial to decode, ​using tools published by Microsoft for this explicit ​purpose.+This web page exists solely to prove that the above position is incorrect. 
 + 
 +Without revealing any information about its structure, we will show that the iSCSI Boot Firmware Table may be decoded ​using tools published by Microsoft for this exact purpose.
  
 ==== Step 1: Obtain the boot-capable Microsoft iSCSI initiator ==== ==== Step 1: Obtain the boot-capable Microsoft iSCSI initiator ====
  
-This is available from several sources, including Microsoft ​themselves.  For this demonstration,​ we chose to purchase a copy of winBoot/i from [[http://​www.emboot.com|emBoot]]. ​ Here is the emBoot download page:+This is available from several sources, including Microsoft ​itself.  For this demonstration,​ we chose to purchase a copy of [[http://​www.emboot.com|emBoot's]] winBoot/i software, which includes a copy of the boot-capable Microsoft iSCSI initiator.  Here is the emBoot download page:
  
 {{ iscsiboot/​emboot-download-page.png?​200x150 }} {{ iscsiboot/​emboot-download-page.png?​200x150 }}
Line 19: Line 21:
 ==== Step 2: Install the boot-capable Microsoft iSCSI initiator ==== ==== Step 2: Install the boot-capable Microsoft iSCSI initiator ====
  
-The zip file contains an executable named WBI_CLIENT_X86_V1_50_B13.EXE.rename. ​ We copied this file out of the archive ​and renamed it to WBI_CLIENT_X86_V1_50_B13.EXE,​ and ran it:+The zip file contains an executable named WBI_CLIENT_X86_V1_50_B13.EXE.rename. ​ We copied this file out of the archiverenamed it to WBI_CLIENT_X86_V1_50_B13.EXE,​ and ran it:
  
 {{iscsiboot/​emboot-client-setup1.png?​200x150 }} {{iscsiboot/​emboot-client-setup1.png?​200x150 }}
Line 47: Line 49:
 {{ iscsiboot/​iscsibcg-options.png?​200x150 }} {{ iscsiboot/​iscsibcg-options.png?​200x150 }}
  
-The tool helpfully ​even gave the command which we needed to run in order to view the iSCSI Boot Firmware Table, which was+Helpfully, the tool even gave the command which we needed to run in order to view the iSCSI Boot Firmware Table, which was
  
   iscsibcg /ShowiBF   iscsibcg /ShowiBF
Line 57: Line 59:
 ==== Conclusions ==== ==== Conclusions ====
  
-  * At no point during this process did we have to sign any non-disclosure agreement with Microsoft or any other party.+  * At no point during this process did we need to sign any non-disclosure agreement with Microsoft or any other party.
   * At no point during this process did we reverse-engineer any piece of software or use it for anything other than its explicitly stated purpose, according to its own documentation.   * At no point during this process did we reverse-engineer any piece of software or use it for anything other than its explicitly stated purpose, according to its own documentation.
-  * The information obtained from this process is completely ​sufficient ​for a programmer ​wishing ​to write code to generate ​or parse an iSCSI Boot Firmware Table. +  * The information obtained from this process is entirely ​sufficient ​to allow a programmer to write code for generating ​or parsing ​an iSCSI Boot Firmware Table. 
-  * Microsoft ​is therefore incorrect ​in claiming ​that the structure of the iSCSI Boot Firmware Table is confidential information.+  * It is therefore incorrect ​for anyone to claim that the structure of the iSCSI Boot Firmware Table is confidential information.
  

QR Code
QR Code winbootibft (generated for current page)