Skip navigation

 
MICROSOFT JET

 

Apesar de diversos comentarios en la web, Microsoft insiste en que el riesgo de este fallo es limitado, ya que la explotación del mismo requiere la interacción del usuario.

La compañía dice que solo ha recibido reportes de ataques dirigidos a blancos específicos que pretenden aprovecharse del fallo. No hay evidencias de que estos ataques puedan ser realizados a gran escala.

La vulnerabilidad, del tipo desbordamiento de búfer, se produce en el motor del Microsoft Jet Database y puede ser explotada a través de Microsoft Word. Microsoft está investigando si otras aplicaciones también pueden ser utilizadas para explotar la vulnerabilidad.

Microsoft Jet Database es una implementación de base de datos ampliamente utilizada por las aplicaciones de Microsoft Office. Permite la conectividad entre distintas aplicaciones, sin importar su tipo ni ubicación, y puede ser utilizado por Microsoft Access, Microsoft Visual Basic, etc.

Según Microsoft, los usuarios que ejecuten Windows Server 2003 Service Pack 2, Windows Vista, y Windows Vista Service Pack 1, no son vulnerables, ya que estos sistemas utilizan una versión de Microsoft Jet Database que no es afectada.

Quienes utilicen Microsoft Word 2000 SP3, Microsoft Word 2002 SP3, Microsoft Word 2003 SP2, Microsoft Word 2003 SP3, Microsoft Word 2007 y Microsoft Word 2007 SP1 sobre Microsoft Windows 2000, Windows XP o Windows Server 2003 SP1 son vulnerables a estos ataques.

Descripcin rápida

Microsoft Jet 4.0 Service Pack 8 (SP8) proporciona las actualizaciones más recientes para el motor de base de datos Microsoft Jet 4.0 con Windows XP

 

 

El jet es el motor de base de datos detrás del acceso de Microsoft.

Microsoft echa en chorro motor de base de datos es un motor de base de datos el cual varios productos de Microsoft fueron empleados. Un motor de base de datos es el componente subyacente de una base de datos, una colección de información almacenada en una computadora en una manera sistemática. La primera versión del jet fue desarrollada en 1992, consistiendo en tres módulos que se podrían utilizar para manipular una base de datos.

El JET representa tecnología común del motor, a veces siendo referido como el motor de JET de Microsoft o simplemente jet. Microsoft Access y Visual Basic utilizan o han utilizado el jet como su motor de base de datos subyacente. Ha sido reemplazado desde entonces, sin embargo, primero por el motor de Microsoft Desktop (MSDE), después más adelante por la edición expresa del servidor 2005 del SQL y recientemente por la edición compacta del servidor 2005 del SQL, y existe no más como un componente de los componentes del acceso de datos de Microsoft (MDAC). Para necesidades más grandes de la base de datos, las bases de datos del jet se pueden aumentar (o en el lenguaje de Microsoft, “para arriba-clasificado”) al producto de la base de datos del buque insignia de Microsoft, servidor 2005 del SQL.

Durante los años, el jet ha llegado a ser casi sinónimo con Microsoft Access, al grado donde mucha gente refiere incorrectamente a una base de datos del jet como “base de datos del acceso”. [citación necesaria] incluso Microsoft ellos mismos hace esto a veces, pero esta nomenclatura se debe considerar siempre como incorrecta. El jet es una base de datos y el acceso es una herramienta del desarrollo de aplicaciones de la base de datos.

 

Arquitectura

El jet permitió la manipulación de la base de datis relacional y era parte de un sistema de gestión de la base de datis relacional (RDBMS). Ofreció un solo interfaz que el otro software podría utilizar para tener acceso a las bases de datos de Microsoft y con tal que ayuda para la seguridad, la integridad de referencia, el tratamiento transaccional, poner en un índice, el expediente y la página trabándose, y la réplica de los datos. En versiones posteriores, el motor fue ampliado para poder funcionar con preguntas del SQL, almacenar datos de carácter en el formato de Unicode, crear opiniones de la base de datos y permitió la réplica bidireccional con el servidor de Microsoft SQL.

Había tres módulos a echar en chorro: Uno era el conductor nativo del ISAM del jet, una biblioteca de acoplamiento dinámico (DLL) que podría manipular directamente los archivos de base de datos de Microsoft Access (MDB) usando el método de acceso secuencial puesto en un índice (ISAM). Otro de los módulos contuvo los conductores del ISAM, DLLs que permitió el acceso a una variedad de bases de datos del ISAM, entre ellas que eran Xbase, paradoja, Btrieve y FoxPro. El módulo final era el DLL de los objetos del acceso de datos (DAO). DAO proporcionó un sistema de los métodos que permitieron que los programadores tuvieran acceso a bases de datos del JET usando Visual Basic para los lenguajes de programación de los usos y de Visual Basic.

Fijación

El jet permitió que los usuarios múltiples tuvieran acceso a la base de datos concurrentemente. Para prevenir que echen en chorro los datos de la corrupción o invalidación de cuando los usuarios múltiples intentaron escribir a la base de datos, empleado datos escriba la fijación de la política. Cualquier solo usuario podría modificar solamente esos expedientes de base de datos (es decir, artículos en la base de datos) a los cuales habían aplicado una cerradura que les dio el acceso exclusivo al expediente hasta que la cerradura fuera lanzada. Hasta el jet 4, una página que trababa el modelo fue utilizada, y en el jet 4 un modelo de la fijación de registro fue empleado. Las bases de datos de Microsoft se organizan en los datos “paginan”, que son la longitud fija (kB 2 antes del jet 4, kB 4 en las estructuras de datos del jet 4) que dividen encima de la base de datos. Los datos se almacenan en “expedientes”, pero éstos están de longitud variable y así que pueden tomar menos o más de una página. La página que trababa el modelo trabajó trabando las páginas, en vez de los expedientes individuales, que aunque menos intensivo del recurso también significado que más de un expediente se pudo trabar a cualquier momento.

Había dos mecanismos que Microsoft utilizó para trabarse: fijación pesimista, y fijación optimista. Con la fijación pesimista, el expediente o la página se traba inmediatamente cuando se pide la cerradura, mientras que con la fijación optimista, se retrasa la actualización hasta que todas las operaciones que corregían en el expediente se hayan terminado. Los conflictos son menos probables ocurrir con la fijación optimista, puesto que el expediente se traba solamente por un corto período de tiempo. Sin embargo, con de fijación el optimista no puede estar seguro que la actualización tendrá éxito porque otro usuario podría poner al día el primer de registro. Con la fijación pesimista, la actualización se garantiza para tener éxito una vez que se obtiene la cerradura. Otros usuarios deben esperar hasta que se haga la actualización y la cerradura lanzada para realizar sus cambios. Trabe los conflictos, que requiera al usuario esperar, o cause la petición de fallar (generalmente después de un descanso) son más común con la fijación pesimista.

Tratamiento transaccional

El jet apoyó el tratamiento transaccional para los sistemas de base de datos que tenían esta capacidad (los sistemas de ODBC tenían un tratamiento transaccional llano, mientras que varios sistemas del ISAM como paradoja no tenían capacidad del tratamiento transaccional). Una transacción es una serie de operaciones realizadas en una base de datos que deba ser hecha junta – esto se conoce como atomicidad y es una parte de ÁCIDO (atomicidad, consistencia, aislamiento, y durabilidad), conceptos considerados ser las características dominantes del tratamiento transaccional de un sistema de gestión de la base de datos. Para que el tratamiento transaccional trabaje (hasta el jet 3.0), el programador necesario para comenzar la transacción manualmente, realiza las operaciones necesarias para ser realizado en la transacción, y después confía (excepto) la transacción. Hasta que la transacción esté confiada, los cambios se realizan solamente en memoria y se escriben no realmente al disco. [1] Las transacciones tienen un número de ventajas sobre actualizaciones independientes de la base de datos. Una de las ventajas principales es que las transacciones pueden ser abandonadas si un problema ocurre durante la transacción. Esto se llama la parte posterior del balanceo la transacción, o apenas la restauración no actualizada, y restaura el estado de los expedientes de base de datos exacto al estado antes de que la transacción comenzara. Las transacciones también permiten que el estado de la base de datos siga siendo constante si un fallo del sistema ocurre en el medio de una secuencia de actualizaciones requeridas ser atómico. No hay ocasión que solamente algunas de las actualizaciones terminarán descrito a la base de datos; o todos tendrán éxito, o los cambios serán desechados cuando los recomenzar de sistema de base de datos. Con la política de la en-memoria de ODBC, las transacciones también permiten muchas actualizaciones a un expediente ocurrir enteramente dentro de memoria, con solamente un disco costoso escriben en el extremo.

Las transacciones implícitas fueron apoyadas en el jet 3.0. Éstas son las transacciones que se comienzan automáticamente después de que la transacción pasada fuera confiada a la base de datos. Las transacciones implícitas en jet ocurrieron cuando una declaración del SQL DML fue publicada. Sin embargo, fue encontrado que esto tenía un impacto negativo del funcionamiento en 32 el pedacito Windows (Windows 95, Windows 98), así que en el jet 3.5 Microsoft quitó transacciones implícitas cuando las declaraciones del SQL DML fueron hechas. [2]

Integridad de datos

Un ejemplo de una base de datos que no ha hecho cumplir integridad de referencia. En este ejemplo, hay un valor dominante extranjero (del artist_id) en la tabla del álbum que se refiere a un artista no existente – es decir hay un valor dominante extranjero sin valor dominante primario correspondiente en la tabla referida. Qué sucedió aquí era que había artista llamado “Aerosmith”, con un artist_id de “4”, que fue suprimido de la tabla del artista. Sin embargo, el álbum come a los ricos refirió a este artista. Con la integridad de referencia hecha cumplir, esto no habría sido posible.

El jet hace cumplir integridad de la entidad e integridad de referencia. La integridad de la entidad es uno de los conceptos dominantes de bases de datis relacionales, y se asegura de que no hay expediente ser duplicado y también se asegura de que ningún campo (o grupo de campos) que identifiquen el expediente (la llave primaria) sea NULO. Así, el jet apoya llaves primarias. La integridad de referencia es donde los campos que identifican los datos que existen en una tabla de base de datos (la llave extranjera) deben corresponder con una llave primaria existente en esa base de datos. Si existe un valor dominante extranjero que no tiene una llave primaria correspondiente en la tabla referida, después la integridad de referencia está quebrada y los datos entre las tablas serán sincronizados no más.

El jet también apoya las “reglas de negocio” (también conocidas como “apremios”), o las reglas que se aplican a cualquier columna para hacer cumplir qué datos se pudieron poner en la tabla o la columna. Por ejemplo, una regla pudo ser aplicada que no permite que una fecha sea incorporada en una columna date_logged que sea anterior que la fecha actual y la hora, o una regla pudo ser aplicada que fuerza a gente a incorporar un valor positivo en solamente un campo numérico.

Seguridad

Tenga acceso a las bases de datos del jet se hace en a por user-level. La información de usuario se mantiene una base de datos de sistema separada, y el acceso es controlado en cada objeto en el sistema (por ejemplo por la tabla o por pregunta). En el jet 4, Microsoft ejecutó la funcionalidad que permitió que los administradores de base de datos fijaran seguridad vía los comandos de SQL CREA, AGREGA, ALTERA, USUARIO de la GOTA y GRUPO de la GOTA. Estos comandos eran un subconjunto de estándar del ANSI SQL 92, y también se aplicaron a los comandos de GRANT/REVOKE. [1] Cuando el jet 2 fue lanzado, la seguridad se podría también fijar programmatically con DAO.

Historia

Jet DLLs

Versión del jet

Motor de jet

Nombre de fichero del DLL

Versión de MDB

1.1

1.10.0001

MSAJT110.DLL

1.0/1.1

2.0 (comlyr)

2.00.0000

MSAJT200.DLL

1.0/1.1/2.0

2.5 (accsvc)

2.50.1606

MSAJT200.DLL

1.0/1.1/2.0/3.0

2.5 (VB4 16)

2.50.1606

MSAJT200.DLL

1.0/1.1/2.0/3.0

3.0

3.0.0.211 8

MSJT3032.DLL

1.0/1.1/2.0/3.0

3.5

 

MSJET35.DLL

1.0/1.1/2.0/3.0

4.0 (SP8)

4.0.8015.0

MSJET40.DLL

1.0/1.1/2.0/3.0/4.0

Fuentes:

Uso/versión

Versión del jet

Microsoft Access 1.0

1.0

Microsoft Access 1.1

1.1

Microsoft Access 2.0

2.0

Microsoft Access 2.0

2.5 con Microsoft Access Service Pack

Microsoft Access 7.0

3.0

Microsoft Access 97

3.5 con Office 97

Microsoft Access 97 SR1

3.5 con la oficina 97SR1

Visual Basic 3.0

1.1

Visual Basic 3.0

2.0 con capa de la compatibilidad de Visual Basic

Visual Basic 3.0

2.5 con Microsoft Access Service Pack

Visual Basic 4.0 de 16 bits

2.5

Visual Basic 4.0 de 32 bits

3.0

Visual Basic 5.0 de 32 bits

3.0

Visual Basic 5.0 de 32 bits

3.5

Visual C++ 4.X

3.0

Visual C++ 5.0

3.5

Jet 3.51 (transferencia directa de la tela)

3.51 (3.5 compatibles binarios)

Edición estándar de Microsoft Access 2000
Edición estándar de Microsoft Access 2002
Edición estándar de Microsoft Access 2003

4.0

Fuentes:

El jet comenzó originalmente en 1992 mientras que una tecnología subyacente que vino de un proyecto interno del desarrollo de productos de la base de datos de Microsoft, código del acceso de datos nombró a Cirrus. El cirro fue desarrollado de pre-lanza la versión del código de Visual Basic y fue utilizado como el motor de base de datos de Microsoft Access. Tony Goodhew, que trabajó para Microsoft en ese entonces, dice

“Sería razonablemente exacto decir eso para arriba hasta que ese jet de la etapa fuera más el nombre del equipo que fue asignado al trabajo sobre los módulos del motor del DB del acceso algo que un equipo componente. Para VB [Visual Basic] 3.0 tuvieron que rasgarlo básicamente del acceso e injertarlo sobre VB. Ése es porqué han tenido todos esos problemas de Jet/ODBC en VB 3.0.”

El jet 2.0 fue lanzado como varias bibliotecas ligadas dinámicas (DLLs) que fueron utilizadas por el programa para de aplicaciones, tal como base de datos del acceso de Microsoft. DLLs en Windows es “bibliotecas” del código común que se puede utilizar por más de uno uso-por la custodia del código que más de un uso utiliza debajo de una biblioteca común que cada uno de estos usos pueda utilizar independientemente cifre mantenimiento se reduzca y de la funcionalidad de los aumentos de los usos, con menos esfuerzo de desarrollo. Los tres DLLs que fueron abarcados por Jet 2.0 eran el DLL del jet, el DLL de los objetos del acceso de datos (DAO) y vario el external ISAM DLLs. El DLL del jet determinó qué clase de base de datos tenía acceso, y cómo realizarse lo que fue pedido de él. Si la fuente de datos fuera un archivo de MDB (un formato de Microsoft Access) entonces leería y escribiría directamente los datos al archivo. Si la fuente de datos fuera externa, después llamaría en el conductor correcto de ODBC para realizar su petición. El DLL de DAO era un componente que los programadores podrían utilizar para interconectar con el motor de jet, y uso principal por los programadores básicos de Visual Basic y del acceso. El ISAM DLLs era un sistema de los módulos que permitieron que el jet tuviera acceso a tres bases de datos basadas ISAM: Xbase, paradoja y Btrieve.

Echan en chorro 3.0 incluyeron muchos realces, incluyendo una nueva estructura de índice que redujo tamaño del almacenaje y el tiempo que fue llevado para crear los índices que se duplican altamente, el retiro de bloqueos de lectura en las páginas de índice, un nuevo mecanismo para la reutilización de la página, un nuevo método de condensación para el cual la condensación de la base de datos dio lugar a los índices que eran almacenados en un formato del arracimar-índice, un nuevo mecanismo de la asignación de la página para mejorar las capacidades del read-ahead del jet, las operaciones mejoradas que apresuraron el proceso, multithreading (tres hilos de rosca fueron utilizados para realizarse leído a continuación, para escribir detrás, y mantenimiento del escondrijo), transacciones implícitas de la cancelación (los usuarios no tuvieron que dar instrucciones el motor para comenzar manualmente y para confiar transacciones a la base de datos), un nuevo motor de la clase, los valores largos (tales como notas o tipos de datos binarios) fue almacenada en tablas separadas, y el buffering dinámico (por el que el escondrijo del jet fuera asignado dinámicamente en no comience para arriba y tuviera ningún límite y que cambió de un primer adentro, primero hacia fuera (primero en entrar, primero en salir) proteja la política del reemplazo a una política (DE LRU) lo más menos posible usada recientemente del reemplazo del almacenador intermediario). [3] Jet 3.0 también permitido para la réplica de la base de datos.

El jet 4.0 era la versión pasada producida por Microsoft. Tenía características y realces adicionales numerosos. [1]

  • Ayuda del almacenaje del carácter de Unicode, junto con un método de clasificación del NT que también fue ejecutado en la versión de Windows 95;
  • Cambios a los tipos de datos a estar más bién el servidor del SQL (LongText o nota; Binario; LongBinary; Fecha/hora; Verdadero; Float4; IEEESingle; Doble; Octeto o Tinyint; Sinónimos Smallint, Integer2, y corto del número entero o del número entero; Sinónimos internacional de LongInteger o de LongInteger, número entero, y contrario; La ayuda de la autoincrementación fue caída; Moneda o dinero; Boleano y GUID); un nuevo tipo de datos decimal
  • Los campos de nota podían ser puestos en un índice
  • Tipos de datos compresibles
  • Realces del SQL para hacer que el jet conforma más de cerca a ANSI SQL-92
  • Una seguridad granulosa más fina; ayuda de las opiniónes; ayuda del procedimiento
  • Invocación y terminación (que confían o que ruedan detrás) de transacciones
  • Creación y modificación realzadas de la tabla
  • Ayuda de referencia de la integridad
  • Control de la conexión (los usuarios conectados siguen conectados, pero una vez que es disconnected no pueden volver a conectar, y las nuevas conexiones no pueden ser hechos. Esto era útil para que los administradores de base de datos ganen el control de la base de datos)
  • Una lista de usuario, que permite que los administradores determinen quién está conectada con la base de datos
  • fijación del Registrar-nivel (página-fijación apoyada de las versiones previas solamente)
  • Réplica bidireccional con el servidor del ms SQL.

Las bases de datos del jet 4 se pueden “upsized” (aumentado) “a una base de datos equivalente en el servidor del SQL con la misma estructura de la tabla, datos, y muchas otras cualidades de la base de datos original” si el revelador tiene una copia de la edición del profesional de Microsoft Office 2000 vía una utilidad del mago de Microsoft Access Upsizing. Los informes, las preguntas, las macros y la seguridad no es manejados por esta herramienta, significando que algunas modificaciones manuales pueden necesitar ser hecho si el revelador ha sido pesadamente confiado en estas características del jet.

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: