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:23]
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 ======
  
-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 computer, or on an iSCSI network-attached storage (NAS) box.+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 computer, or 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.
  
-The Microsoft ​position seems to be that the definition ​of this table is confidential ​information, and that anyone ​who knows how it is constructed can have obtained such information ​only by signing ​a non-disclosure agreement.+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.
  
-This document ​exists solely to prove that this position is incorrect.+This web page exists solely to prove that the above position is incorrect.
  
-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.+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 21: 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 49: 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 59: 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.
   * It is therefore incorrect for anyone to claim 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)