Noyau de système d'exploitation formellement prouvé

Un noyau de système d'exploitation formellement prouvé (ou Formal Verification of an OS Kernel, terme anglophone) est un noyau pour lequel on a prouvé de façon mathématique que celui-ci ne possédait aucun défaut de conception. Cette vérification dite « formelle » est définie en fonction de plusieurs critères appelés critères communs.

L’idée de la vérification formelle des systèmes d'exploitation apparaît dans les années 1970. Avec l'énoncé de la correspondance de Curry-Howard, les programmes informatiques peuvent être définis formellement comme des objets mathématiques. La preuve de correction de ces programmes, équivalente à une preuve d'un théorème mathématique, devient alors possible. Pour pouvoir prouver de manière automatique, il est nécessaire de disposer d'une spécification formelle du comportement attendu du programme.

Plusieurs méthodes existent afin de prouver formellement que ces noyaux sont sans erreurs. On peut citer la Vérification de modèles ou la Démonstration automatique de théorèmes. Mais ces méthodes seules ne suffisent pas. Elles sont complétées par des outils de vérification comme Spin ou ComFoRT , qui sont des "model checkers", ou par des langages formels comme Haskell ou Coq. A cette fin, différents critères doivent être respectés. En fonction du nombre de critères validés, un niveau d’assurance est donné au noyau. Plus le niveau est élevé, plus le noyau est garanti.

Historiquement, le premier système d'exploitation formellement prouvé est le sel4. Ce projet a été complété en 2009. Il s’agit d’un micronoyau de la famille L4 conçu pour offrir des mécanismes de sécurité forts tout en conservant une haute performance.

Prouver qu’un système d'exploitation est formellement correct vise à offrir une garantie de fiabilité en démontrant que son noyau peut résister à de nombreuses situations. La vérification formelle d’un système d'exploitation est encore en développement et fait l'objet de travaux de recherches.

Généralités

Définitions

Système d'exploitation

Prouver formellement qu’un système d'exploitation est sécurisé et sans failles est un sujet de recherche de plus de 30 ans[1]: la sécurité et la fiabilité d’un système informatique ne sont assurées que si son système d'exploitation est sans erreur. Le noyau, qui est exécuté dans le mode le plus privilégié du processeur, a des accès illimités au matériel. La moindre erreur dans le noyau du système d'exploitation peut compromettre toute la légitimité du reste du système.

Un système d'exploitation peut être défini formellement comme n'importe quel autre programme : si l’on souhaite s’assurer que celui-ci est sans erreur, il suffit de le prouver.

Il est possible de pousser la robustesse et la sécurité au point de garantir l’absence de bugs ainsi que la présence de très hautes propriétés de sécurité, mais cela avec de très petits noyaux. Il est inévitable d’avoir des erreurs dans un code informatique, et plus la taille du code est élevée, plus le nombre de bugs est grand. Évidemment, la réduction parfois radicale de la taille des systèmes d'exploitation peut amener à une forte augmentation de la complexité ainsi qu’à une baisse des performances et des fonctionnalités.

Méthodes formelles

Objectifs de la preuve

La preuve peut chercher à démontrer la sécurité du noyau. Celle-ci comprend la confidentialité des informations auxquelles le noyau a accès, ainsi que l'intégrité du noyau, ou quel code peut être exécuté et ce qu'il peut réaliser.

Elle peut aussi montrer la sûreté du noyau. Pour des applications critiques où la sécurité des usagers peut être en jeu, par exemple dans l'aéronautique, il est vital de garantir certaines propriétés. Ces propriétés peuvent être le respect de contraintes temporelles comme un temps de réaction limité à un événement extérieur[2].

Méthodes de vérifications

Schéma vérification formelle

Vérification de modèles

Pour un noyau formalisé sous forme de modèle, on peut utiliser la Vérification de modèles : Cette méthode explorera le modèle afin de vérifier certaines règles de sécurité ou bien des propriétés bien précises. Cela n'est généralement pas suffisant pour prouver que le système est correct.

Cette methode ne pourra être efficace que sur des noyaux de petite taille (essentiellement des micronoyaux), mais pas sur des noyaux d'OS modernes : ils sont souvent trop volumineux pour une formalisaton, généralement manuelle.

En conséquence, la Vérification de modèles n'est pas une méthode qui est souvent utilisée.

Démonstration par preuve mathématique

Contrairement à la Vérification de modèles, la démonstration par preuve mathématique (ou theorem proving) exprime les propriétés du noyau et son modèle de façon logique. Une preuve mathématique est déduite du modèle, confirmant ou non les propriétés recherchées.

Cette méthode a de grands avantages par rapport à la Vérification de modèles :

  • La taille du noyau ne compte pas : une preuve mathématique peut gérer de très grands nombres. On peut donc appliquer cette méthode sur tous types de noyaux.
  • La vérification des preuves mathématiques peut se faire de manière automatique : peu importe que cette preuve soit compliquée à résoudre pour un humain, un model checker peut le faire sans soucis.

À noter que comparée à la Vérification de modèles, cette méthode requiert plus d'interaction humaine, mais cela peut justement être sa force : cela permet de savoir que le système est correct mais aussi pourquoi.

Preuve par le code

La preuve par le code (en) (en anglais, PCC pour Proof-carrying code), est un framework pour les mécanismes de vérification des langages de programmation.

Dans la même logique que le theorem proving, la PCC créée et vérifie une preuve mathématique mais à partir du langage de programmation lui-même.

Se trouve deux types de PCC :

  • PCC conventionnel
  • PCC fondationnel

Le point négatif de cette méthode est qu'il ne doit pas y avoir d'erreurs dans l'outil de vérification.

Critères communs

Les critères communs (CC ou Common Criteria for Information Technology Security Evaluation, version anglophone) sont reconnus mondialement comme un standard pour la sécurité informatique depuis 1999[3], et cela a attisé l’intérêt des chercheurs pour les méthodes formelles ces dernières années.

Ils remplacent les standards précédents : ITSEC (Europe) et TCSEC (États-Unis). Ils sont reconnus par 24 pays et administrés par les autorités locales de ces pays.

Au niveau de la validation, les CC sont plus orienté produit et moins orientées procédures que les anciens standards. Ils distinguent les responsabilités des développeurs de celle des évaluateurs[4]. Cela dit, ils représentent une forte avancée vers la sécurité des produits informatiques.

Il y a 7 niveaux d'évaluations (EALs ou Evaluation Assurance Levels, version anglophone) dans les CC ou le niveau 7 est le plus élevé. Ces niveaux définissent un niveau de qualité des produits, mais surtout assure une très forte rigueur dans la mise en place des mesures de sécurité des produits informatiques.

En ce qui concerne les noyaux d'OS, le niveau de sécurité le plus haut atteint est le niveau 6, la majorité atteint généralement le niveau 4. À noter que le nombre de noyaux ayant atteint ce niveau est extrêmement faible. Parmi eux, nous[style à revoir] allons trouver :

Nom OS Niveau CC Année
Mac OS X 3 2005
Windows 2008 Server 4 2009
Novell SUSE Linux Enterprise Server 4 (?)
Oracle Solaris 4 (?)
Red Hat Enterprise Linux 5 4 2007
Red Hat Enterprise Linux 6 4 2014
Green Hills INTEGRITY-178B 6 2008

Cependant, bien que les méthodes de vérification formelles assurent une haute fiabilité, une vérification au niveau du code n'est pas requise par les critères communs[4].

De plus, les critères communs sont considérés comme étant trop coûteux, produisent trop de paperasse et adhèrent à un modèle de procès légal[Quoi ?].

Outils de vérifications

Langages formels

Les outils de preuve formelle mécanisée (vérifiée par ordinateur) ne sont pas encore aussi pratiques à utiliser qu'ils le pourraient, donc faire une preuve formelle complète c'est un travail très important. Coq est un outil basé sur l'idée qu'un système de typage suffisamment puissant peut aussi devenir un système de preuve. On peut donc écrire des preuves et des programmes dans un même langage (mais est donc très contraignant pour la programmation), et il y a aussi un langage spécialisé pour écrire des preuves automatisées, c'est-à-dire en fait écrire un petit programme qui trouve tout seul la preuve, au lieu de construire directement l'arbre de preuve[5].

Il existe d'autres outils de preuve formelle, Twelf en particulier est réputé pour être un peu plus facile à utiliser (et, en contrepartie, un peu plus restreint et moins généraliste).

Haskell est un outil pour développer simultanément une spécification du noyau et une implémentation de référence pour l'évaluation et le test. La mise en œuvre peut être utilisée en conjonction avec un simulateur pour exécuter un binaire d'application réelles, tandis que la spécification génère une entrée à un probateur[Quoi ?] de théorème interactif pour la preuve formelle de propriétés. La spécification Haskell sert de support pour le prototypage itératif de la mise en œuvre ainsi que pour le modèle de système pour les équipes de modélisation de noyau et formelles, c'est-à-dire que la spécification Haskell forme un pont entre les équipes améliorant le flux d'idées, avec une faible barrière d'entrée pour les deux. De plus, l'implémentation de référence, lorsqu'elle est couplée à un simulateur, peut être utilisée pour exécuter des binaires natifs[6].

Vérification de modèles

ImProve est un langage impératif simple avec des affectations variables et des énoncés conditionnels. Les assertions ImProve sont vérifiées formellement en utilisant la vérification de modèle SMT. Pour la mise en œuvre et la simulation du système, ImProve compile vers C, Ada, Simulink et Modelica. TLC est un outil adapté pour la spécification de réactif systèmes. Le comportement d'un réactif système est décrit par une spécification formelle, et les propriétés, sont exprimées par TLC[7].

Exemple d'OS formellement prouvés

SeL4

Design et méthode de prototypage rapide de SeL4

Il fait partie de la famille des micronoyaux. Il adopte une approche de partitionnement qui fournit une isolation totale d’applications. Il a subi la Worst Case Execution Time, cette dernière devenue indispensable dans la vérification des systèmes, a essayé de tester les limites du Sel4[8].

Le Sel4 comporte 10 000 lignes de code, exécutable sur différentes plateformes : X86 et ARM. L' avantage du Sel4 est qu’il fournit le partitionnement nécessaire pour soutenir des logiciels mixtes[9].

Intérêts de la vérification formelle d'OS

Sécurité

La sécurité et la fiabilité d'un système informatique ne peuvent être aussi bonne que celle du système d'exploitation (OS). Le noyau, défini comme la partie du système s'exécutant dans les zones les plus profondes du processeur, dispose d'un accès illimité au matériel.

Par conséquent, tout défaut dans la mise en œuvre du noyau risque de compromettre le bon fonctionnement du reste du système.

Il est évidemment inévitable d'avoir des bogues dans un code important. En conséquence, lorsque la sécurité ou la fiabilité est primordiale, l'approche habituelle est de réduire la quantité de code privilégié, afin de minimiser l'exposition aux bugs. C'est l'une des principales motivations derrière les noyaux de sécurité et les noyaux de séparation, l'approche MILS, les microkernels et les kernels d'isolement, l'utilisation de petits hyperviseurs comme base de confiance minimale, ainsi que les systèmes qui exigent l'utilisation de langage de type sécurisé Tous les codes, à l'exception d'un noyau sale. De même, le critère commun au niveau d'évaluation le plus strict exige que le système sous évaluation ait une conception simple.[Quoi ?]

Avec des noyaux vraiment petits, il devient possible de renforcer la sécurité et la robustesse, au point où il est possible de garantir l'absence de bugs. Ceci peut être réalisé par une vérification formelle vérifiée par machine, fournissant une preuve mathématique que la mise en œuvre du noyau est conforme à sa spécification et exempte de défauts de mise en œuvre induits par le programmeur.

seL4 est le tout premier noyau OS à finalité générale qui est entièrement vérifié pour la correction fonctionnelle. En tant que tel, c'est une plate-forme de fiabilité sans précédent, qui permettra la construction de systèmes hautement sécurisés et fiables sur le dessus.

La propriété fonctionnelle correcte prouvée pour seL4 est beaucoup plus forte et précise que ce que peuvent atteindre les techniques automatisées telles que la vérification de modèles, l'analyse statique ou les implémentations du noyau dans des langages de type sécurité. Non seulement les aspects spécifiques du noyau, tels que l'exécution sûre, sont analysés, mais une spécification complète et une preuve du comportement précis du noyau sont également fournies[10].

Limites de la preuve

Il y a cependant une limite à la portée de la preuve d'un noyau. La preuve de l'"exactitude" d'un noyau est valide si les axiomes sur lesquels elle repose sont valides.

Parmi ces axiomes, il peut y avoir le bon fonctionnement du matériel qui exécutera le noyau[11].

Une possibilité est alors d'exécuter le noyau sur un matériel qui ne valide pas les axiomes sur lesquels a été fondée la preuve pour tenter d'attaquer le noyau. Il est aussi possible de provoquer des fautes dans celui-ci, par exemple en causant une surchauffe, et d'en extraire des informations. Un dernier exemple serait d'exploiter des spécificités du matériel qui n'ont pas été couvertes par la preuve pour permettre des attaques par canaux auxiliaires. Un exemple serait que les timings du matériel ne soient pas considérés dans la vérification et que celle-ci ne puisse garantir l'absence de canal caché, qui pourrait permettre de véhiculer des informations.

La compréhension de la spécification du noyau peut également être attaquée. Cela peut mettre en évidence des comportements du noyau qui n'avaient pas été interprétés.

Coûts

Un aspect évident de la vérification est le coût de la preuve, cela dépend évidemment la nature du changement, en particulier la quantité de code qu'il modifie, le nombre d'invariants qu'il applique et son degré de localisation[12].

Depuis les premières tentatives de vérification du noyau, il y a eu des améliorations spectaculaires dans la puissance des outils de démonstration de théorèmes disponibles. Des assistants de vérification comme ACL2 (en), Coq, PVS, HOL et Isabelle ont été utilisés dans un certain nombre de vérifications réussies, allant des mathématiques et des logiques aux microprocesseurs, aux compilateurs et aux plateformes de programmation complètes comme JavaCard.

Cela a entraîné une réduction significative du coût de la vérification formelle et une diminution du seuil de faisabilité. En même temps, les avantages potentiels se sont accrus, donnés par exemple le déploiement accru de systèmes embarqués dans des situations critiques ou de vie ou les énormes enjeux créés par la nécessité de protéger les droits de propriété intellectuelle évalués à des milliards[13].

Historique

Années Projet Plus haut niveau Plus bas niveau Specs Preuves Outils de vérification Approche
(?) - 1980 UCLA Secure Unix Modèle de sécurité Pascal 20% 20% XIVIUS Alphard
1973 – 1983 PSDOS Niveau application Code source 17 couches 0% SPECIAL HDM
(?) - 1987 KIT Tâches isolés Assembleur 100% 100% Boyer Moore Equivalence d’interpreteur
2001 – 2008 VFiasco/Rodin Ne crash pas C++ 70% 0% PVS Compilateur sémantique
2004 – (?) EROS/Coyotos Modèle de sécurité BitC Modèle de sécurité 0% ACL2 Basé sur le langage
2004 - (2008) Verisoft Niveau application Gate level 100% 75% Isabelle Complètement persuasif
2005 – (2008) L4.SeL4 Modèle de sécurité C/Assembleur 100% 70% Isabelle Performances, production de code

Bibliographie

  • (en) Thomas Hallgren, Jones Mark P, Rebekah Leslie et Andrew Tolmach, « A principled approach to operating system construction in Haskell », ACM, vol. Volume 40,‎ , p. 116-128 (ISBN 1-59593-064-7, DOI 10.1145/1090189.1086380)
  • (en) Harvey Tuch, Gerwin Klein et Gernot Heiser, « OS Verification -- Now! », usenix, vol. Volume 10,‎ , p. 2-2 (lire en ligne)
  • (en) Gerwin Klein, Kevin Elphinstone et Gernot Heiser, « seL4: formal verification of an OS kernel », ACM,‎ , p. 207-220 (ISBN 978-1-60558-752-3, DOI 10.1145/1629575.1629596)
  • (en) Bernard Blackham, Yao ShiShi et Sudipta Chattopadhyay, « Timing Analysis of a Protected Operating System Kernel », IEEE,‎ , p. 1052-8725 (ISSN 1052-8725, DOI 10.1109/RTSS.2011.38)
  • (en) Chuchang Liu et Mehmet.A Orgunb, Verification of reactive systems using temporal logic with clocks, , 1-32 p. (DOI 10.1016/S0304-3975(99)00008-0)
  • (en) Kevin Elphinstone1, Gerwin Klein, Philip Derrin, Timothy Roscoe2 et Gernot Heiser, « Towards a Practical, Verified Kernel », usenix.org,‎ (lire en ligne)
  • (en) Freek Wiedijk, « Comparing mathematical provers », usenix.org,‎ (ligne=http://cs.ru.nl/~freek/comparison/diffs.pdf)
  • (en) T. Vickers Benzel, « Analysis of a Kemel Verification », IEEE Symposium,‎ , p. 125-125 (ISSN 1540-7993, DOI 10.1109/SP.1984.10015)
    Security and Privacy, 1984 IEEE Symposium on
  • (en) O. Ganea, F. Pop, C. Dobre et V. Cristea, « Specification and Validation of a Real-Time Simple Parallel Kernel for Dependable Distributed Systems », EIDWT,‎ , p. 320-325 (ISBN 978-1-4673-1986-7, DOI 10.1109/EIDWT.2012.48)
    Emerging Intelligent Data and Web Technologies (EIDWT), 2012 Third International Conference on
  • (en) J. Gorski et A. Wardzinski, « Formal specification and verification of a real-time kernel », Euromicro,‎ , p. 205-211 (ISBN 0-8186-6340-5, DOI 10.1109/EMWRTS.1994.336841)
    Real-Time Systems, 1994. Proceedings., Sixth Euromicro Workshop on
  • (en) G. Naeser et K. Lundqvist, « Component-based approach to run-time kernel specification and verification », Euromicro,‎ , p. 68-76 (ISSN 1068-3070, DOI 10.1109/ECRTS.2005.11)
    Real-Time Systems, 2005. (ECRTS 2005). Proceedings. 17th Euromicro Conference on
  • (en) B. L. Di Vito, P. H. Palmquist, E. R. Anderson et M. L. Johnston, « Specification and verification of the ASOS kernel », IEEE Computer Society Symposium,‎ , p. 61-74 (ISBN 0-8186-2060-9, DOI 10.1109/RISP.1990.63839)
    Research in Security and Privacy, 1990. Proceedings., 1990 IEEE Computer Society Symposium on
  • (en) R. M. Tol, « A small real-time kernel proven correct », Real-Time Systems Symposium,‎ , p. 227-230 (ISBN 0-8186-3195-3, DOI 10.1109/REAL.1992.242659)
    Real-Time Systems Symposium, 1992
  • (en) T. Murray, D. Matichuk, M. Brassil, P. Gammie, T. Bourke, S. Seefried, X. Gao et G. Klein, « seL4: From General Purpose to a Proof of Information Flow Enforcement », IEEE Symposium,‎ , p. 415-429 (ISSN 1081-6011, DOI 10.1109/SP.2013.35)
    Security and Privacy (SP), 2013 IEEE Symposium on
  • (en) G. Klein, J. Andronick, K. Elphinstone, T. Murray, T. Sewell, R. Kolanski et G. Heiser, « Comprehensive Formal Verification of an OS Microkernel », ACM Trans. Comput. Syst.,‎ , p. 70 (DOI 10.1145/2560537)
  • (en) Y. Zhang, Y. Dong, H. Hong et F Zhang, « Code Formal Verification of Operation System », I.J.Computer Network and Information Security,‎
  • (en) A. W. Appel, « Foundational proof-carrying code », Logic in Computer Science,‎ , p. 25-34 (ISSN 1043-6871, DOI 10.1109/FITS.2003.1264926)
    Logic in Computer Science, 2001. Proceedings. 16th Annual IEEE Symposium on
  • (en) Gernot Heiser, Toby Murray et Gerwin Klein, « It's Time for Trustworthy Systems », IEEE Computer Society,‎ , p. 67-70 (ISSN 1540-7993, DOI 10.1109/MSP.2012.41)
    Secure Syst. Group, IBM Res. Div. Zurich
  • (en) Steven H. VanderLeest, « The open source, formally-proven seL4 microkernel : considerations for use in avionics », IEEE Computer Society,‎ (ISSN 2155-7209, DOI 10.1109/MSP.2012.41, lire en ligne)
    conférence
  • (en) Gerwin Klein, Kevin Elphinstone, Gernot Heiser, June Andronick, David Cock, Philip Derrin, Dhammika Elkaduwe, Kai Engelhardt, Rafal Kolanski, Michael Norrish, Thomas Sewell, Harvey Tuch et Simon Winwood, « seL4: formal verification of an OS kernel », ACM digital library,‎ , p. 207-220 (ISBN 978-1-60558-752-3, DOI 10.1145/1629575.1629596)
  • (en) Bernard Beckert, Daniel Bruns et Sarah Grebing, « Mind the Gap: Formal Verification and the Common Criteria (Discussion Paper) », EasyChair, vol. 3,‎ , p. 4-12 (ISSN 2398-7340, lire en ligne)
  • (en) Gerwin Klein, « Correct OS kernel? Proof? done! », Usenix.org, vol. 34,‎ (lire en ligne)
  • (fr) Techniques de l’Ingénieur (techniques-ingenieur.fr) , "Méthodes formelles pour la vérification des systèmes embarqués : Méthodes formelles pour la vérification fonctionnelle "

Notes et références

Read other articles:

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Jaksel FC – berita · surat kabar · buku · cendekiawan · JSTOR Jaksel FCNama lengkapJakarta Selatan Football ClubJulukanMacan KebayoranMacan SelatanBerdiri11 Maret 1975; 49 tahun lalu (1975-03-11) se...

 

   Grand Prix Amerika 2022Detail lombaLomba ke 4 dari 20Grand Prix Sepeda Motor musim 2022Tanggal10 April 2022Nama resmiRed Bull Grand Prix of the AmericasLokasiCircuit of the AmericasAustin, TexasSirkuitFasilitas balapan permanen5.513 km (3.426 mi)MotoGPPole positionPembalap Jorge Martín DucatiCatatan waktu 2:02.039 Putaran tercepatPembalap Enea Bastianini DucatiCatatan waktu 2:03.521 di lap 14 PodiumPertama Enea Bastianini DucatiKedua Álex Rins SuzukiKetiga Jack Miller...

 

Mexican politician In this Spanish name, the first or paternal surname is Jiménez and the second or maternal family name is Espirú. For other people named Javier Jiménez, see Javier Jiménez (disambiguation). Javier Jiménez EspriúSecretary of Communications and TransportationIn office1 December 2018 – 23 July 2020PresidentAndrés Manuel López ObradorPreceded byGerardo Ruiz EsparzaSucceeded byJorge Arganis Díaz Leal Personal detailsBorn (1937-07-31) 31 July 1937 (age&...

American mixed martial artist Shane CarwinCarwin in 2010BornShane Bannister Carwin (1975-01-04) January 4, 1975 (age 49)Greeley, Colorado, United StatesHeight6 ft 2 in (188 cm)Weight254 lb (115 kg; 18 st 2 lb)DivisionHeavyweight (265 lb)Reach80 in (203 cm)StyleWrestlingFighting out ofDenver, Colorado, United StatesTeamGrudge Training Center Jackson's Submission Fighting[1]TrainerGreg JacksonTrevor WittmanNate MarquardtRankPurple belt i...

 

AlleinKomuneComune di AlleinCommune d'AlleinGereja Santo Stefanus Lambang kebesaranAlleinLokasi Allein di ItaliaKoordinat: 45°48′30″N 7°16′21″E / 45.80833°N 7.27250°E / 45.80833; 7.27250Koordinat: 45°48′30″N 7°16′21″E / 45.80833°N 7.27250°E / 45.80833; 7.27250NegaraItaliaWilayahValle d'AostaProvinsinoneFrazioniAyez, Allamanaz, Allérod, Bruson, Chanté, Chaveroulaz, Chez-Norat, Clavel, Condemine, Dayllon, Frein, Godioz, M...

 

Cet article dresse la liste des membres du Sénat des États-Unis élus de l'État du Colorado depuis son admission dans l'Union le 1er août 1876. Michael Bennet (D), sénateur depuis 2009. John Hickenlooper (D), sénateur depuis 2021. Élections Les deux sénateurs sont élus au suffrage universel direct pour un mandat de six ans. Les prochaines élections auront lieu en novembre 2026 pour le siège de la classe II et en novembre 2028 pour le siège de la classe III. Liste des sénateurs Cl...

Questa voce sull'argomento calciatori senegalesi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Oumar Diakhité Nazionalità  Senegal Altezza 190 cm Peso 84 kg Calcio Ruolo Difensore Squadra  Osnabrück Carriera Giovanili 2012-2013 Orlando City Squadre di club1 2013 Orlando City1 (0)2013-2015 Olhanense61 (3)2015-2017 Estoril Praia27 (1)2017-2018→  Kazma? (?)2018-20...

 

Google Cloud PlatformTipePlatform sebagai layanan dan infrastructure as a service (en) Versi pertama7 April 2008; 16 tahun lalu (2008-04-07)GenreInfrastructure as a Service, Platform as a Service, Serverless PlatformLisensiProprietaryInformasi pengembangPengembangGoogle Inc.Informasi tambahanSitus webcloud.google.com Sunting di Wikidata  • Sunting kotak info • L • BBantuan penggunaan templat ini Google Cloud Platform, (atau GCP) adalah kumpulan layanan komputasi awan...

 

Angkor Watអង្គរវត្តSisi depan percandianLokasi di KambojaNama alternatifNokor WatLokasiSiem Reap, KambojaKoordinat13°24′45″N 103°52′01″E / 13.41250°N 103.86694°E / 13.41250; 103.86694Koordinat: 13°24′45″N 103°52′01″E / 13.41250°N 103.86694°E / 13.41250; 103.86694SejarahPendiriDiprakarsai Raja Suryawarman IIDidirikanAwal abad ke-12[1]BudayaKerajaan Kambujadesa Situs Warisan Dunia UNESCONama r...

Railway station in North Yorkshire, England YarmGeneral informationLocationYarm, Borough of Stockton-on-TeesEnglandCoordinates54°29′38″N 1°21′05″W / 54.4937626°N 1.3514668°W / 54.4937626; -1.3514668Grid referenceNZ420111Owned byNetwork RailManaged byTransPennine ExpressPlatforms2Tracks2Other informationStation codeYRMClassificationDfT category F2HistoryOriginal companyLeeds Northern RailwayPre-groupingNorth Eastern RailwayPost-grouping London and North East...

 

This article needs to be updated. Please help update this article to reflect recent events or newly available information. (October 2023) This is a list of countries ranked by the proportion of the population that is obese. The data, barring the United States, is derived from The World Factbook authored by the Central Intelligence Agency,[1] which gives the adult prevalence rate for obesity, defined as the percent of a country's population considered to be obese. Data for U.S. obesit...

 

Dutch fashion designer Iris van Herpenvan Herpen during the Haute Couture Spring/Summer 2012Born (1984-06-05) June 5, 1984 (age 39)Wamel, The NetherlandsNationalityDutchOccupationFashion designerLabelIris van HerpenWebsiteIris van Herpen Official Website 3-D printed neckpiece by van Herpen, 2011. Iris van Herpen (born June 5, 1984) is a Dutch fashion designer known for fusing technology with traditional haute couture[1] craftsmanship.[2] Van Herpen opened her own label Ir...

Type of vehicle structure Semi-monocoque structure inside an aircraft's rear fuselage ARV Super2 with semi-monocoque fuselage The term semi-monocoque or semimonocoque refers to a stressed shell structure that is similar to a true monocoque, but which derives at least some of its strength from conventional reinforcement. Semi-monocoque construction is used for, among other things, aircraft fuselages, car bodies and motorcycle frames. Examples of semi-monocoque vehicles Semi-monocoque aircraft ...

 

Saphir Taïder Taïder con la maglia della nazionale algerina nel 2014 Nazionalità  Francia Algeria (dal 2013) Altezza 180 cm Peso 77 kg Calcio Ruolo Centrocampista Squadra svincolato CarrieraGiovanili 1998-2006 Castres2006-2008 Albigeoise2008-2010 GrenobleSquadre di club1 2010-2011 Grenoble26 (1)2011-2013 Bologna48 (3)2013-2014 Inter25 (1)2014→  Southampton0 (0)2014-2015→  Sassuolo27 (3)2015-2018 Bologna62 (3)2018-2020→  Mon...

 

هذه المقالة بحاجة لصندوق معلومات. فضلًا ساعد في تحسين هذه المقالة بإضافة صندوق معلومات مخصص إليها.Learn how and when to remove this message سنوات 1943 1944 1945 1946 1947 علم سلوفاكيا الجدول الزمني لتاريخ سلوفاكيا فيما يلي قوائم الأحداث التي وقعت خلال عام 1945 في سلوفاكيا. سياسة انتهاء فترة المنصب 3 أبري...

Air and Simple Giftsby John Williams (after Joseph Brackett)From left to right: Perlman, Montero, Ma, and McGill at the premiere.GenreChamber musicPremiereDateJanuary 20, 2009LocationFirst inauguration of Barack ObamaPerformersYo-Yo Ma, Itzhak Perlman, Gabriela Montero, and Anthony McGill Air and Simple Gifts is a quartet composed and arranged[1] by American composer John Williams for the January 20, 2009, inauguration of Barack Obama as the 44th President of the United States. The fi...

 

Shah of Safavid Iran from 1587 to 1629 Abbas I the GreatŠāhanšāh-i Īrān (King of Kings of Iran)[1][2][3]Ẓellollāh (Shadow of God)[4]Ṣāḥeb-i Qerān-i ʿAlāʾ (Supreme Lord of the Auspicious Conjunction)[5]Shah Abbas I in a 16th or 17th century portrait[6]Shah of IranReign1 October 1587 – 19 January 1629Coronation1588PredecessorMohammad KhodabandaSuccessorSafiBorn27 January 1571Herat, Safavid Iran (modern-day Afghanistan)Died19 Ja...

 

American bassist (born 1958) Jeff PilsonPilson performing with Foreigner in 2016.Background informationBirth nameJeffrey Steven PilsonBorn (1958-01-19) 19 January 1958 (age 66)[1][2][3]Lake Forest, Illinois, U.S.GenresHard rockheavy metalglam metalOccupation(s)MusiciansongwriteractorInstrument(s)Bass guitarkeyboardsvocalsguitarYears active1976–presentMember ofForeignerFormerly ofDokkenWild HorsesMSGDioT & NLynch MobThe End MachineBlack SwanWebsitejeffpilson...

Pour les articles homonymes, voir Carcassonne (homonymie). Guy CarcassonneBiographieNaissance 14 mai 195116e arrondissement de ParisDécès 27 mai 2013 (à 62 ans)Saint-Pétersbourg (Russie)Sépulture Cimetière de MontmartreNom de naissance Guy Bernard Roger CarcassonneNationalité françaiseFormation Université Paris-NanterreActivités Professeur d'université, juristeConjoint Claire BretécherAutres informationsA travaillé pour Institut d'études politiques de ParisUniversité Pari...

 

Dieser Artikel behandelt die Gemeinde Ascona, für weitere Bedeutungen siehe Ascona (Begriffsklärung). Ascona Wappen von Ascona Staat: Schweiz Schweiz Kanton: Kanton Tessin Tessin (TI) Bezirk: Bezirk Locarnow Kreis: Kreis Isole BFS-Nr.: 5091i1f3f4 Postleitzahl: 6612 UN/LOCODE: CH ASC Koordinaten: 702740 / 11245046.15578.76861199Koordinaten: 46° 9′ 21″ N, 8° 46′ 7″ O; CH1903: 702740 / 112450 Höhe: 199 m ...