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
Last revision Both sides next revision
winbootibft [2006/09/19 13:11]
mcb30
winbootibft [2006/09/19 20:03]
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 information,​ and that anyone who knows how it is constructed can have obtained such information only by signing ​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 remote computer, or on an iSCSI network-attached storage (NAS) box.
  
-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.
  

Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code winbootibft (generated for current page)