Foro de elhacker.net

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: Hason en 4 Marzo 2016, 20:06 pm



Título: Construir controlador Linux para un programa
Publicado por: Hason en 4 Marzo 2016, 20:06 pm
Hola, estoy intentando instalar un programa en linux,  pero me dice que entre otras muchas cosas, que tengo que construir un controlador para linux de la siguiente forma:

    o  #> cd source/drivers/linux
    o   #> make

El resultado del primero:

k@y:~$ cd source/drivers/linux
bash: cd: source/drivers/linux: No such file or directory

¿Me falta algo, datos, estoy haciendolo mal??

El make ya no lo hago por que no funciona.


Luego hay que cargar el driver:

 o    #> cd source/drivers/linux
 o    #> sudo bash run.sh

Pero me estoy mirando dos manuales, difieren un poco, en otro manual me viene con más comandos para hacer esto, supongo que abrá diversas formas de hacerlo , no lo se.
Ha lo de cargar el driver, y finalmente iniciar el programa, no lo he hecho por que no puedo construir el controlador, pero hasta ese punto lo he hecho todo según el manual.
Por favor ayuda.
Si es menester, puedo poner el manual.
Un saludo.




Título: Re: Construir controlador Linux para un programa
Publicado por: sodark en 4 Marzo 2016, 20:18 pm
Has mirado que directorios tienes dentro de source? Si encuentras un archivo makefile ahi, quiza tengas que hacer el make en la ruta que te indica.

Obviamente si pides ayuda es necesario que des toda la informacion posible porque sin saber que programa es, sin saber que tutoriales estas siguiendo , no sabemos nada, mas que hay una carpeta llamada sources que deberia contener una llamada drivers y dentro de esta una llamada linux y que luego tnedrias que hacer el make y no te funciona.


Título: Re: Construir controlador Linux para un programa
Publicado por: MinusFour en 4 Marzo 2016, 20:26 pm
El error es bastante simple, dice que no existe esa carpeta. ¿Si te has bajado este controlador y descomprimido dicho archivo verdad? Te recomiendo que lo descomprimas en una carpeta que no sea el home (pero si lo quieres hacer adelante). Los comandos no te construyen nada así del aire, necesitas el código fuente.


Título: Re: Construir controlador Linux para un programa
Publicado por: Hason en 4 Marzo 2016, 22:36 pm
Hola gracias por responder.
Estoy intentando instalar el programa chipsec en linux, he clonado el repositorio del programa por terminal de la página github.

Mira estoy haciendo lo que  pone en el manual del programa para instalarlo en linux, que me parece más fácil que en windows ( que también estoy mirandolo)
El manual está aquí:
https://github.com/chipsec/chipsec/blob/master/chipsec-manual.pdf

Y luego también lo miraba aquí:
https://translate.googleusercontent.com/translate_c?depth=1&hl=es&prev=search&rurl=translate.google.es&sl=en&u=https://github.com/chipsec/chipsec/wiki/Installing-CHIPSEC-in-Linux&usg=ALkJrhhnBkTQXhdUjHMZl11ctefg_uwlOQ

Pero lo tengo echo todo según el manual para linux hasta que pide clonar el repositorio de github del programa chipset, se me copia en la terminal y el siguiente paso es construir el controlador y lo siguiente que viene.

Si no es mucha molestia y no es muy complicado, podriais aclararme exactamente como hacerlo y poder correr este programa en linux??en principio, según parece, solo me queda construir el controlador, cargarlo e iniciar el programa, creo estoy cerca, luego lo que venga.

El otro enlace va más encaminado a crear un usb live con una distribución linux con el programa chipsec, no me importa hacerlo con lo que sea, pero bueno, ahora estoy  intentando instalarlo en una distribución linux, el caine 64 bits.

Un saludo.



Título: Re: Construir controlador Linux para un programa
Publicado por: MinusFour en 4 Marzo 2016, 23:34 pm
Tuviste que haberte cambiado al repositorio:

Código
  1. cd chipsec

El comando ahí funciona.

Tambien puedes moverte directamente a chipsec/source/drivers/linux.


Título: Re: Construir controlador Linux para un programa
Publicado por: Hason en 5 Marzo 2016, 00:49 am
Ole , muchas gracias MinusFour, he conseguido hacerlo, pero ahora da error cuando hago make creo, al final, dice algo de no se ha podido cargar el módulo, y luego no me inicia el programa con los comandos del manual, mira:

Código:
k@y:~$ cd chipsec
k@y:~/chipsec$ cd source/drivers/linux
k@y:~/chipsec/source/drivers/linux$ make
rm -f *.o *.ko *.mod.c Module.symvers Module.markers modules.order \.*.o.cmd \.*.ko.cmd \.*.o.d
rm -rf \.tmp_versions
rm -rf amd64/cpu.o i386/cpu.o
cd ../../tool/chipsec/helper/linux; make clean
make[1]: Entering directory `/home/k/chipsec/source/tool/chipsec/helper/linux'
rm -f *.o *.so
make[1]: Leaving directory `/home/k/chipsec/source/tool/chipsec/helper/linux'
echo

echo chipsec.o
chipsec.o
echo chipsec_km.o amd64/cpu.o
chipsec_km.o amd64/cpu.o
nasm -f elf64 -o amd64/cpu.o amd64/cpu.asm;
make -C /lib/modules/`uname -r`/build  SUBDIRS=`pwd` modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-36-generic'
  CC [M]  /home/k/chipsec/source/drivers/linux/chipsec_km.o
  LD [M]  /home/k/chipsec/source/drivers/linux/chipsec.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: could not find /home/k/chipsec/source/drivers/linux/amd64/.cpu.o.cmd for /home/k/chipsec/source/drivers/linux/amd64/cpu.o
  CC      /home/k/chipsec/source/drivers/linux/chipsec.mod.o
  LD [M]  /home/k/chipsec/source/drivers/linux/chipsec.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-36-generic'
cd ../../tool/chipsec/helper/linux; make
make[1]: Entering directory `/home/k/chipsec/source/tool/chipsec/helper/linux'
cc -I/usr/include/python2.7 -c -fPIC cores.c -o cores.o
cc cores.o -shared -o cores.so
make[1]: Leaving directory `/home/k/chipsec/source/tool/chipsec/helper/linux'
k@y:~/chipsec/source/drivers/linux$ chmod 755 run.sh
k@y:~/chipsec/source/drivers/linux$ sudo ./run.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Chipsec should only be used on test systems!
It should not be installed/deployed on production end-user systems.

There are multiple reasons for that:

1. Chipsec kernel drivers provide direct access to hardware resources to
user-mode applications (for example, access to physical memory). When installed on
production systems this could allow malware to access privileged hardware resources.

2. The driver is distributed as source code. In order to load it on Operating System
which requires kernel drivers to be signed (for example, 64 bit versions of
Microsoft Windows 7 and higher), it is necessary to enable TestSigning (or equivalent)
mode and sign the driver executable with test signature. Enabling TestSigning
(or equivalent) mode turns off an important OS kernel protection and should not be done
on production systems.

3. Due to the nature of access to hardware, if any chipsec module issues incorrect access
to hardware resources, Operating System can hang or panic.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Module: insmod chipsec.ko a1=0xffffffff8106e0b0 a2=0xffffffff81605ad0 a3=0xffffffff81605b40 : OK
Device: /dev/chipsec
k@y:~/chipsec/source/drivers/linux$ sudo make install
./run.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Chipsec should only be used on test systems!
It should not be installed/deployed on production end-user systems.

There are multiple reasons for that:

1. Chipsec kernel drivers provide direct access to hardware resources to
user-mode applications (for example, access to physical memory). When installed on
production systems this could allow malware to access privileged hardware resources.

2. The driver is distributed as source code. In order to load it on Operating System
which requires kernel drivers to be signed (for example, 64 bit versions of
Microsoft Windows 7 and higher), it is necessary to enable TestSigning (or equivalent)
mode and sign the driver executable with test signature. Enabling TestSigning
(or equivalent) mode turns off an important OS kernel protection and should not be done
on production systems.

3. Due to the nature of access to hardware, if any chipsec module issues incorrect access
to hardware resources, Operating System can hang or panic.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Module: insmod chipsec.ko a1=0xffffffff8106e0b0 a2=0xffffffff81605ad0 a3=0xffffffff81605b40 : insmod: ERROR: could not insert module chipsec.ko: File exists
make: *** [install] Error 1



Y bueno, luego al intentar iniciar el programa , no va claro, dice:

Código:
k@y:~/chipsec/source/drivers/linux$ cd source/tool sudo python chipsec_main.py
bash: cd: source/tool: No such file or directory
k@y:~/chipsec/source/drivers/linux$ sudo python chipsec_util.py
python: can't open file 'chipsec_util.py': [Errno 2] No such file or directory



Bueno, no se si he hecho algo mal o que pasa, creo que he seguido todo el manual, ojala sea alguna tonteria, volveré a repetir desde 0 otra vez otro día.

A todo esto lo he intentado con sudo make pero tampoco dice:
Código:
k@y:~/chipsec/source/drivers/linux$ sudo make
rm -f *.o *.ko *.mod.c Module.symvers Module.markers modules.order \.*.o.cmd \.*.ko.cmd \.*.o.d
rm -rf \.tmp_versions
rm -rf amd64/cpu.o i386/cpu.o
cd ../../tool/chipsec/helper/linux; make clean
make[1]: Entering directory `/home/k/chipsec/source/tool/chipsec/helper/linux'
rm -f *.o *.so
make[1]: Leaving directory `/home/k/chipsec/source/tool/chipsec/helper/linux'
echo

echo chipsec.o
chipsec.o
echo chipsec_km.o amd64/cpu.o
chipsec_km.o amd64/cpu.o
nasm -f elf64 -o amd64/cpu.o amd64/cpu.asm;
make -C /lib/modules/`uname -r`/build  SUBDIRS=`pwd` modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-36-generic'
  CC [M]  /home/k/chipsec/source/drivers/linux/chipsec_km.o
  LD [M]  /home/k/chipsec/source/drivers/linux/chipsec.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: could not find /home/k/chipsec/source/drivers/linux/amd64/.cpu.o.cmd for /home/k/chipsec/source/drivers/linux/amd64/cpu.o
  CC      /home/k/chipsec/source/drivers/linux/chipsec.mod.o
  LD [M]  /home/k/chipsec/source/drivers/linux/chipsec.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-36-generic'
cd ../../tool/chipsec/helper/linux; make
make[1]: Entering directory `/home/k/chipsec/source/tool/chipsec/helper/linux'
cc -I/usr/include/python2.7 -c -fPIC cores.c -o cores.o
cc cores.o -shared -o cores.so
make[1]: Leaving directory `/home/k/chipsec/source/tool/chipsec/helper/linux'
k@y:~/chipsec/source/drivers/linux$ cd source/tool sudo python chipsec_main.py
bash: cd: source/tool: No such file or directory
k@y:~/chipsec/source/drivers/linux$


Muchas gracias, un saludo.


Título: Re: Construir controlador Linux para un programa
Publicado por: MinusFour en 5 Marzo 2016, 01:51 am
A mi parecer el run.sh hace lo mismo que el make install. Posiblemente make install corra el run.sh, no estoy seguro. Al termino de el run.sh, se inyecta el modulo así que ya lo tienes corriendo ahí.

Fija bien lo que has hecho:

Código:
k@y:~/chipsec/source/drivers/linux$ cd source/tool sudo python chipsec_main.py

Si te das cuenta, esto tiene 0 sentido. Es más que obvio que te tienes que mover a ~/chipsec/source/tool y de ahí correr el script de python.

Porfavor reflexiona los comandos que estás poniendo en tu consola, estos comandos son de lo más básico... (cambios de directorios y correr comandos con sudo).


Título: Re: Construir controlador Linux para un programa
Publicado por: Hason en 5 Marzo 2016, 12:52 pm
Muchas gracias por la ayuda.
Desconozco muchas cosas básicas, lo siento.

He empezado con cambiarme a cd ~/chipsec/source/tool   he vuelto a cargar el módulo con sudo bash run.sh y luego me he dispuesto a iniciar el programa, que creo que ahora está bien, pero mira que dice:

Código:
k@y:~$ cd ~/chipsec/source/tool
k@y:~/chipsec/source/tool$ sudo python chipsec_main.py

****** Chipsec Linux Kernel module is licensed under GPL 2.0

################################################################
##                                                            ##
##  CHIPSEC: Platform Hardware Security Assessment Framework  ##
##                                                            ##
################################################################
[CHIPSEC] Version 1.2.2
[CHIPSEC] Arguments:

****** Chipsec Linux Kernel module is licensed under GPL 2.0

ERROR: Unsupported Platform: VID = 0x1022, DID = 0x1566
ERROR: Platform is not supported (Unsupported Platform: VID = 0x1022, DID = 0x1566).
ERROR: To run anyways please use -i command-line option




Haber si no me equivoco, creo que no funciona por utilizar una distribución linux no compatible o por que?
Si es lo anterior , entiendo que tendré que hacerlo desde una distribución soportada , según el manual, tiene que ser linux 32 bits, o Fedora 64 bits , y ahora mismo estoy con caine 6.0, que es un ubuntu 64 bits y alomejor es por eso que no funciona.

Voy a intentar a hacerlo con un usb bootable y un linux ubuntu 32bits, y si no instalare en el disco duro un ubuntu 32 bits o el fedora 64 bits.

Bueno, aparentemente, creo que el programa arrancaba.

Dice :To run anyways please use -i command-line option ; no entiendo como usar este -i command.

Muchas gracias, he avanzado mucho con esto gracias a ti MinusFour, haber si lo consigo del todo, y bueno después ir entendiendo algo el programa poco a poco.

Un saludo.


Título: Re: Construir controlador Linux para un programa
Publicado por: MinusFour en 5 Marzo 2016, 15:24 pm
Si lees los problemas que tiene el proyecto:

https://github.com/chipsec/chipsec/issues/15

Dice que la lista de dispositivos no está actualizada. La ID de tu dispositivo no figura en su lista (Creo que VID es Vendor ID y DID es Device ID).

No tienen soporte para tu dispositivo básicamente. Dice ahí que lo puedes correr con -i, pero si no lo soporta quien sabe que hará:

Código
  1. sudo python chipsec_main.py -i


Título: Re: Construir controlador Linux para un programa
Publicado por: Hason en 5 Marzo 2016, 16:46 pm
Bueno, entonces no puedo iniciarlo, sale todo de errores en rojo.
Puedo probar con otro sistema operativo, o con otro pc, o con un usb live.
No se si modificando el archivo de configuración podría iniciarse.

Estoy tratando de instalar fedora y hacerlo, y bueno supongo que con ubuntu 32 bits última versión también funcionaria o ni idea, ya lo sabré.
¿Alguna sugerencia?
Muchas gracias.
Un saludo.



El código error al correr el programa:


Código:
k@y:~/chipsec/source/tool$     sudo python chipsec_main.py -i
[*] Ignoring unsupported platform warning and continue execution

****** Chipsec Linux Kernel module is licensed under GPL 2.0

ERROR: Unable to open chipsec device. Did you run as root/sudo and load the driver?
 [Errno 2] No such file or directory: '/dev/chipsec' chipsec.helper.linux.helper
[-] Traceback (most recent call last):
  File "/home/k/chipsec/source/tool/chipsec/helper/oshelper.py", line 136, in importModule
    result = getattr( mHelper, 'get_helper' )(  )
  File "/home/k/chipsec/source/tool/chipsec/helper/linux/helper.py", line 765, in get_helper
    return LinuxHelper()
  File "/home/k/chipsec/source/tool/chipsec/helper/linux/helper.py", line 86, in __init__
    self.init()
  File "/home/k/chipsec/source/tool/chipsec/helper/linux/helper.py", line 129, in init
    raise OsHelperError("Unable to open chipsec device. Did you run as root/sudo and load the driver?\n %s"%str(e),e.errno)
OsHelperError: Unable to open chipsec device. Did you run as root/sudo and load the driver?
 [Errno 2] No such file or directory: '/dev/chipsec'

ERROR: Could not load helper for 'Linux' environment (unsupported environment?)


Título: Re: Construir controlador Linux para un programa
Publicado por: MinusFour en 5 Marzo 2016, 17:13 pm
Bueno, entonces no puedo iniciarlo, sale todo de errores en rojo.
Puedo probar con otro sistema operativo, o con otro pc, o con un usb live.
No se si modificando el archivo de configuración podría iniciarse.

Estoy tratando de instalar fedora y hacerlo, y bueno supongo que con ubuntu 32 bits última versión también funcionaria o ni idea, ya lo sabré.
¿Alguna sugerencia?
Muchas gracias.
Un saludo.



El código error al correr el programa:


Código:
k@y:~/chipsec/source/tool$     sudo python chipsec_main.py -i
[*] Ignoring unsupported platform warning and continue execution

****** Chipsec Linux Kernel module is licensed under GPL 2.0

ERROR: Unable to open chipsec device. Did you run as root/sudo and load the driver?
 [Errno 2] No such file or directory: '/dev/chipsec' chipsec.helper.linux.helper
[-] Traceback (most recent call last):
  File "/home/k/chipsec/source/tool/chipsec/helper/oshelper.py", line 136, in importModule
    result = getattr( mHelper, 'get_helper' )(  )
  File "/home/k/chipsec/source/tool/chipsec/helper/linux/helper.py", line 765, in get_helper
    return LinuxHelper()
  File "/home/k/chipsec/source/tool/chipsec/helper/linux/helper.py", line 86, in __init__
    self.init()
  File "/home/k/chipsec/source/tool/chipsec/helper/linux/helper.py", line 129, in init
    raise OsHelperError("Unable to open chipsec device. Did you run as root/sudo and load the driver?\n %s"%str(e),e.errno)
OsHelperError: Unable to open chipsec device. Did you run as root/sudo and load the driver?
 [Errno 2] No such file or directory: '/dev/chipsec'

ERROR: Could not load helper for 'Linux' environment (unsupported environment?)

Citar
ERROR: Unable to open chipsec device. Did you run as root/sudo and load the driver?

¿Corriste el run.sh con sudo primero?


Título: Re: Construir controlador Linux para un programa
Publicado por: Hason en 5 Marzo 2016, 18:42 pm
Bueno, no se muy bien que he hecho:

Creo que he vuelto a empezar ,y he hecho:
k@y:~/chipsec$ cd source/drivers/linux
k@y:~/chipsec/source/drivers/linux$ sudo make

Y creo que así se a cargado el driver, he hecho el comando  sudo run.sh pero ya me decia que estaba el módulo cargado, hecho con el sudo make, se puede hacer de varias formas.

Luego me he ido a  cd ~/chipsec/source/tool y e iniciado con k@y:~/chipsec/source/tool$ sudo python chipsec_main.py -i y  tachan se a iniciado.

Da información, sale en letras de colores muy facil de ver, pero aquí saldra todo con el mismo color de texto, me encuentra errores en rojo, y varios chequeos skiped.

Ya deberé mirarme todas las opciones y todo para aprender lo que pueda.

Ahora creo que ya funciona el programa , aunque de error de plataforma no soportada, no se si puede hacerse algo más, de momento me doy con un canto en los dientes.

Creo que no funcionaba por que cargaba el driver desde ~/chipsec/source/tool , y se tenía que hacer desde ~/chipsec/source/drivers/linux

Muchas gracias , un saludo.

Bueno, si alguien puede aportar algo sobre este log y explicarme algo por encima, sería estupendo, creo que puede servirle a mucha gente que quiera analizar su bios y firmware.



El resultado:

Código:
[k@y:~/chipsec/source/tool$ sudo python chipsec_main.py

****** Chipsec Linux Kernel module is licensed under GPL 2.0

################################################################
##                                                            ##
##  CHIPSEC: Platform Hardware Security Assessment Framework  ##
##                                                            ##
################################################################
[CHIPSEC] Version 1.2.2
[CHIPSEC] Arguments:

****** Chipsec Linux Kernel module is licensed under GPL 2.0

ERROR: Unsupported Platform: VID = 0x1022, DID = 0x1566
ERROR: Platform is not supported (Unsupported Platform: VID = 0x1022, DID = 0x1566).
ERROR: To run anyways please use -i command-line option


k@y:~/chipsec/source/tool$ sudo python chipsec_main.py -i
[*] Ignoring unsupported platform warning and continue execution

****** Chipsec Linux Kernel module is licensed under GPL 2.0

################################################################
##                                                            ##
##  CHIPSEC: Platform Hardware Security Assessment Framework  ##
##                                                            ##
################################################################
[CHIPSEC] Version 1.2.2
[CHIPSEC] Arguments: -i

****** Chipsec Linux Kernel module is licensed under GPL 2.0

ERROR: Unsupported Platform: VID = 0x1022, DID = 0x1566
ERROR: Platform is not supported (Unsupported Platform: VID = 0x1022, DID = 0x1566).
WARNING: Platform dependent functionality is likely to be incorrect
[CHIPSEC] OS      : Linux 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64
[CHIPSEC] Platform: UnknownPlatform
[CHIPSEC]      VID: 1022
[CHIPSEC]      DID: 1566
 
[*] loading common modules from "./chipsec/modules/common" ..
[+] loaded chipsec.modules.common.bios_wp
[+] loaded chipsec.modules.common.bios_kbrd_buffer
[+] loaded chipsec.modules.common.spi_lock
[+] loaded chipsec.modules.common.spi_desc
[+] loaded chipsec.modules.common.smm
[+] loaded chipsec.modules.common.bios_smi
[+] loaded chipsec.modules.common.smrr
[+] loaded chipsec.modules.common.bios_ts
[+] loaded chipsec.modules.common.secureboot.variables
[+] loaded chipsec.modules.common.uefi.access_uefispec
[+] loaded chipsec.modules.common.uefi.s3bootscript
[*] No platform specific modules to load
[*] loading modules from "./chipsec/modules" ..
[+] loaded chipsec.modules.module_template
[+] loaded chipsec.modules.remap
[+] loaded chipsec.modules.smm_dma
[*] running loaded modules ..

[*] running module: chipsec.modules.common.bios_wp
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/common/bios_wp.py
[x][ =======================================================================
[x][ Module: BIOS Region Write Protection
[x][ =======================================================================
[*] BC = 0xFF << BIOS Control (b:d.f 00:31.0 + 0xDC)
    [00] BIOSWE           = 1 << BIOS Write Enable
    [01] BLE              = 1 << BIOS Lock Enable
    [02] SRC              = 3 << SPI Read Configuration
    [04] TSS              = 1 << Top Swap Status
    [05] SMM_BWP          = 1 << SMM BIOS Write Protection
[-] BIOS region write protection is disabled!

[*] BIOS Region: Base = 0x00068000, Limit = 0x00300FFF
SPI Protected Ranges
------------------------------------------------------------
PRx (offset) | Value    | Base     | Limit    | WP? | RP?
------------------------------------------------------------
PR0 (74)     | 00FF8110 | 00110000 | 000FF000 | 0   | 1
PR1 (78)     | 75FFF5FF | 075FF000 | 075FF000 | 0   | 1
PR2 (7C)     | FFE0BFEA | 03FEA000 | 07FE0000 | 1   | 1
PR3 (80)     | 03EBFFF5 | 07FF5000 | 003EB000 | 0   | 1
PR4 (84)     | FF04C783 | 04783000 | 07F04000 | 1   | 1

[!] None of the SPI protected ranges write-protect BIOS region

[!] BIOS should enable all available SMM based write protection mechanisms or configure SPI protected ranges to protect the entire BIOS region
[-] FAILED: BIOS is NOT protected completely

[*] running module: chipsec.modules.common.bios_kbrd_buffer
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/common/bios_kbrd_buffer.py
[x][ =======================================================================
[x][ Module: Pre-boot Passwords in the BIOS Keyboard Buffer
[x][ =======================================================================
[*] Keyboard buffer head pointer = 0x20 (at 0x41A), tail pointer = 0x20 (at 0x41C)
[*] Keyboard buffer contents (at 0x41E):
0d 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
[-] Keyboard buffer tail points inside the buffer (= 0x20)
    It may potentially expose lengths of pre-boot passwords. Was your password 2 characters long?
[*] Checking contents of the keyboard buffer..

[!] WARNING: Keyboard buffer is not empty. The test cannot determine conclusively if it contains pre-boot passwords.
    The contents might have not been cleared by pre-boot firmware or overwritten with garbage.
    Visually inspect the contents of keyboard buffer for pre-boot passwords (BIOS, HDD, full-disk encryption).

[*] running module: chipsec.modules.common.spi_lock
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/common/spi_lock.py
[x][ =======================================================================
[x][ Module: SPI Flash Controller Configuration Lock
[x][ =======================================================================
[*] HSFS = 0x0443 << Hardware Sequencing Flash Status Register (SPIBAR + 0x4)
    [00] FDONE            = 1 << Flash Cycle Done
    [01] FCERR            = 1 << Flash Cycle Error
    [02] AEL              = 0 << Access Error Log
    [03] BERASE           = 0 << Block/Sector Erase Size
    [05] SCIP             = 0 << SPI cycle in progress
    [13] FDOPSS           = 0 << Flash Descriptor Override Pin-Strap Status
    [14] FDV              = 0 << Flash Descriptor Valid
    [15] FLOCKDN          = 0 << Flash Configuration Lock-Down
[-] FAILED: SPI Flash Controller configuration is not locked

[*] running module: chipsec.modules.common.spi_desc
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/common/spi_desc.py
[x][ =======================================================================
[x][ Module: SPI Flash Region Access Control
[x][ =======================================================================
[*] FRAP = 0x83241C01 << SPI Flash Regions Access Permissions Register (SPIBAR + 0x50)
    [00] BRRA             = 1 << BIOS Region Read Access
    [08] BRWA             = 1C << BIOS Region Write Access
    [16] BMRAG            = 24 << BIOS Master Read Access Grant
    [24] BMWAG            = 83 << BIOS Master Write Access Grant
[*] Software access to SPI flash regions: read = 0x01, write = 0x1C

[+] PASSED: SPI flash permissions prevent SW from writing to flash descriptor

[*] running module: chipsec.modules.common.smm
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/common/smm.py
[x][ =======================================================================
[x][ Module: Compatible SMM memory (SMRAM) Protection
[x][ =======================================================================
[*] PCI0.0.0_SMRAMC = 0x00 << System Management RAM Control (b:d.f 00:00.0 + 0x88)
    [00] C_BASE_SEG       = 0 << SMRAM Base Segment = 010b
    [03] G_SMRAME         = 0 << SMRAM Enabled
    [04] D_LCK            = 0 << SMRAM Locked
    [05] D_CLS            = 0 << SMRAM Closed
    [06] D_OPEN           = 0 << SMRAM Open
[*] Compatible SMRAM is not enabled. Skipping..

[*] running module: chipsec.modules.common.bios_smi
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/common/bios_smi.py
[x][ =======================================================================
[x][ Module: SMI Events Configuration
[x][ =======================================================================
[+] SMM BIOS region write protection is enabled (SMM_BWP is used)

[*] Checking SMI enables..
    Global SMI enable: 1
    TCO SMI enable   : 1
[+] All required SMI events are enabled

[*] Checking SMI configuration locks..
[+] TCO SMI configuration is locked (TCO SMI Lock)
[+] SMI events global configuration is locked (SMI Lock)

[+] PASSED: All required SMI sources seem to be enabled and locked

[*] running module: chipsec.modules.common.smrr
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/common/smrr.py
[x][ =======================================================================
[x][ Module: CPU SMM Cache Poisoning / System Management Range Registers
[x][ =======================================================================
[!] CPU does not support SMRR range protection of SMRAM
[*] SKIPPED: CPU does not support SMRR range protection of SMRAM

[*] running module: chipsec.modules.common.bios_ts
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/common/bios_ts.py
[x][ =======================================================================
[x][ Module: BIOS Interface Lock and Top Swap Mode
[x][ =======================================================================
[*] BC = 0xFF << BIOS Control (b:d.f 00:31.0 + 0xDC)
    [00] BIOSWE           = 1 << BIOS Write Enable
    [01] BLE              = 1 << BIOS Lock Enable
    [02] SRC              = 3 << SPI Read Configuration
    [04] TSS              = 1 << Top Swap Status
    [05] SMM_BWP          = 1 << SMM BIOS Write Protection
[*] BIOS Top Swap mode is enabled
[*] BUC = 0x200F0000 << Backed Up Control (RCBA + 0x3414)
    [00] TS               = 0 << Top Swap
[*] RTC version of TS = 0
[*] GCS = 0x0355E900 << General Control and Status (RCBA + 0x3410)
    [00] BILD             = 0 << BIOS Interface Lock Down
    [10] BBS              = 2 << Boot BIOS Straps

[-] FAILED: BIOS Interface is not locked (including Top Swap Mode)

[*] running module: chipsec.modules.common.secureboot.variables
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/common/secureboot/variables.py
[*] SKIPPED: OS does not support UEFI Runtime API
Skipping module chipsec.modules.common.secureboot.variables since it is not supported in this platform

[*] running module: chipsec.modules.common.uefi.access_uefispec
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/common/uefi/access_uefispec.py
[*] SKIPPED: OS does not support UEFI Runtime API
Skipping module chipsec.modules.common.uefi.access_uefispec since it is not supported in this platform

[*] running module: chipsec.modules.common.uefi.s3bootscript
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/common/uefi/s3bootscript.py
[*] SKIPPED: OS does not support UEFI Runtime API
Skipping module chipsec.modules.common.uefi.s3bootscript since it is not supported in this platform

[*] running module: chipsec.modules.module_template
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/module_template.py
Skipping module chipsec.modules.module_template since it is not supported in this platform

[*] running module: chipsec.modules.remap
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/remap.py
Skipping module chipsec.modules.remap since it is not supported in this platform

[*] running module: chipsec.modules.smm_dma
[*] Module path: /home/k/chipsec/source/tool/chipsec/modules/smm_dma.py
[x][ =======================================================================
[x][ Module: SMM TSEG Range Configuration Check
[x][ =======================================================================
/code]